小程序内:头像昵称的获取方案(封装头像昵称获取组件,模拟授权api式弹出)

微信收回了wx.getUserInfo()、wx.getUserProfile()这两个api,不能再直接调用api获取用户的微信头像和昵称了,说白了就是:头像昵称不再支持授权后直接获取,而是要让用户自己填写了。
因此需要一套新的方案来应对这个变化。

在这里插入图片描述

好在微信还算稍微有那么一点点良心,为我们开发者提供了头像昵称填写能力,用它提供的两个特定的组件,点击时分别可快速获取用户头像和昵称,下图为官方示例图:

在这里插入图片描述
在这里插入图片描述

于是我自己模拟设计了一个和微信授权相似风格的头像昵称填写弹窗,以实现快速的头像昵称填写。

在这里插入图片描述
头像和昵称都是必填项。

由于在不同项目里,不同的人在使用时,保存头像昵称的接口路径和参数名是不一样的,因此该组件接收一个prop:submit,这是个函数,外部传入,用于调用接口保存昵称头像,
放在点击提交时的回调里执行。

点击提交会向外抛出一个事件:submit,并携带选择的头像和昵称,可在submit的回调函数调用接口saveAvatarNickName,把头像和昵称保存在后端,保存成功后关闭弹窗。

点击关闭会关闭弹窗,同时向外部抛出一个事件:cancle,可指定回调函数处理相关逻辑。

这个弹窗封装成一个全局组件,在app.json中注册,然后封装一个全局方法:setAvatarNickName,挂载到wx对象上,在有需要拉起该弹窗的页面只需挂载一下,便可通过调用wx.setAvatarNickName()随时拉起。

同时封装一个关闭该弹窗的全局方法closeSetAvatarNickName,也挂载在wx对象上,只需在对应页面调用:wx.closeSetAvatarNickName()即可关闭该弹窗。 其实这个可有可无,用户自己点关闭就关了,属于锦上添花。

以上是设计思路,下面是具体实现。

-------累了,待更新---------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值