diff --git a/wuye-manager-uniapp/App.vue b/wuye-manager-uniapp/App.vue index 29a0351..89f7bc6 100644 --- a/wuye-manager-uniapp/App.vue +++ b/wuye-manager-uniapp/App.vue @@ -4,6 +4,7 @@ import { onLaunch, onShow, onHide } from '@dcloudio/uni-app' let pushCIDRetryCount = 0 const MAX_RETRY = 5 let retryTimer = null +let pushCIDFetching = false // 防止并发请求 // 应用启动时执行 onLaunch(() => { @@ -13,27 +14,32 @@ onLaunch(() => { }) // #ifdef APP-PLUS - // 只有 App 平台才获取 CID,延迟 1 秒等推送服务就绪 + // 延迟 2 秒等推送服务完全就绪后再获取 CID setTimeout(() => { getPushCID() - }, 1000) + }, 2000) // #endif }) onShow(() => { console.log('App Show') // #ifdef APP-PLUS - // 每次回到前台都重新获取 CID,防止 CID 过期失效 + // 从后台恢复时,如果 CID 已经获取过且未过期,不再重复请求 + const existingCid = uni.getStorageSync('push_cid') + if (existingCid) { + console.log('已有缓存 CID,跳过重复获取') + return + } pushCIDRetryCount = 0 setTimeout(() => { refreshPushCID() - }, 500) + }, 1000) // #endif }) onHide(() => { console.log('App Hide') - // 清除重试定时器,避免后台无效重试 + pushCIDFetching = false if (retryTimer) { clearTimeout(retryTimer) retryTimer = null @@ -43,9 +49,12 @@ onHide(() => { // 刷新 CID(每次 onShow 调用,比对更新) function refreshPushCID() { + if (pushCIDFetching) return const oldCid = uni.getStorageSync('push_cid') || '' + pushCIDFetching = true uni.getPushClientId({ success: res => { + pushCIDFetching = false const newCid = res.cid if (!newCid) { console.warn('获取到的 CID 为空,视为失败') @@ -62,6 +71,7 @@ function refreshPushCID() { } }, fail: err => { + pushCIDFetching = false console.error('获取推送 CID 失败', err) scheduleRetry() } @@ -70,8 +80,11 @@ function refreshPushCID() { // 启动时首次获取 CID(重试更积极) function getPushCID() { + if (pushCIDFetching) return + pushCIDFetching = true uni.getPushClientId({ success: res => { + pushCIDFetching = false const cid = res.cid if (!cid) { console.warn('获取到的 CID 为空,视为失败') @@ -84,6 +97,7 @@ function getPushCID() { // TODO: 将 CID 上报到服务器 }, fail: err => { + pushCIDFetching = false console.error('获取推送 CID 失败', err) scheduleRetry() } diff --git a/wuye-manager-uniapp/api/api.js b/wuye-manager-uniapp/api/api.js index da7b991..22d2c0b 100644 --- a/wuye-manager-uniapp/api/api.js +++ b/wuye-manager-uniapp/api/api.js @@ -118,3 +118,9 @@ export const getFeeTypes = () => { export const getTableList = (data) => { return get('/api/butler/actualReceipt/stats', data) } + +// =======收费总览======== +// 收费总览表格列表数据 +export const getFeeOverviewList = (data) => { + return get('/api/butler/feeOverview/stats', data) +} diff --git a/wuye-manager-uniapp/api/request.js b/wuye-manager-uniapp/api/request.js index d7c70eb..c142941 100644 --- a/wuye-manager-uniapp/api/request.js +++ b/wuye-manager-uniapp/api/request.js @@ -11,6 +11,7 @@ export default function request(url, data = {}, method = 'GET') { url: baseUrl + url, data: data, method: method, + timeout: 15000, header: { Authorization: 'Bearer ' + (uni.getStorageSync('token') || ''), clientid: 'butler', diff --git a/wuye-manager-uniapp/api/statisticsApi.js b/wuye-manager-uniapp/api/statisticsApi.js new file mode 100644 index 0000000..daad328 --- /dev/null +++ b/wuye-manager-uniapp/api/statisticsApi.js @@ -0,0 +1,34 @@ +import request, { + get, + post, + upload +} from './request.js' + + + +// =======收费统计======== + +// 管理面积/服务户数 +export const getManagedArea = data => { + return get('/api/butler/feeOverview/overview', data) +} +// 入住率/出租率 +export const getRate = data => { + return get('/api/butler/feeOverview/rate', data) +} +// 收费总览 +export const getFeeSummary = data => { + return get('/api/butler/feeOverview/summary', data) +} +// 车位收费总览 +export const getParkingFee = data => { + return get('/api/butler/feeOverview/parking', data) +} +// 押金余额统计 +export const getDepositBalance = data => { + return get('/api/butler/feeOverview/depositBalance', data) +} +// 巡检总览 +export const getInspection = data => { + return get('/api/butler/feeOverview/inspection', data) +} diff --git a/wuye-manager-uniapp/manifest.json b/wuye-manager-uniapp/manifest.json index 82d2a76..857cb04 100644 --- a/wuye-manager-uniapp/manifest.json +++ b/wuye-manager-uniapp/manifest.json @@ -10,7 +10,7 @@ "nvueStyleCompiler" : "uni-app", "compilerVersion" : 3, "splashscreen" : { - "alwaysShowBeforeRender" : true, + "alwaysShowBeforeRender" : false, "waiting" : true, "autoclose" : true, "delay" : 0, diff --git a/wuye-manager-uniapp/pageSubPack/setting/setting.vue b/wuye-manager-uniapp/pageSubPack/setting/setting.vue index 7326437..4a5be0e 100644 --- a/wuye-manager-uniapp/pageSubPack/setting/setting.vue +++ b/wuye-manager-uniapp/pageSubPack/setting/setting.vue @@ -1,14 +1,14 @@