添加程序配置项
This commit is contained in:
6
index.ts
6
index.ts
@@ -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,
|
||||
|
@@ -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
19
src/modPageConfig.ts
Normal 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;
|
Reference in New Issue
Block a user