uniapp 微信授权登陆
准备工作:#
1.微信开发者账号
2.AppId 、AppSecret (这些可以在开放平台申请到)
第一步#
审批通过后,即刻
第二步#
打开uniapp,开启OAuth,打开微信登陆
配置基本上完成。
代码#
<button type="primary" @click="appLogin" class="weixin" plain="true">
<image class="ico" src="../../static/login/wx.png" mode="scaleToFill"></image>
微信登陆
</button>
export default {
data() {
return {
}
},
onLoad(options) {
console.log(options);
},
methods: {
appLogin: function() {
uni.getProvider({
service: 'oauth',
success: function(res) {
console.log(res.provider);
//支持微信、qq和微博等
if (~res.provider.indexOf('weixin')) {
uni.login({
provider: 'weixin',
success: function(loginRes) {
console.log('-------获取openid(unionid)-----');
console.log(JSON.stringify(loginRes));
// 获取用户信息
uni.getUserInfo({
provider: 'weixin',
success: function(infoRes) {
console.log('-------获取微信用户所有-----');
console.log(JSON.stringify(infoRes.userInfo));
}
});
},
fail: function(res) {
console.log("App微信获取用户信息失败", res);
}
});
}
}
});
},
}
}
//请求登录接口方法
getApploginData(data) {
var that = this
//这边是前端自己去调微信用户信息的接口,根据接口需要请求,如果不需要前端去获取的话就交给后端,可省去次操作
uni.request({
url: "https://api.weixin.qq.com/sns/userinfo?access_token=" + data.authResult.access_token + "&openid=" + data.authResult
.openid,
method: 'GET',
dataType: 'json',
header: {
'content-type': 'application/x-www-form-urlencoded' // 默认值
},
success(res) {
console.log('【登录回调啾啾啾】', res)
that.$api.ajax('smdc/index/applogin', res.data, function(ret) {
console.log("登录接口成功回调:", ret)
}, 'POST', true)
},
fail() {
}
})
}
以上就是APP登录的完整操作流程。over~
作者: Homegu
出处:https://www.cnblogs.com/codedisco/p/13964333.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
觉得文章不错,点个关注呗!
分类:
Web前端
, JavaScript
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统