uniapp之最新获取用户昵称以及头像

2023-10-30

目录

前言

一、只展示不传递给后端

二、 方法二


前言

在uniapp登录时候最开始想的就是手机号登录之后,就获取用户的昵称以及头像,存储起来,登录的时候直接显示在我的页面,最开始使用的是 uniapp官网自带的uni.getUserProfile的方法,就可以获取用户的头像跟昵称,谁知这个方法 11月份已经收回,使用不了了,扎心

官网

  补充

后续我在官网中 看到 上面说,头像昵称填写能力  支持获取用户头像昵称

那我的  方法二 就是 使用的是 上述功能

 但我这边,在其他地方,看到过有相关获取用户的头像跟昵称的方法,有以下两点

一、只展示不传递给后端

这个方法是我大哥找到的,因为最开始要实现展示用户的头像跟昵称,也不知为啥那时没有说要使用getUserProfile这个方法获取,

下面这行代码很nice,就直接 C过去就可以使用 ,但它有个弊端只能显示本地的信息,不能把本地的信息存储起来发送给后端,弊端嘛,是因为我没有研究透彻,不会写,(*^▽^*)

若有人研究透彻了,欢迎留言

  <view class="avatar">
        <open-data type="userAvatarUrl"></open-data>
      </view>
      <view class="nicName">
        <open-data type="userNickName"></open-data>
      </view>

后来,大哥说,要把用户头像存储起来,发送给后端,他们那边有需要,所以这个方法我就放弃掉了,换其他的方法了

其他的方法 也就是 uni.getUserProfile ,但不曾想,这个方法微信收回了,那时直叫一个心痛啊o(╥﹏╥)o,啊

索性后来又发现一个方法

二、 方法二

      <image .........></...>
      <button v-if="show === ''" open-type="chooseAvatar" @click="avatarbtn"
        @chooseavatar="bindchooseavatar">获取头像</button> -->
      <input style="height: 80rpx;" v-if="inpValue.value !== ''" @change="getNickname" type="nickname"
        placeholder="请输入昵称" v-model="inpValue.value" />



methods中的方法

 // 头像点击事件
      avatarbtn() {
        console.log('点击图片');
        this.show = 1
      },


 // 获取头像的方法
      bindchooseavatar(e) {
        console.log(e); // http://tmp/qC0p2up1KrW1ca6842e41fc84341a5c67028509d1cbb.jpeg
        console.log(e.detail.avatarUrl)

        // 存 vuex本地
        this.updateUserDetail(e.detail)
        // console.log(this.avatarUrl);
        // updateUserAvatar(e.detail.avatarUrl)
        // let url = "https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"      
        // 转 base 64格式
        uni.getFileSystemManager().readFile({
          filePath: 'http://tmp/qC0p2up1KrW1ca6842e41fc84341a5c67028509d1cbb.jpeg',
          encoding: 'base64',
          success: r => {
            console.log("base64====" + r.data)
          },
          fail: (err) => {
            uni.hideLoading()
            console.log(err);
          }
        })
      }

但它有个问题就是 按钮的显示与隐藏 不好搞 ,就是

当按钮中图片的值为 空字符串时,按钮就显示,但是呢,当我切换到首页获取是其他页面,按钮还是显示出来,所以这个问题很烦,你们可以试试,我应该不会是因为设置自定义底部导航栏不出来的原因吧

最终由于我实现不了,就跟后端协商设置了默认的头像,很烦呀,为啥要收回

方法二 的效果图

总结

我觉得 获取用户信息的话 还是让后端 直接返数据吧, 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

uniapp之最新获取用户昵称以及头像 的相关文章

  • C++ 多线程编程(一)- C++11中的线程类

    C 多线程编程 一 C 11中的线程类 1 C 11 多线程编程库 2 线程的创建 2 1 初始化构造函数 2 2 移动构造函数 3 线程的基本操作 3 1 join 阻塞 等待线程结束 3 2 detach 分离线程 1 C 11 多线程
  • 腾讯云时序数据库 CTSDB 开放公测

    欢迎大家前往云 社区 获取更多腾讯海量技术实践干货哦 作者 李晓慧 近日 腾讯云推出云上时序数据库CTSDB Cloud Time Series Database CTSDB 是一款分布式 可扩展 高可靠的时序数据库 适用于有海量时序数据的
  • 数组的常用方法总结

    获取指定数组的长度 arr length console log a b c length 3 通常情况下 如果想判断一个数组是否为空 可以通过数组的长度是否为零来判断 数组和字符串的相关转换 2 1 数组转换为字符串 console lo

