uni-app 小程序用户信息之头像昵称填写
小程序获取用户头像昵称,微信又叒做妖,废除之前的接口,改成了头像昵称填写
通知:微信小程序端基础库2.27.1及以上版本,wx.getUserProfile 接口被收回,详见《小程序用户头像昵称获取规则调整公告》
1.回收uni.getUserInfo接口可获取用户授权(返回的全部是匿名数据)
4月28日24时后发布的新版本小程序,开发者调用wx.getUserInfo或<button open-type="getUserInfo"/>将不再弹出弹窗,直接返回匿名的用户个人信息,获取加密后的openID、unionID数据的能力不做调整。
2.回收getUserProfile 来授权返回微信用户信息 (返回的全部是匿名数据)
3.使用:头像昵称填写能力
截取评论展示功能介绍:描述非常生动形象
4.Demo展示
css样式有采用:ColorUI-UniApp 请自行导入
案例地址:https://gitee.com/jielov/uni-app-tabbar/blob/master/pages/wx_login/wx-mandate-write.vue


<!--
* @author: Jay
* @description: 微信小程序 头像昵称填写
* @createTime: 2022-11-23 10:51:34
-->
<template>
<view>
<!-- 获取头像 -->
<view class="bg-gray padding-top-sm">
<button class="avatar-button" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
<image :class="avatarUrl ==''?'avatar-img':'' " :src="avatarUrl"></image>
</button>
</view>
<!-- 输入用户名 -->
<view class="nickname-code">
<view class="nickname-title">
用户名:
</view>
<input type="nickname" class="weui-input" placeholder="请输入用户名" v-model="nickname" />
</view>
<!-- 手机号登录 -->
<view class="padding-lr padding-top flex flex-direction">
<button class="cu-btn bg-green round lg text-white" open-type="getPhoneNumber"
@getphonenumber="getUserPhone" :disabled="explainName == '' ? false : true">微信手机号登录</button>
</view>
<view class="text-red text-df padding-lr-xl padding-tb-xs text-center">
{{explainName}}
</view>
</view>
</template> <script>
export default {
data() {
return {
// 头像
avatarUrl: "",
// 用户名
nickname: "",
// 登录 code
logCode: "",
// 微信手机号登录
disabled: true,
}
},
computed: {
explainName() {
let name = ""
if (this.avatarUrl == '') {
name = "请授权用户头像"
return name;
}
if (this.nickname == '') {
name = "请输入用户名"
return name;
}
return name;
}
},
onLoad() {
this.userCode()
},
methods: {
// 获取code
userCode() {
let that = this
uni.login({
provider: 'weixin',
success(res) {
console.log("登录code", res);
that.logCode = res.code
}
})
},
//获取用户头像
onChooseAvatar(e) {
// console.log(e.detail);
this.avatarUrl = e.detail.avatarUrl
},
//获取用户手机号
getUserPhone(e) {
if (e.detail.errMsg == 'getPhoneNumber:ok') {
//出来手机号数据
console.log("手机号数据", e)
/*
在这一步把 手机号 头像 昵称 code 一次性全部丢给后端
*/
} else {
this.$operate.toast({
title: '授权失败无法登录!'
})
}
},
}
}
</script>
<style>
page {
background-color: #fff;
}
</style>
<style lang="scss" scoped>
// 用户头像
.avatar-button {
width: 120rpx;
padding: 0;
border-radius: 50%;
margin: 30rpx auto 0 auto; image {
width: 120rpx;
height: 120rpx;
border-radius: 50%;
display: block;
border: 4rpx solid #d8bf9f;
}
} .avatar-img {
z-index: 3;
position: relative; &:before {
content: '头像授权';
position: absolute;
top: 0;
left: 0;
width: 120rpx;
height: 120rpx;
// line-height: 40rpx;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
font-size: 25rpx;
background-color: rgba(130, 128, 127, 0.5);
z-index: 4;
}
} //用户昵称
.nickname-code {
display: flex;
align-items: center;
padding: 60rpx 20rpx 20rpx 20rpx;
margin-top: -40rpx;
background-color: #ffffff;
border-radius: 50rpx 50rpx 0 0; .nickname-title {
font-size: 30rpx;
color: #333;
margin-right: 15rpx;
} .weui-input {
flex: 1;
color: #333;
font-size: 30rpx;
}
}
</style>
小程序 头像昵称填写
uni-app 小程序用户信息之头像昵称填写的更多相关文章
- 微信小程序用户信息解密失败导致的内存泄漏问题。
微信小程序获取用户解密的Session_key 然后对 encryptedData进行解密 偶尔报错 时间长了之后会报内存溢出: java.lang.OutOfMemoryError: GC over ...
- PHP实现支付宝小程序用户授权的工具类
背景 最近项目需要上线支付宝小程序,同时需要走用户的授权流程完成用户信息的存储,以前做过微信小程序的开发,本以为实现授权的过程是很简单的事情,但是再实现的过程中还是遇到了不少的坑,因此记录一下实现的过 ...
- Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解
Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解 说明:Java生鲜电商平台-APP/小程序接口传输常见的加密算法及详解,加密算法,是现在每个软件项目里必须用到的内容. 广泛应用在包括 ...
- Java生鲜电商平台-电商中"再来一单"功能架构与详细设计(APP/小程序)
Java生鲜电商平台-电商中"再来一单"功能架构与详细设计(APP/小程序) 说明:在实际的业务场景中(无论是TO B还是TO C)不管是休闲食品.餐饮.水果.日用百货.母婴等高频 ...
- 微信小程序之怎样识别一个小程序用户
本节主要是说下怎样识别一个小程序的用户,需要用什么数据来做标识呢: 我们应该都知道判断是不是一个用户大部分都是通过userid来判断,如果这个用户访问的应用发送了一个请求,把userid之类的数据发给 ...
- uni与小程序,vue的区别
标签区别 uni使用小程序的标签,vue使用web端的标签 标签名变化的: 标签描述\类别 vue uniapp 文本 span\font text 链接 a navigator/ router-li ...
- 微信小程序-用户拒绝授权使用 wx.openSetting({}) 重新调起授权用户信息
场景模拟:用户进入微信小程序-程序调出授权 选择拒绝之后,需要用到用户授权才能正常使用的页面,就无法正常使用了. 解决方法:在用户选择拒绝之后,弹窗提示用户 拒绝授权之后无法使用,让用户重新授权(微信 ...
- 小迪安全 Web安全 基础入门 - 第十天 - 信息打点-APP&小程序篇&抓包封包&XP框架&反编译&资产提取
一.本节知识点思维导图 二.APP-外在资产收集 1.将APP安装在模拟器中,修改模拟器代理设置,使用Fiddler.Burpsuite.Charles等抓包工具抓取APP访问的http协议数据包,抓 ...
- flask_用户信息和头像
一.用户信息页 1.创建视图函数(microblog.py) @app.route('/user/<nickname>') @login_required def user(nicknam ...
- 小程序版好友对战实战-wss部署与小程序用户登录时序
上一篇文章是对需求的分析,本次将逐渐进入代码阶段.本次主要的内容包括服务端wss的部署以及小程序端用户授权的时序及逻辑. wss的配置与部署 微信小程序出于安全考虑,要求所有涉及到网络的操作,必须使用 ...
随机推荐
- 【资料分享】Xilinx Zynq-7010/7020工业核心板规格书(双核ARM Cortex-A9 + FPGA,主频766MHz)
1 核心板简介 创龙科技SOM-TLZ7x是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业核心板,处理器集成PS端双核ARM Co ...
- Unity 中关于SubMesh的拾取问题
问题背景 最近在开发一个功能,钻孔功能,每一层(段)都需要单独拾取,显示不同的颜色,使用不同材质 问题分析 对于这个功能,由于上述需求,很容易想到用submesh实现,但是主要问题是在于对于Subme ...
- ubuntu16.04 python2&3 pip升级后报错:sys.stderr.write(f"ERROR: {exc}")
ubuntu16.04 python2&3 pip升级后报错: sys.stderr.write(f"ERROR: {exc}") 描述 最近使用ubuntu16.04上的 ...
- MFC CFileDialog DoModal()无法弹出窗口,直接返回IDCANCEL
最近需要用VS2017在MFC中加一个文件浏览窗口,采用了如下方式 1 CFileDialog Dlg(TRUE); 2 int res = Dlg.DoModal(); 3 if(res == ID ...
- 作业错题集锦(pta英文数据结构)
A graph with 30 vertices and 40 edges must have at most twenty one connected component(s). 要计算最大连通分量 ...
- 基于EF Core存储的Serilog持久化服务
前言 Serilog是 .NET 上的一个原生结构化高性能日志库,这个库能实现一些比内置库更高度的定制.日志持久化是其中一个非常重要的功能,生产环境通常很难挂接调试器或者某些bug的触发条件很奇怪.为 ...
- 解决方案 | PPT右键复制文本时右键粘贴选项按钮为空白
1.问题 2.解决方法 随便复制一些文字,不要采用CRTL+V,而是采用右键粘贴方法到ppt中,选择纯文本的"A"符号. 之后再使用CTRL+C复制,CTRL+V即正常.(好像只能 ...
- 题解:AT_abc360_c [ABC360C] Move It
背景 机房大佬掉大分了,乐悲. 题意 给你几个箱子和每个箱子里装有的东西 \(a\) 和对应的重量 \(w\),现在要让每个箱子里都装有一个东西,每次可以移动任意一个箱子中的任意一个东西,代价为它的重 ...
- Midnight Commander (MC)
Midnight Commander GNU Midnight Commander 是一个可视化文件管理器,根据 GNU 通用公共许可证获得许可,因此有资格成为自由软件.它是一个功能丰富的全屏文本模式 ...
- NPIO在指定位置插入新列(附案例和代码)
背景: I could be mistaken as I am not that familiar with NPOI, however, after a minor search, it appea ...