1.先获取openid
uni.login({
success: (res) => {
console.log({
code: res.code
});
}
})
2.获取头像和昵称
html:
<view>
<view class="asdf">
<button open-type="chooseAvatar" @chooseavatar="chooseAvatar">
<image :src="image" class="imageAsdf" />
</button>
</view>
<view class="name">
<view class="name_text">
昵称
</view>
<view>
<input v-model="name" class="weui-input" placeholder="请输入昵称" />
</view>
</view>
<view class="enter">
<button @click="formSubmit">登录</button>
</view>
</view>
js:
export default {
data() {
return {
image: '',
openid: '',
status: 1,
name:''
}
},
methods: {
//用户头像
chooseAvatar(e) {
console.log(e.detail.avatarUrl);
let headimg = e.detail.avatarUrl
// 存储用户头像
uni.setStorageSync('headimg', headimg)
this.image = e.detail.avatarUrl
uni.login({
success: (res) => {
console.log({
code: res.code
});
console.log(res.code);
uni.request({
url: '',
data: {
code: res.code,
},
success: (val) => {
console.log(val.data.openid);
// console.log(val.data.openid);
uni.setStorageSync('openid', val.data.openid)
}
})
},
})
},
//用户名
formSubmit() {
let that = this;
let nickname = that.name
console.log(that.name);
if (nickname == "" || uni.getStorageSync('headimg') == "") {
uni.showToast({
title: '请输入完整信息',
icon: "none"
})
} else {
// 存储用户名称
uni.setStorageSync('nickname', nickname)
uni.request({
url: '', //仅为示例,并非真实的接口地址
data: {
openid: uni.getStorageSync('openid'), //唯一凭证
NickName: nickname, //昵称
HeadUrl: uni.getStorageSync('headimg'), //头像
sex: that.status
},
success(res) {
if (res.data.status == 2) {
console.log(res.data)
uni.setStorageSync('userid', res.data.userid)
uni.showToast({
title: '登录成功',
icon: 'success',
duration: 2000
})
uni.switchTab({
url: '/pages/index/index',
success: (res) => {},
fail: (res) => {},
complete: (res) => {},
})
} else {
uni.showToast({
title: '请重新登录',
icon: 'error',
duration: 2000
})
}
}
})
}
}
}
}