@rolatech/angular-account 17.2.10 → 19.0.0-beta.0

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.
Files changed (110) hide show
  1. package/fesm2022/rolatech-angular-account-address-add.component-Ce3hAH2I.mjs +36 -0
  2. package/fesm2022/rolatech-angular-account-address-add.component-Ce3hAH2I.mjs.map +1 -0
  3. package/fesm2022/rolatech-angular-account-address-billing.component-iJ9e714P.mjs +35 -0
  4. package/fesm2022/rolatech-angular-account-address-billing.component-iJ9e714P.mjs.map +1 -0
  5. package/fesm2022/rolatech-angular-account-address-detail.component-YrEBTrX3.mjs +72 -0
  6. package/fesm2022/rolatech-angular-account-address-detail.component-YrEBTrX3.mjs.map +1 -0
  7. package/fesm2022/rolatech-angular-account-address-home.component-ChXk3WBo.mjs +55 -0
  8. package/fesm2022/rolatech-angular-account-address-home.component-ChXk3WBo.mjs.map +1 -0
  9. package/fesm2022/rolatech-angular-account-address-shipping.component-DIHcCOMD.mjs +40 -0
  10. package/fesm2022/rolatech-angular-account-address-shipping.component-DIHcCOMD.mjs.map +1 -0
  11. package/fesm2022/rolatech-angular-account-address-work.component-D_J4DR-s.mjs +35 -0
  12. package/fesm2022/rolatech-angular-account-address-work.component-D_J4DR-s.mjs.map +1 -0
  13. package/fesm2022/rolatech-angular-account-address.routes-B7dDMeuH.mjs +29 -0
  14. package/fesm2022/rolatech-angular-account-address.routes-B7dDMeuH.mjs.map +1 -0
  15. package/fesm2022/{rolatech-angular-account-email-verification.component-BMf1IfbK.mjs → rolatech-angular-account-email-verification.component-CkRt0ILC.mjs} +5 -5
  16. package/fesm2022/rolatech-angular-account-email-verification.component-CkRt0ILC.mjs.map +1 -0
  17. package/fesm2022/rolatech-angular-account-email.component-DuA61oxk.mjs +44 -0
  18. package/fesm2022/rolatech-angular-account-email.component-DuA61oxk.mjs.map +1 -0
  19. package/fesm2022/rolatech-angular-account-gender.component-RKepKjrL.mjs +55 -0
  20. package/fesm2022/rolatech-angular-account-gender.component-RKepKjrL.mjs.map +1 -0
  21. package/fesm2022/rolatech-angular-account-home.component-CIvRJUb9.mjs +23 -0
  22. package/fesm2022/rolatech-angular-account-home.component-CIvRJUb9.mjs.map +1 -0
  23. package/fesm2022/rolatech-angular-account-info.component-D2dwWQTF.mjs +112 -0
  24. package/fesm2022/rolatech-angular-account-info.component-D2dwWQTF.mjs.map +1 -0
  25. package/fesm2022/{rolatech-angular-account-login.routes-DC_HIcUQ.mjs → rolatech-angular-account-login.routes-C97QVyJ0.mjs} +6 -14
  26. package/fesm2022/rolatech-angular-account-login.routes-C97QVyJ0.mjs.map +1 -0
  27. package/fesm2022/rolatech-angular-account-phone.component-Kxe2MDen.mjs +76 -0
  28. package/fesm2022/rolatech-angular-account-phone.component-Kxe2MDen.mjs.map +1 -0
  29. package/fesm2022/rolatech-angular-account-profile.component-CKN-gbiM.mjs +43 -0
  30. package/fesm2022/rolatech-angular-account-profile.component-CKN-gbiM.mjs.map +1 -0
  31. package/fesm2022/rolatech-angular-account-rolatech-angular-account-BNEg6V8a.mjs +487 -0
  32. package/fesm2022/rolatech-angular-account-rolatech-angular-account-BNEg6V8a.mjs.map +1 -0
  33. package/fesm2022/rolatech-angular-account-security.routes-KlF9MNKj.mjs +237 -0
  34. package/fesm2022/rolatech-angular-account-security.routes-KlF9MNKj.mjs.map +1 -0
  35. package/fesm2022/rolatech-angular-account-user-CK_zEFn_.mjs.map +1 -1
  36. package/fesm2022/rolatech-angular-account-username.component-DyUMdNt7.mjs +42 -0
  37. package/fesm2022/rolatech-angular-account-username.component-DyUMdNt7.mjs.map +1 -0
  38. package/fesm2022/rolatech-angular-account.mjs +1 -13
  39. package/fesm2022/rolatech-angular-account.mjs.map +1 -1
  40. package/lib/components/topbar-login/topbar-login.component.d.ts +9 -2
  41. package/lib/pages/myaccount/address/address-add/address-add.component.d.ts +11 -0
  42. package/lib/pages/myaccount/address/address-billing/address-billing.component.d.ts +12 -0
  43. package/lib/pages/myaccount/address/address-detail/address-detail.component.d.ts +14 -0
  44. package/lib/pages/myaccount/address/address-home/address-home.component.d.ts +12 -0
  45. package/lib/pages/myaccount/address/address-shipping/address-shipping.component.d.ts +12 -0
  46. package/lib/pages/myaccount/address/address-work/address-work.component.d.ts +12 -0
  47. package/lib/pages/myaccount/address/address.routes.d.ts +2 -0
  48. package/lib/pages/myaccount/email/email.component.d.ts +1 -1
  49. package/lib/pages/myaccount/email-verification/email-verification.component.d.ts +1 -1
  50. package/lib/pages/myaccount/gender/gender.component.d.ts +1 -1
  51. package/lib/pages/myaccount/home/home.component.d.ts +3 -9
  52. package/lib/pages/myaccount/personal-info/info.component.d.ts +5 -1
  53. package/lib/pages/myaccount/personal-info/profile/profile.component.d.ts +1 -1
  54. package/lib/pages/myaccount/personal-info/username/username.component.d.ts +1 -1
  55. package/lib/pages/myaccount/phone/phone.component.d.ts +1 -1
  56. package/lib/pages/myaccount/security/security-index/security-index.component.d.ts +4 -0
  57. package/lib/services/wechat-login.service.d.ts +1 -1
  58. package/package.json +21 -7
  59. package/themes/_default.scss +1 -1
  60. package/esm2022/index.mjs +0 -5
  61. package/esm2022/lib/account.routes.mjs +0 -36
  62. package/esm2022/lib/components/avatar-update-dialog/avatar-update-dialog.component.mjs +0 -63
  63. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -13
  64. package/esm2022/lib/components/index.mjs +0 -3
  65. package/esm2022/lib/components/login/login-wechat/login-wechat.component.mjs +0 -38
  66. package/esm2022/lib/components/login/login.routes.mjs +0 -4
  67. package/esm2022/lib/components/logout/logout.component.mjs +0 -46
  68. package/esm2022/lib/components/passwordreset/passwordreset.component.mjs +0 -13
  69. package/esm2022/lib/components/topbar-login/topbar-login.component.mjs +0 -29
  70. package/esm2022/lib/components/user-item/user-item.component.mjs +0 -31
  71. package/esm2022/lib/contant/user.mjs +0 -7
  72. package/esm2022/lib/myaccount.routes.mjs +0 -37
  73. package/esm2022/lib/pages/accounts/signin/signin.component.mjs +0 -159
  74. package/esm2022/lib/pages/accounts/signup/signup.component.mjs +0 -82
  75. package/esm2022/lib/pages/myaccount/email/email.component.mjs +0 -41
  76. package/esm2022/lib/pages/myaccount/email-verification/email-verification.component.mjs +0 -26
  77. package/esm2022/lib/pages/myaccount/gender/gender.component.mjs +0 -52
  78. package/esm2022/lib/pages/myaccount/home/home.component.mjs +0 -66
  79. package/esm2022/lib/pages/myaccount/personal-info/info.component.mjs +0 -38
  80. package/esm2022/lib/pages/myaccount/personal-info/profile/profile.component.mjs +0 -47
  81. package/esm2022/lib/pages/myaccount/personal-info/username/username.component.mjs +0 -39
  82. package/esm2022/lib/pages/myaccount/phone/phone.component.mjs +0 -65
  83. package/esm2022/lib/pages/myaccount/security/security-faceid/security-faceid.component.mjs +0 -13
  84. package/esm2022/lib/pages/myaccount/security/security-index/security-index.component.mjs +0 -64
  85. package/esm2022/lib/pages/myaccount/security/security-password/security-password.component.mjs +0 -47
  86. package/esm2022/lib/pages/myaccount/security/security-verification/security-verification.component.mjs +0 -86
  87. package/esm2022/lib/pages/myaccount/security/security.routes.mjs +0 -20
  88. package/esm2022/lib/services/wechat-login.service.mjs +0 -19
  89. package/esm2022/provider.mjs +0 -14
  90. package/esm2022/rolatech-angular-account.mjs +0 -5
  91. package/fesm2022/rolatech-angular-account-email-verification.component-BMf1IfbK.mjs.map +0 -1
  92. package/fesm2022/rolatech-angular-account-email.component-BQaELPci.mjs +0 -44
  93. package/fesm2022/rolatech-angular-account-email.component-BQaELPci.mjs.map +0 -1
  94. package/fesm2022/rolatech-angular-account-gender.component-9GJeEE9U.mjs +0 -55
  95. package/fesm2022/rolatech-angular-account-gender.component-9GJeEE9U.mjs.map +0 -1
  96. package/fesm2022/rolatech-angular-account-home.component-BB9zBFKT.mjs +0 -77
  97. package/fesm2022/rolatech-angular-account-home.component-BB9zBFKT.mjs.map +0 -1
  98. package/fesm2022/rolatech-angular-account-info.component-Be9isgwX.mjs +0 -98
  99. package/fesm2022/rolatech-angular-account-info.component-Be9isgwX.mjs.map +0 -1
  100. package/fesm2022/rolatech-angular-account-login.routes-DC_HIcUQ.mjs.map +0 -1
  101. package/fesm2022/rolatech-angular-account-phone.component-D2v9enci.mjs +0 -68
  102. package/fesm2022/rolatech-angular-account-phone.component-D2v9enci.mjs.map +0 -1
  103. package/fesm2022/rolatech-angular-account-profile.component-WwV7Jpjy.mjs +0 -50
  104. package/fesm2022/rolatech-angular-account-profile.component-WwV7Jpjy.mjs.map +0 -1
  105. package/fesm2022/rolatech-angular-account-rolatech-angular-account-BuEBlu0U.mjs +0 -444
  106. package/fesm2022/rolatech-angular-account-rolatech-angular-account-BuEBlu0U.mjs.map +0 -1
  107. package/fesm2022/rolatech-angular-account-security.routes-DiAm22Qh.mjs +0 -203
  108. package/fesm2022/rolatech-angular-account-security.routes-DiAm22Qh.mjs.map +0 -1
  109. package/fesm2022/rolatech-angular-account-username.component-D8DPlm9P.mjs +0 -42
  110. package/fesm2022/rolatech-angular-account-username.component-D8DPlm9P.mjs.map +0 -1
