interface ITask { data?: any; status?: Number; message?: string; success?: string; } let host = 'http://shop-api.1000.com'; let setHost = url => (host = url); /** * 添加打印任务 * @param body */ let addTask = async (deviceNo: string, key: string, printContent: string) => { let response = await post( `${host}/printer/task/add`, `deviceNo=${deviceNo}&key=${key}&printContent=${encodeURI(printContent)}×=1&type=yly`, ); if (__DEV__) console.log('addTask', response); if (response.message) { return false; } return response.data; }; /** * 返回打印是否成功 * @param body */ // let getTaskStatus = async (deviceNo: string, key: string, orderNo: string) => { // let response = (await post( // 'http://open.printcenter.cn:8080/queryOrder', // `deviceNo=${deviceNo}&key=${key}&orderindex=${orderNo} `, // )) as ITask; // if (__DEV__) console.log('getTaskStatus', response); // return 0 === response.responseCode; // }; /** * 查询打印机的状态 * @param body */ let getPrinterStatus = async (deviceNo: string, key: string) => { let response = (await post(`${host}/printer/status`, `deviceNo=${deviceNo}&key=${key}&type=yly`)) as ITask; if (__DEV__) console.log('getPrinterStatus', response); //365打印机接口设计缺陷,状态码无法正常判断 if (response.message) { return false; } return response.data; }; let post = async (url, params) => { console.log('>>>>', url, params); let r = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: params, }); console.log('response:', r); let resp: ITask = await r.json(); return resp; }; var printContent = ''; let printText = text => { printContent += text; }; let printTextCenter = text => { // printContent += `${text || '--'}`; printContent += `
${text || '--'}
`; // if (font == 'middle' || font == 'small') { // printContent += `${text || '--'}`; // } else { // printContent += `${text || '--'}`; // } }; let printlnText = text => { // printContent += +`${text}
`; printContent += text + '\r\n'; }; let printQrCode = text => { // printContent += `${text}
`; printContent += `${text}\r\n`; }; let printBarCode = text => { if (text.length <= 13) { printContent += `${text}`; } else { printlnText(text); printlnText('***条码不支持13位以上***'); } }; let lineSplit = () => { printContent += '--------------------------------\r\n'; }; let lineWrap = (nums: number) => { for (var index = nums; index > 0; --index) { printContent += '\r\n'; } }; let commit = (deviceNo: string, key: string) => { addTask(deviceNo, key, printContent); }; let clear365Content = () => { printContent = ''; }; export default { clear365Content, addTask, // getTaskStatus, getPrinterStatus, printText, printlnText, printTextCenter, printQrCode, printBarCode, lineSplit, lineWrap, commit, setHost, };