zhgdyunapp_vue3/main.js

439 lines
22 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}