import md5 from '../sys/md5.js'; import sha1 from '../sys/sha1.js'; import datas from './datas.js'; import ksort from '../sys/ksort.js'; import theme from '../../config/theme.js'; import config from '../../config/config.js'; import urlConfig from '../../config/urlConfig.js'; import http from './http.js'; //身份类型 const identityData = [ { id: 101, name: '身份证(含临时身份证)' }, { id: 102, name: '护照(限外籍人士)' }, { id: 103, name: '港澳居民来往内地通行证' }, { id: 104, name: '台湾居民来往大陆通行证' }, { id: 105, name: '军官证' }, { id: 106, name: '武警警察身份证' }, { id: 201, name: '统一社会信用代码证书' }, { id: 202, name: '组织机构代码证' }, { id: 203, name: '营业执照' }, { id: 204, name: '事业单位法人证书' }, { id: 205, name: '社会团体法人登记证书' }, { id: 206, name: '律师事务所执业许可证' }, { id: 217, name: '公司商业登记副本(3个月内)' }, { id: 218, name: '公司营业税单M8副本' }, { id: 219, name: '公司营业税开业/更改M1副本' } ]; const deviceModel = [ { name: '万集', value: 'WJ' }, { name: '聚利', value: 'JL' }, { name: '金溢', value: 'JY' }, { name: '埃特斯', value: 'AT' }, { name: '建投', value: 'JT' }, { name: '握奇', value: 'WQ' }, { name: '成谷', value: 'CG' }, { name: '天地融', value: 'TD' }, { name: '智载', value: 'ZZ' } ]; /********************** 路由跳转 **********************/ //保留当前页面,跳转到应用内的某个页面 function toUrl(url) { uni.showToast({ //显示消息提示框 此处是提升用户体验的作用 title: '加载中', icon: 'loading' }); // if (url.indexOf("?")==-1){ // url += '?rand=' + datas.randomNum(1000,9999) // }else{ // url += '&rand=' + datas.randomNum(1000,9999) // } console.log('url:*****' + url); uni.navigateTo({ url: url, complete: function (response) { uni.hideToast(); } }); } //关闭当前页面,返回上一页面或多级页面。 function navigateBack(delta, successFunc = null, failFunc = null) { uni.navigateBack({ delta: delta, success: function (res) { //接口调用成功的回调函数 if (successFunc != null) { successFunc(res); } }, fail: function (res) { //接口调用失败的回调函数 if (failFunc != null) { failFunc(res); } }, complete: function (res) {} //接口调用结束的回调函数(调用成功、失败都会执行) }); } /********************** showModalAlert ************************/ function showModalAlert(content, successFunc = null, failFunc = null, title = '温馨提示', showCancel = false) { uni.showModal({ title: title, content: content, showCancel: showCancel, //是否显示取消按钮 cancelText: '取消', //默认是“取消” cancelColor: theme.cancelModalColor, //取消文字的颜色 confirmText: '确定', //默认是“确定” confirmColor: theme.modalColor, //确定文字的颜色 success: function (res) { //接口调用成功的回调函数 if (successFunc != null) { successFunc(res); } }, fail: function (res) { //接口调用失败的回调函数 if (failFunc != null) { failFunc(res); } }, complete: function (res) {} //接口调用结束的回调函数(调用成功、失败都会执行) }); } /*******************showToastAlert********************/ function showToastAlert(title = '成功', icon = 'none', image = '', duration = 2000, mask = true, successFunc = null, failFunc = null, completeFun = null) { uni.showToast({ title: title, icon: icon, //success显示成功图标,loading显示加载图标,none不显示图标 image: image, duration: duration, mask: mask, ////是否显示透明蒙层,防止触摸穿透 success: function (res) { //接口调用成功的回调函数 if (successFunc != null) { successFunc(res); } }, fail: function (res) { //接口调用失败的回调函数 if (failFunc != null) { failFunc(res); } }, complete: function (res) { //接口调用结束的回调函数(调用成功、失败都会执行) if (completeFun != null) { completeFun(res); } } }); } /******************showLoadingAlert************************/ function showLoadingAlert(title = '加载中...', mask = true, successFunc = null, failFunc = null, completeFun = null) { uni.showLoading({ title: title, mask: mask, //是否显示透明蒙层,防止触摸穿透 success: function (res) { //接口调用成功的回调函数 if (successFunc != null) { successFunc(res); } }, fail: function (res) { //接口调用失败的回调函数 if (failFunc != null) { failFunc(res); } }, complete: function (res) { //接口调用结束的回调函数(调用成功、失败都会执行) if (completeFun != null) { completeFun(res); } } }); } function hideLoadingAlert(successFunc = null, failFunc = null, completeFun = null) { uni.hideLoading({ success: function (res) { //接口调用成功的回调函数 if (successFunc != null) { successFunc(res); } }, fail: function (res) { //接口调用失败的回调函数 if (failFunc != null) { failFunc(res); } }, complete: function (res) { //接口调用结束的回调函数(调用成功、失败都会执行) if (completeFun != null) { completeFun(res); } } }); } //签名 function sign(data, signCode) { data = ksort.ksort(data); var signStr = ''; var requestId = false; for (let k in data) { if (k != 'sign') { if (k == 'requestId') { requestId = data[k]; } signStr += k + '=' + data[k] + '&'; } } signStr += 'signCode=' + signCode; // console.log("signStr*************"+signStr); if (!requestId) { return false; } signStr = md5.i(signStr); signStr = signStr.toUpperCase(); // console.log('MD5**************' + signStr); signStr += requestId; // console.log('requestId**************' + signStr); signStr = sha1.i(signStr); signStr = signStr.toUpperCase(); // console.log('SHA1**************' + signStr); return signStr; } //字符串加密 function md5Str(str) { var _str = md5.i(str); return _str; } function sha1Str(str) { var _str = sha1.i(str); return _str; } //加载 // function loading(msg = "加载中") { // wx.showToast({ //显示消息提示框 此处是提升用户体验的作用 // title: msg, // icon: 'loading', // duration: 60000, //提示的延迟时间 // mask: true, //是否显示透明蒙层,防止触摸穿透 // }); // } //对话 // function showAlertv2(content, func = nu l l, titl e = "温馨提示") { // wx.hideLoading(); // wx.showModal({ // title: title, // content: content, // showCancel : false,//是否显示取消按钮 // cancelTex "否",//默认是“取消” // cancelColor: theme.modalColo//取消文字的颜色 // confirmText: "确定",//默认是“确定” // confirmColor: theme.modalColor,//确定文字的颜色 // success: function (res) { // if (func != null) { // func(res); // } // }, // fail: function (res) { },//接口调用失败的回调函数 // complete: function (res) { },//接口调用结束的回调函数(调用成功、失败都会执行) // }) // } //公用的获取车牌颜色 function getVehicleColor(callback) { http.sendPostv2(config.serviceMiniURL + urlConfig.vehiclePlateColor, {}, function (res) { if (res.rc != '00') { return; } if (callback != null) { callback(res); } }); } function getVehicleColorBYcode(code, callback) { getVehicleColor(function (res) { callback( res.rd.filter((item) => { return item.code == code; })[0].name ); }); } //获取开户行 function getEtcBankList(callback) { http.sendPostv2(config.aftersaleURL + urlConfig.etcBankList, {}, function (res) { if (res.rc != '00') { alertF(res.rm); return; } if (callback != null) { callback(res.rd); } }); } /** * 判断用户是否关注公众号 */ function isFollow(callback) { var requestData = new Array(); requestData['openId'] = datas.getData('wxOpenId'); var requestData = datas.arrayToJson(requestData); http.sendPostv2(config.etcNewUrl + urlConfig.isFollow, requestData, function (res) { if (res.rc != '00') { alertF(res.rm); return; } if (callback != null) { callback(res.rd.subscribe); } }); } function alertF(msg) { //隐藏加载框 hideLoadingAlert(); //提示对话框 showModalAlert(msg); } function alertFback(msg, backcall) { //隐藏加载框 hideLoadingAlert(); //提示对话框 showModalAlert(msg, backcall); } /* 调用核心接口,外层接口共用(暂用于发票模块) */ function coreInter(url, param, successFun, failFun) { var initSignUrl = config.zeusURL + urlConfig.htlUrl; var requestData = new Array(); requestData['requestId'] = datas.getDate() + datas.generateMixed(10); requestData['accessCode'] = 'etc'; requestData['distinction'] = url; requestData['data'] = JSON.stringify(param); requestData['sign'] = sign(requestData, config._signCode); var requestData = datas.arrayToJson(requestData); showLoadingAlert('加载中'); http.sendPostv2(initSignUrl, requestData, function (res) { hideLoadingAlert(); if (res.rc != '00') { alertF(res.rm); return; } if (!res.rd.success) { failFun ? failFun() : alertF(res.rd.msg); return; } successFun(res); }); } /** * 车牌数字转车牌中文 */ function vehiclePlateStr(num, successFun) { var vehicleColorStr; switch (num) { case 0: vehicleColorStr = '蓝色'; successFun(vehicleColorStr); break; case 1: vehicleColorStr = '黄色'; successFun(vehicleColorStr); break; case 2: vehicleColorStr = '黑色'; successFun(vehicleColorStr); break; case 3: vehicleColorStr = '白色'; successFun(vehicleColorStr); break; case 4: vehicleColorStr = '渐变绿色'; successFun(vehicleColorStr); break; case 5: vehicleColorStr = '黄绿双拼色'; successFun(vehicleColorStr); break; case 6: vehicleColorStr = '蓝白渐变色'; successFun(vehicleColorStr); break; case 7: vehicleColorStr = '临时牌照'; successFun(vehicleColorStr); break; case 9: vehicleColorStr = '未确定'; successFun(vehicleColorStr); break; case 11: vehicleColorStr = '绿色'; successFun(vehicleColorStr); break; case 12: vehicleColorStr = '红色'; successFun(vehicleColorStr); break; default: vehicleColorStr = '未知'; successFun(vehicleColorStr); break; } } module.exports = { coreInter, toUrl, navigateBack, showModalAlert, showToastAlert, showLoadingAlert, hideLoadingAlert, sign, getVehicleColor, getVehicleColorBYcode, getEtcBankList, // showAlertv2, // loading, md5Str, sha1Str, alertF, alertFback, identityData, deviceModel, isFollow, vehiclePlateStr };