ASTRO轻应用 ASTROZERO-创建用户注册脚本:操作步骤
时间:2024-04-25 16:08:46
操作步骤
- 在“我的应用”中,单击“设备维修管理系统”,进入应用。
- 在“User”目录中,将鼠标放在“Script”上,单击界面上出现的“+”,在弹出菜单中选择“脚本”。
- 在弹窗中,选中“创建一个新脚本”,在“名称”文本框中输入“registerPortalUser”,单击“添加”。
- 在代码编辑器中,插入如下脚本代码。
import * as buffer from "buffer"; import * as crypto from "crypto"; import * as db from "db"; import * as context from 'context'; import * as http from 'http'; import * as permission from 'permission'; //定义入参结构,包括注册账号的用户名、密码和角色,为必填字段 @action.object({ type: "param" }) export class ActionInput { @action.param({ type: 'String', required: true, label: 'string' }) username: string; @action.param({ type: 'String', required: true, label: 'string' }) password: string; @action.param({ type: 'String', required: true, label: 'string' }) role: string; } //定义出参结构,出参包含1个参数,portaluser的记录id @action.object({ type: "param" }) export class ActionOutput { @action.param({ type: 'String' }) msg: string; } //使用数据对象PortalUser @useObject(['PortalUser']) @action.object({ type: "method" }) export class RegisterPortalUser { //定义接口类,接口的入参为ActionInput,出参为ActionOutput @action.method({ input: 'ActionInput', output: 'ActionOutput' }) public registerPortalUser(input: ActionInput): ActionOutput { let out = new ActionOutput(); //新建出参ActionOutput类型的实例,作pu为返回值 let error = new Error(); //新建错误类型的实例,用于在发生错误时保存错误信息 try { let s = db.object('PortalUser'); let saltedPassword = salt(input.password); let userMsg = { "usrName": input.username, "name": input.username, "userPassword": saltedPassword['saltedPassword'], "passwordSalt": saltedPassword['salt'], "userType": input.role }; let userId = s.insert(userMsg); if (userId) { out.msg = "注册成功!"; } else { error.name = "USERERROR"; error.message = "注册失败!"; throw error; } } catch (error) { if (error.name == "405230618") { error.message = "该用户名已注册!" } console.error(error.name, error.message); context.setError(error.name, error.message); } return out; } } function _salt(password: string, saltBuf: buffer.Buffer, encoding: buffer.Encoding = buffer.Encoding.Base64): string { const passwordBuf = buffer.from(password) const crypt = crypto.pbkdf2(passwordBuf, saltBuf, 1000, 32, crypto.Hashs.SHA1) return crypt.toString(encoding) } function salt(password: string, encoding: buffer.Encoding = buffer.Encoding.Base64): object { const saltBuf = crypto.randomBytes(6) const saltedPassword = _salt(password, saltBuf, encoding) return { salt: saltBuf.toString(encoding), saltedPassword: saltedPassword } }
- 单击编辑器上方的,保存脚本。
- 测试脚本能否正常执行。
- 单击编辑器上方的,执行脚本。
- 在界面底部输入测试数据,单击测试窗口右上角执行图标。
{ "username": "test_cs", "password": "***", "role": "cs" }
执行成功,会在“输出”页签返回查询结果。
{ "msg": "注册成功!" }
- 测试成功,单击编辑器上方的,启用发布脚本。
support.huaweicloud.com/qs-astrozero/astrozero_07_1084.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
- Astro轻应用_Astro大屏应用_分钟级构建业务大屏
- 华为云零代码平台AstroZero创建培训报名表_低代码开发平台_华为云Astro-华为云
- Astro轻应用_低代码开发平台Astro Zero_新手入门
- 零代码开发如何创建应用_零代码开发平台_华为云Astro-华为云
- 如何创建用户并授权使用应用管理与运维平台_应用管理与运维平台_创建用户_用户授权
- 如何创建用户并授权使用应用运维管理服务_AOM_用户权限_创建用户_权限
- Astro轻应用_低代码开发平台Astro Zero_码农防脱神器
- Astro轻应用_零代码平台_开发无忧加速创新
- 低代码开发简易出差审批应用_低代码平台_华为云Astro-华为云
- 华为云低代码平台_低代码开发平台_华为云Astro-华为云