随机推荐

  • HW SR505红外传感器模块 一直输出高电平

    重点 1 505检测的是物体移动 不是前面是否有人 如果一个人一动不动也是不会检测出来的 2 505的正脚必须接5v 如果接3 3v则会不灵敏 505输出脚高电平总是3 3v 如果out引脚一直输出高电平试一下接 5v 3 505输出一次高
  • 主业外的第二副业选什么比较好,适合普通人的坚持之路

    说到副业 可能大部分人觉得不知道应该做什么 只是因为在物质日益高涨的今天 单单靠上班的一份工资已经不足以实现自己的一些人生规划了 上班永远是别人给你的职位 随时可以让你失去它 真正的经济自由是靠自己 所以需要在工作之余发展一份自己的副业 来
  • linux系统 InfluxDB安装及配置,修改数据路径,傻瓜教程

    linux系统磁盘挂载教程 linux服务器磁盘挂载 新手手把手教学 傻瓜式教程 风电猿的博客 CSDN博客 START 1 安装包下载 提供1 8 0版本的Influxdb安装包 百度网盘 请输入提取码 qlyx 2 安装指令 yum l
  • 关于maven仓库中的_remote.repositories

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 问题描述 既然有这个jar包为什么还会报错呢 无意间通过dependency tree命令查看依赖 发现 这说明 core common jar包依赖paas thirdp
  • Node.js-Gulp的使用

    概述 Gulp 是基于 Node 平台开发的前端构建工具 主要用来设置程序自动处理静态资源的工作 通过 Gulp 能自动化地完成 html css javascript less sass image 等文件的测试 检查 合并 压缩 格式化
  • 单个按键控制数码管显示数字(2)

    一 主要功能 单个按键控制数码管显示数字 二 代码实现 代码如下 include
  • Unity3D实现简单的血条功能

    在游戏中血条是一个很常见的东西 它可以直观的显示血量 在很多地方都有运用 尤其是小兵或者怪物身上 那么该怎样去制作一个简单的血条呢 其实很简单 血条就是一个UI而已 用一张长条形的图片即可实现 具体操作如下 1 先创建一个3D的物体命名为P
  • web项目----实现简单的增删查改

    本人稀土掘金地址 coding Rayce 的个人主页 动态 掘金 juejin cn 首先了解javaEE的三层架构 由图中我们可以看出 javaEE的三层架构严格的规定了项目中的每个模块 每个层需要完成的事情 这样会使项目的变得非常简洁
  • gtest使用入门(6)-win下使用vscode和cmake构建

    文章目录 概述 一 环境准备 二 源码准备 三 准备googletest源码和测试代码 四 构建并编译源码和测试代码 五 执行测试 六 总结 七 源码获取 概述 最近尝试在windows下使用googletest 并使用CMake进行构建
  • 计算机网络习题(数字数据编码为数字信号)

    计算机网络习题 数字数据编码为数字信号 题目描述 画出非归零编码 曼切斯特编码 差分曼切斯特编码 知识点分析 非归零码 用高 低电压分别来代表 1 0 二进制 相反也可以 曼彻斯特编码 将一个位 位是指一个比特 即上图中两个虚线之间的范围称
  • GeoGebra

    文章目录 一 GeoGebra简介 1 GeoGebra在线图形计算器 2 GeoGebra应用 3 在线资源平台 二 官方网站 1 GeoGebra官网 2 GeoGebra项目源码 3 GeoGebra官网教程 3 1 Learn Ge
  • 05 集成测试:如何进行微服务的集成测试?

    上一课时 我讲解了微服务架构下的单元测试 它是一种白盒测试技术 目的是验证软件代码中的每个单元 方法或类等 是否符合预期 本节课我来讲解微服务架构下的集成测试 集成测试的概念 说到集成测试 相信每个测试工程师并不陌生 它不是一个崭新的概念
  • wps文档格式转换

    网上关于word pdf等相关文档格式转换代码较多 也使用了许多五花八门的三方库来实现 效果也参差不齐 虽然有unoconv服务可以统一 但是效果也不是很满意 国产wps软件的效果是不用说的 但是一直都是支持windows系统 不过现在也有
  • 批量生成固定格式的图片,写上不同的文字

    批量生成下面这种标签 图片 红色圈起的位置和二维码要根据excel的数据动态变化 二维码扫出来是订单编号 思路 1 xlrd库读取excel数据 2 用MyQR库生成订单号的二维码 3 pillow库生成适当大小的空白底图 先是把二维码图片
  • H5 DOM 全屏 api requestFullscreen

    文章转载自 http javascript ruanyifeng com htmlapi fullscreen html toc7 js 设置 退出和判断全屏的方法 设置全屏 退出全屏 全屏属性 全屏事件 全屏状态的CSS 设置全屏 req
  • 操作系统基础-多线程处理浅析

    对于一个大型的复杂项目 或者多人协作的项目 如何处理同时运行的线程 如何在线程之间传递消息 处理同步是首要问题 经历过C 技术面的同学应该深有体会 在面试中 多线程 观察者模式 数据总线 事件总线都是经常被问到的重灾区 最近在工作中遇到的此
  • Python 多线程-共享全局变量问题

    多线程 共享全局变量问题 多线程可能遇到的问题 假设有两个线程t1和t2 都要对一个变量g num进行运算 1 两个线程t1和t2分别对g num各加10次 g num的最终结果 import threading import time g
  • 定向越野(添加任务信息和根据坐标位置触发游戏)

    1 首先获取任务地点的实际坐标值 用hashmap存储 HashMap
  • matlab里的随机数函数,MATLAB中常用的产生随机数的几种函数

    1 rand函数 rand函数用于产生在区间 0 1 的均匀随机数 它是平均分布在 0 1 之间 一个称为seed的值则是用来控制产生随机数的次数 均匀随机数函数的语法为rand n rand m n 其结果分别产生一矩阵含n n个随机数和
  • uniapp之最新获取用户昵称以及头像

    目录 前言 一 只展示不传递给后端 二 方法二 前言 在uniapp登录时候最开始想的就是手机号登录之后 就获取用户的昵称以及头像 存储起来 登录的时候直接显示在我的页面 最开始使用的是 uniapp官网自带的uni getUserProf