微信小程序授权登录

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
								})
							}
						}
					})
				}
			}
		}
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechWhiz-晓同

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值