@maketribe/ms-app 3.0.42 → 3.0.43

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,5 @@ 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<any, any>>;
82
83
  }
@@ -155,6 +155,20 @@ 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
+ console.log(454);
160
+ const response = await this.httpRequest.request({
161
+ url: "/api/dv/ms-member/modify/password",
162
+ method: "POST",
163
+ data: { password: utils.md5(`mkbl#${password}`), newPassword: utils.md5(`mkbl#${newPassword}`) }
164
+ });
165
+ if (response.data.code == 200) {
166
+ this.userSession?.dispose();
167
+ this.setUserSession(null);
168
+ return this.httpRequest.get("/api/ms-login/logout");
169
+ }
170
+ return response;
171
+ }
158
172
  }
159
173
 
160
174
  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":";;;;;;;;;;;;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;AACF;;;;"}
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 console.log(454);\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 if (response.data.code == 200) {\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 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":"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"}
@@ -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,62 @@ 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
+ vue.watch(showDialog, async () => {
84
+ if (vue.unref(showDialog)) {
85
+ form.password = "";
86
+ form.newPassword = "";
87
+ form.repeatPassword = "";
88
+ }
89
+ });
90
+ 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]+)$/;
91
+ const validateCode1 = (rule, value, callback) => {
92
+ if (value == "") {
93
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801"));
94
+ }
95
+ if (value.length < 8) {
96
+ callback(new Error("\u5BC6\u7801\u7801\u957F\u5EA6\u4E0D\u80FD\u5C0F\u4E8E8\u4F4D"));
97
+ }
98
+ if (value != form.newPassword) {
99
+ callback(new Error("\u4E24\u6B21\u8F93\u5165\u4E0D\u4E00\u81F4"));
100
+ }
101
+ if (!reg.test(value)) {
102
+ callback(new Error("\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u6570\u5B57\uFF0C\u5B57\u6BCD\u548C\u7279\u6B8A\u7B26\u53F7"));
103
+ } else {
104
+ callback();
105
+ }
106
+ };
107
+ const validateCode = (rule, value, callback) => {
108
+ if (value == "") {
109
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801\u7801"));
110
+ }
111
+ if (value == form.password) {
112
+ callback(new Error("\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E0E\u65E7\u5BC6\u7801\u76F8\u540C"));
113
+ }
114
+ if (!reg.test(value)) {
115
+ callback(new Error("\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u6570\u5B57\uFF0C\u5B57\u6BCD\u548C\u7279\u6B8A\u7B26\u53F7"));
116
+ } else {
117
+ callback();
118
+ }
119
+ };
120
+ const submitChangePassword = async () => {
121
+ const isPass = await formRef.value.validate();
122
+ if (!isPass) {
123
+ return;
124
+ }
125
+ let result = await msAppClient.changePassword(form.password, form.newPassword);
126
+ if (result.data.code != 200) {
127
+ dm.Messager.instance.error(result.data.msg || "\u4FEE\u6539\u5BC6\u7801\u5931\u8D25");
128
+ return;
129
+ }
130
+ msAppClient.logout();
131
+ };
76
132
  return () => {
77
133
  return vue.createVNode("div", {
78
134
  "class": "mk-header-tools"
@@ -102,9 +158,103 @@ const MKHeaderTools = /* @__PURE__ */ vue.defineComponent({
102
158
  default: () => [vue.createVNode(index.MKSvgIcon, {
103
159
  "iconClass": "SwitchButton"
104
160
  }, null), vue.createTextVNode("\u9000\u51FA\u767B\u5F55")]
161
+ }), vue.createVNode(elementPlus.ElDropdownItem, {
162
+ "onClick": () => {
163
+ showDialog.value = true;
164
+ }
165
+ }, {
166
+ default: () => [vue.createVNode(index.MKSvgIcon, {
167
+ "iconClass": "SwitchButton"
168
+ }, null), vue.createTextVNode("\u4FEE\u6539\u5BC6\u7801")]
105
169
  })]
106
170
  })
