当前位置: 首页 > news >正文

创建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.dtcms.com/a/276359.html

相关文章:

  • Pandas-数据加载与保存
  • Can201-Introduction to Networking: Application Layer应用层
  • 深入解析 Stack 和 Queue:从原理到实战应用
  • 【读书笔记】从AI到Transformer:LLM技术演进全解析
  • 推荐系统-Random算法
  • jieba 库:中文分词的利器
  • 【Lucene/Elasticsearch】**Query Rewrite** 机制
  • day68—DFS—二叉树的所有路径(LeetCode-257)
  • 微信小程序form组件的使用
  • 从json中提取i18n字段
  • nodej获取当前系统的cpu架构信息
  • 程序员软技能之推广营销-04-长尾效应(Long Tail Effect)
  • UnityShader——SSAO
  • C++类模版1
  • Linux进程的生命周期:状态定义、转换与特殊场景
  • 【Elasticsearch】检索模板(Search Template)
  • 从输入到路径:AI赋能的地图语义解析与可视化探索之旅(2025空间智能全景)
  • C++ Boost 自动链接机制详解
  • Java基础:泛型
  • 单调栈单调队列【算法进阶】
  • 11. JVM中的分代回收
  • 数据结构自学Day6 栈与队列
  • BaseDao 通用查询方法设计与实现
  • 快速过一遍Python基础语法
  • 015---全面理解交易:区块链状态转移的原子单位与链上执行全流程图解
  • 【AI News | 20250711】每日AI进展
  • APP Inventor使用指南
  • LeetCode 3169.无需开会的工作日:排序+一次遍历——不需要正难则反,因为正着根本不难
  • 【使用Pyqt designer时pyside2安装失败】
  • 如何彻底禁用 Chrome 自动更新