From a20ea6c76bbe0feabb3cddaea2ca8e0f2c23a5b9 Mon Sep 17 00:00:00 2001 From: landaiqing Date: Thu, 6 Mar 2025 00:07:21 +0800 Subject: [PATCH] :sparkles: improve api --- src/api/auth/index.ts | 18 +++ src/api/share/index.ts | 1 + src/api/storage/index.ts | 34 ++++++ src/layout/default/Header/Search.vue | 2 +- src/utils/imageUtils/bytesToSize.ts | 6 +- .../AccountSettingHome/AccountSettingHome.vue | 35 ++++-- .../UserCenterDynamic/UserCenterDynamic.vue | 82 ++++++++------ .../UserCenterHome/UserCenterHome.vue | 107 +++++------------- 8 files changed, 159 insertions(+), 126 deletions(-) create mode 100644 src/api/auth/index.ts diff --git a/src/api/auth/index.ts b/src/api/auth/index.ts new file mode 100644 index 0000000..0660043 --- /dev/null +++ b/src/api/auth/index.ts @@ -0,0 +1,18 @@ +import {service} from "@/utils/alova/service.ts"; + +/** + * 获取分享统计信息 + */ +export const checkSecuritySettingApi = () => { + return service.Post('/api/auth/user/check/security/setting', {}, { + cacheFor: { + expire: 60 * 60 * 24 * 7, + mode: "restore", + }, + meta: { + ignoreToken: false, + signature: false, + }, + name: "check-security-setting", + }); +}; diff --git a/src/api/share/index.ts b/src/api/share/index.ts index 4f98093..988bc77 100644 --- a/src/api/share/index.ts +++ b/src/api/share/index.ts @@ -10,6 +10,7 @@ export const shareImageUploadApi = (formData) => { ignoreToken: false, signature: false, }, + name: 'upload-share-image', }); }; /** diff --git a/src/api/storage/index.ts b/src/api/storage/index.ts index 910a108..6fc4eca 100644 --- a/src/api/storage/index.ts +++ b/src/api/storage/index.ts @@ -561,3 +561,37 @@ export const addStorageConfigApi = (params: any) => { name: "add-storage-config", }); }; +/** + * 获取用户上传信息 + */ +export const getUserUploadInfoApi = () => { + return service.Post('/api/auth/storage/user/upload/info', {}, { + cacheFor: { + expire: 60 * 60 * 24 * 7, + mode: "restore", + }, + meta: { + ignoreToken: false, + signature: false, + }, + name: "get-user-upload-info", + hitSource: ["upload-file", "delete-images"], + }); +}; +/** + * 获取分享统计信息 + */ +export const getShareStatisticsInfoApi = () => { + return service.Post('/api/auth/storage/share/recent/info', {}, { + cacheFor: { + expire: 60 * 60 * 24 * 7, + mode: "restore", + }, + meta: { + ignoreToken: false, + signature: false, + }, + name: "get-share-statistics-info", + hitSource: ["upload-file", "upload-share-image"], + }); +}; diff --git a/src/layout/default/Header/Search.vue b/src/layout/default/Header/Search.vue index 970ccf8..cfab54c 100644 --- a/src/layout/default/Header/Search.vue +++ b/src/layout/default/Header/Search.vue @@ -116,7 +116,7 @@ import {NSFWJS} from "nsfwjs"; import {initNSFWJs, predictNSFW} from "@/utils/tfjs/nsfw.ts"; import {message} from "ant-design-vue"; import i18n from "@/locales"; -import {bytesToSize} from "@/utils/imageUtils/bytesToSize.ts"; +import bytesToSize from "@/utils/imageUtils/bytesToSize.ts"; import {cocoSsdPredict} from "@/utils/tfjs/mobilenet.ts"; dayjs.locale('zh-cn'); diff --git a/src/utils/imageUtils/bytesToSize.ts b/src/utils/imageUtils/bytesToSize.ts index 2bace09..94ad632 100644 --- a/src/utils/imageUtils/bytesToSize.ts +++ b/src/utils/imageUtils/bytesToSize.ts @@ -1,4 +1,4 @@ -export function bytesToSize(bytes: number, decimals = 2): string { +export default function bytesToSize(bytes: number, decimals = 2): string { if (bytes === 0) return '0 Bytes'; const k = 1024; @@ -9,7 +9,3 @@ export function bytesToSize(bytes: number, decimals = 2): string { return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; } - -// 使用示例 -// console.log(bytesToSize(1024)); // 输出: 1 KB -// console.log(bytesToSize(123456789)); // 输出: 117.74 MB diff --git a/src/views/User/AccountSetting/components/AccountSettingHome/AccountSettingHome.vue b/src/views/User/AccountSetting/components/AccountSettingHome/AccountSettingHome.vue index 5d8add4..e880d63 100644 --- a/src/views/User/AccountSetting/components/AccountSettingHome/AccountSettingHome.vue +++ b/src/views/User/AccountSetting/components/AccountSettingHome/AccountSettingHome.vue @@ -26,7 +26,7 @@ 账号安全 - @@ -77,8 +81,10 @@ 三方登录 绑定三方账号,安全登录 - 已绑定三方账号 - 取消绑定 + + {{ securityStatus.bind_wechet ? "已绑定" : "绑定" }} + + {{ securityStatus.bind_wechet ? "管理" : "" }} @@ -95,9 +101,24 @@ import emailSecurity from "@/assets/svgs/email_security.svg"; import phoneSecurity from "@/assets/svgs/phone_security.svg"; import passwordSecurity from "@/assets/svgs/password_security.svg"; import loginSecurity from "@/assets/svgs/login_security.svg"; +import {checkSecuritySettingApi} from "@/api/auth"; const userStore = useStore().user; +const securityStatus = ref(); + +async function checkStatus() { + const res: any = await checkSecuritySettingApi(); + console.log(res); + if (res && res.code === 200) { + securityStatus.value = res.data; + } +} + +onMounted(() => { + checkStatus(); +}); +