@rolatech/angular-account 17.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/esm2022/index.mjs +3 -0
- package/esm2022/lib/account.routes.mjs +72 -0
- package/esm2022/lib/components/avatar-update-dialog/avatar-update-dialog.component.mjs +65 -0
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +13 -0
- package/esm2022/lib/components/login/login-wechat/login-wechat.component.mjs +42 -0
- package/esm2022/lib/components/login/login.routes.mjs +4 -0
- package/esm2022/lib/components/logout/logout.component.mjs +46 -0
- package/esm2022/lib/components/passwordreset/passwordreset.component.mjs +13 -0
- package/esm2022/lib/components/signin/signin.component.mjs +148 -0
- package/esm2022/lib/components/signup/signup.component.mjs +82 -0
- package/esm2022/lib/contant/user.mjs +7 -0
- package/esm2022/lib/pages/myaccount/email/email.component.mjs +41 -0
- package/esm2022/lib/pages/myaccount/email-verification/email-verification.component.mjs +26 -0
- package/esm2022/lib/pages/myaccount/gender/gender.component.mjs +46 -0
- package/esm2022/lib/pages/myaccount/home/home.component.mjs +22 -0
- package/esm2022/lib/pages/myaccount/personal-info/info.component.mjs +45 -0
- package/esm2022/lib/pages/myaccount/personal-info/profile/profile.component.mjs +41 -0
- package/esm2022/lib/pages/myaccount/personal-info/username/username.component.mjs +41 -0
- package/esm2022/lib/pages/myaccount/phone/phone.component.mjs +70 -0
- package/esm2022/lib/pages/myaccount/security/security-faceid/security-faceid.component.mjs +13 -0
- package/esm2022/lib/pages/myaccount/security/security-index/security-index.component.mjs +64 -0
- package/esm2022/lib/pages/myaccount/security/security-password/security-password.component.mjs +50 -0
- package/esm2022/lib/pages/myaccount/security/security-verification/security-verification.component.mjs +88 -0
- package/esm2022/lib/pages/myaccount/security/security.routes.mjs +20 -0
- package/esm2022/lib/services/wechat-login.service.mjs +16 -0
- package/esm2022/provider.mjs +14 -0
- package/esm2022/rolatech-angular-account.mjs +5 -0
- package/fesm2022/rolatech-angular-account-email-verification.component-4RClhLI4.mjs +29 -0
- package/fesm2022/rolatech-angular-account-email-verification.component-4RClhLI4.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-email.component-oRTdxJLo.mjs +44 -0
- package/fesm2022/rolatech-angular-account-email.component-oRTdxJLo.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-gender.component-egCF_zI_.mjs +49 -0
- package/fesm2022/rolatech-angular-account-gender.component-egCF_zI_.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-home.component-B2Rmr4Iw.mjs +25 -0
- package/fesm2022/rolatech-angular-account-home.component-B2Rmr4Iw.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-info.component-CMWD6CDB.mjs +107 -0
- package/fesm2022/rolatech-angular-account-info.component-CMWD6CDB.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-login.routes-NPLzDeHN.mjs +56 -0
- package/fesm2022/rolatech-angular-account-login.routes-NPLzDeHN.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-phone.component-CJ8DeuFr.mjs +73 -0
- package/fesm2022/rolatech-angular-account-phone.component-CJ8DeuFr.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-profile.component-BN_pBKMU.mjs +44 -0
- package/fesm2022/rolatech-angular-account-profile.component-BN_pBKMU.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-Dqz2XIdy.mjs +380 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-Dqz2XIdy.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-security.routes-S3BzviKf.mjs +206 -0
- package/fesm2022/rolatech-angular-account-security.routes-S3BzviKf.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-user-CK_zEFn_.mjs +9 -0
- package/fesm2022/rolatech-angular-account-user-CK_zEFn_.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-username.component-C6pM8g84.mjs +44 -0
- package/fesm2022/rolatech-angular-account-username.component-C6pM8g84.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account.mjs +15 -0
- package/fesm2022/rolatech-angular-account.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/lib/account.routes.d.ts +3 -0
- package/lib/components/avatar-update-dialog/avatar-update-dialog.component.d.ts +23 -0
- package/lib/components/forgot-password/forgot-password.component.d.ts +8 -0
- package/lib/components/login/login-wechat/login-wechat.component.d.ts +15 -0
- package/lib/components/login/login.routes.d.ts +3 -0
- package/lib/components/logout/logout.component.d.ts +19 -0
- package/lib/components/passwordreset/passwordreset.component.d.ts +8 -0
- package/lib/components/signin/signin.component.d.ts +39 -0
- package/lib/components/signup/signup.component.d.ts +21 -0
- package/lib/contant/user.d.ts +5 -0
- package/lib/pages/myaccount/email/email.component.d.ts +14 -0
- package/lib/pages/myaccount/email-verification/email-verification.component.d.ts +9 -0
- package/lib/pages/myaccount/gender/gender.component.d.ts +14 -0
- package/lib/pages/myaccount/home/home.component.d.ts +12 -0
- package/lib/pages/myaccount/personal-info/info.component.d.ts +16 -0
- package/lib/pages/myaccount/personal-info/profile/profile.component.d.ts +14 -0
- package/lib/pages/myaccount/personal-info/username/username.component.d.ts +14 -0
- package/lib/pages/myaccount/phone/phone.component.d.ts +19 -0
- package/lib/pages/myaccount/security/security-faceid/security-faceid.component.d.ts +5 -0
- package/lib/pages/myaccount/security/security-index/security-index.component.d.ts +18 -0
- package/lib/pages/myaccount/security/security-password/security-password.component.d.ts +16 -0
- package/lib/pages/myaccount/security/security-verification/security-verification.component.d.ts +24 -0
- package/lib/pages/myaccount/security/security.routes.d.ts +3 -0
- package/lib/services/wechat-login.service.d.ts +8 -0
- package/package.json +31 -0
- package/provider.d.ts +2 -0
- package/themes/_default.scss +1 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Component, inject } from '@angular/core';
|
|
2
|
+
import { AuthUserService } from '@rolatech/angular-auth';
|
|
3
|
+
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
4
|
+
import { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';
|
|
5
|
+
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
import * as i3 from "@angular/material/button";
|
|
10
|
+
import * as i4 from "@angular/material/divider";
|
|
11
|
+
import * as i5 from "@angular/material/icon";
|
|
12
|
+
import * as i6 from "@angular/material/form-field";
|
|
13
|
+
import * as i7 from "@angular/material/input";
|
|
14
|
+
export class PhoneComponent extends BaseComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.authUserService = inject(AuthUserService);
|
|
18
|
+
this.phone = '';
|
|
19
|
+
this.code = '';
|
|
20
|
+
this.countDown = false;
|
|
21
|
+
this.countDownTime = 60;
|
|
22
|
+
this.showButtonText = '发送验证码';
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.authUserService.me().subscribe({
|
|
26
|
+
next: (res) => {
|
|
27
|
+
this.phone = res.phone;
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
sendSMSCode() {
|
|
32
|
+
this.countDown = true;
|
|
33
|
+
const start = setInterval(() => {
|
|
34
|
+
if (this.countDownTime >= 0) {
|
|
35
|
+
this.showButtonText = `${this.countDownTime--}秒重发`;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
clearInterval(start);
|
|
39
|
+
this.showButtonText = '重新发送';
|
|
40
|
+
this.countDown = false;
|
|
41
|
+
this.countDownTime = 60;
|
|
42
|
+
}
|
|
43
|
+
}, 1000);
|
|
44
|
+
this.authUserService.sendSMSCode('+86', this.phone).subscribe({
|
|
45
|
+
next: (res) => {
|
|
46
|
+
this.snackBarService.open('发送成功');
|
|
47
|
+
},
|
|
48
|
+
error: (error) => {
|
|
49
|
+
this.snackBarService.open(error.message);
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
save() {
|
|
54
|
+
this.authUserService.changePhone(this.phone, this.code).subscribe({
|
|
55
|
+
next: (res) => {
|
|
56
|
+
this.snackBarService.open('修改成功');
|
|
57
|
+
},
|
|
58
|
+
error: (error) => {
|
|
59
|
+
this.snackBarService.open(error.message);
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: PhoneComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: PhoneComponent, isStandalone: true, selector: "rolatech-account-phone", usesInheritance: true, ngImport: i0, template: "<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">\u4FEE\u6539\u624B\u673A\u53F7</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n\n <div class=\"max-w-[1120px] m-auto px-6\">\n <p class=\"text-md my-3\">\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-3\">\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-start 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\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n [ngClass]=\"countDown ? 'bg-orange-300' : 'bg-orange-600 shadow shadow-gray-300 cursor-pointer'\"\n class=\"w-[128px] p-2 mt-2 text-white rounded text-center\"\n >\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-[128px] p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.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]" }] }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: PhoneComponent, decorators: [{
|
|
67
|
+
type: Component,
|
|
68
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective], selector: 'rolatech-account-phone', template: "<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">\u4FEE\u6539\u624B\u673A\u53F7</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n\n <div class=\"max-w-[1120px] m-auto px-6\">\n <p class=\"text-md my-3\">\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-3\">\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-start 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\n (click)=\"sendSMSCode()\"\n [disabled]=\"countDown\"\n [ngClass]=\"countDown ? 'bg-orange-300' : 'bg-orange-600 shadow shadow-gray-300 cursor-pointer'\"\n class=\"w-[128px] p-2 mt-2 text-white rounded text-center\"\n >\n <span class=\"text-sm\">{{ showButtonText }}</span>\n </button>\n </div>\n </div>\n\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-[128px] p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
|
|
69
|
+
}] });
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvcGhvbmUvcGhvbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvcGhvbmUvcGhvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7O0FBVWpFLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQVBqRDs7UUFRRSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUxQyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxPQUFPLENBQUM7S0EwQzFCO0lBeENDLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUNsQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM3QixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztZQUNyRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQzFCLENBQUM7UUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFVCxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM1RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNoRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWhEVSxjQUFjO2tHQUFkLGNBQWMseUdDZDNCLHczREErQ0EscUZEdENZLG1CQUFtQix5NkJBQUUsdUJBQXVCLDZpQ0FBRSxtQkFBbUI7OzJGQUtoRSxjQUFjO2tCQVAxQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixDQUFDLFlBQ2xFLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQmFja0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLXNlcnZpY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBbmd1bGFyQ29tbW9uTW9kdWxlLCBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQmFja0J1dHRvbkRpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYWNjb3VudC1waG9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9waG9uZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob25lLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBob25lQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICB1c2VyJCE6IE9ic2VydmFibGU8YW55PjtcbiAgcGhvbmUgPSAnJztcbiAgY29kZSA9ICcnO1xuICBjb3VudERvd24gPSBmYWxzZTtcbiAgY291bnREb3duVGltZSA9IDYwO1xuICBzaG93QnV0dG9uVGV4dCA9ICflj5HpgIHpqozor4HnoIEnO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLm1lKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5waG9uZSA9IHJlcy5waG9uZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBzZW5kU01TQ29kZSgpIHtcbiAgICB0aGlzLmNvdW50RG93biA9IHRydWU7XG4gICAgY29uc3Qgc3RhcnQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb3VudERvd25UaW1lID49IDApIHtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uVGV4dCA9IGAke3RoaXMuY291bnREb3duVGltZS0tfeenkumHjeWPkWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGVhckludGVydmFsKHN0YXJ0KTtcbiAgICAgICAgdGhpcy5zaG93QnV0dG9uVGV4dCA9ICfph43mlrDlj5HpgIEnO1xuICAgICAgICB0aGlzLmNvdW50RG93biA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvdW50RG93blRpbWUgPSA2MDtcbiAgICAgIH1cbiAgICB9LCAxMDAwKTtcblxuICAgIHRoaXMuYXV0aFVzZXJTZXJ2aWNlLnNlbmRTTVNDb2RlKCcrODYnLCB0aGlzLnBob25lKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCflj5HpgIHmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHNhdmUoKSB7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2UuY2hhbmdlUGhvbmUodGhpcy5waG9uZSwgdGhpcy5jb2RlKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCfkv67mlLnmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtMyBtYXgtdy1bMTEyMHB4XSBtLWF1dG9cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTExIGgtMTEgY3Vyc29yLXBvaW50ZXJcIiByb2xhdGVjaEJhY2tCdXR0b24+XG4gICAgICAgIDxtYXQtaWNvbj5hcnJvd19iYWNrPC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXhsIGZvbnQtbWVkaXVtXCI+5L+u5pS55omL5py65Y+3PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInB4LTRcIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1heC13LVsxMTIwcHhdIG0tYXV0byBweC02XCI+XG4gICAgPHAgY2xhc3M9XCJ0ZXh0LW1kIG15LTNcIj7miYvmnLrlj7fmmK/mgqjlnKjmnKznq5nnmoTllK/kuIDmoIfor4YsIOabtOaUueWQjuWwhuWQjOaXtuabtOaUueesrOS4ieaWuee7keWumueahOaJi+acuuWPtzwvcD5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBtdC0zXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPG1hdC1sYWJlbD4g5omL5py65Y+3IDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJwaG9uZVwiIHJlcXVpcmVkIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLXN0YXJ0IGdhcC0zXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+IOmqjOivgeeggSA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJjb2RlXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJzZW5kU01TQ29kZSgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiY291bnREb3duXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJjb3VudERvd24gPyAnYmctb3JhbmdlLTMwMCcgOiAnYmctb3JhbmdlLTYwMCBzaGFkb3cgc2hhZG93LWdyYXktMzAwIGN1cnNvci1wb2ludGVyJ1wiXG4gICAgICAgICAgY2xhc3M9XCJ3LVsxMjhweF0gcC0yIG10LTIgdGV4dC13aGl0ZSByb3VuZGVkIHRleHQtY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbVwiPnt7IHNob3dCdXR0b25UZXh0IH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIG10LTNcIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiByb2xhdGVjaEJhY2tCdXR0b24+5Y+W5raIPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYmctb3JhbmdlLTYwMCBzaGFkb3cgc2hhZG93LWdyYXktMzAwIGN1cnNvci1wb2ludGVyIHctWzEyOHB4XSBwLTIgdGV4dC13aGl0ZSByb3VuZGVkIHRleHQtY2VudGVyIG1sLTNcIlxuICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICAgID5cbiAgICAgICAg5L+d5a2YXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
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: "17.2.1", ngImport: i0, type: SecurityFaceidComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.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: "17.2.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
|
|
@@ -0,0 +1,64 @@
|
|
|
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, 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: "17.2.1", ngImport: i0, type: SecurityIndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: SecurityIndexComponent, isStandalone: true, selector: "rolatech-account-security-index", ngImport: i0, template: "<div class=\"max-w-[1120px] m-auto\">\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</div>\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"] }] }); }
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SecurityIndexComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule], selector: 'rolatech-account-security-index', template: "<div class=\"max-w-[1120px] m-auto\">\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</div>\n" }]
|
|
63
|
+
}], ctorParameters: () => [] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktaW5kZXgvc2VjdXJpdHktaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktaW5kZXgvc2VjdXJpdHktaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBU3JHLE1BQU0sT0FBTyxzQkFBc0I7SUFNakM7UUFMQSxXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBRUYsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxNQUFNO1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDOUQsSUFBSSxFQUFFLEVBQUU7U0FDVCxDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsYUFBYTtRQUNYLDZEQUE2RDtRQUM3RCxNQUFNLFdBQVcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxRQUFRLENBQUM7UUFFdEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDL0QsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxvQkFBb0I7Z0JBQzNCLFlBQVksRUFBRSxXQUFXO2dCQUN6QixLQUFLLEVBQUUsS0FBSzthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDO1lBQzVDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWTtRQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BELElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssU0FBUyxDQUFDO1lBQzdDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQS9DVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwyRkNibkMsd29FQXNEQSx5REQ5Q1ksbUJBQW1CLCtRQUFFLHVCQUF1Qjs7MkZBSzNDLHNCQUFzQjtrQkFQbEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsQ0FBQyxZQUM3QyxpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEZhY2VpZERldGVjdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgV2VjaGF0Q29ubmVjdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LXNlY3VyaXR5LWluZGV4JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlY3VyaXR5LWluZGV4LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VjdXJpdHktaW5kZXguY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlJbmRleENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIGJpbmQgPSBmYWxzZTtcbiAgdmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy53ZWNoYXRTdGF0dXMoKTtcbiAgfVxuICBmYWNlSWQoKSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihGYWNlaWREZXRlY3REaWFsb2dDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHt9LFxuICAgIH0pO1xuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLnZlcmlmaWVkID0gcmVzdWx0O1xuICAgIH0pO1xuICB9XG4gIGNvbm5lY3RXZUNoYXQoKSB7XG4gICAgLy8gY29uc3QgcmVkaXJlY3RVcmkgPSAnaHR0cHM6Ly9hY2NvdW50cy5waW54aWFva2UuY24vbG9naW4nO1xuICAgIGNvbnN0IHJlZGlyZWN0VXJpID0gYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vbG9naW5gO1xuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihXZWNoYXRDb25uZWN0RGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIGFwcGlkOiAnd3g1NjdhY2JlYTczNDM5ODI4JyxcbiAgICAgICAgcmVkaXJlY3RfdXJpOiByZWRpcmVjdFVyaSxcbiAgICAgICAgc3RhdGU6ICdhZGQnLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgdGhpcy53ZWNoYXRTdGF0dXMoKTtcbiAgICB9KTtcbiAgfVxuICBkaXNjb25uZWN0V2VDaGF0KCkge1xuICAgIHRoaXMuYXV0aFNlcnZpY2Uud2VjaGF0RGlzY29ubmVjdCgpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuYmluZCA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICB3ZWNoYXRTdGF0dXMoKSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS53ZWNoYXRTdGF0dXMoeyBpZDogJ21lJyB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLmJpbmQgPSByZXMuZGF0YT8ub3BlbmlkICE9PSB1bmRlZmluZWQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibWF4LXctWzExMjBweF0gbS1hdXRvXCI+XG4gIDxkaXYgY2xhc3M9XCJtYXgtdy1bODIwcHhdIG0tM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwLTMgbWItMTJcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC0zeGxcIj7lronlhajorr7nva48L3A+XG4gICAgICA8cCBjbGFzcz1cInRleHQtbWRcIj7nlKjmiLfkv6Hmga/nmoTlronlhajorr7nva48L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvcmRlciBib3JkZXItZ3JhcC00MDAgcm91bmRlZCBweC0zIHB0LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwLTMgdGV4dC14bFwiPuWfuuacrOiuvue9rjwvZGl2PlxuICAgICAgPG1hdC1uYXYtbGlzdD5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cImZhY2VJZCgpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgPHNwYW4+5a6e5ZCN6K6k6K+BPC9zcGFuPlxuICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0LWxpc3QtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPiAtLT5cbiAgICAgICAgICAgIEBpZiAoIXZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXItM1wiPiDmnKrorqTor4EgPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh2ZXJpZmllZCkge1xuICAgICAgICAgICAgICA8YSBjbGFzcz1cIm1yLTNcIj4g5bey6K6k6K+BIDwvYT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gQGlmIChiaW5kKSB7XG4gICAgICAgICAgICA8YSBjbGFzcz1cIm1yLTNcIiAoY2xpY2spPVwiZGlzY29ubmVjdFdlQ2hhdCgpXCI+IOino+e7kSA8L2E+XG4gICAgICAgICAgfSAtLT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlblwiPlxuICAgICAgICAgICAgPHNwYW4+5b6u5L+h57uR5a6aPC9zcGFuPlxuICAgICAgICAgICAgPCEtLSA8bWF0LWljb24gbWF0LWxpc3QtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPiAtLT5cbiAgICAgICAgICAgIEBpZiAoIWJpbmQpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtci0zXCIgKGNsaWNrKT1cImNvbm5lY3RXZUNoYXQoKVwiPiDnu5HlrpogPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChiaW5kKSB7XG4gICAgICAgICAgICAgIDxhIGNsYXNzPVwibXItM1wiPiDlt7Lnu5HlrpogPC9hPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPCEtLSBAaWYgKGJpbmQpIHtcbiAgICAgICAgICAgIDxhIGNsYXNzPVwibXItM1wiIChjbGljayk9XCJkaXNjb25uZWN0V2VDaGF0KClcIj4g6Kej57uRIDwvYT5cbiAgICAgICAgICB9IC0tPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8bWF0LWxpc3QtaXRlbSByb3V0ZXJMaW5rPVwiLi9wYXNzd29yZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgIDxzcGFuPuWvhueggeiuvue9rjwvc3Bhbj5cbiAgICAgICAgICAgIDwhLS0gPG1hdC1pY29uIG1hdC1saXN0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj4gLS0+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uPiBuYXZpZ2F0ZV9uZXh0IDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgIDwvbWF0LW5hdi1saXN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
package/esm2022/lib/pages/myaccount/security/security-password/security-password.component.mjs
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { FormBuilder, Validators } from '@angular/forms';
|
|
3
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
4
|
+
import { AuthService } from '@rolatech/angular-auth';
|
|
5
|
+
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
6
|
+
import { AngularComponentsModule } from '@rolatech/angular-components';
|
|
7
|
+
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/forms";
|
|
10
|
+
import * as i2 from "@rolatech/angular-auth";
|
|
11
|
+
import * as i3 from "@angular/material/snack-bar";
|
|
12
|
+
import * as i4 from "@angular/material/button";
|
|
13
|
+
import * as i5 from "@angular/material/divider";
|
|
14
|
+
import * as i6 from "@angular/material/icon";
|
|
15
|
+
import * as i7 from "@angular/material/form-field";
|
|
16
|
+
import * as i8 from "@angular/material/input";
|
|
17
|
+
export class SecurityPasswordComponent {
|
|
18
|
+
constructor(formBuilder, authService, snackBar) {
|
|
19
|
+
this.formBuilder = formBuilder;
|
|
20
|
+
this.authService = authService;
|
|
21
|
+
this.snackBar = snackBar;
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.passwordForm = this.formBuilder.group({
|
|
25
|
+
oldPassword: ['', Validators.required],
|
|
26
|
+
newPassword: ['', Validators.required],
|
|
27
|
+
ne2Password: ['', Validators.required],
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
save() {
|
|
31
|
+
if (!this.passwordForm.valid) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.authService.changePassword(this.passwordForm.value).subscribe({
|
|
35
|
+
next: (res) => {
|
|
36
|
+
this.snackBar.open(res.message);
|
|
37
|
+
},
|
|
38
|
+
error: (e) => {
|
|
39
|
+
this.snackBar.open(e.message);
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SecurityPasswordComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AuthService }, { token: i3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SecurityPasswordComponent, isStandalone: true, selector: "rolatech-account-security-password", ngImport: i0, template: "<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">\u4FEE\u6539\u5BC6\u7801</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n</div>\n<div class=\"max-w-[1120px] m-auto px-6\">\n <p class=\"text-md my-3\">\u4FEE\u6539\u7528\u6237\u5BC6\u7801</p>\n <div class=\"mt-3\">\n <form [formGroup]=\"passwordForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u539F\u5BC6\u7801</mat-label>\n <input matInput type=\"password\" formControlName=\"oldPassword\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u65B0\u5BC6\u7801 </mat-label>\n <input matInput type=\"password\" formControlName=\"newPassword\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u65B0\u5BC6\u7801 </mat-label>\n <input matInput type=\"password\" formControlName=\"ne2Password\" required />\n </mat-form-field>\n </div>\n </form>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-[128px] p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { 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.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i8.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]" }] }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SecurityPasswordComponent, decorators: [{
|
|
47
|
+
type: Component,
|
|
48
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective], selector: 'rolatech-account-security-password', template: "<div>\n <div class=\"px-3 max-w-[1120px] m-auto\">\n <div class=\"flex items-center\">\n <div class=\"flex items-center justify-center w-11 h-11 cursor-pointer\" rolatechBackButton>\n <mat-icon>arrow_back</mat-icon>\n </div>\n <span class=\"text-xl font-medium\">\u4FEE\u6539\u5BC6\u7801</span>\n </div>\n </div>\n <div class=\"px-4\">\n <mat-divider></mat-divider>\n </div>\n</div>\n<div class=\"max-w-[1120px] m-auto px-6\">\n <p class=\"text-md my-3\">\u4FEE\u6539\u7528\u6237\u5BC6\u7801</p>\n <div class=\"mt-3\">\n <form [formGroup]=\"passwordForm\">\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <mat-label> \u539F\u5BC6\u7801</mat-label>\n <input matInput type=\"password\" formControlName=\"oldPassword\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u65B0\u5BC6\u7801 </mat-label>\n <input matInput type=\"password\" formControlName=\"newPassword\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> \u65B0\u5BC6\u7801 </mat-label>\n <input matInput type=\"password\" formControlName=\"ne2Password\" required />\n </mat-form-field>\n </div>\n </form>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-[128px] p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
49
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.AuthService }, { type: i3.MatSnackBar }] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktcGFzc3dvcmQvc2VjdXJpdHktcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktcGFzc3dvcmQvc2VjdXJpdHktcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWEsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7QUFTakUsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUNVLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLFFBQXFCO1FBRnJCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWE7SUFDNUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3pDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3RDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNqRSxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBNUJVLHlCQUF5QjtrR0FBekIseUJBQXlCLDhGQ2Z0Qywrb0RBMkNBLHlERGpDWSxtQkFBbUIseXFDQUFFLHVCQUF1Qiw2aUNBQUUsbUJBQW1COzsyRkFLaEUseUJBQXlCO2tCQVByQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixDQUFDLFlBQ2xFLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7IEFuZ3VsYXJDb21tb25Nb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEJhY2tCdXR0b25EaXJlY3RpdmUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEJhY2tCdXR0b25EaXJlY3RpdmVdLFxuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWFjY291bnQtc2VjdXJpdHktcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VjdXJpdHktcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWN1cml0eS1wYXNzd29yZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWN1cml0eVBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcGFzc3dvcmRGb3JtITogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXNzd29yZEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIG9sZFBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgbmV3UGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBuZTJQYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICB9KTtcbiAgfVxuICBzYXZlKCkge1xuICAgIGlmICghdGhpcy5wYXNzd29yZEZvcm0udmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hdXRoU2VydmljZS5jaGFuZ2VQYXNzd29yZCh0aGlzLnBhc3N3b3JkRm9ybS52YWx1ZSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4ocmVzLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXY+XG4gIDxkaXYgY2xhc3M9XCJweC0zIG1heC13LVsxMTIwcHhdIG0tYXV0b1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctMTEgaC0xMSBjdXJzb3ItcG9pbnRlclwiIHJvbGF0ZWNoQmFja0J1dHRvbj5cbiAgICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQteGwgZm9udC1tZWRpdW1cIj7kv67mlLnlr4bnoIE8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicHgtNFwiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cIm1heC13LVsxMTIwcHhdIG0tYXV0byBweC02XCI+XG4gIDxwIGNsYXNzPVwidGV4dC1tZCBteS0zXCI+5L+u5pS555So5oi35a+G56CBPC9wPlxuICA8ZGl2IGNsYXNzPVwibXQtM1wiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwicGFzc3dvcmRGb3JtXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPiDljp/lr4bnoIE8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgZm9ybUNvbnRyb2xOYW1lPVwib2xkUGFzc3dvcmRcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPiDmlrDlr4bnoIEgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJwYXNzd29yZFwiIGZvcm1Db250cm9sTmFtZT1cIm5ld1Bhc3N3b3JkXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD4g5paw5a+G56CBIDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJuZTJQYXNzd29yZFwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIG10LTNcIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiByb2xhdGVjaEJhY2tCdXR0b24+5Y+W5raIPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYmctb3JhbmdlLTYwMCBzaGFkb3cgc2hhZG93LWdyYXktMzAwIGN1cnNvci1wb2ludGVyIHctWzEyOHB4XSBwLTIgdGV4dC13aGl0ZSByb3VuZGVkIHRleHQtY2VudGVyIG1sLTNcIlxuICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICAgID5cbiAgICAgICAg5L+d5a2YXG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Component, ElementRef, Renderer2, ViewChild, inject } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { AuthService } from '@rolatech/angular-auth';
|
|
4
|
+
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
|
+
import { AngularComponentsModule, LoadingSpinnerComponent } from '@rolatech/angular-components';
|
|
6
|
+
import * as QRCode from 'qrcode';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/button";
|
|
9
|
+
export class SecurityVerificationComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.dialog = inject(MatDialog);
|
|
12
|
+
this.authService = inject(AuthService);
|
|
13
|
+
this.verified = false;
|
|
14
|
+
this.renderer = inject(Renderer2);
|
|
15
|
+
this.loading = false;
|
|
16
|
+
this.BizToken = '';
|
|
17
|
+
this.identification = {};
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.check();
|
|
21
|
+
}
|
|
22
|
+
check() {
|
|
23
|
+
this.authService.faceIdStatus().subscribe({
|
|
24
|
+
next: (res) => {
|
|
25
|
+
this.verified = res.data.verified;
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
verify() {
|
|
30
|
+
this.loading = true;
|
|
31
|
+
this.authService.requestFaceIdDetect().subscribe({
|
|
32
|
+
next: ({ data }) => {
|
|
33
|
+
this.genQRCode(data.url);
|
|
34
|
+
// this.loop();
|
|
35
|
+
},
|
|
36
|
+
error: () => {
|
|
37
|
+
this.loading = false;
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
loop() {
|
|
42
|
+
const interval = setInterval(() => {
|
|
43
|
+
this.authService.faceIdStatus().subscribe({
|
|
44
|
+
next: (res) => {
|
|
45
|
+
if (res) {
|
|
46
|
+
clearInterval(interval);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
this;
|
|
51
|
+
}, 2000);
|
|
52
|
+
}
|
|
53
|
+
genQRCode(url) {
|
|
54
|
+
const element = this.renderer.createElement('canvas');
|
|
55
|
+
this.toCanvas(element, url)
|
|
56
|
+
.then(() => {
|
|
57
|
+
this.renderElement(element);
|
|
58
|
+
})
|
|
59
|
+
.catch((e) => {
|
|
60
|
+
this.removeElementChildren();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
toCanvas(canvas, url) {
|
|
64
|
+
return QRCode.toCanvas(canvas, url, {
|
|
65
|
+
errorCorrectionLevel: 'M',
|
|
66
|
+
width: 200,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
renderElement(element) {
|
|
70
|
+
this.removeElementChildren();
|
|
71
|
+
this.renderer.appendChild(this.qrcElement.nativeElement, element);
|
|
72
|
+
}
|
|
73
|
+
removeElementChildren() {
|
|
74
|
+
for (const node of this.qrcElement.nativeElement.childNodes) {
|
|
75
|
+
this.renderer.removeChild(this.qrcElement.nativeElement, node);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SecurityVerificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: SecurityVerificationComponent, isStandalone: true, selector: "rolatech-account-security-verification", viewQueries: [{ propertyName: "qrcElement", first: true, predicate: ["qrcode"], descendants: true }], ngImport: i0, template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px]\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u5B9E\u540D\u8BA4\u8BC1</p>\n <p class=\"text-md\">\u5B9E\u540D\u8BA4\u8BC1, \u4F1A\u8BA9\u4F60\u7684\u8D26\u6237\u66F4\u52A0\u5B89\u5168</p>\n </div>\n </div>\n @if (verified) {\n <div class=\"p-3\">\n <div class=\"text-md font-bold py-3\">\u60A8\u5DF2\u7ECF\u5B8C\u6210\u5B9E\u540D\u8BA4\u8BC1</div>\n <div class=\"flex flex-col\">\n <div><span class=\"text-gray-600\">\u59D3\u540D: </span> <span>22</span></div>\n <div><span class=\"text-gray-600\">\u8EAB\u4EFD\u8BC1: </span><span>22</span></div>\n </div>\n </div>\n } @else {\n <div>\u672A\u8BA4\u8BC1</div>\n <button mat-raised-button (click)=\"verify()\" color=\"primary\">\u8BF7\u6C42\u8BA4\u8BC1</button>\n <div #qrcode>\n @if (loading) {\n <div>\n <rolatech-loading-spinner></rolatech-loading-spinner>\n </div>\n }\n </div>\n }\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: LoadingSpinnerComponent, selector: "rolatech-loading-spinner", inputs: ["title"] }] }); }
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SecurityVerificationComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, LoadingSpinnerComponent], selector: 'rolatech-account-security-verification', template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px]\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u5B9E\u540D\u8BA4\u8BC1</p>\n <p class=\"text-md\">\u5B9E\u540D\u8BA4\u8BC1, \u4F1A\u8BA9\u4F60\u7684\u8D26\u6237\u66F4\u52A0\u5B89\u5168</p>\n </div>\n </div>\n @if (verified) {\n <div class=\"p-3\">\n <div class=\"text-md font-bold py-3\">\u60A8\u5DF2\u7ECF\u5B8C\u6210\u5B9E\u540D\u8BA4\u8BC1</div>\n <div class=\"flex flex-col\">\n <div><span class=\"text-gray-600\">\u59D3\u540D: </span> <span>22</span></div>\n <div><span class=\"text-gray-600\">\u8EAB\u4EFD\u8BC1: </span><span>22</span></div>\n </div>\n </div>\n } @else {\n <div>\u672A\u8BA4\u8BC1</div>\n <button mat-raised-button (click)=\"verify()\" color=\"primary\">\u8BF7\u6C42\u8BA4\u8BC1</button>\n <div #qrcode>\n @if (loading) {\n <div>\n <rolatech-loading-spinner></rolatech-loading-spinner>\n </div>\n }\n </div>\n }\n</div>\n" }]
|
|
84
|
+
}], propDecorators: { qrcElement: [{
|
|
85
|
+
type: ViewChild,
|
|
86
|
+
args: ['qrcode', { static: false }]
|
|
87
|
+
}] } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktdmVyaWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvbXlhY2NvdW50L3NlY3VyaXR5L3NlY3VyaXR5LXZlcmlmaWNhdGlvbi9zZWN1cml0eS12ZXJpZmljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktdmVyaWZpY2F0aW9uL3NlY3VyaXR5LXZlcmlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hHLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFTakMsTUFBTSxPQUFPLDZCQUE2QjtJQVAxQztRQVFFLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG1CQUFjLEdBQUcsRUFBRSxDQUFDO0tBOERyQjtJQTdEQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUN4QyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3BDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsZUFBZTtZQUNqQixDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDVixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUk7UUFDRixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUN4QyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDWixJQUFJLEdBQUcsRUFBRSxDQUFDO3dCQUNSLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDMUIsQ0FBQztnQkFDSCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDO1FBQ1AsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFXO1FBQ25CLE1BQU0sT0FBTyxHQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQzthQUN4QixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNYLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUFXLEVBQUUsR0FBUTtRQUNwQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNsQyxvQkFBb0IsRUFBRSxHQUFHO1lBQ3pCLEtBQUssRUFBRSxHQUFHO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNPLGFBQWEsQ0FBQyxPQUFZO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDTyxxQkFBcUI7UUFDM0IsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQzs4R0FyRVUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsd01DZDFDLHlpQ0EyQkEseUREbEJZLG1CQUFtQiw4QkFBRSx1QkFBdUIsNE5BQUUsdUJBQXVCOzsyRkFLcEUsNkJBQTZCO2tCQVB6QyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixDQUFDLFlBQ3RFLHdDQUF3Qzs4QkFTVixVQUFVO3NCQUFqRCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItYXV0aCc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0ICogYXMgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIExvYWRpbmdTcGlubmVyQ29tcG9uZW50XSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LXNlY3VyaXR5LXZlcmlmaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN1cml0eS12ZXJpZmljYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWN1cml0eS12ZXJpZmljYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlWZXJpZmljYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcbiAgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICB2ZXJpZmllZCA9IGZhbHNlO1xuICByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBAVmlld0NoaWxkKCdxcmNvZGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgcXJjRWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gIGxvYWRpbmcgPSBmYWxzZTtcbiAgQml6VG9rZW4gPSAnJztcbiAgaWRlbnRpZmljYXRpb24gPSB7fTtcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVjaygpO1xuICB9XG4gIGNoZWNrKCkge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UuZmFjZUlkU3RhdHVzKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy52ZXJpZmllZCA9IHJlcy5kYXRhLnZlcmlmaWVkO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICB2ZXJpZnkoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlcXVlc3RGYWNlSWREZXRlY3QoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgIHRoaXMuZ2VuUVJDb2RlKGRhdGEudXJsKTtcbiAgICAgICAgLy8gdGhpcy5sb29wKCk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGxvb3AoKSB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmZhY2VJZFN0YXR1cygpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXM7XG4gICAgfSwgMjAwMCk7XG4gIH1cblxuICBnZW5RUkNvZGUodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICB0aGlzLnRvQ2FudmFzKGVsZW1lbnQsIHVybClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW5kZXJFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUVsZW1lbnRDaGlsZHJlbigpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHRvQ2FudmFzKGNhbnZhczogYW55LCB1cmw6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIFFSQ29kZS50b0NhbnZhcyhjYW52YXMsIHVybCwge1xuICAgICAgZXJyb3JDb3JyZWN0aW9uTGV2ZWw6ICdNJyxcbiAgICAgIHdpZHRoOiAyMDAsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSByZW5kZXJFbGVtZW50KGVsZW1lbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlRWxlbWVudENoaWxkcmVuKCk7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLnFyY0VsZW1lbnQubmF0aXZlRWxlbWVudCwgZWxlbWVudCk7XG4gIH1cbiAgcHJpdmF0ZSByZW1vdmVFbGVtZW50Q2hpbGRyZW4oKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIHRoaXMucXJjRWxlbWVudC5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5xcmNFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG5vZGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1heC13LVsxMTIwcHhdIG0tYXV0b1wiPlxuICA8ZGl2IGNsYXNzPVwibWF4LXctWzgyMHB4XVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwLTMgbWItMTJcIj5cbiAgICAgIDxwIGNsYXNzPVwidGV4dC0zeGxcIj7lrp7lkI3orqTor4E8L3A+XG4gICAgICA8cCBjbGFzcz1cInRleHQtbWRcIj7lrp7lkI3orqTor4EsIOS8muiuqeS9oOeahOi0puaIt+abtOWKoOWuieWFqDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIEBpZiAodmVyaWZpZWQpIHtcbiAgICA8ZGl2IGNsYXNzPVwicC0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBmb250LWJvbGQgcHktM1wiPuaCqOW3sue7j+WujOaIkOWunuWQjeiupOivgTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2xcIj5cbiAgICAgICAgPGRpdj48c3BhbiBjbGFzcz1cInRleHQtZ3JheS02MDBcIj7lp5PlkI06IDwvc3Bhbj4gPHNwYW4+MjI8L3NwYW4+PC9kaXY+XG4gICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXktNjAwXCI+6Lqr5Lu96K+BOiA8L3NwYW4+PHNwYW4+MjI8L3NwYW4+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGRpdj7mnKrorqTor4E8L2Rpdj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJ2ZXJpZnkoKVwiIGNvbG9yPVwicHJpbWFyeVwiPuivt+axguiupOivgTwvYnV0dG9uPlxuICAgIDxkaXYgI3FyY29kZT5cbiAgICAgIEBpZiAobG9hZGluZykge1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxyb2xhdGVjaC1sb2FkaW5nLXNwaW5uZXI+PC9yb2xhdGVjaC1sb2FkaW5nLXNwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SecurityIndexComponent } from './security-index/security-index.component';
|
|
2
|
+
import { SecurityPasswordComponent } from './security-password/security-password.component';
|
|
3
|
+
import { SecurityVerificationComponent } from './security-verification/security-verification.component';
|
|
4
|
+
const securityRoutes = [
|
|
5
|
+
{
|
|
6
|
+
path: '',
|
|
7
|
+
component: SecurityIndexComponent,
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
path: 'verification',
|
|
11
|
+
component: SecurityVerificationComponent,
|
|
12
|
+
},
|
|
13
|
+
// {
|
|
14
|
+
// path: 'faceid',
|
|
15
|
+
// component: SecurityFaceidComponent,
|
|
16
|
+
// },
|
|
17
|
+
{ path: 'password', component: SecurityPasswordComponent },
|
|
18
|
+
];
|
|
19
|
+
export default securityRoutes;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHkucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHkucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBRXhHLE1BQU0sY0FBYyxHQUFXO0lBQzdCO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsc0JBQXNCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixTQUFTLEVBQUUsNkJBQTZCO0tBQ3pDO0lBQ0QsSUFBSTtJQUNKLG9CQUFvQjtJQUNwQix3Q0FBd0M7SUFDeEMsS0FBSztJQUNMLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUseUJBQXlCLEVBQUU7Q0FDM0QsQ0FBQztBQUVGLGVBQWUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNlY3VyaXR5SW5kZXhDb21wb25lbnQgfSBmcm9tICcuL3NlY3VyaXR5LWluZGV4L3NlY3VyaXR5LWluZGV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWN1cml0eVBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9zZWN1cml0eS1wYXNzd29yZC9zZWN1cml0eS1wYXNzd29yZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VjdXJpdHlGYWNlaWRDb21wb25lbnQgfSBmcm9tICcuL3NlY3VyaXR5LWZhY2VpZC9zZWN1cml0eS1mYWNlaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlY3VyaXR5VmVyaWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWN1cml0eS12ZXJpZmljYXRpb24vc2VjdXJpdHktdmVyaWZpY2F0aW9uLmNvbXBvbmVudCc7XG5cbmNvbnN0IHNlY3VyaXR5Um91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IFNlY3VyaXR5SW5kZXhDb21wb25lbnQsXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAndmVyaWZpY2F0aW9uJyxcbiAgICBjb21wb25lbnQ6IFNlY3VyaXR5VmVyaWZpY2F0aW9uQ29tcG9uZW50LFxuICB9LFxuICAvLyB7XG4gIC8vICAgcGF0aDogJ2ZhY2VpZCcsXG4gIC8vICAgY29tcG9uZW50OiBTZWN1cml0eUZhY2VpZENvbXBvbmVudCxcbiAgLy8gfSxcbiAgeyBwYXRoOiAncGFzc3dvcmQnLCBjb21wb25lbnQ6IFNlY3VyaXR5UGFzc3dvcmRDb21wb25lbnQgfSxcbl07XG5cbmV4cG9ydCBkZWZhdWx0IHNlY3VyaXR5Um91dGVzO1xuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class WeChatLoginService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.onWeChatLogin = new EventEmitter();
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: WeChatLoginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: WeChatLoginService, providedIn: 'root' }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: WeChatLoginService, decorators: [{
|
|
11
|
+
type: Injectable,
|
|
12
|
+
args: [{
|
|
13
|
+
providedIn: 'root',
|
|
14
|
+
}]
|
|
15
|
+
}], ctorParameters: () => [] });
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VjaGF0LWxvZ2luLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3NlcnZpY2VzL3dlY2hhdC1sb2dpbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6RCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCO1FBRkEsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUV2QyxDQUFDOzhHQUhMLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFdlQ2hhdExvZ2luU2VydmljZSB7XG4gIG9uV2VDaGF0TG9naW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { ROUTES } from '@angular/router';
|
|
3
|
+
import { accountRoutes } from './lib/account.routes';
|
|
4
|
+
export function provideAngularAuthRoutes() {
|
|
5
|
+
const provider = [
|
|
6
|
+
{
|
|
7
|
+
provide: ROUTES,
|
|
8
|
+
useValue: accountRoutes,
|
|
9
|
+
multi: true,
|
|
10
|
+
},
|
|
11
|
+
];
|
|
12
|
+
return makeEnvironmentProviders(provider);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQyx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE1BQU0sVUFBVSx3QkFBd0I7SUFDdEMsTUFBTSxRQUFRLEdBQWU7UUFDM0I7WUFDRSxPQUFPLEVBQUUsTUFBTTtZQUNmLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRixDQUFDO0lBQ0YsT0FBTyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIFByb3ZpZGVyLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJPVVRFUyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBhY2NvdW50Um91dGVzIH0gZnJvbSAnLi9saWIvYWNjb3VudC5yb3V0ZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFuZ3VsYXJBdXRoUm91dGVzKCk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgY29uc3QgcHJvdmlkZXI6IFByb3ZpZGVyW10gPSBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUk9VVEVTLFxuICAgICAgdXNlVmFsdWU6IGFjY291bnRSb3V0ZXMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdO1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKHByb3ZpZGVyKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL3JvbGF0ZWNoLWFuZ3VsYXItYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
4
|
+
import { BaseComponent, AngularComponentsModule } from '@rolatech/angular-components';
|
|
5
|
+
|
|
6
|
+
class EmailVerificationComponent extends BaseComponent {
|
|
7
|
+
ngOnInit() {
|
|
8
|
+
this.show();
|
|
9
|
+
}
|
|
10
|
+
show() {
|
|
11
|
+
const options = {
|
|
12
|
+
title: '确认删除吗',
|
|
13
|
+
message: 'CONFIRM.DOWNLOAD.JOB.MESSAGE',
|
|
14
|
+
cancelText: '取消',
|
|
15
|
+
confirmText: '确认',
|
|
16
|
+
};
|
|
17
|
+
this.dialogService.open(options);
|
|
18
|
+
this.dialogService.confirmed().subscribe((confirmed) => { });
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EmailVerificationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: EmailVerificationComponent, isStandalone: true, selector: "myaccount-email-verification", usesInheritance: true, ngImport: i0, template: "<div class=\"p-3\">Email verification</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }] }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EmailVerificationComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule], selector: 'myaccount-email-verification', template: "<div class=\"p-3\">Email verification</div>\n" }]
|
|
26
|
+
}] });
|
|
27
|
+
|
|
28
|
+
export { EmailVerificationComponent };
|
|
29
|
+
//# sourceMappingURL=rolatech-angular-account-email-verification.component-4RClhLI4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-account-email-verification.component-4RClhLI4.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/email-verification/email-verification.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/email-verification/email-verification.component.html"],"sourcesContent":["import { Component, inject, OnInit } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule],\n selector: 'myaccount-email-verification',\n templateUrl: './email-verification.component.html',\n styleUrls: ['./email-verification.component.scss'],\n})\nexport class EmailVerificationComponent extends BaseComponent implements OnInit {\n ngOnInit(): void {\n this.show();\n }\n show() {\n const options = {\n title: '确认删除吗',\n message: 'CONFIRM.DOWNLOAD.JOB.MESSAGE',\n cancelText: '取消',\n confirmText: '确认',\n };\n this.dialogService.open(options);\n this.dialogService.confirmed().subscribe((confirmed) => {});\n }\n}\n","<div class=\"p-3\">Email verification</div>\n"],"names":[],"mappings":";;;;;AAWM,MAAO,0BAA2B,SAAQ,aAAa,CAAA;IAC3D,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IACD,IAAI,GAAA;AACF,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,OAAO,EAAE,8BAA8B;AACvC,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,WAAW,EAAE,IAAI;SAClB,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,SAAS,KAAM,GAAC,CAAC,CAAC;KAC7D;8GAbU,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,ECXvC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+CACA,EDKY,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,8BAAE,uBAAuB,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAK3C,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAPtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,WACP,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,YAC7C,8BAA8B,EAAA,QAAA,EAAA,+CAAA,EAAA,CAAA;;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Component } from '@angular/core';
|
|
3
|
+
import { AuthUserService } from '@rolatech/angular-auth';
|
|
4
|
+
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
|
+
import { BaseComponent, AngularComponentsModule } from '@rolatech/angular-components';
|
|
6
|
+
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
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
|
+
|
|
12
|
+
class EmailComponent extends BaseComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.authUserService = inject(AuthUserService);
|
|
16
|
+
this.email = '';
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.authUserService.me().subscribe({
|
|
20
|
+
next: (res) => {
|
|
21
|
+
this.email = res.email;
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
save() {
|
|
26
|
+
this.authUserService.update({ email: this.email }).subscribe({
|
|
27
|
+
next: (res) => {
|
|
28
|
+
this.snackBarService.open('修改成功');
|
|
29
|
+
},
|
|
30
|
+
error: (error) => {
|
|
31
|
+
this.snackBarService.open(error.message);
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: EmailComponent, isStandalone: true, selector: "rolatech-account-email", usesInheritance: true, ngImport: i0, template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] p-4\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4FEE\u6539\u90AE\u7BB1</p>\n <p class=\"text-md\">\u60A8\u53EF\u4EE5\u901A\u8FC7\u90AE\u7BB1\u83B7\u5F97\u66F4\u591A\u6211\u4EEC\u7684\u4EA7\u54C1\u4FE1\u606F</p>\n </div>\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\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]" }] }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EmailComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective], selector: 'rolatech-account-email', template: "<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] p-4\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">\u4FEE\u6539\u90AE\u7BB1</p>\n <p class=\"text-md\">\u60A8\u53EF\u4EE5\u901A\u8FC7\u90AE\u7BB1\u83B7\u5F97\u66F4\u591A\u6211\u4EEC\u7684\u4EA7\u54C1\u4FE1\u606F</p>\n </div>\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n \u4FDD\u5B58\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
41
|
+
}] });
|
|
42
|
+
|
|
43
|
+
export { EmailComponent };
|
|
44
|
+
//# sourceMappingURL=rolatech-angular-account-email.component-oRTdxJLo.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-account-email.component-oRTdxJLo.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/email/email.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/email/email.component.html"],"sourcesContent":["import { Component, OnInit, inject } from '@angular/core';\nimport { AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { Observable } from 'rxjs';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective],\n selector: 'rolatech-account-email',\n templateUrl: './email.component.html',\n styleUrls: ['./email.component.scss'],\n})\nexport class EmailComponent extends BaseComponent implements OnInit {\n authUserService = inject(AuthUserService);\n user$!: Observable<any>;\n email = '';\n\n ngOnInit(): void {\n this.authUserService.me().subscribe({\n next: (res) => {\n this.email = res.email;\n },\n });\n }\n\n save() {\n this.authUserService.update({ email: this.email }).subscribe({\n next: (res) => {\n this.snackBarService.open('修改成功');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<div class=\"max-w-[1120px] m-auto\">\n <div class=\"max-w-[820px] p-4\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <p class=\"text-3xl\">修改邮箱</p>\n <p class=\"text-md\">您可以通过邮箱获得更多我们的产品信息</p>\n </div>\n <div class=\"flex flex-col\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>取消</button>\n <button\n class=\"bg-orange-600 shadow shadow-gray-300 cursor-pointer w-20 p-2 text-white rounded text-center ml-3\"\n (click)=\"save()\"\n >\n 保存\n </button>\n </div>\n </div>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;;AAcM,MAAO,cAAe,SAAQ,aAAa,CAAA;AAPjD,IAAA,WAAA,GAAA;;AAQE,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAE1C,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AAoBZ,KAAA;IAlBC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;AAClC,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;AACZ,gBAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;aACxB;AACF,SAAA,CAAC,CAAC;KACJ;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC;AAC3D,YAAA,IAAI,EAAE,CAAC,GAAG,KAAI;AACZ,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnC;AACD,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;gBACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1C;AACF,SAAA,CAAC,CAAC;KACJ;8GAtBU,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,yGCd3B,w3BAsBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDbY,mBAAmB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,uBAAuB,mvBAAE,mBAAmB,EAAA,QAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKhE,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAClE,wBAAwB,EAAA,QAAA,EAAA,w3BAAA,EAAA,CAAA;;;;;"}
|