@maketribe/ms-app 3.0.20 → 3.0.21

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.
@@ -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
- if (this.userSession) {
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
- return vue.createVNode("div", {
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)]), vue.createVNode("div", {
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 return (\n <div class=\"mk-bar\">\n <div class=\"mk-bar__logo\">\n <div\n class=\"mk-logo\"\n style={{ backgroundImage: `url(${msAppClient.logo})` }}\n />\n </div>\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","backgroundImage","logo"],"mappings":"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"}
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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"}
@@ -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":"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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":["ref","useMSAppClient","useRouter","computed","reactive","ElMessage"],"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
- if (this.userSession) {
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":";;;;;;;;;;AA2CO,MAAM,WAAY,CAAA;AAAA,EACvB,OAAO,QAA+B,GAAA,IAAA,CAAA;AAAA,EAEtC,MAAiB,GAAA,EAAA,CAAA;AAAA,EAET,QAAA,CAAA;AAAA,EAER,WAAA,CAAA;AAAA,EAEA,IAAA,CAAA;AAAA,EAEA,KAAA,CAAA;AAAA,EAEA,WAAkC,GAAA,IAAA,CAAA;AAAA,EAElC,WAAA,CAAA;AAAA,EAEA,KAAiB,GAAA,KAAA,CAAA;AAAA,EAEjB,KAAiB,GAAA,KAAA,CAAA;AAAA,EAEjB,WAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,QAAW,GAAA;AACb,IAAO,OAAA,IAAA,CAAK,aAAa,QAAY,IAAA,IAAA,CAAA;AAAA,GACvC;AAAA,EAEA,IAAA,CAAA;AAAA,EAEA,mBAAA,CAAA;AAAA,EACA,kBAAA,CAAA;AAAA,EACA,oBAAA,CAAA;AAAA,EACA,qBAAA,CAAA;AAAA,EAEA,SAAA,CAAA;AAAA,EAEA,0BAAA,GAAkE,IAAI,KAAM,EAAA,CAAA;AAAA,EAE5E,sBAAA,GACE,IAAI,KAAM,EAAA,CAAA;AAAA,EAEZ,YAAY,OAA6B,EAAA;AACvC,IAAK,IAAA,CAAA,QAAA,GAAW,IAAK,CAAA,iBAAA,CAAkB,OAAO,CAAA,CAAA;AAE9C,IAAK,IAAA,CAAA,KAAA,GAAQ,KAAK,QAAS,CAAA,KAAA,CAAA;AAE3B,IAAK,IAAA,CAAA,IAAA,GAAO,KAAK,QAAS,CAAA,IAAA,CAAA;AAE1B,IAAA,IAAA,CAAK,cAAc,OAAQ,CAAA,WAAA,CAAA;AAE3B,IAAA,IAAA,CAAK,OAAO,IAAK,CAAA,QAAA,CAAA;AACjB,IAAA,IAAA,CAAK,IAAK,CAAA,sBAAA,CAAuB,IAAK,CAAA,QAAA,CAAS,MAAM,CAAA,CAAA;AAErD,IAAK,IAAA,CAAA,mBAAA,GAAsB,KAAK,QAAS,CAAA,mBAAA,CAAA;AACzC,IAAK,IAAA,CAAA,kBAAA,GAAqB,KAAK,QAAS,CAAA,kBAAA,CAAA;AACxC,IAAK,IAAA,CAAA,oBAAA,GAAuB,KAAK,QAAS,CAAA,oBAAA,CAAA;AAC1C,IAAK,IAAA,CAAA,qBAAA,GAAwB,KAAK,QAAS,CAAA,qBAAA,CAAA;AAE3C,IAAK,IAAA,CAAA,SAAA,GAAY,KAAK,QAAS,CAAA,SAAA,CAAA;AAE/B,IAAK,IAAA,CAAA,WAAA,GAAc,KAAK,QAAS,CAAA,WAAA,CAAA;AAEjC,IAAA,WAAA,CAAY,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEzB,IAAK,IAAA,CAAA,WAAA,GAAc,KAAK,QAAS,CAAA,WAAA,CAAA;AAEjC,IAAU,SAAA,CAAA,cAAA,CAAe,KAAK,WAAW,CAAA,CAAA;AACzC,IAAY,WAAA,CAAA,yBAAA;AAAA,MACV,IAAI,eAAgB,CAAA,EAAE,WAAa,EAAA,IAAA,CAAK,aAAa,CAAA;AAAA,KACvD,CAAA;AAAA,GACF;AAAA,EAEA,eAAe,WAAiC,EAAA;AAC9C,IAAA,IAAI,KAAK,WAAa,EAAA;AACpB,MAAA,IAAA,CAAK,YAAY,OAAQ,EAAA,CAAA;AAAA,KAC3B;AAEA,IAAA,IAAA,CAAK,WAAc,GAAA,WAAA,CAAA;AAEnB,IAAA,IAAA,CAAK,sBAAuB,CAAA,IAAA,CAAK,EAAE,WAAA,EAAa,CAAA,CAAA;AAAA,GAClD;AAAA,EAEQ,kBACN,OAC8B,EAAA;AAC9B,IAAO,OAAA;AAAA,MACL,OAAO,OAAQ,CAAA,KAAA;AAAA,MACf,aAAa,OAAQ,CAAA,WAAA;AAAA,MACrB,WAAa,EAAA,OAAA,CAAQ,WAAe,IAAA,IAAI,cAAe,EAAA;AAAA,MACvD,QAAQ,OAAQ,CAAA,MAAA;AAAA,MAChB,IAAA,EAAM,QAAQ,IAAQ,IAAA,EAAA;AAAA,MACtB,MAAA,EAAQ,QAAQ,MAAU,IAAA,OAAA;AAAA,MAC1B,SAAA,EACE,OAAQ,CAAA,SAAA,IACR,YAAa,CAAA;AAAA,QACX,SAAS,oBAAqB,EAAA;AAAA,QAC9B,QAAQ,EAAC;AAAA,OACV,CAAA;AAAA,MACH,WAAa,EAAA,OAAA,CAAQ,WAAe,IAAA,IAAI,WAAY,EAAA;AAAA,MACpD,mBAAqB,EAAA,OAAA,CAAQ,mBAAuB,IAAA,IAAI,UAAW,EAAA;AAAA,MACnE,kBAAoB,EAAA,OAAA,CAAQ,kBAAsB,IAAA,IAAI,UAAW,EAAA;AAAA,MACjE,oBAAsB,EAAA,OAAA,CAAQ,oBAAwB,IAAA,IAAI,UAAW,EAAA;AAAA,MACrE,qBAAuB,EAAA,OAAA,CAAQ,qBAAyB,IAAA,IAAI,UAAW,EAAA;AAAA,KACzE,CAAA;AAAA,GACF;AAAA,EACA,OAAU,GAAA;AACR,IAAA,OAAO,IAAK,CAAA,IAAA,CAAA;AAAA,GACd;AAAA,EAEA,UAAa,GAAA;AACX,IAAA,OAAO,IAAK,CAAA,QAAA,CAAA;AAAA,GACd;AAAA,EAEA,MAAM,uBAAuB,OAG1B,EAAA;AACD,IAAA,MAAM,WAAe,GAAA,IAAA,CAAK,WAAc,GAAA,IAAI,WAAY,CAAA;AAAA,MACtD,WAAa,EAAA,IAAA;AAAA,MACb,GAAG,OAAA;AAAA,KACJ,CAAA,CAAA;AACD,IAAA,IAAA,CAAK,WAAc,GAAA,IAAA,CAAA;AAEnB,IAAA,IAAA,CAAK,0BAA2B,CAAA,IAAA,CAAK,EAAE,WAAA,EAAa,CAAA,CAAA;AACpD,IAAM,MAAA,qBAAA,GAAwB,MAAM,WAAA,CAAY,IAAK,EAAA,CAAA;AAErD,IAAI,IAAA,qBAAA,EAAuB,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC5C,MAAA,WAAA,CAAY,OAAQ,EAAA,CAAA;AACpB,MAAO,OAAA,qBAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAA,CAAK,eAAe,WAAW,CAAA,CAAA;AAAA,GACjC;AAAA,EAEA,MAAM,IAAO,GAAA;AACX,IAAA,IAAI,KAAK,KAAO,EAAA;AACd,MAAA,OAAA;AAAA,KACF;AAEA,IAAA,IAAA,CAAK,SAAU,CAAA,UAAA,CAAW,OAAO,EAAA,EAAI,MAAM,IAAS,KAAA;AAClD,MAAA,MAAM,KAAQ,GAAA,MAAM,cAAe,CAAA,IAAA,EAAM,EAAQ,CAAA,CAAA;AAEjD,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACV,QAAA,OAAA;AAAA,OACF;AAEA,MAAK,IAAA,EAAA,CAAA;AAAA,KACN,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,YAAY,IAAK,EAAA,CAAA;AACtB,IAAK,IAAA,CAAA,WAAA,CAAY,eAAe,IAAI,CAAA,CAAA;AAEpC,IAAA,IAAA,CAAK,YAAY,eAAgB,EAAA,CAAE,QAAS,CAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AAC1D,MAAI,IAAA,MAAA,CAAO,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC5B,QAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CAAK,EAAE,IAAA,EAAM,SAAS,CAAA,CAAA;AAAA,OAMvC;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,IAAA,CAAK,KAAQ,GAAA,IAAA,CAAA;AAAA,GACf;AAAA,EAEA,MAAM,KAAA,CAAM,OAAiB,EAAA,QAAA,EAAkB,IAAc,EAAA;AAC3D,IAAA,MAAM,QAAW,GAAA,MAAM,IAAK,CAAA,WAAA,CAAY,OAAwB,CAAA;AAAA,MAC9D,GAAK,EAAA,qBAAA;AAAA,MACL,MAAQ,EAAA,MAAA;AAAA,MACR,IAAA,EAAM,EAAE,OAAA,EAAS,QAAU,EAAA,GAAA,CAAI,QAAQ,QAAQ,CAAA,CAAE,CAAG,EAAA,KAAA,EAAO,IAAK,EAAA;AAAA,KACjE,CAAA,CAAA;AAED,IAAI,IAAA,QAAA,CAAS,IAAK,CAAA,IAAA,KAAS,GAAK,EAAA;AAC9B,MAAA,MAAM,KAAK,sBAAuB,CAAA;AAAA,QAChC,WAAA,EAAa,QAAS,CAAA,OAAA,CAAQ,mBAAmB,CAAA;AAAA,QACjD,YAAA,EAAc,QAAS,CAAA,OAAA,CAAQ,qBAAqB,CAAA;AAAA,OACrD,CAAA,CAAA;AAAA,KACH;AAEA,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AAAA,EAEA,UAAU,GAAa,EAAA;AACrB,IAAO,OAAA,GAAA,CAAA;AAAA,GACT;AAAA,EAEA,MAAM,cAAe,CAAA,OAAA,EAAiB,IAAc,EAAA;AAQlD,IAAA,MAAM,QAAW,GAAA,MAAM,IAAK,CAAA,WAAA,CAAY,OAAwB,CAAA;AAAA,MAC9D,GAAK,EAAA,+BAAA;AAAA,MACL,MAAQ,EAAA,MAAA;AAAA,MACR,IAAM,EAAA,EAAE,OAAS,EAAA,KAAA,EAAO,IAAK,EAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AAAA,EAEA,MAAM,MAAS,GAAA;AACb,IAAA,IAAA,CAAK,aAAa,OAAQ,EAAA,CAAA;AAC1B,IAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA;AAExB,IAAO,OAAA,IAAA,CAAK,WAAY,CAAA,GAAA,CAAI,sBAAsB,CAAA,CAAA;AAAA,GACpD;AACF;;;;"}
@@ -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
- return createVNode("div", {
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)]), createVNode("div", {
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 return (\n <div class=\"mk-bar\">\n <div class=\"mk-bar__logo\">\n <div\n class=\"mk-logo\"\n style={{ backgroundImage: `url(${msAppClient.logo})` }}\n />\n </div>\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","backgroundImage","logo"],"mappings":"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"}
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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"}
@@ -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.20",
3
+ "version": "3.0.21",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [
@@ -22,8 +22,8 @@
22
22
  "vue-router": "^4.2.4",
23
23
  "@maketribe/dm": "^3.0.10",
24
24
  "@maketribe/locale": "^1.0.5",
25
- "@maketribe/request": "^1.1.11",
26
- "@maketribe/utils": "^1.1.4"
25
+ "@maketribe/utils": "^1.1.4",
26
+ "@maketribe/request": "^1.1.11"
27
27
  },
28
28
  "scripts": {
29
29
  "build": "npm run clean && npm run build:js && npm run build:type && npm run build:style",
@@ -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
- if (this.userSession) {
204
- this.userSession.lock();
205
- } else {
206
- this.vueRouter.push({ name: "login" });
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
- <div class="mk-bar__logo">
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
 
@@ -186,6 +186,8 @@ const handleLogin = async (v: string) => {
186
186
 
187
187
  router.push({ path: "/" });
188
188
  }
189
+ } catch (e) {
190
+ ElMessage.error("登录失败");
189
191
  } finally {
190
192
  verifyVisible.value = false;
191
193
  loading.value = false;