添加程序配置项

This commit is contained in:
2025-05-08 16:29:04 +08:00
parent 18582016b2
commit 5d2af32d68
3 changed files with 31 additions and 6 deletions

View File

@@ -1,16 +1,20 @@
import Invoker from "./src/components/Invoker";
import Invoker, { InvokerModName } from "./src/components/Invoker";
import { hh } from './src/components/DemiHelper';
import { InvokerItem } from "./src/components/InvokerItem";
import { InvokerContext } from "./src/types/InvokerContext";
import { Vue2Instance } from "./src/types/Vue2Instance";
import { ModContext } from "./src/types/ModContext";
import Receiver from "./src/components/Receiver";
import { ConfigureModPage, modPageConfig } from "./src/modPageConfig";
export {
modPageConfig,
ConfigureModPage,
Invoker,
Receiver,
type InvokerItem,
type InvokerContext,
type InvokerModName,
type Vue2Instance,
type ModContext,
hh,

View File

@@ -3,12 +3,13 @@ import {
onBeforeUpdate,
onUnmounted,
watch,
type PropType
} from "vue-demi";
import { ModContext } from "../types/ModContext";
import { InvokerItem } from "./InvokerItem";
let idCount = 0;
export const UrlFunc = null as ((name: string) => string) | null;
export type InvokerModName = string;
export default defineComponent({
props: {
@@ -21,12 +22,13 @@ export default defineComponent({
default: () => false,
},
items: {
type: Array ,
type: Array,
default: () => undefined as InvokerItem[] | undefined,
},
url: {
type: String,
default: () => null,
name: {
type: String as PropType<InvokerModName> | undefined,
default: () => undefined,
required: false,
}
},
emits: ["destroyed"],

19
src/modPageConfig.ts Normal file
View File

@@ -0,0 +1,19 @@
import { DeepReadonly } from "vue";
import { InvokerModName } from "./components/Invoker";
let _modPageConfig = {
Invoker: {
/** Invoker中计算ModUrl的方法 */
GetModUrl: undefined as ((modName: InvokerModName) => string | Promise<string>) | undefined,
}
}
export function ConfigureModPage(config: typeof _modPageConfig) {
Object.assign(_modPageConfig, {
Invoker: {
...config.Invoker,
}
});
}
export const modPageConfig: DeepReadonly<typeof _modPageConfig> = _modPageConfig;