diff --git a/components.d.ts b/components.d.ts index e9be9b0..58439f6 100644 --- a/components.d.ts +++ b/components.d.ts @@ -8,6 +8,7 @@ export {} declare module 'vue' { export interface GlobalComponents { AButton: typeof import('ant-design-vue/es')['Button'] + AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] ADivider: typeof import('ant-design-vue/es')['Divider'] AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] @@ -21,7 +22,6 @@ declare module 'vue' { ASelectOption: typeof import('ant-design-vue/es')['SelectOption'] ASlider: typeof import('ant-design-vue/es')['Slider'] ASpin: typeof import('ant-design-vue/es')['Spin'] - ASwitch: typeof import('ant-design-vue/es')['Switch'] ATag: typeof import('ant-design-vue/es')['Tag'] ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] @@ -67,6 +67,5 @@ declare module 'vue' { TransactionSkeleton: typeof import('./src/components/TransactionSkeleton.vue')['default'] VanActionSheet: typeof import('vant/es')['ActionSheet'] VanDialog: typeof import('vant/es')['Dialog'] - VanField: typeof import('vant/es')['Field'] } } diff --git a/src/models/products.ts b/src/models/products.ts index f94dcf2..95fca6c 100644 --- a/src/models/products.ts +++ b/src/models/products.ts @@ -1,4 +1,5 @@ import type {Wallet} from "@/models/wallet"; +import type { ProductFile } from '@/utils/file' export interface Product { id: number @@ -7,6 +8,7 @@ export interface Product { amount: any metal_id: any file_id: any + file?: ProductFile | null unit: string active: boolean show: boolean diff --git a/src/utils/file.ts b/src/utils/file.ts new file mode 100644 index 0000000..aaeaffc --- /dev/null +++ b/src/utils/file.ts @@ -0,0 +1,17 @@ +import { baseURL } from '@/themeConfig' + +export interface ProductFile { + id?: number + url?: string | null + src?: string +} + +export function getFileUrl(file?: ProductFile | null): string | null { + if (!file) return null + if (file.url) return file.url + if (!file.src) return null + if (/^https?:\/\//i.test(file.src)) return file.src + const base = baseURL.replace(/\/$/, '') + const path = file.src.replace(/^\//, '') + return `${base}/${path}` +} diff --git a/src/views/base/products/components/ProductItem.vue b/src/views/base/products/components/ProductItem.vue index 13a2aee..5113a89 100644 --- a/src/views/base/products/components/ProductItem.vue +++ b/src/views/base/products/components/ProductItem.vue @@ -2,13 +2,7 @@