107
- })])]);
171
+ })]), vue.createVNode(elementPlus.ElDialog, {
172
+ "model-value": showDialog.value,
173
+ "onUpdate:modelValue": (v) => {
174
+ showDialog.value = v;
175
+ },
176
+ "title": "\u4FEE\u6539\u5BC6\u7801",
177
+ "width": "30%"
178
+ }, {
179
+ default: () => [vue.createVNode(elementPlus.ElForm, {
180
+ "ref": formRef,
181
+ "model": form,
182
+ "label-width": "80px"
183
+ }, {
184
+ default: () => [vue.createVNode(elementPlus.ElFormItem, {
185
+ "label": "\u65E7\u5BC6\u7801",
186
+ "required": true,
187
+ "prop": "password",
188
+ "rules": [{
189
+ required: true,
190
+ message: "\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801",
191
+ trigger: "change"
192
+ }]
193
+ }, {
194
+ default: () => [vue.createVNode(elementPlus.ElInput, {
195
+ "model-value": form.password,
196
+ "onUpdate:modelValue": (v) => {
197
+ form.password = v;
198
+ },
199
+ "type": "password"
200
+ }, null)]
201
+ }), vue.createVNode(elementPlus.ElFormItem, {
202
+ "label": "\u65B0\u5BC6\u7801",
203
+ "required": true,
204
+ "prop": "newPassword",
205
+ "rules": [{
206
+ required: true,
207
+ message: "\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801",
208
+ trigger: "change"
209
+ }, {
210
+ validator: validateCode,
211
+ trigger: "change"
212
+ }]
213
+ }, {
214
+ default: () => [vue.createVNode(elementPlus.ElInput, {
215
+ "model-value": form.newPassword,
216
+ "onUpdate:modelValue": (v) => {
217
+ form.newPassword = v;
218
+ },
219
+ "type": "password"
220
+ }, null)]
221
+ }), vue.createVNode(elementPlus.ElFormItem, {
222
+ "label": "\u91CD\u590D\u5BC6\u7801",
223
+ "required": true,
224
+ "prop": "repeatPassword",
225
+ "rules": [{
226
+ required: true,
227
+ message: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
228
+ trigger: "change"
229
+ }, {
230
+ validator: validateCode1,
231
+ trigger: "change"
232
+ }]
233
+ }, {
234
+ default: () => [vue.createVNode(elementPlus.ElInput, {
235
+ "model-value": form.repeatPassword,
236
+ "onUpdate:modelValue": (v) => {
237
+ form.repeatPassword = v;
238
+ },
239
+ "type": "password"
240
+ }, null)]
241
+ })]
242
+ })],
243
+ footer: () => vue.createVNode("div", null, [vue.createVNode(elementPlus.ElButton, {
244
+ "onClick": () => {
245
+ showDialog.value = false;
246
+ }
247
+ }, {
248
+ default: () => [vue.createTextVNode("\u53D6\u6D88")]
249
+ }), vue.createVNode(elementPlus.ElButton, {
250
+ "type": "primary",
251
+ "onClick": () => {
252
+ submitChangePassword();
253
+ }
254
+ }, {
255
+ default: () => [vue.createTextVNode("\u786E\u5B9A")]
256
+ })])
257
+ })]);
108
258
  };
109
259
  }
110
260
  });
@@ -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\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\r\n if (value.length < 8) {\r\n callback(new Error(\"密码码长度不能小于8位\"));\r\n }\r\n\r\n if (value != form.newPassword) {\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 validateCode = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码码\"));\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 const isPass = await formRef.value.validate()\r\n if (!isPass) {\r\n return;\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(result.data.msg || \"修改密码失败\")\r\n return;\r\n }\r\n msAppClient.logout()\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={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\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\"} 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} 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} 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} 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","watch","reg","validateCode1","rule","value","callback","Error","length","test","validateCode","submitChangePassword","isPass","validate","result","changePassword","data","code","Messager","error","msg","logout","_createVNode","ElDropdown","default","ElImage","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","_createTextVNode","ElDialog","v","ElForm","ElFormItem","required","message","trigger","ElInput","validator","footer","ElButton"],"mappings":"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"}
@@ -79,4 +79,5 @@ 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<any, any>>;
82
83
  }
