<template>
<div>
<button type="default" @tap="appLoginWx">微信登录</button>
</div>
</template>
<script>
var code;
var openid;
var avatarUrl;
var nickName;
export default {
data() {
return {
};
},
methods: {
appLoginWx() {
var _this = this;
// 获取用户信息
// 注意 getUserProfile 不支持在事件中使用异步操作
// 否则会触发错误:{errMsg: "getUserProfile:fail can only be invoked by user TAP gesture."}
uni.getUserProfile({
//userInfo 获取用户信息
lang: 'zh_CN',
desc: '获取用户信息',
success: userInfo => {
console.log('userInfo', userInfo);
// console.log(JSON.stringify(userInfo));
// rawdata = JSON.parse(userInfo.rawData);
console.log('头像为 ' + userInfo.userInfo.avatarUrl);
console.log('微信昵称为 ' + userInfo.userInfo.nickName);
avatarUrl = userInfo.userInfo.avatarUrl;
nickName = userInfo.userInfo.nickName;
uni.login({
//loginInfo 获取code
provider: 'weixin',
success: loginInfo => {
console.log('loginInfo', loginInfo);
// console.log(loginInfo.code);
code = loginInfo.code;
console.log(code);
//如果有了code 拿着code获取openid session_key
if (code) {
var appId = '填自己的';
var secret = '填自己的';
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId +
'&secret=' + secret + '&js_code=' + code +
'&grant_type=authorization_code',
data: {},
header: {
'content-type': 'json'
},
success: function(res) {
openid = res.data.openid //返回openid
// console.log(res)
console.log('openid为 ' + openid);
uni.showToast({
title: "授权成功"
})
}
})
}
}
});
uni.request({
url:_this.apiServer + 'member&m = login',
method:'POST',
header:{'content-type':"application/x-www-form-urlencoded"},
data:{
openid:openid,
name:nickName,
face:avatarUrl
},
success:res=>{
console.log("请求成功")
console.log("请求成功" ,res)
},fail:()=>{
console.log("请求失败")
}
})
},
fail: err => {
console.log(err, 'err')
}
});
}
},
onLoad: function(options) {
}
}
</script>
<style>
</style>
12-24
1万+
12-23
9634
07-26
1万+