-
查看文本
-
-
-
-
{{ item?.label }}
-
-
{{ item?.value }}
+
+
+
查看文本
+
-
-
-
-
-
-
-
+
+
+
+
{{ item?.label }}
+
+
{{ item?.value }}
+
+
+
+
+
+
+
+
diff --git a/front/composables/useMyAppShare.ts b/front/composables/useMyAppShare.ts
index 92da4f9..a731247 100644
--- a/front/composables/useMyAppShare.ts
+++ b/front/composables/useMyAppShare.ts
@@ -1,98 +1,102 @@
-import { toast } from "vue-sonner";
+import { toast } from 'vue-sonner'
-let shareIdTokenMap: WeakMap<{ share_id: string }, string>;
+let shareIdTokenMap: WeakMap<{ share_id: string }, string>
const getShareToken = async (share_id: string): Promise
=> {
- if (!shareIdTokenMap) {
- shareIdTokenMap = new WeakMap();
- }
- let token = shareIdTokenMap.get({ share_id });
- if (!token) {
- const data = await $fetch<{
- code: number;
- message: string;
- data: {
- token?: string;
- };
- }>(`/api/download`, {
- method: "POST",
- body: {
- share_id,
- },
- });
- if (!data?.data?.token) {
- throw new Error(data?.message || "获取token失败");
+ if (!shareIdTokenMap) {
+ shareIdTokenMap = new WeakMap()
}
- token = data.data.token;
- shareIdTokenMap.set({ share_id }, token);
- }
- return token;
-};
+ let token = shareIdTokenMap.get({ share_id })
+ if (!token) {
+ const data = await $fetch<{
+ code: number
+ message: string
+ data: {
+ token?: string
+ }
+ }>(`/api/download`, {
+ method: 'POST',
+ body: {
+ share_id,
+ },
+ })
+ if (!data?.data?.token) {
+ throw new Error(data?.message || '获取token失败')
+ }
+ token = data.data.token
+ shareIdTokenMap.set({ share_id }, token)
+ }
+ return token
+}
const downloadFile = async (share_id: string) => {
- try {
- const token = await getShareToken(share_id);
- if (!token) {
- throw new Error("获取token失败");
- return;
+ try {
+ const token = await getShareToken(share_id)
+ if (!token) {
+ throw new Error('获取token失败')
+ return
+ }
+ ;(window as any)?.open(`/api/download?token=${token}`)
+ } catch (e) {
+ toast.error((e as any)?.data?.message || e)
}
- (window as any)?.open(`/api/download?token=${token}`);
- } catch (e) {
- toast.error((e as any)?.data?.message || e);
- }
-};
+}
const createShare = async (data: any) => {
- return await $fetch<{
- code: number;
- data: {
- id?: string;
- };
- }>(`/api/share`, {
- method: "POST",
- body: data,
- });
-};
+ return await $fetch<{
+ code: number
+ data: {
+ id?: string
+ download_nums?: number
+ expire_at?: number
+ file_name?: string
+ pickup_code?: string
+ }
+ }>(`/api/share`, {
+ method: 'POST',
+ body: data,
+ })
+}
const createFileShare = async (data: {
- file_id: string;
- config: {
- download_nums: number;
- expire_time: number;
- has_pickup_code?: boolean;
- has_password?: boolean;
- pickup_code?: string;
- password?: string;
- notify_email?: string;
- };
- file_name: string;
+ file_id: string
+ config: {
+ download_nums: number
+ expire_time: number
+ has_pickup_code?: boolean
+ has_password?: boolean
+ pickup_code?: string
+ password?: string
+ notify_email?: string
+ }
+ file_name: string
}) => {
- const { file_id, config, file_name } = data || {};
- return await createShare({
- type: "file",
- data: file_id,
- config,
- file_name,
- });
-};
+ const { file_id, config, file_name } = data || {}
+ return await createShare({
+ type: 'file',
+ data: file_id,
+ config,
+ file_name,
+ })
+}
const createTextShare = async (data: { text: string; config: any }) => {
- const { text, config } = data || {};
- return await createShare({
- type: "text",
- data: text,
- config,
- });
-};
+ const { text, config } = data || {}
+ return await createShare({
+ type: 'text',
+ data: text,
+ config,
+ })
+}
const useMyAppShare = () => {
- return {
- downloadFile,
- createShare,
- createFileShare,
- createTextShare,
- getShareToken,
- };
-};
+ return {
+ downloadFile,
+ createShare,
+ createFileShare,
+ createTextShare,
+ getShareToken,
+ }
+}
-export default useMyAppShare;
+export default useMyAppShare