@@ -1,52 +0,0 @@
1
- import { Component, effect, inject } from '@angular/core';
2
- import { MatRadioModule } from '@angular/material/radio';
3
- import { AuthService, AuthUserService } from '@rolatech/angular-auth';
4
- import { AngularCommonModule } from '@rolatech/angular-common';
5
- import { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';
6
- import { BackButtonDirective } from '@rolatech/angular-services';
7
- import { UserGender } from '../../../contant/user';
8
- import { MatButtonModule } from '@angular/material/button';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/forms";
11
- import * as i2 from "@angular/material/button";
12
- import * as i3 from "@angular/material/radio";
13
- export class GenderComponent extends BaseComponent {
14
- constructor() {
15
- super();
16
- this.authUserService = inject(AuthUserService);
17
- this.GENDERS = ['男', '女', '不公开'];
18
- this.gender = UserGender;
19
- this.selectedGender = '';
20
- this.user = inject(AuthService).user;
21
- this.email = '';
22
- effect(() => {
23
- this.selectedGender = this.gender[this.user()?.gender];
24
- });
25
- }
26
- ngOnInit() { }
27
- save() {
28
- this.authUserService.update({ gender: this.gender[this.selectedGender] }).subscribe({
29
- next: (res) => {
30
- this.snackBarService.open('修改成功');
31
- },
32
- error: (error) => {
33
- this.snackBarService.open(error.message);
34
- },
35
- });
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GenderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: GenderComponent, isStandalone: true, selector: "rolatech-account-gender", usesInheritance: true, ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u8BBE\u7F6E\u6027\u522B\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <label class=\"px-2\">\u6027\u522B\u9009\u62E9</label>\n <mat-radio-group class=\"flex flex-col\" color=\"primary\" [(ngModel)]=\"selectedGender\">\n @for (gender of GENDERS; track gender) {\n <mat-radio-button [value]=\"gender\">{{ gender }}</mat-radio-button>\n }\n </mat-radio-group>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 p-2 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }] }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GenderComponent, decorators: [{
41
- type: Component,
42
- args: [{ standalone: true, imports: [
43
- AngularCommonModule,
44
- AngularComponentsModule,
45
- MatRadioModule,
46
- BackButtonDirective,
47
- AppContainerComponent,
48
- ToolbarComponent,
49
- MatButtonModule,
50
- ], selector: 'rolatech-account-gender', template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u8BBE\u7F6E\u6027\u522B\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <label class=\"px-2\">\u6027\u522B\u9009\u62E9</label>\n <mat-radio-group class=\"flex flex-col\" color=\"primary\" [(ngModel)]=\"selectedGender\">\n @for (gender of GENDERS; track gender) {\n <mat-radio-button [value]=\"gender\">{{ gender }}</mat-radio-button>\n }\n </mat-radio-group>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 p-2 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n" }]
51
- }], ctorParameters: () => [] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvbXlhY2NvdW50L2dlbmRlci9nZW5kZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvZ2VuZGVyL2dlbmRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBaUIzRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBUWhEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFSVixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFdBQU0sR0FBUSxVQUFVLENBQUM7UUFDekIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEMsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHN0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxLQUFVLENBQUM7SUFFbkIsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEYsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F6QlUsZUFBZTtrR0FBZixlQUFlLDBHQ3hCNUIsdXVCQWVBLHlEREhJLG1CQUFtQiw4VkFDbkIsdUJBQXVCLG11QkFDdkIsY0FBYywrQkFDZCxtQkFBbUIsaUVBQ25CLHFCQUFxQixtRUFDckIsZ0JBQWdCLCtIQUNoQixlQUFlOzsyRkFNTixlQUFlO2tCQWYzQixTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQixZQUNTLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgQXV0aFVzZXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItYXV0aCc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBBcHBDb250YWluZXJDb21wb25lbnQsIEJhc2VDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEJhY2tCdXR0b25EaXJlY3RpdmUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBVc2VyR2VuZGVyIH0gZnJvbSAnLi4vLi4vLi4vY29udGFudC91c2VyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBCYWNrQnV0dG9uRGlyZWN0aXZlLFxuICAgIEFwcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LWdlbmRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW5kZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBHRU5ERVJTOiBzdHJpbmdbXSA9IFsn55S3JywgJ+WlsycsICfkuI3lhazlvIAnXTtcbiAgZ2VuZGVyOiBhbnkgPSBVc2VyR2VuZGVyO1xuICBzZWxlY3RlZEdlbmRlciA9ICcnO1xuXG4gIHVzZXIgPSBpbmplY3QoQXV0aFNlcnZpY2UpLnVzZXI7XG4gIGVtYWlsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZEdlbmRlciA9IHRoaXMuZ2VuZGVyW3RoaXMudXNlcigpPy5nZW5kZXIhXTtcbiAgICB9KTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLmF1dGhVc2VyU2VydmljZS51cGRhdGUoeyBnZW5kZXI6IHRoaXMuZ2VuZGVyW3RoaXMuc2VsZWN0ZWRHZW5kZXJdIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ+S/ruaUueaIkOWKnycpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuiuvue9ruaAp+WIq1wiIGxpbms9XCIvcGVyc29uYWwtaW5mb1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cInB4LTJcIj7mgKfliKvpgInmi6k8L2xhYmVsPlxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCIgY29sb3I9XCJwcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEdlbmRlclwiPlxuICAgICAgQGZvciAoZ2VuZGVyIG9mIEdFTkRFUlM7IHRyYWNrIGdlbmRlcikge1xuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwiZ2VuZGVyXCI+e3sgZ2VuZGVyIH19PC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgfVxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBtdC0zXCI+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gcm9sYXRlY2hCYWNrQnV0dG9uPuWPlua2iDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTIwIHAtMiBtbC0zXCIgKGNsaWNrKT1cInNhdmUoKVwiPuS/neWtmDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,66 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { AuthService } from '@rolatech/angular-auth';
3
- import { AngularComponentsModule, AppContainerComponent, BaseComponent, IconButtonComponent, SpinnerComponent, TabComponent, TabsComponent, ToolbarComponent, } from '@rolatech/angular-components';
4
- import { AngularCommonModule } from '@rolatech/angular-common';
5
- import { UserItemComponent } from '../../../components';
6
- import * as i0 from "@angular/core";
7
- export class HomeComponent extends BaseComponent {
8
- constructor() {
9
- super();
10
- this.links = [
11
- {
12
- name: '全部',
13
- icon: 'dashboard',
14
- status: '',
15
- path: false,
16
- },
17
- {
18
- name: '待付款',
19
- icon: 'category',
20
- status: 'created',
21
- path: true,
22
- },
23
- {
24
- name: '已支付',
25
- icon: 'category',
26
- status: 'paid',
27
- path: true,
28
- },
29
- {
30
- name: '已退款',
31
- icon: 'category',
32
- status: 'refunded',
33
- path: true,
34
- },
35
- {
36
- name: '已取消',
37
- icon: 'category',
38
- status: 'canceled',
39
- path: true,
40
- },
41
- ];
42
- this.user = inject(AuthService).user;
43
- this.select = 0;
44
- }
45
- ngOnInit() {
46
- this.select = this.links.findIndex((item) => item.status === '');
47
- }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: HomeComponent, isStandalone: true, selector: "rolatech-account-home", usesInheritance: true, ngImport: i0, template: "@if (user(); as user) {\n <rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-orange-600\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\">\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </rolatech-app-container>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }] }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HomeComponent, decorators: [{
52
- type: Component,
53
- args: [{ standalone: true, imports: [
54
- AngularCommonModule,
55
- AngularComponentsModule,
56
- SpinnerComponent,
57
- UserItemComponent,
58
- TabsComponent,
59
- TabComponent,
60
- ToolbarComponent,
61
- AppContainerComponent,
62
- ToolbarComponent,
63
- IconButtonComponent,
64
- ], selector: 'rolatech-account-home', template: "@if (user(); as user) {\n <rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-orange-600\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\">\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </rolatech-app-container>\n}\n" }]
65
- }], ctorParameters: () => [] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9ob21lL2hvbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvaG9tZS9ob21lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQW9CeEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBbUM5QztRQUNFLEtBQUssRUFBRSxDQUFDO1FBbkNWLFVBQUssR0FBRztZQUNOO2dCQUNFLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsRUFBRTtnQkFDVixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixJQUFJLEVBQUUsSUFBSTthQUNYO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxJQUFJO2FBQ1g7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLElBQUksRUFBRSxJQUFJO2FBQ1g7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRixDQUFDO1FBQ0YsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEMsV0FBTSxHQUFHLENBQUMsQ0FBQztJQUdYLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQXhDVSxhQUFhO2tHQUFiLGFBQWEsd0dDakMxQixndkJBaUJBLHlERENJLG1CQUFtQiw4QkFDbkIsdUJBQXVCLCtCQU12QixxQkFBcUI7OzJGQVFaLGFBQWE7a0JBbEJ6QixTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCLFlBQ1MsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7XG4gIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLFxuICBBcHBDb250YWluZXJDb21wb25lbnQsXG4gIEJhc2VDb21wb25lbnQsXG4gIEljb25CdXR0b25Db21wb25lbnQsXG4gIFNwaW5uZXJDb21wb25lbnQsXG4gIFRhYkNvbXBvbmVudCxcbiAgVGFic0NvbXBvbmVudCxcbiAgVG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFVzZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIFVzZXJJdGVtQ29tcG9uZW50LFxuICAgIFRhYnNDb21wb25lbnQsXG4gICAgVGFiQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgQXBwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hvbWUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsaW5rcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAn5YWo6YOoJyxcbiAgICAgIGljb246ICdkYXNoYm9hcmQnLFxuICAgICAgc3RhdHVzOiAnJyxcbiAgICAgIHBhdGg6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ+W+heS7mOasvicsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAnY3JlYXRlZCcsXG4gICAgICBwYXRoOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ+W3suaUr+S7mCcsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAncGFpZCcsXG4gICAgICBwYXRoOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ+W3sumAgOasvicsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAncmVmdW5kZWQnLFxuICAgICAgcGF0aDogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICflt7Llj5bmtognLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ2NhbmNlbGVkJyxcbiAgICAgIHBhdGg6IHRydWUsXG4gICAgfSxcbiAgXTtcbiAgdXNlciA9IGluamVjdChBdXRoU2VydmljZSkudXNlcjtcbiAgc2VsZWN0ID0gMDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdCA9IHRoaXMubGlua3MuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLnN0YXR1cyA9PT0gJycpO1xuICB9XG59XG4iLCJAaWYgKHVzZXIoKTsgYXMgdXNlcikge1xuICA8cm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwibWF4LXctWzgyMHB4XSBtLTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwLTMgbWItMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBtYi0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctMjAgaC0yMCByb3VuZGVkLWZ1bGwgYmctb3JhbmdlLTYwMFwiPlxuICAgICAgICAgICAgQGlmICh1c2VyLmF2YXRhcikge1xuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0yMCBoLTIwIHJvdW5kZWQtZnVsbCBvYmplY3QtY292ZXJcIiBbc3JjXT1cInVzZXIuYXZhdGFyXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC0zeGxcIj7mrKLov47lm57mnaUsIHt7IHVzZXIubmFtZSB9fTwvcD5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW1kXCI+55So5oi35Lit5b+DLCDmlrnkvr/mgqjnu7TmiqTkuKrkurrkv6Hmga8sIOi/meS8muacieS4gOS4quW+iOWlveeahOS9k+mqjDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3JvbGF0ZWNoLWFwcC1jb250YWluZXI+XG59XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { AuthService, AuthUserService } from '@rolatech/angular-auth';
3
- import { AngularCommonModule } from '@rolatech/angular-common';
4
- import { AngularComponentsModule, AppContainerComponent, SpinnerComponent } from '@rolatech/angular-components';
5
- import { MatDialog } from '@angular/material/dialog';
6
- import { UserGender } from '../../../contant/user';
7
- import { AvatarUpdateDialogComponent } from '../../../components/avatar-update-dialog/avatar-update-dialog.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/router";
10
- import * as i2 from "@angular/material/divider";
11
- import * as i3 from "@angular/material/icon";
12
- import * as i4 from "@angular/material/list";
13
- export class InfoComponent {
14
- constructor() {
15
- this.authUserService = inject(AuthUserService);
16
- this.dialog = inject(MatDialog);
17
- this.user = inject(AuthService).user;
18
- this.gender = UserGender;
19
- }
20
- ngOnInit() { }
21
- updateAvatar(avatar) {
22
- const dialogRef = this.dialog.open(AvatarUpdateDialogComponent, {
23
- data: {
24
- avatar: avatar,
25
- },
26
- });
27
- dialogRef.afterClosed().subscribe((result) => {
28
- location.reload();
29
- });
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: InfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: InfoComponent, isStandalone: true, selector: "rolatech-account-info", ngImport: i0, template: "<rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <rolatech-spinner></rolatech-spinner>\n @if (user(); as user) {\n <div>\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4E2A\u4EBA\u4FE1\u606F</p>\n <p class=\"text-md\">\u7528\u6237\u4FE1\u606F\u7684\u5168\u90E8\u5185\u5BB9</p>\n </div>\n <div class=\"border border-grap-400 rounded px-3 pt-3 mb-14\">\n <div class=\"p-3 text-xl\">\u57FA\u672C\u8BBE\u7F6E</div>\n <mat-nav-list>\n <mat-list-item (click)=\"updateAvatar(user?.avatar)\" class=\"h-16\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u5934\u50CF</span>\n <span class=\"w-24 text-sm text-[--rt-text-primary]\">\u8D26\u6237\u7684\u5934\u50CF</span>\n </div>\n <div\n class=\"mr-6 bg-orange-600 w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (user.avatar) {\n <div class=\"w-9 h-9\">\n <img [src]=\"user.avatar\" class=\"w-9 h-9 rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../profile\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u59D3\u540D</span>\n <span>{{ user?.name }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../gender\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u6027\u522B</span>\n <span>{{ gender[user.gender] || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../username\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7528\u6237\u540D</span>\n <span>{{ user.username }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- contact -->\n <div class=\"border border-grap-400 rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\">\u8054\u7CFB\u65B9\u5F0F</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../email\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u90AE\u7BB1</span>\n <span>{{ user.email || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../phone\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7535\u8BDD</span>\n <span>{{ user.phone || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n }\n </div>\n</rolatech-app-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }] }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: InfoComponent, decorators: [{
35
- type: Component,
36
- args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, AppContainerComponent], selector: 'rolatech-account-info', template: "<rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <rolatech-spinner></rolatech-spinner>\n @if (user(); as user) {\n <div>\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4E2A\u4EBA\u4FE1\u606F</p>\n <p class=\"text-md\">\u7528\u6237\u4FE1\u606F\u7684\u5168\u90E8\u5185\u5BB9</p>\n </div>\n <div class=\"border border-grap-400 rounded px-3 pt-3 mb-14\">\n <div class=\"p-3 text-xl\">\u57FA\u672C\u8BBE\u7F6E</div>\n <mat-nav-list>\n <mat-list-item (click)=\"updateAvatar(user?.avatar)\" class=\"h-16\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u5934\u50CF</span>\n <span class=\"w-24 text-sm text-[--rt-text-primary]\">\u8D26\u6237\u7684\u5934\u50CF</span>\n </div>\n <div\n class=\"mr-6 bg-orange-600 w-9 h-9 rounded-full cursor-pointer hover:outline-gray-200 outline outline-transparent outline-4\"\n >\n @if (user.avatar) {\n <div class=\"w-9 h-9\">\n <img [src]=\"user.avatar\" class=\"w-9 h-9 rounded-full object-cover\" />\n </div>\n }\n </div>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../profile\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u59D3\u540D</span>\n <span>{{ user?.name }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../gender\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u6027\u522B</span>\n <span>{{ gender[user.gender] || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../username\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7528\u6237\u540D</span>\n <span>{{ user.username }}</span>\n </div>\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n <!-- contact -->\n <div class=\"border border-grap-400 rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\">\u8054\u7CFB\u65B9\u5F0F</div>\n <mat-nav-list>\n <mat-list-item routerLink=\"../email\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u90AE\u7BB1</span>\n <span>{{ user.email || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n <mat-divider class=\"mx-3\"></mat-divider>\n <mat-list-item routerLink=\"../phone\">\n <div class=\"flex items-center justify-between\">\n <div class=\"flex flex-1 items-center\">\n <span class=\"w-24 text-sm font-thin\">\u7535\u8BDD</span>\n <span>{{ user.phone || '\u672A\u8BBE\u7F6E' }}</span>\n </div>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n }\n </div>\n</rolatech-app-container>\n" }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9wZXJzb25hbC1pbmZvL2luZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvcGVyc29uYWwtaW5mby9pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQzs7Ozs7O0FBU3RILE1BQU0sT0FBTyxhQUFhO0lBUDFCO1FBUUUsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoQyxXQUFNLEdBQVEsVUFBVSxDQUFDO0tBYTFCO0lBWEMsUUFBUSxLQUFVLENBQUM7SUFDbkIsWUFBWSxDQUFDLE1BQVc7UUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDOUQsSUFBSSxFQUFFO2dCQUNKLE1BQU0sRUFBRSxNQUFNO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FoQlUsYUFBYTtrR0FBYixhQUFhLGlGQ2YxQiwybEpBc0dBLHlERDVGWSxtQkFBbUIsK1FBQUUsdUJBQXVCLDJoQkFBRSxnQkFBZ0IsZ0ZBQUUscUJBQXFCOzsyRkFLcEYsYUFBYTtrQkFQekIsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsQ0FBQyxZQUN0Rix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQXBwQ29udGFpbmVyQ29tcG9uZW50LCBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVXNlckdlbmRlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRhbnQvdXNlcic7XG5pbXBvcnQgeyBBdmF0YXJVcGRhdGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2F2YXRhci11cGRhdGUtZGlhbG9nL2F2YXRhci11cGRhdGUtZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFNwaW5uZXJDb21wb25lbnQsIEFwcENvbnRhaW5lckNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYWNjb3VudC1pbmZvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2luZm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbmZvLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEluZm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgZGlhbG9nID0gaW5qZWN0KE1hdERpYWxvZyk7XG4gIHVzZXIgPSBpbmplY3QoQXV0aFNlcnZpY2UpLnVzZXI7XG4gIGdlbmRlcjogYW55ID0gVXNlckdlbmRlcjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG4gIHVwZGF0ZUF2YXRhcihhdmF0YXI6IGFueSkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXZhdGFyVXBkYXRlRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGF2YXRhcjogYXZhdGFyLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuICA8ZGl2IGNsYXNzPVwibWF4LXctWzgyMHB4XSBtLTNcIj5cbiAgICA8cm9sYXRlY2gtc3Bpbm5lcj48L3JvbGF0ZWNoLXNwaW5uZXI+XG4gICAgQGlmICh1c2VyKCk7IGFzIHVzZXIpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwLTMgbWItMTJcIj5cbiAgICAgICAgICA8cCBjbGFzcz1cInRleHQtM3hsXCI+5Liq5Lq65L+h5oGvPC9wPlxuICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1tZFwiPueUqOaIt+S/oeaBr+eahOWFqOmDqOWGheWuuTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXAtNDAwIHJvdW5kZWQgcHgtMyBwdC0zIG1iLTE0XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtMyB0ZXh0LXhsXCI+5Z+65pys6K6+572uPC9kaXY+XG4gICAgICAgICAgPG1hdC1uYXYtbGlzdD5cbiAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIChjbGljayk9XCJ1cGRhdGVBdmF0YXIodXNlcj8uYXZhdGFyKVwiIGNsYXNzPVwiaC0xNlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTI0IHRleHQtc20gZm9udC10aGluXCI+5aS05YOPPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTI0IHRleHQtc20gdGV4dC1bLS1ydC10ZXh0LXByaW1hcnldXCI+6LSm5oi355qE5aS05YOPPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXItNiBiZy1vcmFuZ2UtNjAwIHctOSBoLTkgcm91bmRlZC1mdWxsIGN1cnNvci1wb2ludGVyIGhvdmVyOm91dGxpbmUtZ3JheS0yMDAgb3V0bGluZSBvdXRsaW5lLXRyYW5zcGFyZW50IG91dGxpbmUtNFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgQGlmICh1c2VyLmF2YXRhcikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy05IGgtOVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJ1c2VyLmF2YXRhclwiIGNsYXNzPVwidy05IGgtOSByb3VuZGVkLWZ1bGwgb2JqZWN0LWNvdmVyXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibXgtM1wiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi4vcHJvZmlsZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTI0IHRleHQtc20gZm9udC10aGluXCI+5aeT5ZCNPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdXNlcj8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj4gbmF2aWdhdGVfbmV4dCA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJteC0zXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIHJvdXRlckxpbms9XCIuLi9nZW5kZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtIGZvbnQtdGhpblwiPuaAp+WIqzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGdlbmRlclt1c2VyLmdlbmRlcl0gfHwgJ+acquiuvue9ricgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+IG5hdmlnYXRlX25leHQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibXgtM1wiPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi4vdXNlcm5hbWVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtIGZvbnQtdGhpblwiPueUqOaIt+WQjTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIudXNlcm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+IG5hdmlnYXRlX25leHQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICAgIDwvbWF0LW5hdi1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBjb250YWN0IC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1ncmFwLTQwMCByb3VuZGVkIHB4LTMgcHQtM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTMgdGV4dC14bFwiPuiBlOezu+aWueW8jzwvZGl2PlxuICAgICAgICAgIDxtYXQtbmF2LWxpc3Q+XG4gICAgICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi4vZW1haWxcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtMSBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidy0yNCB0ZXh0LXNtIGZvbnQtdGhpblwiPumCrueusTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IHVzZXIuZW1haWwgfHwgJ+acquiuvue9ricgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0LWxpc3QtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPiAtLT5cbiAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj4gbmF2aWdhdGVfbmV4dCA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJteC0zXCI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxtYXQtbGlzdC1pdGVtIHJvdXRlckxpbms9XCIuLi9waG9uZVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC0xIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3LTI0IHRleHQtc20gZm9udC10aGluXCI+55S16K+dPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgdXNlci5waG9uZSB8fCAn5pyq6K6+572uJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8IS0tIDxtYXQtaWNvbiBtYXQtbGlzdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+IC0tPlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPiBuYXZpZ2F0ZV9uZXh0IDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICA8L21hdC1uYXYtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9yb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuIl19
@@ -1,47 +0,0 @@
1
- import { Component, effect, inject } from '@angular/core';
2
- import { MatButton } from '@angular/material/button';
3
- import { AuthService, AuthUserService } from '@rolatech/angular-auth';
4
- import { AngularCommonModule } from '@rolatech/angular-common';
5
- import { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';
6
- import { BackButtonDirective } from '@rolatech/angular-services';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- import * as i2 from "@angular/material/button";
10
- import * as i3 from "@angular/material/form-field";
11
- import * as i4 from "@angular/material/input";
12
- export class ProfileComponent extends BaseComponent {
13
- constructor() {
14
- super();
15
- this.authUserService = inject(AuthUserService);
16
- this.user = inject(AuthService).user;
17
- this.name = '';
18
- effect(() => {
19
- this.name = this.user()?.name;
20
- });
21
- }
22
- ngOnInit() { }
23
- save() {
24
- this.authUserService.changeName(this.name).subscribe({
25
- next: (res) => {
26
- this.snackBarService.open('修改成功');
27
- },
28
- error: (error) => {
29
- this.snackBarService.open(error.message);
30
- },
31
- });
32
- }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ProfileComponent, isStandalone: true, selector: "rolatech-account-profile", usesInheritance: true, ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u59D3\u540D\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u7528\u6237\u540D\u662F\u60A8\u5728\u672C\u7AD9\u7684\u7B80\u79F0, \u53EF\u4EE5\u662F\u771F\u5B9E\u59D3\u540D, \u4E5F\u53EF\u4EE5\u662F\u6635\u79F0</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"name\" />\n </mat-form-field>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n </div>\n</rolatech-app-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ProfileComponent, decorators: [{
37
- type: Component,
38
- args: [{ standalone: true, imports: [
39
- AngularCommonModule,
40
- AngularComponentsModule,
41
- MatButton,
42
- BackButtonDirective,
43
- AppContainerComponent,
44
- ToolbarComponent,
45
- ], selector: 'rolatech-account-profile', template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u59D3\u540D\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u7528\u6237\u540D\u662F\u60A8\u5728\u672C\u7AD9\u7684\u7B80\u79F0, \u53EF\u4EE5\u662F\u771F\u5B9E\u59D3\u540D, \u4E5F\u53EF\u4EE5\u662F\u6635\u79F0</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"name\" />\n </mat-form-field>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n </div>\n</rolatech-app-container>\n" }]
46
- }], ctorParameters: () => [] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9wZXJzb25hbC1pbmZvL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9wZXJzb25hbC1pbmZvL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFnQmpFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBSWpEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFKVixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoQyxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBR1IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUssQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixJQUFJO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNuRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXJCVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiwyR0NyQjdCLDR3QkFlQSx5RERMSSxtQkFBbUIsOG1CQUNuQix1QkFBdUIsbXZCQUV2QixtQkFBbUIsaUVBQ25CLHFCQUFxQixtRUFDckIsZ0JBQWdCOzsyRkFNUCxnQkFBZ0I7a0JBZDVCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixTQUFTO3dCQUNULG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixnQkFBZ0I7cUJBQ2pCLFlBQ1MsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIGVmZmVjdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQXBwQ29udGFpbmVyQ29tcG9uZW50LCBCYXNlQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCYWNrQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEFuZ3VsYXJDb21tb25Nb2R1bGUsXG4gICAgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgTWF0QnV0dG9uLFxuICAgIEJhY2tCdXR0b25EaXJlY3RpdmUsXG4gICAgQXBwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gIF0sXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYWNjb3VudC1wcm9maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9maWxlLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYXV0aFVzZXJTZXJ2aWNlID0gaW5qZWN0KEF1dGhVc2VyU2VydmljZSk7XG4gIHVzZXIgPSBpbmplY3QoQXV0aFNlcnZpY2UpLnVzZXI7XG4gIG5hbWUgPSAnJztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5uYW1lID0gdGhpcy51c2VyKCk/Lm5hbWUhO1xuICAgIH0pO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBzYXZlKCkge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLmNoYW5nZU5hbWUodGhpcy5uYW1lKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCfkv67mlLnmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLkv67mlLnlp5PlkI1cIiBsaW5rPVwiL3BlcnNvbmFsLWluZm9cIiBkaXZpZGVyPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgICA8cCBjbGFzcz1cInRleHQtbWRcIj7nlKjmiLflkI3mmK/mgqjlnKjmnKznq5nnmoTnroDnp7AsIOWPr+S7peaYr+ecn+WunuWnk+WQjSwg5Lmf5Y+v5Lul5piv5pi156ewPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIG10LTZcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJuYW1lXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgcC0yXCI+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiByb2xhdGVjaEJhY2tCdXR0b24+5Y+W5raIPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy0yMCBtbC0zXCIgKGNsaWNrKT1cInNhdmUoKVwiPuS/neWtmDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9yb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuIl19
@@ -1,39 +0,0 @@
1
- import { Component, ViewEncapsulation, effect, inject } from '@angular/core';
2
- import { AuthService, AuthUserService } from '@rolatech/angular-auth';
3
- import { AngularCommonModule } from '@rolatech/angular-common';
4
- import { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';
5
- import { BackButtonDirective } from '@rolatech/angular-services';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@angular/material/button";
9
- import * as i3 from "@angular/material/form-field";
10
- import * as i4 from "@angular/material/input";
11
- export class UsernameComponent extends BaseComponent {
12
- constructor() {
13
- super();
14
- this.authUserService = inject(AuthUserService);
15
- this.user = inject(AuthService).user;
16
- this.username = '';
17
- effect(() => {
18
- this.username = this.user()?.username;
19
- });
20
- }
21
- ngOnInit() { }
22
- save() {
23
- this.authUserService.changeUsername(this.username).subscribe({
24
- next: (res) => {
25
- this.snackBarService.open(res.data);
26
- },
27
- error: (error) => {
28
- this.snackBarService.open(error.message);
29
- },
30
- });
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UsernameComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: UsernameComponent, isStandalone: true, selector: "rolatech-account-username", usesInheritance: true, ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u7528\u6237\u540D\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u7528\u6237\u540D\u662F\u60A8\u5728\u672C\u7AD9\u7684\u552F\u4E00\u6807\u8BC6</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <span matTextPrefix>&#64;</span>\n <input matInput [(ngModel)]=\"username\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }], encapsulation: i0.ViewEncapsulation.None }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UsernameComponent, decorators: [{
36
- type: Component,
37
- args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective, AppContainerComponent, ToolbarComponent], selector: 'rolatech-account-username', encapsulation: ViewEncapsulation.None, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u7528\u6237\u540D\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u7528\u6237\u540D\u662F\u60A8\u5728\u672C\u7AD9\u7684\u552F\u4E00\u6807\u8BC6</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <span matTextPrefix>&#64;</span>\n <input matInput [(ngModel)]=\"username\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center p-2\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n" }]
38
- }], ctorParameters: () => [] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcm5hbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvcGVyc29uYWwtaW5mby91c2VybmFtZS91c2VybmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9wZXJzb25hbC1pbmZvL3VzZXJuYW1lL3VzZXJuYW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBVWpFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBSWxEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFKVixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBR1osTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixJQUFJO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMzRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FyQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNEdDZDlCLGt2QkFnQkEseUREUlksbUJBQW1CLDhtQkFBRSx1QkFBdUIsbzNCQUFFLG1CQUFtQixpRUFBRSxxQkFBcUIsbUVBQUUsZ0JBQWdCOzsyRkFNekcsaUJBQWlCO2tCQVI3QixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLFlBQzNHLDJCQUEyQixpQkFHdEIsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgZWZmZWN0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEFwcENvbnRhaW5lckNvbXBvbmVudCwgQmFzZUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFja0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQmFja0J1dHRvbkRpcmVjdGl2ZSwgQXBwQ29udGFpbmVyQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LXVzZXJuYW1lJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJuYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdXNlcm5hbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVXNlcm5hbWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgYXV0aFVzZXJTZXJ2aWNlID0gaW5qZWN0KEF1dGhVc2VyU2VydmljZSk7XG4gIHVzZXIgPSBpbmplY3QoQXV0aFNlcnZpY2UpLnVzZXI7XG4gIHVzZXJuYW1lID0gJyc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMudXNlcm5hbWUgPSB0aGlzLnVzZXIoKT8udXNlcm5hbWUhO1xuICAgIH0pO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBzYXZlKCkge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLmNoYW5nZVVzZXJuYW1lKHRoaXMudXNlcm5hbWUpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4ocmVzLmRhdGEpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuS/ruaUueeUqOaIt+WQjVwiIGxpbms9XCIvcGVyc29uYWwtaW5mb1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgIDxwIGNsYXNzPVwidGV4dC1tZFwiPueUqOaIt+WQjeaYr+aCqOWcqOacrOermeeahOWUr+S4gOagh+ivhjwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtdC02XCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPHNwYW4gbWF0VGV4dFByZWZpeD4mIzY0Ozwvc3Bhbj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwidXNlcm5hbWVcIiAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgcC0yXCI+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gcm9sYXRlY2hCYWNrQnV0dG9uPuWPlua2iDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTIwIG1sLTNcIiAoY2xpY2spPVwic2F2ZSgpXCI+5L+d5a2YPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9yb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuIl19
@@ -1,65 +0,0 @@
1
- import { Component, effect, inject } from '@angular/core';
2
- import { MatButton } from '@angular/material/button';
3
- import { AuthService, AuthUserService } from '@rolatech/angular-auth';
4
- import { AngularCommonModule } from '@rolatech/angular-common';
5
- import { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "@angular/material/button";
9
- import * as i3 from "@angular/material/form-field";
10
- import * as i4 from "@angular/material/input";
11
- export class PhoneComponent extends BaseComponent {
12
- constructor() {
13
- super();
14
- this.user = inject(AuthService).user;
15
- this.authUserService = inject(AuthUserService);
16
- this.phone = '';
17
- this.code = '';
18
- this.countDown = false;
19
- this.countDownTime = 60;
20
- this.showButtonText = '发送验证码';
21
- effect(() => {
22
- this.phone = this.user()?.phone;
23
- });
24
- }
25
- ngOnInit() { }
26
- sendSMSCode() {
27
- this.countDown = true;
28
- const start = setInterval(() => {
29
- if (this.countDownTime >= 0) {
30
- this.showButtonText = `${this.countDownTime--}秒重发`;
31
- }
32
- else {
33
- clearInterval(start);
34
- this.showButtonText = '重新发送';
35
- this.countDown = false;
36
- this.countDownTime = 60;
37
- }
38
- }, 1000);
39
- this.authUserService.sendSMSCode('+86', this.phone).subscribe({
40
- next: (res) => {
41
- this.snackBarService.open('发送成功');
42
- },
43
- error: (error) => {
44
- this.snackBarService.open(error.message);
45
- },
46
- });
47
- }
48
- save() {
49
- this.authUserService.changePhone(this.phone, this.code).subscribe({
50
- next: (res) => {
51
- this.snackBarService.open('修改成功');
52
- },
53
- error: (error) => {
54
- this.snackBarService.open(error.message);
55
- },
56
- });
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PhoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: PhoneComponent, isStandalone: true, selector: "rolatech-account-phone", usesInheritance: true, ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u624B\u673A\u53F7\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u624B\u673A\u53F7\u662F\u60A8\u5728\u672C\u7AD9\u7684\u552F\u4E00\u6807\u8BC6, \u66F4\u6539\u540E\u5C06\u540C\u65F6\u66F4\u6539\u7B2C\u4E09\u65B9\u7ED1\u5B9A\u7684\u624B\u673A\u53F7</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u624B\u673A\u53F7 </mat-label>\n <input matInput [(ngModel)]=\"phone\" required />\n </mat-form-field>\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9A8C\u8BC1\u7801 </mat-label>\n <input matInput [(ngModel)]=\"code\" required />\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px]\">\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-[128px] ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PhoneComponent, decorators: [{
62
- type: Component,
63
- args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, AppContainerComponent, ToolbarComponent, MatButton], selector: 'rolatech-account-phone', template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u624B\u673A\u53F7\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u624B\u673A\u53F7\u662F\u60A8\u5728\u672C\u7AD9\u7684\u552F\u4E00\u6807\u8BC6, \u66F4\u6539\u540E\u5C06\u540C\u65F6\u66F4\u6539\u7B2C\u4E09\u65B9\u7ED1\u5B9A\u7684\u624B\u673A\u53F7</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u624B\u673A\u53F7 </mat-label>\n <input matInput [(ngModel)]=\"phone\" required />\n </mat-form-field>\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u9A8C\u8BC1\u7801 </mat-label>\n <input matInput [(ngModel)]=\"code\" required />\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px]\">\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-[128px] ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n", styles: ["mat-form-field{width:100%}\n"] }]
64
- }], ctorParameters: () => [] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvcGhvbmUvcGhvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvcGhvbmUvcGhvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBUy9ILE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQVEvQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBUlYsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsT0FBTyxDQUFDO1FBR3ZCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFNLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxLQUFVLENBQUM7SUFFbkIsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7WUFDckQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRVQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUQsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEUsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EvQ1UsY0FBYztrR0FBZCxjQUFjLHlHQ2IzQixnekNBeUJBLHFGRGpCWSxtQkFBbUIsMjBCQUFFLHVCQUF1QixvekJBQUUscUJBQXFCLG1FQUFFLGdCQUFnQjs7MkZBS3BGLGNBQWM7a0JBUDFCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLFlBQ2pHLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBBdXRoVXNlclNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEFwcENvbnRhaW5lckNvbXBvbmVudCwgQmFzZUNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBBcHBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQsIE1hdEJ1dHRvbl0sXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYWNjb3VudC1waG9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9waG9uZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBob25lQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHVzZXIgPSBpbmplY3QoQXV0aFNlcnZpY2UpLnVzZXI7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBwaG9uZSA9ICcnO1xuICBjb2RlID0gJyc7XG4gIGNvdW50RG93biA9IGZhbHNlO1xuICBjb3VudERvd25UaW1lID0gNjA7XG4gIHNob3dCdXR0b25UZXh0ID0gJ+WPkemAgemqjOivgeeggSc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMucGhvbmUgPSB0aGlzLnVzZXIoKT8ucGhvbmUhO1xuICAgIH0pO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBzZW5kU01TQ29kZSgpIHtcbiAgICB0aGlzLmNvdW50RG93biA9IHRydWU7XG4gICAgY29uc3Qgc3RhcnQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb3VudERvd25UaW1lID49IDApIHtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uVGV4dCA9IGAke3RoaXMuY291bnREb3duVGltZS0tfeenkumHjeWPkWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKHN0YXJ0KTtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uVGV4dCA9ICfph43mlrDlj5HpgIEnO1xuICAgICAgICB0aGlzLmNvdW50RG93biA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvdW50RG93blRpbWUgPSA2MDtcbiAgICAgIH1cbiAgICB9LCAxMDAwKTtcblxuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLnNlbmRTTVNDb2RlKCcrODYnLCB0aGlzLnBob25lKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCflj5HpgIHmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHNhdmUoKSB7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2UuY2hhbmdlUGhvbmUodGhpcy5waG9uZSwgdGhpcy5jb2RlKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCfkv67mlLnmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLkv67mlLnmiYvmnLrlj7dcIiBsaW5rPVwiL3BlcnNvbmFsLWluZm9cIiBkaXZpZGVyPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgICA8cCBjbGFzcz1cInRleHQtbWRcIj7miYvmnLrlj7fmmK/mgqjlnKjmnKznq5nnmoTllK/kuIDmoIfor4YsIOabtOaUueWQjuWwhuWQjOaXtuabtOaUueesrOS4ieaWuee7keWumueahOaJi+acuuWPtzwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtdC02XCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPG1hdC1sYWJlbD4g5omL5py65Y+3IDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJwaG9uZVwiIHJlcXVpcmVkIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPiDpqozor4HnoIEgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiY29kZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2VuZFNNU0NvZGUoKVwiIFtkaXNhYmxlZF09XCJjb3VudERvd25cIiBjbGFzcz1cInctWzEyOHB4XVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPnt7IHNob3dCdXR0b25UZXh0IH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBtdC0zXCI+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gcm9sYXRlY2hCYWNrQnV0dG9uPuWPlua2iDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LVsxMjhweF0gbWwtM1wiIChjbGljayk9XCJzYXZlKClcIj7kv53lrZg8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLWFwcC1jb250YWluZXI+XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { AngularCommonModule } from '@rolatech/angular-common';
3
- import { AngularComponentsModule } from '@rolatech/angular-components';
4
- import * as i0 from "@angular/core";
5
- export class SecurityFaceidComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityFaceidComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: SecurityFaceidComponent, isStandalone: true, selector: "rolatech-account-security-faceid", ngImport: i0, template: "<p>security-faceid works!</p>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }] }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityFaceidComponent, decorators: [{
10
- type: Component,
11
- args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule], selector: 'rolatech-account-security-faceid', template: "<p>security-faceid works!</p>\n" }]
12
- }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktZmFjZWlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvbXlhY2NvdW50L3NlY3VyaXR5L3NlY3VyaXR5LWZhY2VpZC9zZWN1cml0eS1mYWNlaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktZmFjZWlkL3NlY3VyaXR5LWZhY2VpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQVN2RSxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7a0dBQXZCLHVCQUF1Qiw0RkNYcEMsaUNBQ0EseURES1ksbUJBQW1CLDhCQUFFLHVCQUF1Qjs7MkZBSzNDLHVCQUF1QjtrQkFQbkMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxZQUM3QyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZV0sXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYWNjb3VudC1zZWN1cml0eS1mYWNlaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VjdXJpdHktZmFjZWlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VjdXJpdHktZmFjZWlkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5RmFjZWlkQ29tcG9uZW50IHt9XG4iLCI8cD5zZWN1cml0eS1mYWNlaWQgd29ya3MhPC9wPlxuIl19
@@ -1,64 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { MatDialog } from '@angular/material/dialog';
3
- import { AuthService, FaceidDetectDialogComponent } from '@rolatech/angular-auth';
4
- import { AngularCommonModule } from '@rolatech/angular-common';
5
- import { AngularComponentsModule, AppContainerComponent, WechatConnectDialogComponent } from '@rolatech/angular-components';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@angular/material/divider";
9
- import * as i3 from "@angular/material/icon";
10
- import * as i4 from "@angular/material/list";
11
- export class SecurityIndexComponent {
12
- constructor() {
13
- this.dialog = inject(MatDialog);
14
- this.authService = inject(AuthService);
15
- this.bind = false;
16
- this.verified = false;
17
- }
18
- ngOnInit() {
19
- this.wechatStatus();
20
- }
21
- faceId() {
22
- const dialogRef = this.dialog.open(FaceidDetectDialogComponent, {
23
- data: {},
24
- });
25
- dialogRef.afterClosed().subscribe((result) => {
26
- this.verified = result;
27
- });
28
- }
29
- connectWeChat() {
30
- // const redirectUri = 'https://accounts.pinxiaoke.cn/login';
31
- const redirectUri = `${window.location.origin}/login`;
32
- const dialogRef = this.dialog.open(WechatConnectDialogComponent, {
33
- data: {
34
- appid: 'wx567acbea73439828',
35
- redirect_uri: redirectUri,
36
- state: 'add',
37
- },
38
- });
39
- dialogRef.afterClosed().subscribe((result) => {
40
- this.wechatStatus();
41
- });
42
- }
43
- disconnectWeChat() {
44
- this.authService.wechatDisconnect().subscribe({
45
- next: (res) => {
46
- this.bind = false;
47
- },
48
- });
49
- }
50
- wechatStatus() {
51
- this.authService.wechatStatus({ id: 'me' }).subscribe({
52
- next: (res) => {
53
- this.bind = res.data?.openid !== undefined;
54
- },
55
- });
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: SecurityIndexComponent, isStandalone: true, selector: "rolatech-account-security-index", ngImport: i0, template: "<rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u5B89\u5168\u8BBE\u7F6E</p>\n <p class=\"text-md\">\u7528\u6237\u4FE1\u606F\u7684\u5B89\u5168\u8BBE\u7F6E</p>\n </div>\n <div class=\"border border-grap-400 rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\">\u57FA\u672C\u8BBE\u7F6E</div>\n <mat-nav-list>\n <mat-list-item (click)=\"faceId()\">\n <div class=\"flex items-center justify-between\">\n <span>\u5B9E\u540D\u8BA4\u8BC1</span>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n @if (!verified) {\n <span class=\"mr-3\"> \u672A\u8BA4\u8BC1 </span>\n }\n @if (verified) {\n <a class=\"mr-3\"> \u5DF2\u8BA4\u8BC1 </a>\n }\n <!-- @if (bind) {\n <a class=\"mr-3\" (click)=\"disconnectWeChat()\"> \u89E3\u7ED1 </a>\n } -->\n </div>\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item>\n <div class=\"flex items-center justify-between\">\n <span>\u5FAE\u4FE1\u7ED1\u5B9A</span>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n @if (!bind) {\n <span class=\"mr-3\" (click)=\"connectWeChat()\"> \u7ED1\u5B9A </span>\n }\n @if (bind) {\n <a class=\"mr-3\"> \u5DF2\u7ED1\u5B9A </a>\n }\n <!-- @if (bind) {\n <a class=\"mr-3\" (click)=\"disconnectWeChat()\"> \u89E3\u7ED1 </a>\n } -->\n </div>\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item routerLink=\"./password\">\n <div class=\"flex items-center justify-between\">\n <span>\u5BC6\u7801\u8BBE\u7F6E</span>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n</rolatech-app-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }] }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityIndexComponent, decorators: [{
61
- type: Component,
62
- args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, AppContainerComponent], selector: 'rolatech-account-security-index', template: "<rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u5B89\u5168\u8BBE\u7F6E</p>\n <p class=\"text-md\">\u7528\u6237\u4FE1\u606F\u7684\u5B89\u5168\u8BBE\u7F6E</p>\n </div>\n <div class=\"border border-grap-400 rounded px-3 pt-3\">\n <div class=\"p-3 text-xl\">\u57FA\u672C\u8BBE\u7F6E</div>\n <mat-nav-list>\n <mat-list-item (click)=\"faceId()\">\n <div class=\"flex items-center justify-between\">\n <span>\u5B9E\u540D\u8BA4\u8BC1</span>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n @if (!verified) {\n <span class=\"mr-3\"> \u672A\u8BA4\u8BC1 </span>\n }\n @if (verified) {\n <a class=\"mr-3\"> \u5DF2\u8BA4\u8BC1 </a>\n }\n <!-- @if (bind) {\n <a class=\"mr-3\" (click)=\"disconnectWeChat()\"> \u89E3\u7ED1 </a>\n } -->\n </div>\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item>\n <div class=\"flex items-center justify-between\">\n <span>\u5FAE\u4FE1\u7ED1\u5B9A</span>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n @if (!bind) {\n <span class=\"mr-3\" (click)=\"connectWeChat()\"> \u7ED1\u5B9A </span>\n }\n @if (bind) {\n <a class=\"mr-3\"> \u5DF2\u7ED1\u5B9A </a>\n }\n <!-- @if (bind) {\n <a class=\"mr-3\" (click)=\"disconnectWeChat()\"> \u89E3\u7ED1 </a>\n } -->\n </div>\n </mat-list-item>\n <mat-divider></mat-divider>\n <mat-list-item routerLink=\"./password\">\n <div class=\"flex items-center justify-between\">\n <span>\u5BC6\u7801\u8BBE\u7F6E</span>\n <!-- <mat-icon mat-list-icon>arrow_drop_down</mat-icon> -->\n <span>\n <mat-icon> navigate_next </mat-icon>\n </span>\n </div>\n </mat-list-item>\n </mat-nav-list>\n </div>\n </div>\n</rolatech-app-container>\n" }]
63
- }], ctorParameters: () => [] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktaW5kZXgvc2VjdXJpdHktaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktaW5kZXgvc2VjdXJpdHktaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBUzVILE1BQU0sT0FBTyxzQkFBc0I7SUFNakM7UUFMQSxXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBRUYsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxNQUFNO1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDOUQsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsYUFBYTtRQUNYLDZEQUE2RDtRQUM3RCxNQUFNLFdBQVcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxRQUFRLENBQUM7UUFFdEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDL0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxvQkFBb0I7Z0JBQzNCLFlBQVksRUFBRSxXQUFXO2dCQUN6QixLQUFLLEVBQUUsS0FBSzthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzVDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssU0FBUyxDQUFDO1lBQzdDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQS9DVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwyRkNibkMsOG9FQXNEQSx5REQ5Q1ksbUJBQW1CLCtRQUFFLHVCQUF1QiwyaEJBQUUscUJBQXFCOzsyRkFLbEUsc0JBQXNCO2tCQVBsQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDLFlBQ3BFLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgRmFjZWlkRGV0ZWN0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItYXV0aCc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBBcHBDb250YWluZXJDb21wb25lbnQsIFdlY2hhdENvbm5lY3REaWFsb2dDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQXBwQ29udGFpbmVyQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LXNlY3VyaXR5LWluZGV4JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlY3VyaXR5LWluZGV4LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VjdXJpdHktaW5kZXguY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlJbmRleENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIGJpbmQgPSBmYWxzZTtcbiAgdmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy53ZWNoYXRTdGF0dXMoKTtcbiAgfVxuICBmYWNlSWQoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihGYWNlaWREZXRlY3REaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHt9LFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLnZlcmlmaWVkID0gcmVzdWx0O1xuICAgIH0pO1xuICB9XG4gIGNvbm5lY3RXZUNoYXQoKSB7XG4gICAgLy8gY29uc3QgcmVkaXJlY3RVcmkgPSAnaHR0cHM6Ly9hY2NvdW50cy5waW54aWFva2UuY24vbG9naW4nO1xuICAgIGNvbnN0IHJlZGlyZWN0VXJpID0gYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vbG9naW5gO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihXZWNoYXRDb25uZWN0RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGFwcGlkOiAnd3g1NjdhY2JlYTczNDM5ODI4JyxcbiAgICAgICAgcmVkaXJlY3RfdXJpOiByZWRpcmVjdFVyaSxcbiAgICAgICAgc3RhdGU6ICdhZGQnLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgdGhpcy53ZWNoYXRTdGF0dXMoKTtcbiAgICB9KTtcbiAgfVxuICBkaXNjb25uZWN0V2VDaGF0KCkge1xuICAgIHRoaXMuYXV0aFNlcnZpY2Uud2VjaGF0RGlzY29ubmVjdCgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuYmluZCA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICB3ZWNoYXRTdGF0dXMoKSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS53ZWNoYXRTdGF0dXMoeyBpZDogJ21lJyB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmJpbmQgPSByZXMuZGF0YT8ub3BlbmlkICE9PSB1bmRlZmluZWQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiAgPGRpdiBjbGFzcz1cIm1heC13LVs4MjBweF0gbS0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHAtMyBtYi0xMlwiPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LTN4bFwiPuWuieWFqOiuvue9rjwvcD5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC1tZFwiPueUqOaIt+S/oeaBr+eahOWuieWFqOiuvue9rjwvcD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyIGJvcmRlci1ncmFwLTQwMCByb3VuZGVkIHB4LTMgcHQtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInAtMyB0ZXh0LXhsXCI+5Z+65pys6K6+572uPC9kaXY+XG4gICAgICA8bWF0LW5hdi1saXN0PlxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwiZmFjZUlkKClcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8c3Bhbj7lrp7lkI3orqTor4E8L3NwYW4+XG4gICAgICAgICAgICA8IS0tIDxtYXQtaWNvbiBtYXQtbGlzdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+IC0tPlxuICAgICAgICAgICAgQGlmICghdmVyaWZpZWQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtci0zXCI+IOacquiupOivgSA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwibXItM1wiPiDlt7LorqTor4EgPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPCEtLSBAaWYgKGJpbmQpIHtcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibXItM1wiIChjbGljayk9XCJkaXNjb25uZWN0V2VDaGF0KClcIj4g6Kej57uRIDwvYT5cbiAgICAgICAgICB9IC0tPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8c3Bhbj7lvq7kv6Hnu5Hlrpo8L3NwYW4+XG4gICAgICAgICAgICA8IS0tIDxtYXQtaWNvbiBtYXQtbGlzdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+IC0tPlxuICAgICAgICAgICAgQGlmICghYmluZCkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yLTNcIiAoY2xpY2spPVwiY29ubmVjdFdlQ2hhdCgpXCI+IOe7keWumiA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGJpbmQpIHtcbiAgICAgICAgICAgICAgPGEgY2xhc3M9XCJtci0zXCI+IOW3sue7keWumiA8L2E+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8IS0tIEBpZiAoYmluZCkge1xuICAgICAgICAgICAgPGEgY2xhc3M9XCJtci0zXCIgKGNsaWNrKT1cImRpc2Nvbm5lY3RXZUNoYXQoKVwiPiDop6Pnu5EgPC9hPlxuICAgICAgICAgIH0gLS0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIHJvdXRlckxpbms9XCIuL3Bhc3N3b3JkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgPHNwYW4+5a+G56CB6K6+572uPC9zcGFuPlxuICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0LWxpc3QtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPiAtLT5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8bWF0LWljb24+IG5hdmlnYXRlX25leHQgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgPC9tYXQtbmF2LWxpc3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9yb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuIl19