import App from './App' import { createSSRApp } from 'vue' import './uni.promisify.adaptor' // import VueResource from "vue-resource"; // main.js import uView from "./uview-ui"; // H5控制台********** // let consoleScript = document.createElement("script"); // consoleScript.src = "https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js"; // consoleScript.onload = function () { // new VConsole() // } // document.head.appendChild(consoleScript); // // H5控制台********** // // import VConsole from 'vconsole'//h5控制台 // // const vConsole = new VConsole()//h5控制台 // // Vue.use(vConsole)//h5控制台 // Vue.use(VueResource) // import UniIcons from './uni_modules/uni-icons/components/uni-icons/uni-icons.vue' // Vue.use('UniIcons') // 由于引入的icons的命名会跟项目文件里的冲突,所以随便往命名加了个2,区分开来 import uniIcons2 from './uni_modules/uni-icons/components/uni-icons/uni-icons.vue' // import "/utils/webview.js" //把表单字段组件注册到全局,解决跨平台兼容的容器组件循环引用问题 import WFormItem from '@/components/WFormItem.vue' import RoutingPopup from '@/components/form/routingPopup/routingPopup' import { Popup, Icon } from 'vant'; export function createApp() { const app = createSSRApp(App) app.component('WFormItem', WFormItem); app.component('RoutingPopup', RoutingPopup); app.use(Popup); app.use(Icon); //全局变量 // app.config.globalProperties.mobileTopHeight = uni.getMenuButtonBoundingClientRect()?uni.getMenuButtonBoundingClientRect().top:0; // app.config.globalProperties.url_config = '' // app.config.globalProperties.COMPANY = "longguang" // app.config.globalProperties.COMPANY = "nanchang" // app.config.globalProperties.COMPANY = "sanjiang" //(部署三江h5需要打开/pages/projectManage/projectManage,页面onload内容) // app.config.globalProperties.COMPANY = "zjwj" // app.config.globalProperties.COMPANY = "sccr" // app.config.globalProperties.COMPANY = "agjt" // 鞍钢集团环境 // app.config.globalProperties.COMPANY = "cpgs" // 成平高速环境 app.config.globalProperties.COMPANY = "" // 标准版 app.use(uView); app.component('uni-icons2', uniIcons2) if (process.env.NODE_ENV === 'development') { // 开发环境 console.log('开发环境') // app.config.globalProperties.url_config = "http://219.147.96.219:9809/" // 包头(正式) // app.config.globalProperties.work_url = "http://219.147.96.219:19997" // 包头工作流线上地址(正式) // app.config.globalProperties.url_config = "http://jxj.zhgdyun.com:18000/" // 包头 // app.config.globalProperties.work_url = "http://jxj.zhgdyun.com:18004" // 工作流线上地址 // app.config.globalProperties.url_config = 'http://47.93.215.234:9809/' // 鞍钢正式地址(弃用) // app.config.globalProperties.url_config = 'http://42.180.188.17:9809/' // 鞍钢正式地址 // app.config.globalProperties.url_config = 'http://42.180.188.17:11211/' // 鞍钢测试地址 // app.config.globalProperties.url_config = 'http://182.90.224.237:51234/' //雄哥内网穿透地址 // app.config.globalProperties.url_config = 'http://jxj.zhgdyun.com:61212/' //杰哥内网穿透地址 // app.config.globalProperties.url_config = 'http://192.168.34.221:28888/' //郭圣雄本地 app.config.globalProperties.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地 // app.config.globalProperties.url_config = 'http://182.90.224.237:51234/' //郭圣雄本地 // app.config.globalProperties.url_config = 'http://192.168.34.155:19111/' //彭洁本地 // app.config.globalProperties.work_url = 'http://47.93.215.234:19997' // 工作流线上地址(弃用) // app.config.globalProperties.work_url = 'http://42.180.188.17:19997' // 工作流线上地址 // app.config.globalProperties.work_url = 'http://42.180.188.17:19097' // 工作流测试地址 app.config.globalProperties.work_url = 'http://192.168.34.133:5173' // 工作流地址 // app.config.globalProperties.work_url = 'http://192.168.34.138:5173' // 工作流地址 // app.config.globalProperties.work_url = 'http://139.9.66.234:5173' // 工作流地址 // app.config.globalProperties.work_url = 'http://192.168.34.126:5173' // 工作流地址 // app.config.globalProperties.url_config = 'http://8.142.139.165:7080/' // 湖里 // app.config.globalProperties.url_config = 'http://139.9.66.234:5173/' // app.config.globalProperties.url_config = 'http://192.168.34.125:6023/' // app.config.globalProperties.url_config = 'http://182.90.224.237:7000/' //广西联通 // app.config.globalProperties.url_config = 'http://124.71.67.160:8088/'//中建四局 // app.config.globalProperties.url_config = 'http://192.168.34.148:6023' //广西联通/本地 // app.config.globalProperties.url_config = 'http://223.82.100.80:9000/' // app.config.globalProperties.url_config = 'http://120.236.247.200:9000/' // app.config.globalProperties.url_config = 'http://zhgd.loganwy.com/' // app.config.globalProperties.url_config = 'http://183.60.227.61:30249/' // app.config.globalProperties.url_config = 'http://183.60.227.61:30249/' // app.config.globalProperties.url_config = 'http://124.71.178.44:9000/' // app.config.globalProperties.url_config = "http://58.34.63.88:9090/" // app.config.globalProperties.url_config = "http://183.95.84.34:7185/" // app.config.globalProperties.url_config = "http://218.92.215.138:9090/" //新佳城小区 123456 // app.config.globalProperties.url_config = "http://36.137.53.203:9090/" //南昌地铁 gdjt 123456 // app.config.globalProperties.url_config = 'http://124.71.178.44:8/' // app.config.globalProperties.url_config = 'http://124.71.87.250/' // app.config.globalProperties.url_config = 'http://124.71.178.44:8012' // 河南 // app.config.globalProperties.url_config = 'http://182.90.224.147:100/' //演示平台 // app.config.globalProperties.url_config = 'http://192.168.34.116:6023/'//邱平毅本地 // app.config.globalProperties.url_config = 'http://182.90.224.147:18170'//瑞士恒通 // app.config.globalProperties.url_config = 'https://jxjzhgd.yyvtl.com:8443/'//三江 // app.config.globalProperties.url_config = 'http://192.168.34.221:30002'//郭圣熊本地 // app.config.globalProperties.url_config = 'http://192.168.34.221:8188'//中建四局本地 // app.config.globalProperties.url_config = 'http://101.43.164.214:12350'//中建五局 // app.config.globalProperties.url_config = 'http://42.194.144.62:8088'//新中建四局地址 // app.config.globalProperties.url_config = 'http://192.168.34.221:11111/'//郭圣雄三江本地 // app.config.globalProperties.url_config = 'http://182.90.224.147:15551'//成润线上 // app.config.globalProperties.url_config = 'http://118.121.198.147:23232'//成润正式 // app.config.globalProperties.url_config = 'http://huli.zjzhiliao.com/jxjgdapi'//金林湾测试 // app.config.globalProperties.url_config = 'http://8.136.222.164:8808/'//中科安信 // app.config.globalProperties.url_config = 'http://101.43.164.214:11111/'// 百色三标段 } else { // 生产环境 console.log('生产环境') app.config.globalProperties.url_config = "http://219.147.96.219:9809/" // 包头(正式) app.config.globalProperties.work_url = "http://219.147.96.219:19997" // 包头工作流线上地址(正式) // app.config.globalProperties.url_config = "http://jxj.zhgdyun.com:18000/" // 包头 // app.config.globalProperties.work_url = "http://jxj.zhgdyun.com:18004" // 包头工作流线上地址 // app.config.globalProperties.url_config = 'http://10.168.1.105:11111/' // 线上地址 // app.config.globalProperties.url_config = 'http://10.168.1.104:11111/' // 线上地址 // app.config.globalProperties.url_config = 'http://47.93.215.234:9809/' // 鞍钢线上地址(弃用) // app.config.globalProperties.url_config = 'http://42.180.188.17:9809/' // 鞍钢线上地址 // app.config.globalProperties.url_config = 'http://42.180.188.17:11211/' // 鞍钢线上测试地址 // app.config.globalProperties.url_config = 'http://182.90.224.237:51234/' // 百色三标段 // app.config.globalProperties.url_config = 'http://192.168.34.221:9111/' // 百色三标段 // app.config.globalProperties.work_url = 'http://47.93.215.234:19997' // 工作流线上地址(弃用) // app.config.globalProperties.work_url = 'http://42.180.188.17:19997' // 工作流线上地址 // app.config.globalProperties.work_url = 'http://42.180.188.17:19097' // 工作流测试地址 // app.config.globalProperties.work_url = 'http://192.168.34.139:5173' // 工作流地址 // app.config.globalProperties.url_config = 'http://182.90.224.147:100/' //演示平台 // app.config.globalProperties.url_config ='http://124.71.178.44:8012/' // 河南 // app.config.globalProperties.url_config = 'http://8.142.139.165:7080/' //湖里 // app.config.globalProperties.url_config = 'http://139.9.66.234:8/' // app.config.globalProperties.url_config = 'http://192.168.34.125:6023/' // app.config.globalProperties.url_config = 'http://182.90.224.237:7000/' //广西联通 // app.config.globalProperties.url_config = 'http://124.71.67.160:8088/' //中建四局 // app.config.globalProperties.url_config = 'http://192.168.34.148:6023' //广西联通/本地 // app.config.globalProperties.url_config = 'http://223.82.100.80:9000/' // app.config.globalProperties.url_config = 'http://120.236.247.200:9000/' // app.config.globalProperties.url_config = "http://58.34.63.88:9090/" // app.config.globalProperties.url_config = 'http://124.71.178.44:9000/' // app.config.globalProperties.url_config = "http://183.95.84.34:7185/" // app.config.globalProperties.url_config = "http://36.137.53.203:9090/" // app.config.globalProperties.url_config = 'http://192.168.34.125:6023/' // app.config.globalProperties.url_config = 'http://183.60.227.61:30249/' // app.config.globalProperties.url_config = 'http://zhgd.loganwy.com/' // app.config.globalProperties.url_config = "http://36.137.53.203:9090/" // app.config.globalProperties.url_config = 'http://124.71.87.250/' // app.config.globalProperties.url_config = 'http://192.168.34.116:6023/'//邱平毅本地 // app.config.globalProperties.url_config = 'http://182.90.224.147:18170/'//瑞士恒通 // app.config.globalProperties.url_config = 'https://jxjzhgd.yyvtl.com:8443/'//三江 // app.config.globalProperties.url_config = 'http://192.168.34.221:8188/'//中建四局本地 // app.config.globalProperties.url_config= 'http://101.43.164.214:12350/'//中建五局 // app.config.globalProperties.url_config = 'http://42.194.144.62:8088/'//新中建四局地址 // app.config.globalProperties.url_config = 'http://192.168.34.221:11111/'//郭圣雄三江本地 // app.config.globalProperties.url_config = 'http://182.90.224.147:15551/'//成润线上 // app.config.globalProperties.url_config = 'http://118.121.198.147:23232/'//成润正式 // app.config.globalProperties.url_config = 'http://192.168.34.221:30002/'//郭圣雄本地 // app.config.globalProperties.url_config = 'http://101.43.164.214:45022/'//盘锦 // app.config.globalProperties.url_config = 'http://183.249.224.118:9000/'// 嘉兴项目 // app.config.globalProperties.url_config = 'http://jxj.zhgdyun.com:30250/#/'// 演示平台H5 // app.config.globalProperties.url_config = 'http://101.43.164.214:11111/'// 百色三标段 // app.config.globalProperties.url_config = 'http://8.136.222.164:8808/'//中科安信 } app.config.globalProperties.$formatDates = formatDates; //时间戳转换方法 date:时间戳数字 function formatDates(date, fmt = 'yyyy-MM-dd HH:mm:ss') { if (!date) { return '' } if (date.length == 10) { date = date * 1000; } if (typeof date === 'string') { date = date.replace('T', ' ').replace('Z', ''); date = new Date(date.replace(/-/g, '/')) } if (typeof date === 'number') { date = new Date(date) } var o = { 'M+': date.getMonth() + 1, 'd+': date.getDate(), 'h+': date.getHours() % 12 === 0 ? 12 : date.getHours() % 12, 'H+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds(), 'q+': Math.floor((date.getMonth() + 3) / 3), 'S': date.getMilliseconds() } var week = { '0': '\u65e5', '1': '\u4e00', '2': '\u4e8c', '3': '\u4e09', '4': '\u56db', '5': '\u4e94', '6': '\u516d' } if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)) } if (/(E+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? '\u661f\u671f' : '\u5468') : '') + week[date.getDay() + '']) } for (var k in o) { if (new RegExp('(' + k + ')').test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]) .length))) } } return fmt } const recursiveSearch = (dataList, appPath) => { return dataList.find(item => { // console.log(item.path, appPath, item.menuName) if (item.path == appPath) { return item; } if (Array.isArray(item.menuList) && item.menuList.length > 0) { return recursiveSearch(item.menuList, appPath); } return false; }); }; app.config.globalProperties.$recursiveSearch = recursiveSearch; app.config.globalProperties.sendRequest = function(param) { var _self = this, url = param.url, method = param.method, header = param.header || { 'content-type': "application/json" }, data = param.data || {}, token = "", isalert = param.isalert || false, hideLoading = param.hideLoading || false; //拼接完整请求地址 var requestUrl = app.config.globalProperties.url_config + url + '?lang=' + uni.getStorageSync('language'); if (uni.getStorageSync('userInfo') && url != 'xmgl/base/login' && url != 'xmgl/wirelessEducationQuestionSubject/getDeviceRandomEducationQuestion' && url != 'xmgl/wirelessEducationQuestionAnswer/add' && url != 'xmgl/safeEducationQuestionAnswer/getAnswerWorkerInfo' && url != 'xmgl/safeEducationQuestionAnswer/add' && url != 'xmgl/safeEducationQuestion/selectSafeEducationQuestionInfo') { if (JSON.parse(uni.getStorageSync('userInfo')).token) { token = "Bearer " + JSON.parse(uni.getStorageSync('userInfo')).token; header["Authorization"] = token console.log("网络请求 token :" + token); } } // var timestamp = Date.parse(new Date());//时间戳 // data["timestamp"] = timestamp; // #ifdef MP-WEIXIN // data["device"] = "wxapp"; // data["ver"] = "1.1.30"; // #endif // #ifdef APP-PLUS || H5 // data["device"] = "iosapp"; // data["ver"] = "1.0.0"; // #endif if (method) { method = method.toUpperCase(); //小写改为大写 } //加密sessionStorage.getItem("loginData") // if (uni.getStorageSync("loginData") && data != {}) { // console.log(url+"参数"); // console.log(data); // data = encryptByDES(data); // } //用户交互:加载圈 if (!hideLoading) { // uni.setLoadingOptions({ // title: '加载中...', // customLoading: '' // }); uni.showLoading({ title: '加载中...', }); // return } // console.log(requestUrl, "网络请求start"); // console.log(data, "网络请求data===================="); //网络请求 uni.request({ url: requestUrl, method: method, header: header, data: data, success: res => { // console.log("网络请求success:" + JSON.stringify(res.data)); if (res.data.code && res.data.code != 200) { if (res.data.code == 401 || res.data.code == 403) { uni.showToast({ title: '登录过期,请重新登录', icon: "none" }) setTimeout(function() { uni.removeStorageSync('userInfo') // uni.redirectTo({ // url: '/pages/login/compatibleLogin?type=user' // }) uni.redirectTo({ url: '/pages/login/login' }) }, 1000) } else { setTimeout(function() { if (!isalert) { uni.showToast({ title: res.data.message, icon: "none" }) } }, 200) } typeof param.error == "function" && param.error(Data); return; } let Data = res.data; // if (res.data.data && res.data.data.requestData) { // let data = decryptByDES( // res.data.data.requestData, // res.data.data.encrypted // ); // Data.data = JSON.parse(data); // console.log(url + "解密后的数据"); // console.log(Data); // } typeof param.success == "function" && param.success(Data); }, fail: (e) => { console.log("网络请求fail:" + JSON.stringify(e)); console.log(requestUrl, "requestUrl"); // uni.showModal({ // content: "" + e.errMsg // }); uni.showToast({ title: '服务器开小差了呢,请您稍后再试', icon: 'none' }) typeof param.fail == "function" && param.fail(e.data); }, complete: () => { if (!hideLoading) { uni.hideLoading(); } typeof param.complete == "function" && param.complete(); return; } }); } const delayering = (dataList, newResult = []) => { dataList.forEach((item) => { if (Array.isArray(item.menuList) && item.menuList.length > 0) { delayering(item.menuList, newResult) } if (item.menuEquipment == 0 && item.actionList) { newResult.unshift(item) } }) return newResult; } // 判断按钮权限的函数 app.config.globalProperties.checkBtnPermission = function(permission) { var permissions = delayering(JSON.parse(uni.getStorageSync("userInfo")).menuAuthority.menuList); // var permissions = store.state.userInfo.menuAuthority.menuList; // console.log(111, permission.menuPath, permissions) permissions = permissions.filter( (x) => x.path == permission.menuPath )[0]; console.log(permissions, '按钮权限') if (!permissions || !permissions.actionList) { return false; } let index = permissions.actionList.findIndex( (x) => x.actionCode == permission.key ) return index != -1 ? true : false; } app.config.globalProperties.checkMenuPermission = function(permission) { var permissions = JSON.parse(uni.getStorageSync("userInfo")).menuAuthority.menuList; // var permissions = store.state.userInfo.menuAuthority.menuList; permissions = permissions.filter( (x) => x.path == permission.menuPath )[0]; if (!permissions) { return false; } else { return true; } } function sizeFun() { // #ifdef H5 let scale = document.documentElement.clientWidth / 1920; return 58 * Math.min(scale, 2) // #endif // #ifdef APP-PLUS let scale = 0; uni.getSystemInfo({ success: function(res) { scale = res.windowWidth / 1920; } }) console.log(888444888, 58 * Math.min(scale, 2), scale) return 58 * Math.min(scale, 2) // #endif } //配置到全局方便使用 app.config.globalProperties.$pageSize = sizeFun(); return { app } }