diff --git a/package.json b/package.json index 22d5959..970f434 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "@dcloudio/uni-mp-weixin": "3.0.0-4030620241128001", "@dcloudio/uni-mp-xhs": "3.0.0-4030620241128001", "@dcloudio/uni-quickapp-webview": "3.0.0-4030620241128001", + "@tanstack/match-sorter-utils": "^8.19.4", "@tanstack/query-core": "^5.76.0", "@tanstack/vue-query": "^5.62.16", "@vant/area-data": "^2.0.0", @@ -127,9 +128,13 @@ "@uni-helper/vite-plugin-uni-pages": "0.2.20", "@uni-helper/vite-plugin-uni-platform": "^0.0.4", "@unocss/preset-legacy-compat": "^0.59.4", + "@vue/devtools-api": "^7.7.6", + "@vue/devtools-kit": "^7.7.6", + "@vue/devtools-shared": "^7.7.6", "@vue/runtime-core": "^3.4.21", "@vue/tsconfig": "^0.1.3", "autoprefixer": "^10.4.20", + "birpc": "^2.3.0", "commitlint": "^18.6.1", "czg": "^1.9.4", "eslint": "^8.57.1", @@ -139,8 +144,10 @@ "eslint-plugin-import": "^2.31.0", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-vue": "^9.32.0", + "hookable": "^5.5.3", "mockjs": "^1.1.0", "openapi-ts-request": "^1.1.2", + "perfect-debounce": "^1.0.0", "postcss": "^8.4.49", "postcss-html": "^1.7.0", "postcss-scss": "^4.0.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a22990..86da682 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,6 +56,9 @@ importers: '@dcloudio/uni-quickapp-webview': specifier: 3.0.0-4030620241128001 version: 3.0.0-4030620241128001(@vueuse/core@11.3.0(vue@3.4.21(typescript@5.7.2)))(postcss@8.4.49)(rollup@4.28.0)(vue@3.4.21(typescript@5.7.2)) + '@tanstack/match-sorter-utils': + specifier: ^8.19.4 + version: 8.19.4 '@tanstack/query-core': specifier: ^5.76.0 version: 5.76.0 @@ -204,6 +207,15 @@ importers: '@unocss/preset-legacy-compat': specifier: ^0.59.4 version: 0.59.4 + '@vue/devtools-api': + specifier: ^7.7.6 + version: 7.7.6 + '@vue/devtools-kit': + specifier: ^7.7.6 + version: 7.7.6 + '@vue/devtools-shared': + specifier: ^7.7.6 + version: 7.7.6 '@vue/runtime-core': specifier: ^3.4.21 version: 3.5.13 @@ -213,6 +225,9 @@ importers: autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.49) + birpc: + specifier: ^2.3.0 + version: 2.3.0 commitlint: specifier: ^18.6.1 version: 18.6.1(@types/node@20.17.9)(typescript@5.7.2) @@ -240,12 +255,18 @@ importers: eslint-plugin-vue: specifier: ^9.32.0 version: 9.32.0(eslint@8.57.1) + hookable: + specifier: ^5.5.3 + version: 5.5.3 mockjs: specifier: ^1.1.0 version: 1.1.0 openapi-ts-request: specifier: ^1.1.2 version: 1.1.2(@types/node@20.17.9)(@vue/compiler-sfc@3.5.13)(chokidar@3.6.0)(typescript@5.7.2) + perfect-debounce: + specifier: ^1.0.0 + version: 1.0.0 postcss: specifier: ^8.4.49 version: 8.4.49 @@ -1213,14 +1234,12 @@ packages: engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [gnu] '@dcloudio/uts-linux-x64-musl@3.0.0-4030620241128001': resolution: {integrity: sha512-HbuOIYCe0KTzW42oqACQDmSuLWmiEG9zUE3rGpp5QP3MKpcB4wJ5BAOusCt3V02akyVv4/IGToktN8dc9N7+Eg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - libc: [musl] '@dcloudio/uts-win32-ia32-msvc@3.0.0-4030620241128001': resolution: {integrity: sha512-pgITm85ya64iJ19mixTUOiYVAyCJQ+V66L5Ue/cmME6CA2dU9DjTtPEP6DdSnoyq9JWcdbQLyVEQkxxtBSOyGA==} @@ -1321,6 +1340,7 @@ packages: '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} + cpu: [arm64] os: [darwin] '@esbuild/darwin-arm64@0.21.5': @@ -1332,6 +1352,7 @@ packages: '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} + cpu: [x64] os: [darwin] '@esbuild/darwin-x64@0.21.5': @@ -1928,6 +1949,7 @@ packages: '@rollup/rollup-darwin-x64@4.28.0': resolution: {integrity: sha512-8hxgfReVs7k9Js1uAIhS6zq3I+wKQETInnWQtgzt8JfGx51R1N6DRVy3F4o0lQwumbErRz52YqwjfvuwRxGv1w==} + cpu: [x64] os: [darwin] '@rollup/rollup-freebsd-arm64@4.28.0': @@ -1944,55 +1966,46 @@ packages: resolution: {integrity: sha512-WXveUPKtfqtaNvpf0iOb0M6xC64GzUX/OowbqfiCSXTdi/jLlOmH0Ba94/OkiY2yTGTwteo4/dsHRfh5bDCZ+w==} cpu: [arm] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.28.0': resolution: {integrity: sha512-yLc3O2NtOQR67lI79zsSc7lk31xjwcaocvdD1twL64PK1yNaIqCeWI9L5B4MFPAVGEVjH5k1oWSGuYX1Wutxpg==} cpu: [arm] os: [linux] - libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.28.0': resolution: {integrity: sha512-+P9G9hjEpHucHRXqesY+3X9hD2wh0iNnJXX/QhS/J5vTdG6VhNYMxJ2rJkQOxRUd17u5mbMLHM7yWGZdAASfcg==} cpu: [arm64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.28.0': resolution: {integrity: sha512-1xsm2rCKSTpKzi5/ypT5wfc+4bOGa/9yI/eaOLW0oMs7qpC542APWhl4A37AENGZ6St6GBMWhCCMM6tXgTIplw==} cpu: [arm64] os: [linux] - libc: [musl] '@rollup/rollup-linux-powerpc64le-gnu@4.28.0': resolution: {integrity: sha512-zgWxMq8neVQeXL+ouSf6S7DoNeo6EPgi1eeqHXVKQxqPy1B2NvTbaOUWPn/7CfMKL7xvhV0/+fq/Z/J69g1WAQ==} cpu: [ppc64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.28.0': resolution: {integrity: sha512-VEdVYacLniRxbRJLNtzwGt5vwS0ycYshofI7cWAfj7Vg5asqj+pt+Q6x4n+AONSZW/kVm+5nklde0qs2EUwU2g==} cpu: [riscv64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.28.0': resolution: {integrity: sha512-LQlP5t2hcDJh8HV8RELD9/xlYtEzJkm/aWGsauvdO2ulfl3QYRjqrKW+mGAIWP5kdNCBheqqqYIGElSRCaXfpw==} cpu: [s390x] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.28.0': resolution: {integrity: sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==} cpu: [x64] os: [linux] - libc: [glibc] '@rollup/rollup-linux-x64-musl@4.28.0': resolution: {integrity: sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==} cpu: [x64] os: [linux] - libc: [musl] '@rollup/rollup-win32-arm64-msvc@4.28.0': resolution: {integrity: sha512-Vi+WR62xWGsE/Oj+mD0FNAPY2MEox3cfyG0zLpotZdehPFXwz6lypkGs5y38Jd/NVSbOD02aVad6q6QYF7i8Bg==} @@ -2529,14 +2542,14 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/devtools-api@7.7.0': - resolution: {integrity: sha512-bHEv6kT85BHtyGgDhE07bAUMAy7zpv6nnR004nSTd0wWMrAOtcrYoXO5iyr20Hkf5jR8obQOfS3byW+I3l2CCA==} + '@vue/devtools-api@7.7.6': + resolution: {integrity: sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==} - '@vue/devtools-kit@7.7.0': - resolution: {integrity: sha512-5cvZ+6SA88zKC8XiuxUfqpdTwVjJbvYnQZY5NReh7qlSGPvVDjjzyEtW+gdzLXNSd8tStgOjAdMCpvDQamUXtA==} + '@vue/devtools-kit@7.7.6': + resolution: {integrity: sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==} - '@vue/devtools-shared@7.7.0': - resolution: {integrity: sha512-jtlQY26R5thQxW9YQTpXbI0HoK0Wf9Rd4ekidOkRvSy7ChfK0kIU6vvcBtjj87/EcpeOSK49fZAicaFNJcoTcQ==} + '@vue/devtools-shared@7.7.6': + resolution: {integrity: sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==} '@vue/language-core@1.8.27': resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} @@ -2876,8 +2889,8 @@ packages: bing-translate-api@4.0.2: resolution: {integrity: sha512-JJ8XUehnxzOhHU91oy86xEtp8OOMjVEjCZJX042fKxoO19NNvxJ5omeCcxQNFoPbDqVpBJwqiGVquL0oPdQm1Q==} - birpc@0.2.19: - resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} + birpc@2.3.0: + resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==} bmp-js@0.1.0: resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==} @@ -10171,21 +10184,21 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-api@7.7.0': + '@vue/devtools-api@7.7.6': dependencies: - '@vue/devtools-kit': 7.7.0 + '@vue/devtools-kit': 7.7.6 - '@vue/devtools-kit@7.7.0': + '@vue/devtools-kit@7.7.6': dependencies: - '@vue/devtools-shared': 7.7.0 - birpc: 0.2.19 + '@vue/devtools-shared': 7.7.6 + birpc: 2.3.0 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 superjson: 2.2.2 - '@vue/devtools-shared@7.7.0': + '@vue/devtools-shared@7.7.6': dependencies: rfdc: 1.4.1 @@ -10602,7 +10615,7 @@ snapshots: dependencies: got: 11.8.6 - birpc@0.2.19: {} + birpc@2.3.0: {} bmp-js@0.1.0: {} @@ -14973,7 +14986,7 @@ snapshots: '@shikijs/types': 1.27.0 '@types/markdown-it': 14.1.2 '@vitejs/plugin-vue': 5.2.1(vite@5.4.11(@types/node@20.17.9)(sass@1.77.6)(terser@5.36.0))(vue@3.5.13(typescript@5.7.2)) - '@vue/devtools-api': 7.7.0 + '@vue/devtools-api': 7.7.6 '@vue/shared': 3.5.13 '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.7.2)) '@vueuse/integrations': 11.3.0(axios@1.7.9)(focus-trap@7.6.4)(vue@3.5.13(typescript@5.7.2)) diff --git a/src/App.vue b/src/App.vue index 1814e62..b61a09a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -13,30 +13,49 @@ getLocation() }, onShow: function (options) { - if (uni.getStorageSync('logintime') && uni.getStorageSync('logintime') + 1800000 <= Date.now()) { //登录半小时自动注销 需重新登陆 - uni.removeStorageSync('logintime') - uni.navigateTo({ - url: '/pages/login/login' - }) - return + //改造了一下,加了白名单验证 + //为了实现实流检定的证书验证页面 + //jiang 20250605 + // 定义白名单页面 + const publicPages = [ + '/pages/sljd/index' + ] + + // 检查当前页面是否在白名单中 + const isPublicPage = publicPages.includes(`/${options.path}`) + + // 非白名单页面才执行登录检查 + if (!isPublicPage) { + if (uni.getStorageSync('logintime') && uni.getStorageSync('logintime') + 1800000 <= Date.now()) { + uni.removeStorageSync('logintime') + uni.navigateTo({ + url: '/pages/login/login' + }) + return + } } - // 首次进入页面时路由拦截 + + // 路由拦截(白名单页面跳过) setTimeout(() => { const currentPage = options.path - beforEach({ path: '/' }, { path: currentPage, fullPath: currentPage }, (data) => { - if (data?.path) { - uni.redirectTo({ url: data.path }) - } - }) + if (!isPublicPage) { + beforEach({ path: '/' }, { path: currentPage, fullPath: currentPage }, (data) => { + if (data?.path) { + uni.redirectTo({ url: data.path }) + } + }) + } }, 100) - jurisdictionApi("1827997127165677570").then((res : any) => { - // 0正常 1灰化 - if (res.success) { - const appStore = useAppStore() - appStore.setIsGray(res.result.value) // 更新状态 - } - }) + // 权限检查(非白名单页面执行) + if (!isPublicPage) { + jurisdictionApi("1827997127165677570").then((res : any) => { + if (res.success) { + const appStore = useAppStore() + appStore.setIsGray(res.result.value) + } + }) + } }, // 全局变量 diff --git a/src/pages.json b/src/pages.json index 7468f94..198c56b 100644 --- a/src/pages.json +++ b/src/pages.json @@ -148,6 +148,15 @@ "navigationBarTitleText": "生产数据" } }, + { + "path": "pages/sljd/index", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "实流检定" + } + }, { "path": "pages/user/people", "type": "page", diff --git a/src/pages/sljd/index.vue b/src/pages/sljd/index.vue new file mode 100644 index 0000000..d216194 --- /dev/null +++ b/src/pages/sljd/index.vue @@ -0,0 +1,137 @@ + + { + layout: 'default', + style: { + navigationStyle: 'custom', + navigationBarTitleText: '实流检定', + }, + } + +