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))
}