这个项目使用的是vue+typescript,然后使用vue-router的history模式,真的写到奔溃,写完瞬间露出老母亲般的笑容 ^_^
引入微信JDK,由于用的ts,所以必须npm install @type/weixin-js-sdk,然而并没有找见官方提供的,在GitHub上找见了wx-sdk-ts。
1、微信授权
用户关注了公众号之后openid是唯一的,所以直接保存localStorage。
(1)在app.vue中初始化created时首先判断本地是否有openid,如果没有的话调用微信的页面授权( 我用的无感授权 )直接上代码
let param: string = 'appid=你的appid';
param += '&redirect_uri=' + encodeURIComponent(location.href);
param += '&response_type=code';
param += '&scope=snsapi_base';
param += '&state=123#wechat_redirect';
window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?' + param;
(2)调用成功后会在你的回调地址带参数code,前端拿获取回来的code去通知后台,让后台去获取openid和access_token之类的然后返回到前端保存localStorage。至此授权前端的工作做完了。
1、以snsapi_base为