微信小程序获取用户信息,返回nickName是微信用户,返回了匿名的头像名称原因。

微信小程序获取用户信息,返回nickName是微信用户,返回了匿名的头像名称原因。
获取用户信息。页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 userInfo。该接口用于替换 wx.getUserInfo。方法做了调整:用户信息接口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。
原生写法:

<button class="primary" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">获取个人信息</button>

一开始我是按照原生写法来写的,发现弹窗也调不出,后面换成平时的button点击事件就可以了。
uni-app写法:

<button class="primary" open-type="getUserInfo" @click="bindGetUserInfo">获取个人信息</button>
bindGetUserInfo(e) {
	const _this = this;
	wx.getUserProfile({
		desc: '用于完善资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
		success: (res) => {
			// console.log('getUserProfile', res.userInfo);
            wx.setStorageSync('userInfo', res.userInfo);
            wx.setStorageSync('hasUserInfo', true);
		},
		fail: (err) => {
			console.log('err', err);
		}
	})

把用户信息存储到本地缓存,后面如果需要直接从本地缓存

如有错误或不足,欢迎各位大佬评论指正。

为什么先点击treeNodeClicked方法添加节点,在input的值不为空走treeSearch方法,在走treeSearch的else方法,checkedCities会变成ture<el-input placeholder="输入用户姓名/手机号/部门名称" v-model="filterText" @keyup.enter.native="treeSearch" clearable> <i slot="suffix" class="el-input__icon el-icon-search" @click="treeSearch"></i> </el-input> <el-tree v-if="type === 'intersection'" :data="orgaData" icon-class="-" @node-click="treeNodeClicked" :default-expanded-keys="keys" node-key="realId" :props="defaultProps" highlight-current :filter-node-method="filterNode" v-loading="loading"> <span class="custom-tree-node" slot-scope="{ data, node }"> <span v-if="data.nodeType == 2"> <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"> <el-checkbox :key="data.realId" :label="data" :checked="checkStatusIds.includes(data.realId)" :disabled="!defOrg.includes(data.parentNodeId) || checkStatusIds.includes(data.realId)"> <img v-if="data.sex == 2" src="@/assets/images/girl1.png" alt="" /> <img v-else-if="data.sex == 1" src="@/assets/images/boy1.png" alt="" /> <img v-else src="@/assets/images/peoper.png" alt="" /> {{ data.nodeName }} </el-checkbox> </el-checkbox-group> </span> <span v-else> <i style="margin-left: 5px" :class="node.expanded ? 'el-icon-caret-bottom' : 'el-icon-caret-right'" v-if="data.memberCount || data.childrens.length"></i> <i style="margin-left: 22px" v-else></i> {{ data.nodeName }} </span> </span> </el-tree> async treeSearch() { let res = await getTreeUser({ nickname: this.filterText }) if (this.filterText) { this.orgaData = res.data.data.orgTreeNodeDTOS } else { this.orgaData = this.copyOrgaData } console.log(res) }, async treeNodeClicked(data, node) { if (this.filterText) { console.log(1) return } let res = await getDepartmentUsers(data.realId) if (data.nodeType == 2) return if (!data.memberCount) return if (!this.onceClickIds.includes(data.realId)) { console.log(2) this.onceClickIds.push(data.realId) data.childrens.push(...res.data.data) this.keys = [data.realId] } }
05-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值