创建uniapp项目引入uni-id用户体系使用beforeRegister钩子创建默认昵称

在这里插入图片描述

需求描述

基于uniCloud开发项目,通常会使用用户体系,uni-id就是基于uniCloud的用户体系,满足常规需要的账号密码注册、登录,微信登录等快捷方式,如果使用uni-id自带的uni-id-pages插件,账号密码注册的话,可以设置默认的昵称,但是使用微信或者手机号快捷登录的话是无法设置默认昵称的,可以采用官方推荐的beforeRegister钩子,会在注册用户记录入库前触发,接收到参数并按照我们的需要插入到数据库中。

解决办法

beforeRegister在注册用户记录入库前触发。钩子地址:https://doc.dcloud.net.cn/uniCloud/uni-id/summary.html#before-register
可以通过查看文档有详细的入参及示例,下面这段代码是在入库之前,设置默认昵称的代码。

插入路径
unicloud -> common -> uni-config-center -> uni-id -> hooks -> index.js
如果你的项目中没有我写的这个路径,就按照我上面的名称创建出该文件夹,最后index.js的代码如下:

// 钩子函数示例 hooks/index.js
function beforeRegister({userRecord,clientInfo
} = {}) {  if(!userRecord.nickname) {userRecord.nickname = "匿名"+Math.random().toString(36).substring(3,9)}	return userRecord
}module.exports = {beforeRegister
}

在上面示例代码中,userRecord是即将入库的数据,我们来判断入库数据是否包含nickname这个字段,如果包含不做任何操作,不包含就返回一个“匿名”+随机6位字符串,当然你可以按照你自己的需求来设置默认昵称。

最后千万不要忘了module.exports将beforeRegister方法导出,不然是无法进行入库的。

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

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

相关文章

Opencv---深度学习开发

在OpenCV中进行深度学习开发,主要围绕其dnn模块展开,该模块支持加载预训练模型、预处理输入数据、执行推理计算以及解析输出结果。本文讲解基于OpenCV进行深度学习开发的基本流程。 一、准备工作 在开始开发前,需完成环境配置和资源准备&…

【C++11】右值引用详解

文章目录前言1. 左、右值的概念1.1 左值1.2 右值1.3 右值引用2. 右值引用的价值和使用场景2.1 左值引用的价值和缺陷2.2 右值引用的价值和使用场景2.3 小结3. 完美转发4. 类的移动构造和移动赋值前言 在C11之前,面对C11之前出现的临时对象的传参构造,都…

如何用自指理解世界

自指即自我指涉,即自己的描述关联到了自己,典型例子是“这句话是假话”这个悖论。人类对自指的研究由来已久,很多概念、定理都与之相关,由于它的巧妙性,很多学者对其展开了深入研究,并且认为自指是理解宇宙…

Next.js 实战笔记 2.0:深入 App Router 高阶特性与布局解构

Next.js 实战笔记 2.0:深入 App Router 高阶特性与布局解构 上一篇笔记: Next.js 实战笔记 1.0:架构重构与 App Router 核心机制详解 上篇笔记主要回顾了一些 Next12 到 Next15 的一些变化,这里继续学习/复习一些已有或者是新的…

TCP 传输时 sk_buff 的 clone 和 unclone

周一有位朋友咨询个问题,问题本身不重要,但牵扯出的细节却是非常有趣。 Linux 内核协议栈的 skb 设计非常高效和精巧,多个 skb 可以指向同一块 data,这就是 clone,当 data 不止一个 skb 指示时,任何一个 s…

【51单片机】51单片机学习笔记-课程简介

00. 目录 文章目录00. 目录01. 学习哪种类型的单片机02. 学习单片机方法03. 学习单片机硬件设备04. 学习单片机软件设备05. 学完单片机能做什么06. 附录01. 学习哪种类型的单片机 单片机的型号那么多,该如何选择一款合适的进行学习呢?这里给读者首推的当…

【Docker基础】Docker端口映射(-p参数)深度解析与实践指南

目录 前言 1 Docker网络基础 1.1 Docker网络模型概述 1.2 容器网络隔离性 2 端口映射基础 2.1 端口映射概念 2.2 为什么需要端口映射 3 -p参数详解 3.1 基本语法 3.2 四种映射格式 3.2.1 完整格式 3.2.2 省略宿主机IP 3.2.3 随机宿主机端口 3.2.4 指定协议类型 …

