@maketribe/ms-app 3.0.42 → 3.0.44

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.
@@ -79,4 +79,10 @@ export declare class MSAppClient {
79
79
  avatarPath: string;
80
80
  }>, any>>;
81
81
  logout(): Promise<import("@maketribe/request").ResponseConfig<any, any>>;
82
+ changePassword(password: string, newPassword: string): Promise<import("@maketribe/request").ResponseConfig<R<{
83
+ account: string;
84
+ email: string;
85
+ nickName: string;
86
+ avatarPath: string;
87
+ }>, any>>;
82
88
  }
@@ -155,6 +155,14 @@ class MSAppClient {
155
155
  this.setUserSession(null);
156
156
  return this.httpRequest.get("/api/ms-login/logout");
157
157
  }
158
+ async changePassword(password, newPassword) {
159
+ const response = await this.httpRequest.request({
160
+ url: "/api/dv/ms-member/modify/password",
161
+ method: "POST",
162
+ data: { password: utils.md5(`mkbl#${password}`), newPassword: utils.md5(`mkbl#${newPassword}`) }
163
+ });
164
+ return response;
165
+ }
158
166
  }
159
167
 
160
168
  exports.MSAppClient = MSAppClient;
@@ -1 +1 @@
1
- {"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\r\n createRouter,\r\n createWebHashHistory,\r\n Router as VueRouter,\r\n} from \"vue-router\";\r\nimport {\r\n DataViewRequest,\r\n DVQueryable,\r\n HttpRequest,\r\n R,\r\n WebHttpRequest,\r\n} from \"@maketribe/request\";\r\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nimport { Event, md5 } from \"@maketribe/utils\";\r\nimport { UserSession } from \"./UserSession\";\r\nimport { authBeforeEach } from \"../router-middleware\";\r\nimport { PageManager } from \"./PageManager\";\r\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\r\n\r\nexport type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n};\r\n\r\nexport interface MSAppClientOptions {\r\n pageManager?: PageManager;\r\n projectName: string;\r\n httpRequest?: HttpRequest;\r\n origin: string;\r\n appID: string;\r\n logo?: string;\r\n locale?: string;\r\n vueRouter?: VueRouter;\r\n dataTableComponents?: IComponents;\r\n dataFormComponents?: IComponents;\r\n dataFilterComponents?: IComponents;\r\n whereFilterComponents?: IComponents;\r\n}\r\n\r\nexport class MSAppClient {\r\n static instance: MSAppClient | null = null;\r\n\r\n origin: string = \"\";\r\n\r\n private _options: Required<MSAppClientOptions>;\r\n\r\n projectName: string;\r\n\r\n logo: string;\r\n\r\n appID: string;\r\n\r\n userSession: UserSession | null = null;\r\n\r\n httpRequest: HttpRequest;\r\n\r\n ready: boolean = false;\r\n\r\n initd: boolean = false;\r\n\r\n pageManager: PageManager;\r\n\r\n /**\r\n * @deprecated\r\n * @description 使用 MSAppClient.instance.userSession.userInfo\r\n */\r\n get userInfo() {\r\n return this.userSession?.userInfo ?? null;\r\n }\r\n\r\n i18n: I18n;\r\n\r\n dataTableComponents: IComponents;\r\n dataFormComponents: IComponents;\r\n dataFilterComponents: IComponents;\r\n whereFilterComponents: IComponents;\r\n\r\n vueRouter: VueRouter;\r\n\r\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\r\n\r\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\r\n new Event();\r\n\r\n constructor(options: MSAppClientOptions) {\r\n this._options = this._normalizeOptions(options);\r\n\r\n this.appID = this._options.appID;\r\n\r\n this.logo = this._options.logo;\r\n\r\n this.projectName = options.projectName;\r\n\r\n this.i18n = I18n.instance;\r\n this.i18n.setCurrentLanguageName(this._options.locale);\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n\r\n this.vueRouter = this._options.vueRouter;\r\n\r\n this.pageManager = this._options.pageManager;\r\n\r\n HttpRequest.appID = this.appID;\r\n\r\n this.httpRequest = this._options.httpRequest;\r\n\r\n DataModel.setHttpRequest(this.httpRequest);\r\n DVQueryable.setDefaultDataViewRequest(\r\n new DataViewRequest({ httpRequest: this.httpRequest })\r\n );\r\n }\r\n\r\n setUserSession(userSession: UserSession | null) {\r\n if (this.userSession) {\r\n this.userSession.dispose();\r\n }\r\n\r\n this.userSession = userSession;\r\n\r\n this.userSessionChangeEvent.emit({ userSession });\r\n }\r\n\r\n private _normalizeOptions(\r\n options: MSAppClientOptions\r\n ): Required<MSAppClientOptions> {\r\n return {\r\n appID: options.appID,\r\n projectName: options.projectName,\r\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\r\n origin: options.origin,\r\n logo: options.logo || \"\",\r\n locale: options.locale || \"zh-cn\",\r\n vueRouter:\r\n options.vueRouter ??\r\n createRouter({\r\n history: createWebHashHistory(),\r\n routes: [],\r\n }),\r\n pageManager: options.pageManager ?? new PageManager(),\r\n dataTableComponents: options.dataTableComponents ?? new Components(),\r\n dataFormComponents: options.dataFormComponents ?? new Components(),\r\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\r\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\r\n };\r\n }\r\n getI18n() {\r\n return this.i18n;\r\n }\r\n\r\n getOptions() {\r\n return this._options;\r\n }\r\n\r\n async loadCurrentUserSession(options?: {\r\n accessToken: string;\r\n xAccessToken: string;\r\n }) {\r\n const userSession = (this.userSession = new UserSession({\r\n msAppClient: this,\r\n ...options,\r\n }));\r\n this.userSession = null;\r\n\r\n this.beforeInitUserSessionEvent.emit({ userSession });\r\n const userSessionInitResult = await userSession.init();\r\n\r\n if (userSessionInitResult?.data.code !== 200) {\r\n userSession.dispose();\r\n return userSessionInitResult!;\r\n }\r\n\r\n this.setUserSession(userSession);\r\n }\r\n\r\n async init() {\r\n if (this.initd) {\r\n return;\r\n }\r\n\r\n this.vueRouter.beforeEach(async (to, from, next) => {\r\n const route = await authBeforeEach(this, to, from);\r\n\r\n if (route) {\r\n next(route);\r\n return;\r\n }\r\n\r\n next();\r\n });\r\n\r\n this.pageManager.init();\r\n this.pageManager.setMSAppCLient(this);\r\n\r\n this.httpRequest.getInterceptors().response.use((config) => {\r\n if (config.data.code === 401) {\r\n this.vueRouter.push({ name: \"login\" });\r\n // if (this.userSession) {\r\n // this.userSession.lock();\r\n // } else {\r\n // this.vueRouter.push({ name: \"login\" });\r\n // }\r\n }\r\n return config;\r\n });\r\n\r\n this.initd = true;\r\n }\r\n\r\n async login(account: string, password: string, code: string) {\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/login\",\r\n method: \"POST\",\r\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\r\n });\r\n\r\n if (response.data.code === 200) {\r\n await this.loadCurrentUserSession({\r\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\r\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n\r\n formatURL(url: string) {\r\n return url;\r\n }\r\n\r\n async modifyPassword(account: string, code: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/modify-password\",\r\n method: \"POST\",\r\n data: { account, vCode: code },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async logout() {\r\n this.userSession?.dispose();\r\n this.setUserSession(null);\r\n\r\n return this.httpRequest.get(\"/api/ms-login/logout\");\r\n }\r\n}\r\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 {\r\n createRouter,\r\n createWebHashHistory,\r\n Router as VueRouter,\r\n} from \"vue-router\";\r\nimport {\r\n DataViewRequest,\r\n DVQueryable,\r\n HttpRequest,\r\n R,\r\n WebHttpRequest,\r\n} from \"@maketribe/request\";\r\nimport { IComponents, DataModel, Components, Messager } from \"@maketribe/dm\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nimport { Event, md5 } from \"@maketribe/utils\";\r\nimport { UserSession } from \"./UserSession\";\r\nimport { authBeforeEach } from \"../router-middleware\";\r\nimport { PageManager } from \"./PageManager\";\r\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\r\n\r\nexport type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n};\r\n\r\nexport interface MSAppClientOptions {\r\n pageManager?: PageManager;\r\n projectName: string;\r\n httpRequest?: HttpRequest;\r\n origin: string;\r\n appID: string;\r\n logo?: string;\r\n locale?: string;\r\n vueRouter?: VueRouter;\r\n dataTableComponents?: IComponents;\r\n dataFormComponents?: IComponents;\r\n dataFilterComponents?: IComponents;\r\n whereFilterComponents?: IComponents;\r\n}\r\n\r\nexport class MSAppClient {\r\n static instance: MSAppClient | null = null;\r\n\r\n origin: string = \"\";\r\n\r\n private _options: Required<MSAppClientOptions>;\r\n\r\n projectName: string;\r\n\r\n logo: string;\r\n\r\n appID: string;\r\n\r\n userSession: UserSession | null = null;\r\n\r\n httpRequest: HttpRequest;\r\n\r\n ready: boolean = false;\r\n\r\n initd: boolean = false;\r\n\r\n pageManager: PageManager;\r\n\r\n /**\r\n * @deprecated\r\n * @description 使用 MSAppClient.instance.userSession.userInfo\r\n */\r\n get userInfo() {\r\n return this.userSession?.userInfo ?? null;\r\n }\r\n\r\n i18n: I18n;\r\n\r\n dataTableComponents: IComponents;\r\n dataFormComponents: IComponents;\r\n dataFilterComponents: IComponents;\r\n whereFilterComponents: IComponents;\r\n\r\n vueRouter: VueRouter;\r\n\r\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\r\n\r\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\r\n new Event();\r\n\r\n constructor(options: MSAppClientOptions) {\r\n this._options = this._normalizeOptions(options);\r\n\r\n this.appID = this._options.appID;\r\n\r\n this.logo = this._options.logo;\r\n\r\n this.projectName = options.projectName;\r\n\r\n this.i18n = I18n.instance;\r\n this.i18n.setCurrentLanguageName(this._options.locale);\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n\r\n this.vueRouter = this._options.vueRouter;\r\n\r\n this.pageManager = this._options.pageManager;\r\n\r\n HttpRequest.appID = this.appID;\r\n\r\n this.httpRequest = this._options.httpRequest;\r\n\r\n DataModel.setHttpRequest(this.httpRequest);\r\n DVQueryable.setDefaultDataViewRequest(\r\n new DataViewRequest({ httpRequest: this.httpRequest })\r\n );\r\n }\r\n\r\n setUserSession(userSession: UserSession | null) {\r\n if (this.userSession) {\r\n this.userSession.dispose();\r\n }\r\n\r\n this.userSession = userSession;\r\n\r\n this.userSessionChangeEvent.emit({ userSession });\r\n }\r\n\r\n private _normalizeOptions(\r\n options: MSAppClientOptions\r\n ): Required<MSAppClientOptions> {\r\n return {\r\n appID: options.appID,\r\n projectName: options.projectName,\r\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\r\n origin: options.origin,\r\n logo: options.logo || \"\",\r\n locale: options.locale || \"zh-cn\",\r\n vueRouter:\r\n options.vueRouter ??\r\n createRouter({\r\n history: createWebHashHistory(),\r\n routes: [],\r\n }),\r\n pageManager: options.pageManager ?? new PageManager(),\r\n dataTableComponents: options.dataTableComponents ?? new Components(),\r\n dataFormComponents: options.dataFormComponents ?? new Components(),\r\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\r\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\r\n };\r\n }\r\n getI18n() {\r\n return this.i18n;\r\n }\r\n\r\n getOptions() {\r\n return this._options;\r\n }\r\n\r\n async loadCurrentUserSession(options?: {\r\n accessToken: string;\r\n xAccessToken: string;\r\n }) {\r\n const userSession = (this.userSession = new UserSession({\r\n msAppClient: this,\r\n ...options,\r\n }));\r\n this.userSession = null;\r\n\r\n this.beforeInitUserSessionEvent.emit({ userSession });\r\n const userSessionInitResult = await userSession.init();\r\n\r\n if (userSessionInitResult?.data.code !== 200) {\r\n userSession.dispose();\r\n return userSessionInitResult!;\r\n }\r\n\r\n this.setUserSession(userSession);\r\n }\r\n\r\n async init() {\r\n if (this.initd) {\r\n return;\r\n }\r\n\r\n this.vueRouter.beforeEach(async (to, from, next) => {\r\n const route = await authBeforeEach(this, to, from);\r\n\r\n if (route) {\r\n next(route);\r\n return;\r\n }\r\n\r\n next();\r\n });\r\n\r\n this.pageManager.init();\r\n this.pageManager.setMSAppCLient(this);\r\n\r\n this.httpRequest.getInterceptors().response.use((config) => {\r\n if (config.data.code === 401) {\r\n this.vueRouter.push({ name: \"login\" });\r\n // if (this.userSession) {\r\n // this.userSession.lock();\r\n // } else {\r\n // this.vueRouter.push({ name: \"login\" });\r\n // }\r\n }\r\n return config;\r\n });\r\n\r\n this.initd = true;\r\n }\r\n\r\n async login(account: string, password: string, code: string) {\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/login\",\r\n method: \"POST\",\r\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\r\n });\r\n\r\n if (response.data.code === 200) {\r\n await this.loadCurrentUserSession({\r\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\r\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n\r\n formatURL(url: string) {\r\n return url;\r\n }\r\n\r\n async modifyPassword(account: string, code: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/modify-password\",\r\n method: \"POST\",\r\n data: { account, vCode: code },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async logout() {\r\n this.userSession?.dispose();\r\n this.setUserSession(null);\r\n\r\n return this.httpRequest.get(\"/api/ms-login/logout\");\r\n }\r\n async changePassword(password: string, newPassword: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/dv/ms-member/modify/password\",\r\n method: \"POST\",\r\n data: { password: md5(`mkbl#${password}`), newPassword: md5(`mkbl#${newPassword}`) },\r\n });\r\n \r\n return response;\r\n }\r\n}\r\n"],"names":["Event","I18n","HttpRequest","DataModel","DVQueryable","DataViewRequest","WebHttpRequest","createRouter","createWebHashHistory","PageManager","Components","UserSession","authBeforeEach","md5","ACCESS_TOKEN_HEADER","X_ACCESS_TOKEN_HEADER"],"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,IAAIA,WAAM,EAAA,CAAA;AAAA,EAE5E,sBAAA,GACE,IAAIA,WAAM,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,OAAOC,WAAK,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,IAAAC,mBAAA,CAAY,QAAQ,IAAK,CAAA,KAAA,CAAA;AAEzB,IAAK,IAAA,CAAA,WAAA,GAAc,KAAK,QAAS,CAAA,WAAA,CAAA;AAEjC,IAAUC,YAAA,CAAA,cAAA,CAAe,KAAK,WAAW,CAAA,CAAA;AACzC,IAAYC,mBAAA,CAAA,yBAAA;AAAA,MACV,IAAIC,uBAAgB,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,IAAIC,sBAAe,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,IACRC,sBAAa,CAAA;AAAA,QACX,SAASC,8BAAqB,EAAA;AAAA,QAC9B,QAAQ,EAAC;AAAA,OACV,CAAA;AAAA,MACH,WAAa,EAAA,OAAA,CAAQ,WAAe,IAAA,IAAIC,uBAAY,EAAA;AAAA,MACpD,mBAAqB,EAAA,OAAA,CAAQ,mBAAuB,IAAA,IAAIC,aAAW,EAAA;AAAA,MACnE,kBAAoB,EAAA,OAAA,CAAQ,kBAAsB,IAAA,IAAIA,aAAW,EAAA;AAAA,MACjE,oBAAsB,EAAA,OAAA,CAAQ,oBAAwB,IAAA,IAAIA,aAAW,EAAA;AAAA,MACrE,qBAAuB,EAAA,OAAA,CAAQ,qBAAyB,IAAA,IAAIA,aAAW,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,IAAIC,uBAAY,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,MAAMC,mBAAe,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,EAAAC,SAAA,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,CAAQC,yBAAmB,CAAA;AAAA,QACjD,YAAA,EAAc,QAAS,CAAA,OAAA,CAAQC,2BAAqB,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;AAAA,EACA,MAAM,cAAe,CAAA,QAAA,EAAkB,WAAqB,EAAA;AAQ1D,IAAA,MAAM,QAAW,GAAA,MAAM,IAAK,CAAA,WAAA,CAAY,OAAwB,CAAA;AAAA,MAC9D,GAAK,EAAA,mCAAA;AAAA,MACL,MAAQ,EAAA,MAAA;AAAA,MACR,IAAM,EAAA,EAAE,QAAU,EAAAF,SAAA,CAAI,CAAQ,KAAA,EAAA,QAAQ,CAAE,CAAA,CAAA,EAAG,WAAa,EAAAA,SAAA,CAAI,CAAQ,KAAA,EAAA,WAAW,EAAE,CAAE,EAAA;AAAA,KACpF,CAAA,CAAA;AAED,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AACF;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var elementPlus = require('element-plus');
5
- require('@maketribe/dm');
5
+ var dm = require('@maketribe/dm');
6
6
  require('@maketribe/utils');
