import globalData from '@/common/js/globalData.js'; export default { address: 'https://gmhl.gmjlb.com', // address: 'https://gmhl.opsoul.com', // 异步接口拦截 addInterceptor() { let _this = this; uni.addInterceptor('request', { invoke(args) { if(!args.hideLoading) { uni.showLoading({ mask: true, title: '加载中' }) } let userInfo = _this.getCurUserInfo(); // if(userInfo.loginStatus == 1) { // // 禁止登录,退出登录 // uni.clearStorageSync('userProfile'); // uni.showToast({ // icon: 'none', // title: '您已被禁止登录', // duration: 3000, // success() { // setTimeout(() => { // uni.hideLoading(); // uni.reLaunch({ // url: '/pages/login/login' // }) // }, 3000) // } // }) // return // } // request 触发前拼接 url // args.url = 'https://www.opsoul.com:8881' + args.url; // args.url = 'http://127.0.0.1:80' + args.url; // args.url = 'https://gmhl.opsoul.com' + args.url; args.url = 'https://gmhl.gmjlb.com' + args.url; if (!args.data) { args.data = {} } if (args.data instanceof Object) { args.data.deptId = globalData.deptId; args.data.from = globalData.from; if (args.data.workerId === undefined && userInfo && userInfo.workerId) { args.data.workerId = userInfo.workerId; } } if (!args.header) { args.header = {} } args.header.deptId = globalData.deptId; args.header.from = globalData.from; // console.log("停止触发"); // return false; }, success(res) { uni.hideLoading(); if (!res || !res.data || res.data.code !== 0) { uni.showToast({ title: res.data.msg || '系统错误', icon: 'error' }) } // _this.getAndSetWorkerInfo() }, fail(err) { console.log(err); uni.hideLoading(); uni.showToast({ title: '请求失败', icon: 'error' }) } }) }, checkAndAuth() { let _this = this; // 通过 wx.getSetting 先查询一下用户是否授权了 "scope.userInfo" 这个 scope wx.getSetting({ success(res) { if (!res.authSetting['scope.userInfo']) { // 用户授权 wx.authorize({ scope: 'scope.userInfo', success() { // 用户已经同意, 后续调用此接口不会弹窗询问 _this.login(); }, fail() { // 用户已经拒绝过授权 wx.openSetting({ success(res) { if (res['scope.userInfo']) { _this.checkAndAuth(); } } }) } }) } else { _this.login(); } } }) }, async login() { let userInfo = await wx.getUserProfile({ desc: '用于小程序登录' }); // console.log("从微信获取基本用户信息:" + userInfo); // 获取微信登录凭证 const wxLoginRes = await wx.login(); // console.log(wxLoginRes) // 获取openid const wxAuthRes = await uni.request({ url: '/wx/auth', header: { code: wxLoginRes.code } }) // console.log(wxAuthRes) const openId = wxAuthRes[1].data.data.openid; // 第一次从服务端获取用户信息 let wxGetUserRes = await this.qryUserInfo(openId); // 获取失败则获取微信信息再调用注册接口 if (!wxGetUserRes.data) { // 注册完成后再次从服务端获取用户信息 let registerRes = await this.registerUser({ openId: openId, name: userInfo.userInfo.nickName, workerLogoUrl: userInfo.userInfo.avatarUrl }); if (registerRes.code === 0) { wxGetUserRes = await this.qryUserInfo(openId); } } if (!wxGetUserRes.data) { userInfo = null; } else { userInfo = { ...wxGetUserRes.data, wxLoginCode: wxLoginRes.code } } // console.log("通过后台服务获取用户信息:" + userInfo); if (!userInfo || userInfo.workerId == null || userInfo.workerId == undefined) { uni.showToast({ icon: 'none', title: '微信用户信息获取失败,请退出小程序重试' }) return false; } // 页面存储用户登录有效信息,以便其他页面调用 uni.setStorageSync('userProfile', userInfo); return true; }, async getWxUserInfo() { // 获取微信登录凭证 const wxLoginRes = await wx.login(); // 获取openid const wxAuthRes = await uni.request({ url: '/wx/auth', header: { code: wxLoginRes.code } }) const openId = wxAuthRes[1].data.data.openid; // 从服务端获取用户信息 let wxGetUserRes = await this.qryUserInfo(openId); let userInfo = null; if (wxGetUserRes.data) { userInfo = { ...wxGetUserRes.data, wxLoginCode: wxLoginRes.code } } return userInfo; }, async storageExistUser() { // 获取微信登录凭证 const wxLoginRes = await wx.login(); // 获取openid const wxAuthRes = await uni.request({ url: '/wx/auth', header: { code: wxLoginRes.code } }) const openId = wxAuthRes[1].data.data.openid; // 从服务端获取用户信息 let wxGetUserRes = await this.qryUserInfo(openId); let userInfo = null; if (wxGetUserRes.data) { userInfo = { ...wxGetUserRes.data, wxLoginCode: wxLoginRes.code } } uni.clearStorageSync('userProfile'); uni.setStorageSync('userProfile', userInfo); }, async GetCurrentLocation() { let res = await this.wxGetLocation() console.log(res); if (!res || !res.latitude) { return; } let res1 = await uni.request({ url: '/tool/baidu/getLocation', method: 'POST', data: { location: res.latitude + ',' + res.longitude } }) let areaRes = res1[1].data return areaRes.data; }, async TransformLocation(params) { let res1 = await uni.request({ url: '/tool/baidu/getLocation', method: 'POST', data: { location: params.latitude + ',' + params.longitude } }) let areaRes = res1[1].data return areaRes.data; }, async registerUser(params = {}) { let res = await uni.request({ url: '/wx/addWorker', method: 'POST', data: params }) return res[1].data; }, async noticeMsg(params = {}) { let res = await uni.request({ url: '/wx/noticeMsg', method: 'POST', data: params }) return res[1].data; }, async sendVertifyCode(params = {}) { let res = await uni.request({ url: '/tool/sms/send', method: 'POST', data: params }) return res[1].data; }, async realRegisterUser(params = {}) { let res = await uni.request({ url: '/worker/register', method: 'POST', data: params }) return res[1].data; }, async appLogin(params = {}) { let res = await uni.request({ url: '/worker/login', method: 'POST', data: params }) return res[1].data; }, async qryUserInfo(openId, phone) { let res = await uni.request({ url: '/wx/getWorkerInfo', method: 'POST', data: { openId: openId, phone: phone } }) return res[1].data; }, async qryUserPhone(code) { let res = await uni.request({ url: '/wx/auth/phone', method: 'GET', header: { code: code } }) return res[1].data; }, async updateUserPhone(params = {}) { let res = await uni.request({ url: '/worker/update', method: 'POST', data: params }) // 更新用户信息的方法顺便更新本地缓存 if (res[1].data.code === 0) { let userInfo = this.getCurUserInfo(); userInfo.phone = params.phone; userInfo.account = params.account; uni.setStorageSync('userProfile', userInfo); } return res[1].data; }, async storagePhoneIntoUserInfo(code) { let phoneRes = await this.qryUserPhone(code) if (phoneRes && phoneRes.data) { let userInfo = this.getCurUserInfo(); await this.updateUserPhone({ workerId: userInfo.workerId, account: phoneRes.data, phone: phoneRes.data }) return true; } }, getCurUserInfo() { let userProfile = uni.getStorageSync('userProfile'); return userProfile; }, async refreshCurUserCache() { let newUserInfo = await this.getCurUserNoCache(); uni.setStorageSync('userProfile', newUserInfo); }, updateCache(cacheKey, cacheVal) { uni.setStorageSync(cacheKey, cacheVal); }, async getCurUserNoCache() { let userInfo = this.getCurUserInfo(); let wxGetUserRes = await this.qryUserInfo(userInfo.openId); if (!wxGetUserRes.data) { userInfo = null; } else { userInfo = { ...wxGetUserRes.data, wxLoginCode: userInfo.wxLoginCode } } return userInfo; }, async updateCurUserCache() { let curUserInfo = await this.getCurUserNoCache(); uni.setStorageSync('userProfile', curUserInfo); return true; }, async uploadFile(filePath) { let res = await uni.uploadFile({ url: this.address + '/tool/qiniu/upload', filePath: filePath, name: 'uploadFile' }) let resStr = res[1].data; let resObj = null; if (resStr != null && resStr.length > 0) { try { resObj = JSON.parse(resStr); } catch (e) { console.log(e) } } if (!resObj || resObj.code !== 0) { uni.showToast({ icon: 'error', title: '上传失败' }) return ''; } return resObj.url; }, async qrySpecialSkillList(params = { goodsCategoryId: null }) { let res = await uni.request({ url: '/special/skill/list', method: 'POST', data: params }) return res[1].data; }, async listByStep(params = { goodsCategoryId: null }) { let res = await uni.request({ url: '/goods/deptcategory/listByStep', method: 'POST', data: params }) return res[1].data; }, async areaListByStep(params = { parentCode: null }) { let res = await uni.request({ url: '/system/area/app/list', method: 'POST', data: params }) return res[1].data; }, async bindBankCard(params) { let res = await uni.request({ url: '/worker/bank/bind', method: 'POST', data: params }) return res[1].data; }, async getBindBankCardByWorkerId(params) { let res = await uni.request({ url: '/worker/bank/getByWorkerId', method: 'POST', data: params }) return res[1].data; }, async insuranceUserList(params) { let res = await uni.request({ url: '/insurance/user/app/list', method: 'POST', data: params }) return res[1].data; }, async insuranceUserAdd(params) { let res = await uni.request({ url: '/insurance/user/add', method: 'POST', data: params, hideLoading: true }) return res[1].data; }, async addGoods(params) { let res = await uni.request({ url: '/goods/goods/addGoods', method: 'POST', data: params }) return res[1].data; }, async addTeam(params = {}) { let res = await uni.request({ url: '/worker/team/addTeam', method: 'POST', data: params }) return res[1].data; }, async getTeamPage(params = {}) { let res = await uni.request({ url: '/worker/team/getTeamList', method: 'POST', data: params, header: { pageNum: params.pageNum, pageSize: params.pageSize } }) return res[1].data; }, async updateWorker(params = {}) { let res = await uni.request({ url: '/worker/update', method: 'POST', data: params }) // 更新用户信息的方法顺便更新本地缓存 if (res[1].data.code === 0) { let userInfo = this.getCurUserInfo(); let qryUserInfoRes = await this.qryUserInfo(userInfo.openId); let newUserInfo = { ...qryUserInfoRes.data, wxLoginCode: userInfo.wxLoginCode }; uni.setStorageSync('userProfile', newUserInfo); } return res[1].data; }, async updateWorkerTeam(params = {}) { let res = await uni.request({ url: '/worker/team/updateTeam', method: 'POST', data: params }) return res[1].data; }, async qryFinancialCount(params = {}) { let res = await uni.request({ url: '/financial/detail/count', method: 'POST', data: params }) return res[1].data; }, async qryFinancialDetail(params = {}) { let res = await uni.request({ url: '/financial/detail/app/list', method: 'POST', data: params }) return res[1].data; }, async qryMasterOrderPage(params = {}) { let res = await uni.request({ url: '/order/master/app/list', method: 'POST', data: params, header: { pageNum: params.pageNum, pageSize: params.pageSize, orderByColumn: params.orderByColumn ? params.orderByColumn : "", isAsc: params.isAsc ? params.isAsc : "" } }) return res[1].data; }, async getOrderMasterDetail(params = {}) { let res = await uni.request({ url: '/order/master/app/detail', method: 'POST', data: params }) return res[1].data; }, async qryMixOrderList(params = {}) { let res = await uni.request({ url: '/order/app/mix/order/list', method: 'POST', data: params, header: { orderByColumn: params.orderByColumn ? params.orderByColumn : "", isAsc: params.isAsc ? params.isAsc : "" } }) return res[1].data; }, async qryMixAfterList(params = {}) { let res = await uni.request({ url: '/order/app/mix/after/list', method: 'POST', data: params, header: { orderByColumn: params.orderByColumn ? params.orderByColumn : "", isAsc: params.isAsc ? params.isAsc : "" } }) return res[1].data; }, async updateOrder(params = {}) { let res = await uni.request({ url: '/order/master/editOrderMaster', method: 'POST', data: params }) return res[1].data; }, async getCanAssignList(params = {}) { let res = await uni.request({ url: '/order/can/assign', method: 'POST', data: params }) return res[1].data; }, async assign(params = {}) { let res = await uni.request({ url: '/order/assign', method: 'POST', data: params }) return res[1].data; }, async checkOrderInsurance(params = {}) { let res = await uni.request({ url: '/order/master/orderInsurance?orderCode='+params.orderCode, method: 'POST', data: params }) return res[1].data; }, async qryDetailOrderPage(params = {}) { let res = await uni.request({ url: '/order/detail/app/list', method: 'POST', data: params, header: { pageNum: params.pageNum, pageSize: params.pageSize, orderByColumn: params.orderByColumn ? params.orderByColumn : "", isAsc: params.isAsc ? params.isAsc : "" } }) return res[1].data; }, async updateDetailOrder(params = {}) { let res = await uni.request({ url: '/order/detail/app/edit', method: 'POST', data: params }) return res[1].data; }, async applyFinishOrder(params = {}) { let res = await uni.request({ url: '/order/detail/app/applyFinishOrder', method: 'POST', data: params }) return res[1].data; }, async getOrderDetail(params = {}) { let res = await uni.request({ url: '/order/detail/app/detail', method: 'POST', data: params }) return res[1].data; }, async workerSettled(params = {}) { let res = await uni.request({ url: '/worker/settled', method: 'POST', data: params }) return res[1].data; }, async qryProductPage(params = {}) { let res = await uni.request({ url: '/goods/goods/app/list', method: 'POST', data: params, header: { pageNum: params.pageNum, pageSize: params.pageSize } }) return res[1].data; }, async editGoods(params = {}) { let res = await uni.request({ url: '/goods/goods/app/edit', method: 'POST', data: params }) return res[1].data; }, async qryProductDetail(params = {}) { let res = await uni.request({ url: '/goods/goods/app/detail', method: 'POST', data: params }) return res[1].data; }, async updateGoodsStatus(params = {}) { let res = await uni.request({ url: '/goods/goods/app/updateStatus', method: 'POST', data: params }) return res[1].data; }, async getWorkerArea(params = {}) { let res = await uni.request({ url: '/worker/area/worker', method: 'GET', data: params }) return res[1].data; }, async getWorkerGoodsCategory(params = {}) { let res = await uni.request({ url: '/worker/goods/category/worker', method: 'GET', data: params }) return res[1].data; }, async getWorkerSpecialSkill(params = {}) { let res = await uni.request({ url: '/worker/special/skill/' + params.workerId, method: 'POST' }) return res[1].data; }, async getWorkerAreaEdit(params = {}) { let res = await uni.request({ url: '/worker/area/worker/edit', method: 'GET', data: params }) return res[1].data; }, async getWorkerGoodsCategoryEdit(params = {}) { let res = await uni.request({ url: '/worker/goods/category/worker/edit', method: 'GET', data: params }) return res[1].data; }, async qrPay(params = {}) { let res = await uni.request({ url: '/pay/ali/qr', method: 'POST', data: params.orderMasterId }) return res[1].data; }, async priceAddedQrPay(params = {}) { let res = await uni.request({ url: '/pay/ali/addQr', method: 'POST', data: params.orderDetailId }) return res[1].data; }, async updateMasterOrder(params = {}) { let res = await uni.request({ url: '/order/master/editOrderMaster', method: 'POST', data: params }) return res[1].data; }, async addWorkerCertify(params = {}) { let res = await uni.request({ url: '/worker/certification/app/add', method: 'POST', data: params }) return res[1].data; }, async getWorkerCertify(params = {}) { let res = await uni.request({ url: '/worker/certification/app/getByWorkerId', method: 'POST', data: params }) return res[1].data; }, async orderStatistics(params = {}) { let res = await uni.request({ url: '/order/app/statistics', method: 'POST', data: params }) return res[1].data; }, async rejectDetailOrder(params = {}) { let res = await uni.request({ url: '/order/detail/app/order/reject', method: 'POST', data: params }) return res[1].data; }, async rejectMasterOrderWhenAccepted(params = {}) { let res = await uni.request({ url: '/order/master/console/cancel', method: 'POST', data: params }) return res[1].data; }, async goodsOrderRefund(params = {}) { let res = await uni.request({ url: '/order/master/goodsOrderRefund', method: 'POST', data: params, header: { 'content-type': 'application/x-www-form-urlencoded' } }) return res[1].data; }, async deleteAttachPrice(params = {}) { let res = await uni.request({ url: '/order/attach/deleteByDetailId', method: 'POST', data: params, header: { 'content-type': 'application/x-www-form-urlencoded' } }) return res[1].data; }, async changeOrderPrice(params = {}) { let res = await uni.request({ url: '/order/detail/app/change/price', method: 'POST', data: params }) return res[1].data; }, async getChangeOrderPrice(params = {}) { let res = await uni.request({ url: '/order/detail/app/getChangePrice', method: 'POST', data: params }) return res[1].data; }, async getAfterList() { let res = await uni.request({ url: '/order/detail/after/list', method: 'POST', data: {} }) return res[1].data; }, async editOrder(params = {}) { let res = await uni.request({ url: '/order/detail/app/edit', method: 'POST', data: params }) return res[1].data; }, async editAfterServiceRecord(params = {}) { let res = await uni.request({ url: '/worker/record/edit', method: 'POST', data: params, header: { pageNum: params.pageNum, pageSize: params.pageSize } }) return res[1].data; }, async allocateServiceMoney(params) { let res = await uni.request({ url: '/order/generate/service/order', method: 'POST', data: params }) return res[1].data; }, async checkAuth(authScope, callbackName, callbackSuccessKey) { let _this = this; // 通过 wx.getSetting 先查询一下用户是否授权了authScope let res1 = await wx.getSetting(); if (res1) { if (!res1.authSetting[authScope]) { let res = await _this[callbackName](); if (res && res[callbackSuccessKey]) { return res; } // 用户授权 uni.showToast({ title: '请先授权', icon: 'none', duration: 1500 }) return 'rejected'; } else { return await _this[callbackName](); } } }, async openAndAuthSetting(authScope) { wx.openSetting({ success(res) { if (res[authScope]) { return true; } } }) uni.showToast({ icon: 'error', duration: 1500, title: '授权失败' }) return false; }, async wxGetLocation() { let errCode = null; return new Promise((resolve, reject) => { wx.getLocation({ type: 'gcj02', fail: async (result) => { if (result.errCode === 2) { uni.showToast({ title: '定位获取失败,请确认是否开启定位', icon: 'none', duration: 2500 }) } reject(null) }, success: async (result) => { console.log("success", result); resolve(result) } }) }) }, async callCustomer(params = {}) { let res = await uni.request({ url: '/order/master/callCustomer', method: 'POST', data: params }) return res[1].data; }, async callDetailCustomer(params = {}) { let res = await uni.request({ url: '/order/detail/callCustomer', method: 'POST', data: params }) return res[1].data; }, async addOrderAttach(params = {}) { let res = await uni.request({ url: '/order/attach/appAdd', method: 'POST', data: params, header: { 'content-type': 'application/x-www-form-urlencoded' } }) return res[1].data; }, // 操作流程节点 async addOrderOperate(params = {}) { let res = await uni.request({ url: '/order/operate/app/add', method: 'POST', data: params }) return res[1].data; }, async returnOrder(params = {}) { let res = await uni.request({ url: '/order/detail/app/return', method: 'POST', data: params }) return res[1].data; }, // 获取操作流程节点列表 async getOrderOperate(params = {}) { let res = await uni.request({ url: '/order/operate/app/list', method: 'POST', data: params }) return res[1].data; }, // 验证接单用户保险信息 async certNoTwoElementVerification(params) { let res = await uni.request({ url: '/tool/ali/certNoTwoElementVerification', method: 'POST', data: params }) return res[1].data; }, async getShopAddressList(params = {}) { let res = await uni.request({ url: '/shop/list', method: 'GET', data: params }) return res[1].data; }, async getMasterShopAddressList(workerId) { let res = await uni.request({ url: '/shop/worker/'+workerId, method: 'GET' }) return res[1].data; }, async addShopAddressList(params = {}) { let res = await uni.request({ url: '/shop/add', method: 'POST', data: params }) return res[1].data; }, async editShopAddressList(params = {}) { let res = await uni.request({ url: '/shop/update', method: 'POST', data: params }) return res[1].data; }, async delShopAddressList(customerAddressId) { let res = await uni.request({ url: '/shop/delete/'+customerAddressId, method: 'POST' }) return res[1].data; }, async changeInvoiceStatus(params = {}) { let res = await uni.request({ url: '/order/master/changeInvoiceStatus', method: 'POST', data: params }) return res[1].data; }, async transferOrder(params = {}) { let res = await uni.request({ url: '/order/master/transferOrder', method: 'POST', data: params }) return res[1].data; }, async getByCustomerAddressId(customerAddressId) { let res = await uni.request({ url: '/customer/address/getByCustomerAddressId', method: 'POST', data: { customerAddressId: customerAddressId }, header: { 'content-type': 'application/x-www-form-urlencoded' } }) return res[1].data; }, async getShopDetailWithDistance(params = {}) { let res = await uni.request({ url: '/shop/getShopDetailWithDistance', method: 'POST', data: params }) return res[1].data; }, async getShopsByGoodsId(params = {}) { let res = await uni.request({ url: '/goods/goods/getShopsByGoodsId', method: 'POST', data: params }) return res[1].data; }, async getDeliveryFlow(trackingNumber) { // "trackingNumber": "YT8774104632324", let res = await uni.request({ url: '/order/logistics/query/'+trackingNumber, method: 'GET', data: {} }) return res[1].data; }, async workerResendPlan(params = {}) { let res = await uni.request({ url: '/worker/record/workerResendPlan', method: 'POST', data: params }) return res[1].data; }, async editAfterServiceGoodsRecord(params = {}) { let res = await uni.request({ url: '/worker/record/editGoods', method: 'POST', data: params, header: { pageNum: params.pageNum, pageSize: params.pageSize } }) return res[1].data; }, async saveMasterWorkerRemark(params = {}) { let res = await uni.request({ url: '/order/master/saveMasterWorkerRemark', method: 'POST', data: params }) return res[1].data; }, async getAndSetWorkerInfo(workerId) { let res = await uni.request({ url: '/worker/detail/'+ workerId, method: 'GET' }) let curUserInfo = res[1].data.data; uni.setStorageSync('userProfile', curUserInfo); return res[1].data; }, async workerConfirmReceive(params = {}) { let res = await uni.request({ url: '/worker/record/workerConfirmReceive', method: 'POST', data: params }) return res[1].data; }, }