YZProjectCloud/yanzhu-ui-app/miniprogram/app.js

190 lines
6.0 KiB
JavaScript
Raw Normal View History

2024-10-13 11:24:45 +08:00
import {
getToken
} from '/utils/auth'
//全局分享
! function () {
var PageTmp = Page;
Page = function (pageConfig) {
// 设置全局默认分享
pageConfig = Object.assign({
//右上角分享功能
onShareAppMessage() {
return {
title: '智慧工地优管', //分享标题
path: '/pages/login/login', //分享用户点开后页面
success(res) {
console.log('分享成功!')
}
}
}
}, pageConfig);
PageTmp(pageConfig);
};
}();
App({
globalData: {
userData: null,
2025-01-05 23:27:05 +08:00
useProData: null,
2024-12-29 21:35:34 +08:00
subDeptUserData: null,
2024-10-13 11:24:45 +08:00
useProjectId: '',
useProjectName: '',
2024-12-29 11:46:50 +08:00
searchProject: {},
2024-10-13 11:24:45 +08:00
projectInfoList: [],
},
2024-10-13 15:40:15 +08:00
onLaunch: function (options) {
2024-10-13 11:24:45 +08:00
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
wx.cloud.init({
// env 参数说明:
// env 参数决定接下来小程序发起的云开发调用wx.cloud.xxx会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
// env: 'my-env-id',
traceUser: true,
})
}
this.autoUpdate();
2024-12-17 20:25:21 +08:00
2024-10-13 11:24:45 +08:00
/**
* 初始化页面未登录时跳转到登录页
*/
2024-12-17 20:25:21 +08:00
if(options && options.query && options.query.QRPID){
2024-10-13 15:40:15 +08:00
//扫码进入时不效验登录...跳转授权登录页
2024-10-18 14:19:59 +08:00
console.log("扫码进入时不效验登录...跳转授权登录页");
2024-10-13 15:40:15 +08:00
}else{
if (!getToken()) {
// setTimeout(() => {
// this.toast("请使用手机号码登录");
// }, 1000);
wx.redirectTo({
2025-05-18 10:49:15 +08:00
url: '/pages/login/login',
2024-10-13 15:40:15 +08:00
});
}
2024-10-13 11:24:45 +08:00
}
},
onLoad() {
},
2024-12-20 20:24:08 +08:00
/**
* 安全加载
*/
securityLoading(){
setTimeout(() => {
wx.hideLoading();
}, 60000);
},
2024-10-13 11:24:45 +08:00
//页面弹窗
2025-02-16 10:30:12 +08:00
toast: function (msg, type, time) {
2024-10-13 11:24:45 +08:00
wx.showToast({
title: msg,
icon: type === undefined ? 'none' : type,
2025-02-16 10:30:12 +08:00
duration: time === undefined ? 1200: time,
2024-10-13 11:24:45 +08:00
mask: true
});
},
/**
* 计算时差
* @param {*} val
*/
getDurationDate: function (val) {
// 计算出相差天数
let days = Math.floor(val / (24 * 3600 * 1000))
// 计算出小时数
let leave1 = val % (24 * 3600 * 1000) // 计算天数后剩余的毫秒数
let hours = Math.floor(leave1 / (3600 * 1000))
// 计算相差分钟数
let leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数
let minutes = Math.floor(leave2 / (60 * 1000))
// 计算相差秒数
let leave3 = leave2 % (60 * 1000) // 计算分钟数后剩余的毫秒数
let seconds = Math.round(leave3 / 1000)
if (days > 0) {
if (days < 10) days = "0" + days;
if (hours < 10) hours = "0" + hours;
if (minutes < 10) minutes = "0" + minutes;
if (seconds < 10) seconds = "0" + seconds;
return days + '天' + hours + '小时' + minutes + '分钟' + seconds + '秒';
}
if (hours > 0) {
if (hours < 10) hours = "0" + hours;
if (minutes < 10) minutes = "0" + minutes;
if (seconds < 10) seconds = "0" + seconds;
return hours + '小时' + minutes + '分钟' + seconds + '秒';
}
if (minutes > 0) {
if (minutes < 10) minutes = "0" + minutes;
if (seconds < 10) seconds = "0" + seconds;
return minutes + '分钟' + seconds + '秒';
}
if (seconds > 0) {
if (seconds < 10) seconds = "0" + seconds;
return seconds + '秒';
}
},
//版本自动更新
autoUpdate: function () {
var self = this
// 获取小程序更新机制兼容
if (wx.canIUse('getUpdateManager')) {
const updateManager = wx.getUpdateManager()
//1. 检查小程序是否有新版本发布
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
if (res.hasUpdate) {
//2. 小程序有新版本,则静默下载新版本,做好更新准备
updateManager.onUpdateReady(function () {
wx.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function (res) {
if (res.confirm) {
//3. 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
} else if (res.cancel) {
//如果需要强制更新,则给出二次弹窗,如果不需要,则这里的代码都可以删掉了
wx.showModal({
title: '温馨提示~',
content: '本次更新可能会导致旧版本无法正常访问,请使用新版本',
success: function (res) {
self.autoUpdate()
//第二次提示后,强制更新
// if (res.confirm) {
// // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
// updateManager.applyUpdate()
// } else if (res.cancel) {
// //重新回到版本更新提示
// self.autoUpdate()
// }
}
})
}
}
})
})
updateManager.onUpdateFailed(function () {
// 新的版本下载失败
wx.showModal({
title: '已经有新版本了哟~',
content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
})
})
}
})
} else {
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
}
})