说明
当可视化搭建无法满足UI述求的时候,我们可以使用自定义页面来满足业务述求。
在 LEMO 系列设备中,我们实现了全系设备支持集团小程序语法来完成页面构建。
步骤
1. 在根目录添加小程序工程化文件
在跟目录添加 package.json
{
"scripts": {
"transform": "node ./build.js -transform",
"dev": "node ./build.js -dev",
"build": "node ./build.js -build"
},
"devDependencies": {
"@cniot/gs-appx-compile": "^1.0.13"
},
"description": "",
"dependencies": {
"@cniot/cainiao-appx": "^0.2.5"
}
}
在根目录添加 build.js
const gsAppxCompile = require('@cniot/gs-appx-compile');
const appxConfig = require('./app.json');
const args = process.argv.splice(2);
const isDev = args.indexOf("-dev") !== -1;
const isBuild = args.indexOf("-build") !== -1;
const isTransform = args.indexOf("-transform") !== -1;
gsAppxCompile.setRootPath(__dirname);
// tnpm run transform 转换 lemo.json 文件为小程序界面
if(isTransform){
gsAppxCompile.transform(appxConfig);
}
// tnpm run dev 本地预览小程序页面
if(isDev){
gsAppxCompile.dev(appxConfig);
}
// tnpm run build 打包小程序页面
if(isBuild){
gsAppxCompile.build(appxConfig);
}
在跟目录添加 app.json
deviceType
为设备类型目前支持 LEMO CORE
LEMO PDA
pages
字段是当前工程中使用小程序的页面路径。比如这里的 pages/scan/index
等于在 pages/scan
目录下需要存在3个小程序规范的页面 index.js
index.axml
index.less
{
"deviceType":"LEMO PDA",
"pages":[
"pages/scan/index"
]
}
2. 本地研发
// 安装工程化模块
npm install
// 启动本地模拟器,查看正在编辑的小程序界面
npm run dev
3. 打包
打包后小程序页面目录会存在 index.bundle.js
文件
// 打包小程序页面
npm run build
GS 引用页面
labor.confirm("/pages/scan/index.bundle.js", {});