mirror of
https://github.com/certd/certd.git
synced 2026-04-24 04:17:25 +08:00
fix: 修复自定义插件删除后没有反注册的bug
This commit is contained in:
@@ -9,6 +9,7 @@ import yaml from "js-yaml";
|
||||
import { usePluginImport } from "./use-import";
|
||||
import { usePluginConfig } from "./use-config";
|
||||
import { useSettingStore } from "/src/store/settings/index";
|
||||
import { usePluginStore } from "/@/store/plugin";
|
||||
|
||||
export default function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet {
|
||||
const router = useRouter();
|
||||
@@ -43,6 +44,7 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
|
||||
const { openConfigDialog } = usePluginConfig();
|
||||
|
||||
const settingStore = useSettingStore();
|
||||
const pluginStore = usePluginStore();
|
||||
return {
|
||||
crudOptions: {
|
||||
settings: {
|
||||
@@ -83,6 +85,15 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
|
||||
},
|
||||
},
|
||||
},
|
||||
table: {
|
||||
rowKey: "name",
|
||||
remove: {
|
||||
afterRemove: async context => {
|
||||
await pluginStore.reload();
|
||||
},
|
||||
confirmMessage: "确定要删除吗?如果该插件已被使用,删除可能会导致流水线执行失败!",
|
||||
},
|
||||
},
|
||||
rowHandle: {
|
||||
show: true,
|
||||
minWidth: 200,
|
||||
@@ -142,9 +153,6 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
|
||||
},
|
||||
},
|
||||
},
|
||||
table: {
|
||||
rowKey: "name",
|
||||
},
|
||||
tabs: {
|
||||
name: "type",
|
||||
show: true,
|
||||
|
||||
@@ -58,7 +58,8 @@ export class PluginController extends CrudController<PluginService> {
|
||||
|
||||
@Post('/delete', { description: 'sys:settings:edit' })
|
||||
async delete(@Query('id') id: number) {
|
||||
return super.deleteByIds([id]);
|
||||
const res = await this.service.deleteByIds([id]);
|
||||
return this.ok(res);
|
||||
}
|
||||
|
||||
@Post('/deleteByIds', { description: 'sys:settings:edit' })
|
||||
|
||||
@@ -524,15 +524,12 @@ export class PluginService extends BaseService<PluginEntity> {
|
||||
id: pluginEntity.id
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
async deleteByIds(ids: any[]) {
|
||||
ids = this.filterIds(ids);
|
||||
for (const id of ids) {
|
||||
await this.unRegisterById(id)
|
||||
await this.unRegisterById(id);
|
||||
await this.delete(id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user