华为云Astro轻应用-创建“查询设备”脚本:操作步骤
时间:2025-02-12 15:01:02
操作步骤
- 进入创建“设备维修管理系统”应用中创建的应用。
- 在“Equipment”目录中,将鼠标放在“Script”上,单击界面上出现的
,在弹出菜单中选择“脚本”。
- 在弹窗中,选中“创建一个新脚本”,在“名称”文本框中输入“queryEquipments”,单击“添加”。
系统实际创建的脚本名称为“HW__queryEquipments”,“HW__”前缀由租户命名空间namespace决定。新建创建的脚本,默认是当前用户锁定状态,可以进行编辑保存等操作。
当编辑已有脚本时,为防止编辑时多人篡改,编辑前请单击
进行锁定。
- 在代码编辑器中,插入如下脚本代码。
脚本中红色内容请替换为实际的对象名、字段名。
/**************************** * 本脚本用于按条件查询设备列表 * **************************/import * as db from 'db';//导入处理object相关的标准库import * as context from 'context';//导入上下文相关的标准库import * as decimal from 'decimal';//导入decimal数据类型相关的标准库//定义入参结构@action.object({ type: "param" })export class ActionInput { @action.param({ type: 'String' }) name: string;//设备名称,需要按设备名称查询时传入 @action.param({ type: 'String' }) fullAddress: string;//完整地址,需要按完整地址查询时传入 @action.param({ type: 'Number', min: 0 }) start: decimal.Decimal;//分页信息,表示从第几条数据开始查询 @action.param({ type: 'Number', min: 0 }) limit: decimal.Decimal;//分页信息,表示一次查询几条数据}//定义出参结构@action.object({ type: "param" })export class ActionOutput { @action.param({ type: 'Any', isCollection: true, label: 'object' }) equipments: object[];//设备列表 @action.param({ type: 'String' }) total: string;//总共查到几条数据}@useObject(['HW__Equipment__ CS T']) //使用数据库对象HW__Equipment__CST@action.object({ type: "method" })export class QueryEquipments { @action.method({ input: 'ActionInput', output: 'ActionOutput' }) public queryEquipments(input: ActionInput): ActionOutput { let out = new ActionOutput(); //新建出参ActionOutput类型的实例,作为返回值 try { //获取HW__Equipment__CST这个Object的操作实例 let s = db.object('HW__Equipment__CST'); //option是db标准库queryByCondition方法的入参(选项选项),用于对查询结果排序、分组、聚合计算等 //这里构造的是按创建时间逆序返回查询结果 let option = { "options": { "orderby": [ { "field": "createdDate", "order": "desc" } ], } }; //如果有分页 if (input.start && input.limit) { let start = decimal.toNumber(input.start);//将decimal类型转换为接口需要的number类型 let limit = decimal.toNumber(input.limit); option.options['limit'] = limit; option.options['skip'] = start; } //condition是db标准库queryByCondition方法的入参(查询条件) let condition = { "conjunction": "AND", "conditions": [] }; //基本查询条件 condition.conditions.push({ "field": "id", "operator": "isnotnull", }); condition.conditions.push({ "field": "id", "operator": "ne", "value": "" }); //按设备名称查询 if (input.name && input.name != "") { condition.conditions.push({ "field": "name",//与对象中的字段名保持一致 "operator": "contains", "value": input.name }); } //按设备地址查询 if (input.fullAddress && input.fullAddress != "") { condition.conditions.push({ "field": "HW__fullAddress__CST", "operator": "contains", "value": input.fullAddress }); } //调用按条件查询HW__Equipment__CST的接口 out.equipments = s.queryByCondition(condition, option); //构造实时监控页面需要的属性字段longitude__CST、latitude__CST、fullAddress__CST和equipmentSn__CST for (let equip of out.equipments || []) { equip['longitude__CST'] = equip['HW__longitude__CST'];//与对象中的字段名保持一致 equip['latitude__CST'] = equip['HW__latitude__CST']; equip['fullAddress__CST'] = equip['HW__fullAddress__CST']; equip['equipmentSn__CST'] = equip['HW__equipmentSN__CST']; } //调用查询符合condition条件的数据总数的接口 out.total = s.count(condition) + ""; } catch (error) { console.error(error.name, error.message); context.setError(error.name, error.message); } return out; }}
- 单击编辑器上方的
,保存脚本。
- 测试脚本能否正常执行。
- 单击编辑器上方的
,执行脚本。
- 在界面底部,直接单击测试窗口右上角
,执行脚本。
执行成功后,会在“输出”页签返回全部设备信息。
- 单击编辑器上方的
- 测试成功,单击编辑器上方的
,启用脚本。
support.huaweicloud.com/bestpractice-astrozero/astrozero_07_1032.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章
- Astro轻应用_Astro大屏应用_分钟级构建业务大屏
- Astro轻应用_低代码开发平台Astro Zero_新手入门
- 华为云零代码平台AstroZero创建培训报名表_低代码开发平台_华为云Astro-华为云
- Astro轻应用_低代码开发平台Astro Zero_码农防脱神器
- 零代码开发如何创建应用_零代码开发平台_华为云Astro-华为云
- Astro轻应用_零代码平台_开发无忧加速创新
- 华为云Astro低代码开发平台的技术价值与使用体验_低代码开发平台_华为云Astro-华为云
- 零代码开发平台_托拉拽开发应用_华为云Astro-华为云
- 华为云低代码平台_低代码开发平台_华为云Astro-华为云
- Astro低代码平台关键能力_低代码开发平台_华为云Astro-华为云
ServerLess102