@maketribe/ms-app 3.0.20 → 3.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/material-select/material-select.js +3 -5
- package/dist/cjs/components/material-select/material-select.js.map +1 -1
- package/dist/cjs/core/MSAppClient.js +1 -5
- package/dist/cjs/core/MSAppClient.js.map +1 -1
- package/dist/cjs/layouts/components/bar/index.js +5 -4
- package/dist/cjs/layouts/components/bar/index.js.map +1 -1
- package/dist/cjs/page/index/material/index.vue2.js +5 -3
- package/dist/cjs/page/index/material/index.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js +2 -0
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/esm/components/material-select/material-select.js +3 -5
- package/dist/esm/components/material-select/material-select.js.map +1 -1
- package/dist/esm/core/MSAppClient.js +1 -5
- package/dist/esm/core/MSAppClient.js.map +1 -1
- package/dist/esm/layouts/components/bar/index.js +5 -4
- package/dist/esm/layouts/components/bar/index.js.map +1 -1
- package/dist/esm/page/index/material/index.vue2.js +5 -3
- package/dist/esm/page/index/material/index.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js +2 -0
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/package.json +2 -2
- package/src/components/material-select/material-select.tsx +2 -3
- package/src/core/MSAppClient.ts +6 -5
- package/src/layouts/components/bar/index.tsx +10 -6
- package/src/page/index/material/index.vue +5 -2
- package/src/page/login/index.vue +2 -0
|
@@ -8,9 +8,7 @@ require('@maketribe/dm');
|
|
|
8
8
|
var MaterialComponents = require('../../core/component/MaterialComponents.js');
|
|
9
9
|
require('@maketribe/utils');
|
|
10
10
|
require('../../core/DataModelDefines.js');
|
|
11
|
-
require('
|
|
12
|
-
require('@maketribe/request');
|
|
13
|
-
require('@maketribe/locale');
|
|
11
|
+
var MSAppClient = require('../../core/MSAppClient.js');
|
|
14
12
|
require('../../dataview/department/DepartmentForm.js');
|
|
15
13
|
require('../../dataview/department/DepartmentTable.js');
|
|
16
14
|
require('../../dataview/department/DepartmentTree.js');
|
|
@@ -21,6 +19,7 @@ require('../../dataview/menu/MenuTable.js');
|
|
|
21
19
|
require('../../dataview/menu/MenuTree.js');
|
|
22
20
|
require('../../dataview/role/RoleForm.js');
|
|
23
21
|
require('../../dataview/role/RoleTable.js');
|
|
22
|
+
require('@maketribe/request');
|
|
24
23
|
require('../../dataview/route/RouteForm.js');
|
|
25
24
|
require('../../dataview/route/RouteTable.js');
|
|
26
25
|
require('../../dataview/config/ConfigForm.js');
|
|
@@ -38,7 +37,6 @@ require('../../dataview/log/operate-log/OperateLogTable.js');
|
|
|
38
37
|
require('../../dataview/log/login-log/LoginLogTable.js');
|
|
39
38
|
require('../../dataview/log/request-log/RequestLogTable.js');
|
|
40
39
|
require('../../dataview/log/local-log/LocalLogTree.js');
|
|
41
|
-
var useHttpRequest = require('../../composables/use-http-request.js');
|
|
42
40
|
|
|
43
41
|
var MaterialSelectConstructor = /* @__PURE__ */ vue.defineComponent({
|
|
44
42
|
name: "MKMaterialSelect",
|
|
@@ -49,7 +47,7 @@ var MaterialSelectConstructor = /* @__PURE__ */ vue.defineComponent({
|
|
|
49
47
|
}) {
|
|
50
48
|
const materialMan = props.materialMan ?? vue.reactive(new MaterialMan.MaterialMan({
|
|
51
49
|
components: new MaterialComponents.MaterialComponents(),
|
|
52
|
-
httpRequest:
|
|
50
|
+
httpRequest: MSAppClient.MSAppClient.instance.httpRequest
|
|
53
51
|
}));
|
|
54
52
|
const selectedPath = vue.ref("");
|
|
55
53
|
const selectedMaterial = vue.ref(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-select.js","sources":["../../../../src/components/material-select/material-select.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElDialog, ElButton } from \"element-plus\";\nimport MaterialList from \"../material-list/material-list.vue\";\nimport {\n materialSelectEmits,\n materialSelectProps,\n} from \"./material-select-options\";\nimport { MaterialComponents } from \"../../core\";\nimport { Material, MaterialMan } from \"../../dataview\";\
|
|
1
|
+
{"version":3,"file":"material-select.js","sources":["../../../../src/components/material-select/material-select.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElDialog, ElButton } from \"element-plus\";\nimport MaterialList from \"../material-list/material-list.vue\";\nimport {\n materialSelectEmits,\n materialSelectProps,\n} from \"./material-select-options\";\nimport { MSAppClient, MaterialComponents } from \"../../core\";\nimport { Material, MaterialMan } from \"../../dataview\";\n\nexport default defineComponent({\n name: \"MKMaterialSelect\",\n props: materialSelectProps,\n emits: materialSelectEmits,\n setup(props, { emit }) {\n const materialMan =\n props.materialMan ??\n (reactive(\n new MaterialMan({\n components: new MaterialComponents(),\n httpRequest: MSAppClient.instance!.httpRequest,\n })\n ) as MaterialMan);\n\n const selectedPath = ref(\"\");\n const selectedMaterial: Ref<Material | null> = ref(null);\n const visible: Ref<boolean> = ref(true);\n\n watch(\n computed(() => props.modelValue),\n (modelValue) => {\n selectedPath.value = modelValue || \"\";\n },\n { immediate: true }\n );\n\n watch(\n computed(() => props.allowMaterialTypeValues),\n (allowMaterialTypeValues) => {\n materialMan.setAllowAccessMaterialTypeValues(\n allowMaterialTypeValues ?? []\n );\n },\n { immediate: true }\n );\n\n const handleConfirmClick = () => {\n visible.value = false;\n emit(\"update:model-value\", unref(selectedPath));\n emit(\"select\", unref(selectedPath));\n emit(\"materialChange\", unref(selectedMaterial)!);\n };\n\n const handleCancelClick = () => {\n visible.value = false;\n emit(\"cancel\");\n };\n\n return () => {\n return (\n <ElDialog\n width=\"70%\"\n modelValue={unref(visible)}\n onUpdate:modelValue={(v: boolean) => {\n visible.value = v;\n }}\n destroyOnClose\n appendToBody\n showClose={false}\n modal-class=\"mk-material-select\"\n v-slots={{\n footer: () => {\n return (\n <span class=\"mk-material-select__footer\">\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\n 确定\n </ElButton>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n </span>\n );\n },\n }}\n >\n <MaterialList\n selectedPath={unref(selectedPath)}\n onSelectedChange={(material: Material) => {\n selectedPath.value = material.path;\n selectedMaterial.value = material;\n }}\n class=\"mk-material-select__list\"\n materialMan={materialMan}\n selectable={true}\n />\n </ElDialog>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","materialSelectProps","emits","materialSelectEmits","setup","emit","materialMan","reactive","MaterialMan","components","MaterialComponents","httpRequest","MSAppClient","instance","selectedPath","ref","selectedMaterial","visible","watch","computed","modelValue","value","immediate","allowMaterialTypeValues","setAllowAccessMaterialTypeValues","handleConfirmClick","unref","handleCancelClick","_createVNode","ElDialog","v","default","MaterialList","material","path","footer","ElButton","_createTextVNode"],"mappings":"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"}
|
|
@@ -119,11 +119,7 @@ class MSAppClient {
|
|
|
119
119
|
this.pageManager.setMSAppCLient(this);
|
|
120
120
|
this.httpRequest.getInterceptors().response.use((config) => {
|
|
121
121
|
if (config.data.code === 401) {
|
|
122
|
-
|
|
123
|
-
this.userSession.lock();
|
|
124
|
-
} else {
|
|
125
|
-
this.vueRouter.push({ name: "login" });
|
|
126
|
-
}
|
|
122
|
+
this.vueRouter.push({ name: "login" });
|
|
127
123
|
}
|
|
128
124
|
return config;
|
|
129
125
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport {\n DataViewRequest,\n DVQueryable,\n HttpRequest,\n R,\n WebHttpRequest,\n} from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n DVQueryable.setDefaultDataViewRequest(\n new DataViewRequest({ httpRequest: this.httpRequest })\n );\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n if (this.userSession) {\n this.userSession.lock();\n } else {\n this.vueRouter.push({ name: \"login\" });\n }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":["Event","I18n","HttpRequest","DataModel","DVQueryable","DataViewRequest","WebHttpRequest","createRouter","createWebHashHistory","PageManager","Components","UserSession","authBeforeEach","md5","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport {\n DataViewRequest,\n DVQueryable,\n HttpRequest,\n R,\n WebHttpRequest,\n} from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n DVQueryable.setDefaultDataViewRequest(\n new DataViewRequest({ httpRequest: this.httpRequest })\n );\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n this.vueRouter.push({ name: \"login\" });\n // if (this.userSession) {\n // this.userSession.lock();\n // } else {\n // this.vueRouter.push({ name: \"login\" });\n // }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":["Event","I18n","HttpRequest","DataModel","DVQueryable","DataViewRequest","WebHttpRequest","createRouter","createWebHashHistory","PageManager","Components","UserSession","authBeforeEach","md5","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER"],"mappings":"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"}
|
|
@@ -118,16 +118,17 @@ const MKBar = /* @__PURE__ */ vue.defineComponent({
|
|
|
118
118
|
}, null)]), vue.createVNode("div", {
|
|
119
119
|
"class": "mk-bar__item-title"
|
|
120
120
|
}, [systemSettingNode.title, vue.createTextVNode(" ")])])]) : null;
|
|
121
|
-
|
|
122
|
-
"class": "mk-bar"
|
|
123
|
-
}, [vue.createVNode("div", {
|
|
121
|
+
const logo = msAppClient.logo ? vue.createVNode("div", {
|
|
124
122
|
"class": "mk-bar__logo"
|
|
125
123
|
}, [vue.createVNode("div", {
|
|
126
124
|
"class": "mk-logo",
|
|
127
125
|
"style": {
|
|
128
126
|
backgroundImage: `url(${msAppClient.logo})`
|
|
129
127
|
}
|
|
130
|
-
}, null)])
|
|
128
|
+
}, null)]) : null;
|
|
129
|
+
return vue.createVNode("div", {
|
|
130
|
+
"class": "mk-bar"
|
|
131
|
+
}, [logo, vue.createVNode("div", {
|
|
131
132
|
"class": "mk-bar__items"
|
|
132
133
|
}, [barItems]), footer]);
|
|
133
134
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/bar/index.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { MKSvgIcon } from \"../../../components\";\nimport { MSAppClient, MenuNode } from \"../../../core\";\nimport { MenuType } from \"../../../constants\";\n\nexport const MKBar = defineComponent({\n name: \"MKBar\",\n props: {\n barItem: {\n type: MenuNode,\n },\n },\n setup(props) {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = msAppClient.vueRouter;\n // const router = userSession.router;\n\n const currentBarItem = computed(() => props.barItem);\n\n const handleBarItemClick = (barItem: MenuNode) => {\n let target: MenuNode | null = barItem;\n\n if (barItem.children.length) {\n target = menu.getFirstLeafMenuNode(barItem.children);\n }\n\n if (!target) {\n return;\n }\n\n if (target?.route) {\n vueRouter.push({ name: target.route.name });\n }\n };\n\n return () => {\n const barItems = menu.rootMenus\n .filter((rootMenu) => rootMenu.type !== \"3\")\n .map((rootMenu) => (\n <div\n class={[\n \"mk-bar__item\",\n rootMenu.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === rootMenu.id ? \"is-active\" : \"\",\n ]}\n onClick={() => handleBarItemClick(rootMenu)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={rootMenu.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{rootMenu.title} </div>\n </div>\n ));\n\n const systemSettingNode = menu.rootMenus.find(\n (rootMenu) => rootMenu.type === MenuType.SystemSettings\n );\n\n const footer = systemSettingNode?.children.length ? (\n <div class=\"mk-bar__footer\">\n <div\n class={[\n \"mk-bar__item\",\n \"mk-bar__settings\",\n systemSettingNode.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === systemSettingNode.id\n ? \"is-active\"\n : \"\",\n ]}\n onClick={() => handleBarItemClick(systemSettingNode)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={systemSettingNode.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{systemSettingNode.title} </div>\n </div>\n </div>\n ) : null;\n\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/bar/index.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { MKSvgIcon } from \"../../../components\";\nimport { MSAppClient, MenuNode } from \"../../../core\";\nimport { MenuType } from \"../../../constants\";\n\nexport const MKBar = defineComponent({\n name: \"MKBar\",\n props: {\n barItem: {\n type: MenuNode,\n },\n },\n setup(props) {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = msAppClient.vueRouter;\n // const router = userSession.router;\n\n const currentBarItem = computed(() => props.barItem);\n\n const handleBarItemClick = (barItem: MenuNode) => {\n let target: MenuNode | null = barItem;\n\n if (barItem.children.length) {\n target = menu.getFirstLeafMenuNode(barItem.children);\n }\n\n if (!target) {\n return;\n }\n\n if (target?.route) {\n vueRouter.push({ name: target.route.name });\n }\n };\n\n return () => {\n const barItems = menu.rootMenus\n .filter((rootMenu) => rootMenu.type !== \"3\")\n .map((rootMenu) => (\n <div\n class={[\n \"mk-bar__item\",\n rootMenu.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === rootMenu.id ? \"is-active\" : \"\",\n ]}\n onClick={() => handleBarItemClick(rootMenu)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={rootMenu.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{rootMenu.title} </div>\n </div>\n ));\n\n const systemSettingNode = menu.rootMenus.find(\n (rootMenu) => rootMenu.type === MenuType.SystemSettings\n );\n\n const footer = systemSettingNode?.children.length ? (\n <div class=\"mk-bar__footer\">\n <div\n class={[\n \"mk-bar__item\",\n \"mk-bar__settings\",\n systemSettingNode.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === systemSettingNode.id\n ? \"is-active\"\n : \"\",\n ]}\n onClick={() => handleBarItemClick(systemSettingNode)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={systemSettingNode.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{systemSettingNode.title} </div>\n </div>\n </div>\n ) : null;\n\n const logo = msAppClient.logo ? (\n <div class=\"mk-bar__logo\">\n <div\n class=\"mk-logo\"\n style={{ backgroundImage: `url(${msAppClient.logo})` }}\n />\n </div>\n ) : null;\n\n return (\n <div class=\"mk-bar\">\n {logo}\n\n <div class=\"mk-bar__items\">{barItems}</div>\n\n {footer}\n </div>\n );\n };\n },\n});\n"],"names":["MKBar","defineComponent","name","props","barItem","type","MenuNode","setup","msAppClient","MSAppClient","instance","userSession","menu","vueRouter","currentBarItem","computed","handleBarItemClick","target","children","length","getFirstLeafMenuNode","route","push","barItems","rootMenus","filter","rootMenu","map","_createVNode","unref","id","onClick","MKSvgIcon","iconName","title","_createTextVNode","systemSettingNode","find","MenuType","SystemSettings","footer","logo","backgroundImage"],"mappings":"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"}
|
|
@@ -85,8 +85,7 @@ require('../../../components/json-editor/index.js');
|
|
|
85
85
|
require('../../../components/upload-file/upload-file.js');
|
|
86
86
|
var MaterialComponents = require('../../../core/component/MaterialComponents.js');
|
|
87
87
|
require('../../../core/DataModelDefines.js');
|
|
88
|
-
require('
|
|
89
|
-
require('@maketribe/locale');
|
|
88
|
+
var MSAppClient = require('../../../core/MSAppClient.js');
|
|
90
89
|
require('../../../components/upload-file/context/material-upload-context.js');
|
|
91
90
|
require('../../../components/upload-file/context/material-upload-context-options.js');
|
|
92
91
|
require('../../../components/upload-file/context/web-file-upload-context.js');
|
|
@@ -98,7 +97,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
98
97
|
__name: "index",
|
|
99
98
|
setup(__props) {
|
|
100
99
|
const materialMan = vue.reactive(
|
|
101
|
-
new MaterialMan.MaterialMan({
|
|
100
|
+
new MaterialMan.MaterialMan({
|
|
101
|
+
components: new MaterialComponents.MaterialComponents(),
|
|
102
|
+
httpRequest: MSAppClient.MSAppClient.instance.httpRequest
|
|
103
|
+
})
|
|
102
104
|
);
|
|
103
105
|
return (_ctx, _cache) => {
|
|
104
106
|
return vue.openBlock(), vue.createBlock(vue.unref(index.MKMaterialList), { "material-man": materialMan }, null, 8, ["material-man"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../src/page/index/material/index.vue"],"sourcesContent":["<template>\n <MKMaterialList :material-man=\"materialMan\" />\n</template>\n<script setup lang=\"ts\">\nimport { reactive } from \"vue\";\nimport { MaterialMan } from \"../../../dataview\";\nimport { MKMaterialList } from \"../../../components\";\nimport { MaterialComponents } from \"../../../core\";\n\nconst materialMan = reactive(\n new MaterialMan({
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../src/page/index/material/index.vue"],"sourcesContent":["<template>\n <MKMaterialList :material-man=\"materialMan\" />\n</template>\n<script setup lang=\"ts\">\nimport { reactive } from \"vue\";\nimport { MaterialMan } from \"../../../dataview\";\nimport { MKMaterialList } from \"../../../components\";\nimport { MSAppClient, MaterialComponents } from \"../../../core\";\n\nconst materialMan = reactive(\n new MaterialMan({\n components: new MaterialComponents(),\n httpRequest: MSAppClient.instance!.httpRequest,\n })\n) as MaterialMan;\n</script>\n"],"names":["reactive","MaterialMan","MaterialComponents","MSAppClient"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAA,MAAM,WAAc,GAAAA,YAAA;AAAA,MAClB,IAAIC,uBAAY,CAAA;AAAA,QACd,UAAA,EAAY,IAAIC,qCAAmB,EAAA;AAAA,QACnC,WAAA,EAAaC,wBAAY,QAAU,CAAA,WAAA;AAAA,OACpC,CAAA;AAAA,KACH,CAAA;;;;;;;;;"}
|
|
@@ -162,6 +162,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
162
162
|
verifyVisible.value = false;
|
|
163
163
|
router.push({ path: "/" });
|
|
164
164
|
}
|
|
165
|
+
} catch (e) {
|
|
166
|
+
elementPlus.ElMessage.error("\u767B\u5F55\u5931\u8D25");
|
|
165
167
|
} finally {
|
|
166
168
|
verifyVisible.value = false;
|
|
167
169
|
loading.value = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号登录\n <span class=\"notify\">\n 没有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/signup')\"\n >\n 申请使用\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"loginFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n @submit.native.prevent\n >\n <ElFormItem prop=\"account\">\n <ElInput\n v-model=\"loginFormData.account\"\n placeholder=\"帐号\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem prop=\"password\" v-if=\"!forgotPassword\">\n <ElInput\n v-model=\"loginFormData.password\"\n type=\"password\"\n placeholder=\"密码\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem>\n <ElRow style=\"width: 100%\">\n <ElCol :span=\"12\">\n <ElButton\n link\n class=\"operaBtn\"\n @click=\"forgotPassword = !forgotPassword\"\n >{{\n forgotPassword ? \"返回登陆\" : \"忘记密码?\"\n }}</ElButton\n >\n </ElCol>\n </ElRow>\n </ElFormItem>\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"loginDisabled\"\n v-if=\"!forgotPassword\"\n >\n 登陆\n </ElButton>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"resetDisabled\"\n v-else\n >\n 重置\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n ref=\"verifyDialog\"\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @confirm=\"handleLogin\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\nimport { useMSAppClient } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\n\ndefineOptions({\n mkRoute: {\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n\nconst formEl: Ref<any> = ref(null);\n\nconst system = useMSAppClient()!;\n\nconst router = useRouter();\n\nconst loading = ref(false);\n\nconst loginDisabled = computed(\n () => !loginFormData.account || !loginFormData.password\n);\nconst resetDisabled = computed(() => !loginFormData.account);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\n\nconst rules = {\n account: [{ required: true, message: \"账号必填\" }],\n password: [{ required: true, message: \"密码必填\" }],\n};\n\nconst loginFormData = reactive({\n account: \"\",\n password: \"\",\n vCode: \"code\",\n});\nconst verifyVisible = ref(false);\n\nconst verifyHandle = async () => {\n const result = await formEl.value?.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst handleLogin = async (v: string) => {\n loginFormData.vCode = v;\n try {\n loading.value = true;\n if (forgotPassword.value) {\n const { data } = await system.modifyPassword(\n loginFormData.account,\n loginFormData.vCode\n );\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"重置邮箱失败!\");\n return;\n }\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\n forgotPassword.value = false;\n } else {\n const { data } = await system.login(\n loginFormData.account,\n loginFormData.password,\n loginFormData.vCode\n );\n\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"登录失败!\");\n return;\n }\n verifyVisible.value = false;\n\n router.push({ path: \"/\" });\n }\n } finally {\n verifyVisible.value = false;\n loading.value = false;\n }\n};\n</script>\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmHA,IAAM,MAAA,YAAA,GAAiDA,QAAI,IAAI,CAAA,CAAA;AAG/D,IAA2BA,QAAI,KAAK,EAAA;AAEpC,IAAM,MAAA,MAAA,GAAmBA,QAAI,IAAI,CAAA,CAAA;AAEjC,IAAA,MAAM,SAASC,6BAAe,EAAA,CAAA;AAE9B,IAAA,MAAM,SAASC,mBAAU,EAAA,CAAA;AAEzB,IAAM,MAAA,OAAA,GAAUF,QAAI,KAAK,CAAA,CAAA;AAEzB,IAAA,MAAM,aAAgB,GAAAG,YAAA;AAAA,MACpB,MAAM,CAAC,aAAc,CAAA,OAAA,IAAW,CAAC,aAAc,CAAA,QAAA;AAAA,KACjD,CAAA;AACA,IAAA,MAAM,aAAgB,GAAAA,YAAA,CAAS,MAAM,CAAC,cAAc,OAAO,CAAA,CAAA;AAE3D,IAAM,MAAA,cAAA,GAAiBH,QAAI,KAAK,CAAA,CAAA;AAChC,IAAA,MAAM,KAAQ,GAAAG,YAAA;AAAA,MAAS,MACrB,cAAe,CAAA,KAAA,GAAQ,gBAAmB,GAAA,OAAA;AAAA,KAC5C,CAAA;AAEA,IAAA,MAAM,KAAQ,GAAA;AAAA,MACZ,SAAS,CAAC,EAAE,UAAU,IAAM,EAAA,OAAA,EAAS,4BAAQ,CAAA;AAAA,MAC7C,UAAU,CAAC,EAAE,UAAU,IAAM,EAAA,OAAA,EAAS,4BAAQ,CAAA;AAAA,KAChD,CAAA;AAEA,IAAA,MAAM,gBAAgBC,YAAS,CAAA;AAAA,MAC7B,OAAS,EAAA,EAAA;AAAA,MACT,QAAU,EAAA,EAAA;AAAA,MACV,KAAO,EAAA,MAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAM,MAAA,aAAA,GAAgBJ,QAAI,KAAK,CAAA,CAAA;AAE/B,IAAA,MAAM,eAAe,YAAY;AAC/B,MAAA,MAAM,MAAS,GAAA,MAAM,MAAO,CAAA,KAAA,EAAO,QAAS,EAAA,CAAA;AAC5C,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,OAAA;AAAA,OACF;AACA,MAAA,aAAA,CAAc,KAAQ,GAAA,IAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,OAAO,CAAc,KAAA;AACvC,MAAA,aAAA,CAAc,KAAQ,GAAA,CAAA,CAAA;AACtB,MAAI,IAAA;AACF,QAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,QAAA,IAAI,eAAe,KAAO,EAAA;AACxB,UAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAM,MAAO,CAAA,cAAA;AAAA,YAC5B,aAAc,CAAA,OAAA;AAAA,YACd,aAAc,CAAA,KAAA;AAAA,WAChB,CAAA;AACA,UAAI,IAAA,IAAA,CAAK,SAAS,GAAK,EAAA;AACrB,YAAUK,qBAAA,CAAA,KAAA,CAAM,IAAK,CAAA,GAAA,IAAO,4CAAS,CAAA,CAAA;AACrC,YAAA,OAAA;AAAA,WACF;AACA,UAAAA,qBAAA,CAAU,QAAQ,0EAAc,CAAA,CAAA;AAChC,UAAA,cAAA,CAAe,KAAQ,GAAA,KAAA,CAAA;AAAA,SAClB,MAAA;AACL,UAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAM,MAAO,CAAA,KAAA;AAAA,YAC5B,aAAc,CAAA,OAAA;AAAA,YACd,aAAc,CAAA,QAAA;AAAA,YACd,aAAc,CAAA,KAAA;AAAA,WAChB,CAAA;AAEA,UAAI,IAAA,IAAA,CAAK,SAAS,GAAK,EAAA;AACrB,YAAUA,qBAAA,CAAA,KAAA,CAAM,IAAK,CAAA,GAAA,IAAO,2BAAO,CAAA,CAAA;AACnC,YAAA,OAAA;AAAA,WACF;AACA,UAAA,aAAA,CAAc,KAAQ,GAAA,KAAA,CAAA;AAEtB,UAAA,MAAA,CAAO,IAAK,CAAA,EAAE,IAAM,EAAA,GAAA,EAAK,CAAA,CAAA;AAAA,SAC3B;AAAA,
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号登录\n <span class=\"notify\">\n 没有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/signup')\"\n >\n 申请使用\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"loginFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n @submit.native.prevent\n >\n <ElFormItem prop=\"account\">\n <ElInput\n v-model=\"loginFormData.account\"\n placeholder=\"帐号\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem prop=\"password\" v-if=\"!forgotPassword\">\n <ElInput\n v-model=\"loginFormData.password\"\n type=\"password\"\n placeholder=\"密码\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem>\n <ElRow style=\"width: 100%\">\n <ElCol :span=\"12\">\n <ElButton\n link\n class=\"operaBtn\"\n @click=\"forgotPassword = !forgotPassword\"\n >{{\n forgotPassword ? \"返回登陆\" : \"忘记密码?\"\n }}</ElButton\n >\n </ElCol>\n </ElRow>\n </ElFormItem>\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"loginDisabled\"\n v-if=\"!forgotPassword\"\n >\n 登陆\n </ElButton>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"resetDisabled\"\n v-else\n >\n 重置\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n ref=\"verifyDialog\"\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @confirm=\"handleLogin\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\nimport { useMSAppClient } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\n\ndefineOptions({\n mkRoute: {\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n\nconst formEl: Ref<any> = ref(null);\n\nconst system = useMSAppClient()!;\n\nconst router = useRouter();\n\nconst loading = ref(false);\n\nconst loginDisabled = computed(\n () => !loginFormData.account || !loginFormData.password\n);\nconst resetDisabled = computed(() => !loginFormData.account);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\n\nconst rules = {\n account: [{ required: true, message: \"账号必填\" }],\n password: [{ required: true, message: \"密码必填\" }],\n};\n\nconst loginFormData = reactive({\n account: \"\",\n password: \"\",\n vCode: \"code\",\n});\nconst verifyVisible = ref(false);\n\nconst verifyHandle = async () => {\n const result = await formEl.value?.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst handleLogin = async (v: string) => {\n loginFormData.vCode = v;\n try {\n loading.value = true;\n if (forgotPassword.value) {\n const { data } = await system.modifyPassword(\n loginFormData.account,\n loginFormData.vCode\n );\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"重置邮箱失败!\");\n return;\n }\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\n forgotPassword.value = false;\n } else {\n const { data } = await system.login(\n loginFormData.account,\n loginFormData.password,\n loginFormData.vCode\n );\n\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"登录失败!\");\n return;\n }\n verifyVisible.value = false;\n\n router.push({ path: \"/\" });\n }\n } catch (e) {\n ElMessage.error(\"登录失败\");\n } finally {\n verifyVisible.value = false;\n loading.value = false;\n }\n};\n</script>\n"],"names":["ref","useMSAppClient","useRouter","computed","reactive","ElMessage"],"mappings":"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"}
|
|
@@ -6,9 +6,7 @@ import '@maketribe/dm';
|
|
|
6
6
|
import { MaterialComponents } from '../../core/component/MaterialComponents.js';
|
|
7
7
|
import '@maketribe/utils';
|
|
8
8
|
import '../../core/DataModelDefines.js';
|
|
9
|
-
import '
|
|
10
|
-
import '@maketribe/request';
|
|
11
|
-
import '@maketribe/locale';
|
|
9
|
+
import { MSAppClient } from '../../core/MSAppClient.js';
|
|
12
10
|
import '../../dataview/department/DepartmentForm.js';
|
|
13
11
|
import '../../dataview/department/DepartmentTable.js';
|
|
14
12
|
import '../../dataview/department/DepartmentTree.js';
|
|
@@ -19,6 +17,7 @@ import '../../dataview/menu/MenuTable.js';
|
|
|
19
17
|
import '../../dataview/menu/MenuTree.js';
|
|
20
18
|
import '../../dataview/role/RoleForm.js';
|
|
21
19
|
import '../../dataview/role/RoleTable.js';
|
|
20
|
+
import '@maketribe/request';
|
|
22
21
|
import '../../dataview/route/RouteForm.js';
|
|
23
22
|
import '../../dataview/route/RouteTable.js';
|
|
24
23
|
import '../../dataview/config/ConfigForm.js';
|
|
@@ -36,7 +35,6 @@ import '../../dataview/log/operate-log/OperateLogTable.js';
|
|
|
36
35
|
import '../../dataview/log/login-log/LoginLogTable.js';
|
|
37
36
|
import '../../dataview/log/request-log/RequestLogTable.js';
|
|
38
37
|
import '../../dataview/log/local-log/LocalLogTree.js';
|
|
39
|
-
import { useHttpRequest } from '../../composables/use-http-request.js';
|
|
40
38
|
|
|
41
39
|
var MaterialSelectConstructor = /* @__PURE__ */ defineComponent({
|
|
42
40
|
name: "MKMaterialSelect",
|
|
@@ -47,7 +45,7 @@ var MaterialSelectConstructor = /* @__PURE__ */ defineComponent({
|
|
|
47
45
|
}) {
|
|
48
46
|
const materialMan = props.materialMan ?? reactive(new MaterialMan({
|
|
49
47
|
components: new MaterialComponents(),
|
|
50
|
-
httpRequest:
|
|
48
|
+
httpRequest: MSAppClient.instance.httpRequest
|
|
51
49
|
}));
|
|
52
50
|
const selectedPath = ref("");
|
|
53
51
|
const selectedMaterial = ref(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-select.js","sources":["../../../../src/components/material-select/material-select.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElDialog, ElButton } from \"element-plus\";\nimport MaterialList from \"../material-list/material-list.vue\";\nimport {\n materialSelectEmits,\n materialSelectProps,\n} from \"./material-select-options\";\nimport { MaterialComponents } from \"../../core\";\nimport { Material, MaterialMan } from \"../../dataview\";\
|
|
1
|
+
{"version":3,"file":"material-select.js","sources":["../../../../src/components/material-select/material-select.tsx"],"sourcesContent":["import {\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n unref,\n watch,\n} from \"vue\";\nimport { ElDialog, ElButton } from \"element-plus\";\nimport MaterialList from \"../material-list/material-list.vue\";\nimport {\n materialSelectEmits,\n materialSelectProps,\n} from \"./material-select-options\";\nimport { MSAppClient, MaterialComponents } from \"../../core\";\nimport { Material, MaterialMan } from \"../../dataview\";\n\nexport default defineComponent({\n name: \"MKMaterialSelect\",\n props: materialSelectProps,\n emits: materialSelectEmits,\n setup(props, { emit }) {\n const materialMan =\n props.materialMan ??\n (reactive(\n new MaterialMan({\n components: new MaterialComponents(),\n httpRequest: MSAppClient.instance!.httpRequest,\n })\n ) as MaterialMan);\n\n const selectedPath = ref(\"\");\n const selectedMaterial: Ref<Material | null> = ref(null);\n const visible: Ref<boolean> = ref(true);\n\n watch(\n computed(() => props.modelValue),\n (modelValue) => {\n selectedPath.value = modelValue || \"\";\n },\n { immediate: true }\n );\n\n watch(\n computed(() => props.allowMaterialTypeValues),\n (allowMaterialTypeValues) => {\n materialMan.setAllowAccessMaterialTypeValues(\n allowMaterialTypeValues ?? []\n );\n },\n { immediate: true }\n );\n\n const handleConfirmClick = () => {\n visible.value = false;\n emit(\"update:model-value\", unref(selectedPath));\n emit(\"select\", unref(selectedPath));\n emit(\"materialChange\", unref(selectedMaterial)!);\n };\n\n const handleCancelClick = () => {\n visible.value = false;\n emit(\"cancel\");\n };\n\n return () => {\n return (\n <ElDialog\n width=\"70%\"\n modelValue={unref(visible)}\n onUpdate:modelValue={(v: boolean) => {\n visible.value = v;\n }}\n destroyOnClose\n appendToBody\n showClose={false}\n modal-class=\"mk-material-select\"\n v-slots={{\n footer: () => {\n return (\n <span class=\"mk-material-select__footer\">\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\n 确定\n </ElButton>\n <ElButton onClick={handleCancelClick}>取消</ElButton>\n </span>\n );\n },\n }}\n >\n <MaterialList\n selectedPath={unref(selectedPath)}\n onSelectedChange={(material: Material) => {\n selectedPath.value = material.path;\n selectedMaterial.value = material;\n }}\n class=\"mk-material-select__list\"\n materialMan={materialMan}\n selectable={true}\n />\n </ElDialog>\n );\n };\n },\n});\n"],"names":["name","props","materialSelectProps","emits","materialSelectEmits","setup","emit","materialMan","reactive","MaterialMan","components","MaterialComponents","httpRequest","MSAppClient","instance","selectedPath","ref","selectedMaterial","visible","watch","computed","modelValue","value","immediate","allowMaterialTypeValues","setAllowAccessMaterialTypeValues","handleConfirmClick","unref","handleCancelClick","_createVNode","ElDialog","v","default","MaterialList","material","path","footer","ElButton","_createTextVNode"],"mappings":"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"}
|
|
@@ -117,11 +117,7 @@ class MSAppClient {
|
|
|
117
117
|
this.pageManager.setMSAppCLient(this);
|
|
118
118
|
this.httpRequest.getInterceptors().response.use((config) => {
|
|
119
119
|
if (config.data.code === 401) {
|
|
120
|
-
|
|
121
|
-
this.userSession.lock();
|
|
122
|
-
} else {
|
|
123
|
-
this.vueRouter.push({ name: "login" });
|
|
124
|
-
}
|
|
120
|
+
this.vueRouter.push({ name: "login" });
|
|
125
121
|
}
|
|
126
122
|
return config;
|
|
127
123
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport {\n DataViewRequest,\n DVQueryable,\n HttpRequest,\n R,\n WebHttpRequest,\n} from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n DVQueryable.setDefaultDataViewRequest(\n new DataViewRequest({ httpRequest: this.httpRequest })\n );\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n if (this.userSession) {\n this.userSession.lock();\n } else {\n this.vueRouter.push({ name: \"login\" });\n }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\n createRouter,\n createWebHashHistory,\n Router as VueRouter,\n} from \"vue-router\";\nimport {\n DataViewRequest,\n DVQueryable,\n HttpRequest,\n R,\n WebHttpRequest,\n} from \"@maketribe/request\";\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\nimport { I18n } from \"@maketribe/locale\";\n\nimport { Event, md5 } from \"@maketribe/utils\";\nimport { UserSession } from \"./UserSession\";\nimport { authBeforeEach } from \"../router-middleware\";\nimport { PageManager } from \"./PageManager\";\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\n\nexport type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n};\n\nexport interface MSAppClientOptions {\n pageManager?: PageManager;\n projectName: string;\n httpRequest?: HttpRequest;\n origin: string;\n appID: string;\n logo?: string;\n locale?: string;\n vueRouter?: VueRouter;\n dataTableComponents?: IComponents;\n dataFormComponents?: IComponents;\n dataFilterComponents?: IComponents;\n whereFilterComponents?: IComponents;\n}\n\nexport class MSAppClient {\n static instance: MSAppClient | null = null;\n\n origin: string = \"\";\n\n private _options: Required<MSAppClientOptions>;\n\n projectName: string;\n\n logo: string;\n\n appID: string;\n\n userSession: UserSession | null = null;\n\n httpRequest: HttpRequest;\n\n ready: boolean = false;\n\n initd: boolean = false;\n\n pageManager: PageManager;\n\n /**\n * @deprecated\n * @description 使用 MSAppClient.instance.userSession.userInfo\n */\n get userInfo() {\n return this.userSession?.userInfo ?? null;\n }\n\n i18n: I18n;\n\n dataTableComponents: IComponents;\n dataFormComponents: IComponents;\n dataFilterComponents: IComponents;\n whereFilterComponents: IComponents;\n\n vueRouter: VueRouter;\n\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\n\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\n new Event();\n\n constructor(options: MSAppClientOptions) {\n this._options = this._normalizeOptions(options);\n\n this.appID = this._options.appID;\n\n this.logo = this._options.logo;\n\n this.projectName = options.projectName;\n\n this.i18n = I18n.instance;\n this.i18n.setCurrentLanguageName(this._options.locale);\n\n this.dataTableComponents = this._options.dataTableComponents;\n this.dataFormComponents = this._options.dataFormComponents;\n this.dataFilterComponents = this._options.dataFilterComponents;\n this.whereFilterComponents = this._options.whereFilterComponents;\n\n this.vueRouter = this._options.vueRouter;\n\n this.pageManager = this._options.pageManager;\n\n HttpRequest.appID = this.appID;\n\n this.httpRequest = this._options.httpRequest;\n\n DataModel.setHttpRequest(this.httpRequest);\n DVQueryable.setDefaultDataViewRequest(\n new DataViewRequest({ httpRequest: this.httpRequest })\n );\n }\n\n setUserSession(userSession: UserSession | null) {\n if (this.userSession) {\n this.userSession.dispose();\n }\n\n this.userSession = userSession;\n\n this.userSessionChangeEvent.emit({ userSession });\n }\n\n private _normalizeOptions(\n options: MSAppClientOptions\n ): Required<MSAppClientOptions> {\n return {\n appID: options.appID,\n projectName: options.projectName,\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\n origin: options.origin,\n logo: options.logo || \"\",\n locale: options.locale || \"zh-cn\",\n vueRouter:\n options.vueRouter ??\n createRouter({\n history: createWebHashHistory(),\n routes: [],\n }),\n pageManager: options.pageManager ?? new PageManager(),\n dataTableComponents: options.dataTableComponents ?? new Components(),\n dataFormComponents: options.dataFormComponents ?? new Components(),\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\n };\n }\n getI18n() {\n return this.i18n;\n }\n\n getOptions() {\n return this._options;\n }\n\n async loadCurrentUserSession(options?: {\n accessToken: string;\n xAccessToken: string;\n }) {\n const userSession = (this.userSession = new UserSession({\n msAppClient: this,\n ...options,\n }));\n this.userSession = null;\n\n this.beforeInitUserSessionEvent.emit({ userSession });\n const userSessionInitResult = await userSession.init();\n\n if (userSessionInitResult?.data.code !== 200) {\n userSession.dispose();\n return userSessionInitResult!;\n }\n\n this.setUserSession(userSession);\n }\n\n async init() {\n if (this.initd) {\n return;\n }\n\n this.vueRouter.beforeEach(async (to, from, next) => {\n const route = await authBeforeEach(this, to, from);\n\n if (route) {\n next(route);\n return;\n }\n\n next();\n });\n\n this.pageManager.init();\n this.pageManager.setMSAppCLient(this);\n\n this.httpRequest.getInterceptors().response.use((config) => {\n if (config.data.code === 401) {\n this.vueRouter.push({ name: \"login\" });\n // if (this.userSession) {\n // this.userSession.lock();\n // } else {\n // this.vueRouter.push({ name: \"login\" });\n // }\n }\n return config;\n });\n\n this.initd = true;\n }\n\n async login(account: string, password: string, code: string) {\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/login\",\n method: \"POST\",\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\n });\n\n if (response.data.code === 200) {\n await this.loadCurrentUserSession({\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\n });\n }\n\n return response;\n }\n\n formatURL(url: string) {\n return url;\n }\n\n async modifyPassword(account: string, code: string) {\n type LoginResult = {\n account: string;\n email: string;\n nickName: string;\n avatarPath: string;\n };\n\n const response = await this.httpRequest.request<R<LoginResult>>({\n url: \"/api/ms-login/modify-password\",\n method: \"POST\",\n data: { account, vCode: code },\n });\n\n return response;\n }\n\n async logout() {\n this.userSession?.dispose();\n this.setUserSession(null);\n\n return this.httpRequest.get(\"/api/ms-login/logout\");\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -116,16 +116,17 @@ const MKBar = /* @__PURE__ */ defineComponent({
|
|
|
116
116
|
}, null)]), createVNode("div", {
|
|
117
117
|
"class": "mk-bar__item-title"
|
|
118
118
|
}, [systemSettingNode.title, createTextVNode(" ")])])]) : null;
|
|
119
|
-
|
|
120
|
-
"class": "mk-bar"
|
|
121
|
-
}, [createVNode("div", {
|
|
119
|
+
const logo = msAppClient.logo ? createVNode("div", {
|
|
122
120
|
"class": "mk-bar__logo"
|
|
123
121
|
}, [createVNode("div", {
|
|
124
122
|
"class": "mk-logo",
|
|
125
123
|
"style": {
|
|
126
124
|
backgroundImage: `url(${msAppClient.logo})`
|
|
127
125
|
}
|
|
128
|
-
}, null)])
|
|
126
|
+
}, null)]) : null;
|
|
127
|
+
return createVNode("div", {
|
|
128
|
+
"class": "mk-bar"
|
|
129
|
+
}, [logo, createVNode("div", {
|
|
129
130
|
"class": "mk-bar__items"
|
|
130
131
|
}, [barItems]), footer]);
|
|
131
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/bar/index.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { MKSvgIcon } from \"../../../components\";\nimport { MSAppClient, MenuNode } from \"../../../core\";\nimport { MenuType } from \"../../../constants\";\n\nexport const MKBar = defineComponent({\n name: \"MKBar\",\n props: {\n barItem: {\n type: MenuNode,\n },\n },\n setup(props) {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = msAppClient.vueRouter;\n // const router = userSession.router;\n\n const currentBarItem = computed(() => props.barItem);\n\n const handleBarItemClick = (barItem: MenuNode) => {\n let target: MenuNode | null = barItem;\n\n if (barItem.children.length) {\n target = menu.getFirstLeafMenuNode(barItem.children);\n }\n\n if (!target) {\n return;\n }\n\n if (target?.route) {\n vueRouter.push({ name: target.route.name });\n }\n };\n\n return () => {\n const barItems = menu.rootMenus\n .filter((rootMenu) => rootMenu.type !== \"3\")\n .map((rootMenu) => (\n <div\n class={[\n \"mk-bar__item\",\n rootMenu.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === rootMenu.id ? \"is-active\" : \"\",\n ]}\n onClick={() => handleBarItemClick(rootMenu)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={rootMenu.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{rootMenu.title} </div>\n </div>\n ));\n\n const systemSettingNode = menu.rootMenus.find(\n (rootMenu) => rootMenu.type === MenuType.SystemSettings\n );\n\n const footer = systemSettingNode?.children.length ? (\n <div class=\"mk-bar__footer\">\n <div\n class={[\n \"mk-bar__item\",\n \"mk-bar__settings\",\n systemSettingNode.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === systemSettingNode.id\n ? \"is-active\"\n : \"\",\n ]}\n onClick={() => handleBarItemClick(systemSettingNode)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={systemSettingNode.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{systemSettingNode.title} </div>\n </div>\n </div>\n ) : null;\n\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/layouts/components/bar/index.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\nimport { MKSvgIcon } from \"../../../components\";\nimport { MSAppClient, MenuNode } from \"../../../core\";\nimport { MenuType } from \"../../../constants\";\n\nexport const MKBar = defineComponent({\n name: \"MKBar\",\n props: {\n barItem: {\n type: MenuNode,\n },\n },\n setup(props) {\n const msAppClient = MSAppClient.instance!;\n const userSession = msAppClient.userSession!;\n const menu = userSession.menu;\n const vueRouter = msAppClient.vueRouter;\n // const router = userSession.router;\n\n const currentBarItem = computed(() => props.barItem);\n\n const handleBarItemClick = (barItem: MenuNode) => {\n let target: MenuNode | null = barItem;\n\n if (barItem.children.length) {\n target = menu.getFirstLeafMenuNode(barItem.children);\n }\n\n if (!target) {\n return;\n }\n\n if (target?.route) {\n vueRouter.push({ name: target.route.name });\n }\n };\n\n return () => {\n const barItems = menu.rootMenus\n .filter((rootMenu) => rootMenu.type !== \"3\")\n .map((rootMenu) => (\n <div\n class={[\n \"mk-bar__item\",\n rootMenu.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === rootMenu.id ? \"is-active\" : \"\",\n ]}\n onClick={() => handleBarItemClick(rootMenu)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={rootMenu.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{rootMenu.title} </div>\n </div>\n ));\n\n const systemSettingNode = menu.rootMenus.find(\n (rootMenu) => rootMenu.type === MenuType.SystemSettings\n );\n\n const footer = systemSettingNode?.children.length ? (\n <div class=\"mk-bar__footer\">\n <div\n class={[\n \"mk-bar__item\",\n \"mk-bar__settings\",\n systemSettingNode.children.length ? \"has-children\" : \"\",\n unref(currentBarItem)?.id === systemSettingNode.id\n ? \"is-active\"\n : \"\",\n ]}\n onClick={() => handleBarItemClick(systemSettingNode)}\n >\n <div class=\"mk-bar__item-button\">\n <MKSvgIcon iconClass={systemSettingNode.iconName} />\n </div>\n <div class=\"mk-bar__item-title\">{systemSettingNode.title} </div>\n </div>\n </div>\n ) : null;\n\n const logo = msAppClient.logo ? (\n <div class=\"mk-bar__logo\">\n <div\n class=\"mk-logo\"\n style={{ backgroundImage: `url(${msAppClient.logo})` }}\n />\n </div>\n ) : null;\n\n return (\n <div class=\"mk-bar\">\n {logo}\n\n <div class=\"mk-bar__items\">{barItems}</div>\n\n {footer}\n </div>\n );\n };\n },\n});\n"],"names":["MKBar","name","props","barItem","type","MenuNode","setup","msAppClient","MSAppClient","instance","userSession","menu","vueRouter","currentBarItem","computed","handleBarItemClick","target","children","length","getFirstLeafMenuNode","route","push","barItems","rootMenus","filter","rootMenu","map","_createVNode","unref","id","onClick","MKSvgIcon","iconName","title","_createTextVNode","systemSettingNode","find","MenuType","SystemSettings","footer","logo","backgroundImage"],"mappings":"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"}
|
|
@@ -83,8 +83,7 @@ import '../../../components/json-editor/index.js';
|
|
|
83
83
|
import '../../../components/upload-file/upload-file.js';
|
|
84
84
|
import { MaterialComponents } from '../../../core/component/MaterialComponents.js';
|
|
85
85
|
import '../../../core/DataModelDefines.js';
|
|
86
|
-
import '
|
|
87
|
-
import '@maketribe/locale';
|
|
86
|
+
import { MSAppClient } from '../../../core/MSAppClient.js';
|
|
88
87
|
import '../../../components/upload-file/context/material-upload-context.js';
|
|
89
88
|
import '../../../components/upload-file/context/material-upload-context-options.js';
|
|
90
89
|
import '../../../components/upload-file/context/web-file-upload-context.js';
|
|
@@ -96,7 +95,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
96
95
|
__name: "index",
|
|
97
96
|
setup(__props) {
|
|
98
97
|
const materialMan = reactive(
|
|
99
|
-
new MaterialMan({
|
|
98
|
+
new MaterialMan({
|
|
99
|
+
components: new MaterialComponents(),
|
|
100
|
+
httpRequest: MSAppClient.instance.httpRequest
|
|
101
|
+
})
|
|
100
102
|
);
|
|
101
103
|
return (_ctx, _cache) => {
|
|
102
104
|
return openBlock(), createBlock(unref(MKMaterialList), { "material-man": materialMan }, null, 8, ["material-man"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../src/page/index/material/index.vue"],"sourcesContent":["<template>\n <MKMaterialList :material-man=\"materialMan\" />\n</template>\n<script setup lang=\"ts\">\nimport { reactive } from \"vue\";\nimport { MaterialMan } from \"../../../dataview\";\nimport { MKMaterialList } from \"../../../components\";\nimport { MaterialComponents } from \"../../../core\";\n\nconst materialMan = reactive(\n new MaterialMan({
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../src/page/index/material/index.vue"],"sourcesContent":["<template>\n <MKMaterialList :material-man=\"materialMan\" />\n</template>\n<script setup lang=\"ts\">\nimport { reactive } from \"vue\";\nimport { MaterialMan } from \"../../../dataview\";\nimport { MKMaterialList } from \"../../../components\";\nimport { MSAppClient, MaterialComponents } from \"../../../core\";\n\nconst materialMan = reactive(\n new MaterialMan({\n components: new MaterialComponents(),\n httpRequest: MSAppClient.instance!.httpRequest,\n })\n) as MaterialMan;\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAA,MAAM,WAAc,GAAA,QAAA;AAAA,MAClB,IAAI,WAAY,CAAA;AAAA,QACd,UAAA,EAAY,IAAI,kBAAmB,EAAA;AAAA,QACnC,WAAA,EAAa,YAAY,QAAU,CAAA,WAAA;AAAA,OACpC,CAAA;AAAA,KACH,CAAA;;;;;;;;;"}
|
|
@@ -160,6 +160,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
160
160
|
verifyVisible.value = false;
|
|
161
161
|
router.push({ path: "/" });
|
|
162
162
|
}
|
|
163
|
+
} catch (e) {
|
|
164
|
+
ElMessage.error("\u767B\u5F55\u5931\u8D25");
|
|
163
165
|
} finally {
|
|
164
166
|
verifyVisible.value = false;
|
|
165
167
|
loading.value = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号登录\n <span class=\"notify\">\n 没有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/signup')\"\n >\n 申请使用\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"loginFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n @submit.native.prevent\n >\n <ElFormItem prop=\"account\">\n <ElInput\n v-model=\"loginFormData.account\"\n placeholder=\"帐号\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem prop=\"password\" v-if=\"!forgotPassword\">\n <ElInput\n v-model=\"loginFormData.password\"\n type=\"password\"\n placeholder=\"密码\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem>\n <ElRow style=\"width: 100%\">\n <ElCol :span=\"12\">\n <ElButton\n link\n class=\"operaBtn\"\n @click=\"forgotPassword = !forgotPassword\"\n >{{\n forgotPassword ? \"返回登陆\" : \"忘记密码?\"\n }}</ElButton\n >\n </ElCol>\n </ElRow>\n </ElFormItem>\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"loginDisabled\"\n v-if=\"!forgotPassword\"\n >\n 登陆\n </ElButton>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"resetDisabled\"\n v-else\n >\n 重置\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n ref=\"verifyDialog\"\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @confirm=\"handleLogin\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\nimport { useMSAppClient } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\n\ndefineOptions({\n mkRoute: {\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n\nconst formEl: Ref<any> = ref(null);\n\nconst system = useMSAppClient()!;\n\nconst router = useRouter();\n\nconst loading = ref(false);\n\nconst loginDisabled = computed(\n () => !loginFormData.account || !loginFormData.password\n);\nconst resetDisabled = computed(() => !loginFormData.account);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\n\nconst rules = {\n account: [{ required: true, message: \"账号必填\" }],\n password: [{ required: true, message: \"密码必填\" }],\n};\n\nconst loginFormData = reactive({\n account: \"\",\n password: \"\",\n vCode: \"code\",\n});\nconst verifyVisible = ref(false);\n\nconst verifyHandle = async () => {\n const result = await formEl.value?.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst handleLogin = async (v: string) => {\n loginFormData.vCode = v;\n try {\n loading.value = true;\n if (forgotPassword.value) {\n const { data } = await system.modifyPassword(\n loginFormData.account,\n loginFormData.vCode\n );\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"重置邮箱失败!\");\n return;\n }\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\n forgotPassword.value = false;\n } else {\n const { data } = await system.login(\n loginFormData.account,\n loginFormData.password,\n loginFormData.vCode\n );\n\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"登录失败!\");\n return;\n }\n verifyVisible.value = false;\n\n router.push({ path: \"/\" });\n }\n } finally {\n verifyVisible.value = false;\n loading.value = false;\n }\n};\n</script>\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../src/page/login/index.vue"],"sourcesContent":["<template>\n <div class=\"login-wrap\">\n <div class=\"login-bg\">\n <div class=\"login-bg-block\"></div>\n <div class=\"login-bg-block\"></div>\n </div>\n <div class=\"login-root\">\n <div class=\"login-main\">\n <div class=\"form-container\">\n <div class=\"form-wrap\">\n <div class=\"form-title\" v-if=\"!forgotPassword\">\n 账号登录\n <span class=\"notify\">\n 没有账号?<ElButton\n link\n class=\"operaBtn\"\n @click=\"router.push('/signup')\"\n >\n 申请使用\n </ElButton>\n </span>\n </div>\n <div class=\"form-title\" v-else>账号重置</div>\n <ElForm\n :model=\"loginFormData\"\n :rules=\"rules\"\n size=\"large\"\n ref=\"formEl\"\n @submit.native.prevent\n >\n <ElFormItem prop=\"account\">\n <ElInput\n v-model=\"loginFormData.account\"\n placeholder=\"帐号\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem prop=\"password\" v-if=\"!forgotPassword\">\n <ElInput\n v-model=\"loginFormData.password\"\n type=\"password\"\n placeholder=\"密码\"\n @keyup.enter.native.prevent=\"verifyHandle\"\n />\n </ElFormItem>\n <ElFormItem>\n <ElRow style=\"width: 100%\">\n <ElCol :span=\"12\">\n <ElButton\n link\n class=\"operaBtn\"\n @click=\"forgotPassword = !forgotPassword\"\n >{{\n forgotPassword ? \"返回登陆\" : \"忘记密码?\"\n }}</ElButton\n >\n </ElCol>\n </ElRow>\n </ElFormItem>\n <ElFormItem>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"loginDisabled\"\n v-if=\"!forgotPassword\"\n >\n 登陆\n </ElButton>\n <ElButton\n type=\"primary\"\n style=\"width: 100%\"\n :loading=\"loading\"\n @click=\"verifyHandle\"\n :disabled=\"resetDisabled\"\n v-else\n >\n 重置\n </ElButton>\n </ElFormItem>\n </ElForm>\n <ElDivider></ElDivider>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <MKVerifyDialog\n ref=\"verifyDialog\"\n :scene=\"scene\"\n v-model:visible=\"verifyVisible\"\n v-if=\"verifyVisible\"\n @confirm=\"handleLogin\"\n />\n</template>\n\n<script setup lang=\"ts\">\nimport { ElMessage, ElForm, ElFormItem } from \"element-plus\";\nimport { useMSAppClient } from \"../../composables\";\nimport { MKVerifyDialog } from \"../../components\";\nimport { Ref, computed, reactive, ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\n\ndefineOptions({\n mkRoute: {\n name: \"login\",\n path: \"/login\",\n meta: {\n isAuthorization: false,\n },\n },\n});\n\nconst verifyDialog: Ref<{ fail: () => void } | null> = ref(null);\n\n// 记住登陆状态\nconst rememberLoginState = ref(false);\n\nconst formEl: Ref<any> = ref(null);\n\nconst system = useMSAppClient()!;\n\nconst router = useRouter();\n\nconst loading = ref(false);\n\nconst loginDisabled = computed(\n () => !loginFormData.account || !loginFormData.password\n);\nconst resetDisabled = computed(() => !loginFormData.account);\n\nconst forgotPassword = ref(false);\nconst scene = computed(() =>\n forgotPassword.value ? \"ModifyPassword\" : \"Login\"\n);\n\nconst rules = {\n account: [{ required: true, message: \"账号必填\" }],\n password: [{ required: true, message: \"密码必填\" }],\n};\n\nconst loginFormData = reactive({\n account: \"\",\n password: \"\",\n vCode: \"code\",\n});\nconst verifyVisible = ref(false);\n\nconst verifyHandle = async () => {\n const result = await formEl.value?.validate();\n if (!result) {\n return;\n }\n verifyVisible.value = true;\n};\n\nconst handleLogin = async (v: string) => {\n loginFormData.vCode = v;\n try {\n loading.value = true;\n if (forgotPassword.value) {\n const { data } = await system.modifyPassword(\n loginFormData.account,\n loginFormData.vCode\n );\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"重置邮箱失败!\");\n return;\n }\n ElMessage.success(\"重置密码邮件已发送到邮箱\");\n forgotPassword.value = false;\n } else {\n const { data } = await system.login(\n loginFormData.account,\n loginFormData.password,\n loginFormData.vCode\n );\n\n if (data.code !== 200) {\n ElMessage.error(data.msg || \"登录失败!\");\n return;\n }\n verifyVisible.value = false;\n\n router.push({ path: \"/\" });\n }\n } catch (e) {\n ElMessage.error(\"登录失败\");\n } finally {\n verifyVisible.value = false;\n loading.value = false;\n }\n};\n</script>\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maketribe/ms-app",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.22",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"files": [
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"vue-codemirror": "^6.1.1",
|
|
22
22
|
"vue-router": "^4.2.4",
|
|
23
23
|
"@maketribe/dm": "^3.0.10",
|
|
24
|
-
"@maketribe/locale": "^1.0.5",
|
|
25
24
|
"@maketribe/request": "^1.1.11",
|
|
25
|
+
"@maketribe/locale": "^1.0.5",
|
|
26
26
|
"@maketribe/utils": "^1.1.4"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
@@ -13,9 +13,8 @@ import {
|
|
|
13
13
|
materialSelectEmits,
|
|
14
14
|
materialSelectProps,
|
|
15
15
|
} from "./material-select-options";
|
|
16
|
-
import { MaterialComponents } from "../../core";
|
|
16
|
+
import { MSAppClient, MaterialComponents } from "../../core";
|
|
17
17
|
import { Material, MaterialMan } from "../../dataview";
|
|
18
|
-
import { useHttpRequest } from "../../composables/use-http-request";
|
|
19
18
|
|
|
20
19
|
export default defineComponent({
|
|
21
20
|
name: "MKMaterialSelect",
|
|
@@ -27,7 +26,7 @@ export default defineComponent({
|
|
|
27
26
|
(reactive(
|
|
28
27
|
new MaterialMan({
|
|
29
28
|
components: new MaterialComponents(),
|
|
30
|
-
httpRequest:
|
|
29
|
+
httpRequest: MSAppClient.instance!.httpRequest,
|
|
31
30
|
})
|
|
32
31
|
) as MaterialMan);
|
|
33
32
|
|
package/src/core/MSAppClient.ts
CHANGED
|
@@ -200,11 +200,12 @@ export class MSAppClient {
|
|
|
200
200
|
|
|
201
201
|
this.httpRequest.getInterceptors().response.use((config) => {
|
|
202
202
|
if (config.data.code === 401) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
}
|
|
203
|
+
this.vueRouter.push({ name: "login" });
|
|
204
|
+
// if (this.userSession) {
|
|
205
|
+
// this.userSession.lock();
|
|
206
|
+
// } else {
|
|
207
|
+
// this.vueRouter.push({ name: "login" });
|
|
208
|
+
// }
|
|
208
209
|
}
|
|
209
210
|
return config;
|
|
210
211
|
});
|
|
@@ -79,14 +79,18 @@ export const MKBar = defineComponent({
|
|
|
79
79
|
</div>
|
|
80
80
|
) : null;
|
|
81
81
|
|
|
82
|
+
const logo = msAppClient.logo ? (
|
|
83
|
+
<div class="mk-bar__logo">
|
|
84
|
+
<div
|
|
85
|
+
class="mk-logo"
|
|
86
|
+
style={{ backgroundImage: `url(${msAppClient.logo})` }}
|
|
87
|
+
/>
|
|
88
|
+
</div>
|
|
89
|
+
) : null;
|
|
90
|
+
|
|
82
91
|
return (
|
|
83
92
|
<div class="mk-bar">
|
|
84
|
-
|
|
85
|
-
<div
|
|
86
|
-
class="mk-logo"
|
|
87
|
-
style={{ backgroundImage: `url(${msAppClient.logo})` }}
|
|
88
|
-
/>
|
|
89
|
-
</div>
|
|
93
|
+
{logo}
|
|
90
94
|
|
|
91
95
|
<div class="mk-bar__items">{barItems}</div>
|
|
92
96
|
|
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
import { reactive } from "vue";
|
|
6
6
|
import { MaterialMan } from "../../../dataview";
|
|
7
7
|
import { MKMaterialList } from "../../../components";
|
|
8
|
-
import { MaterialComponents } from "../../../core";
|
|
8
|
+
import { MSAppClient, MaterialComponents } from "../../../core";
|
|
9
9
|
|
|
10
10
|
const materialMan = reactive(
|
|
11
|
-
new MaterialMan({
|
|
11
|
+
new MaterialMan({
|
|
12
|
+
components: new MaterialComponents(),
|
|
13
|
+
httpRequest: MSAppClient.instance!.httpRequest,
|
|
14
|
+
})
|
|
12
15
|
) as MaterialMan;
|
|
13
16
|
</script>
|