Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2026-03-05 10:57:38 +08:00
commit 2d47cb3684
24 changed files with 1191 additions and 796 deletions

View file

@ -223,12 +223,12 @@ export const afterLoadPlugin = (plugin: Plugin) => {
};
export const reloadPlugin = async (app: App, data: {
upsertCodePlugins?: string[],
upsertDataPlugins?: string[],
unloadPlugins?: string[],
uninstallPlugins?: string[],
uninstallPlugins?: string[], // 插件卸载
unloadPlugins?: string[], // 插件禁用
reloadPlugins?: string[], // 插件启用,或插件代码变更
dataChangePlugins?: string[], // 插件存储数据变更
} = {}) => {
const {upsertCodePlugins = [], upsertDataPlugins = [], unloadPlugins = [], uninstallPlugins = []} = data;
const {uninstallPlugins = [], unloadPlugins = [], reloadPlugins = [], dataChangePlugins = []} = data;
// 禁用
unloadPlugins.forEach((item) => {
uninstall(app, item, true);
@ -237,12 +237,12 @@ export const reloadPlugin = async (app: App, data: {
uninstallPlugins.forEach((item) => {
uninstall(app, item, false);
});
upsertCodePlugins.forEach((item) => {
reloadPlugins.forEach((item) => {
uninstall(app, item, true);
});
loadPlugins(app, upsertCodePlugins, false).then(() => {
loadPlugins(app, reloadPlugins, false).then(() => {
app.plugins.forEach(item => {
if (upsertCodePlugins.includes(item.name)) {
if (reloadPlugins.includes(item.name)) {
afterLoadPlugin(item);
getAllEditor().forEach(editor => {
editor.protyle.toolbar.update(editor.protyle);
@ -251,7 +251,7 @@ export const reloadPlugin = async (app: App, data: {
});
});
app.plugins.forEach(item => {
if (upsertDataPlugins.includes(item.name)) {
if (dataChangePlugins.includes(item.name)) {
try {
item.onDataChanged();
} catch (e) {