創建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
英文地址,請注明出處:http://en.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助手秒識別 你是否曾站在分類垃圾桶前猶豫不決?塑料瓶是可回收還是其他垃圾?外賣餐盒到底該丟哪里?隨著垃圾分類政策推廣,這樣的困…