2、鸿蒙Harmony Next开发:ArkTS语言

目录 什么是ArkTS? ArkTS的发展趋势 ArkTS的定位及约束 ArkTS的对UI的拓展 1、UI描述 2、状态管理: ArkTS语法基础 基本知识:声明 基本知识:类型 基本知识:空安全 基本知识:类型安全与类型推断 …

【Elasticsearch】function_score

如果你希望在 Elasticsearch 查询中降低某些特定 `id` 的文档评分,可以通过 `function_score` 查询结合 `script_score` 函数来实现。`script_score` 允许你使用自定义脚本对文档的评分进行调整。 以下是一个示例,展示如何降低某些特定 `id` 的文档评分: 示例场景 假设我们…

vscode打开stm32CubeIDE的项目的注释问题

文章目录 目的是为消除红色底线打开命令面板:CtrlShiftP 搜索并打开:C/C: Edit Configurations (JSON) 修改并添加。(注意里面的版本号) {"configurations": [{"name": "Win32","includePath&…

ESP32使用freertos更新lvgl控件内容

LVGL不是线程安全,所有 lv_xxx方法只能在GUI主线程调用。 freertos都是线程池,子线程,不能直接更新lvgl,不然看门狗被触发,死机。 推荐方法案例: 假如搜索wifi列表得到参数是wifi_options,需要通…

OBOO鸥柏丨满天星(MTSTAR)多媒体信息发布系统技术解析

初次启动欢迎您使用鸥柏(OBOO)满天星(MTSTAR)多媒体信息发布系统,在使用本系统的独立服务器模式前,我们需要完成设备的一些必须设置教程技术说明。其总体流程分为两步:录入本地服务器IP地址->连接网络您获取到的OBOO鸥柏满天星(MTSTAR)液晶…

数据结构:栈、队列、链表

目录 栈 ​队列 链表 栈 栈数据结构特点:先入栈的数据后出,此数据结构常用的方法有:入栈push、出栈pop、查看栈顶元素peek等,下方示例以数组实现栈结构。 package com.ginko.datastructure; import lombok.extern.slf4j.Slf4j…

Python-难点-uinttest

1 需求要求:unittest.TestCase放在列表中,列表存储的是脚本文件名import使用动态加载方式:importlib.import_module()unittest.TestLoader使用loadTestsFromModule()2 接口3 示例4 参考资料

开源 python 应用 开发(五)python opencv之目标检测

最近有个项目需要做视觉自动化处理的工具,最后选用的软件为python,刚好这个机会进行系统学习。短时间学习,需要快速开发,所以记录要点步骤,防止忘记。 链接: 开源 python 应用 开发(一&#xf…

ABP VNext + OpenTelemetry + Jaeger:分布式追踪与调用链可视化

ABP VNext OpenTelemetry Jaeger:分布式追踪与调用链可视化 🚀 📚 目录ABP VNext OpenTelemetry Jaeger:分布式追踪与调用链可视化 🚀背景与动机 🌟环境与依赖 📦必装 NuGet 包系统架构概览…

C语言中整数编码方式(原码、反码、补码)

在 C 语言中,原码、反码、补码的运算规则与其编码特性密切相关,核心差异体现在符号位是否参与运算、进位如何处理以及减法是否能转化为加法等方面。以下是三者的运算规则及特点分析(以 8 位整数为例,符号位为最高位)&a…

js二维数组如何变为一维数组

在 JavaScript 中,将二维数组转换为一维数组(扁平化)有多种方法,可根据数组结构复杂度、性能需求和兼容性选择。以下是最常用的实现方式: 1. 使用 flat() 方法(ES2019) MDN释义:flat…

Claude code在Windows上的配置流程

前言 昨天在服务器上配置好了 Claude code,发现其编码性能和效率都非常不错。 然而,尝试用它修改带 UI 界面的客户端程序时颇为不便,因为服务器没有图形化界面,无法直接将应用界面直接显示到开发机上,调试起来颇为不…

手把手教你用YOLOv10打造智能垃圾检测系统

无需编程基础!手把手教你用YOLOv10打造智能垃圾检测系统 垃圾分类不再难,AI助手秒识别 你是否曾站在分类垃圾桶前犹豫不决?塑料瓶是可回收还是其他垃圾?外卖餐盒到底该丢哪里?随着垃圾分类政策推广,这样的困…