@@ -153,6 +153,20 @@ 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
+ console.log(454);
158
+ const response = await this.httpRequest.request({
159
+ url: "/api/dv/ms-member/modify/password",
160
+ method: "POST",
161
+ data: { password: md5(`mkbl#${password}`), newPassword: md5(`mkbl#${newPassword}`) }
162
+ });
163
+ if (response.data.code == 200) {
164
+ this.userSession?.dispose();
165
+ this.setUserSession(null);
166
+ return this.httpRequest.get("/api/ms-login/logout");
167
+ }
168
+ return response;
169
+ }
156
170
  }
157
171
 
158
172
  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 console.log(454);\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 if (response.data.code == 200) {\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 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,62 @@ 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
+ watch(showDialog, async () => {
82
+ if (unref(showDialog)) {
83
+ form.password = "";
84
+ form.newPassword = "";
85
+ form.repeatPassword = "";
86
+ }
87
+ });
88
+ 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]+)$/;
89
+ const validateCode1 = (rule, value, callback) => {
90
+ if (value == "") {
91
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801"));
92
+ }
93
+ if (value.length < 8) {
94
+ callback(new Error("\u5BC6\u7801\u7801\u957F\u5EA6\u4E0D\u80FD\u5C0F\u4E8E8\u4F4D"));
95
+ }
96
+ if (value != form.newPassword) {
97
+ callback(new Error("\u4E24\u6B21\u8F93\u5165\u4E0D\u4E00\u81F4"));
98
+ }
99
+ if (!reg.test(value)) {
100
+ callback(new Error("\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u6570\u5B57\uFF0C\u5B57\u6BCD\u548C\u7279\u6B8A\u7B26\u53F7"));
101
+ } else {
102
+ callback();
103
+ }
104
+ };
105
+ const validateCode = (rule, value, callback) => {
106
+ if (value == "") {
107
+ callback(new Error("\u8BF7\u8F93\u5165\u5BC6\u7801\u7801"));
108
+ }
109
+ if (value == form.password) {
110
+ callback(new Error("\u65B0\u5BC6\u7801\u4E0D\u80FD\u4E0E\u65E7\u5BC6\u7801\u76F8\u540C"));
111
+ }
112
+ if (!reg.test(value)) {
113
+ callback(new Error("\u5BC6\u7801\u5FC5\u987B\u5305\u542B\u6570\u5B57\uFF0C\u5B57\u6BCD\u548C\u7279\u6B8A\u7B26\u53F7"));
114
+ } else {
115
+ callback();
116
+ }
117
+ };
118
+ const submitChangePassword = async () => {
119
+ const isPass = await formRef.value.validate();
120
+ if (!isPass) {
121
+ return;
122
+ }
123
+ let result = await msAppClient.changePassword(form.password, form.newPassword);
124
+ if (result.data.code != 200) {
125
+ Messager.instance.error(result.data.msg || "\u4FEE\u6539\u5BC6\u7801\u5931\u8D25");
126
+ return;
127
+ }
128
+ msAppClient.logout();
129
+ };
74
130
  return () => {
75
131
  return createVNode("div", {
76
132
  "class": "mk-header-tools"
@@ -100,9 +156,103 @@ const MKHeaderTools = /* @__PURE__ */ defineComponent({
100
156
  default: () => [createVNode(MKSvgIcon, {
101
157
  "iconClass": "SwitchButton"
102
158
  }, null), createTextVNode("\u9000\u51FA\u767B\u5F55")]
159
+ }), createVNode(ElDropdownItem, {
160
+ "onClick": () => {
161
+ showDialog.value = true;
162
+ }
163
+ }, {
164
+ default: () => [createVNode(MKSvgIcon, {
165
+ "iconClass": "SwitchButton"
166
+ }, null), createTextVNode("\u4FEE\u6539\u5BC6\u7801")]
103
167
  })]
104
168
  })
