1.概述
旨在針對(duì)低代碼腳本做詳細(xì)介紹,涵蓋操作方式,使用路徑等,同時(shí)匯總低代碼常用場(chǎng)景及其寫法,為使用低代碼的用戶提供對(duì)應(yīng)的案例,便于低代碼的上手,減少開發(fā)的時(shí)間。
2.功能介紹
低代碼腳本為低代碼重要組成部分,可搭配不同場(chǎng)景,彌補(bǔ)復(fù)雜需求無法通過配置直接實(shí)現(xiàn)的場(chǎng)景。針對(duì)腳本是有一定的入門門檻,首次接觸的同學(xué)需針對(duì)性相關(guān)的基礎(chǔ)模塊進(jìn)行了解,掌握。
2.1功能涵蓋范圍
低代碼腳本覆蓋到七巧低代碼平臺(tái)的業(yè)務(wù)模塊內(nèi)容,主要包含如下:
2.2功能限制說明
(1)執(zhí)行順序:在流程設(shè)計(jì)中的腳本執(zhí)行,均為同步執(zhí)行,即:腳本執(zhí)行完畢后,才進(jìn)去下一個(gè)節(jié)點(diǎn)進(jìn)行流轉(zhuǎn)
(2)區(qū)分執(zhí)行前/執(zhí)行后:
執(zhí)行前:點(diǎn)擊數(shù)據(jù)提交后,數(shù)據(jù)提交成功前,常用于數(shù)據(jù)校驗(yàn),數(shù)據(jù)整合等
執(zhí)行后:數(shù)據(jù)提交成功后,常用于復(fù)雜業(yè)務(wù)邏輯的處理,如:消息通知,業(yè)務(wù)數(shù)據(jù)生成
(3)若腳本引擎與觸發(fā)事件同時(shí)使用,則執(zhí)行順序?yàn)椋耗_本引擎-觸發(fā)事件
(4)執(zhí)行順序:事件拓展及頁面操作中的觸發(fā)事件的執(zhí)行順序
(5)腳本引擎為遷入業(yè)務(wù)模塊的功能,為保障業(yè)務(wù)正常執(zhí)行,針對(duì)腳本引擎做一定的限制,包含如下:
執(zhí)行超1min:報(bào)錯(cuò)提醒,提醒后,腳本可正常執(zhí)行
支持超20min:報(bào)錯(cuò)提醒,提醒后,腳本結(jié)束執(zhí)行
3.使用教程
使用教程為教學(xué)如何初步針對(duì)腳本進(jìn)行使用,涵蓋腳本書寫的全流程,從腳本編輯到腳本調(diào)試,再到日志查看,最后到腳本調(diào)優(yōu)。
3.1使用流程
- 完成業(yè)務(wù)梳理:需明確業(yè)務(wù),確認(rèn)業(yè)務(wù)細(xì)節(jié)及對(duì)應(yīng)的表單結(jié)構(gòu),明確腳本位置:執(zhí)行前or之前后,同步or異步等
如:用戶點(diǎn)擊"提交"按鈕后,可同步考勤數(shù)據(jù),關(guān)聯(lián)表單:“考勤結(jié)果表”。
- 明確代碼邏輯:腳本邏輯梳理,需輸出針對(duì)業(yè)務(wù)實(shí)現(xiàn)的腳本邏輯如何處理
如:針對(duì)"同步考勤數(shù)據(jù)",需區(qū)分步驟:
a.獲取考勤數(shù)據(jù)-構(gòu)建API
b.解析API返回?cái)?shù)據(jù)–jason數(shù)據(jù)解析
c.存入"考勤結(jié)果表"表單中–將數(shù)據(jù)寫入表單中
-
腳本書寫:根據(jù)腳本邏輯,書寫腳本,針對(duì)邏輯,可逐步去低代碼函數(shù)庫及場(chǎng)景庫中尋找對(duì)應(yīng)的demo。使用標(biāo)準(zhǔn)函數(shù)庫,可減少外部API請(qǐng)求等,降低腳本性能問題的出現(xiàn)。
-
腳本調(diào)試:目前腳本調(diào)試建議使用三種方式進(jìn)行調(diào)試
a.站內(nèi)信輸出調(diào)試
將每一步需要獲取的數(shù)據(jù)可通過站內(nèi)信的方式進(jìn)行發(fā)送,驗(yàn)證邏輯是否正確。
//站內(nèi)信標(biāo)題
var subject = "站內(nèi)信的標(biāo)題";
//站內(nèi)信正文
var context = "站內(nèi)信的正文內(nèi)容";
//接收用戶id集合
var receiveUserIds = $.context.getCurrentUserId();
//發(fā)送站內(nèi)信
$.message.sendGeneralStationMessage(subject, context, receiveUserIds);
b.腳本執(zhí)行日志查看
通過管理端,查看腳本執(zhí)行日志。
c.通過管理端在線監(jiān)控+日志函數(shù)進(jìn)行調(diào)試。
(2)ELK定位–需一定的學(xué)習(xí)成本,運(yùn)行平臺(tái)報(bào)錯(cuò)也適用該方式
操作步驟如下:
*點(diǎn)擊左側(cè) Discover
- 點(diǎn)擊application
- 點(diǎn)擊 bpms-runtime 右側(cè)的加號(hào),添加過濾器
如果application下沒看到 bpms-runtime ,先在application下隨便添加一個(gè)過濾器,再手動(dòng)編輯過濾條件,輸入 bpms-runtime ,點(diǎn)擊Save
- 點(diǎn)擊level
-
l在level下隨便添加一個(gè)過濾器,再手動(dòng)編輯過濾條件,輸入ERROR,點(diǎn)擊Save
-
找到對(duì)應(yīng)的報(bào)錯(cuò)信息,點(diǎn)擊報(bào)錯(cuò)信息前面的箭頭,再點(diǎn)擊右邊的 View Surrounding Documents,查看報(bào)錯(cuò)前后的日志
- 找到腳本運(yùn)行出錯(cuò)的日志,點(diǎn)擊展開詳情,可以看到腳本報(bào)錯(cuò)原因,和報(bào)錯(cuò)腳本所在行
3.2入門案例
場(chǎng)景描述: 提交校驗(yàn)-報(bào)銷金額字段必須小于1000元
分析:
a.完成業(yè)務(wù)梳理:
業(yè)務(wù):用戶填寫報(bào)銷單后,每次填寫的報(bào)銷金額不得高于1000元
表單:報(bào)銷單-報(bào)銷總金額
腳本位置:報(bào)表單-提交按鈕-執(zhí)行前
b. 明確代碼邏輯:
(1)獲取當(dāng)前提交數(shù)據(jù)"報(bào)銷總金額"
(2)判斷"報(bào)銷總金額"是否小于1000
(3)若小于則通過,大于則提醒不得大于1000
c.腳本書寫:
(function(){
//獲取當(dāng)前提交表單
var doc = $.context.getCurrentDocument();
//獲取總金額控件值
var count = doc.getElementByName("報(bào)銷金額").getIntValue();
if(count > 1000){
//創(chuàng)建校驗(yàn)消息對(duì)象
var message = $.validate.create();
message.addError("金額大于1000,不允許提交;");
return message;
}
})()
d. 腳本調(diào)試:
在運(yùn)行端發(fā)起報(bào)銷進(jìn)行調(diào)試
3.3入門語法說明
a.獲取當(dāng)前文檔
(function(){
//獲取當(dāng)前文檔
var currentDocument = $.context.getCurrentDocument();
//返回文檔
return currentDocument; })()
b.獲取當(dāng)前文檔某個(gè)字段值
(function(){
//獲取當(dāng)前提交表單
var doc = $.context.getCurrentDocument();
//獲取總金額控件值,“報(bào)銷金額”為字段名
var count = doc.getElementByName("報(bào)銷金額").getIntValue();
})()
c.數(shù)據(jù)新增
(function(){
//獲取當(dāng)前應(yīng)用ID
var appId =$.context.getCurrentApplicationId();
//寫入哪張表單中
var doc = $.form.createEmptyDocument(appId,"學(xué)生表");
//針對(duì)每個(gè)字段進(jìn)行賦值 “字段名”“賦值”
doc.addElement("姓名","steven");
doc.addElement("年齡",24);
//保存表單
$.form.saveFormDocument(doc,appId);
})()
d.數(shù)據(jù)編輯/更新
(function(){
//獲取當(dāng)前提交文檔
var doc = $.context.getCurrentDocument();
//更新文檔字段內(nèi)容
doc.addElement("姓名","steven");
doc.addElement("手機(jī)號(hào)碼","138****0000");
})()
e.數(shù)據(jù)刪除
(function(){
//獲取應(yīng)用ID
var appId = $.context.getCurrentApplicationId();
//刪除表單信息
$.form.deleteAllDocumentsByFormName(appId,"人力外勤信息");
})()
e.數(shù)據(jù)刪除(指定數(shù)據(jù))
(function(){
//獲取應(yīng)用ID
var appId = $.context.getCurrentApplicationId();
//構(gòu)建表單對(duì)象
var fieldMap = new Packages.java.util.HashMap();
//構(gòu)建篩選
fieldMap.put("數(shù)量", 100);
//刪除指定數(shù)據(jù)
$.form.deleteFormDocumentsByFieldNameAndValue(appId, "采購(gòu)材料", fieldMap );
})()
d.善用站內(nèi)信, 驗(yàn)證/查看對(duì)象信息(用戶對(duì)象、表單對(duì)象等)
(function(){
//獲取當(dāng)前用戶
var user = $.context.getCurrentUser();
//如果需要操作用戶相關(guān)屬性, 可以通過發(fā)送站內(nèi)信,查看對(duì)象屬性信息
//站內(nèi)信標(biāo)題
var subject = "user對(duì)象獲取";
//站內(nèi)信正文
var context = "user對(duì)象"+$.json.objectToJsonString(user);
//接收用戶id集合
var receiveUserIds = $.context.getCurrentUserId();
//發(fā)送站內(nèi)信
$.message.sendGeneralStationMessage(subject, context, receiveUserIds);
//返回當(dāng)前用戶
return user;
})()
感謝閱讀,覺得文章有用的話就點(diǎn)個(gè)贊吧
作者介紹:
道一云 ,成立于2004年,是中國(guó)低代碼領(lǐng)域的領(lǐng)導(dǎo)廠商、騰訊戰(zhàn)略投資企業(yè)、騰訊生態(tài)核心合作伙伴。擁有自主知識(shí)產(chǎn)權(quán)管理軟件產(chǎn)品百余項(xiàng),涵蓋數(shù)字化應(yīng)用構(gòu)建低代碼平臺(tái)-七巧、全場(chǎng)景智能業(yè)務(wù)分析BI-七析、千人千面、數(shù)智化辦公企業(yè)級(jí)門戶-七星以及30多款開箱即用的場(chǎng)景應(yīng)用。文章來源:http://www.zghlxwxcb.cn/news/detail-740907.html
歡迎關(guān)注:
公眾號(hào):道一云低代碼(do1info)
官網(wǎng): https://www.do1.com.cn/文章來源地址http://www.zghlxwxcb.cn/news/detail-740907.html
到了這里,關(guān)于精彩!手把手教你玩轉(zhuǎn)低代碼/無代碼平臺(tái)的低碼腳本——入門篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!