ಥ_ಥ 新规中使用uni.getUserProfile替代项目中getUserInfo,getPhoneNumber的使用ಥ_ಥ ʚ⃛ɞ

440 阅读1分钟

前言:

由于小程序新规中已经废弃了对<button @button-type="getUserInfo和getPhoneNumber">的使用,获取手机号也不行了。

解决方案:

以前:

async getUserInfo(e) {
	if (!this.agree) {
		this.$api.msg('请同意注册协议')
		return
	}
	wxuser = e.detail.userInfo
	var paramuser = {
		gender: wxuser.gender,
		avatar: wxuser.avatarUrl,
		name: wxuser.nickName,
		country: wxuser.country,
		province: wxuser.province,
		city: wxuser.city,
		wxOpenid: this.wxid.openId
	}

![459b4690-23ab-11eb-b623-368fe856f9f2 00_00_00-00_00_30.gif](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d488ca42121047ac872dbbfe612a70b1~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=640&h=360&s=792668&e=gif&f=23&b=7ec5e3)
	let res_user = await this.$api.request({
		url: "/get***",
		data: paramuser,
		method: "POST"
	}) //注册
	if (res_user == null) {
		return
	}
	this.setUser(res_user);
	this.$store.state.isLogin = true
	uni.redirectTo({
		url: `login?authPhone=true`
	})
},
async getPhoneNumber(e) {
	console.log("getPhoneNumber:", this.wxid)

	let res_updatePhone = await this.$api.request({
		url: "/getPhone",
		data: {
			encryptedData: e.detail.encryptedData,
			iv: e.detail.iv,
			sessionKey: this.wxid.Sessionkey
		}
	})
	if (res_updatePhone == null) {
		return
	}
	console.log("res_updatePhone:", res_updatePhone)
	let user = this.user
	user.phone = res_updatePhone.phone
	this.$store.dispatch("updateUser", user)
	this.$store.state.isLogin = true
	uni.navigateBack()
},

现在: 针对只修改前端而不修改后端的方案,修改获取信息的方式,获取成功-->跳转成功

async getUserInfo(e) {
	if (!this.agree) {
		this.$api.msg('请同意注册协议')
		return
	}
	var paramuser = {}
	uni.getUserProfile({
		desc: "获取你的昵称、头像、地区及性别",
		success: (res) => {
			let user = {
				avatar: res.userInfo.avatarUrl,
				name: res.userInfo.nickName,
				wxOpenid: this.wxid.openId,
				level: res.level,
				gender: res.userInfo.gender,
				clientName: res.clientName,
				roleDesc: res.roleDesc,
				id: res.id,
				clientId: res.clientId
			}
			this.setUser(user);
			paramuser = {
				gender: res.userInfo.gender,
				avatar: res.userInfo.avatarUrl,
				name: res.userInfo.nickName,
				country: res.userInfo.country,
				province: res.userInfo.province,
				city: res.userInfo.city,
				wxOpenid: this.wxid.openId
			}
			this.getUserInfoCallBack(paramuser)
		},
		fail() {

		}
	})
},

----未完待续 092ae1d2-ec5d-11ea-acfd-5ab503a75443 00_00_00-00_00_30.gif