105
- })])]);
169
+ })]), createVNode(ElDialog, {
170
+ "model-value": showDialog.value,
171
+ "onUpdate:modelValue": (v) => {
172
+ showDialog.value = v;
173
+ },
174
+ "title": "\u4FEE\u6539\u5BC6\u7801",
175
+ "width": "30%"
176
+ }, {
177
+ default: () => [createVNode(ElForm, {
178
+ "ref": formRef,
179
+ "model": form,
180
+ "label-width": "80px"
181
+ }, {
182
+ default: () => [createVNode(ElFormItem, {
183
+ "label": "\u65E7\u5BC6\u7801",
184
+ "required": true,
185
+ "prop": "password",
186
+ "rules": [{
187
+ required: true,
188
+ message: "\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801",
189
+ trigger: "change"
190
+ }]
191
+ }, {
192
+ default: () => [createVNode(ElInput, {
193
+ "model-value": form.password,
194
+ "onUpdate:modelValue": (v) => {
195
+ form.password = v;
196
+ },
197
+ "type": "password"
198
+ }, null)]
199
+ }), createVNode(ElFormItem, {
200
+ "label": "\u65B0\u5BC6\u7801",
201
+ "required": true,
202
+ "prop": "newPassword",
203
+ "rules": [{
204
+ required: true,
205
+ message: "\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801",
206
+ trigger: "change"
207
+ }, {
208
+ validator: validateCode,
209
+ trigger: "change"
210
+ }]
211
+ }, {
212
+ default: () => [createVNode(ElInput, {
213
+ "model-value": form.newPassword,
214
+ "onUpdate:modelValue": (v) => {
215
+ form.newPassword = v;
216
+ },
217
+ "type": "password"
218
+ }, null)]
219
+ }), createVNode(ElFormItem, {
220
+ "label": "\u91CD\u590D\u5BC6\u7801",
221
+ "required": true,
222
+ "prop": "repeatPassword",
223
+ "rules": [{
224
+ required: true,
225
+ message: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
226
+ trigger: "change"
227
+ }, {
228
+ validator: validateCode1,
229
+ trigger: "change"
230
+ }]
231
+ }, {
232
+ default: () => [createVNode(ElInput, {
233
+ "model-value": form.repeatPassword,
234
+ "onUpdate:modelValue": (v) => {
235
+ form.repeatPassword = v;
236
+ },
237
+ "type": "password"
238
+ }, null)]
239
+ })]
240
+ })],
241
+ footer: () => createVNode("div", null, [createVNode(ElButton, {
242
+ "onClick": () => {
243
+ showDialog.value = false;
244
+ }
245
+ }, {
246
+ default: () => [createTextVNode("\u53D6\u6D88")]
247
+ }), createVNode(ElButton, {
248
+ "type": "primary",
249
+ "onClick": () => {
250
+ submitChangePassword();
251
+ }
252
+ }, {
253
+ default: () => [createTextVNode("\u786E\u5B9A")]
254
+ })])
255
+ })]);
106
256
  };
107
257
  }
108
258
  });
@@ -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\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\r\n if (value.length < 8) {\r\n callback(new Error(\"密码码长度不能小于8位\"));\r\n }\r\n\r\n if (value != form.newPassword) {\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 validateCode = (rule: any, value: any, callback: any) => {\r\n if (value == \"\") {\r\n callback(new Error(\"请输入密码码\"));\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 const isPass = await formRef.value.validate()\r\n if (!isPass) {\r\n return;\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(result.data.msg || \"修改密码失败\")\r\n return;\r\n }\r\n msAppClient.logout()\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={() => msAppClient.logout()}>\r\n <MKSvgIcon iconClass=\"SwitchButton\" />\r\n 退出登录\r\n </ElDropdownItem>\r\n <ElDropdownItem onClick={() => { showDialog.value = true }}>\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\"} 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} 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} 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} 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","watch","reg","validateCode1","rule","value","callback","Error","length","test","validateCode","submitChangePassword","isPass","validate","result","changePassword","data","code","Messager","error","msg","logout","_createVNode","ElDropdown","default","ElImage","MKSvgIcon","nickName","dropdown","ElDropdownMenu","ElDropdownItem","onClick","_createTextVNode","ElDialog","v","ElForm","ElFormItem","required","message","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.43",
4
4
  "description": "",
5
5
  "main": "dist/cjs",
6
6
  "files": [