学习二十大奋进新征程线上知识答题小程序登录技术点分析与实现

news2024/11/24 22:58:00

学习二十大奋进新征程线上知识答题小程序登录技术点分析与实现

在最新搭建的知识答题小程序,遇到了微信授权登录上的技术难点,所以对于以往的那套登录框架不能使用了,需要搭建一套新的注册登录流程框架。

不得不做出调整,为此,首先进行了技术分析,进而去把它实现。

背景

官方发布, wx.getUserProfile被砍了。详情看用户头像昵称获取规则调整公告:

 

也就是说,wx.getUserProfile 接口、wx.getUserInfo 接口不能再继续使用了。

getUserProfile(e) {
    wx.getUserProfile({
      desc: '用于完善用户信息', 
      success: (res) => {
        this.setData({
          userInfo: res.userInfo
        })
      }
    })
  }

 

既然上面这种方式不能使用了,取而代之的是下面那种方式:通过头像昵称填写的组合方式。

头像选择

需要将 button 按钮的 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调获取到头像信息的临时路径。

注意!临时路径是不能直接使用的,需要上传到自己的服务器保存,并且返回该图片文件路径,才能应用。

与原来相比,最大的区别是:

①对于用户来说,操作步骤多了一点;

②对于开发者来说,实现代码以及逻辑多了一点,同时,还需要消耗自己的存储资源。

昵称填写

需要将 input 输入框的 type 的值设置为 nickname,当用户在此 input 进行输入时,键盘上方会展示微信昵称。

可以快速获取微信昵称,同时也支持自定义输入名称。

关键代码

<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
  <image class="avatar" src="{{avatarUrl}}"></image>
</button> 
<input type="nickname" class="weui-input" placeholder="请输入昵称"/>
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'

Page({
  data: {
    avatarUrl: defaultAvatarUrl,
  },
  onChooseAvatar(e) {
    const { avatarUrl } = e.detail 
    this.setData({
      avatarUrl,
    })
  }
})

实现效果

进入线上知识答题首页,落地页是学习二十大奋进新征程,点击登录按钮,跳转至登录页面

 

登录页面,通过微信提供的头像昵称填写能力快速完善,也可以自定义头像和昵称,选择部门分组,提交信息至数据库保存,同时需要上传头像到自己的服务器进行存储。

 

在之后的页面需要展示头像昵称,就是从自己的服务器上获取了。

小结

之前都是从官方的服务器上获取头像昵称的,现在是存储消耗自己的服务器资源,获取也消耗自己的服务器资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53298.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

json交叉编译并移植到嵌入式开发板

1、解压&#xff1a;tar -xvf json-c-0.9.tar.gz 默认解压在当前目录 2、进入解压后的目录&#xff1a;$ cd cd json-c-0.9/ 3、执行&#xff1a; sudo ./configure CCaarch64-linux-gnu-gcc --hostarm-linux --prefix/opt/json-c-0.9/ 说明&#xff1a;CC赋值为嵌入式开发环…

Java之线程详解(二)——线程安全概述、synchronized锁

一、线程安全概述 什么是线程安全问题&#xff1f; 当多个线程共享同一个全局变量&#xff0c;做写的操作时&#xff08;即修改该全局变量&#xff09;&#xff0c;可能会受到其他的线程干扰&#xff0c;发生线程安全问题。 eg&#xff1a; public class Thread01 implemen…

丝裂原活化蛋白激酶TaMPK3抑制植物对ABA的反应

文章信息 题目&#xff1a;Mitogen-activated protein kinase TaMPK3 suppresses ABA response by destabilising TaPYL4 receptor in wheat 刊名&#xff1a;New Phytologist 作者&#xff1a;Ying Liu&#xff0c;You-Zhi Ma, Zhao-Shi Xu et al. 单位&#xff1a;Instit…

【Linux】如何在Linux下提交代码到gittee

文章目录使用 git 命令行创建项目三板斧第一招: git add三板斧第二招: git commit三板斧第三招: git push其他几个重要的命令git pull&#xff08;将远端同步到本地&#xff09;git rm&#xff08;删除&#xff09;git log&#xff08;查看提交日志&#xff09;使用 git 命令行…

GPT语言模型

GPT&#xff1a;GPT采用了大量的无监督的数据进行预训练&#xff08;Pre-training&#xff09;&#xff0c;并在有监督的数据上进行微调&#xff08;Fine-tuning&#xff09;来做具体的NLP的任务。结构&#xff1a;GPT使用了12层12头&#xff0c;单向transformer的decoder部分&…

2001-2020年全国31省城镇居民人均可支配收入/居民实际收入水平

1、时间区间为&#xff1a;2001-2020年 2、范围包括&#xff1a;全国31省 3、基期&#xff1a;以2001年为基期 4、来源&#xff1a;国家统计J 5、指标包括&#xff1a; 城市居民消费价格指数(上年100)、城镇居民人均可支配收入(元)、实际可支配收入&#xff08;2001年为基…

LabVIEW开发LabVIEW类

LabVIEW开发LabVIEW类 从概念上来说&#xff0c;LabVIEW面向对象编程和其它面向对象编程语言相似。但由于LabVIEW是数据流图形化编程环境&#xff0c;LabVIEW对类数据的操作和交互&#xff0c;以及LabVIEW类代码的调试方法和其它语言有所不同。 LabVIEW中的对象由值来传递&a…

02【SpringMVC的工作流程】

