From bb48745484af50c11b70f62fd7b9db60299d6a2a Mon Sep 17 00:00:00 2001 From: tnt group Date: Fri, 26 May 2023 16:51:05 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E7=95=99=20redirectComponent=20=E9=85=8D=E7=BD=AE=E7=9A=84?= =?UTF-8?q?=E7=81=B5=E6=B4=BB=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/components/Icons/Common/index.ts | 4 +-- .../Icons/{ => Default}/Icon/config.ts | 0 .../Icons/{ => Default}/Icon/config.vue | 0 .../Icons/{ => Default}/Icon/index.ts | 2 +- .../Icons/{ => Default}/Icon/index.vue | 0 .../components/Icons/MaterialLine/index.ts | 4 +-- .../components/Icons/Weather/index.ts | 4 +-- .../components/Photos/Private/index.ts | 4 +-- src/packages/components/Photos/Share/index.ts | 2 +- src/packages/index.ts | 27 +++++-------------- 10 files changed, 16 insertions(+), 31 deletions(-) rename src/packages/components/Icons/{ => Default}/Icon/config.ts (100%) rename src/packages/components/Icons/{ => Default}/Icon/config.vue (100%) rename src/packages/components/Icons/{ => Default}/Icon/index.ts (84%) rename src/packages/components/Icons/{ => Default}/Icon/index.vue (100%) diff --git a/src/packages/components/Icons/Common/index.ts b/src/packages/components/Icons/Common/index.ts index 76b32b26..71b273d0 100644 --- a/src/packages/components/Icons/Common/index.ts +++ b/src/packages/components/Icons/Common/index.ts @@ -1,4 +1,4 @@ -import { IconConfig } from '../Icon/index' +import { IconConfig } from '../Default/Icon/index' import { PackagesCategoryEnum } from '@/packages/index.d' import { ChatCategoryEnum, ChatCategoryEnumName } from '../index.d' @@ -78,7 +78,7 @@ const iconList = iconNames.map(name => ({ icon: name, dataset: name, title: name.replace('uim:', ''), - redirectComponent: './components/Icons/Icon' // 虚拟组件路径,尾部不跟 ‘/’,相对于 /packages/index.ts 文件的位置 + redirectComponent: 'Icons/Default/Icon' // 跳转组件路径规则:packageName/categoryName/componentKey })) export default iconList diff --git a/src/packages/components/Icons/Icon/config.ts b/src/packages/components/Icons/Default/Icon/config.ts similarity index 100% rename from src/packages/components/Icons/Icon/config.ts rename to src/packages/components/Icons/Default/Icon/config.ts diff --git a/src/packages/components/Icons/Icon/config.vue b/src/packages/components/Icons/Default/Icon/config.vue similarity index 100% rename from src/packages/components/Icons/Icon/config.vue rename to src/packages/components/Icons/Default/Icon/config.vue diff --git a/src/packages/components/Icons/Icon/index.ts b/src/packages/components/Icons/Default/Icon/index.ts similarity index 84% rename from src/packages/components/Icons/Icon/index.ts rename to src/packages/components/Icons/Default/Icon/index.ts index 574b694c..8b722907 100644 --- a/src/packages/components/Icons/Icon/index.ts +++ b/src/packages/components/Icons/Default/Icon/index.ts @@ -1,5 +1,5 @@ import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d' -import { ChatCategoryEnum, ChatCategoryEnumName } from '../index.d' +import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d' export const IconConfig: ConfigType = { key: 'Icon', diff --git a/src/packages/components/Icons/Icon/index.vue b/src/packages/components/Icons/Default/Icon/index.vue similarity index 100% rename from src/packages/components/Icons/Icon/index.vue rename to src/packages/components/Icons/Default/Icon/index.vue diff --git a/src/packages/components/Icons/MaterialLine/index.ts b/src/packages/components/Icons/MaterialLine/index.ts index b018d0aa..9d729d9a 100644 --- a/src/packages/components/Icons/MaterialLine/index.ts +++ b/src/packages/components/Icons/MaterialLine/index.ts @@ -1,4 +1,4 @@ -import { IconConfig } from '../Icon/index' +import { IconConfig } from '../Default/Icon/index' import { PackagesCategoryEnum } from '@/packages/index.d' import { ChatCategoryEnum, ChatCategoryEnumName } from '../index.d' @@ -39,7 +39,7 @@ const iconList = iconNames.map(name => ({ icon: name, dataset: name, title: name.replace('line-md:', ''), - redirectComponent: './components/Icons/Icon' // 虚拟组件路径,尾部不跟 ‘/’,相对于 /packages/index.ts 文件的位置 + redirectComponent: 'Icons/Default/Icon' // 跳转组件路径规则:packageName/categoryName/componentKey })) export default iconList diff --git a/src/packages/components/Icons/Weather/index.ts b/src/packages/components/Icons/Weather/index.ts index 7e97ba8a..b760f925 100644 --- a/src/packages/components/Icons/Weather/index.ts +++ b/src/packages/components/Icons/Weather/index.ts @@ -1,4 +1,4 @@ -import { IconConfig } from '../Icon/index' +import { IconConfig } from '../Default/Icon/index' import { PackagesCategoryEnum } from '@/packages/index.d' import { ChatCategoryEnum, ChatCategoryEnumName } from '../index.d' @@ -47,7 +47,7 @@ const iconList = iconNames.map(name => ({ icon: name, dataset: name, title: name.replace('wi:', ''), - redirectComponent: './components/Icons/Icon' // 虚拟组件路径,尾部不跟 ‘/’,相对于 /packages/index.ts 文件的位置 + redirectComponent: 'Icons/Default/Icon' // 跳转组件路径规则:packageName/categoryName/componentKey })) export default iconList diff --git a/src/packages/components/Photos/Private/index.ts b/src/packages/components/Photos/Private/index.ts index f95c6af0..1d0c4b27 100644 --- a/src/packages/components/Photos/Private/index.ts +++ b/src/packages/components/Photos/Private/index.ts @@ -53,7 +53,7 @@ const addConfig = { chartFrame: ChartFrameEnum.STATIC, title: '点击上传图片', image: 'upload.png', - redirectComponent: './components/Informations/Mores/Image', // 虚拟组件路径,尾部不跟 ‘/’,相对于 /packages/index.ts 文件的位置 + redirectComponent: 'Informations/Mores/Image', // 跳转组件路径规则:packageName/categoryName/componentKey disabled: true, configEvents: { // 点击上传事件 @@ -74,7 +74,7 @@ const addConfig = { title: e.fileName, image: e.url, dataset: e.url, - redirectComponent: './components/Informations/Mores/Image' // 虚拟组件路径,尾部不跟 ‘/’,相对于 /packages/index.ts 文件的位置 + redirectComponent: 'Informations/Mores/Image' // 跳转组件路径规则:packageName/categoryName/componentKey } userPhotosList.unshift(newPhoto) // 存储在本地数据中 diff --git a/src/packages/components/Photos/Share/index.ts b/src/packages/components/Photos/Share/index.ts index 2cb19ba6..7ed5187a 100644 --- a/src/packages/components/Photos/Share/index.ts +++ b/src/packages/components/Photos/Share/index.ts @@ -17,7 +17,7 @@ const photoConfigList = imageList.map(i => ({ image: i.imageUrl, dataset: i.imageUrl, title: i.imageName, - redirectComponent: './components/Informations/Mores/Image' // 虚拟组件路径,尾部不跟 ‘/’,相对于 /packages/index.ts 文件的位置 + redirectComponent: 'Informations/Mores/Image' // 跳转组件路径规则:packageName/categoryName/componentKey })) export default photoConfigList diff --git a/src/packages/index.ts b/src/packages/index.ts index 2a207939..20bc8535 100644 --- a/src/packages/index.ts +++ b/src/packages/index.ts @@ -31,28 +31,13 @@ export let packagesList: PackagesType = { * @param targetData */ export const createComponent = async (targetData: ConfigType) => { - const { package: packageName } = targetData - if (packageName === PackagesCategoryEnum.ICONS) { - return createIconComponent() - } else if (packageName === PackagesCategoryEnum.PHOTOS) { - return createPhotoComponent() - } else { - return createDefaultComponent(targetData) + const { redirectComponent, category, key } = targetData + // redirectComponent 是给图片组件库和图标组件库使用的 + if (redirectComponent) { + const [packageName, categoryName, keyName] = redirectComponent.split('/') + const redirectChart = await import(`./components/${packageName}/${categoryName}/${keyName}/config.ts`) + return new redirectChart.default() } -} - -export const createIconComponent = async () => { - const chart = await import(`./components/Icons/Icon/config`) - return new chart.default() -} - -export const createPhotoComponent = async () => { - const chart = await import(`./components/Informations/Mores/Image/config`) - return new chart.default() -} - -export const createDefaultComponent = async (targetData: ConfigType) => { - const { category, key } = targetData const chart = await import(`./components/${targetData.package}/${category}/${key}/config.ts`) return new chart.default() } From d8bcb4ab4f43c11279a321fe5ba4b1c8b55a8268 Mon Sep 17 00:00:00 2001 From: tnt group Date: Sat, 27 May 2023 00:02:40 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=8C=81=E4=B9=85=E5=8C=96(=E6=88=96?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=86=8D=E5=AF=BC=E5=85=A5)=E6=97=B6?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=9A=84=E5=88=86=E7=B1=BB=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E5=AF=BC=E8=87=B4=E6=97=A0=E6=B3=95=E8=BD=BD=E5=85=A5?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/components/Icons/Default/Icon/index.ts | 4 ++-- src/packages/components/Icons/index.d.ts | 7 ++++--- src/packages/components/Icons/index.ts | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/packages/components/Icons/Default/Icon/index.ts b/src/packages/components/Icons/Default/Icon/index.ts index 8b722907..47af1f9f 100644 --- a/src/packages/components/Icons/Default/Icon/index.ts +++ b/src/packages/components/Icons/Default/Icon/index.ts @@ -6,8 +6,8 @@ export const IconConfig: ConfigType = { chartKey: 'VIcon', conKey: 'VCIcon', title: '图标', - category: ChatCategoryEnum.COMMON, - categoryName: ChatCategoryEnumName.COMMON, + category: ChatCategoryEnum.DEFAULT, + categoryName: ChatCategoryEnumName.DEFAULT, package: PackagesCategoryEnum.ICONS, chartFrame: ChartFrameEnum.STATIC, image: 'icon.png' diff --git a/src/packages/components/Icons/index.d.ts b/src/packages/components/Icons/index.d.ts index 2cdb9db7..a7f74a94 100644 --- a/src/packages/components/Icons/index.d.ts +++ b/src/packages/components/Icons/index.d.ts @@ -1,12 +1,13 @@ export enum ChatCategoryEnum { ML = 'MaterialLine', COMMON = 'Common', - WEATHER = "WEATHER" + WEATHER = 'Weather', + DEFAULT = 'Default' // 这个仅用来表示组件分类目录,不要在 index.ts 中导入 } - export enum ChatCategoryEnumName { ML = '动画', COMMON = '通用', - WEATHER = "天气" + WEATHER = '天气', + DEFAULT = '默认' } diff --git a/src/packages/components/Icons/index.ts b/src/packages/components/Icons/index.ts index 19286a5e..4c126002 100644 --- a/src/packages/components/Icons/index.ts +++ b/src/packages/components/Icons/index.ts @@ -2,4 +2,4 @@ import MaterialLine from './MaterialLine' import Common from './Common' import Weather from './Weather' -export const IconList = [...MaterialLine, ...Common, ...Weather] +export const IconList = [...MaterialLine, ...Weather, ...Common] From ff4140cbfba378ec92851cb2c1b1502e419ada5a Mon Sep 17 00:00:00 2001 From: tnt group Date: Sat, 27 May 2023 12:06:43 +0800 Subject: [PATCH 3/4] =?UTF-8?q?chore:=20=E4=BD=BF=E7=94=A8=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=96=B9=E5=BC=8F=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=20redirectComponent=20=E8=A7=84=E5=88=99=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E4=B8=BA=E7=B2=BE=E5=87=86=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E6=89=8B=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/components/Icons/Common/index.ts | 2 +- src/packages/components/Icons/MaterialLine/index.ts | 2 +- src/packages/components/Icons/Weather/index.ts | 4 ++-- src/packages/components/Photos/Private/index.ts | 2 +- src/packages/components/Photos/Share/index.ts | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/packages/components/Icons/Common/index.ts b/src/packages/components/Icons/Common/index.ts index 71b273d0..86560d70 100644 --- a/src/packages/components/Icons/Common/index.ts +++ b/src/packages/components/Icons/Common/index.ts @@ -78,7 +78,7 @@ const iconList = iconNames.map(name => ({ icon: name, dataset: name, title: name.replace('uim:', ''), - redirectComponent: 'Icons/Default/Icon' // 跳转组件路径规则:packageName/categoryName/componentKey + redirectComponent: `${IconConfig.package}/${IconConfig.category}/${IconConfig.key}` // 跳转组件路径规则:packageName/categoryName/componentKey })) export default iconList diff --git a/src/packages/components/Icons/MaterialLine/index.ts b/src/packages/components/Icons/MaterialLine/index.ts index 9d729d9a..adeac127 100644 --- a/src/packages/components/Icons/MaterialLine/index.ts +++ b/src/packages/components/Icons/MaterialLine/index.ts @@ -39,7 +39,7 @@ const iconList = iconNames.map(name => ({ icon: name, dataset: name, title: name.replace('line-md:', ''), - redirectComponent: 'Icons/Default/Icon' // 跳转组件路径规则:packageName/categoryName/componentKey + redirectComponent: `${IconConfig.package}/${IconConfig.category}/${IconConfig.key}` // 跳转组件路径规则:packageName/categoryName/componentKey })) export default iconList diff --git a/src/packages/components/Icons/Weather/index.ts b/src/packages/components/Icons/Weather/index.ts index b760f925..f8ead1a1 100644 --- a/src/packages/components/Icons/Weather/index.ts +++ b/src/packages/components/Icons/Weather/index.ts @@ -36,7 +36,7 @@ const iconNames = [ 'wi:night-alt-cloudy-high', 'wi:night-alt-hail', 'wi:night-alt-lightning', - 'wi:umbrella', + 'wi:umbrella' ] const iconList = iconNames.map(name => ({ ...IconConfig, @@ -47,7 +47,7 @@ const iconList = iconNames.map(name => ({ icon: name, dataset: name, title: name.replace('wi:', ''), - redirectComponent: 'Icons/Default/Icon' // 跳转组件路径规则:packageName/categoryName/componentKey + redirectComponent: `${IconConfig.package}/${IconConfig.category}/${IconConfig.key}` // 跳转组件路径规则:packageName/categoryName/componentKey })) export default iconList diff --git a/src/packages/components/Photos/Private/index.ts b/src/packages/components/Photos/Private/index.ts index 1d0c4b27..45740315 100644 --- a/src/packages/components/Photos/Private/index.ts +++ b/src/packages/components/Photos/Private/index.ts @@ -74,7 +74,7 @@ const addConfig = { title: e.fileName, image: e.url, dataset: e.url, - redirectComponent: 'Informations/Mores/Image' // 跳转组件路径规则:packageName/categoryName/componentKey + redirectComponent: `${ImageConfig.package}/${ImageConfig.category}/${ImageConfig.key}` // 跳转组件路径规则:packageName/categoryName/componentKey } userPhotosList.unshift(newPhoto) // 存储在本地数据中 diff --git a/src/packages/components/Photos/Share/index.ts b/src/packages/components/Photos/Share/index.ts index 7ed5187a..a2735f6c 100644 --- a/src/packages/components/Photos/Share/index.ts +++ b/src/packages/components/Photos/Share/index.ts @@ -17,7 +17,7 @@ const photoConfigList = imageList.map(i => ({ image: i.imageUrl, dataset: i.imageUrl, title: i.imageName, - redirectComponent: 'Informations/Mores/Image' // 跳转组件路径规则:packageName/categoryName/componentKey + redirectComponent: `${ImageConfig.package}/${ImageConfig.category}/${ImageConfig.key}` // 跳转组件路径规则:packageName/categoryName/componentKey })) export default photoConfigList From 6063408d94a718508ec5981821f9bc163477af63 Mon Sep 17 00:00:00 2001 From: tnt group Date: Sat, 27 May 2023 13:21:17 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E4=B8=8A=E6=AC=A1=E9=81=97=E6=BC=8F?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E5=A4=8D=20#e463b2cd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/packages/components/Photos/Private/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/packages/components/Photos/Private/index.ts b/src/packages/components/Photos/Private/index.ts index 45740315..a975a41e 100644 --- a/src/packages/components/Photos/Private/index.ts +++ b/src/packages/components/Photos/Private/index.ts @@ -22,7 +22,7 @@ const userPhotosList: ConfigType[] = getLocalStorage(StoreKey) || [] const uploadFile = (callback: Function | null = null) => { const input = document.createElement('input') input.type = 'file' - input.accept = 'image/*' // 这里只允许图片类型 + input.accept = '.png,.jpg,.jpeg,.gif' // 这里只允许部分图片类型 input.onchange = async () => { if (!input.files || !input.files.length) return const file = input.files[0] @@ -53,7 +53,7 @@ const addConfig = { chartFrame: ChartFrameEnum.STATIC, title: '点击上传图片', image: 'upload.png', - redirectComponent: 'Informations/Mores/Image', // 跳转组件路径规则:packageName/categoryName/componentKey + redirectComponent: `${ImageConfig.package}/${ImageConfig.category}/${ImageConfig.key}`, // 跳转组件路径规则:packageName/categoryName/componentKey disabled: true, configEvents: { // 点击上传事件