<template>
<view class="">
<button class="" @click="checkLogin">微信登录检测</button>
<button @click="authoLogin">授权</button>
</view>
</template>
<script>
export default {
data() {
return {
appid: '',
secret: '',
js_code: '',
}
},
created() {
},
methods: {
//用户授权,获取用户信息
authoLogin() {
uni.getUserProfile({
desc: 'Wexin', // 这个参数是必须的
success: res => {
console.log(res)
console.log("用户信息", res.rawData)
this.isShowDialog = false;
this.loginUser()
}
})
},
//用户登录
loginUser() {
uni.login({
provider: 'weixin',
success: (loginRes) => {
console.log('用户登录', loginRes)
this.jsCode = loginRes.code; //保存登录后的code
//获取session_key
uni.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
method: 'GET',
data: {
appid: this.appid, //小程序的APPID
secret: this.secret, //小程序秘钥secret,
js_code: this.jsCode, //wx.login 登录成功后的code
grant_type: 'authorization_code'
},
success: (res) => {
console.log('获取openid和密钥',
res); // 换取成功后,存openid用户唯一标识,session_key会话密钥
}
});
}
});
},
// 检查session_key是否过期
checkLogin() {
wx.checkSession({
success() {
console.log('未过期');
// session_key 未过期,并且在本生命周期一直有效
},
fail() {
// session_key 已经失效,需要重新执行登录流程
//wx.login() // 重新登录
console.log('已经失效');
}
})
},
}
}
</script>
<style>
</style>
uniapp小程序授权
最新推荐文章于 2024-07-23 09:36:36 发布