7
7
  require('../../../core/DataModelDefines.js');
8
8
  var MSAppClient = require('../../../core/MSAppClient.js');
@@ -73,6 +73,69 @@ const MKHeaderTools = /* @__PURE__ */ vue.defineComponent({
73
73
  const userSession = msAppClient.userSession;
74
74
  const userInfo = vue.computed(() => userSession.userInfo);
75
75
  const avatar = vue.computed(() => vue.unref(userInfo).avatar);
76
+ const showDialog = vue.ref(false);
77
+ const form = vue.reactive({
78
+ password: "",
79
+ newPassword: "",
80
+ repeatPassword: ""
81
+ });
82
+ const formRef = vue.ref();
83
+ const btnLoading = vue.ref(false);
84
+ vue.watch(showDialog, async () => {
85
+ if (vue.unref(showDialog)) {
86
+ form.password = "";
87
+ form.newPassword = "";
88
+ form.repeatPassword = "";
89
+ }
90
+ });
91
+ const reg = /^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/;
92
+ const validateCode1 = (rule, value, callback) => {
93
+ if (value == "") {
94
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801"));
95
+ }
96
+ if (value != form.newPassword) {
97
+ callback(new Error("\u4E24\u6B21\u8F93\u5165\u4E0D\u4E00\u81F4"));
98
+ }
99
+ callback();
100
+ };
101
+ const validateCode = (rule, value, callback) => {
102
+ if (value == "") {
103
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801\u7801"));
104
+ }
105
+ if (value.length < 8) {
106
+ callback(new Error("\u5BC6\u7801\u7801\u957F\u5EA6\u4E0D\u80FD\u5C0F\u4E8E8\u4F4D"));
107
+ }
108
+ if (value == form.password) {
109
+ callback(new Error("\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E0E\u65E7\u5BC6\u7801\u76F8\u540C"));
110
+ }
111
+ if (!reg.test(value)) {
112
+ callback(new Error("\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u6570\u5B57\uFF0C\u5B57\u6BCD\u548C\u7279\u6B8A\u7B26\u53F7"));
113
+ } else {
114
+ callback();
115
+ }
116
+ };
117
+ const submitChangePassword = async () => {
118
+ try {
119
+ btnLoading.value = true;
120
+ const isPass = await formRef.value.validate();
121
+ if (!isPass) {
122
+ return;
123
+ }
124
+ let result = await msAppClient.changePassword(form.password, form.newPassword);
125
+ if (result.data.code != 200) {
126
+ dm.Messager.instance.error({
127
+ message: result.data.msg || "\u4FEE\u6539\u5BC6\u7801\u5931\u8D25"
128
+ });
129
+ return;
130
+ }
131
+ btnLoading.value = false;
132
+ msAppClient.logout();
133
+ } catch (e) {
134
+ console.error(e);
135
+ } finally {
136
+ btnLoading.value = false;
137
+ }
138
+ };
76
139
  return () => {
77
140
  return vue.createVNode("div", {
78
141
  "class": "mk-header-tools"
@@ -97,6 +160,14 @@ const MKHeaderTools = /* @__PURE__ */ vue.defineComponent({
97
160
  }, [vue.unref(userInfo).nickName])]),
98
161
  dropdown: () => vue.createVNode(elementPlus.ElDropdownMenu, null, {
99
162
  default: () => [vue.createVNode(elementPlus.ElDropdownItem, {
163
+ "onClick": () => {
164
+ showDialog.value = true;
165
+ }
166
+ }, {
167
+ default: () => [vue.createVNode(index.MKSvgIcon, {
168
+ "iconClass": "EditPen"
169
+ }, null), vue.createTextVNode("\u4FEE\u6539\u5BC6\u7801")]
170
+ }), vue.createVNode(elementPlus.ElDropdownItem, {
100
171
  "onClick": () => msAppClient.logout()
101
172
  }, {
102
173
  default: () => [vue.createVNode(index.MKSvgIcon, {
@@ -104,7 +175,97 @@ const MKHeaderTools = /* @__PURE__ */ vue.defineComponent({
104
175
  }, null), vue.createTextVNode("\u9000\u51FA\u767B\u5F55")]
105
176
  })]
106
177
  })
107
- })])]);
178
+ })]), vue.createVNode(elementPlus.ElDialog, {
179
+ "model-value": showDialog.value,
180
+ "onUpdate:modelValue": (v) => {
181
+ showDialog.value = v;
182
+ },
183
+ "title": "\u4FEE\u6539\u5BC6\u7801",
184
+ "width": "30%"
185
+ }, {
186
+ default: () => [vue.createVNode(elementPlus.ElForm, {
187
+ "ref": formRef,
188
+ "model": form,
189
+ "label-width": "80px"
190
+ }, {
191
+ default: () => [vue.createVNode(elementPlus.ElFormItem, {
192
+ "label": "\u65E7\u5BC6\u7801",
193
+ "required": true,
194
+ "prop": "password",
195
+ "rules": [{
196
+ required: true,
197
+ message: "\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801",
198
+ trigger: "change"
199
+ }]
200
+ }, {
201
+ default: () => [vue.createVNode(elementPlus.ElInput, {
202
+ "model-value": form.password,
203
+ "placeholder": "\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801",
204
+ "onUpdate:modelValue": (v) => {
205
+ form.password = v;
206
+ },
207
+ "type": "password"
208
+ }, null)]
209
+ }), vue.createVNode(elementPlus.ElFormItem, {
210
+ "label": "\u65B0\u5BC6\u7801",
211
+ "required": true,
212
+ "prop": "newPassword",
213
+ "rules": [{
214
+ required: true,
215
+ message: "\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801",
216
+ trigger: "change"
217
+ }, {
218
+ validator: validateCode,
219
+ trigger: "change"
220
+ }]
221
+ }, {
222
+ default: () => [vue.createVNode(elementPlus.ElInput, {
223
+ "model-value": form.newPassword,
224
+ "placeholder": "\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801",
225
+ "onUpdate:modelValue": (v) => {
226
+ form.newPassword = v;
227
+ },
228
+ "type": "password"
229
+ }, null)]
230
+ }), vue.createVNode(elementPlus.ElFormItem, {
231
+ "label": "\u91CD\u590D\u5BC6\u7801",
232
+ "required": true,
233
+ "prop": "repeatPassword",
234
+ "rules": [{
235
+ required: true,
236
+ message: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
237
+ trigger: "change"
238
+ }, {
239
+ validator: validateCode1,
240
+ trigger: "change"
241
+ }]
242
+ }, {
243
+ default: () => [vue.createVNode(elementPlus.ElInput, {
244
+ "model-value": form.repeatPassword,
245
+ "placeholder": "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
246
+ "onUpdate:modelValue": (v) => {
247
+ form.repeatPassword = v;
248
+ },
249
+ "type": "password"
250
+ }, null)]
251
+ })]
252
+ })],
253
+ footer: () => vue.createVNode("div", null, [vue.createVNode(elementPlus.ElButton, {
254
+ "onClick": () => {
255
+ showDialog.value = false;
256
+ }
257
+ }, {
258
+ default: () => [vue.createTextVNode("\u53D6\u6D88")]
259
+ }), vue.createVNode(elementPlus.ElButton, {
260
+ "type": "primary",
261
+ "loading": btnLoading.value,
262
+ "onClick": () => {
263
+ submitChangePassword();
264
+ }
265
+ }, {
266
+ default: () => [vue.createTextVNode("\u786E\u5B9A")]
267
+ })])
268
+ })]);
108
269
  };
