赞
踩
问题原因:ios打开页面,整个项目的签名,只需要签名一次
所以需要判系统;
ios端只需要在项目第一次打开调用签名,所用到的JSSDK接口,都写在 jsApiList里,具体接口执行方法,放在需要执行的时候。
- export function shareSignature() {
- return new Promise(resolve => {
- let params = {
- url: window.location.href,
- appId: localStorage.getItem('appId')
- };
- wxApi.shareSignature(params, res => {
- if (res.succeed) {
- wx.config({
- debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
- appId: res.data.appid, // 必填,公众号的唯一标识
- timestamp: res.data.timestamp, // 必填,生成签名的时间戳
- nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
- signature: res.data.signature, // 必填,签名
- jsApiList: [
- "chooseImage",
- "uploadImage",
- "downloadImage",
- "onMenuShareTimeline",
- "onMenuShareAppMessage"
- ] // 必填,需要使用的JS接口列表
- });
- resolve();
- }
- });
- });
- }
- router.beforeEach((to, from, next) => {
- if (isIOS()) {
- if (from.path === '/') {
- if(localStorage.getItem('appId')) {
- shareSignature()
- }
- next();
- } else {
- next();
- }
- } else {
- next();
- }
- });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。