以下是html代码
<template>
<view>
<button open-type="getUserInfo" @getuserinfo="wxLogin">
</button>
</view>
</template>
以下是js代码
<script>
export default {
methods: {
async wxLogin(weChatInfo) {
this.$u.toast('微信登录');
console.log(weChatInfo);
if (weChatInfo.detail.errMsg !== 'getUserInfo:ok') {
this.$u.toast('允许后方可进入小程序');
return;
}
try {
const loginRes = await uni.login({
timeout: 5000
});
const jsCode = loginRes[1].code;
const appid = '你的appid';
const secret = '你的secret';
const resu = await uni.request({
url: `https://api.weixin.qq.com/sns/jscode2session?appid=${appid}&secret=${secret}&js_code=${jsCode}&grant_type=authorization_code`,
method: 'GET'
});
const {
openid
} = resu[1].data;
console.log('openid', openid);
//拿到openid后想要做的事情
}catch (err) {
console.error('异常', err);
this.$u.toast('出现了异常');
}
},
}
}
</script>