全部
常见问题
产品动态
精选推荐

微信小程序用户登录显示”微信用户”的问题

管理 管理 编辑 删除

问题产生原因:是由微信官方对接口进行升级引起的。

在之前我们在小程序获取用户信息是如下方式:

<van-button
bind:getuserinfo="getUserInfo"
open-type="getUserInfo"
plain
round
block
size="small"
type="primary"
>
点击这里登录
</van-button>

注:bind:getuserinfo="getUserInfo" 中的getUserInfo是个响应事件,当然事件名可以随便取的,不一定非是 getUserInfo 这个名字

open-type="getUserInfo" 则是微信小程序的一个开放能力,在按钮上设置此属性则会触发 getuserinfo 事件。

下面则是事件的响应函数

async getUserInfo(e) {
// 微信授权
let that = this
let userInfo = e.detail.userInfo
if (userInfo) {
let login = () => {
return new Promise(resolve => {
wx.login({
success(res) {
resolve(res)
},
fail() {
resolve()
}
})
})
}
let getUserInfo = () => {
return new Promise(resolve => {
wx.getUserInfo({
success(res) {
resolve(res)
},
fail() {
resolve()
}
})
})
}
let res = await login()
let res2 = await getUserInfo()
showLoading(‘加载中‘)
if (res && res.code && res2) {
let { encryptedData, iv, rawData, signature } = res2
await that.userLoginFunc(
res.code,
encryptedData,
iv,
rawData,
signature
)
hideLoading()
}
}
}

根据官方文档

调整后,开发者如需获取用户身份标识符只需要调用wx.login接口即可。

开发者若需要在界面中展示用户的头像昵称信息,可以通过<open-data>组件进行渲染,该组件无需用户确认,可以在界面中直接展示。

在部分场景(如社交类小程序)中,开发者需要在获取用户的头像昵称信息,可调用wx.getUserProfile接口,开发者每次通过该接口均需用户确认,请开发者妥善处理调用接口的时机,避免过度弹出弹窗骚扰用户。

解决过程分析:

主要就是变化一点,无需再用 open-type="getUserInfo" 了,wx.getUserInfo接口也不用了,改为调用 wx.getUserProfile接口 

async getUserProfile(e){
let that = this
let getuserinfo = new Promise((resolve, reject) => {
wx.getUserProfile({
desc: ‘用于完善会员资料‘,
success(res) {
resolve(res)
},
fail() {
resolve()
}
})
})
let login = new Promise((resolve, reject) => {
wx.login( {
success(res) {
resolve(res)
},
fail() {
resolve()
}
})
}
)
//console.log("params=" + params )
let flag = true
Promise.all([login, getuserinfo]).then(res=>{
console.log(‘所有操作完成---‘,res)
let code = ""
//let params = { encryptedData:‘‘, iv:‘‘, rawData:‘‘, signature:‘‘ }
if(res[0] && res[0].code )
{
code = res[0].code
}else{
falg = false
}
if(res[1]){
console.log( "-----oooo----------")
//console.log("signature:" + params.signature)
}else{
falg = false
}
showLoading(‘加载中‘)
//console.log("")
if (flag) {
let { encryptedData, iv, rawData, signature } = res[1]
//调用后端接口
          that.userLoginFunc(
code,
encryptedData,
iv,
rawData,
signature
)
hideLoading()
}
}).catch((error) => {
console.log(error)
})
}


CRMEB-慕白寒窗雪 最后编辑于2023-03-23 15:29:04

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
3416
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

CRMEB-慕白寒窗雪 作者
社区运营专员---高冷のBoy | 呆萌のGirl

回答

1903

发布

1766

经验

43233

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服