微信公众号开发常见问题
# vue自定义分享在ios中无效
在Android
中正常,在IOS
中无效,但是刷新一下就好用了。根据大神的资料是因为
IOS:每次切换路由,SPA的url是不会变的,发起签名请求的url参数必须是当前页面的url(就是最初进入页面时的url)
Android:每次切换路由,SPA的url是会变的,发起签名请求的url参数必须是当前页面的url(不是最初进入页面时的)
解决办法:
在文件入口位置中创建全局变量设置入口URL
var initialUrl = window.location.href
1
在获取配置信息的地方传入初始url,还有一点注意,如果是history模式路由,则初始地址为http://域名/#/
,不能直接为http://域名
,因为这个搞了半天
let configUrl = location.href // 安卓端直接这么传就可以
// 如果是ios端
if (navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {
configUrl = window.initialUrl
}
// 使用configUrl获取签名配置
1
2
3
4
5
6
2
3
4
5
6
# 开放标签wx-open-launch-weapp常见问题
# property script
was accessed during render but is not defined
<wx-open-launch-weapp style="width:100%;display:block;height:60px;color:black;" id="launch-btn" username="gh_xxxxxx" path="pages/index/index.html" @launch="handleLaunchFn" @error="handleErrorFn">
<div v-is="'script'" type="text/wxtag-template">
<!--这里的height只有px起效 vw不起效,visibility: hidden是为了让组件样式不影响到实际效果 -->
<div class="btn" style="font-size:24px;color:white;width:200px;visibility: hidden;height:60px;">打开小程序</div>>
</div>
<!-- vue3中这样写会报错,改成上面方式v-is="'script'" -->
<!-- <script type="text/wxtag-template">
<style>.btn { padding: 12px; border: 1px solid red; }</style>
<button class="btn">打开小程序</button>
</script> -->
</wx-open-launch-weapp>
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
上次更新: 2023/09/22, 16:54:32