@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.
- package/fesm2022/rolatech-angular-account-address-add.component-Ce3hAH2I.mjs +36 -0
- package/fesm2022/rolatech-angular-account-address-add.component-Ce3hAH2I.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-address-billing.component-iJ9e714P.mjs +35 -0
- package/fesm2022/rolatech-angular-account-address-billing.component-iJ9e714P.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-address-detail.component-YrEBTrX3.mjs +72 -0
- package/fesm2022/rolatech-angular-account-address-detail.component-YrEBTrX3.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-address-home.component-ChXk3WBo.mjs +55 -0
- package/fesm2022/rolatech-angular-account-address-home.component-ChXk3WBo.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-address-shipping.component-DIHcCOMD.mjs +40 -0
- package/fesm2022/rolatech-angular-account-address-shipping.component-DIHcCOMD.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-address-work.component-D_J4DR-s.mjs +35 -0
- package/fesm2022/rolatech-angular-account-address-work.component-D_J4DR-s.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-address.routes-B7dDMeuH.mjs +29 -0
- package/fesm2022/rolatech-angular-account-address.routes-B7dDMeuH.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-account-email-verification.component-BMf1IfbK.mjs → rolatech-angular-account-email-verification.component-CkRt0ILC.mjs} +5 -5
- package/fesm2022/rolatech-angular-account-email-verification.component-CkRt0ILC.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-email.component-DuA61oxk.mjs +44 -0
- package/fesm2022/rolatech-angular-account-email.component-DuA61oxk.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-gender.component-RKepKjrL.mjs +55 -0
- package/fesm2022/rolatech-angular-account-gender.component-RKepKjrL.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-home.component-CIvRJUb9.mjs +23 -0
- package/fesm2022/rolatech-angular-account-home.component-CIvRJUb9.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-info.component-D2dwWQTF.mjs +112 -0
- package/fesm2022/rolatech-angular-account-info.component-D2dwWQTF.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-account-login.routes-DC_HIcUQ.mjs → rolatech-angular-account-login.routes-C97QVyJ0.mjs} +6 -14
- package/fesm2022/rolatech-angular-account-login.routes-C97QVyJ0.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-phone.component-Kxe2MDen.mjs +76 -0
- package/fesm2022/rolatech-angular-account-phone.component-Kxe2MDen.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-profile.component-CKN-gbiM.mjs +43 -0
- package/fesm2022/rolatech-angular-account-profile.component-CKN-gbiM.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-BNEg6V8a.mjs +487 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-BNEg6V8a.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-security.routes-KlF9MNKj.mjs +237 -0
- package/fesm2022/rolatech-angular-account-security.routes-KlF9MNKj.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-user-CK_zEFn_.mjs.map +1 -1
- package/fesm2022/rolatech-angular-account-username.component-DyUMdNt7.mjs +42 -0
- package/fesm2022/rolatech-angular-account-username.component-DyUMdNt7.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account.mjs +1 -13
- package/fesm2022/rolatech-angular-account.mjs.map +1 -1
- package/lib/components/topbar-login/topbar-login.component.d.ts +9 -2
- package/lib/pages/myaccount/address/address-add/address-add.component.d.ts +11 -0
- package/lib/pages/myaccount/address/address-billing/address-billing.component.d.ts +12 -0
- package/lib/pages/myaccount/address/address-detail/address-detail.component.d.ts +14 -0
- package/lib/pages/myaccount/address/address-home/address-home.component.d.ts +12 -0
- package/lib/pages/myaccount/address/address-shipping/address-shipping.component.d.ts +12 -0
- package/lib/pages/myaccount/address/address-work/address-work.component.d.ts +12 -0
- package/lib/pages/myaccount/address/address.routes.d.ts +2 -0
- package/lib/pages/myaccount/email/email.component.d.ts +1 -1
- package/lib/pages/myaccount/email-verification/email-verification.component.d.ts +1 -1
- package/lib/pages/myaccount/gender/gender.component.d.ts +1 -1
- package/lib/pages/myaccount/home/home.component.d.ts +3 -9
- package/lib/pages/myaccount/personal-info/info.component.d.ts +5 -1
- package/lib/pages/myaccount/personal-info/profile/profile.component.d.ts +1 -1
- package/lib/pages/myaccount/personal-info/username/username.component.d.ts +1 -1
- package/lib/pages/myaccount/phone/phone.component.d.ts +1 -1
- package/lib/pages/myaccount/security/security-index/security-index.component.d.ts +4 -0
- package/lib/services/wechat-login.service.d.ts +1 -1
- package/package.json +21 -7
- package/themes/_default.scss +1 -1
- package/esm2022/index.mjs +0 -5
- package/esm2022/lib/account.routes.mjs +0 -36
- package/esm2022/lib/components/avatar-update-dialog/avatar-update-dialog.component.mjs +0 -63
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -13
- package/esm2022/lib/components/index.mjs +0 -3
- package/esm2022/lib/components/login/login-wechat/login-wechat.component.mjs +0 -38
- package/esm2022/lib/components/login/login.routes.mjs +0 -4
- package/esm2022/lib/components/logout/logout.component.mjs +0 -46
- package/esm2022/lib/components/passwordreset/passwordreset.component.mjs +0 -13
- package/esm2022/lib/components/topbar-login/topbar-login.component.mjs +0 -29
- package/esm2022/lib/components/user-item/user-item.component.mjs +0 -31
- package/esm2022/lib/contant/user.mjs +0 -7
- package/esm2022/lib/myaccount.routes.mjs +0 -37
- package/esm2022/lib/pages/accounts/signin/signin.component.mjs +0 -159
- package/esm2022/lib/pages/accounts/signup/signup.component.mjs +0 -82
- package/esm2022/lib/pages/myaccount/email/email.component.mjs +0 -41
- package/esm2022/lib/pages/myaccount/email-verification/email-verification.component.mjs +0 -26
- package/esm2022/lib/pages/myaccount/gender/gender.component.mjs +0 -52
- package/esm2022/lib/pages/myaccount/home/home.component.mjs +0 -66
- package/esm2022/lib/pages/myaccount/personal-info/info.component.mjs +0 -38
- package/esm2022/lib/pages/myaccount/personal-info/profile/profile.component.mjs +0 -47
- package/esm2022/lib/pages/myaccount/personal-info/username/username.component.mjs +0 -39
- package/esm2022/lib/pages/myaccount/phone/phone.component.mjs +0 -65
- package/esm2022/lib/pages/myaccount/security/security-faceid/security-faceid.component.mjs +0 -13
- package/esm2022/lib/pages/myaccount/security/security-index/security-index.component.mjs +0 -64
- package/esm2022/lib/pages/myaccount/security/security-password/security-password.component.mjs +0 -47
- package/esm2022/lib/pages/myaccount/security/security-verification/security-verification.component.mjs +0 -86
- package/esm2022/lib/pages/myaccount/security/security.routes.mjs +0 -20
- package/esm2022/lib/services/wechat-login.service.mjs +0 -19
- package/esm2022/provider.mjs +0 -14
- package/esm2022/rolatech-angular-account.mjs +0 -5
- package/fesm2022/rolatech-angular-account-email-verification.component-BMf1IfbK.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-email.component-BQaELPci.mjs +0 -44
- package/fesm2022/rolatech-angular-account-email.component-BQaELPci.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-gender.component-9GJeEE9U.mjs +0 -55
- package/fesm2022/rolatech-angular-account-gender.component-9GJeEE9U.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-home.component-BB9zBFKT.mjs +0 -77
- package/fesm2022/rolatech-angular-account-home.component-BB9zBFKT.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-info.component-Be9isgwX.mjs +0 -98
- package/fesm2022/rolatech-angular-account-info.component-Be9isgwX.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-login.routes-DC_HIcUQ.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-phone.component-D2v9enci.mjs +0 -68
- package/fesm2022/rolatech-angular-account-phone.component-D2v9enci.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-profile.component-WwV7Jpjy.mjs +0 -50
- package/fesm2022/rolatech-angular-account-profile.component-WwV7Jpjy.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-BuEBlu0U.mjs +0 -444
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-BuEBlu0U.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-security.routes-DiAm22Qh.mjs +0 -203
- package/fesm2022/rolatech-angular-account-security.routes-DiAm22Qh.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-username.component-D8DPlm9P.mjs +0 -42
- package/fesm2022/rolatech-angular-account-username.component-D8DPlm9P.mjs.map +0 -1
package/esm2022/lib/pages/myaccount/security/security-password/security-password.component.mjs
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
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, AppContainerComponent, ToolbarComponent } from '@rolatech/angular-components';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
import * as i2 from "@rolatech/angular-auth";
|
|
10
|
-
import * as i3 from "@angular/material/snack-bar";
|
|
11
|
-
import * as i4 from "@angular/material/button";
|
|
12
|
-
import * as i5 from "@angular/material/form-field";
|
|
13
|
-
import * as i6 from "@angular/material/input";
|
|
14
|
-
export class SecurityPasswordComponent {
|
|
15
|
-
constructor(formBuilder, authService, snackBar) {
|
|
16
|
-
this.formBuilder = formBuilder;
|
|
17
|
-
this.authService = authService;
|
|
18
|
-
this.snackBar = snackBar;
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this.passwordForm = this.formBuilder.group({
|
|
22
|
-
oldPassword: ['', Validators.required],
|
|
23
|
-
newPassword: ['', Validators.required],
|
|
24
|
-
ne2Password: ['', Validators.required],
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
save() {
|
|
28
|
-
if (!this.passwordForm.valid) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
this.authService.changePassword(this.passwordForm.value).subscribe({
|
|
32
|
-
next: (res) => {
|
|
33
|
-
this.snackBar.open(res.message);
|
|
34
|
-
},
|
|
35
|
-
error: (e) => {
|
|
36
|
-
this.snackBar.open(e.message);
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityPasswordComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AuthService }, { token: i3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: SecurityPasswordComponent, isStandalone: true, selector: "rolatech-account-security-password", ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u5BC6\u7801\" subtitle=\"\u4FEE\u6539\u5BC6\u7801\" link=\"/security\" divider></rolatech-toolbar>\n <div class=\"py-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 mat-flat-button class=\"w-[128px] p-2 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n<div class=\"max-w-[1120px] m-auto px-6\"></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.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.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"] }] }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityPasswordComponent, decorators: [{
|
|
44
|
-
type: Component,
|
|
45
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, AppContainerComponent, ToolbarComponent], selector: 'rolatech-account-security-password', template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u5BC6\u7801\" subtitle=\"\u4FEE\u6539\u5BC6\u7801\" link=\"/security\" divider></rolatech-toolbar>\n <div class=\"py-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 mat-flat-button class=\"w-[128px] p-2 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n<div class=\"max-w-[1120px] m-auto px-6\"></div>\n" }]
|
|
46
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.AuthService }, { type: i3.MatSnackBar }] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktcGFzc3dvcmQvc2VjdXJpdHktcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktcGFzc3dvcmQvc2VjdXJpdHktcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWEsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBU2hILE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFDVSxXQUF3QixFQUN4QixXQUF3QixFQUN4QixRQUFxQjtRQUZyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQzVCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUN6QyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN0QyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN0QyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTVCVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw4RkNkdEMsdXZDQTBCQSx5RERqQlksbUJBQW1CLHlxQ0FBRSx1QkFBdUIsb3pCQUFFLHFCQUFxQixtRUFBRSxnQkFBZ0I7OzJGQUtwRix5QkFBeUI7a0JBUHJDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsWUFDdEYsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQXBwQ29udGFpbmVyQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEFwcENvbnRhaW5lckNvbXBvbmVudCwgVG9vbGJhckNvbXBvbmVudF0sXG4gIHNlbGVjdG9yOiAncm9sYXRlY2gtYWNjb3VudC1zZWN1cml0eS1wYXNzd29yZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWN1cml0eS1wYXNzd29yZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlY3VyaXR5LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5UGFzc3dvcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwYXNzd29yZEZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhc3N3b3JkRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgb2xkUGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBuZXdQYXNzd29yZDogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIG5lMlBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIH0pO1xuICB9XG4gIHNhdmUoKSB7XG4gICAgaWYgKCF0aGlzLnBhc3N3b3JkRm9ybS52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmNoYW5nZVBhc3N3b3JkKHRoaXMucGFzc3dvcmRGb3JtLnZhbHVlKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihyZXMubWVzc2FnZSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihlLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPHJvbGF0ZWNoLWFwcC1jb250YWluZXI+XG4gIDxyb2xhdGVjaC10b29sYmFyIHRpdGxlPVwi5L+u5pS55a+G56CBXCIgc3VidGl0bGU9XCLkv67mlLnlr4bnoIFcIiBsaW5rPVwiL3NlY3VyaXR5XCIgZGl2aWRlcj48L3JvbGF0ZWNoLXRvb2xiYXI+XG4gIDxkaXYgY2xhc3M9XCJweS0zXCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJwYXNzd29yZEZvcm1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+IOWOn+WvhueggTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJvbGRQYXNzd29yZFwiIHJlcXVpcmVkIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+IOaWsOWvhueggSA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgZm9ybUNvbnRyb2xOYW1lPVwibmV3UGFzc3dvcmRcIiByZXF1aXJlZCAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPiDmlrDlr4bnoIEgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJwYXNzd29yZFwiIGZvcm1Db250cm9sTmFtZT1cIm5lMlBhc3N3b3JkXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgbXQtM1wiPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHJvbGF0ZWNoQmFja0J1dHRvbj7lj5bmtog8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNsYXNzPVwidy1bMTI4cHhdIHAtMiBtbC0zXCIgKGNsaWNrKT1cInNhdmUoKVwiPuS/neWtmDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJtYXgtdy1bMTEyMHB4XSBtLWF1dG8gcHgtNlwiPjwvZGl2PlxuIl19
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Component, Renderer2, inject, viewChild } 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, SpinnerComponent } 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.qrcElement = viewChild.required('qrcode');
|
|
16
|
-
this.loading = false;
|
|
17
|
-
this.BizToken = '';
|
|
18
|
-
this.identification = {};
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this.checkFaceIdStatus();
|
|
22
|
-
}
|
|
23
|
-
checkFaceIdStatus() {
|
|
24
|
-
this.authService.faceIdStatus().subscribe({
|
|
25
|
-
next: (res) => {
|
|
26
|
-
this.verified = res.data.verified;
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
verify() {
|
|
31
|
-
this.loading = true;
|
|
32
|
-
this.authService.requestFaceIdDetect().subscribe({
|
|
33
|
-
next: ({ data }) => {
|
|
34
|
-
this.genQRCode(data.url);
|
|
35
|
-
// this.loop();
|
|
36
|
-
},
|
|
37
|
-
error: () => {
|
|
38
|
-
this.loading = false;
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
loop() {
|
|
43
|
-
const interval = setInterval(() => {
|
|
44
|
-
this.authService.faceIdStatus().subscribe({
|
|
45
|
-
next: (res) => {
|
|
46
|
-
if (res) {
|
|
47
|
-
clearInterval(interval);
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
this;
|
|
52
|
-
}, 2000);
|
|
53
|
-
}
|
|
54
|
-
genQRCode(url) {
|
|
55
|
-
const element = this.renderer.createElement('canvas');
|
|
56
|
-
this.toCanvas(element, url)
|
|
57
|
-
.then(() => {
|
|
58
|
-
this.renderElement(element);
|
|
59
|
-
})
|
|
60
|
-
.catch((e) => {
|
|
61
|
-
this.removeElementChildren();
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
toCanvas(canvas, url) {
|
|
65
|
-
return QRCode.toCanvas(canvas, url, {
|
|
66
|
-
errorCorrectionLevel: 'M',
|
|
67
|
-
width: 200,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
renderElement(element) {
|
|
71
|
-
this.removeElementChildren();
|
|
72
|
-
this.renderer.appendChild(this.qrcElement().nativeElement, element);
|
|
73
|
-
}
|
|
74
|
-
removeElementChildren() {
|
|
75
|
-
for (const node of this.qrcElement().nativeElement.childNodes) {
|
|
76
|
-
this.renderer.removeChild(this.qrcElement().nativeElement, node);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityVerificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: SecurityVerificationComponent, isStandalone: true, selector: "rolatech-account-security-verification", viewQueries: [{ propertyName: "qrcElement", first: true, predicate: ["qrcode"], descendants: true, isSignal: 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-spinner></rolatech-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: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }] }); }
|
|
81
|
-
}
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SecurityVerificationComponent, decorators: [{
|
|
83
|
-
type: Component,
|
|
84
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent], 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-spinner></rolatech-spinner>\n </div>\n }\n </div>\n }\n</div>\n" }]
|
|
85
|
-
}] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktdmVyaWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvbXlhY2NvdW50L3NlY3VyaXR5L3NlY3VyaXR5LXZlcmlmaWNhdGlvbi9zZWN1cml0eS12ZXJpZmljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvc2VjdXJpdHkvc2VjdXJpdHktdmVyaWZpY2F0aW9uL3NlY3VyaXR5LXZlcmlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pGLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFTakMsTUFBTSxPQUFPLDZCQUE2QjtJQVAxQztRQVFFLFdBQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLGVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFh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RERsQlksbUJBQW1CLDhCQUFFLHVCQUF1Qiw0TkFBRSxnQkFBZ0I7OzJGQUs3RCw2QkFBNkI7a0JBUHpDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsZ0JBQWdCLENBQUMsWUFDL0Qsd0NBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFJlbmRlcmVyMiwgaW5qZWN0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbXBvbmVudHMnO1xuaW1wb3J0ICogYXMgUVJDb2RlIGZyb20gJ3FyY29kZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQW5ndWxhckNvbW1vbk1vZHVsZSwgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIFNwaW5uZXJDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWFjY291bnQtc2VjdXJpdHktdmVyaWZpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlY3VyaXR5LXZlcmlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlY3VyaXR5LXZlcmlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWN1cml0eVZlcmlmaWNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuICBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHZlcmlmaWVkID0gZmFsc2U7XG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHFyY0VsZW1lbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ3FyY29kZScpO1xuICBsb2FkaW5nID0gZmFsc2U7XG4gIEJpelRva2VuID0gJyc7XG4gIGlkZW50aWZpY2F0aW9uID0ge307XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tGYWNlSWRTdGF0dXMoKTtcbiAgfVxuICBjaGVja0ZhY2VJZFN0YXR1cygpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmZhY2VJZFN0YXR1cygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMudmVyaWZpZWQgPSByZXMuZGF0YS52ZXJpZmllZDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgdmVyaWZ5KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5hdXRoU2VydmljZS5yZXF1ZXN0RmFjZUlkRGV0ZWN0KCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh7IGRhdGEgfSkgPT4ge1xuICAgICAgICB0aGlzLmdlblFSQ29kZShkYXRhLnVybCk7XG4gICAgICAgIC8vIHRoaXMubG9vcCgpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBsb29wKCkge1xuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy5hdXRoU2VydmljZS5mYWNlSWRTdGF0dXMoKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICB0aGlzO1xuICAgIH0sIDIwMDApO1xuICB9XG5cbiAgZ2VuUVJDb2RlKHVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgdGhpcy50b0NhbnZhcyhlbGVtZW50LCB1cmwpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVFbGVtZW50Q2hpbGRyZW4oKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB0b0NhbnZhcyhjYW52YXM6IGFueSwgdXJsOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBRUkNvZGUudG9DYW52YXMoY2FudmFzLCB1cmwsIHtcbiAgICAgIGVycm9yQ29ycmVjdGlvbkxldmVsOiAnTScsXG4gICAgICB3aWR0aDogMjAwLFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgcmVuZGVyRWxlbWVudChlbGVtZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUVsZW1lbnRDaGlsZHJlbigpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5xcmNFbGVtZW50KCkubmF0aXZlRWxlbWVudCwgZWxlbWVudCk7XG4gIH1cbiAgcHJpdmF0ZSByZW1vdmVFbGVtZW50Q2hpbGRyZW4oKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBub2RlIG9mIHRoaXMucXJjRWxlbWVudCgpLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcykge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLnFyY0VsZW1lbnQoKS5uYXRpdmVFbGVtZW50LCBub2RlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYXgtdy1bMTEyMHB4XSBtLWF1dG9cIj5cbiAgPGRpdiBjbGFzcz1cIm1heC13LVs4MjBweF1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgcC0zIG1iLTEyXCI+XG4gICAgICA8cCBjbGFzcz1cInRleHQtM3hsXCI+5a6e5ZCN6K6k6K+BPC9wPlxuICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW1kXCI+5a6e5ZCN6K6k6K+BLCDkvJrorqnkvaDnmoTotKbmiLfmm7TliqDlronlhag8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBAaWYgKHZlcmlmaWVkKSB7XG4gICAgPGRpdiBjbGFzcz1cInAtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtbWQgZm9udC1ib2xkIHB5LTNcIj7mgqjlt7Lnu4/lrozmiJDlrp7lkI3orqTor4E8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICAgIDxkaXY+PHNwYW4gY2xhc3M9XCJ0ZXh0LWdyYXktNjAwXCI+5aeT5ZCNOiA8L3NwYW4+IDxzcGFuPjIyPC9zcGFuPjwvZGl2PlxuICAgICAgICA8ZGl2PjxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTYwMFwiPui6q+S7veivgTogPC9zcGFuPjxzcGFuPjIyPC9zcGFuPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDxkaXY+5pyq6K6k6K+BPC9kaXY+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwidmVyaWZ5KClcIiBjb2xvcj1cInByaW1hcnlcIj7or7fmsYLorqTor4E8L2J1dHRvbj5cbiAgICA8ZGl2ICNxcmNvZGU+XG4gICAgICBAaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8cm9sYXRlY2gtc3Bpbm5lcj48L3JvbGF0ZWNoLXNwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Directive, 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: "18.0.1", ngImport: i0, type: WeChatLoginService, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: WeChatLoginService, ngImport: i0 }); }
|
|
9
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WeChatLoginService, providedIn: 'root' }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: WeChatLoginService, decorators: [{
|
|
12
|
-
type: Injectable,
|
|
13
|
-
args: [{
|
|
14
|
-
providedIn: 'root',
|
|
15
|
-
}]
|
|
16
|
-
}, {
|
|
17
|
-
type: Directive
|
|
18
|
-
}], ctorParameters: () => [] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VjaGF0LWxvZ2luLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3NlcnZpY2VzL3dlY2hhdC1sb2dpbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFNNUUsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QjtRQUZBLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV6QixDQUFDOzhHQUhMLGtCQUFrQjtrR0FBbEIsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FIakIsTUFBTTs7MkZBR1Asa0JBQWtCO2tCQUo5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7a0JBQ0EsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgV2VDaGF0TG9naW5TZXJ2aWNlIHtcbiAgb25XZUNoYXRMb2dpbiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbn1cbiJdfQ==
|
package/esm2022/provider.mjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
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==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sYXRlY2gtYW5ndWxhci1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL3JvbGF0ZWNoLWFuZ3VsYXItYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-email-verification.component-BMf1IfbK.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;;;;;"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, effect, Component } from '@angular/core';
|
|
3
|
-
import { AuthUserService, AuthStore } from '@rolatech/angular-auth';
|
|
4
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
|
-
import { BaseComponent, AngularComponentsModule, AppContainerComponent, ToolbarComponent } 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();
|
|
15
|
-
this.authUserService = inject(AuthUserService);
|
|
16
|
-
this.authStore = inject(AuthStore);
|
|
17
|
-
this.user = this.authStore.user;
|
|
18
|
-
this.email = '';
|
|
19
|
-
effect(() => {
|
|
20
|
-
this.email = this.user()?.email;
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() { }
|
|
24
|
-
save() {
|
|
25
|
-
this.authUserService.update({ email: this.email }).subscribe({
|
|
26
|
-
next: (res) => {
|
|
27
|
-
this.snackBarService.open('修改成功');
|
|
28
|
-
this.authStore.updateEmail(this.email);
|
|
29
|
-
},
|
|
30
|
-
error: (error) => {
|
|
31
|
-
this.snackBarService.open(error.message);
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: EmailComponent, isStandalone: true, selector: "rolatech-account-email", usesInheritance: true, ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u90AE\u7BB1\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\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 class=\"flex flex-col mt-6\">\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 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: 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"] }] }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EmailComponent, decorators: [{
|
|
39
|
-
type: Component,
|
|
40
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective, AppContainerComponent, ToolbarComponent], selector: 'rolatech-account-email', template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u90AE\u7BB1\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\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 class=\"flex flex-col mt-6\">\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 mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n" }]
|
|
41
|
-
}], ctorParameters: () => [] });
|
|
42
|
-
|
|
43
|
-
export { EmailComponent };
|
|
44
|
-
//# sourceMappingURL=rolatech-angular-account-email.component-BQaELPci.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-email.component-BQaELPci.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, PLATFORM_ID, computed, effect, inject, model, signal } from '@angular/core';\nimport { AuthService, AuthStore, AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\n\n@Component({\n standalone: true,\n imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective, AppContainerComponent, ToolbarComponent],\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 authStore = inject(AuthStore);\n user = this.authStore.user;\n email: string | undefined = '';\n constructor() {\n super();\n effect(() => {\n this.email = this.user()?.email;\n });\n }\n ngOnInit(): void {}\n\n save() {\n this.authUserService.update({ email: this.email }).subscribe({\n next: (res) => {\n this.snackBarService.open('修改成功');\n this.authStore.updateEmail(this.email!);\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<rolatech-app-container>\n <rolatech-toolbar title=\"修改邮箱\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">您可以通过邮箱获得更多我们的产品信息</p>\n <div class=\"flex flex-col mt-6\">\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 mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">保存</button>\n </div>\n </div>\n</rolatech-app-container>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, effect, Component } from '@angular/core';
|
|
3
|
-
import * as i3 from '@angular/material/radio';
|
|
4
|
-
import { MatRadioModule } from '@angular/material/radio';
|
|
5
|
-
import { AuthUserService, AuthService } from '@rolatech/angular-auth';
|
|
6
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
7
|
-
import { BaseComponent, AngularComponentsModule, AppContainerComponent, ToolbarComponent } from '@rolatech/angular-components';
|
|
8
|
-
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
9
|
-
import { U as UserGender } from './rolatech-angular-account-user-CK_zEFn_.mjs';
|
|
10
|
-
import * as i2 from '@angular/material/button';
|
|
11
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
12
|
-
import * as i1 from '@angular/forms';
|
|
13
|
-
|
|
14
|
-
class GenderComponent extends BaseComponent {
|
|
15
|
-
constructor() {
|
|
16
|
-
super();
|
|
17
|
-
this.authUserService = inject(AuthUserService);
|
|
18
|
-
this.GENDERS = ['男', '女', '不公开'];
|
|
19
|
-
this.gender = UserGender;
|
|
20
|
-
this.selectedGender = '';
|
|
21
|
-
this.user = inject(AuthService).user;
|
|
22
|
-
this.email = '';
|
|
23
|
-
effect(() => {
|
|
24
|
-
this.selectedGender = this.gender[this.user()?.gender];
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() { }
|
|
28
|
-
save() {
|
|
29
|
-
this.authUserService.update({ gender: this.gender[this.selectedGender] }).subscribe({
|
|
30
|
-
next: (res) => {
|
|
31
|
-
this.snackBarService.open('修改成功');
|
|
32
|
-
},
|
|
33
|
-
error: (error) => {
|
|
34
|
-
this.snackBarService.open(error.message);
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GenderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
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 }] }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GenderComponent, decorators: [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{ standalone: true, imports: [
|
|
44
|
-
AngularCommonModule,
|
|
45
|
-
AngularComponentsModule,
|
|
46
|
-
MatRadioModule,
|
|
47
|
-
BackButtonDirective,
|
|
48
|
-
AppContainerComponent,
|
|
49
|
-
ToolbarComponent,
|
|
50
|
-
MatButtonModule,
|
|
51
|
-
], 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" }]
|
|
52
|
-
}], ctorParameters: () => [] });
|
|
53
|
-
|
|
54
|
-
export { GenderComponent };
|
|
55
|
-
//# sourceMappingURL=rolatech-angular-account-gender.component-9GJeEE9U.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-gender.component-9GJeEE9U.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/gender/gender.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/gender/gender.component.html"],"sourcesContent":["import { Component, OnInit, effect, inject } from '@angular/core';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { AuthService, AuthUserService } from '@rolatech/angular-auth';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';\nimport { BackButtonDirective } from '@rolatech/angular-services';\nimport { UserGender } from '../../../contant/user';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n standalone: true,\n imports: [\n AngularCommonModule,\n AngularComponentsModule,\n MatRadioModule,\n BackButtonDirective,\n AppContainerComponent,\n ToolbarComponent,\n MatButtonModule,\n ],\n selector: 'rolatech-account-gender',\n templateUrl: './gender.component.html',\n styleUrls: ['./gender.component.scss'],\n})\nexport class GenderComponent extends BaseComponent implements OnInit {\n authUserService = inject(AuthUserService);\n GENDERS: string[] = ['男', '女', '不公开'];\n gender: any = UserGender;\n selectedGender = '';\n\n user = inject(AuthService).user;\n email: string | undefined = '';\n constructor() {\n super();\n effect(() => {\n this.selectedGender = this.gender[this.user()?.gender!];\n });\n }\n ngOnInit(): void {}\n\n save() {\n this.authUserService.update({ gender: this.gender[this.selectedGender] }).subscribe({\n next: (res) => {\n this.snackBarService.open('修改成功');\n },\n error: (error) => {\n this.snackBarService.open(error.message);\n },\n });\n }\n}\n","<rolatech-app-container>\n <rolatech-toolbar title=\"设置性别\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <label class=\"px-2\">性别选择</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>取消</button>\n <button mat-flat-button class=\"w-20 p-2 ml-3\" (click)=\"save()\">保存</button>\n </div>\n </div>\n</rolatech-app-container>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component } from '@angular/core';
|
|
3
|
-
import { AuthService } from '@rolatech/angular-auth';
|
|
4
|
-
import { BaseComponent, AngularComponentsModule, AppContainerComponent, SpinnerComponent, TabsComponent, TabComponent, ToolbarComponent, IconButtonComponent } from '@rolatech/angular-components';
|
|
5
|
-
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
6
|
-
import { U as UserItemComponent } from './rolatech-angular-account-rolatech-angular-account-BuEBlu0U.mjs';
|
|
7
|
-
import '@angular/common';
|
|
8
|
-
import '@angular/material/button';
|
|
9
|
-
import '@angular/material/snack-bar';
|
|
10
|
-
import '@angular/router';
|
|
11
|
-
import '@angular/forms';
|
|
12
|
-
import '@angular/platform-browser';
|
|
13
|
-
import '@angular/material/form-field';
|
|
14
|
-
import '@angular/material/input';
|
|
15
|
-
|
|
16
|
-
class HomeComponent extends BaseComponent {
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
this.links = [
|
|
20
|
-
{
|
|
21
|
-
name: '全部',
|
|
22
|
-
icon: 'dashboard',
|
|
23
|
-
status: '',
|
|
24
|
-
path: false,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: '待付款',
|
|
28
|
-
icon: 'category',
|
|
29
|
-
status: 'created',
|
|
30
|
-
path: true,
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: '已支付',
|
|
34
|
-
icon: 'category',
|
|
35
|
-
status: 'paid',
|
|
36
|
-
path: true,
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: '已退款',
|
|
40
|
-
icon: 'category',
|
|
41
|
-
status: 'refunded',
|
|
42
|
-
path: true,
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: '已取消',
|
|
46
|
-
icon: 'category',
|
|
47
|
-
status: 'canceled',
|
|
48
|
-
path: true,
|
|
49
|
-
},
|
|
50
|
-
];
|
|
51
|
-
this.user = inject(AuthService).user;
|
|
52
|
-
this.select = 0;
|
|
53
|
-
}
|
|
54
|
-
ngOnInit() {
|
|
55
|
-
this.select = this.links.findIndex((item) => item.status === '');
|
|
56
|
-
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
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" }] }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HomeComponent, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{ standalone: true, imports: [
|
|
63
|
-
AngularCommonModule,
|
|
64
|
-
AngularComponentsModule,
|
|
65
|
-
SpinnerComponent,
|
|
66
|
-
UserItemComponent,
|
|
67
|
-
TabsComponent,
|
|
68
|
-
TabComponent,
|
|
69
|
-
ToolbarComponent,
|
|
70
|
-
AppContainerComponent,
|
|
71
|
-
ToolbarComponent,
|
|
72
|
-
IconButtonComponent,
|
|
73
|
-
], 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" }]
|
|
74
|
-
}], ctorParameters: () => [] });
|
|
75
|
-
|
|
76
|
-
export { HomeComponent };
|
|
77
|
-
//# sourceMappingURL=rolatech-angular-account-home.component-BB9zBFKT.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rolatech-angular-account-home.component-BB9zBFKT.mjs","sources":["../../../../libs/angular-account/src/lib/pages/myaccount/home/home.component.ts","../../../../libs/angular-account/src/lib/pages/myaccount/home/home.component.html"],"sourcesContent":["import { Component, inject, OnInit } from '@angular/core';\nimport { AuthService } from '@rolatech/angular-auth';\nimport {\n AngularComponentsModule,\n AppContainerComponent,\n BaseComponent,\n IconButtonComponent,\n SpinnerComponent,\n TabComponent,\n TabsComponent,\n ToolbarComponent,\n} from '@rolatech/angular-components';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { UserItemComponent } from '../../../components';\n\n@Component({\n standalone: true,\n imports: [\n AngularCommonModule,\n AngularComponentsModule,\n SpinnerComponent,\n UserItemComponent,\n TabsComponent,\n TabComponent,\n ToolbarComponent,\n AppContainerComponent,\n ToolbarComponent,\n IconButtonComponent,\n ],\n selector: 'rolatech-account-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss'],\n})\nexport class HomeComponent extends BaseComponent implements OnInit {\n links = [\n {\n name: '全部',\n icon: 'dashboard',\n status: '',\n path: false,\n },\n {\n name: '待付款',\n icon: 'category',\n status: 'created',\n path: true,\n },\n {\n name: '已支付',\n icon: 'category',\n status: 'paid',\n path: true,\n },\n {\n name: '已退款',\n icon: 'category',\n status: 'refunded',\n path: true,\n },\n {\n name: '已取消',\n icon: 'category',\n status: 'canceled',\n path: true,\n },\n ];\n user = inject(AuthService).user;\n select = 0;\n constructor() {\n super();\n }\n ngOnInit(): void {\n this.select = this.links.findIndex((item) => item.status === '');\n }\n}\n","@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\">欢迎回来, {{ user.name }}</p>\n <p class=\"text-md\">用户中心, 方便您维护个人信息, 这会有一个很好的体验</p>\n </div>\n </div>\n </rolatech-app-container>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAiCM,MAAO,aAAc,SAAQ,aAAa,CAAA;AAmC9C,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AAnCV,QAAA,IAAA,CAAA,KAAK,GAAG;AACN,YAAA;AACE,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,IAAI,EAAE,KAAK;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;SACF,CAAC;AACF,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QAChC,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;KAGV;IACD,QAAQ,GAAA;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;KAClE;8GAxCU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,wGCjC1B,gvBAiBA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDCI,mBAAmB,EACnB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,uBAAuB,+BAMvB,qBAAqB,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAQZ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAlBzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACP,OAAA,EAAA;wBACP,mBAAmB;wBACnB,uBAAuB;wBACvB,gBAAgB;wBAChB,iBAAiB;wBACjB,aAAa;wBACb,YAAY;wBACZ,gBAAgB;wBAChB,qBAAqB;wBACrB,gBAAgB;wBAChB,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EACS,uBAAuB,EAAA,QAAA,EAAA,gvBAAA,EAAA,CAAA;;;;;"}
|