文章目录二、SpringMVC的工作流程2.1 SpringMVC的三大组件2.1.1 HandlerMapping&#xff1a;2.1.2 HandlerAdapter&#xff1a;2.1.3 ViewResolver&#xff1a;2.2 SpringMVC源码分析2.2.1 准备工作2.2.2 查看DispatcherServlet的继承体系&#xff1a;2.2.3 通过映射器获取执行…

工业机械设备设计与艺术设计

众所周知&#xff0c;外观设计是目前工业设计的一种&#xff0c;也是展示产品外观性能的最佳途径。如果外观设计做得好&#xff0c;产品可以在第一时间吸引顾客。说到外观设计&#xff0c;我们不得不说&#xff0c;工业机械的外观设计&#xff0c;因为机械工业是工业设计的主要…

Java客户关系系统(含源码+论文+答辩PPT等)

该项目采用技术Struts2代理注解反射MyBatisjqueryjscss等技术&#xff0c;项目含有源码、文档、配套开发软件、软件安装教程、项目发布教程等 项目功能介绍&#xff1a; 系统管理&#xff1a;用户登录、用户退出 员工管理&#xff1a;主要实现对员工的增、删、查、改功能 客户信…

ZMQ之面向服务的可靠队列(管家模式)

管家模式协议&#xff08;MDP&#xff09;在扩展PPP协议时引入了一个有趣的特性&#xff1a;client发送的每一个请求都有一个“服务名称”&#xff0c;而worker在像队列装置注册时需要告知自己的服务类型。MDP的优势在于它来源于现实编程&#xff0c;协议简单&#xff0c;且容易…

孩子到底是食物过敏?还是食物不耐受?

虾蟹过敏&#xff0c;牛奶过敏&#xff0c;鸡蛋过敏&#xff0c;甚至花生过敏……近年来&#xff0c;儿童食物过敏的发病率逐年上升。食物过敏对儿童危害很大&#xff0c;其临床症状会使儿童患病&#xff0c;影响身心健康&#xff1b;长期禁食&#xff0c;影响均衡营养摄入&…

Segger RTT深度使用说明-移植-Jlink rtt viewer显示-输出到Secure CRT

简介 RTT&#xff08; Real Time Terminal&#xff09;是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都支持RTT。RTT既可以从MCU上输出信息、也可以向应用程序发送信息&#xff0c;由于其高速的特性&#xff0c;所以不影响MCU的实…

重磅消息:Lazada和Shopee通过中国执照就可以开通本地店铺,享受更多的流量和资源扶持

目前Lazada平台是可以做跨境店和本地店铺的&#xff0c;跨境店铺指的是中国卖家通过国内的营业执照开店&#xff0c;本地店指的是东南亚本地的商家提供个人身份证或当地的营业执照开的店铺&#xff0c;那么有什么区别和优劣势 1.跨境店/本地店开店所需资料 跨境店&#xff1a…

横向的Excel输出为pdf自动分成两页怎么办?不分页,铺满整张纸的方法来了

我们工作中有时候会需要把Excel转换成pdf&#xff0c;一般我们用WPS的“输出为pdf”功能就可以转了。但是有些横向的Excel转换的时候&#xff0c;会自动分成两页&#xff0c;这并不是我们想要的效果。怎么才能不分成两页呢&#xff1f; 首先我们有一个Excel&#xff1a; 使用…

什么牌子蓝牙耳机通话质量好?通话质量好的蓝牙耳机推荐

蓝牙耳机作为手机的最佳伴侣&#xff0c;已经成为老百姓日常生活必备。每次有大品牌发布新款蓝牙耳机&#xff0c;几乎都能够得到很好的反响&#xff0c;蓝牙耳机不仅在音质上有了很大的提升&#xff0c;并且在其他功能也在不断的提升&#xff0c;使用蓝牙耳机通话避免不了电话…

m基于matlab的光通信误码率仿真,分别对比了OFDM+BPSK和OFDM+4QAM的误码率和星座图

目录 1.算法描述 2.matlab算法仿真效果 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 光通信系统中&#xff0c;QAM调制应用广泛&#xff0c;因为其利用幅度和相位同时传递i信息&#xff0c;提高了频带利用率。目前&#xff0c;最高阶数的QAM已达到1024-QAM即星座图有1024个点…

网站风格变黑白的方法,用css或javascript方法将网站改为灰色

如何把网站颜色去掉&#xff1f;用下面的方法即可 1.通用方法 body { -webkit-filter: grayscale(100%);-moz-filter: grayscale(100%);-ms-filter: grayscale(100%);-o-filter: grayscale(100%);filter: grayscale(100%);filter: gray; }html {-webkit-filter: grayscale(10…

harbor私有仓库部署

一、Harbor的概念 Harbor是VMware公司开源的企业级Docker Registry项目&#xff0c;其目标是帮助用户迅速搭建一个企业级的Docker Registry服务 Harbor以 Docker 公司开源的Registry 为基础&#xff0c;提供了图形管理UI、基于角色的访问控制(Role Based AccessControl)、AD/LD…

python习题004--使用python实现ATM机效果

相信每一个人在日常生活中使用ATM机的次数不少&#xff0c;尤其是现在微信支付&#xff0c;支付宝支付的普及&#xff0c;就需要用到ATM机并将现金存入银行卡内。 接下来我就使用python并结合面向对象的知识编写一个简易的ATM机存取款的效果【仅供参考】。 题目 简易的ATM机…