From a5a883a65206b5bb51c905c175dbc93a4df67240 Mon Sep 17 00:00:00 2001 From: Zy <1448159279@qq.com> Date: Mon, 20 Jul 2026 14:50:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wuye-manager-uniapp/api/BaseUrl.js | 4 +- .../privacy-popup/privacy-popup.vue | 206 ++--- wuye-manager-uniapp/manifest.json | 297 ++++---- .../pageSubPack/loginSub/login.vue | 53 +- .../pageSubPack/loginSub/pwd-login.vue | 707 +++++++++--------- .../pageSubPack/setting/setting.vue | 39 +- wuye-manager-uniapp/pages/index/index.vue | 3 +- wuye-manager-uniapp/utils/permissions.js | 3 +- 8 files changed, 672 insertions(+), 640 deletions(-) diff --git a/wuye-manager-uniapp/api/BaseUrl.js b/wuye-manager-uniapp/api/BaseUrl.js index b6d2751..ee2ee58 100644 --- a/wuye-manager-uniapp/api/BaseUrl.js +++ b/wuye-manager-uniapp/api/BaseUrl.js @@ -3,12 +3,12 @@ * @Author: Zy * @Date: 2026-05-18 15:36:10 * @LastEditor: Zy - * @LastEditTime: 2026-07-08 17:26:41 + * @LastEditTime: 2026-07-20 14:29:10 */ let baseUrl = '' if (process.env.NODE_ENV === 'development') { - baseUrl = 'http://192.168.1.222:8080' // 开发环境 + baseUrl = 'http://192.168.1.6:8080' // 开发环境 } else { baseUrl = 'https://wuyeapi.ckdzkj.com' // 生产环境 // baseUrl = 'https://wuyeapi.bugtc.com' // 生产环境 diff --git a/wuye-manager-uniapp/components/privacy-popup/privacy-popup.vue b/wuye-manager-uniapp/components/privacy-popup/privacy-popup.vue index c71652f..60df5e1 100644 --- a/wuye-manager-uniapp/components/privacy-popup/privacy-popup.vue +++ b/wuye-manager-uniapp/components/privacy-popup/privacy-popup.vue @@ -1,175 +1,175 @@ diff --git a/wuye-manager-uniapp/manifest.json b/wuye-manager-uniapp/manifest.json index dd8166d..3469575 100644 --- a/wuye-manager-uniapp/manifest.json +++ b/wuye-manager-uniapp/manifest.json @@ -1,154 +1,157 @@ { - "name" : "花开管家", - "appid" : "__UNI__5F224F3", - "description" : "智慧社区管家端,专为小区物业管理人员打造,支持多小区灵活切换管理。集成账号密码、手机号密码双重登录模式,内置忘记密码找回功能,保障账号安全。涵盖消息通知、日常巡检、故障报修、一键开门、工单流转、投诉处理等核心办公功能,物业人员可在线完成巡检打卡、问题上报、工单派发跟进、投诉对接处理等日常工作,同时支持查看个人上报记录、巡检历史,便捷修改账号信息与登录密码。高效简化社区物业办公流程,提升小区服务与管理效率,打造便捷智能的社区管理服务平台。", - "versionName" : "1.0.2", - "versionCode" : 102, - "transformPx" : false, - "app-plus" : { - "usingComponents" : true, - "nvueStyleCompiler" : "uni-app", - "compilerVersion" : 3, - "splashscreen" : { - "alwaysShowBeforeRender" : true, - "waiting" : true, - "autoclose" : true, - "delay" : 0, - "useOriginalMsgbox" : true + "name": "花开管家", + "appid": "__UNI__5F224F3", + "description": "智慧社区管家端,专为小区物业管理人员打造,支持多小区灵活切换管理。集成账号密码、手机号密码双重登录模式,内置忘记密码找回功能,保障账号安全。涵盖消息通知、日常巡检、故障报修、一键开门、工单流转、投诉处理等核心办公功能,物业人员可在线完成巡检打卡、问题上报、工单派发跟进、投诉对接处理等日常工作,同时支持查看个人上报记录、巡检历史,便捷修改账号信息与登录密码。高效简化社区物业办公流程,提升小区服务与管理效率,打造便捷智能的社区管理服务平台。", + "versionName": "1.0.2", + "versionCode": 102, + "transformPx": false, + "app-plus": { + "usingComponents": true, + "nvueStyleCompiler": "uni-app", + "compilerVersion": 3, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0, + "useOriginalMsgbox": true + }, + "modules": { + "Camera": {}, + "Push": {}, + "Bluetooth": {}, + "Barcode": {} + }, + "distribute": { + "android": { + "permissions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "targetSdkVersion": 30 + }, + "ios": { + "dSYMs": false, + "privacyDescription": { + "NSPhotoLibraryUsageDescription": "需要访问手机相册,选取本地巡检记录照片、业主报修故障图、水电表二维码用于上传工单与巡检台账,仅读取当前业务所需图片,不会获取相册内其他无关照片。", + "NSPhotoLibraryAddUsageDescription": "需要相册写入权限,保存巡检凭证、报修工单至手机相册,方便线下核对查看,图片仅本地存储,不会上传至无关服务器。", + "NSCameraUsageDescription": "本应用需要使用相机,用于管家现场巡检拍摄点位记录、处理业主报修拍摄故障照片,扫描水电表二维码抄表,拍摄影像仅用于小区物业工单与巡检业务存档,不会私自留存、对外分享。", + "NSLocationWhenInUseUsageDescription": "", + "NSLocationAlwaysAndWhenInUseUsageDescription": "", + "NSBluetoothPeripheralUsageDescription": "需要蓝牙权限连接小区智能门禁,实现蓝牙一键开门通行,仅用于小区门禁解锁业务,不采集蓝牙设备信息。", + "NSBluetoothAlwaysUsageDescription": "本应用需要蓝牙权限,用于扫描、连接小区蓝牙门禁设备实现一键开门,仅和本小区门禁硬件建立通信,不会扫描、连接无关蓝牙设备。" }, - "modules" : { - "Camera" : {}, - "Push" : {}, - "Bluetooth" : {}, - "Barcode" : {} + "urltypes": [{ + "urlschemes": ["unionpaycashier"] + }], + "idfa": false + }, + "sdkConfigs": { + "push": { + "unipush": { + "version": "2", + "offline": false, + "oppo": {}, + "vivo": {}, + "mi": {}, + "meizu": {}, + "honor": {}, + "fcm": {} + } }, - "distribute" : { - "android" : { - "permissions" : [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "targetSdkVersion" : 30 - }, - "ios" : { - "dSYMs" : false, - "privacyDescription" : { - "NSPhotoLibraryUsageDescription" : "需要访问手机相册,选取本地巡检记录照片、业主报修故障图、水电表二维码用于上传工单与巡检台账,仅读取当前业务所需图片,不会获取相册内其他无关照片。", - "NSPhotoLibraryAddUsageDescription" : "需要相册写入权限,保存巡检凭证、报修工单至手机相册,方便线下核对查看,图片仅本地存储,不会上传至无关服务器。", - "NSCameraUsageDescription" : "本应用需要使用相机,用于管家现场巡检拍摄点位记录、处理业主报修拍摄故障照片,扫描水电表二维码抄表,拍摄影像仅用于小区物业工单与巡检业务存档,不会私自留存、对外分享。", - "NSLocationWhenInUseUsageDescription" : "", - "NSLocationAlwaysAndWhenInUseUsageDescription" : "", - "NSBluetoothPeripheralUsageDescription" : "需要蓝牙权限连接小区智能门禁,实现蓝牙一键开门通行,仅用于小区门禁解锁业务,不采集蓝牙设备信息。", - "NSBluetoothAlwaysUsageDescription" : "本应用需要蓝牙权限,用于扫描、连接小区蓝牙门禁设备实现一键开门,仅和本小区门禁硬件建立通信,不会扫描、连接无关蓝牙设备。" - }, - "urltypes" : [ - { - "urlschemes" : [ "unionpaycashier" ] - } - ], - "idfa" : false - }, - "sdkConfigs" : { - "push" : { - "unipush" : { - "version" : "2", - "offline" : false, - "oppo" : {}, - "vivo" : {}, - "mi" : {}, - "meizu" : {}, - "honor" : {}, - "fcm" : {} - } - }, - "geolocation" : { - "system" : { - "__platform__" : [ "ios", "android" ] - } - } - }, - "icons" : { - "android" : { - "hdpi" : "unpackage/res/icons/72x72.png", - "xhdpi" : "unpackage/res/icons/96x96.png", - "xxhdpi" : "unpackage/res/icons/144x144.png", - "xxxhdpi" : "unpackage/res/icons/192x192.png" - }, - "ios" : { - "appstore" : "unpackage/res/icons/1024x1024.png", - "ipad" : { - "app" : "unpackage/res/icons/76x76.png", - "app@2x" : "unpackage/res/icons/152x152.png", - "notification" : "unpackage/res/icons/20x20.png", - "notification@2x" : "unpackage/res/icons/40x40.png", - "proapp@2x" : "unpackage/res/icons/167x167.png", - "settings" : "unpackage/res/icons/29x29.png", - "settings@2x" : "unpackage/res/icons/58x58.png", - "spotlight" : "unpackage/res/icons/40x40.png", - "spotlight@2x" : "unpackage/res/icons/80x80.png" - }, - "iphone" : { - "app@2x" : "unpackage/res/icons/120x120.png", - "app@3x" : "unpackage/res/icons/180x180.png", - "notification@2x" : "unpackage/res/icons/40x40.png", - "notification@3x" : "unpackage/res/icons/60x60.png", - "settings@2x" : "unpackage/res/icons/58x58.png", - "settings@3x" : "unpackage/res/icons/87x87.png", - "spotlight@2x" : "unpackage/res/icons/80x80.png", - "spotlight@3x" : "unpackage/res/icons/120x120.png" - } - } - } + "geolocation": { + "system": { + "__platform__": ["ios", "android"] + } } - }, - "quickapp" : {}, - "mp-weixin" : { - "appid" : "wx40625124315d2de1", - "usingComponents" : true, - "lazyCodeLoading" : "requiredComponents" - }, - "mp-alipay" : { - "usingComponents" : true - }, - "mp-baidu" : { - "usingComponents" : true - }, - "mp-toutiao" : { - "usingComponents" : true - }, - "uniStatistics" : { - "enable" : false - }, - "vueVersion" : "3", - "locale" : "zh-Hans", - "fallbackLocale" : "zh-Hans", - "app-harmony" : { - "distribute" : { - "bundleName" : "com.chengkong.property.butler", - "signingConfigs" : { - "release" : { - "certpath" : "C:/Users/admin/Desktop/AppStore/new_harmony/花开物业.cer", - "keyAlias" : "wuye", - "keyPassword" : "0000001ADF5A2ECBEA883B44816B2D1993792348DB36113109A8D6190B7BB0FA49FC807D9A4191B23E10", - "profile" : "C:/Users/admin/Desktop/AppStore/new_harmony/guanjiaRelease.p7b", - "signAlg" : "SHA256withECDSA", - "storeFile" : "C:/Users/admin/Desktop/AppStore/new_harmony/huakaiwuye.p12", - "storePassword" : "0000001AA46C978566364D5E371290888A2A18578BBB958BCACA8A64F023354E30EC33C84C8CC9515B38" - } - } + }, + "icons": { + "android": { + "hdpi": "unpackage/res/icons/72x72.png", + "xhdpi": "unpackage/res/icons/96x96.png", + "xxhdpi": "unpackage/res/icons/144x144.png", + "xxxhdpi": "unpackage/res/icons/192x192.png" + }, + "ios": { + "appstore": "unpackage/res/icons/1024x1024.png", + "ipad": { + "app": "unpackage/res/icons/76x76.png", + "app@2x": "unpackage/res/icons/152x152.png", + "notification": "unpackage/res/icons/20x20.png", + "notification@2x": "unpackage/res/icons/40x40.png", + "proapp@2x": "unpackage/res/icons/167x167.png", + "settings": "unpackage/res/icons/29x29.png", + "settings@2x": "unpackage/res/icons/58x58.png", + "spotlight": "unpackage/res/icons/40x40.png", + "spotlight@2x": "unpackage/res/icons/80x80.png" + }, + "iphone": { + "app@2x": "unpackage/res/icons/120x120.png", + "app@3x": "unpackage/res/icons/180x180.png", + "notification@2x": "unpackage/res/icons/40x40.png", + "notification@3x": "unpackage/res/icons/60x60.png", + "settings@2x": "unpackage/res/icons/58x58.png", + "settings@3x": "unpackage/res/icons/87x87.png", + "spotlight@2x": "unpackage/res/icons/80x80.png", + "spotlight@3x": "unpackage/res/icons/120x120.png" + } } + } } + }, + "quickapp": {}, + "mp-weixin": { + "appid": "wx40625124315d2de1", + "usingComponents": true, + "lazyCodeLoading": "requiredComponents" + }, + "mp-alipay": { + "usingComponents": true + }, + "mp-baidu": { + "usingComponents": true + }, + "mp-toutiao": { + "usingComponents": true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion": "3", + "locale": "zh-Hans", + "fallbackLocale": "zh-Hans", + "app-harmony": { + "distribute": { + "bundleName": "com.chengkong.property.butler", + "signingConfigs": { + "release": { + "certpath": "C:/Users/admin/Desktop/AppStore/new_harmony/花开物业.cer", + "keyAlias": "wuye", + "keyPassword": "0000001ADF5A2ECBEA883B44816B2D1993792348DB36113109A8D6190B7BB0FA49FC807D9A4191B23E10", + "profile": "C:/Users/admin/Desktop/AppStore/new_harmony/guanjiaRelease.p7b", + "signAlg": "SHA256withECDSA", + "storeFile": "C:/Users/admin/Desktop/AppStore/new_harmony/huakaiwuye.p12", + "storePassword": "0000001AA46C978566364D5E371290888A2A18578BBB958BCACA8A64F023354E30EC33C84C8CC9515B38" + } + } + } + }, + "h5": { + "devServer": { + "port": 5588 + } + } } diff --git a/wuye-manager-uniapp/pageSubPack/loginSub/login.vue b/wuye-manager-uniapp/pageSubPack/loginSub/login.vue index 47d388b..27fee93 100644 --- a/wuye-manager-uniapp/pageSubPack/loginSub/login.vue +++ b/wuye-manager-uniapp/pageSubPack/loginSub/login.vue @@ -71,10 +71,11 @@ >我已阅读并同意 《用户隐私政策》 --> - 我已阅读并同意 - 《用户协议》和 - 《隐私政策》 - + 我已阅读并同意 + 《用户协议》和 + 《隐私政策》 + @@ -87,7 +88,11 @@ - + @@ -139,26 +144,25 @@ const checkForm = () => { const toggleAgreement = () => { agreeAgreement.value = !agreeAgreement.value } - // 打开用户协议 - const goToUserAgreement = () => { - // #ifdef APP-PLUS - plus.runtime.openURL('https://wuye.ckdzkj.com/parivw/butler_xieyi.html') - // #endif - // #ifdef H5 - window.open('https://wuye.ckdzkj.com/parivw/butler_xieyi.html') - // #endif - } - - // 打开隐私政策 - const goToPrivacy = () => { - // #ifdef APP-PLUS - plus.runtime.openURL('https://wuye.ckdzkj.com/parivw/butler.html') - // #endif - // #ifdef H5 - window.open('https://wuye.ckdzkj.com/parivw/butler.html') - // #endif - } +// 打开用户协议 +const goToUserAgreement = () => { + // #ifdef APP-PLUS + plus.runtime.openURL('https://wuye.ckdzkj.com/parivw/butler_xieyi.html') + // #endif + // #ifdef H5 + window.open('https://wuye.ckdzkj.com/parivw/butler_xieyi.html') + // #endif +} +// 打开隐私政策 +const goToPrivacy = () => { + // #ifdef APP-PLUS + plus.runtime.openURL('https://wuye.ckdzkj.com/parivw/butler.html') + // #endif + // #ifdef H5 + window.open('https://wuye.ckdzkj.com/parivw/butler.html') + // #endif +} // 不同意隐私协议 const disagreePrivacy = () => { @@ -247,6 +251,7 @@ const handleLogin = () => { if (res.code === 200) { if (res.data) { uni.setStorageSync('token', res.data.token) + uni.setStorageSync('userPermission', res.data.user.permissions) // 存用户ID if (res.data.user.userId) { uni.setStorageSync('userId', res.data.user.userId) diff --git a/wuye-manager-uniapp/pageSubPack/loginSub/pwd-login.vue b/wuye-manager-uniapp/pageSubPack/loginSub/pwd-login.vue index 7c45ca0..d089ffb 100644 --- a/wuye-manager-uniapp/pageSubPack/loginSub/pwd-login.vue +++ b/wuye-manager-uniapp/pageSubPack/loginSub/pwd-login.vue @@ -1,389 +1,408 @@ diff --git a/wuye-manager-uniapp/pageSubPack/setting/setting.vue b/wuye-manager-uniapp/pageSubPack/setting/setting.vue index 2f9d706..4e53cfa 100644 --- a/wuye-manager-uniapp/pageSubPack/setting/setting.vue +++ b/wuye-manager-uniapp/pageSubPack/setting/setting.vue @@ -35,9 +35,7 @@ - + @@ -46,6 +44,7 @@ import { ref } from 'vue' import { onShow } from '@dcloudio/uni-app' import { logout, getSettingInfo } from '../../api/api.js' +import { clearPermList } from '../../utils/permissions.js' // 响应式数据 const phoneNumber = ref('') // 绑定手机号 @@ -91,9 +90,9 @@ const goToModifyPassword = () => { }) } // 跳转到注销账号 -const goToDeleteAccount = () =>{ +const goToDeleteAccount = () => { uni.navigateTo({ - url:'/pageSubPack/setting/deleteAccount' + url: '/pageSubPack/setting/deleteAccount' }) } @@ -116,19 +115,23 @@ const handleLogout = () => { const confirmLogout = () => { uni.showLoading({ title: '退出中...' }) - logout().then(res => { - if (res.code === 200) { - uni.clearStorageSync() - uni.showToast({ title: '退出登录成功', icon: 'success' }) - uni.redirectTo({ url: '/pageSubPack/loginSub/pwd-login' }) - } else { - uni.showToast({ title: res.msg || '退出失败', icon: 'none' }) - } - }).catch(() => { - uni.showToast({ title: '退出失败,请重试', icon: 'none' }) - }).finally(() => { - uni.hideLoading() - }) + logout() + .then(res => { + if (res.code === 200) { + clearPermList() + uni.clearStorageSync() + uni.showToast({ title: '退出登录成功', icon: 'success' }) + uni.redirectTo({ url: '/pageSubPack/loginSub/pwd-login' }) + } else { + uni.showToast({ title: res.msg || '退出失败', icon: 'none' }) + } + }) + .catch(() => { + uni.showToast({ title: '退出失败,请重试', icon: 'none' }) + }) + .finally(() => { + uni.hideLoading() + }) } diff --git a/wuye-manager-uniapp/pages/index/index.vue b/wuye-manager-uniapp/pages/index/index.vue index a3e063d..69a7e26 100644 --- a/wuye-manager-uniapp/pages/index/index.vue +++ b/wuye-manager-uniapp/pages/index/index.vue @@ -163,7 +163,7 @@ { diff --git a/wuye-manager-uniapp/utils/permissions.js b/wuye-manager-uniapp/utils/permissions.js index 2594914..7966ade 100644 --- a/wuye-manager-uniapp/utils/permissions.js +++ b/wuye-manager-uniapp/utils/permissions.js @@ -10,7 +10,7 @@ export function getPermList() { * 权限校验函数 * @param perm 单个权限字符串 / 多个权限数组 * @param mode or满足任一 / and全部满足,默认or - * @returns 是否拥有权限 + * @returns 是否拥有权限 false 没有权限 true 有权限 */ export function hasPermi(perm, mode = 'or') { const permList = getPermList() @@ -23,6 +23,7 @@ export function hasPermi(perm, mode = 'or') { // 所有权限都要有 return checkArr.every(item => permList.includes(item)) } else { + console.log(permList, checkArr) // 有一个即可 return checkArr.some(item => permList.includes(item)) }