import App from './App' // #ifndef VUE3 import Vue from 'vue' Vue.config.productionTip = false App.mpType = 'app' const app = new Vue({ ...App }) //注册uView组件 import uView from 'uview-ui'; Vue.use(uView); app.$mount() // #endif // #ifdef VUE3 import { createSSRApp } from 'vue' export function createApp() { const app = createSSRApp(App) return { app } } // #endif let baseUrl = "http://10.114.41.214:8201/hxds-driver" Vue.prototype.url = { registerNewDriver: `${baseUrl}/driver/registerNewDriver`, updateDriverAuth: `${baseUrl}/driver/updateDriverAuth`, uploadCosPrivateFile: `${baseUrl}/cos/uploadCosPrivateFile`, deleteCosPrivateFile: `${baseUrl}/cos/deleteCosPrivateFile`, createDriverFaceModel: `${baseUrl}/driver/createDriverFaceModel`, verificateDriverFace: `${baseUrl}/driver/recognition/verificateDriverFace`, login: `${baseUrl}/driver/login`, logout: `${baseUrl}/driver/logout`, searchDriverBaseInfo: `${baseUrl}/driver/searchDriverBaseInfo`, searchWorkbenchData: `${baseUrl}/driver/searchWorkbenchData`, searchDriverAuth: `${baseUrl}/driver/searchDriverAuth`, startWork: `${baseUrl}/driver/startWork`, stopWork: `${baseUrl}/driver/stopWork`, receiveNewOrderMessage: `${baseUrl}/message/order/new/receiveNewOrderMessage`, acceptNewOrder: `${baseUrl}/order/acceptNewOrder`, searchDriverExecuteOrder: `${baseUrl}/order/searchDriverExecuteOrder`, searchDriverCurrentOrder: `${baseUrl}/order/searchDriverCurrentOrder`, searchOrderForMoveById: `${baseUrl}/order/searchOrderForMoveById`, arriveStartPlace: `${baseUrl}/order/arriveStartPlace`, startDriving: `${baseUrl}/order/startDriving`, uploadRecordFile: `${baseUrl}/monitoring/uploadRecordFile`, updateOrderStatus: `${baseUrl}/order/updateOrderStatus`, updateBillFee: `${baseUrl}/order/updateBillFee`, searchReviewDriverOrderBill: `${baseUrl}/order/searchReviewDriverOrderBill`, searchOrderStatus: `${baseUrl}/order/searchOrderStatus`, updateOrderAboutPayment: `${baseUrl}/order/updateOrderAboutPayment`, searchDriverOrderByPage: `${baseUrl}/order/searchDriverOrderByPage`, searchOrderById: `${baseUrl}/order/searchOrderById`, startCommentWorkflow: `${baseUrl}/comment/startCommentWorkflow`, } Vue.prototype.tencent = { map: { referer: "华星代驾", key: "4WRBZ-SVM3Z-WKAXG-7SU6N-52ESO-E6BRU" } } Vue.prototype.ajax = function(url, method, data, fun, load) { let timer = null if (load == true || load == undefined) { uni.showLoading({ title: "执行中" }) timer = setTimeout(function() { uni.hideLoading() }, 60 * 1000) } uni.request({ "url": url, "method": method, "header": { token: uni.getStorageSync("token") }, "data": data, success: function(resp) { // console.log(resp) if (load == true || load == undefined) { clearTimeout(timer) uni.hideLoading() } if (resp.statusCode == 401) { uni.redirectTo({ url: "/pages/login/login.vue" }) } else if (resp.statusCode == 200 && resp.data.code == 200) { let data = resp.data if (data.hasOwnProperty("token")) { let token = data.token uni.setStorageSync("token", token) } fun(resp) } else if (resp.data.error == "该微信无法注册") { uni.showToast({ icon: "none", title: "该微信无法注册" }) } else if (resp.data.error == "当前手机号与注册手机号不一致") { uni.showToast({ icon: "none", title: "当前手机号与注册手机号不一致" }) } else { uni.showToast({ icon: "none", title: "执行异常" }) console.error(resp.data) } }, fail: function(error) { if (load == true || load == undefined) { clearTimeout(timer) uni.hideLoading() } } }) } Vue.prototype.refreshMessage = function(that) { uni.request({ "url": that.url.refreshMessage, "method": "POST", "header": { token: uni.getStorageSync("token") }, "data": { identity: 'driver' }, success: function(resp) { if (resp.statusCode == 401) { uni.redirectTo({ url: "/pages/login/login.vue" }) } else if (resp.statusCode == 200 && resp.data.code == 200) { uni.$emit("updateMessageService", true) let result = resp.data.result let lastRows = result.lastRows let unreadRows = result.unreadRows if (lastRows > 0) { uni.$emit("showMessageTip", lastRows) } } else { console.error(resp.data) //在工作台页面触发更新消息服务状态,显示服务可用或者不可用 uni.$emit("updateMessageService", false) } console.log("刷新消息") }, fail: function(error) { //在工作台页面触发更新消息服务状态,显示服务可用或者不可用 uni.$emit("updateMessageService", false) } }) } Vue.prototype.uploadCos = function(url, path, module, fun) { uni.uploadFile({ url: url, filePath: path, name: "file", header: { token: uni.getStorageSync("token") }, formData: { "module": module }, success: function(resp) { let data = JSON.parse(resp.data) if (resp.statusCode == 401) { uni.redirectTo({ url: "/pages/login/login.vue" }) } else if (resp.statusCode == 200 && data.code == 200) { fun(resp) } else { uni.showToast({ icon: "none", title: data.error }) } } }) } Vue.prototype.upload = function(url, path, data, fun) { uni.uploadFile({ url: url, filePath: path, name: "file", header: { token: uni.getStorageSync("token") }, formData: data, success: function(resp) { let data = JSON.parse(resp.data) if (resp.statusCode == 401) { uni.redirectTo({ url: "/pages/login/login.vue" }) } else if (resp.statusCode == 200 && data.code == 200) { fun(resp) } else { uni.showToast({ icon: "none", title: data.error }) } }, fail: function(error) { console.log(error) } }) } Vue.prototype.toPage = function(url) { uni.navigateTo({ url: url }) } Vue.prototype.checkNull = function(data, name) { if (data == null) { this.$refs.uToast.show({ title: name + "不能为空", type: 'error' }) return true } return false } Vue.prototype.checkBlank = function(data, name) { if (data == null || data == "") { this.$refs.uToast.show({ title: name + "不能为空", type: 'error' }) return true } return false } Vue.prototype.checkValidName = function(data, name) { if (data == null || data == "") { this.$refs.uToast.show({ title: name + "不能为空", type: 'error' }) return false } else if (!/^[\u4e00-\u9fa5]{2,15}$/.test(data)) { this.$refs.uToast.show({ title: name + "不正确", type: 'error' }) return false } return true } Vue.prototype.checkValidTel = function(data, name) { if (data == null || data == "") { this.$refs.uToast.show({ title: name + "不能为空", type: 'error' }) return false } else if (!/^1[0-9]{10}$/.test(data)) { this.$refs.uToast.show({ title: name + "不正确", type: 'error' }) return false } return true } Vue.prototype.checkValidEmail = function(data, name) { if (data == null || data == "") { this.$refs.uToast.show({ title: name + "不能为空", type: 'error' }) return false } else if (!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(data)) { this.$refs.uToast.show({ title: name + "不正确", type: 'error' }) return false } return true } Vue.prototype.checkValidAddress = function(data, name) { if (data == null || data == "") { this.$refs.uToast.show({ title: name + "不能为空", type: 'error' }) return false } else if (!/^[0-9a-zA-Z\u4e00-\u9fa5\-]{6,50}$/.test(data)) { this.$refs.uToast.show({ title: name + "不正确", type: 'error' }) return false } return true } Vue.prototype.checkValidFee = function(data, name) { if (data == null || data == "") { this.$refs.uToast.show({ title: name + "不能为空", type: 'error' }) return false } else if (!/^[1-9]\d*\.\d{1,2}$|^0\.\d{1,2}$|^[1-9]\d*$/.test(data)) { this.$refs.uToast.show({ title: name + "不正确", type: 'error' }) return false } return true } Vue.prototype.changeNumber = function(value) { let newValue = ['', '']; let fr = 1000; const ad = 1; let num = 3; const fm = 1; while (value / fr >= 1) { fr *= 10; num += 1; } if (num <= 4) { // 千 newValue[1] = '千'; newValue[0] = parseInt(value / 1000) + ''; } else if (num <= 8) { // 万 const text1 = parseInt(num - 4) / 3 > 1 ? '千万' : '万'; const fm = '万' === text1 ? 10000 : 10000000; newValue[1] = text1; newValue[0] = value / fm + ''; } else if (num <= 16) { // 亿 let text1 = (num - 8) / 3 > 1 ? '千亿' : '亿'; text1 = (num - 8) / 4 > 1 ? '万亿' : text1; text1 = (num - 8) / 7 > 1 ? '千万亿' : text1; // tslint:disable-next-line:no-shadowed-variable let fm = 1; if ('亿' === text1) { fm = 100000000; } else if ('千亿' === text1) { fm = 100000000000; } else if ('万亿' === text1) { fm = 1000000000000; } else if ('千万亿' === text1) { fm = 1000000000000000; } newValue[1] = text1; newValue[0] = parseInt(value / fm) + ''; } if (value < 1000) { newValue[1] = ''; newValue[0] = value + ''; } let temp = Math.floor((newValue[0]) * 100) / 100 return temp + newValue[1]; }