109
270
  }
110
271
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon } from \"../../../components\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient.instance!;\r\n const userSession = msAppClient.userSession!;\r\n\r\n const userInfo = computed(() => userSession.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo).avatar);\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo).nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","defineComponent","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","_createVNode","ElDropdown","default","ElImage","error","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","logout","_createTextVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAMA,gCAAgCC,mBAAA,CAAA;AAAA,EAC3CC,IAAM,EAAA,eAAA;AAAA,EACNC,MAAMC,KAAO,EAAA;AACX,IAAA,MAAMC,cAAcC,uBAAYC,CAAAA,QAAAA,CAAAA;AAChC,IAAA,MAAMC,cAAcH,WAAYG,CAAAA,WAAAA,CAAAA;AAEhC,IAAA,MAAMC,QAAWC,GAAAA,YAAAA,CAAS,MAAMF,WAAAA,CAAYC,QAAS,CAAA,CAAA;AAErD,IAAA,MAAME,SAASD,YAAS,CAAA,MAAME,SAAMH,CAAAA,QAAQ,EAAEE,MAAM,CAAA,CAAA;AAEpD,IAAA,OAAO,MAAM;AACX,MAAA,OAAAE,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,iBAAA;AAAA,OAAA,EAAA,CAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,OAAA,EAAAA,CAAAA,eAAAA,CAAAC,sBAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,QAAA,SAAA,EAAA,OAAA;AAAA,OAMiB,EAAA;AAAA,QACPC,OAAAA,EAASA,MAAAF,eAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,4BAAA;AAAA,SAAA,EAAAA,CAAAA,eAAAA,CAAAG,mBAAA,EAAA;AAAA,UAAA,OAAA,EAAA,yBAAA;AAAA,UAAA,KAAA,EAIEJ,UAAMD,MAAM,CAAA;AAAA,SACR,EAAA;AAAA,UACPM,KAAAA,EAAOA,MAAAJ,eAAAA,CAAAK,eAAA,EAAA;AAAA,YAAA,WAAA,EAAA,QAAA;AAAA,YAAA,OAAA,EAAA,kCAAA;AAAA,aAAA,IAAA,CAAA;AAAA,SAGR,CAAAL,EAAAA,eAAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA,2BAAA;AAAA,SAAA,EAAA,CAGAD,SAAMH,CAAAA,QAAQ,EAAEU,QAAQ,CAG9B,CAAA,CAAA,CAAA;AAAA,QACDC,QAAUA,EAAAA,MAAAP,eAAAQ,CAAAA,0BAAAA,EAAA,IAAA,EAAA;AAAA,UAAAN,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAS,0BAAA,EAAA;AAAA,YAAA,SAAA,EAEmBC,MAAMlB,WAAAA,CAAYmB,MAAO,EAAA;AAAA,WAAC,EAAA;AAAA,YAAAT,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAK,eAAA,EAAA;AAAA,cAAA,WAAA,EAAA,cAAA;AAAA,aAAA,EAAA,IAAA,CAAAO,EAAAA,mBAAAA,CAAA,0BAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AAAA,OAMxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAKX,CAAA;AAAA,GACF;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref, ref, reactive, watch, nextTick } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n ElDialog,\r\n ElForm,\r\n ElFormItem,\r\n ElInput,\r\n ElButton\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon } from \"../../../components\";\r\nimport { Messager } from \"@maketribe/dm\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient.instance!;\r\n const userSession = msAppClient.userSession!;\r\n\r\n const userInfo = computed(() => userSession.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo).avatar);\r\n const showDialog = ref(false);\r\n const form = reactive({\r\n password: \"\",\r\n newPassword: \"\",\r\n repeatPassword: \"\",\r\n });\r\n const formRef = ref();\r\n const btnLoading = ref(false)\r\n\r\n watch(showDialog, async () => {\r\n if (unref(showDialog)) {\r\n form.password = \"\";\r\n form.newPassword = \"\";\r\n form.repeatPassword = \"\";\r\n }\r\n })\r\n\r\n const reg = /^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/\r\n\r\n const validateCode1 = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码\"));\r\n }\r\n if (value != form.newPassword) {\r\n callback(new Error(\"两次输入不一致\"));\r\n }\r\n callback()\r\n }\r\n\r\n const validateCode = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码码\"));\r\n }\r\n\r\n if (value.length < 8) {\r\n callback(new Error(\"密码码长度不能小于8位\"));\r\n }\r\n\r\n if (value == form.password) {\r\n callback(new Error(\"新密码不能与旧密码相同\"));\r\n }\r\n\r\n if (!reg.test(value)) {\r\n callback(new Error(\"密码必须包含数字,字母和特殊符号\"))\r\n } else {\r\n callback()\r\n }\r\n }\r\n\r\n const submitChangePassword = async () => {\r\n try {\r\n btnLoading.value = true\r\n const isPass = await formRef.value.validate();\r\n if (!isPass) {\r\n return;\r\n }\r\n\r\n let result = await msAppClient.changePassword(form.password, form.newPassword);\r\n if (result.data.code != 200) {\r\n Messager.instance.error({ message: result.data.msg || \"修改密码失败\" });\r\n return;\r\n }\r\n btnLoading.value = false\r\n msAppClient.logout()\r\n\r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n\r\n }\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo).nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\r\n <MKSvgIcon iconClass=\"EditPen\" />\r\n 修改密码\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n <ElDialog model-value={showDialog.value} onUpdate:modelValue={(v) => { showDialog.value = v }} title={'修改密码'} width={'30%'} v-slots={{\r\n footer: () => (\r\n <div>\r\n <ElButton onClick={() => { showDialog.value = false }}>取消</ElButton>\r\n <ElButton type={\"primary\"} loading={btnLoading.value} onClick={() => { submitChangePassword() }}>确定</ElButton>\r\n </div>\r\n )\r\n }}>\r\n <ElForm ref={formRef} model={form} label-width={'80px'}>\r\n <ElFormItem label={'旧密码'} required={true} prop={'password'} rules={[{ required: true, message: '请输入旧密码', trigger: 'change' }]}>\r\n <ElInput model-value={form.password} placeholder={\"请输入旧密码\"} onUpdate:modelValue={(v) => { form.password = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'新密码'} required={true} prop={'newPassword'} rules={[{ required: true, message: '请输入新密码', trigger: 'change' }, { validator: validateCode, trigger: 'change' }]} >\r\n <ElInput model-value={form.newPassword} placeholder={\"请输入新密码\"} onUpdate:modelValue={(v) => { form.newPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'重复密码'} required={true} prop={'repeatPassword'} rules={[{ required: true, message: '请再次输入密码', trigger: 'change' }, { validator: validateCode1, trigger: 'change' }]} >\r\n <ElInput model-value={form.repeatPassword} placeholder={\"请再次输入密码\"} onUpdate:modelValue={(v) => { form.repeatPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n </ElForm>\r\n </ElDialog>\r\n </div >\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","defineComponent","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","showDialog","ref","form","reactive","password","newPassword","repeatPassword","formRef","btnLoading","watch","reg","validateCode1","rule","value","callback","Error","validateCode","length","test","submitChangePassword","isPass","validate","result","changePassword","data","code","Messager","error","message","msg","logout","e","console","_createVNode","ElDropdown","default","ElImage","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","_createTextVNode","ElDialog","v","ElForm","ElFormItem","required","trigger","ElInput","validator","footer","ElButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAMA,gCAAgCC,mBAAA,CAAA;AAAA,EAC3CC,IAAM,EAAA,eAAA;AAAA,EACNC,MAAMC,KAAO,EAAA;AACX,IAAA,MAAMC,cAAcC,uBAAYC,CAAAA,QAAAA,CAAAA;AAChC,IAAA,MAAMC,cAAcH,WAAYG,CAAAA,WAAAA,CAAAA;AAEhC,IAAA,MAAMC,QAAWC,GAAAA,YAAAA,CAAS,MAAMF,WAAAA,CAAYC,QAAS,CAAA,CAAA;AAErD,IAAA,MAAME,SAASD,YAAS,CAAA,MAAME,SAAMH,CAAAA,QAAQ,EAAEE,MAAM,CAAA,CAAA;AACpD,IAAME,MAAAA,UAAAA,GAAaC,QAAI,KAAK,CAAA,CAAA;AAC5B,IAAA,MAAMC,OAAOC,YAAS,CAAA;AAAA,MACpBC,QAAU,EAAA,EAAA;AAAA,MACVC,WAAa,EAAA,EAAA;AAAA,MACbC,cAAgB,EAAA,EAAA;AAAA,KACjB,CAAA,CAAA;AACD,IAAA,MAAMC,UAAUN,OAAI,EAAA,CAAA;AACpB,IAAMO,MAAAA,UAAAA,GAAaP,QAAI,KAAK,CAAA,CAAA;AAE5BQ,IAAAA,SAAAA,CAAMT,YAAY,YAAY;AAC5B,MAAID,IAAAA,SAAAA,CAAMC,UAAU,CAAG,EAAA;AACrBE,QAAAA,IAAAA,CAAKE,QAAW,GAAA,EAAA,CAAA;AAChBF,QAAAA,IAAAA,CAAKG,WAAc,GAAA,EAAA,CAAA;AACnBH,QAAAA,IAAAA,CAAKI,cAAiB,GAAA,EAAA,CAAA;AAAA,OACxB;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAMI,GAAM,GAAA,mMAAA,CAAA;AAEZ,IAAA,MAAMC,aAAgBA,GAAAA,CAACC,IAAWC,EAAAA,KAAAA,EAAYC,QAAkB,KAAA;AAC9D,MAAA,IAAID,SAAS,EAAI,EAAA;AACfC,QAAS,QAAA,CAAA,IAAIC,KAAM,CAAA,gCAAO,CAAC,CAAA,CAAA;AAAA,OAC7B;AACA,MAAIF,IAAAA,KAAAA,IAASX,KAAKG,WAAa,EAAA;AAC7BS,QAAS,QAAA,CAAA,IAAIC,KAAM,CAAA,4CAAS,CAAC,CAAA,CAAA;AAAA,OAC/B;AACAD,MAAS,QAAA,EAAA,CAAA;AAAA,KACX,CAAA;AAEA,IAAA,MAAME,YAAeA,GAAAA,CAACJ,IAAWC,EAAAA,KAAAA,EAAYC,QAAkB,KAAA;AAC7D,MAAA,IAAID,SAAS,EAAI,EAAA;AACfC,QAAS,QAAA,CAAA,IAAIC,KAAM,CAAA,sCAAQ,CAAC,CAAA,CAAA;AAAA,OAC9B;AAEA,MAAIF,IAAAA,KAAAA,CAAMI,SAAS,CAAG,EAAA;AACpBH,QAAS,QAAA,CAAA,IAAIC,KAAM,CAAA,+DAAa,CAAC,CAAA,CAAA;AAAA,OACnC;AAEA,MAAIF,IAAAA,KAAAA,IAASX,KAAKE,QAAU,EAAA;AAC1BU,QAAS,QAAA,CAAA,IAAIC,KAAM,CAAA,oEAAa,CAAC,CAAA,CAAA;AAAA,OACnC;AAEA,MAAA,IAAI,CAACL,GAAAA,CAAIQ,IAAKL,CAAAA,KAAK,CAAG,EAAA;AACpBC,QAAS,QAAA,CAAA,IAAIC,KAAM,CAAA,kGAAkB,CAAC,CAAA,CAAA;AAAA,OACjC,MAAA;AACLD,QAAS,QAAA,EAAA,CAAA;AAAA,OACX;AAAA,KACF,CAAA;AAEA,IAAA,MAAMK,uBAAuB,YAAY;AACvC,MAAI,IAAA;AACFX,QAAAA,UAAAA,CAAWK,KAAQ,GAAA,IAAA,CAAA;AACnB,QAAA,MAAMO,MAAS,GAAA,MAAMb,OAAQM,CAAAA,KAAAA,CAAMQ,QAAS,EAAA,CAAA;AAC5C,QAAA,IAAI,CAACD,MAAQ,EAAA;AACX,UAAA,OAAA;AAAA,SACF;AAEA,QAAA,IAAIE,SAAS,MAAM9B,WAAAA,CAAY+B,eAAerB,IAAKE,CAAAA,QAAAA,EAAUF,KAAKG,WAAW,CAAA,CAAA;AAC7E,QAAIiB,IAAAA,MAAAA,CAAOE,IAAKC,CAAAA,IAAAA,IAAQ,GAAK,EAAA;AAC3BC,UAAAA,WAAAA,CAAShC,SAASiC,KAAM,CAAA;AAAA,YAAEC,OAAAA,EAASN,MAAOE,CAAAA,IAAAA,CAAKK,GAAO,IAAA,sCAAA;AAAA,WAAU,CAAA,CAAA;AAChE,UAAA,OAAA;AAAA,SACF;AACArB,QAAAA,UAAAA,CAAWK,KAAQ,GAAA,KAAA,CAAA;AACnBrB,QAAAA,WAAAA,CAAYsC,MAAO,EAAA,CAAA;AAAA,eAEZC,CAAG,EAAA;AACVC,QAAAA,OAAAA,CAAQL,MAAMI,CAAC,CAAA,CAAA;AAAA,OACP,SAAA;AACRvB,QAAAA,UAAAA,CAAWK,KAAQ,GAAA,KAAA,CAAA;AAAA,OACrB;AAAA,KAEF,CAAA;AAEA,IAAA,OAAO,MAAM;AACX,MAAA,OAAAoB,gBAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,iBAAA;AAAA,OAAA,EAAA,CAAAA,eAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,OAAA,EAAAA,CAAAA,eAAAA,CAAAC,sBAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,QAAA,SAAA,EAAA,OAAA;AAAA,OAMiB,EAAA;AAAA,QACPC,OAAAA,EAASA,MAAAF,eAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,4BAAA;AAAA,SAAA,EAAAA,CAAAA,eAAAA,CAAAG,mBAAA,EAAA;AAAA,UAAA,OAAA,EAAA,yBAAA;AAAA,UAAA,KAAA,EAIErC,UAAMD,MAAM,CAAA;AAAA,SACR,EAAA;AAAA,UACP6B,KAAAA,EAAOA,MAAAM,eAAAA,CAAAI,eAAA,EAAA;AAAA,YAAA,WAAA,EAAA,QAAA;AAAA,YAAA,OAAA,EAAA,kCAAA;AAAA,aAAA,IAAA,CAAA;AAAA,SAGR,CAAAJ,EAAAA,eAAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA,2BAAA;AAAA,SAAA,EAAA,CAGAlC,SAAMH,CAAAA,QAAQ,EAAE0C,QAAQ,CAG9B,CAAA,CAAA,CAAA;AAAA,QACDC,QAAUA,EAAAA,MAAAN,eAAAO,CAAAA,0BAAAA,EAAA,IAAA,EAAA;AAAA,UAAAL,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAQ,0BAAA,EAAA;AAAA,YAAA,WAEmBC,MAAM;AAAE1C,cAAAA,UAAAA,CAAWa,KAAQ,GAAA,IAAA,CAAA;AAAA,aAAK;AAAA,WAAC,EAAA;AAAA,YAAAsB,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAI,eAAA,EAAA;AAAA,cAAA,WAAA,EAAA,SAAA;AAAA,aAAA,EAAA,IAAA,CAAAM,EAAAA,mBAAAA,CAAA,0BAAA,CAAA,CAAA;AAAA,WAAAV,CAAAA,EAAAA,eAAAA,CAAAQ,0BAAA,EAAA;AAAA,YAAA,SAAA,EAIjCC,MAAMlD,WAAAA,CAAYsC,MAAO,EAAA;AAAA,WAAC,EAAA;AAAA,YAAAK,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAI,eAAA,EAAA;AAAA,cAAA,WAAA,EAAA,cAAA;AAAA,aAAA,EAAA,IAAA,CAAAM,EAAAA,mBAAAA,CAAA,0BAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AAAA,OAMxD,CAAA,CAAA,CAAA,EAAAV,gBAAAW,oBAAA,EAAA;AAAA,QAAA,eAGkB5C,UAAWa,CAAAA,KAAAA;AAAAA,QAAK,uBAAwBgC,CAAM,CAAA,KAAA;AAAE7C,UAAAA,UAAAA,CAAWa,KAAQgC,GAAAA,CAAAA,CAAAA;AAAAA,SAAE;AAAA,QAAC,OAAS,EAAA,0BAAA;AAAA,QAAM,OAAS,EAAA,KAAA;AAAA,OAAK,EAAA;AAAA,QAAAV,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAa,kBAAA,EAAA;AAAA,UAAA,KAQ3GvC,EAAAA,OAAAA;AAAAA,UAAO,OAASL,EAAAA,IAAAA;AAAAA,UAAI,aAAe,EAAA,MAAA;AAAA,SAAM,EAAA;AAAA,UAAAiC,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAc,sBAAA,EAAA;AAAA,YAAA,OACjC,EAAA,oBAAA;AAAA,YAAK,UAAY,EAAA,IAAA;AAAA,YAAI,MAAQ,EAAA,UAAA;AAAA,YAAU,SAAS,CAAC;AAAA,cAAEC,QAAU,EAAA,IAAA;AAAA,cAAMpB,OAAS,EAAA,sCAAA;AAAA,cAAUqB,OAAS,EAAA,QAAA;AAAA,aAAU,CAAA;AAAA,WAAC,EAAA;AAAA,YAAAd,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAiB,mBAAA,EAAA;AAAA,cAAA,eACrGhD,IAAKE,CAAAA,QAAAA;AAAAA,cAAQ,aAAe,EAAA,sCAAA;AAAA,cAAQ,uBAAwByC,CAAM,CAAA,KAAA;AAAE3C,gBAAAA,IAAAA,CAAKE,QAAWyC,GAAAA,CAAAA,CAAAA;AAAAA,eAAE;AAAA,cAAC,MAAQ,EAAA,UAAA;AAAA,aAAU,EAAA,IAAA,CAAA,CAAA;AAAA,WAAAZ,CAAAA,EAAAA,eAAAA,CAAAc,sBAAA,EAAA;AAAA,YAAA,OAE9G,EAAA,oBAAA;AAAA,YAAK,UAAY,EAAA,IAAA;AAAA,YAAI,MAAQ,EAAA,aAAA;AAAA,YAAa,SAAS,CAAC;AAAA,cAAEC,QAAU,EAAA,IAAA;AAAA,cAAMpB,OAAS,EAAA,sCAAA;AAAA,cAAUqB,OAAS,EAAA,QAAA;AAAA,aAAY,EAAA;AAAA,cAAEE,SAAWnC,EAAAA,YAAAA;AAAAA,cAAciC,OAAS,EAAA,QAAA;AAAA,aAAU,CAAA;AAAA,WAAC,EAAA;AAAA,YAAAd,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAiB,mBAAA,EAAA;AAAA,cAAA,eACxJhD,IAAKG,CAAAA,WAAAA;AAAAA,cAAW,aAAe,EAAA,sCAAA;AAAA,cAAQ,uBAAwBwC,CAAM,CAAA,KAAA;AAAE3C,gBAAAA,IAAAA,CAAKG,WAAcwC,GAAAA,CAAAA,CAAAA;AAAAA,eAAE;AAAA,cAAC,MAAQ,EAAA,UAAA;AAAA,aAAU,EAAA,IAAA,CAAA,CAAA;AAAA,WAAAZ,CAAAA,EAAAA,eAAAA,CAAAc,sBAAA,EAAA;AAAA,YAAA,OAEpH,EAAA,0BAAA;AAAA,YAAM,UAAY,EAAA,IAAA;AAAA,YAAI,MAAQ,EAAA,gBAAA;AAAA,YAAgB,SAAS,CAAC;AAAA,cAAEC,QAAU,EAAA,IAAA;AAAA,cAAMpB,OAAS,EAAA,4CAAA;AAAA,cAAWqB,OAAS,EAAA,QAAA;AAAA,aAAY,EAAA;AAAA,cAAEE,SAAWxC,EAAAA,aAAAA;AAAAA,cAAesC,OAAS,EAAA,QAAA;AAAA,aAAU,CAAA;AAAA,WAAC,EAAA;AAAA,YAAAd,OAAAA,EAAAA,MAAAF,CAAAA,eAAAA,CAAAiB,mBAAA,EAAA;AAAA,cAAA,eAC9JhD,IAAKI,CAAAA,cAAAA;AAAAA,cAAc,aAAe,EAAA,4CAAA;AAAA,cAAS,uBAAwBuC,CAAM,CAAA,KAAA;AAAE3C,gBAAAA,IAAAA,CAAKI,cAAiBuC,GAAAA,CAAAA,CAAAA;AAAAA,eAAE;AAAA,cAAC,MAAQ,EAAA,UAAA;AAAA,aAAU,EAAA,IAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA,CAAA,CAAA;AAAA,QAfhJO,QAAQA,MAAAnB,eAAAA,CAAAA,OAAAA,IAAAA,EAAAA,CAAAA,gBAAAoB,oBAAA,EAAA;AAAA,UAAA,WAEeX,MAAM;AAAE1C,YAAAA,UAAAA,CAAWa,KAAQ,GAAA,KAAA,CAAA;AAAA,WAAM;AAAA,SAAC,EAAA;AAAA,UAAAsB,OAAAA,EAAAA,MAAA,CAAAQ,mBAAAA,CAAA,cAAA,CAAA,CAAA;AAAA,SAAAV,CAAAA,EAAAA,eAAAA,CAAAoB,oBAAA,EAAA;AAAA,UAAA,MACrC,EAAA,SAAA;AAAA,UAAS,WAAW7C,UAAWK,CAAAA,KAAAA;AAAAA,UAAK,WAAW6B,MAAM;AAAEvB,YAAqB,oBAAA,EAAA,CAAA;AAAA,WAAE;AAAA,SAAC,EAAA;AAAA,UAAAgB,OAAAA,EAAAA,MAAA,CAAAQ,mBAAAA,CAAA,cAAA,CAAA,CAAA;AAAA,SAAA,CAAA,CAAA,CAAA;AAAA,OAElG,CAAA,CAAA,CAAA,CAAA;AAAA,KAgBT,CAAA;AAAA,GACF;AACF,CAAC;;;;"}
@@ -79,4 +79,10 @@ export declare class MSAppClient {
79
79
  avatarPath: string;
80
80
  }>, any>>;
