uni-app之APP和⼩程序授权⽅法uni-app 介绍
uni-app 是⼀个使⽤ Vue.js 开发跨平台应⽤的前端框架。
适⽤平台:Android、iOS、⼩程序。实现了⼀套代码,同时发布到Android、iOS、⼩程序。APP授权
检测服务商
检测⼿机上是否安装、QQ、新浪微博等。
service: 'oauth',
success: function (res) {
console.log(res.provider);
}
});
授权登录
获取openid,(unionid)等
uni.login({
provider: 'weixin',
success: function (loginRes) {
console.log(JSON.stringify(loginRes));
}
});
获取⽤户信息
provider: 'weixin',
success: function(infoRes) {
console.log('-------获取⽤户所有-----')
console.log(JSON.stringify(infoRes.userInfo));
}
});
⽰例代码
<!-- #ifdef APP-PLUS -->
<button class="" @click="appLogin">APP授权登录</button>
<!-- #endif -->
appLogin: function() {
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));
// 获取⽤户信息
provider: 'weixin',
success: function(infoRes) {
console.log('-------获取⽤户所有-----');
console.log(JSON.stringify(infoRes.userInfo));
}
});
}
});
}
}
});
},
⼩程序授权
获取⽤户基本信息
为优化⽤户体验,使⽤ wx.getUserInfo 接⼝直接弹出授权框的开发⽅式将逐步不再⽀持。从2018年4⽉30⽇开始,⼩程序与⼩游戏的体验版、开发版调⽤ wx.getUserInfo 接⼝,将⽆法弹出授权询问框,默认调⽤失败。正式版暂不受影响。开发者可使⽤以下⽅式获取或展⽰⽤户信息。
⼩程序使⽤ button 组件,并将 open-type 指定为 getUserInfo 类型,获取⽤户基本信息。
⽰例代码:
<!-- #ifdef MP-WEIXIN -->
<button class="" open-type="getUserInfo" @getuserinfo="wxGetUserInfo" withCredentials="true">授权获取⽤户信息</button>
<!-- #endif -->
wxGetUserInfo:function(res){
if (!res.detail.iv) {
uni.showToast({
title: "您取消了授权,登录失败",
icon: "none"
});
return false;
}
console.log('-------⽤户授权,并获取⽤户基本信息和加密数据------')
console.log(res.detail);
},
如何制作app小程序登录
(1)页⾯uni.login获取code
(3)⽰例代码
<!-- #ifdef MP-WEIXIN -->
<button class="" @click="wxLogin">登录</button>
<!-- #endif -->
wxLogin: function() {
uni.login({
provider: 'weixin',
success: function(loginRes) {
console.log('-------获取code-------')
console.de);
url: 'xxxxx'+de,
success: function(info) {
console.log('-------获取sessionKey、openid(unionid)-------')
console.log(info);
},
fail: function(e) {
console.log(e)
}
})
}
});
}
登录状态监测
<!-- #ifdef MP-WEIXIN -->
<button class="" @click="checkLogin">登录检测</button>
<!-- #endif -->
checkLogin: function() {
wx.checkSession({
success() {
console.log('ok');
// session_key 未过期,并且在本⽣命周期⼀直有效
},
fail() {
/
/ session_key 已经失效,需要重新执⾏登录流程
//wx.login() // 重新登录
console.log('expire');
}
})
},
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论