439 lines
22 KiB
JavaScript
439 lines
22 KiB
JavaScript
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: '<img src="/static/bthgIcon/loading.gif">'
|
||
// });
|
||
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
|
||
}
|
||
} |