1 line
36 KiB
Plaintext
1 line
36 KiB
Plaintext
{"version":3,"sources":["pages/mall/consumer/settings.uvue","uni_modules/ak-req/ak-req.uts","pages/main/index.uvue","pages/user/change-password.uvue","pages/user/login.uvue","App.uvue","pages/main/profile.uvue","pages/user/center.uvue"],"sourcesContent":["<!-- 设置页面 -->\r\n<template>\r\n\t<view class=\"settings-page\">\r\n\t\t<!-- 顶部栏 -->\r\n\t\t<!--<view class=\"settings-header\" :style=\"{ paddingTop: statusBarHeight + 'px' }\">\r\n\t\t\t<text class=\"back-btn\" @click=\"goBack\">‹</text>\r\n\t\t\t<text class=\"header-title\">设置</text>\r\n\t\t</view>-->\r\n\r\n\t\t<scroll-view class=\"settings-content\" direction=\"vertical\">\r\n\t\t\t<!-- 账户设置 -->\r\n\t\t\t<view class=\"settings-section\">\r\n\t\t\t\t<text class=\"section-title\">账户设置</text>\r\n\t\t\t\t<view class=\"section-list\">\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"goToProfile\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">👤</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">个人资料</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"goToAddressList\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">📍</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">收货地址</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"changePassword\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🔒</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">修改密码</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"bindPhone\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">📱</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">手机绑定</text>\r\n\t\t\t\t\t\t<view class=\"item-right\">\r\n\t\t\t\t\t\t\t<text class=\"item-status\" :class=\"userInfo.phone != null && userInfo.phone != '' ? 'bound' : ''\">\r\n\t\t\t\t\t\t\t\t{{ userInfo.phone != null && userInfo.phone != '' ? '已绑定' : '未绑定' }}\r\n\t\t\t\t\t\t\t</text>\r\n\t\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"bindEmail\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">📧</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">邮箱绑定</text>\r\n\t\t\t\t\t\t<view class=\"item-right\">\r\n\t\t\t\t\t\t\t<text class=\"item-status\" :class=\"userInfo.email != null && userInfo.email != '' ? 'bound' : ''\">\r\n\t\t\t\t\t\t\t\t{{ userInfo.email != null && userInfo.email != '' ? '已绑定' : '未绑定' }}\r\n\t\t\t\t\t\t\t</text>\r\n\t\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 消息通知 -->\r\n\t\t\t<view class=\"settings-section\">\r\n\t\t\t\t<text class=\"section-title\">消息通知</text>\r\n\t\t\t\t<view class=\"section-list\">\r\n\t\t\t\t\t<view class=\"list-item\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🔔</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">订单消息</text>\r\n\t\t\t\t\t\t<switch class=\"settings-switch\" :checked=\"notifications.order\" @change=\"toggleNotification('order')\" />\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🎁</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">促销活动</text>\r\n\t\t\t\t\t\t<switch class=\"settings-switch\" :checked=\"notifications.promotion\" @change=\"toggleNotification('promotion')\" />\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">⭐</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">评价提醒</text>\r\n\t\t\t\t\t\t<switch class=\"settings-switch\" :checked=\"notifications.review\" @change=\"toggleNotification('review')\" />\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 隐私设置 -->\r\n\t\t\t<view class=\"settings-section\">\r\n\t\t\t\t<text class=\"section-title\">隐私设置</text>\r\n\t\t\t\t<view class=\"section-list\">\r\n\t\t\t\t\t<view class=\"list-item\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">👁️</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">隐藏购物记录</text>\r\n\t\t\t\t\t\t<switch class=\"settings-switch\" :checked=\"privacy.hidePurchase\" @change=\"togglePrivacy('hidePurchase')\" />\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🔍</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">允许通过手机号找到我</text>\r\n\t\t\t\t\t\t<switch class=\"settings-switch\" :checked=\"privacy.allowSearchByPhone\" @change=\"togglePrivacy('allowSearchByPhone')\" />\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">💬</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">接收商家消息</text>\r\n\t\t\t\t\t\t<switch class=\"settings-switch\" :checked=\"privacy.receiveMerchantMsg\" @change=\"togglePrivacy('receiveMerchantMsg')\" />\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 通用设置 -->\r\n\t\t\t<view class=\"settings-section\">\r\n\t\t\t\t<text class=\"section-title\">通用设置</text>\r\n\t\t\t\t<view class=\"section-list\">\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"clearCache\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🗑️</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">清除缓存</text>\r\n\t\t\t\t\t\t<view class=\"item-right\">\r\n\t\t\t\t\t\t\t<text class=\"item-cache\">{{ cacheSize }}</text>\r\n\t\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"changeLanguage\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🌐</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">语言设置</text>\r\n\t\t\t\t\t\t<view class=\"item-right\">\r\n\t\t\t\t\t\t\t<text class=\"item-status\">{{ currentLanguage }}</text>\r\n\t\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"changeTheme\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🎨</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">主题设置</text>\r\n\t\t\t\t\t\t<view class=\"item-right\">\r\n\t\t\t\t\t\t\t<text class=\"item-status\">{{ currentTheme }}</text>\r\n\t\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 我的服务 -->\r\n\t\t\t<view class=\"settings-section\">\r\n\t\t\t\t<text class=\"section-title\">我的服务</text>\r\n\t\t\t\t<view class=\"section-list\">\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"goToMyReviews\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">📝</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">我的评价</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 关于我们 -->\r\n\t\t\t<view class=\"settings-section\">\r\n\t\t\t\t<text class=\"section-title\">关于我们</text>\r\n\t\t\t\t<view class=\"section-list\">\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"aboutUs\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">ℹ️</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">关于商城</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"userAgreement\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">📜</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">用户协议</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"privacyPolicy\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🛡️</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">隐私政策</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"checkUpdate\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">🔄</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">检查更新</text>\r\n\t\t\t\t\t\t<view class=\"item-right\">\r\n\t\t\t\t\t\t\t<text class=\"item-status\">{{ appVersion }}</text>\r\n\t\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t\t</view>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 客服与反馈 -->\r\n\t\t\t<view class=\"settings-section\">\r\n\t\t\t\t<text class=\"section-title\">客服与反馈</text>\r\n\t\t\t\t<view class=\"section-list\">\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"contactService\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">💬</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">联系客服</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"feedback\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">📝</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">意见反馈</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t\t<view class=\"list-item\" @click=\"rateApp\">\r\n\t\t\t\t\t\t<text class=\"item-icon\">⭐</text>\r\n\t\t\t\t\t\t<text class=\"item-text\">给个好评</text>\r\n\t\t\t\t\t\t<text class=\"item-arrow\">›</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 退出登录 -->\r\n\t\t\t<view class=\"logout-section\">\r\n\t\t\t\t<button class=\"logout-btn\" @click=\"logout\">退出登录</button>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 账号注销 -->\r\n\t\t\t<view class=\"delete-account-section\">\r\n\t\t\t\t<text class=\"delete-account\" @click=\"deleteAccount\">注销账号</text>\r\n\t\t\t</view>\r\n\t\t</scroll-view>\r\n\t</view>\r\n</template>\r\n\r\n<script setup lang=\"uts\">\r\nimport { ref, onMounted } from 'vue'\r\nimport { onBackPress } from '@dcloudio/uni-app'\r\nimport supa from '@/components/supadb/aksupainstance.uts'\r\n\r\n// 拦截返回事件,强制跳转到个人中心页\r\nonBackPress((options) => {\r\n\t// 无论是什么触发的返回(系统返回键或导航栏返回按钮),都跳转到profile\r\n\t// 注意:onBackPress 只能在 page 中使用,component 中无效\r\n\tuni.switchTab({\r\n\t\turl: '/pages/main/profile'\r\n\t})\r\n\t// 返回 true 表示阻止默认返回行为\r\n\treturn true\r\n})\r\n\r\ntype UserType = {\r\n\tid: string\r\n\tphone: string | null\r\n\temail: string | null\r\n\tnickname: string | null\r\n\tavatar_url: string | null\r\n}\r\n\r\ntype NotificationType = {\r\n\torder: boolean\r\n\tpromotion: boolean\r\n\treview: boolean\r\n}\r\n\r\ntype PrivacyType = {\r\n\thidePurchase: boolean\r\n\tallowSearchByPhone: boolean\r\n\treceiveMerchantMsg: boolean\r\n}\r\n\r\nconst userInfo = ref<UserType>({\r\n\tid: '',\r\n\tphone: null,\r\n\temail: null,\r\n\tnickname: null,\r\n\tavatar_url: null\r\n})\r\nconst notifications = ref<NotificationType>({\r\n\torder: true,\r\n\tpromotion: true,\r\n\treview: true\r\n})\r\nconst privacy = ref<PrivacyType>({\r\n\thidePurchase: false,\r\n\tallowSearchByPhone: true,\r\n\treceiveMerchantMsg: true\r\n})\r\nconst cacheSize = ref<string>('0.0 MB')\r\nconst currentLanguage = ref<string>('简体中文')\r\nconst currentTheme = ref<string>('自动')\r\nconst appVersion = ref<string>('1.0.0')\r\n\r\nconst statusBarHeight = ref<number>(0)\r\n\r\nconst loadUserInfo = () => {\r\n\tconst userStore = uni.getStorageSync('userInfo')\r\n\tif (userStore != null) {\r\n\t\tconst storeObj = userStore as UTSJSONObject\r\n\t\tconst user: UserType = {\r\n\t\t\tid: storeObj.getString('id') ?? '',\r\n\t\t\tphone: storeObj.getString('phone'),\r\n\t\t\temail: storeObj.getString('email'),\r\n\t\t\tnickname: storeObj.getString('nickname'),\r\n\t\t\tavatar_url: storeObj.getString('avatar_url')\r\n\t\t} as UserType\r\n\t\tuserInfo.value = user\r\n\t}\r\n}\r\n\r\nconst loadSettings = () => {\r\n\tconst savedNotifications = uni.getStorageSync('userNotifications')\r\n\tif (savedNotifications != null) {\r\n\t\tconst notifObj = savedNotifications as UTSJSONObject\r\n\t\tconst notif: NotificationType = {\r\n\t\t\torder: notifObj.getBoolean('order') ?? true,\r\n\t\t\tpromotion: notifObj.getBoolean('promotion') ?? true,\r\n\t\t\treview: notifObj.getBoolean('review') ?? true\r\n\t\t} as NotificationType\r\n\t\tnotifications.value = notif\r\n\t}\r\n\t\r\n\tconst savedPrivacy = uni.getStorageSync('userPrivacy')\r\n\tif (savedPrivacy != null) {\r\n\t\tconst privacyObj = savedPrivacy as UTSJSONObject\r\n\t\tconst priv: PrivacyType = {\r\n\t\t\thidePurchase: privacyObj.getBoolean('hidePurchase') ?? false,\r\n\t\t\tallowSearchByPhone: privacyObj.getBoolean('allowSearchByPhone') ?? true,\r\n\t\t\treceiveMerchantMsg: privacyObj.getBoolean('receiveMerchantMsg') ?? true\r\n\t\t} as PrivacyType\r\n\t\tprivacy.value = priv\r\n\t}\r\n\t\r\n\tcacheSize.value = '12.5 MB'\r\n\t\r\n\tconst appInfo = uni.getAppBaseInfo()\r\n\tif (appInfo != null) {\r\n\t\tconst infoObj = appInfo as UTSJSONObject\r\n\t\tconst version = infoObj.getString('appVersion')\r\n\t\tif (version != null) {\r\n\t\t\tappVersion.value = version\r\n\t\t}\r\n\t}\r\n}\r\n\r\nonMounted(() => {\r\n\tconst systemInfo = uni.getSystemInfoSync()\r\n\tstatusBarHeight.value = systemInfo.statusBarHeight ?? 0\r\n\tloadUserInfo()\r\n\tloadSettings()\r\n})\r\n\r\n// 跳转到个人资料\r\nconst goToProfile = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/user/profile'\r\n\t})\r\n}\r\n\r\n// 跳转到地址管理\r\nconst goToAddressList = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/mall/consumer/address-list'\r\n\t})\r\n}\r\n\r\n// 修改密码\r\nconst changePassword = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/user/change-password'\r\n\t})\r\n}\r\n\r\n// 绑定手机\r\nconst bindPhone = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/user/bind-phone'\r\n\t})\r\n}\r\n\r\n// 绑定邮箱\r\nconst bindEmail = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/user/bind-email'\r\n\t})\r\n}\r\n\r\n// 切换通知设置\r\nconst toggleNotification = (type: string) => {\r\n\tif (type === 'order') {\r\n\t\tnotifications.value.order = notifications.value.order === false\r\n\t} else if (type === 'promotion') {\r\n\t\tnotifications.value.promotion = notifications.value.promotion === false\r\n\t} else if (type === 'review') {\r\n\t\tnotifications.value.review = notifications.value.review === false\r\n\t}\r\n\tuni.setStorageSync('userNotifications', notifications.value)\r\n}\r\n\r\n// 切换隐私设置\r\nconst togglePrivacy = (type: string) => {\r\n\tif (type === 'hidePurchase') {\r\n\t\tprivacy.value.hidePurchase = privacy.value.hidePurchase === false\r\n\t} else if (type === 'allowSearchByPhone') {\r\n\t\tprivacy.value.allowSearchByPhone = privacy.value.allowSearchByPhone === false\r\n\t} else if (type === 'receiveMerchantMsg') {\r\n\t\tprivacy.value.receiveMerchantMsg = privacy.value.receiveMerchantMsg === false\r\n\t}\r\n\tuni.setStorageSync('userPrivacy', privacy.value)\r\n}\r\n\r\n// 清除缓存\r\nconst clearCache = () => {\r\n\tuni.showModal({\r\n\t\ttitle: '清除缓存',\r\n\t\tcontent: `确定要清除 ${cacheSize.value} 缓存吗?`,\r\n\t\tsuccess: (res) => {\r\n\t\t\tif (res.confirm) {\r\n\t\t\t\t// 这里应该清除实际缓存\r\n\t\t\t\tuni.showLoading({\r\n\t\t\t\t\ttitle: '清除中...'\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tcacheSize.value = '0.0 MB'\r\n\t\t\t\t\tuni.hideLoading()\r\n\t\t\t\t\tuni.showToast({\r\n\t\t\t\t\t\ttitle: '缓存已清除',\r\n\t\t\t\t\t\ticon: 'success'\r\n\t\t\t\t\t})\r\n\t\t\t\t}, 1000)\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n}\r\n\r\n// 切换语言\r\nconst changeLanguage = () => {\r\n\tuni.showActionSheet({\r\n\t\titemList: ['简体中文', 'English', '日本語'],\r\n\t\tsuccess: (res) => {\r\n\t\t\tconst languages = ['简体中文', 'English', '日本語']\r\n\t\t\tcurrentLanguage.value = languages[res.tapIndex]\r\n\t\t\tuni.setStorageSync('appLanguage', currentLanguage.value)\r\n\t\t\t\r\n\t\t\tuni.showToast({\r\n\t\t\t\ttitle: '语言已切换',\r\n\t\t\t\ticon: 'success'\r\n\t\t\t})\r\n\t\t}\r\n\t})\r\n}\r\n\r\n// 切换主题\r\nconst changeTheme = () => {\r\n\tuni.showActionSheet({\r\n\t\titemList: ['自动', '浅色模式', '深色模式'],\r\n\t\tsuccess: (res) => {\r\n\t\t\tconst themes = ['自动', '浅色模式', '深色模式']\r\n\t\t\tcurrentTheme.value = themes[res.tapIndex]\r\n\t\t\tuni.setStorageSync('appTheme', currentTheme.value)\r\n\t\t\t\r\n\t\t\tuni.showToast({\r\n\t\t\t\ttitle: '主题已切换',\r\n\t\t\t\ticon: 'success'\r\n\t\t\t})\r\n\t\t}\r\n\t})\r\n}\r\n\r\n// 我的评价\r\nconst goToMyReviews = () => {\r\n\t// 跳转到订单列表的已完成或者是评价相关的页面\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/mall/consumer/orders?status=completed'\r\n\t})\r\n}\r\n\r\n// 关于我们\r\nconst aboutUs = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/user/terms?type=about'\r\n\t})\r\n}\r\n\r\n// 用户协议\r\nconst userAgreement = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/user/terms?type=agreement'\r\n\t})\r\n}\r\n\r\n// 隐私政策\r\nconst privacyPolicy = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/user/terms?type=privacy'\r\n\t})\r\n}\r\n\r\n// 检查更新\r\nconst checkUpdate = () => {\r\n\tuni.showLoading({\r\n\t\ttitle: '检查更新中...'\r\n\t})\r\n\t\r\n\tsetTimeout(() => {\r\n\t\tuni.hideLoading()\r\n\t\tuni.showModal({\r\n\t\t\ttitle: '检查更新',\r\n\t\t\tcontent: '当前已是最新版本',\r\n\t\t\tshowCancel: false\r\n\t\t})\r\n\t}, 1000)\r\n}\r\n\r\n// 联系客服\r\nconst contactService = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/mall/consumer/chat'\r\n\t})\r\n}\r\n\r\n// 意见反馈\r\nconst feedback = () => {\r\n\tuni.navigateTo({\r\n\t\turl: '/pages/info/feedback'\r\n\t})\r\n}\r\n\r\nconst rateApp = () => {\r\n\tuni.showModal({\r\n\t\ttitle: '给个好评',\r\n\t\tcontent: '如果喜欢我们的应用,请给个好评吧!感谢您的支持!',\r\n\t\tconfirmText: '好的',\r\n\t\tshowCancel: false\r\n\t})\r\n}\r\n\r\n// 退出登录\r\nconst logout = () => {\r\n\tuni.showModal({\r\n\t\ttitle: '退出登录',\r\n\t\tcontent: '确定要退出登录吗?',\r\n\t\tsuccess: (res) => {\r\n\t\t\tif (res.confirm) {\r\n\t\t\t\tuni.showLoading({\r\n\t\t\t\t\ttitle: '正在退出...'\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tuni.removeStorageSync('userInfo')\r\n\t\t\t\tuni.removeStorageSync('user_id')\r\n\t\t\t\tuni.removeStorageSync('access_token')\r\n\t\t\t\t\r\n\t\t\t\tuni.hideLoading()\r\n\t\t\t\t\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '已退出登录',\r\n\t\t\t\t\ticon: 'success'\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tuni.reLaunch({\r\n\t\t\t\t\t\turl: '/pages/user/login'\r\n\t\t\t\t\t})\r\n\t\t\t\t}, 1000)\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n}\r\nconst deleteAccount = () => {\r\n\tuni.showModal({\r\n\t\ttitle: '注销账号',\r\n\t\tcontent: '确定要注销账号吗?此操作不可恢复,所有数据将被删除!',\r\n\t\tconfirmText: '注销',\r\n\t\tconfirmColor: '#ff4757',\r\n\t\tsuccess: (res) => {\r\n\t\t\tif (res.confirm) {\r\n\t\t\t\tuni.showLoading({\r\n\t\t\t\t\ttitle: '注销中...'\r\n\t\t\t\t})\r\n \r\n let userId: string | null = userInfo.value.id\r\n if (userId == null || userId === '') {\r\n const storageId = uni.getStorageSync('user_id')\r\n userId = (storageId != null) ? storageId as string : null\r\n }\r\n \r\n if (userId != null) {\r\n const updateObj: UTSJSONObject = new UTSJSONObject()\r\n updateObj.set('status', 3)\r\n supa\r\n .from('ml_user_profiles')\r\n .update(updateObj)\r\n .eq('user_id', userId)\r\n .execute()\r\n }\r\n\t\t\t\t\r\n\t\t\t\tuni.removeStorageSync('userInfo')\r\n\t\t\t\tuni.removeStorageSync('user_id')\r\n\t\t\t\tuni.removeStorageSync('access_token')\r\n\t\t\t\t\r\n\t\t\t\tuni.hideLoading()\r\n\t\t\t\tuni.showToast({\r\n\t\t\t\t\ttitle: '账号已注销',\r\n\t\t\t\t\ticon: 'success',\r\n\t\t\t\t\tduration: 2000\r\n\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tuni.reLaunch({\r\n\t\t\t\t\t\turl: '/pages/user/login'\r\n\t\t\t\t\t})\r\n\t\t\t\t}, 1500)\r\n\t\t\t}\r\n\t\t}\r\n\t})\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n/* 响应式布局优化 */\r\n.section-list {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tflex-wrap: wrap;\r\n\tjustify-content: flex-start;\r\n}\r\n\r\n.list-item {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 15px;\r\n\tborder-bottom: 1px solid #f5f5f5;\r\n\tbackground-color: #ffffff;\r\n\t\r\n\t/* 手机端每行显示4个,自适应排到下一行 */\r\n\twidth: 25%;\r\n\tflex-direction: column; /* 内容改为垂直排列,图标在上文字在下 */\r\n\tjustify-content: center;\r\n\ttext-align: center;\r\n\tbox-sizing: border-box;\r\n\tborder-right: 1px solid #f5f5f5; /* 添加右边框分隔 */\r\n}\r\n\r\n.item-icon {\r\n\tfont-size: 24px;\r\n\tmargin-right: 0; /* 移除右侧间距 */\r\n\tmargin-bottom: 5px; /* 添加底部间距 */\r\n}\r\n\r\n.item-text {\r\n\tfont-size: 12px;\r\n\tcolor: #333333;\r\n\t/* 文字太长可能需要处理,这里暂时不做截断 */\r\n}\r\n\r\n.item-arrow {\r\n\tdisplay: none; /* 网格模式下通常不需要箭头 */\r\n}\r\n\r\n.item-right {\r\n\tdisplay: none; /* 简化显示,隐藏右侧状态/箭头等复杂内容 */\r\n}\r\n\r\n/* 针对 switch 组件的特殊处理,如果需要显示开关,可能需要调整布局 */\r\n.settings-switch {\r\n\ttransform: scale(0.7);\r\n\tmargin-top: 5px;\r\n}\r\n\r\n/* 屏幕宽度大于 480px (大屏手机/平板/PC) 时,启用更宽的网格布局或列表布局 */\r\n@media screen and (min-width: 480px) {\r\n\t.list-item {\r\n\t\twidth: 47%; /* width: calc(50% - 10px); REPLACED */\r\n\t\tmargin: 5px;\r\n\t\tborder: 1px solid #f0f0f0;\r\n\t\tborder-radius: 8px;\r\n\t\tborder-bottom: 1px solid #f0f0f0; \r\n\t\tflex-direction: row; /* 恢复水平排列 */\r\n\t\ttext-align: left;\r\n\t\tjustify-content: flex-start;\r\n\t}\r\n\t\r\n\t.item-icon {\r\n\t\tmargin-right: 15px;\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t.item-text {\r\n\t\tfont-size: 14px;\r\n\t}\r\n\t\r\n\t.item-arrow, .item-right {\r\n\t\tdisplay: flex; /* 恢复显示 */\r\n\t\tmargin-left: auto; /* 推到右侧 */\r\n\t}\r\n}\r\n\r\n/* 增加针对手机横屏的媒体查询 */\r\n@media screen and (orientation: landscape) and (max-height: 500px) {\r\n .list-item {\r\n\t\twidth: 22%; /* width: calc(25% - 10px); REPLACED */\r\n\t\tmargin: 5px;\r\n\t\tborder: 1px solid #f0f0f0;\r\n\t\tborder-radius: 8px;\r\n flex-direction: column;\r\n\t}\r\n}\r\n\r\n/* 屏幕宽度大于 1024px (大屏PC) 时 */\r\n@media screen and (min-width: 1024px) {\r\n\t.settings-page {\r\n\t\tflex-direction: row; /* 整体左右布局 */\r\n\t}\r\n\r\n\t.settings-header {\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.settings-content {\r\n\t\twidth: 100%;\r\n\t\tmax-width: 1200px;\r\n\t\tmargin: 0 auto;\r\n\t\tpadding: 20px;\r\n\t}\r\n\t\r\n\t.list-item {\r\n\t\twidth: 31%; /* width: calc(33.33% - 10px); REPLACED */\r\n\t\tflex-direction: row; /* PC端保持水平排列 */\r\n justify-content: flex-start;\r\n text-align: left;\r\n\t}\r\n \r\n .item-icon {\r\n\t\tmargin-right: 15px;\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n \r\n .item-arrow, .item-right {\r\n\t\tdisplay: flex;\r\n margin-left: auto;\r\n\t}\r\n}\r\n\r\n.settings-page {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbackground-color: #f5f5f5;\r\n}\r\n\r\n.settings-header {\r\n\tbackground-color: #ffffff;\r\n\tpadding: 15px;\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\talign-items: center;\r\n\tborder-bottom: 1px solid #e5e5e5;\r\n}\r\n\r\n.back-btn {\r\n\tfont-size: 24px;\r\n\tcolor: #333333;\r\n\tpadding: 5px;\r\n\tmargin-right: 15px;\r\n}\r\n\r\n.header-title {\r\n\tfont-size: 18px;\r\n\tfont-weight: bold;\r\n\tcolor: #333333;\r\n}\r\n\r\n.settings-content {\r\n\tflex: 1;\r\n\twidth: 100%;\r\n\theight: 100px;\r\n}\r\n\r\n.settings-section {\r\n\tbackground-color: #ffffff;\r\n\tmargin-bottom: 10px;\r\n\tpadding: 15px;\r\n}\r\n\r\n.section-title {\r\n\tfont-size: 16px;\r\n\tfont-weight: bold;\r\n\tcolor: #333333;\r\n\tmargin-bottom: 15px;\r\n}\r\n\r\n/* 删除多余的 .section-list 定义 */\r\n/* 删除多余的 .list-item 定义 */\r\n/* 删除多余的 .list-item:last-child 定义 */\r\n\r\n.item-icon {\r\n\tfont-size: 20px;\r\n\tmargin-right: 15px;\r\n}\r\n\r\n.item-text {\r\n\tflex: 1;\r\n\tfont-size: 14px;\r\n\tcolor: #333333;\r\n}\r\n\r\n.item-arrow {\r\n\tcolor: #999999;\r\n\tfont-size: 16px;\r\n\tmargin-left: 10px;\r\n}\r\n\r\n.item-right {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n}\r\n\r\n.item-status {\r\n\tfont-size: 12px;\r\n\tcolor: #999999;\r\n\tmargin-right: 10px;\r\n}\r\n\r\n.item-status.bound {\r\n\tcolor: #4caf50;\r\n}\r\n\r\n.item-cache {\r\n\tfont-size: 12px;\r\n\tcolor: #999999;\r\n\tmargin-right: 10px;\r\n}\r\n\r\n.logout-section {\r\n\tbackground-color: #ffffff;\r\n\tmargin-top: 10px;\r\n\tpadding: 15px;\r\n}\r\n\r\n.logout-btn {\r\n\tbackground-color: #ffffff;\r\n\tcolor: #ff4757;\r\n\theight: 45px;\r\n\tborder: 1px solid #ff4757;\r\n\tborder-radius: 22.5px;\r\n\tfont-size: 16px;\r\n\tfont-weight: bold;\r\n}\r\n\r\n.delete-account-section {\r\n\tbackground-color: #ffffff;\r\n\tpadding: 20px 15px;\r\n\ttext-align: center;\r\n}\r\n\r\n.delete-account {\r\n\tcolor: #999999;\r\n\tfont-size: 14px;\r\n}/* text-decoration: underline; REMOVED */\r\n</style>\r\n\r\n",null,null,null,null,null,null,null],"names":[],"mappings":"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"} |