81
81
  logout(): Promise<import("@maketribe/request").ResponseConfig<any, any>>;
82
+ changePassword(password: string, newPassword: string): Promise<import("@maketribe/request").ResponseConfig<R<{
83
+ account: string;
84
+ email: string;
85
+ nickName: string;
86
+ avatarPath: string;
87
+ }>, any>>;
82
88
  }
@@ -153,6 +153,14 @@ class MSAppClient {
153
153
  this.setUserSession(null);
154
154
  return this.httpRequest.get("/api/ms-login/logout");
155
155
  }
156
+ async changePassword(password, newPassword) {
157
+ const response = await this.httpRequest.request({
158
+ url: "/api/dv/ms-member/modify/password",
159
+ method: "POST",
160
+ data: { password: md5(`mkbl#${password}`), newPassword: md5(`mkbl#${newPassword}`) }
161
+ });
162
+ return response;
163
+ }
156
164
  }
157
165
 
158
166
  export { MSAppClient };
@@ -1 +1 @@
1
- {"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\r\n createRouter,\r\n createWebHashHistory,\r\n Router as VueRouter,\r\n} from \"vue-router\";\r\nimport {\r\n DataViewRequest,\r\n DVQueryable,\r\n HttpRequest,\r\n R,\r\n WebHttpRequest,\r\n} from \"@maketribe/request\";\r\nimport { IComponents, DataModel, Components } from \"@maketribe/dm\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nimport { Event, md5 } from \"@maketribe/utils\";\r\nimport { UserSession } from \"./UserSession\";\r\nimport { authBeforeEach } from \"../router-middleware\";\r\nimport { PageManager } from \"./PageManager\";\r\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\r\n\r\nexport type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n};\r\n\r\nexport interface MSAppClientOptions {\r\n pageManager?: PageManager;\r\n projectName: string;\r\n httpRequest?: HttpRequest;\r\n origin: string;\r\n appID: string;\r\n logo?: string;\r\n locale?: string;\r\n vueRouter?: VueRouter;\r\n dataTableComponents?: IComponents;\r\n dataFormComponents?: IComponents;\r\n dataFilterComponents?: IComponents;\r\n whereFilterComponents?: IComponents;\r\n}\r\n\r\nexport class MSAppClient {\r\n static instance: MSAppClient | null = null;\r\n\r\n origin: string = \"\";\r\n\r\n private _options: Required<MSAppClientOptions>;\r\n\r\n projectName: string;\r\n\r\n logo: string;\r\n\r\n appID: string;\r\n\r\n userSession: UserSession | null = null;\r\n\r\n httpRequest: HttpRequest;\r\n\r\n ready: boolean = false;\r\n\r\n initd: boolean = false;\r\n\r\n pageManager: PageManager;\r\n\r\n /**\r\n * @deprecated\r\n * @description 使用 MSAppClient.instance.userSession.userInfo\r\n */\r\n get userInfo() {\r\n return this.userSession?.userInfo ?? null;\r\n }\r\n\r\n i18n: I18n;\r\n\r\n dataTableComponents: IComponents;\r\n dataFormComponents: IComponents;\r\n dataFilterComponents: IComponents;\r\n whereFilterComponents: IComponents;\r\n\r\n vueRouter: VueRouter;\r\n\r\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\r\n\r\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\r\n new Event();\r\n\r\n constructor(options: MSAppClientOptions) {\r\n this._options = this._normalizeOptions(options);\r\n\r\n this.appID = this._options.appID;\r\n\r\n this.logo = this._options.logo;\r\n\r\n this.projectName = options.projectName;\r\n\r\n this.i18n = I18n.instance;\r\n this.i18n.setCurrentLanguageName(this._options.locale);\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n\r\n this.vueRouter = this._options.vueRouter;\r\n\r\n this.pageManager = this._options.pageManager;\r\n\r\n HttpRequest.appID = this.appID;\r\n\r\n this.httpRequest = this._options.httpRequest;\r\n\r\n DataModel.setHttpRequest(this.httpRequest);\r\n DVQueryable.setDefaultDataViewRequest(\r\n new DataViewRequest({ httpRequest: this.httpRequest })\r\n );\r\n }\r\n\r\n setUserSession(userSession: UserSession | null) {\r\n if (this.userSession) {\r\n this.userSession.dispose();\r\n }\r\n\r\n this.userSession = userSession;\r\n\r\n this.userSessionChangeEvent.emit({ userSession });\r\n }\r\n\r\n private _normalizeOptions(\r\n options: MSAppClientOptions\r\n ): Required<MSAppClientOptions> {\r\n return {\r\n appID: options.appID,\r\n projectName: options.projectName,\r\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\r\n origin: options.origin,\r\n logo: options.logo || \"\",\r\n locale: options.locale || \"zh-cn\",\r\n vueRouter:\r\n options.vueRouter ??\r\n createRouter({\r\n history: createWebHashHistory(),\r\n routes: [],\r\n }),\r\n pageManager: options.pageManager ?? new PageManager(),\r\n dataTableComponents: options.dataTableComponents ?? new Components(),\r\n dataFormComponents: options.dataFormComponents ?? new Components(),\r\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\r\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\r\n };\r\n }\r\n getI18n() {\r\n return this.i18n;\r\n }\r\n\r\n getOptions() {\r\n return this._options;\r\n }\r\n\r\n async loadCurrentUserSession(options?: {\r\n accessToken: string;\r\n xAccessToken: string;\r\n }) {\r\n const userSession = (this.userSession = new UserSession({\r\n msAppClient: this,\r\n ...options,\r\n }));\r\n this.userSession = null;\r\n\r\n this.beforeInitUserSessionEvent.emit({ userSession });\r\n const userSessionInitResult = await userSession.init();\r\n\r\n if (userSessionInitResult?.data.code !== 200) {\r\n userSession.dispose();\r\n return userSessionInitResult!;\r\n }\r\n\r\n this.setUserSession(userSession);\r\n }\r\n\r\n async init() {\r\n if (this.initd) {\r\n return;\r\n }\r\n\r\n this.vueRouter.beforeEach(async (to, from, next) => {\r\n const route = await authBeforeEach(this, to, from);\r\n\r\n if (route) {\r\n next(route);\r\n return;\r\n }\r\n\r\n next();\r\n });\r\n\r\n this.pageManager.init();\r\n this.pageManager.setMSAppCLient(this);\r\n\r\n this.httpRequest.getInterceptors().response.use((config) => {\r\n if (config.data.code === 401) {\r\n this.vueRouter.push({ name: \"login\" });\r\n // if (this.userSession) {\r\n // this.userSession.lock();\r\n // } else {\r\n // this.vueRouter.push({ name: \"login\" });\r\n // }\r\n }\r\n return config;\r\n });\r\n\r\n this.initd = true;\r\n }\r\n\r\n async login(account: string, password: string, code: string) {\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/login\",\r\n method: \"POST\",\r\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\r\n });\r\n\r\n if (response.data.code === 200) {\r\n await this.loadCurrentUserSession({\r\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\r\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n\r\n formatURL(url: string) {\r\n return url;\r\n }\r\n\r\n async modifyPassword(account: string, code: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/modify-password\",\r\n method: \"POST\",\r\n data: { account, vCode: code },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async logout() {\r\n this.userSession?.dispose();\r\n this.setUserSession(null);\r\n\r\n return this.httpRequest.get(\"/api/ms-login/logout\");\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MSAppClient.js","sources":["../../../src/core/MSAppClient.ts"],"sourcesContent":["import {\r\n createRouter,\r\n createWebHashHistory,\r\n Router as VueRouter,\r\n} from \"vue-router\";\r\nimport {\r\n DataViewRequest,\r\n DVQueryable,\r\n HttpRequest,\r\n R,\r\n WebHttpRequest,\r\n} from \"@maketribe/request\";\r\nimport { IComponents, DataModel, Components, Messager } from \"@maketribe/dm\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nimport { Event, md5 } from \"@maketribe/utils\";\r\nimport { UserSession } from \"./UserSession\";\r\nimport { authBeforeEach } from \"../router-middleware\";\r\nimport { PageManager } from \"./PageManager\";\r\nimport { ACCESS_TOKEN_HEADER, X_ACCESS_TOKEN_HEADER } from \"../constants\";\r\n\r\nexport type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n};\r\n\r\nexport interface MSAppClientOptions {\r\n pageManager?: PageManager;\r\n projectName: string;\r\n httpRequest?: HttpRequest;\r\n origin: string;\r\n appID: string;\r\n logo?: string;\r\n locale?: string;\r\n vueRouter?: VueRouter;\r\n dataTableComponents?: IComponents;\r\n dataFormComponents?: IComponents;\r\n dataFilterComponents?: IComponents;\r\n whereFilterComponents?: IComponents;\r\n}\r\n\r\nexport class MSAppClient {\r\n static instance: MSAppClient | null = null;\r\n\r\n origin: string = \"\";\r\n\r\n private _options: Required<MSAppClientOptions>;\r\n\r\n projectName: string;\r\n\r\n logo: string;\r\n\r\n appID: string;\r\n\r\n userSession: UserSession | null = null;\r\n\r\n httpRequest: HttpRequest;\r\n\r\n ready: boolean = false;\r\n\r\n initd: boolean = false;\r\n\r\n pageManager: PageManager;\r\n\r\n /**\r\n * @deprecated\r\n * @description 使用 MSAppClient.instance.userSession.userInfo\r\n */\r\n get userInfo() {\r\n return this.userSession?.userInfo ?? null;\r\n }\r\n\r\n i18n: I18n;\r\n\r\n dataTableComponents: IComponents;\r\n dataFormComponents: IComponents;\r\n dataFilterComponents: IComponents;\r\n whereFilterComponents: IComponents;\r\n\r\n vueRouter: VueRouter;\r\n\r\n beforeInitUserSessionEvent: Event<{ userSession: UserSession }> = new Event();\r\n\r\n userSessionChangeEvent: Event<{ userSession: UserSession | null }> =\r\n new Event();\r\n\r\n constructor(options: MSAppClientOptions) {\r\n this._options = this._normalizeOptions(options);\r\n\r\n this.appID = this._options.appID;\r\n\r\n this.logo = this._options.logo;\r\n\r\n this.projectName = options.projectName;\r\n\r\n this.i18n = I18n.instance;\r\n this.i18n.setCurrentLanguageName(this._options.locale);\r\n\r\n this.dataTableComponents = this._options.dataTableComponents;\r\n this.dataFormComponents = this._options.dataFormComponents;\r\n this.dataFilterComponents = this._options.dataFilterComponents;\r\n this.whereFilterComponents = this._options.whereFilterComponents;\r\n\r\n this.vueRouter = this._options.vueRouter;\r\n\r\n this.pageManager = this._options.pageManager;\r\n\r\n HttpRequest.appID = this.appID;\r\n\r\n this.httpRequest = this._options.httpRequest;\r\n\r\n DataModel.setHttpRequest(this.httpRequest);\r\n DVQueryable.setDefaultDataViewRequest(\r\n new DataViewRequest({ httpRequest: this.httpRequest })\r\n );\r\n }\r\n\r\n setUserSession(userSession: UserSession | null) {\r\n if (this.userSession) {\r\n this.userSession.dispose();\r\n }\r\n\r\n this.userSession = userSession;\r\n\r\n this.userSessionChangeEvent.emit({ userSession });\r\n }\r\n\r\n private _normalizeOptions(\r\n options: MSAppClientOptions\r\n ): Required<MSAppClientOptions> {\r\n return {\r\n appID: options.appID,\r\n projectName: options.projectName,\r\n httpRequest: options.httpRequest ?? new WebHttpRequest(),\r\n origin: options.origin,\r\n logo: options.logo || \"\",\r\n locale: options.locale || \"zh-cn\",\r\n vueRouter:\r\n options.vueRouter ??\r\n createRouter({\r\n history: createWebHashHistory(),\r\n routes: [],\r\n }),\r\n pageManager: options.pageManager ?? new PageManager(),\r\n dataTableComponents: options.dataTableComponents ?? new Components(),\r\n dataFormComponents: options.dataFormComponents ?? new Components(),\r\n dataFilterComponents: options.dataFilterComponents ?? new Components(),\r\n whereFilterComponents: options.whereFilterComponents ?? new Components(),\r\n };\r\n }\r\n getI18n() {\r\n return this.i18n;\r\n }\r\n\r\n getOptions() {\r\n return this._options;\r\n }\r\n\r\n async loadCurrentUserSession(options?: {\r\n accessToken: string;\r\n xAccessToken: string;\r\n }) {\r\n const userSession = (this.userSession = new UserSession({\r\n msAppClient: this,\r\n ...options,\r\n }));\r\n this.userSession = null;\r\n\r\n this.beforeInitUserSessionEvent.emit({ userSession });\r\n const userSessionInitResult = await userSession.init();\r\n\r\n if (userSessionInitResult?.data.code !== 200) {\r\n userSession.dispose();\r\n return userSessionInitResult!;\r\n }\r\n\r\n this.setUserSession(userSession);\r\n }\r\n\r\n async init() {\r\n if (this.initd) {\r\n return;\r\n }\r\n\r\n this.vueRouter.beforeEach(async (to, from, next) => {\r\n const route = await authBeforeEach(this, to, from);\r\n\r\n if (route) {\r\n next(route);\r\n return;\r\n }\r\n\r\n next();\r\n });\r\n\r\n this.pageManager.init();\r\n this.pageManager.setMSAppCLient(this);\r\n\r\n this.httpRequest.getInterceptors().response.use((config) => {\r\n if (config.data.code === 401) {\r\n this.vueRouter.push({ name: \"login\" });\r\n // if (this.userSession) {\r\n // this.userSession.lock();\r\n // } else {\r\n // this.vueRouter.push({ name: \"login\" });\r\n // }\r\n }\r\n return config;\r\n });\r\n\r\n this.initd = true;\r\n }\r\n\r\n async login(account: string, password: string, code: string) {\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/login\",\r\n method: \"POST\",\r\n data: { account, password: md5(`mkbl#${password}`), vCode: code },\r\n });\r\n\r\n if (response.data.code === 200) {\r\n await this.loadCurrentUserSession({\r\n accessToken: response.headers[ACCESS_TOKEN_HEADER],\r\n xAccessToken: response.headers[X_ACCESS_TOKEN_HEADER],\r\n });\r\n }\r\n\r\n return response;\r\n }\r\n\r\n formatURL(url: string) {\r\n return url;\r\n }\r\n\r\n async modifyPassword(account: string, code: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/ms-login/modify-password\",\r\n method: \"POST\",\r\n data: { account, vCode: code },\r\n });\r\n\r\n return response;\r\n }\r\n\r\n async logout() {\r\n this.userSession?.dispose();\r\n this.setUserSession(null);\r\n\r\n return this.httpRequest.get(\"/api/ms-login/logout\");\r\n }\r\n async changePassword(password: string, newPassword: string) {\r\n type LoginResult = {\r\n account: string;\r\n email: string;\r\n nickName: string;\r\n avatarPath: string;\r\n };\r\n\r\n const response = await this.httpRequest.request<R<LoginResult>>({\r\n url: \"/api/dv/ms-member/modify/password\",\r\n method: \"POST\",\r\n data: { password: md5(`mkbl#${password}`), newPassword: md5(`mkbl#${newPassword}`) },\r\n });\r\n \r\n return response;\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { defineComponent, computed, unref, createVNode, createTextVNode } from 'vue';
2
- import { ElDropdown, ElImage, ElDropdownMenu, ElDropdownItem } from 'element-plus';
3
- import '@maketribe/dm';
1
+ import { defineComponent, computed, unref, ref, reactive, watch, createVNode, createTextVNode } from 'vue';
2
+ import { ElDropdown, ElImage, ElDropdownMenu, ElDropdownItem, ElDialog, ElForm, ElFormItem, ElInput, ElButton } from 'element-plus';
3
+ import { Messager } from '@maketribe/dm';
4
4
  import '@maketribe/utils';
5
5
  import '../../../core/DataModelDefines.js';
6
6
  import { MSAppClient } from '../../../core/MSAppClient.js';
@@ -71,6 +71,69 @@ const MKHeaderTools = /* @__PURE__ */ defineComponent({
71
71
  const userSession = msAppClient.userSession;
72
72
  const userInfo = computed(() => userSession.userInfo);
73
73
  const avatar = computed(() => unref(userInfo).avatar);
74
+ const showDialog = ref(false);
75
+ const form = reactive({
76
+ password: "",
77
+ newPassword: "",
78
+ repeatPassword: ""
79
+ });
80
+ const formRef = ref();
81
+ const btnLoading = ref(false);
82
+ watch(showDialog, async () => {
83
+ if (unref(showDialog)) {
84
+ form.password = "";
85
+ form.newPassword = "";
86
+ form.repeatPassword = "";
87
+ }
88
+ });
89
+ const reg = /^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/;
90
+ const validateCode1 = (rule, value, callback) => {
91
+ if (value == "") {
92
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801"));
93
+ }
94
+ if (value != form.newPassword) {
95
+ callback(new Error("\u4E24\u6B21\u8F93\u5165\u4E0D\u4E00\u81F4"));
96
+ }
97
+ callback();
98
+ };
99
+ const validateCode = (rule, value, callback) => {
100
+ if (value == "") {
101
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801\u7801"));
102
+ }
103
+ if (value.length < 8) {
104
+ callback(new Error("\u5BC6\u7801\u7801\u957F\u5EA6\u4E0D\u80FD\u5C0F\u4E8E8\u4F4D"));
105
+ }
106
+ if (value == form.password) {
107
+ callback(new Error("\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E0E\u65E7\u5BC6\u7801\u76F8\u540C"));
108
+ }
109
+ if (!reg.test(value)) {
110
+ callback(new Error("\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u6570\u5B57\uFF0C\u5B57\u6BCD\u548C\u7279\u6B8A\u7B26\u53F7"));
111
+ } else {
112
+ callback();
113
+ }
114
+ };
115
+ const submitChangePassword = async () => {
116
+ try {
117
+ btnLoading.value = true;
118
+ const isPass = await formRef.value.validate();
119
+ if (!isPass) {
120
+ return;
121
+ }
122
+ let result = await msAppClient.changePassword(form.password, form.newPassword);
123
+ if (result.data.code != 200) {
124
+ Messager.instance.error({
125
+ message: result.data.msg || "\u4FEE\u6539\u5BC6\u7801\u5931\u8D25"
126
+ });
127
+ return;
128
+ }
129
+ btnLoading.value = false;
130
+ msAppClient.logout();
131
+ } catch (e) {
132
+ console.error(e);
133
+ } finally {
134
+ btnLoading.value = false;
135
+ }
136
+ };
74
137
  return () => {
75
138
  return createVNode("div", {
76
139
  "class": "mk-header-tools"
@@ -95,6 +158,14 @@ const MKHeaderTools = /* @__PURE__ */ defineComponent({
95
158
  }, [unref(userInfo).nickName])]),
96
159
  dropdown: () => createVNode(ElDropdownMenu, null, {
97
160
  default: () => [createVNode(ElDropdownItem, {
161
+ "onClick": () => {
162
+ showDialog.value = true;
163
+ }
164
+ }, {
165
+ default: () => [createVNode(MKSvgIcon, {
166
+ "iconClass": "EditPen"
167
+ }, null), createTextVNode("\u4FEE\u6539\u5BC6\u7801")]
168
+ }), createVNode(ElDropdownItem, {
98
169
  "onClick": () => msAppClient.logout()
99
170
  }, {
100
171
  default: () => [createVNode(MKSvgIcon, {
@@ -102,7 +173,97 @@ const MKHeaderTools = /* @__PURE__ */ defineComponent({
102
173
  }, null), createTextVNode("\u9000\u51FA\u767B\u5F55")]
103
174
  })]
104
175
  })
105
- })])]);
176
+ })]), createVNode(ElDialog, {
177
+ "model-value": showDialog.value,
178
+ "onUpdate:modelValue": (v) => {
179
+ showDialog.value = v;
180
+ },
181
+ "title": "\u4FEE\u6539\u5BC6\u7801",
182
+ "width": "30%"
183
+ }, {
184
+ default: () => [createVNode(ElForm, {
185
+ "ref": formRef,
186
+ "model": form,
187
+ "label-width": "80px"
188
+ }, {
189
+ default: () => [createVNode(ElFormItem, {
190
+ "label": "\u65E7\u5BC6\u7801",
191
+ "required": true,
192
+ "prop": "password",
193
+ "rules": [{
194
+ required: true,
195
+ message: "\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801",
196
+ trigger: "change"
197
+ }]
198
+ }, {
199
+ default: () => [createVNode(ElInput, {
200
+ "model-value": form.password,
201
+ "placeholder": "\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801",
202
+ "onUpdate:modelValue": (v) => {
203
+ form.password = v;
204
+ },
205
+ "type": "password"
206
+ }, null)]
207
+ }), createVNode(ElFormItem, {
208
+ "label": "\u65B0\u5BC6\u7801",
209
+ "required": true,
210
+ "prop": "newPassword",
211
+ "rules": [{
212
+ required: true,
213
+ message: "\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801",
214
+ trigger: "change"
215
+ }, {
216
+ validator: validateCode,
217
+ trigger: "change"
218
+ }]
219
+ }, {
220
+ default: () => [createVNode(ElInput, {
221
+ "model-value": form.newPassword,
222
+ "placeholder": "\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801",
223
+ "onUpdate:modelValue": (v) => {
224
+ form.newPassword = v;
225
+ },
226
+ "type": "password"
227
+ }, null)]
228
+ }), createVNode(ElFormItem, {
229
+ "label": "\u91CD\u590D\u5BC6\u7801",
230
+ "required": true,
231
+ "prop": "repeatPassword",
232
+ "rules": [{
233
+ required: true,
234
+ message: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
235
+ trigger: "change"
236
+ }, {
237
+ validator: validateCode1,
238
+ trigger: "change"
239
+ }]
240
+ }, {
241
+ default: () => [createVNode(ElInput, {
242
+ "model-value": form.repeatPassword,
243
+ "placeholder": "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
244
+ "onUpdate:modelValue": (v) => {
245
+ form.repeatPassword = v;
246
+ },
247
+ "type": "password"
248
+ }, null)]
249
+ })]
250
+ })],
251
+ footer: () => createVNode("div", null, [createVNode(ElButton, {
252
+ "onClick": () => {
253
+ showDialog.value = false;
254
+ }
255
+ }, {
256
+ default: () => [createTextVNode("\u53D6\u6D88")]
257
+ }), createVNode(ElButton, {
258
+ "type": "primary",
259
+ "loading": btnLoading.value,
260
+ "onClick": () => {
261
+ submitChangePassword();
262
+ }
263
+ }, {
264
+ default: () => [createTextVNode("\u786E\u5B9A")]
265
+ })])
266
+ })]);
106
267
  };
