UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

1,270 lines (1,205 loc) 30.9 kB
import message from 'antd/lib/message'; import { shellHandler, ShellResult } from './shell'; import { tools } from "./tools"; export type cameraRect = { x: number; y: number; width: number; height: number; widthScreen: number; heightScreen: number; } export type OfflineImg = { tableName: string;//新增 表名 primaryKey: string;//新增 主键名称 primaryValue: string;//新增 主键值 fieldName: string;//新增 图片的 } export type DeviceInfo = { model: string, // 设备型号 name: string, // 设备系统 version: string, // 系统版本 versionName: string; //版本号 vendor: string, // 设备供应商 density: number, // 密度 resolutionWidth: number, // 真实宽度 resolutionHeight: number, // 真实高度 uuid: string, // 设备唯一主键(设备号) scale: number, // 尺寸 isSupportFinger: boolean; //是否支持指纹 目前仅安卓设备给出改字段 isTerminal: boolean; //是否pda true :是 } export type FingerSuccessInfo = { finger: string fingerType: string isFinger: boolean matched: boolean userid?: string msg?: string } export type FingerFailInfo = { code: number text: string } type GPS = { longtitude: number; latitude: number; adress: string; contry: string; province: string; type: number } export interface CompanyInfo { envUrl: string; msg?: string; } export type ImgInfo = { dataurl: string,//base64 filename: string,//文件名称 } export interface FLColumn { dataType: string;//数据类型 textAlign: number;//对齐方式:左中右 fieldName: string;//列名称 fieldCaption: string;//列中文名称 colspan: number;//占列 rowspan: number;//占行 children?: FLColumn[]; } export interface FileUiObj { fileName: string;//文件名 fileType: 'xlsx' | 'csv';//文件类型 columns: FLColumn[];//导出的列ui pageHeader: string;//页眉 pageFooter: string;//页脚 } export interface FileExportOver { type: 0 | 1;//0下载,1取消 } interface IChooseImage { count?: number,//最多可以选择的图片张数 壳默认1张 sizeType?: Array<'original' | 'compressed'>,//所选的图片的尺寸(原图、缩略图) sourceType: 'album' | 'camera',//选择图片的来源(相册、相机) type?: string; //选择图片类型限制 } export interface IChooseFile { count?: number, // 最多可以选择的文件个数 type?: 'all' | 'video' | 'image' | 'file' | string // all 从所有文件选择 // video 只能选择视频文件 // image 只能选择图片文件 // file 可以选择除了图片和视频之外的其它的文件 // 兼容内容页文件上传,可以通过传,号分割的字符串来进行类型限制 } export interface ITranslateText { path: string } interface IPlayVoice { path: string, // 音频地址 playType: 1 | 2 // 1 扬声器 2听筒 } export interface ExternalUrlParms { externalUrl: string, fileName: string, handleType: string // (save / open) } export interface H5PrintParams { printer: string; //打印机名称 count: number; //打印份数 width: number; //纸张宽度 domWidth: number; //dom宽度 height: number; //纸张高度 domHeight: number; //dom高度 content: string; //base64 status: number; //打印状态 0:开始 1:结束 2:进行中 3:仅有一页 index: number; //索引值(页码) itemFlag: string; //唯一值 landscape: boolean; //是否是横向打印 默认false纵向 true横向 itemCaption: string; //打印的item标题 用于回调提示 scale: number; //缩放倍数 } export class Shell { // 不允许实例 private constructor() { }; /** * 判断是否在壳环境 */ static hasShell(): boolean { if ((tools.os.ios || tools.isMac) && window.webkit && !tools.isWeiXin()) { return true; } else if (window.AppShell) { return true; } return false; } /** * window.onerror发送报错信息 */ static sendError(content: string) { return shellHandler({ name: 'sendError', data: { content } }); } /** * * @param downloadAdd */ static restartApplication() { return shellHandler({ name: 'restartApplication' }); } /** * * @param code */ static setDownLoadUrl(downloadAdd: string) { return shellHandler<{ msg: string }, { downloadAdd: string }>({ name: 'setDownLoadUrl', data: { downloadAdd } }); } /** * 修改客户编码 * @param {string} code 客户编码 * @return {Promise<CompanyInfo>} 返回设备信息 */ static toCompany(code: string) { return shellHandler<CompanyInfo, { code: string }>({ name: 'toCompany', data: { code } }); } // 获取客户代码对应服务器地址 static getCompanyCode() { return shellHandler<{ companyCode: string }>({ name: "companyCode" }) } /** * 获取设备信息 * @return {Promise<DeviceInfo>} 返回设备信息 */ static getDevice() { return shellHandler<DeviceInfo>({ name: 'getDevice' }); } // 微信登录 static wechatinLogin() { return shellHandler<{ content: string, msg: string }>({ name: "wechatinLogin" }); } /** * ping 网络检测 * @param data 多组ping数据 * @param success 成功回调 * @param info info为false回调 * @param fail 失败回调 */ static startPing( data: obj<any>, success: ShellDoneHandler<{ content: obj[], macAddress: any }>, info?: ShellDoneHandler<{ content: string }>, fail?: ShellFailHandler ) { return shellHandler({ name: "startPing", data, success, info, fail }) } /** * 操作PC多开的数据 * @param companyCode 公司编号 * @param environment 环境的MD5值 * @param key 环境下需要保存的key值,如果已经存在,则覆盖 * @param value 需要保存的值 * @param type //操作类型, 0表示查询,1表示新增,2表示删除,其它返回失败信息 */ static moreOpenOperat({ companyCode, environment, key, value, type }: { companyCode?: string, environment?: any, key?: string, value?: string, type: 0 | 1 | 2 }) { return shellHandler({ name: 'execCacheDb', data: { companyCode, environment, key, value, type } }) } /** * 打开扫码功能 * @param {number} type 默认0,表示全部识别,1表示只识别英文和数字,2表示只识别数字,3表示只识别英文 * @param btn 可配置input(手动输入),voice(语音识别),image(图像识别)。 */ // btn:{ input?: boolean, voice?: boolean, image?: boolean } static getScanCode(type: 0 | 1 | 2 | 3 = 0, btn: any = {}): Promise<ShellResult<{ content: string; msg: string; scanMode?: string; }>> { return new Promise((resolve, reject) => { shellHandler<{ content: string, msg: string }>({ name: "scanCode", data: { scanType: type, showBtn: Object.keys(btn).reduce((str, key) => { if (btn[key]) { return str ? str + ',' + key : key; } else { return str; } }, '') } }).then(res => { if (res.success) { resolve(res) } if (res.success === false) { if (res.code == '-200') { message.error({ content: res.msg || '设备不支持相机' }) } else { resolve(res) } } }) }) } /** * 获取gps信息(Android,ios) */ static getGPS() { return shellHandler<{ gps: obj<GPS>, msg: string }>({ name: "getGPS" }); } /** * 下载附件 * @param {string} url 附件地址 * 1保存 0:打开 * @return {Promise<ShellResult<{msg: string}>>} */ static download(url: string, name?: string, type?: number) { return shellHandler<{ msg: string }>({ name: "dealFile", data: { type: type ?? (tools.isMb ? 0 : 1), downPath: url, name: name } }); } /** * 打开网络文件 * @param {string} url 文件路径 */ static openNetFile(url: string, fileName?: string) { return shellHandler<{ msg: string }>({ name: "dealFile", data: { type: 0, downPath: url, name: fileName } }); } /** * 打开文件 */ static openFile(type: number, path: string, params: string) { return shellHandler<{ msg: string }>({ name: "openFile", data: { type, path, params } }) } /** * 保存图片 */ static saveImg(img: string) { return shellHandler<{ msg: string }>({ name: "saveImg", data: { img } }) } /** * * @param "shareType": String, //分享类型,wx,qq * @param "content": String, //文字描述。 * @param "FileData": String, //图片也是文件的一种,存放data数据 * @param "url": String //链接 */ static shareInfo(type: string, content: string, img: string, url: string) { return shellHandler<{ msg: string }>({ name: 'shareInfo', data: { shareType: type, content, fileData: img, url } }) } /** * 软件检测 */ static checkSoftInfo(data: any) { return shellHandler<{ msg: string }>({ name: "checkSoftInfo", data }) } /** * 打印标签 * @param {string} blob 图片数据,base64格式 * @param {number} pieces 打印份数 * @param {string} driveName 打印机编码 * @param {number} width 纸张宽度 * @param {number} height 纸张高度 */ // static labelPrint(blob: string, pieces: number, driveName: string, width: number, height: number) { // return shellHandler<{ msg: string }>({ // name: "labelPrint", // data: { // quantity: pieces, // driveName: driveName, // image: blob, // width, // height // } // }); // } /** * 打印标签标签UI设置 * @param data 标签UI设置 */ static setLabelUI(data: any, baseUrl: string) { return shellHandler<{ msg: string }>({ name: "setLabelUI", data: Object.assign({}, data || {}, { baseUrl }), }); } /** * 打印标签设置用户的配置 * @param data 用户的配置 */ static setUserConfig(data: any) { return shellHandler<{ msg: string }>({ name: "setUserConfig", data, }); } /** * 打印标签设置标签的数据 * @param dataList 数据 * @param meta 列名 */ static setLabelData(data: obj) { return shellHandler<{ msg: string }>({ name: "setLabelData", data, }); } /** * 打印标签预览 * @param {number} pageIndex 预览的页数page */ static labelPreview(pageIndex: number) { return shellHandler<{ msg: string, hasNextPage: boolean, filePath: string[] }>({ name: "labelPreview", data: { // pageIndex: pageIndex, pageIndex: pageIndex, } }); } /** * 打印标签 * @param {number} printCount 打印份数 */ static labelPrint() { return shellHandler<{ msg: string }>({ name: "labelPrint", }); } /** * 清除上述的标签ui、用户设置、标签数据 */ static clearLabelData() { return shellHandler<{ msg: string }>({ name: "clearLabelData", }); } /** * 批量打印文件 * @param {string} printer 打印机名称 * @param {Array<{name: string, filePath: string, count: number}>} printData 打印内容 * name文件名称,filePath文件路径,count打印份数 */ static filePrint(printer: string, printData: Array<{ name: string, filePath: string, count: number }>) { return shellHandler<{ msg: string }>({ name: "filePrint", data: { printer, printData: printData } }); } /** * 获取打印机列表信息 */ static getPrinters() { return shellHandler<{ driveList: Array<{ driveName: string, // 打印机名称 driveCode: number // 打印机编号 }> }>({ name: "getPrinters" }); } /** * 推送消息注册 * @param flag 使用信鸽推送传入推送标识flag给壳注册,并把flag发送给后端(旧版使用的是(登录环境+用户名)MD5) * 接收apns时flag不用传,调用信鸽注册时要传(.....) * @return 返回值apns 是推送的pushId,发送给后端 */ static registMessage(flag: string) { return shellHandler<{ apns: string }>({ name: "registMessage", data: { flag } }); } /** * 图片压缩 */ static getAttachment( data: { maxHeight?: number, maxWidth?: number, maxSize?: number, minSize?: number, maxValue?: number, minValue?: number, multi?: boolean, type: number, rect?: cameraRect | null, count?: number offline?: { tableName: string;//新增 表名 primaryKey: string;//新增 主键名称 primaryValue: string;//新增 主键值 fieldName: string;//新增 图片的 } }, info: ShellDoneHandler<ImgInfo>, success: ShellDoneHandler<ImgInfo>, fail?: ShellFailHandler ) { return shellHandler({ name: 'getAttachment', data, info, success, fail }); } /** * 打开调试工具(pc,Android,ios) */ static openDebug() { return shellHandler<{}>({ name: "openDebug", }); } /** * 指纹考勤长链接,进入页面时调用一次 * 只走success */ static openFinger( type: 0 | 1 = 1, success: any, info: any, ) { return shellHandler({ name: 'openFinger', data: { type }, success, info }); } /** * 将指纹插入壳数据库 */ static addFinger( userid: string, matchFinger: string, fingerType: number ) { return shellHandler({ name: 'addFinger', data: { userid, matchFinger, fingerType } }); } //关闭指纹长链接 static closeFinger() { return shellHandler({ name: 'closeFinger' }) } /** * 获取指纹 info调用形式 * @param {number} type 指纹类型;0: 匹配校验指纹, 1: 注册指纹; 默认1; * @param success 成功回调 * @param info 实时回调 * @param fail 失败回调 */ static fingerGet( type: 0 | 1 = 1, success: ShellDoneHandler<{ fingerType: number, finger: string }>, info?: ShellDoneHandler<{ text: string }>, fail?: ShellFailHandler ) { return shellHandler({ name: 'getFinger', data: { type }, success, info, fail }); } // 取消指纹 static cancelFinger(fingerType: number) { return shellHandler<{ msg: string }>({ name: 'cancelFinger', data: { fingerType } }); } /** * 指纹验证 * @param {string} enterFinger 用户输入的指纹 * @param {string} matchFinger 本地需要匹配的指纹 * @param {string} fingerType 是那一种指纹器,值为0或1或2 */ static verifyFinger(enterFinger: string, matchFinger: string, fingerType: number) { return shellHandler<{ matched: boolean }>({ name: "verifyFinger", data: { enterFinger, matchFinger, fingerType } }); } /** * android清除历史 */ //清除历史 static clearHistory() { return shellHandler({ name: 'clearHistory' }) } /** * 卡西欧盘点上传 */ static casioUpload( data: { port: string, speed: string, url: string, token: string }, success: ShellDoneHandler, fail: ShellFailHandler ) { return shellHandler({ name: "casioUpload", data, success, fail }); } /** * 卡西欧盘点下载 */ static casioDownLoad( data: { port: string, speed: string, url: string, token: string }, success: ShellDoneHandler, fail: ShellFailHandler ) { return shellHandler({ name: "casioDownLoad", data, success, fail }); } /** * 截屏 */ static screenShot() { return shellHandler({ name: 'screenShot' }) } /** * 开始录音 * @param type 类型,如果是0,只在结束的时候返回结果,如果是1,返回过程 */ static startVoice( type = 0, success: ShellDoneHandler, fail: ShellFailHandler, info: ShellDoneHandler ) { return shellHandler({ name: 'startVoice', data: { type }, success, fail, info }) } /** * 停止录音 */ static stopVoice() { return shellHandler({ name: 'stopVoice' }); } /** * 朗读文字 * @param content 要朗读的文字 */ static readVoice(content: any) { return shellHandler({ name: 'readVoice', data: { content } }) } /** * 获取系统剪贴板的内容 */ static getClipboardData() { // let production = process.env.NODE_ENV === "production"; // if (!production) { // var a = { // "scanType":1, // "btnId": "h5-12", // "dataList": [{ // "KEYVALUE":"CMS3", // "IMAGE":"", // "KEYFIELD":"测试1", // "TITLE":"蔡明邀请你加入速狮公司" // }], // "h5Url": "http://www.baidu.com", // "url": "/ui/node/n2-test-cht-1?p_n=%5B%7B%22n%22%3A%22node_test_bg%22%2C%22k%22%3A%22null%22%7D%5D" // } // var str = tools.encode(encodeURI(JSON.stringify(a))); // var url = `${a.h5Url}?qrcodeshare=${str}`; // return Promise.resolve({ // success: true, // data: { content: url } // }) // } return shellHandler<{ content: string }>({ name: 'getFromPasteboard', data: {} }) } /** * 建表 * @param tableName 表名 * @param key 主键名称 */ static execCreateTable(tableName: string, key: string) { return shellHandler({ name: 'sqlCreateTable', data: { tableName, key } }) } /** * 新增数据 * @param tableName 表名 * @param key 主键名称 * @param insertData 新增的数据 */ static execInsert(tableName: string, insertData: obj[], key: string) { return shellHandler({ name: 'sqlInsert', data: { tableName, insertData, key } }) } /** * 查找表所有数据 或 单条数据 * @param tableName 表名 * @param key 主键名称 可不传 * @param keyValue 主键值 可不传 * 如果不传则代码查找表中所有数据 */ static execFind(tableName: string, keyValue?: string, key?: string) { return shellHandler<{ content: string }>({ name: 'sqlFind', data: { tableName, keyValue, key } }) } /** * 删除数据 或 表 * @param tableName 表名 * @param key 主键名称 可不传 * @param keyValue 主键值 可不传 * 如果不传则代码删除所有数据 */ static execDelete(tableName: string, keyValue?: string, key?: string) { return shellHandler({ name: 'sqlDelete', data: { tableName, keyValue, key } }) } /** * 更新数据 * @param tableName 表名 * @param key 主键名称 * @param updateData 要更新的数组 */ static execUpdate(tableName: string, updateData: obj[], key: string) { return shellHandler({ name: 'sqlUpdate', data: { tableName, updateData, key } }) } /** * 下载离线资源包 */ static downloadImgZip(url: string, method: string, requestParam: string) { return shellHandler({ name: 'downloadImg', data: { url, method, requestParam } }) } /** * 离线上传图片 */ static offlineUloadImg(tableName: string, url: string, method: string) { return shellHandler({ name: 'uploadImg', data: { tableName, url, method } }) } /** * 离线删除图片 */ static deleteFile(tableName: string, primaryKey?: string, primaryValue?: string, fieldName?: string, path?: string) { let opts: any = { tableName, primaryKey, primaryValue, fieldName, path }; let newOpts: any = {}; for (let i of Object.keys(opts)) { if (opts[i]) { newOpts[i] = opts[i] } } return shellHandler({ name: 'deleteFile', data: { tableName, primaryKey, primaryValue, fieldName, path } }) } /** * 导入读取Excel */ static readExcel(url: string) { return shellHandler<{ totalNumber: number }>({ name: 'readExcel', data: { url } }) } /** * 获取已导入的Excel的数据 */ static getExcelData(startIndex: number, endIndex: number) { return shellHandler<{ data: obj<any>[], totalNumber: number }>({ name: 'getExcelData', data: { startIndex, endIndex } }) } /** * 删除已导入的Excel的数据 */ static clearExcel() { return shellHandler({ name: 'clearExcel' }) } /** * 离线上传图片 */ static setBadge(count: number) { return shellHandler({ name: 'setBadge', data: { count } }) } /** * 远程协助 */ static remoteHelpStart(data: { canControl?: boolean, x?: number, y?: number, width?: number, height?: number }) { return shellHandler({ name: 'remoteHelpStart', data }) } /** * 隐藏录制 */ static hideRecord() { return shellHandler({ name: 'hideRecord' }) } /** * 结束远程协助 */ static remoteHelpStop( success: ShellDoneHandler, fail: ShellFailHandler ) { return shellHandler({ name: 'remoteHelpStop', success, fail }) } /** * 远程控制 */ static remoteControl() { return shellHandler({ name: 'remoteControl' }) } /** * 通知终端连接 socket */ static connectSocket(data: obj) { return shellHandler({ name: 'connectSocket', data }) } /** * 通知终端断开 socket */ static closeSocket() { return shellHandler({ name: 'closeSocket' }) } /** * 导出文件,发送ui给终端 */ static jsExcelUi(data: FileUiObj) { return shellHandler({ name: 'jsExcelUi', data }) } /** * 导出文件,传递数据给终端 */ static jsExcelData(data: obj[]) { return shellHandler({ name: 'jsExcelData', data }) } /** * 导出文件,结束 */ static jsExcelOver(data: FileExportOver) { return shellHandler({ name: 'jsExcelOver', data }) } /** * 沟通反馈选择图片 */ static chooseImage<T>(data: IChooseImage) { return shellHandler<T>({ name: 'chooseImage', data }) } /** * 上传 * path 要上传的临时文件地址 * url 上传的服务器地址 */ static uploadFile<T>( data: { path: string, url: string, chunkUpload?: boolean, formData?: obj<any>, header?: obj<any> }, info: ShellDoneHandler<{ percent: number }>, success: ShellDoneHandler<T>, fail?: ShellFailHandler ) { return shellHandler({ name: 'uploadFile', data, info, success, fail }) } /** * @description 开始录音 */ static startRecord() { return shellHandler({ name: 'startRecord' }) } /** * @description 取消录音 */ static cancelRecord() { return shellHandler({ name: 'cancelRecord' }) } /** * @description 结束录音 */ static stopRecord() { return shellHandler<{ path: string, time: number }>({ name: 'stopRecord' }) } /** * @description 选择文件 */ static chooseFile<T>(data: IChooseFile) { return shellHandler<T>({ name: 'chooseFile', data }) } /** * @description 语音转文字 * @path 音频地址 */ static translateText(data: ITranslateText) { return shellHandler<{ text: string }>({ name: 'translateText', data }) } /** * @description 语音播放 * @path 音频地址 * @playType 1 扬声器 2听筒 */ static playVoice<T>(data: IPlayVoice) { return shellHandler<T>({ name: 'playVoice', data }) } /** * @description 停止播放语音 */ static stopPlayVoice() { return shellHandler({ name: 'stopPlayVoice' }) } /* 打开外部Url * @param data * @returns */ static handleExternalUrl(data: ExternalUrlParms) { return shellHandler<{ msg: string }>({ name: 'handleExternalUrl', data }) } /* * h5打印 */ static h5Print(data: H5PrintParams) { return shellHandler({ name: 'h5Print', data }) } // 独占式 PDA static pdaEnableScan(isEnabled: boolean) { return shellHandler({ name: 'pdaEnableScan', data: { isEnabled } }) } /** * 预览文件 */ static previewFile( data: { urls: string[], current?: number } ) { return shellHandler({ name: 'previewFile', data }) } /** * 打开拍照 */ static openCamera(count: number) { return shellHandler<{ tempFiles: any[] }>({ name: 'openCamera', data: { count } }) } /** * 文件压缩 */ static compressImage( data: { url: string, maxHeight?: number, maxWidth?: number, maxSize?: number, minSize?: number, maxValue?: number, minValue?: number } ) { return shellHandler<{ tempFile: any }>({ name: 'compressImage', data }) } /** * 下载文件流 */ static downloadFileStream( data: { url: string, params?: obj<any>, header?: obj<any> } ) { return shellHandler({ name: 'downloadFileStream', data }) } /** * 开始rfid红外扫码 */ static UHFStartInfrared(timeout: any, success: any) { return shellHandler<{ msg: string }>({ name: "UHFStartInfrared", data: { timeout }, success, fail: success }) } /** * 停止rfid红外扫码 */ static UHFStopInfrared() { return shellHandler<{ msg: string }>({ name: "UHFStopInfrared", }) } /** * 开始扫码rfid长连接 不关闭的情况下重复调用 */ static startRFIDScan(data: any, info: any, success: any, fail: any) { return shellHandler<{ msg: string }>({ name: "UHFStartScan", data: { isSound: true, ...data }, fail, success, info }) } /** * 开始找货rfid长连接 不关闭的情况下重复调用 */ static UHFStartSearch(info: any, success: any, searchType: any, searchData: any) { return shellHandler<{ msg: string }>({ name: "UHFStartSearch", data: { searchType, searchData }, success, info }) } /** * 开始找货rfid长连接 不关闭的情况下重复调用 */ static UHFStartSearchForSKU(info: any, success: any, param: { sku: string }, fail: any) { return shellHandler<{ msg: string }>({ name: "UHFStartSearchForSKU", data: { power: 30, ...param }, success, fail, info }) } /** * 开始找货rfid长连接 不关闭的情况下重复调用 */ static UHFStartSearchForEPC(info: any, success: any, param: { epcList: string[] }, fail: any) { return shellHandler<{ msg: string }>({ name: "UHFStartSearchForEPC", data: { power: 30, ...param }, success, fail, info }) } /** * 关闭扫描 */ static UHFStopScan() { return shellHandler<{ msg: string }>({ name: "UHFStopScan", }) } /** * 关闭搜索 */ static UHFStopSearch() { return shellHandler<{ msg: string }>({ name: "UHFStopSearch" }) } /** * 写入状态位 */ static UHFModify(filterEPCList: string[], writeByte: any, endFn: any) { return shellHandler<{ msg: string }>({ name: "UHFModify", data: { filterEPCList, writeByte }, success: endFn, fail: endFn }) } /** * 写入状态位-pc使用-目前手持机没有 */ static UHFStopModify(endFn: any) { return shellHandler<{ msg: string }>({ name: "UHFStopModify", success: endFn, fail: endFn }) } /** * 读取白标 */ static UHFScanSingleBlankTag(data: any, endFn: any) { return shellHandler<{ msg: string }>({ name: "UHFScanSingleBlankTag", data: { power: 5, scanTime: 2, ...data }, success: endFn, fail: endFn }) } /** * 写入 */ static UHFWrite(epc: string, endFn: any) { return shellHandler<{ msg: string }>({ name: "UHFWrite", data: { epc }, success: endFn }) } /** * 写入 */ static UHFKillTags(filterEPCList: string[], endFn: any) { return shellHandler<{ msg: string }>({ name: "UHFKillTags", data: { filterEPCList, killPasswordList: filterEPCList.map(_ => { return '12345678' }) }, success: endFn, fail: endFn, }) } /** * 写入目标epc */ static UHFWriteTag(data: { tagEpc: string writeEpc: string }, endFn: any) { return shellHandler<{ msg: string }>({ name: "UHFWriteTag", data: { ...data, writeTime: 10 }, success: endFn, fail: endFn }) } /** * 开始盘存 */ static UHFStartInventoryForEPC(param: { shelfText: string, epcList: string[] }, endFn: any, info: any, fail: any) { return shellHandler<{ msg: string }>({ name: "UHFStartInventoryForEPC", data: { isSound: true, ...param }, fail, success: endFn, info }) } static UHFStartInventoryForAll(param: { shelfText: string }, endFn: any, info: any, fail: any) { return shellHandler<{ msg: string }>({ name: "UHFStartInventoryForAll", data: { isSound: true, ...param }, fail, success: endFn, info }) } static UHFStartInventoryForBranch(param: { shelfText: string, branchNo: string }, endFn: any, info: any, fail: any) { return shellHandler<{ msg: string }>({ name: "UHFStartInventoryForBranch", data: { isSound: true, ...param }, fail, success: endFn, info }) } /** * 暂停盘存 */ static UHFPauseInventory(successFn?: any) { return shellHandler<{ msg: string }>({ name: "UHFPauseInventory", success: successFn }) } /** * 获取当前盘存结果 */ static UHFGetInventoryResult(res: any) { return shellHandler<{ msg: string }>({ name: "UHFGetInventoryResult", success: res, fail: res }) } /** * 继续盘存 */ static UHFResumeInventory(shelf: string) { return shellHandler<{ msg: string }>({ name: "UHFResumeInventory", data: { shelf }, }) } /** * 清空对应货架盘存数据 */ static UHFClearInventoryData(shelf: string) { return shellHandler<{ msg: string }>({ name: "UHFClearInventoryData", data: { shelf }, }) } /** * 停止盘存 */ static UHFStopInventory() { return shellHandler<{ msg: string }>({ name: "UHFStopInventory", }) } /** * android预览pdf */ static previewPdf( data: { url: string, name: string } ) { return shellHandler({ name: 'previewPdf', data }) } }