1. 微信后台跳转路径使用带有/#/的路径跳转失败
发布使用history方式, 不要使用hash模式
发布history方式时, 需要配置一下nginx的代理
location / {
root /data/web/purchase/web/;
index index.html;
try_files $uri $uri/ /index.html; # 增加此处的配置
}
2. vue3 方式使用wx-open-subscribe标签问题
因为template标签里面不支持直接写script及style等标签, 需要使用v-is="'script'" 转义一下
<wx-open-subscribe template="7K-5P74z4uq8KtyuyDjQR6NDeu7ghwTzsfMu2grcGes" id="subscribe-btn" class="default_btn">
<div v-is="'script'" type="text/wxtag-template" slot="style">
<div v-is="'style'">
.subscribe-btn { display:flex;width:100%;background-color:#03a802;align-items:center;justify-content:center; color: #fff; font-weight: bold; border:none;
height:40px;font-size:18px; border-radius:10px;}
</div>
</div>
<div v-is="'script'" type="text/wxtag-template">
<button class="subscribe-btn">
订阅消息
</button>
</div>
</wx-open-subscribe>
注意: 只有在wx-*标签内定义的style才能对button起效果
3. 网页上使用wx-* 标签的条件
需要引入<script type="text/javascript" src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
文件
并且需要在初始化的时候调用wx.config进行配置, 配置参数可通过接口调用后台发挥的参数进行拼接, 前台最好不存储敏感信息
注意:
后台的url应是当前路径的url, 可将此url传给后台进行处理, 以免提示加密出错
只有配置成功了之后, wx-* 标签才会显示
onMounted(() => {
getJsApiConfig({url: window.location.href}).then(res => {
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
appId: res.appId, // 必填,公众号的唯一标识
timestamp: res.timestamp, // 必填,生成签名的时间戳
nonceStr: res.nonceStr, // 必填,生成签名的随机串
signature: res.signature,// 必填,签名
jsApiList: ['closeWindow'], // 必填,需要使用的JS接口列表
openTagList: ['wx-open-subscribe'] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
});
wx.ready(() => {
let btn = document.getElementById('subscribe-btn');
btn.addEventListener('success', (e) => {
showAlert("订阅成功", "成功", () => {
alertOption.show = false;
});
});
btn.addEventListener('error', (e) => {
showAlert("请订阅推送消息, 以便在电费不足时及时告知", "提示", () => {
alertOption.show = false;
});
});
})
})
})