From bfa32d925a2f36f87bfc6f173859b16c9dd666c1 Mon Sep 17 00:00:00 2001 From: ShineKOT <1917095344@qq.com> Date: Thu, 16 Jan 2025 22:12:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user-config-edit/user-config-edit.tsx | 2 +- .../src/controller/center.controller.ts | 5 +-- packages/devtool/src/index.ts | 9 +---- packages/devtool/src/install.ts | 12 +++++++ .../src/interface/i-devtool-controller.ts | 33 +++++++++++++++++++ packages/devtool/src/types.ts | 13 ++++++++ 6 files changed, 63 insertions(+), 11 deletions(-) create mode 100644 packages/devtool/src/install.ts create mode 100644 packages/devtool/src/interface/i-devtool-controller.ts create mode 100644 packages/devtool/src/types.ts diff --git a/packages/devtool/src/components/user-config-edit/user-config-edit.tsx b/packages/devtool/src/components/user-config-edit/user-config-edit.tsx index 8a56adb..ce3fed5 100644 --- a/packages/devtool/src/components/user-config-edit/user-config-edit.tsx +++ b/packages/devtool/src/components/user-config-edit/user-config-edit.tsx @@ -1,7 +1,7 @@ import { PropType, defineComponent, reactive, ref, watch } from 'vue'; import { useNamespace } from '@ibiz-template/vue3-util'; -import './user-config-edit.scss'; import { IDevToolConfig } from '@ibiz-template/core'; +import './user-config-edit.scss'; export const UserConfigEdit = defineComponent({ name: 'DevToolUserConfigEdit', diff --git a/packages/devtool/src/controller/center.controller.ts b/packages/devtool/src/controller/center.controller.ts index 4c5aeba..cf77e4a 100644 --- a/packages/devtool/src/controller/center.controller.ts +++ b/packages/devtool/src/controller/center.controller.ts @@ -9,6 +9,7 @@ import { IDevToolConfig } from '@ibiz-template/core'; import { IndexPage, ViewModelViewer } from '../components'; import { DevToolConfig } from './dev-tool-config'; import { ICenterControllerState } from '../interface/i-center-controller-state'; +import { IDevToolController } from '../interface/i-devtool-controller'; /** * 控制中心 @@ -17,7 +18,7 @@ import { ICenterControllerState } from '../interface/i-center-controller-state'; * @export * @class CenterController */ -export class CenterController { +export class CenterController implements IDevToolController { /** * 配置对象 * @author lxm @@ -55,7 +56,7 @@ export class CenterController { * @type {ICenterControllerState} */ state: ICenterControllerState = reactive({ - isShow: true, + isShow: false, viewListRefreshKey: createUUID(), selectedViewId: null, hoverViewId: null, diff --git a/packages/devtool/src/index.ts b/packages/devtool/src/index.ts index a89fa73..bab7dcb 100644 --- a/packages/devtool/src/index.ts +++ b/packages/devtool/src/index.ts @@ -1,10 +1,3 @@ -import { App } from 'vue'; import './style/index.scss'; -import { CenterController } from './controller/center.controller'; -export default { - install(_app: App) { - const center = new CenterController(); - center.init(); - }, -}; +export { install } from './install'; diff --git a/packages/devtool/src/install.ts b/packages/devtool/src/install.ts new file mode 100644 index 0000000..237abc3 --- /dev/null +++ b/packages/devtool/src/install.ts @@ -0,0 +1,12 @@ +import { CenterController } from './controller/center.controller'; + +/** + * 安装 + * + * @export + */ +export function install(): void { + const { ibiz } = window; + ibiz.devTool = new CenterController(); + ibiz.devTool.init(); +} diff --git a/packages/devtool/src/interface/i-devtool-controller.ts b/packages/devtool/src/interface/i-devtool-controller.ts new file mode 100644 index 0000000..092c35f --- /dev/null +++ b/packages/devtool/src/interface/i-devtool-controller.ts @@ -0,0 +1,33 @@ +import { ICenterControllerState } from './i-center-controller-state'; + +/** + * 接口 + * + * @export + * @interface IDevToolController + */ +export interface IDevToolController { + /** + * UI响应式状态对象 + * + * @type {ICenterControllerState} + * @memberof IDevToolController + */ + state: ICenterControllerState; + + /** + * 初始化 + * + * @memberof IDevToolController + */ + init(): void; + + /** + * 切换显示状态 + * + * @param {boolean} [visible] + * @return {*} {Promise} + * @memberof IDevToolController + */ + triggerVisible(visible?: boolean): Promise; +} diff --git a/packages/devtool/src/types.ts b/packages/devtool/src/types.ts new file mode 100644 index 0000000..64337d3 --- /dev/null +++ b/packages/devtool/src/types.ts @@ -0,0 +1,13 @@ +import { IDevToolController } from './interface/i-devtool-controller'; + +declare module '@ibiz-template/core' { + interface IBizSys { + /** + * 调试工具 + * + * @type {IDevToolController} + * @memberof IBizSys + */ + devTool: IDevToolController; + } +} -- Gitee