H5(uniapp)跳转至小程序页面

2024-06-04 4939阅读

当前场景:需要在H5页面点击跳转至微信小程序页面

主要参考方法:1、获取接口调用凭据 | 微信开放文档

                         2、获取scheme码 | 微信开放文档

需要解决的主要问题:

在对微信文档中的API接口进行调用的时候,不可避免的会出现跨域的问题,那么就需要在uniapp项目中对跨域进行处理,主要更改manifest.json下的h5进行配置:

    "h5" : {
        .....
        "devServer": {
            "proxy": {//配置代理服务器来解决跨域问题,uniapp不适用CORS方案和设置JSONP方案
                "/api/": {//映射域名
                    "target": "https://api.weixin.qq.com",
                    "pathRewrite": {
                        "^/api": ""
                    }
                }
            }
        },
     ....
    }

这样跨域问题就解决了,在请求API时就不需要对请求头进行跨域处理了。

主要步骤:(简单示例)

  
       
  


export default {
   data(){
     return{}
   },
   onLoad() {
      this.getToken()
   },
   methods:{
       getToken(){
           uni.request({
                url: "/api/cgi-bin/token",
                method: 'GET',
                data: {
                     "grant_type": "client_credential",
                     "appid": "小程序唯一凭证,即 AppID",
                     "secret": "小程序唯一凭证密钥,即 AppSecret"
                 },
                success: res => {
                   console.log(res);
                   this.getScheme(res.data. access_token)
                }
           })
       },
      getScheme(token){
             uni.request({
                url: `/api/wxa/generatescheme?access_token=${token}`,
                method: 'POST',
                data:{
                 "jump_wxa":
                     {
                         "path": "通过 scheme 码进入的小程序页面路径",
                         "query": "通过 scheme 码进入小程序时的 query",
                         "env_version": "默认值"release"。要打开的小程序版本"
                     },
                 "is_expire":true,
                 "expire_type":1,
                 "expire_interval":1
                } ,
                success: res => {
                   ....
                   //这里获取到openlink的就是可跳转的路径地址,把它赋值给href即可
                }
           })
      },
   }
}

    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]