Vue微信公众号静默授权
首先要注册一个公众号再里面配置自己的安全域名 有两个地方要配置 开发-》设置配置完之后 在微信开发工具打开,因为微信那边的限制 我目前只能在把页面放到服务器上进行访问这个是静默授权在逻辑是打开页面时 有一个redirect_uri 这个参数 是获取code后的重定向位置 一般就是当前页面code 的值 获取成功后会放到url中 通过 location去获取就好了created() {this.ge
·
首先要注册一个公众号
再里面配置自己的安全域名 有两个地方要配置 开发-》设置
配置完之后 在微信开发工具打开,
因为微信那边的限制 我目前只能在把页面放到服务器上进行访问
这个是静默授权在逻辑是打开页面时 有一个redirect_uri 这个参数 是获取code后的重定向位置 一般就是当前页面
code 的值 获取成功后会放到url中 通过 location去获取就好了
注意在使用之前要去公众平台里面配置用户信息授权的合法地址
created() {
this.getUrl()
},
getUrl() {
let userAgent = navigator.userAgent;
if (userAgent.includes("iPhone") || userAgent.includes("iPad")) {
sessionStorage.setItem("originUrl", location.href); // 用于ios分享
}
this.getBaseInfos();
},
// 编码函数
getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); //匹配目标参数
if (r != null) return unescape(r[2]);
return null; //返回参数值
},
getBaseInfos() {
if (this.isWeiXin()) {
const code = this.getUrlParam("code"); // 截取路径中的code
if (code == null || code === "") {
let url = "";
let userAgent = navigator.userAgent;
if (userAgent.includes("iPhone") || userAgent.includes("iPad")) {
url = sessionStorage.getItem("originUrl");
} else {
url = window.location.href;
}
window.location.href =
"https://open.weixin.qq.com/connect/oauth2/authorize?appid=你申请的appkey&redirect_uri=" +
encodeURIComponent(url) +
"&response_type=code&scope=snsapi_base&state=1&connect_redirect=1#wechat_redirect";
} else {
}
if (code != "" && code != null) {
this.wxCode = code;
console.log(code)
this.getOpenid(code)
}
} else {
}
},
isWeiXin() {
var ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
return true;
} else {
return false;
}
},
更多推荐
已为社区贡献6条内容
所有评论(0)