zhgdyunapp_vue3/main.js

476 lines
23 KiB
JavaScript
Raw Normal View History

import App from './App'
import {
createSSRApp
} from 'vue'
import './uni.promisify.adaptor'
// import VueResource from "vue-resource";
// main.js
import "./utils/noScale.js"
// 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 uView from "./vk-uview-ui";
import uView from './uview-ui'
// import uView from 'uview-ui'
// import uView from '@/uni_modules/vk-uview-ui';
// import '@/utils/rem.js'
// import "/utils/webview.js"
//把表单字段组件注册到全局,解决跨平台兼容的容器组件循环引用问题
import WFormItem from '@/components/WFormItem.vue'
import RoutingPopup from '@/components/form/routingPopup/routingPopup';
import PreviewIframe from '@/components/previewIframe/previewIframe.vue';
import {
Row,
Col,
Popup,
Icon,
Field
} from 'vant';
export function createApp() {
const app = createSSRApp(App)
app.component('WFormItem', WFormItem);
app.component('RoutingPopup', RoutingPopup);
app.component('PreviewIframe', PreviewIframe);
app.use(Popup);
app.use(Field);
app.use(Icon);
app.use(Row);
app.use(Col);
app.use(uView);
// 如此配置即可
// uni.$u.config.unit = 'rpx'
app.component('uni-icons2', uniIcons2)
//全局变量
// 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 = "" // 标准版
if (process.env.NODE_ENV === 'development') {
// 开发环境
console.log('开发环境')
2025-05-30 14:29:20 +08:00
// 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/' //郭圣雄本地
2025-05-30 14:29:20 +08:00
app.config.globalProperties.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地
app.config.globalProperties.work_url = 'http://192.168.34.133:5173' // 工作流地址
// 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.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
}
function recursiveSearchFn(dataList, resultList = []) {
dataList.forEach(item => {
if (item.appShow == 1) {
// return item;
item.operation = true;
resultList.push(item);
}
if (Array.isArray(item.menuList) && item.menuList.length > 0) {
return recursiveSearchFn(item.menuList, resultList);
}
});
return resultList;
};
app.config.globalProperties.$recursiveSearchFn = recursiveSearchFn;
function recursiveSearch(dataList, appPath) {
return dataList.find(item => {
// console.log(item.path, appPath, item.menuName)
const path = item.path ? item.path : item.modulePath;
if (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;
let reqNum = 0;
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 && reqNum == 0) {
// uni.setLoadingOptions({
// title: '加载中...',
// customLoading: '<img src="/static/bthgIcon/loading.gif">'
// });
uni.showLoading({
title: '加载中...',
});
// return
}
reqNum++;
console.log("网络请求start", reqNum);
// 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: () => {
typeof param.complete == "function" && param.complete();
2025-05-30 14:29:20 +08:00
console.log("网络请求end", reqNum);
if (reqNum <= 0) return;
reqNum--;
if (!hideLoading && reqNum == 0) {
uni.hideLoading();
}
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() {
let scale = 0;
uni.getSystemInfo({
success: function(res) {
2025-05-30 14:29:20 +08:00
console.log(res.windowWidth)
const width = (res.windowWidth > 760 ? 1920 : 1520)
scale = res.windowWidth / width;
}
})
console.log(888444888, 58 * Math.min(scale, 2), scale)
return 58 * Math.min(scale, 2)
}
//配置到全局方便使用
app.config.globalProperties.$pageSize = sizeFun();
return {
app
}
}