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 @@