首页IT科技uni-app开发小程序(如何在UNI-APP内开发微信公众号(H5)JSSDK)

uni-app开发小程序(如何在UNI-APP内开发微信公众号(H5)JSSDK)

时间2025-05-04 00:32:49分类IT科技浏览3408
导读:参考文章...

参考文章

UNI-APP 开发微信公众号(H5)JSSDK 的使用方式

微信内H5使用JSSDK分享!!!注意目前Hbuilderx2.3.7版本存在问题!!!

vue-router与location.href的用法区别

微信网页开发 JSSDK 分享功能           ,安卓和调试工具都成功              ,IOS无法使用?

源码地址

uniapp-component

请参考 utils/wxShare.js

实现

安装

全局引入: <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

jssdk使用

全局引入之后      ,我们在微信内访问我们的网页应用时         ,会新增一个全局变量jWeixin

          。

所有需要使用 JS-SDK 的页面必须先注入配置信息              ,否则将无法调用                 。 wx.config({ debug: true, // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来         ,若要查看传入的参数      ,可以在 pc 端打开              ,参数信息会通过 log 打出           ,仅在 pc 端时才会打印    。 appId: , // 必填   ,公众号的唯一标识 timestamp: , // 必填               ,生成签名的时间戳 nonceStr: , // 必填             ,生成签名的随机串 signature: ,// 必填,签名 jsApiList: [] // 必填             ,需要使用的 JS 接口列表 });

signature(签名)生成规则               ,可参考微信 JS 接口签名校验工具   ,验签中有一个很重要的参数url当前网页的URL           ,不包含#及其后面部分       。注意:对于没有只有域名没有 path 的 URL               ,浏览器会自动加上 / 作为 path      ,如打开 http://qq.com 则获取到的 URL 为 http://qq.com/)                  。

然而         ,我们的H5应用有一个引导页              ,用户访问域名时会先进入引导页         ,再根据链接上的参数路由到不同功能页       。当我从www.demo.com?type=1路由到www.demo.com/pages/main/main的时候      ,history发生改变了    。然后不可思议的一幕出现了              ,我验签使用的url时www.demo.com/pages/main/main           ,生成的签名和微信 JS 接口签名校验工具生成的签名一样   ,但jWeixin.config一直提示我 realAuthuUrl[ www.demo.com?type=1               ,www.demo.com/pages/main/main]                 。

怎么办呢?微信社区有一篇贴子:微信网页开发 JSSDK 分享功能             ,安卓和调试工具都成功,IOS无法使用?里官方的一段回复引起了我的注意          。

我使用UNI-APP开发的是SPA应用  。直接说重点             ,vue-router与location.href的用法区别               ,vue-router不会重新加载页面   ,而location.href会重新加载页面                。

我使用UNI-APP开发的是SPA应用           ,并且路由变化不会重新加载页面             。那我在A页面给window内新增一个变量a              ,赋值1      ,我在B页面能使用window.a吗?可以。

我使用UNI-APP开发的是SPA应用         ,并且路由变化不会重新加载页面              ,全局可以使用jWeixin             。用户进入A页面         ,我在App.vue的onLaunch里执行jWeixin.config      ,jWeixin.ready成功                。执行完成之后再在A页面内变更路由  。在B页面继续使用jWeixin执行jWeixin.ready吗?亲测可以          。

事情就变得简单了                 。

当用户访问H5应用时              ,在A页面执行jWeixin.config           ,声明好我用到得api   ,然后无论路由到任何B页面               ,我都可以使用jWeixin.ready自由定制我的分享页了    。

其实             ,重点只有一个,执行jWeixin.config时不要产生任何history       。

补个坑吧!

微信内             ,window.location.replace 的表现形式与window.location.href 一样                  。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
win10重新开机后自动打开关机前的程序和文档在哪里(Win10开机或重启自动打开此电脑怎么解决?) 单元测试谁写(我不写单元测试,被批了)