fastlion-amis
Version:
一种MIS页面生成工具
1,270 lines (1,205 loc) • 30.9 kB
text/typescript
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 })
}
}