我是靠谱客的博主 沉默太阳,这篇文章主要介绍uniapp开发微信公众号授权2、后端去执行 (一般不推荐,但是没有什么太大要求,后端也可以),现在分享给大家,希望可以做个参考。

1、前端去执行


第一步骤:根据appid 跳转https://open.weixin.qq.com/connect/oauth2/authorize微信的这个地址,然后微信把code传过来。

 第二步骤:根据code去后台获取用户OpenId,获取到了就直接进入系统了,没有openid跳转到登录页

附:获取页面code的参数


getCode() {
if (sessionStorage.getItem("openid") && sessionStorage.getItem("openid") != "undefined") {
return false;
}
var code = this.getUrlParam('code') // 截取路径中的code,如果没有就去微信授权,如果已经获取到了就直接传code给后台获取openId
var local = window.location.host; //这个地方是微信公众平台网页授权里面配置的域名,
// 也是服务器的域名,把打包后的static和index放到webapps的文件夹下面。格式为域名+文件夹名称
if (code == null || code === '') {
window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + this.appId +
'&redirect_uri=' + encodeURIComponent(local) +
'&response_type=code&scope=snsapi_base&state=#wechat_redirect'
console.log(code)
} else {
getOpenId(code) //把code传给后台获取用户信息
}
},
getOpenId(code) {
uni.request({
url: '*************/app/login',
method: 'get',
data:{
code:code
}
success: (res) => {
console.log(res.data);
}
});
},
// 解析URL 参数
getUrlParam(name) {
let reg = new RegExp('(^|&)'+ name + '=([^&]*)(&|$)')
let r = window.location.search.substr(1).match(reg)
if(r!=null){
return unescape(r[2])
}
return null
},

2、后端去执行 (一般不推荐,但是没有什么太大要求,后端也可以)


前端只需要把授权的路径放在href,在onload中直接调取就可以,后端可以把获取code和传输openid放在一起返回给前端即可。

 

最后

以上就是沉默太阳最近收集整理的关于uniapp开发微信公众号授权2、后端去执行 (一般不推荐,但是没有什么太大要求,后端也可以)的全部内容,更多相关uniapp开发微信公众号授权2、后端去执行内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部