记录--uniapp 应用APP跳转微信小程序

本文介绍了一种简单的方法,使APP能够跳转至指定的小程序商城,并详细记录了实现过程及遇到的问题解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

最近APP项目开发完成,在评审会上老板提了一个需求,想在开发的APP上添加一个链接,可以跳转公司的小程序商城。        

原以为会很复杂,结果只有短短的几行代码。

    plus.share.getServices(function(res){
               var sweixin = null;  
               for(var i=0;i<res.length;i++){  
                     var t = res[i];  
                     if(t.id == 'weixin'){  
                           sweixin = t;  
                     }  
               }  
               if(sweixin){  
                     sweixin.launchMiniProgram({  
                            id: 'gh_8888888',  //这里写你的小程序原始id(以gh开头)
                            type: 0,//这里是不同的环境(默认0)
                            path:'/pages/shop/index?storeId=123456'//这里是指定页的路径,如需传参直接字符串拼接(首页可以省略)
                     });  
               }  
      },function(res){  
              console.log(JSON.stringify(res));  
     });

代码加上后,用真机运行了一遍,完美的跳转到目标小程序,竟然如此顺利。开心打包,准备结项。然后发现Manifest.json报错,无法打包

 经检查后发现是mainfest.json文件下App模块配置中Share(分享)内ios平台通用链接(Universal Links)不能为空

我们来配置一下,点击参考文档,按照给出的步骤配置生成Universal Links,一共三步。 

参考文档:uni-app官网

开通云服务空间和前端网页托管:开通uniCloud(阿里云版)云服务空间和开通前端网页托管 - DCloud问答

 当完成前两步后,点击自动生成按钮,按提示就可生成自己的Universal Links

接下来进行第三步,将Universal Links配置到微信开放平台。

登陆微信开放平台,在移动应用模块,创建移动应用

微信开放平台:微信开放平台

 

 

在android应用中,应用签名就是我们生成证书时,证书中的MD5,当然,此处要把MD5签名中的“:”去掉,然后大写字母换成小写。比如:

MD5为:18:12:66:53:D0:E2:89:95:5A;F1:6F:45:EE:FA:2C:48

应用签名就是:18126653d0e289955af16f45eefa2c48

查询指令为:keytool -list -v - keystore xxx.keystore

此处,有些小伙伴查询时只有SHA1和SHA256,没有MD5。那是因为SDK版本的问题,高版本的摒弃了MD5,请下载较低版本,进行查询。我用的是:jre1.8.0_71

全部填写完成后,提交审核,审核通过后,就有了移动应用跳转小程序的权限

 此时,打包app,跳转小程序,如果返回弹窗“bad_param” ,那是因为manifest.json中Share(分享)中的appid写错了,要写在微信开发平台中创建应用的appid:

 此时,打包app,跳转小程序,如果返回弹窗“has_no_permisson”,那是因为你的微信开发平台账号没有进行认证,必须进行企业认证后才可以使用

认证需要缴300大洋,并且进行企业打款认证。当企业信息审核完,公司账户打款认证之前,会有审核专员给你打电话确认,记住这个手机号,后面有用。另再公司打款认证之前会有一个审核充填按钮,里面让上传文件。别点,不用管它,不需要操作。当你完成打款认证后,需要告诉审核专员,就是那个手机号,Call her。她会问你公司名,然后给你发布认证,认证通过后就可以跳转小程序啦

本文转载于:

https://blog.youkuaiyun.com/fbqgdxw/article/details/121676030

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 

### UniApp 实现 App 跳转微信小程序 #### 获取小程序的 Token 和跳转链接 为了使 UniApp 应用能够成功跳转微信小程序,需先完成必要的准备工作。这其中包括获取目标微信小程序的有效 token 以及构建正确的跳转 URL。 对于获取 token 的过程而言,在服务器端发起请求给微信公众平台接口以换取 access_token 是常见做法[^1]: ```javascript // 示例:获取access_token (Node.js环境下的伪代码) const axios = require('axios'); async function getAccessToken(appId, appSecret) { const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appId}&secret=${appSecret}`; try { let response = await axios.get(url); return response.data.access_token; } catch (error) { console.error(error); } } ``` 一旦拥有了有效的 access_token 后,则可以根据此令牌进一步构造用于唤起指定微信小程序页面所需的参数列表并最终形成完整的跳转路径。 #### 构建总示例模板 下面给出一段综合性的 JavaScript 代码片段作为参考,展示了如何利用上述提到的技术要点来创建一个可以从 H5 页面启动特定微信小程序实例的功能模块: ```html <!-- HTML部分 --> <button id="jumpToMiniProgram">点击这里跳转</button> <script> document.getElementById('jumpToMiniProgram').addEventListener('click', () => { // 替换成实际的小程序ID和path var appId = 'your-wechat-mini-program-app-id'; var path = encodeURIComponent('/pages/index/index'); window.location.href = `weixin://dl/business/?tousername=&action=webview&type=wxpublic&scene=${appId}&&__biz=${appId}==&url=https%3A%2F%2Fnavigate.wx.qq.com%2Fnavigate%3Fminiprogram_appid%3D${appId}%26path%3D${path}` }); </script> ``` 这段脚本定义了一个按钮元素,当用户点击它时会触发一次重定向操作,从而引导浏览器加载由 WeChat 客户端处理的新位置——即指向了所期望访问的那个微信小程序入口地址。 需要注意的是,以上方法适用于H5网页向微信小程序跳转场景。如果是在UniApp环境中实现APP内部直接调用微信小程序的能力,则应参照官方文档说明采用相应API函数如`uni.navigateToMiniProgram()`来进行编程工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值