107
268
  }
108
269
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon } from \"../../../components\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient.instance!;\r\n const userSession = msAppClient.userSession!;\r\n\r\n const userInfo = computed(() => userSession.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo).avatar);\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo).nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","_createVNode","ElDropdown","default","ElImage","error","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","logout","_createTextVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAMA,gCAAgC,eAAA,CAAA;AAAA,EAC3CC,IAAM,EAAA,eAAA;AAAA,EACNC,MAAMC,KAAO,EAAA;AACX,IAAA,MAAMC,cAAcC,WAAYC,CAAAA,QAAAA,CAAAA;AAChC,IAAA,MAAMC,cAAcH,WAAYG,CAAAA,WAAAA,CAAAA;AAEhC,IAAA,MAAMC,QAAWC,GAAAA,QAAAA,CAAS,MAAMF,WAAAA,CAAYC,QAAS,CAAA,CAAA;AAErD,IAAA,MAAME,SAASD,QAAS,CAAA,MAAME,KAAMH,CAAAA,QAAQ,EAAEE,MAAM,CAAA,CAAA;AAEpD,IAAA,OAAO,MAAM;AACX,MAAA,OAAAE,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,iBAAA;AAAA,OAAA,EAAA,CAAAA,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,OAAA,EAAAA,CAAAA,WAAAA,CAAAC,UAAA,EAAA;AAAA,QAAA,OAAA,EAAA,uBAAA;AAAA,QAAA,SAAA,EAAA,OAAA;AAAA,OAMiB,EAAA;AAAA,QACPC,OAAAA,EAASA,MAAAF,WAAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,4BAAA;AAAA,SAAA,EAAAA,CAAAA,WAAAA,CAAAG,OAAA,EAAA;AAAA,UAAA,OAAA,EAAA,yBAAA;AAAA,UAAA,KAAA,EAIEJ,MAAMD,MAAM,CAAA;AAAA,SACR,EAAA;AAAA,UACPM,KAAAA,EAAOA,MAAAJ,WAAAA,CAAAK,SAAA,EAAA;AAAA,YAAA,WAAA,EAAA,QAAA;AAAA,YAAA,OAAA,EAAA,kCAAA;AAAA,aAAA,IAAA,CAAA;AAAA,SAGR,CAAAL,EAAAA,WAAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA,2BAAA;AAAA,SAAA,EAAA,CAGAD,KAAMH,CAAAA,QAAQ,EAAEU,QAAQ,CAG9B,CAAA,CAAA,CAAA;AAAA,QACDC,QAAUA,EAAAA,MAAAP,WAAAQ,CAAAA,cAAAA,EAAA,IAAA,EAAA;AAAA,UAAAN,OAAAA,EAAAA,MAAAF,CAAAA,WAAAA,CAAAS,cAAA,EAAA;AAAA,YAAA,SAAA,EAEmBC,MAAMlB,WAAAA,CAAYmB,MAAO,EAAA;AAAA,WAAC,EAAA;AAAA,YAAAT,OAAAA,EAAAA,MAAAF,CAAAA,WAAAA,CAAAK,SAAA,EAAA;AAAA,cAAA,WAAA,EAAA,cAAA;AAAA,aAAA,EAAA,IAAA,CAAAO,EAAAA,eAAAA,CAAA,0BAAA,CAAA,CAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA,CAAA;AAAA,OAMxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAKX,CAAA;AAAA,GACF;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"tools.js","sources":["../../../../../src/layouts/components/header/tools.tsx"],"sourcesContent":["import { computed, defineComponent, unref, ref, reactive, watch, nextTick } from \"vue\";\r\nimport {\r\n ElDropdown,\r\n ElDropdownItem,\r\n ElDropdownMenu,\r\n ElImage,\r\n ElDialog,\r\n ElForm,\r\n ElFormItem,\r\n ElInput,\r\n ElButton\r\n} from \"element-plus\";\r\nimport { MSAppClient } from \"../../../core\";\r\nimport { MKSvgIcon } from \"../../../components\";\r\nimport { Messager } from \"@maketribe/dm\";\r\n\r\nexport const MKHeaderTools = defineComponent({\r\n name: \"MKHeaderTools\",\r\n setup(props) {\r\n const msAppClient = MSAppClient.instance!;\r\n const userSession = msAppClient.userSession!;\r\n\r\n const userInfo = computed(() => userSession.userInfo!);\r\n\r\n const avatar = computed(() => unref(userInfo).avatar);\r\n const showDialog = ref(false);\r\n const form = reactive({\r\n password: \"\",\r\n newPassword: \"\",\r\n repeatPassword: \"\",\r\n });\r\n const formRef = ref();\r\n const btnLoading = ref(false)\r\n\r\n watch(showDialog, async () => {\r\n if (unref(showDialog)) {\r\n form.password = \"\";\r\n form.newPassword = \"\";\r\n form.repeatPassword = \"\";\r\n }\r\n })\r\n\r\n const reg = /^([a-zA-Z]+[0-9]+[,._!@#$%^&*]+)|([a-zA-Z]+[,._!@#$%^&*]+[0-9]+)|([0-9]+[,._!@#$%^&*]+[a-zA-Z]+)|([0-9]+[a-zA-Z]+[,._!@#$%^&*]+)|([,._!@#$%^&*]+[a-zA-Z]+[0-9]+)|([,._!@#$%^&*]+[0-9]+[a-zA-Z]+)$/\r\n\r\n const validateCode1 = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码\"));\r\n }\r\n if (value != form.newPassword) {\r\n callback(new Error(\"两次输入不一致\"));\r\n }\r\n callback()\r\n }\r\n\r\n const validateCode = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码码\"));\r\n }\r\n\r\n if (value.length < 8) {\r\n callback(new Error(\"密码码长度不能小于8位\"));\r\n }\r\n\r\n if (value == form.password) {\r\n callback(new Error(\"新密码不能与旧密码相同\"));\r\n }\r\n\r\n if (!reg.test(value)) {\r\n callback(new Error(\"密码必须包含数字,字母和特殊符号\"))\r\n } else {\r\n callback()\r\n }\r\n }\r\n\r\n const submitChangePassword = async () => {\r\n try {\r\n btnLoading.value = true\r\n const isPass = await formRef.value.validate();\r\n if (!isPass) {\r\n return;\r\n }\r\n\r\n let result = await msAppClient.changePassword(form.password, form.newPassword);\r\n if (result.data.code != 200) {\r\n Messager.instance.error({ message: result.data.msg || \"修改密码失败\" });\r\n return;\r\n }\r\n btnLoading.value = false\r\n msAppClient.logout()\r\n\r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n\r\n }\r\n\r\n return () => {\r\n return (\r\n <div class=\"mk-header-tools\">\r\n <div class=\"mk-header-tools__item\">\r\n <ElDropdown\r\n class=\"mk-header-tools__user\"\r\n trigger=\"click\"\r\n v-slots={{\r\n default: () => (\r\n <div class=\"mk-header-tools__user-info\">\r\n <ElImage\r\n class=\"mk-header-tools__avatar\"\r\n src={unref(avatar)}\r\n v-slots={{\r\n error: () => (\r\n <MKSvgIcon iconClass=\"Avatar\" class=\" mk-header-tools__default-avatar\" />\r\n ),\r\n }}\r\n />\r\n <span class=\"mk-header-tools__nickName\">\r\n {unref(userInfo).nickName}\r\n </span>\r\n </div>\r\n ),\r\n dropdown: () => (\r\n <ElDropdownMenu>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\r\n <MKSvgIcon iconClass=\"EditPen\" />\r\n 修改密码\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n ),\r\n }}\r\n />\r\n </div>\r\n <ElDialog model-value={showDialog.value} onUpdate:modelValue={(v) => { showDialog.value = v }} title={'修改密码'} width={'30%'} v-slots={{\r\n footer: () => (\r\n <div>\r\n <ElButton onClick={() => { showDialog.value = false }}>取消</ElButton>\r\n <ElButton type={\"primary\"} loading={btnLoading.value} onClick={() => { submitChangePassword() }}>确定</ElButton>\r\n </div>\r\n )\r\n }}>\r\n <ElForm ref={formRef} model={form} label-width={'80px'}>\r\n <ElFormItem label={'旧密码'} required={true} prop={'password'} rules={[{ required: true, message: '请输入旧密码', trigger: 'change' }]}>\r\n <ElInput model-value={form.password} placeholder={\"请输入旧密码\"} onUpdate:modelValue={(v) => { form.password = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'新密码'} required={true} prop={'newPassword'} rules={[{ required: true, message: '请输入新密码', trigger: 'change' }, { validator: validateCode, trigger: 'change' }]} >\r\n <ElInput model-value={form.newPassword} placeholder={\"请输入新密码\"} onUpdate:modelValue={(v) => { form.newPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n <ElFormItem label={'重复密码'} required={true} prop={'repeatPassword'} rules={[{ required: true, message: '请再次输入密码', trigger: 'change' }, { validator: validateCode1, trigger: 'change' }]} >\r\n <ElInput model-value={form.repeatPassword} placeholder={\"请再次输入密码\"} onUpdate:modelValue={(v) => { form.repeatPassword = v }} type={'password'} />\r\n </ElFormItem>\r\n </ElForm>\r\n </ElDialog>\r\n </div >\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKHeaderTools","name","setup","props","msAppClient","MSAppClient","instance","userSession","userInfo","computed","avatar","unref","showDialog","ref","form","reactive","password","newPassword","repeatPassword","formRef","btnLoading","watch","reg","validateCode1","rule","value","callback","Error","validateCode","length","test","submitChangePassword","isPass","validate","result","changePassword","data","code","Messager","error","message","msg","logout","e","console","_createVNode","ElDropdown","default","ElImage","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","_createTextVNode","ElDialog","v","ElForm","ElFormItem","required","trigger","ElInput","validator","footer","ElButton"],"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.42",
3
+ "version": "3.0.44",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [