/*var APIURL = "http://192.168.1.145:83/api/";*/ var APIURL = "http://localhost:5204/api/"; /*var APIURL_PC = "http://192.168.1.145:81/";*/ var APIURL_PC = "http://192.168.1.145:8081/";//测试 var APIURL_IMAGE = APIURL_PC+"upload/"; var ISNEEDLOGIN = true; String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); } String.prototype.ltrim = function () { return this.replace(/(^\s*)/g, ""); } String.prototype.rtrim = function () { return this.replace(/(\s*$)/g, ""); } Vue.prototype.CHECKLOGIN = function () { var that = this; var loginInfo = { loginGuid: Cookies.get('loginGuid'), loginAccount: Cookies.get('loginAccount'), } if (!loginInfo || (loginInfo) == "undefined" || typeof (loginInfo.loginGuid) == "undefined" || typeof (loginInfo.loginGuid) == "undefined" || typeof (loginInfo.loginGuid).length < 1 ) { if (ISNEEDLOGIN == true) window.location.href = "/UserLogin.aspx"; return; } } Vue.prototype.Request = function (paras) { if (typeof (paras) == "undefined") { return ""; } var url = location.href; var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&"); var paraObj = {} for (i = 0; j = paraString[i]; i++) { paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length); } var returnValue = paraObj[paras.toLowerCase()]; if (typeof (returnValue) == "undefined") { return ""; } else { return decodeURI(returnValue); } } Vue.prototype.GetLoginInfor = function () { var that = this; var loginInfo = { loginGuid: Cookies.get('loginGuid'), loginAccount: Cookies.get('loginAccount'), } if (!loginInfo || (loginInfo) == "undefined" || typeof (loginInfo.loginGuid) == "undefined" || typeof (loginInfo.loginGuid) == "undefined" || typeof (loginInfo.loginGuid).length < 1 ) { if (ISNEEDLOGIN == true) window.location.href = "/UserLogin.aspx"; } else { return loginInfo; } } /** * axios * @param:{string} method 请求类型,必填 * @param:{string} url 请求地址,必填 * @param:{string} params 请求参数,非必填 * @param:{string} variation 请求头,非必填 **/ Vue.prototype.AxiosHttp = (method, url, params = {}, isToken = true, isPC =0) => { if (isPC == 0) { url = (APIURL + url); } else{ url = (APIURL_PC + url); } let headers = { 'Content-Type': 'application/json', } if (isToken) { var timestamp = (new Date()).getTime(); var token = Cookies.get('loginGuid') headers['token'] = token; } if (method == 'get') { // console.log("params") return axios({ method: method, url: url, headers: headers, params: params }).then(res => res.data); } else { return axios({ method: method, url: url, headers: headers, data: params }).then(res => res.data); } }; //axiosRequest('get', '/user/page', {},false).then(res=>{}) //axiosRequest('post', '/user/page', {},false).then(res=>{}) // 添加全局v-focus指令 Vue.directive("focus", { //inserted: function (el, { modifiers: { noKeyboard } }) { // try { // const tagName = el.tagName; // if (tagName !== "INPUT") { // let child = el.children[0]; // if (child && child.tagName === "INPUT") { // el = child; // } // } // var _count = (el.children.length); // if (_count > 1) // el = el.children[1].children[0].children[0]; // else // el = el.children[0].children[0].children[0]; // // alert(el); // // 可以重新获得焦点又不弹起软键盘;xxx是el-input的ref // // this.$refs[xxx].$refs.input.noKeyboardFocus(); // el.noKeyboardFocus = function () { // Vue.nextTick(() => { // this.focus(); // this.setAttribute("readonly", "readonly"); // var timer = null; // timer = setTimeout(() => { // this.removeAttribute("readonly"); // clearTimeout(timer); // }, 100); // }); // }; // el.focus(); // // v-focus.noKeyboard 不弹起软键盘 // if (noKeyboard) { // el.setAttribute("readonly", "readonly"); // var timer = null; // timer = setTimeout(() => { // el.removeAttribute("readonly"); // clearTimeout(timer); // }, 100); // } // } catch (error) { // throw new Error(error); // } //} }); Vue.prototype.GoBack=function(){ var _userGuid = Cookies.get('loginGuid'); var _userAccount = Cookies.get('loginAccount'); var _url = "/H5/Default.aspx?userGuid=" + _userGuid + "&userAccount" + _userAccount + "&tabIdx=" + this.Request("tabIdx"); window.location.href = _url; return; window.history.back(); } // 新增全局打印方法 Vue.prototype.sendPrintMessage = function (tbBillList) { const cfDetails = tbBillList.cfBarInfo.map(item => { return "! 0 200 200 210 1\r\n" + "PAGE - WIDTH 700 \r\n" + "GAP-SENSE \r\n" + /* "BOX 0 0 700 180 0 \r\n" +*/ `T 16 0 10 10 物料编码:\r\n` + `T 55 3 120 10 ${item.iteM_NO}\r\n` + `T 16 0 310 10 ${item.item_name}\r\n` + "T 55 2 10 42 物料规格:\r\n" + `T 55 2 110 42 ${item.item_model}\r\n` + "T 16 0 10 78 数量:\r\n" + `T 0 5 90 78 ${item.quantity}\r\n` + `T 16 5 180 78 ${item.barType}\r\n` + `BARCODE 128 1 25 35 350 130 ${item.iteM_BARCODE}\r\n` + /* `T 0 1 350 130 ${item.iteM_BARCODE}\r\n` +*/ "T 55 0 10 125 创建时间:\r\n" + `T 55 0 120 125 ${item.creatE_DATE}\r\n` + "T 55 0 10 150 打印时间:\r\n" + `T 55 0 120 150 ${item.print_date}\r\n` + "B QR 580 12 M 2 U 4\r\n" + `MA,${item.iteM_BARCODE}\r\n` + "ENDQR\r\nFORM\r\nPRINT\r\n"; }); let sendData = { Type: 'Bar', Barcode: tbBillList.cfBarInfo[0].iteM_BARCODE, Detail: cfDetails, Ip: tbBillList.printInfo[0].ip, Port: tbBillList.printInfo[0].port, } console.log('打印数据:', sendData); uni.webView.postMessage({ data: JSON.stringify(sendData) }) }; // 新增音频播放方法 Vue.prototype.$playSound = function(type = 'success') { try { const audioMap = { success: '/audio/OK.wav', error: '/audio/NG.wav' }; const audio = new Audio(audioMap[type]); audio.play().catch(error => { console.error('音频播放失败:', error); this.$toast.fail('提示音加载失败'); }); } catch (e) { console.error('音频初始化错误:', e); } };