Fix default display name

This commit is contained in:
timongh 2022-03-29 15:18:31 +08:00
parent 7b4201475a
commit 1be862acba

View File

@ -23,6 +23,7 @@ export interface PluginMinimalData extends FeatureBase {
/** 显示名称, 默认同插件名称 */ /** 显示名称, 默认同插件名称 */
displayName?: string displayName?: string
} }
type PartialRequired<Target, Props extends keyof Target> = Target & { type PartialRequired<Target, Props extends keyof Target> = Target & {
[P in Props]-?: Target[P] [P in Props]-?: Target[P]
} }
@ -67,11 +68,12 @@ export const installPlugin = async (code: string) => {
message: `已更新插件'${plugin.displayName}', 刷新后生效`, message: `已更新插件'${plugin.displayName}', 刷新后生效`,
} }
} }
const newPlugin = { const newPlugin = lodash(plugin)
code, .set<PluginMetadata & { code: string }>(['code'], code)
.defaults({
displayName: plugin.name, // 默认等于 name displayName: plugin.name, // 默认等于 name
...plugin, })
} .value()
settings.userPlugins[plugin.name] = newPlugin settings.userPlugins[plugin.name] = newPlugin
plugins.push(newPlugin) plugins.push(newPlugin)
// const { coreApis } = await import('../core/core-apis') // const { coreApis } = await import('../core/core-apis')
@ -159,8 +161,8 @@ export const loadAllPlugins = async (components: ComponentMetadata[]) => {
loadFeaturesFromCodes, loadFeaturesFromCodes,
FeatureKind, FeatureKind,
} = await import('@/core/external-input/load-features-from-codes') } = await import('@/core/external-input/load-features-from-codes')
const otherPlugins = lodash(components).map(extractPluginFromComponent).filter(p => p !== null). const otherPlugins = lodash(components).map(extractPluginFromComponent).filter(p => p !== null)
map(p => p!).concat(await loadFeaturesFromCodes( .map(p => p!).concat(await loadFeaturesFromCodes(
FeatureKind.Plugin, FeatureKind.Plugin,
Object.keys(settings.userPlugins), Object.keys(settings.userPlugins),
Object.values(settings.userPlugins).map(p => p.code), Object.values(settings.userPlugins).map(p => p.code),