@solar-angular/planets 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +7 -0
  2. package/earth/earth.pipe.d.ts +19 -0
  3. package/earth/earth.resolver.d.ts +4 -0
  4. package/earth/earth.service.d.ts +32 -0
  5. package/earth/guards/auth.guard.d.ts +12 -0
  6. package/earth/guards/index.d.ts +3 -0
  7. package/earth/guards/permission.guard.d.ts +6 -0
  8. package/earth/guards/unauth.guard.d.ts +6 -0
  9. package/earth/index.d.ts +6 -0
  10. package/earth/menu.service.d.ts +14 -0
  11. package/earth/object-storage.service.d.ts +21 -0
  12. package/esm2022/earth/earth.pipe.mjs +51 -0
  13. package/esm2022/earth/earth.resolver.mjs +10 -0
  14. package/esm2022/earth/earth.service.mjs +134 -0
  15. package/esm2022/earth/guards/auth.guard.mjs +30 -0
  16. package/esm2022/earth/guards/index.mjs +4 -0
  17. package/esm2022/earth/guards/permission.guard.mjs +16 -0
  18. package/esm2022/earth/guards/unauth.guard.mjs +16 -0
  19. package/esm2022/earth/index.mjs +7 -0
  20. package/esm2022/earth/menu.service.mjs +37 -0
  21. package/esm2022/earth/object-storage.service.mjs +44 -0
  22. package/esm2022/earth/solar-angular-planets-earth.mjs +5 -0
  23. package/esm2022/index.mjs +2 -0
  24. package/esm2022/mercury/auth.interceptor.mjs +53 -0
  25. package/esm2022/mercury/index.mjs +3 -0
  26. package/esm2022/mercury/mercury.service.mjs +68 -0
  27. package/esm2022/mercury/solar-angular-planets-mercury.mjs +5 -0
  28. package/esm2022/solar-angular-planets.mjs +5 -0
  29. package/esm2022/sun/gender.pipe.mjs +20 -0
  30. package/esm2022/sun/index.mjs +2 -0
  31. package/esm2022/sun/solar-angular-planets-sun.mjs +5 -0
  32. package/fesm2022/solar-angular-planets-earth.mjs +318 -0
  33. package/fesm2022/solar-angular-planets-earth.mjs.map +1 -0
  34. package/fesm2022/solar-angular-planets-mercury.mjs +123 -0
  35. package/fesm2022/solar-angular-planets-mercury.mjs.map +1 -0
  36. package/fesm2022/solar-angular-planets-sun.mjs +27 -0
  37. package/fesm2022/solar-angular-planets-sun.mjs.map +1 -0
  38. package/fesm2022/solar-angular-planets.mjs +6 -0
  39. package/fesm2022/solar-angular-planets.mjs.map +1 -0
  40. package/index.d.ts +2 -0
  41. package/mercury/auth.interceptor.d.ts +8 -0
  42. package/mercury/index.d.ts +2 -0
  43. package/mercury/mercury.service.d.ts +17 -0
  44. package/package.json +48 -0
  45. package/sun/gender.pipe.d.ts +8 -0
  46. package/sun/index.d.ts +1 -0
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # planets
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test planets` to execute the unit tests.
@@ -0,0 +1,19 @@
1
+ import { ChangeDetectorRef, PipeTransform } from '@angular/core';
2
+ import { Category, Origin } from '@solar-kit/planets/earth';
3
+ import { EarthService } from './earth.service';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CategoryPipe implements PipeTransform {
6
+ protected latestId: Category['id'] | null;
7
+ protected latestOrigin: Origin | null;
8
+ protected latestValue: Category | null;
9
+ protected readonly service: EarthService;
10
+ protected readonly cdr: ChangeDetectorRef;
11
+ transform(id: Category['id'], origin: Origin): Category | null;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CategoryPipe, never>;
13
+ static ɵpipe: i0.ɵɵPipeDeclaration<CategoryPipe, "category", true>;
14
+ }
15
+ export declare class UnitCategoryPipe extends CategoryPipe implements PipeTransform {
16
+ transform(value: Category['id']): Category | null;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<UnitCategoryPipe, never>;
18
+ static ɵpipe: i0.ɵɵPipeDeclaration<UnitCategoryPipe, "unit", true>;
19
+ }
@@ -0,0 +1,4 @@
1
+ import { ResolveFn } from '@angular/router';
2
+ import { Category, Channel, Origin } from '@solar-kit/planets/earth';
3
+ export declare function channelResolver(origin: Origin): ResolveFn<Channel[]>;
4
+ export declare function categoryResolver(origin: Origin): ResolveFn<Category[]>;
@@ -0,0 +1,32 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { UrlSegment } from '@angular/router';
3
+ import { CacheManager } from '@solar-angular/http';
4
+ import { AccountName, Address, Category, Channel, Menu, Origin, UploadKeys, UserInfo } from '@solar-kit/planets/earth';
5
+ import { Result } from '@solar-kit/planets/sun';
6
+ import * as i0 from "@angular/core";
7
+ export declare class EarthService {
8
+ readonly config: import("@solar-angular/core").SolarConfig;
9
+ readonly http: HttpClient;
10
+ readonly cacheManager: CacheManager;
11
+ checkAuth(): import("rxjs").Observable<boolean>;
12
+ checkPermission(segments: UrlSegment[]): import("rxjs").Observable<boolean>;
13
+ account(): import("rxjs").Observable<Result<AccountName>>;
14
+ user(): import("rxjs").Observable<Result<UserInfo>>;
15
+ menus(): import("rxjs").Observable<Menu[]>;
16
+ /**
17
+ * 变更密码
18
+ * @param o
19
+ * @returns
20
+ */
21
+ changePassword(o: {
22
+ oldPsw: string;
23
+ newPsw: string;
24
+ }): import("rxjs").Observable<Result<null>>;
25
+ channels(origin: Origin): import("rxjs").Observable<Result<Channel[]>>;
26
+ categories(origin: Origin): import("rxjs").Observable<Result<Category[]>>;
27
+ address(pid?: number): import("rxjs").Observable<Result<Address[]>>;
28
+ avatarUploadKey(): import("rxjs").Observable<Result<UploadKeys>>;
29
+ mediaUploadKeys(keySize?: number): import("rxjs").Observable<Result<UploadKeys>>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<EarthService, never>;
31
+ static ɵprov: i0.ɵɵInjectableDeclaration<EarthService>;
32
+ }
@@ -0,0 +1,12 @@
1
+ import { CanMatchFn } from '@angular/router';
2
+ interface AuthMatchGuardOptions {
3
+ /** 是否在登陆后重定向回当前页 */
4
+ redirect?: boolean;
5
+ }
6
+ /**
7
+ * 认证路由守卫
8
+ * 认证后才允许进入,否则将导航到登录页(/login)
9
+ * @param options
10
+ */
11
+ export declare function authMatchGuard(options?: AuthMatchGuardOptions): CanMatchFn;
12
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './auth.guard';
2
+ export * from './permission.guard';
3
+ export * from './unauth.guard';
@@ -0,0 +1,6 @@
1
+ import { CanMatchFn } from '@angular/router';
2
+ /**
3
+ * 权限路由守卫
4
+ * 有权限才允许进入,否则导航到无权限页(/forbidden)
5
+ */
6
+ export declare function permissionMatchGuard(): CanMatchFn;
@@ -0,0 +1,6 @@
1
+ import { CanMatchFn } from '@angular/router';
2
+ /**
3
+ * 未认证路由守卫
4
+ * 未认证才允许进入,否则将导航到首页
5
+ */
6
+ export declare function unauthMatchGuard(): CanMatchFn;
@@ -0,0 +1,6 @@
1
+ export * from './earth.pipe';
2
+ export * from './earth.resolver';
3
+ export * from './earth.service';
4
+ export * from './guards';
5
+ export * from './menu.service';
6
+ export * from './object-storage.service';
@@ -0,0 +1,14 @@
1
+ import { Menu } from '@solar-kit/planets/earth';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class MenuService {
5
+ private readonly earthService;
6
+ private readonly router;
7
+ private get pureUrl();
8
+ /**
9
+ * 当前的菜单数组
10
+ */
11
+ readonly menus$: Observable<Menu[]>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<MenuService>;
14
+ }
@@ -0,0 +1,21 @@
1
+ import { UploadKeys } from '@solar-kit/planets/earth';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ObjectStorageService {
4
+ private readonly http;
5
+ /**
6
+ * 目前只支持了 qiniu oss
7
+ * @param filePath
8
+ * @param options
9
+ * @returns
10
+ */
11
+ upload(file: Blob, key: string, options: Pick<UploadKeys, 'host' | 'token'>): import("rxjs").Observable<{
12
+ hash: string;
13
+ key: string;
14
+ }>;
15
+ uploadWithEvents(file: Blob, key: string, options: Pick<UploadKeys, 'host' | 'token'>): import("rxjs").Observable<import("@angular/common/http").HttpEvent<{
16
+ hash: string;
17
+ key: string;
18
+ }>>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectStorageService, never>;
20
+ static ɵprov: i0.ɵɵInjectableDeclaration<ObjectStorageService>;
21
+ }
@@ -0,0 +1,51 @@
1
+ import { ChangeDetectorRef, inject, Pipe } from '@angular/core';
2
+ import { filterResult } from '@solar-kit/planets/sun';
3
+ import { EarthService } from './earth.service';
4
+ import * as i0 from "@angular/core";
5
+ export class CategoryPipe {
6
+ constructor() {
7
+ this.latestId = null;
8
+ this.latestOrigin = null;
9
+ this.latestValue = null;
10
+ this.service = inject(EarthService);
11
+ this.cdr = inject(ChangeDetectorRef);
12
+ }
13
+ transform(id, origin) {
14
+ if (id !== this.latestId || origin !== this.latestOrigin) {
15
+ this.latestId = id;
16
+ this.latestOrigin = origin;
17
+ // 这个 API 是带缓存的,不用担心重复执行
18
+ this.service.categories(origin).pipe(filterResult()).subscribe(({ data }) => {
19
+ this.latestValue = data.find(o => o.id === id) ?? null;
20
+ this.cdr.markForCheck();
21
+ });
22
+ }
23
+ return this.latestValue;
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CategoryPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
26
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CategoryPipe, isStandalone: true, name: "category", pure: false }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CategoryPipe, decorators: [{
29
+ type: Pipe,
30
+ args: [{
31
+ name: 'category',
32
+ pure: false,
33
+ standalone: true
34
+ }]
35
+ }] });
36
+ export class UnitCategoryPipe extends CategoryPipe {
37
+ transform(value) {
38
+ return super.transform(value, 13 /* Origin.Unit */);
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnitCategoryPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
41
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UnitCategoryPipe, isStandalone: true, name: "unit", pure: false }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnitCategoryPipe, decorators: [{
44
+ type: Pipe,
45
+ args: [{
46
+ name: 'unit',
47
+ pure: false,
48
+ standalone: true
49
+ }]
50
+ }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFydGgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZWFydGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLFlBQVk7SUFMekI7UUFNWSxhQUFRLEdBQTBCLElBQUksQ0FBQztRQUN2QyxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsZ0JBQVcsR0FBb0IsSUFBSSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0IsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBbUJwRDtJQWpCQyxTQUFTLENBQUMsRUFBa0IsRUFBRSxNQUFjO1FBQzFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztZQUUzQix3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNsQyxZQUFZLEVBQUUsQ0FDZixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7K0dBdEJVLFlBQVk7NkdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFMeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWdDRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsWUFBWTtJQUN2QyxTQUFTLENBQUMsS0FBcUI7UUFDdEMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssdUJBQWMsQ0FBQztJQUM3QyxDQUFDOytHQUhVLGdCQUFnQjs2R0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUw1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO29CQUNaLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhdGVnb3J5LCBPcmlnaW4gfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvZWFydGgnO1xuaW1wb3J0IHsgZmlsdGVyUmVzdWx0IH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBFYXJ0aFNlcnZpY2UgfSBmcm9tICcuL2VhcnRoLnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYXRlZ29yeScsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcm90ZWN0ZWQgbGF0ZXN0SWQ6IENhdGVnb3J5WydpZCddIHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBsYXRlc3RPcmlnaW46IE9yaWdpbiB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgbGF0ZXN0VmFsdWU6IENhdGVnb3J5IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlID0gaW5qZWN0KEVhcnRoU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHRyYW5zZm9ybShpZDogQ2F0ZWdvcnlbJ2lkJ10sIG9yaWdpbjogT3JpZ2luKSB7XG4gICAgaWYgKGlkICE9PSB0aGlzLmxhdGVzdElkIHx8IG9yaWdpbiAhPT0gdGhpcy5sYXRlc3RPcmlnaW4pIHtcbiAgICAgIHRoaXMubGF0ZXN0SWQgPSBpZDtcbiAgICAgIHRoaXMubGF0ZXN0T3JpZ2luID0gb3JpZ2luO1xuXG4gICAgICAvLyDov5nkuKogQVBJIOaYr+W4pue8k+WtmOeahO+8jOS4jeeUqOaLheW/g+mHjeWkjeaJp+ihjFxuICAgICAgdGhpcy5zZXJ2aWNlLmNhdGVnb3JpZXMob3JpZ2luKS5waXBlKFxuICAgICAgICBmaWx0ZXJSZXN1bHQoKVxuICAgICAgKS5zdWJzY3JpYmUoKHsgZGF0YSB9KSA9PiB7XG4gICAgICAgIHRoaXMubGF0ZXN0VmFsdWUgPSBkYXRhLmZpbmQobyA9PiBvLmlkID09PSBpZCkgPz8gbnVsbDtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sYXRlc3RWYWx1ZTtcbiAgfVxuXG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3VuaXQnLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBVbml0Q2F0ZWdvcnlQaXBlIGV4dGVuZHMgQ2F0ZWdvcnlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIG92ZXJyaWRlIHRyYW5zZm9ybSh2YWx1ZTogQ2F0ZWdvcnlbJ2lkJ10pIHtcbiAgICByZXR1cm4gc3VwZXIudHJhbnNmb3JtKHZhbHVlLCBPcmlnaW4uVW5pdCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { inject } from '@angular/core';
2
+ import { unpackResult } from '@solar-kit/planets/sun';
3
+ import { EarthService } from './earth.service';
4
+ export function channelResolver(origin) {
5
+ return () => inject(EarthService).channels(origin).pipe(unpackResult());
6
+ }
7
+ export function categoryResolver(origin) {
8
+ return () => inject(EarthService).categories(origin).pipe(unpackResult());
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFydGgucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXRzL2VhcnRoL2VhcnRoLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWM7SUFDNUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBQzFFLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBYztJQUM3QyxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7QUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZUZuIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENhdGVnb3J5LCBDaGFubmVsLCBPcmlnaW4gfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvZWFydGgnO1xuaW1wb3J0IHsgdW5wYWNrUmVzdWx0IH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBFYXJ0aFNlcnZpY2UgfSBmcm9tICcuL2VhcnRoLnNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hhbm5lbFJlc29sdmVyKG9yaWdpbjogT3JpZ2luKTogUmVzb2x2ZUZuPENoYW5uZWxbXT4ge1xuICByZXR1cm4gKCkgPT4gaW5qZWN0KEVhcnRoU2VydmljZSkuY2hhbm5lbHMob3JpZ2luKS5waXBlKHVucGFja1Jlc3VsdCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhdGVnb3J5UmVzb2x2ZXIob3JpZ2luOiBPcmlnaW4pOiBSZXNvbHZlRm48Q2F0ZWdvcnlbXT4ge1xuICByZXR1cm4gKCkgPT4gaW5qZWN0KEVhcnRoU2VydmljZSkuY2F0ZWdvcmllcyhvcmlnaW4pLnBpcGUodW5wYWNrUmVzdWx0KCkpO1xufVxuIl19
@@ -0,0 +1,134 @@
1
+ import { HttpClient, HttpContext } from '@angular/common/http';
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { SOLAR_CONFIG, tree2list } from '@solar-angular/core';
4
+ import { AUTH_REDIRECT_TOKEN, CACHEABLE_TOKEN, CacheManager, CATCH_HTTP_ERROR_TOKEN } from '@solar-angular/http';
5
+ import { filterResult } from '@solar-kit/planets/sun';
6
+ import { catchError, map, of, tap } from 'rxjs';
7
+ import * as i0 from "@angular/core";
8
+ function normalizeMenus(menus) {
9
+ const dashboard = {
10
+ id: 0,
11
+ fullName: 'Dashboard',
12
+ icon: 'dashboard',
13
+ seq: 0,
14
+ url: 'dashboard',
15
+ };
16
+ menus = menus.concat(dashboard);
17
+ menus.forEach(o => {
18
+ o.level = 1;
19
+ o.children = menus.filter(child => child.pid === o.id).sort((a, b) => a.seq - b.seq);
20
+ o.children.forEach(child => child.parent = o);
21
+ });
22
+ // 设置 level
23
+ menus.forEach(o => {
24
+ let menu = o;
25
+ while (menu?.parent) { // 如果有上一级,就自增一
26
+ o.level++;
27
+ menu = menu.parent;
28
+ }
29
+ });
30
+ // 设置末端子节点的 path
31
+ menus.filter(o => o.children?.length === 0).forEach(o => {
32
+ let segment = '', menu = o;
33
+ while (menu) {
34
+ segment = '/' + menu.url + segment;
35
+ menu = menu.parent;
36
+ }
37
+ o.path = segment;
38
+ });
39
+ menus.sort((a, b) => a.seq - b.seq);
40
+ return menus;
41
+ }
42
+ export class EarthService {
43
+ constructor() {
44
+ this.config = inject(SOLAR_CONFIG);
45
+ this.http = inject(HttpClient);
46
+ this.cacheManager = inject(CacheManager);
47
+ }
48
+ checkAuth() {
49
+ // 这里直接用 menus API 来判断是否已认证
50
+ return this.http.get(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {
51
+ context: new HttpContext()
52
+ .set(CACHEABLE_TOKEN, true)
53
+ .set(AUTH_REDIRECT_TOKEN, false)
54
+ .set(CATCH_HTTP_ERROR_TOKEN, false)
55
+ }).pipe(map(() => true), catchError(() => of(false)));
56
+ }
57
+ checkPermission(segments) {
58
+ return this.http.get(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {
59
+ context: new HttpContext()
60
+ .set(CACHEABLE_TOKEN, true)
61
+ .set(AUTH_REDIRECT_TOKEN, false)
62
+ .set(CATCH_HTTP_ERROR_TOKEN, false)
63
+ }).pipe(map(({ data }) => {
64
+ const tree = normalizeMenus(data);
65
+ const list = tree2list(tree);
66
+ // 我们的权限菜单只有两级,我们只判断前两个 path 片段
67
+ const path = '/' + segments
68
+ .filter((_, index) => index <= 1)
69
+ .map(o => o.path.replace(/;.+$/, '')) // path 中可能有参数,我们只取前面的部分:/a;id=1 => /a
70
+ .join('/');
71
+ return list.some(menu => menu.path === path);
72
+ }), catchError(() => of(false)));
73
+ }
74
+ account() {
75
+ return this.http.get(`${this.config.earthUrl}/api/acc/info`, {
76
+ context: new HttpContext().set(CACHEABLE_TOKEN, true)
77
+ });
78
+ }
79
+ user() {
80
+ return this.http.get(`${this.config.earthUrl}/api/usr/info`, {
81
+ context: new HttpContext().set(CACHEABLE_TOKEN, true)
82
+ });
83
+ }
84
+ menus() {
85
+ return this.http.get(`${this.config.earthUrl}/api/role-menus/${this.config.clientId}`, {
86
+ context: new HttpContext().set(CACHEABLE_TOKEN, true)
87
+ }).pipe(filterResult(), map(({ data }) => normalizeMenus(data)));
88
+ }
89
+ /**
90
+ * 变更密码
91
+ * @param o
92
+ * @returns
93
+ */
94
+ changePassword(o) {
95
+ return this.http.post(`${this.config.earthUrl}/api/user/psw`, o).pipe(tap(({ code }) => {
96
+ if (code === 0) {
97
+ this.cacheManager.revokeAll();
98
+ }
99
+ }));
100
+ }
101
+ channels(origin) {
102
+ return this.http.get(`${this.config.earthUrl}/api/channel/${origin}`, {
103
+ context: new HttpContext().set(CACHEABLE_TOKEN, true)
104
+ });
105
+ }
106
+ categories(origin) {
107
+ return this.http.get(`${this.config.earthUrl}/api/category/${origin}`, {
108
+ context: new HttpContext().set(CACHEABLE_TOKEN, true)
109
+ });
110
+ }
111
+ address(pid) {
112
+ return this.http.get(`${this.config.earthUrl}/api/addrs`, {
113
+ params: pid ? { pid } : undefined,
114
+ context: new HttpContext().set(CACHEABLE_TOKEN, true)
115
+ });
116
+ }
117
+ avatarUploadKey() {
118
+ return this.http.get(`${this.config.earthUrl}/api/qiniu/avatar/upload-key`);
119
+ }
120
+ mediaUploadKeys(keySize = 1) {
121
+ return this.http.get(`${this.config.earthUrl}/api/qiniu/media/upload-keys`, {
122
+ params: { keySize }
123
+ });
124
+ }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EarthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
126
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EarthService, providedIn: 'root' }); }
127
+ }
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EarthService, decorators: [{
129
+ type: Injectable,
130
+ args: [{
131
+ providedIn: 'root'
132
+ }]
133
+ }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFydGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZWFydGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSCxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFaEQsU0FBUyxjQUFjLENBQUMsS0FBYTtJQUNuQyxNQUFNLFNBQVMsR0FBRztRQUNoQixFQUFFLEVBQUUsQ0FBQztRQUNMLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLElBQUksRUFBRSxXQUFXO1FBQ2pCLEdBQUcsRUFBRSxDQUFDO1FBQ04sR0FBRyxFQUFFLFdBQVc7S0FDVCxDQUFDO0lBRVYsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNoQixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxD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QUFJLENBQUMsR0FBRyxDQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxpQkFBaUIsTUFBTSxFQUFFLEVBQUU7WUFDekYsT0FBTyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUM7U0FDdEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW9CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLFlBQVksRUFBRTtZQUMzRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2pDLE9BQU8sRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsOEJBQThCLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQU8sR0FBRyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLDhCQUE4QixFQUFFO1lBQzlGLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXRHVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNPTEFSX0NPTkZJRywgdHJlZTJsaXN0IH0gZnJvbSAnQHNvbGFyLWFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBVVRIX1JFRElSRUNUX1RPS0VOLCBDQUNIRUFCTEVfVE9LRU4sIENhY2hlTWFuYWdlciwgQ0FUQ0hfSFRUUF9FUlJPUl9UT0tFTiB9IGZyb20gJ0Bzb2xhci1hbmd1bGFyL2h0dHAnO1xuaW1wb3J0IHsgQWNjb3VudE5hbWUsIEFkZHJlc3MsIENhdGVnb3J5LCBDaGFubmVsLCBNZW51LCBPcmlnaW4sIFVwbG9hZEtleXMsIFVzZXJJbmZvIH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL2VhcnRoJztcbmltcG9ydCB7IGZpbHRlclJlc3VsdCwgUmVzdWx0IH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIG9mLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZnVuY3Rpb24gbm9ybWFsaXplTWVudXMobWVudXM6IE1lbnVbXSkge1xuICBjb25zdCBkYXNoYm9hcmQgPSB7XG4gICAgaWQ6IDAsXG4gICAgZnVsbE5hbWU6ICdEYXNoYm9hcmQnLFxuICAgIGljb246ICdkYXNoYm9hcmQnLFxuICAgIHNlcTogMCxcbiAgICB1cmw6ICdkYXNoYm9hcmQnLFxuICB9IGFzIE1lbnU7XG5cbiAgbWVudXMgPSBtZW51cy5jb25jYXQoZGFzaGJvYXJkKTtcblxuICBtZW51cy5mb3JFYWNoKG8gPT4ge1xuICAgIG8ubGV2ZWwgPSAxO1xuICAgIG8uY2hpbGRyZW4gPSBtZW51cy5maWx0ZXIoY2hpbGQgPT4gY2hpbGQucGlkID09PSBvLmlkKS5zb3J0KChhLCBiKSA9PiBhLnNlcSAtIGIuc2VxKTtcbiAgICBvLmNoaWxkcmVuIS5mb3JFYWNoKGNoaWxkID0+IGNoaWxkLnBhcmVudCA9IG8pO1xuICB9KTtcblxuICAvLyDorr7nva4gbGV2ZWxcbiAgbWVudXMuZm9yRWFjaChvID0+IHtcbiAgICBsZXQgbWVudSA9IG87XG4gICAgd2hpbGUgKG1lbnU/LnBhcmVudCkgeyAvLyDlpoLmnpzmnInkuIrkuIDnuqfvvIzlsLHoh6rlop7kuIBcbiAgICAgIG8ubGV2ZWwhKys7XG4gICAgICBtZW51ID0gbWVudS5wYXJlbnQ7XG4gICAgfVxuICB9KTtcblxuICAvLyDorr7nva7mnKvnq6/lrZDoioLngrnnmoQgcGF0aFxuICBtZW51cy5maWx0ZXIobyA9PiBvLmNoaWxkcmVuPy5sZW5ndGggPT09IDApLmZvckVhY2gobyA9PiB7XG4gICAgbGV0IHNlZ21lbnQgPSAnJywgbWVudTogTWVudSB8IHVuZGVmaW5lZCA9IG87XG5cbiAgICB3aGlsZSAobWVudSkge1xuICAgICAgc2VnbWVudCA9ICcvJyArIG1lbnUudXJsICsgc2VnbWVudDtcbiAgICAgIG1lbnUgPSBtZW51LnBhcmVudDtcbiAgICB9XG5cbiAgICBvLnBhdGggPSBzZWdtZW50O1xuICB9KTtcblxuICBtZW51cy5zb3J0KChhLCBiKSA9PiBhLnNlcSAtIGIuc2VxKTtcblxuICByZXR1cm4gbWVudXM7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVhcnRoU2VydmljZSB7XG4gIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChTT0xBUl9DT05GSUcpO1xuICByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICByZWFkb25seSBjYWNoZU1hbmFnZXIgPSBpbmplY3QoQ2FjaGVNYW5hZ2VyKTtcblxuICBjaGVja0F1dGgoKSB7XG4gICAgLy8g6L+Z6YeM55u05o6l55SoIG1lbnVzIEFQSSDmnaXliKTmlq3mmK/lkKblt7LorqTor4FcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8TWVudVtdPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9yb2xlLW1lbnVzLyR7dGhpcy5jb25maWcuY2xpZW50SWR9YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KClcbiAgICAgICAgLnNldChDQUNIRUFCTEVfVE9LRU4sIHRydWUpXG4gICAgICAgIC5zZXQoQVVUSF9SRURJUkVDVF9UT0tFTiwgZmFsc2UpXG4gICAgICAgIC5zZXQoQ0FUQ0hfSFRUUF9FUlJPUl9UT0tFTiwgZmFsc2UpXG4gICAgfSkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICk7XG4gIH1cblxuICBjaGVja1Blcm1pc3Npb24oc2VnbWVudHM6IFVybFNlZ21lbnRbXSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxNZW51W10+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3JvbGUtbWVudXMvJHt0aGlzLmNvbmZpZy5jbGllbnRJZH1gLCB7XG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKVxuICAgICAgICAuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICAgICAgLnNldChBVVRIX1JFRElSRUNUX1RPS0VOLCBmYWxzZSlcbiAgICAgICAgLnNldChDQVRDSF9IVFRQX0VSUk9SX1RPS0VOLCBmYWxzZSlcbiAgICB9KS5waXBlKFxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4ge1xuICAgICAgICBjb25zdCB0cmVlID0gbm9ybWFsaXplTWVudXMoZGF0YSk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0cmVlMmxpc3QodHJlZSk7XG4gICAgICAgIC8vIOaIkeS7rOeahOadg+mZkOiPnOWNleWPquacieS4pOe6p++8jOaIkeS7rOWPquWIpOaWreWJjeS4pOS4qiBwYXRoIOeJh+autVxuICAgICAgICBjb25zdCBwYXRoID0gJy8nICsgc2VnbWVudHNcbiAgICAgICAgICAuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggPD0gMSlcbiAgICAgICAgICAubWFwKG8gPT4gby5wYXRoLnJlcGxhY2UoLzsuKyQvLCAnJykpIC8vIHBhdGgg5Lit5Y+v6IO95pyJ5Y+C5pWw77yM5oiR5Lus5Y+q5Y+W5YmN6Z2i55qE6YOo5YiG77yaL2E7aWQ9MSA9PiAvYVxuICAgICAgICAgIC5qb2luKCcvJyk7XG4gICAgICAgIHJldHVybiBsaXN0LnNvbWUobWVudSA9PiBtZW51LnBhdGggPT09IHBhdGgpO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKGZhbHNlKSlcbiAgICApO1xuICB9XG5cbiAgYWNjb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8QWNjb3VudE5hbWU+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL2FjYy9pbmZvYCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KTtcbiAgfVxuXG4gIHVzZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PFVzZXJJbmZvPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS91c3IvaW5mb2AsIHtcbiAgICAgIGNvbnRleHQ6IG5ldyBIdHRwQ29udGV4dCgpLnNldChDQUNIRUFCTEVfVE9LRU4sIHRydWUpXG4gICAgfSk7XG4gIH1cblxuICBtZW51cygpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8TWVudVtdPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9yb2xlLW1lbnVzLyR7dGhpcy5jb25maWcuY2xpZW50SWR9YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KS5waXBlKFxuICAgICAgZmlsdGVyUmVzdWx0KCksXG4gICAgICBtYXAoKHsgZGF0YSB9KSA9PiBub3JtYWxpemVNZW51cyhkYXRhKSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOWPmOabtOWvhueggVxuICAgKiBAcGFyYW0gb1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgY2hhbmdlUGFzc3dvcmQobzogeyBvbGRQc3c6IHN0cmluZywgbmV3UHN3OiBzdHJpbmcgfSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXN1bHQ+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvdXNlci9wc3dgLCBvKS5waXBlKFxuICAgICAgdGFwKCh7IGNvZGUgfSkgPT4ge1xuICAgICAgICBpZiAoY29kZSA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuY2FjaGVNYW5hZ2VyLnJldm9rZUFsbCgpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBjaGFubmVscyhvcmlnaW46IE9yaWdpbikge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxDaGFubmVsW10+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL2NoYW5uZWwvJHtvcmlnaW59YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KTtcbiAgfVxuXG4gIGNhdGVnb3JpZXMob3JpZ2luOiBPcmlnaW4pIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSZXN1bHQ8Q2F0ZWdvcnlbXT4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvY2F0ZWdvcnkvJHtvcmlnaW59YCwge1xuICAgICAgY29udGV4dDogbmV3IEh0dHBDb250ZXh0KCkuc2V0KENBQ0hFQUJMRV9UT0tFTiwgdHJ1ZSlcbiAgICB9KTtcbiAgfVxuXG4gIGFkZHJlc3MocGlkPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PEFkZHJlc3NbXT4+KGAke3RoaXMuY29uZmlnLmVhcnRoVXJsfS9hcGkvYWRkcnNgLCB7XG4gICAgICBwYXJhbXM6IHBpZCA/IHsgcGlkIH0gOiB1bmRlZmluZWQsXG4gICAgICBjb250ZXh0OiBuZXcgSHR0cENvbnRleHQoKS5zZXQoQ0FDSEVBQkxFX1RPS0VOLCB0cnVlKVxuICAgIH0pO1xuICB9XG5cbiAgYXZhdGFyVXBsb2FkS2V5KCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlc3VsdDxVcGxvYWRLZXlzPj4oYCR7dGhpcy5jb25maWcuZWFydGhVcmx9L2FwaS9xaW5pdS9hdmF0YXIvdXBsb2FkLWtleWApO1xuICB9XG5cbiAgbWVkaWFVcGxvYWRLZXlzKGtleVNpemUgPSAxKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVzdWx0PFVwbG9hZEtleXM+PihgJHt0aGlzLmNvbmZpZy5lYXJ0aFVybH0vYXBpL3Fpbml1L21lZGlhL3VwbG9hZC1rZXlzYCwge1xuICAgICAgcGFyYW1zOiB7IGtleVNpemUgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { inject } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { map } from 'rxjs';
4
+ import { EarthService } from '../earth.service';
5
+ /**
6
+ * 认证路由守卫
7
+ * 认证后才允许进入,否则将导航到登录页(/login)
8
+ * @param options
9
+ */
10
+ export function authMatchGuard(options) {
11
+ return (_route, segments) => {
12
+ const router = inject(Router);
13
+ const earthService = inject(EarthService);
14
+ const redirectUrl = {
15
+ redirect: router.createUrlTree(['/' + segments.join('/')], {
16
+ queryParams: Object.fromEntries(new URLSearchParams(location.search))
17
+ }).toString()
18
+ };
19
+ return earthService.checkAuth().pipe(map(bool => {
20
+ if (!bool) {
21
+ return router.createUrlTree([
22
+ '/login',
23
+ options?.redirect === undefined || options.redirect ? redirectUrl : {}
24
+ ]);
25
+ }
26
+ return bool;
27
+ }));
28
+ };
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZ3VhcmRzL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQXFCLE1BQU0sRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU9oRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUErQjtJQUM1RCxPQUFPLENBQUMsTUFBYSxFQUFFLFFBQXNCLEVBQWtGLEVBQUU7UUFDL0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUxQyxNQUFNLFdBQVcsR0FBRztZQUNsQixRQUFRLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FDNUIsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUMxQjtnQkFDRSxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDdEUsQ0FDRixDQUFDLFFBQVEsRUFBRTtTQUNiLENBQUM7UUFFRixPQUFPLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVixPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUM7b0JBQzFCLFFBQVE7b0JBQ1IsT0FBTyxFQUFFLFFBQVEsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO2lCQUN2RSxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuTWF0Y2hGbiwgUm91dGUsIFJvdXRlciwgVXJsU2VnbWVudCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVhcnRoU2VydmljZSB9IGZyb20gJy4uL2VhcnRoLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgQXV0aE1hdGNoR3VhcmRPcHRpb25zIHtcbiAgLyoqIOaYr+WQpuWcqOeZu+mZhuWQjumHjeWumuWQkeWbnuW9k+WJjemhtSAqL1xuICByZWRpcmVjdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICog6K6k6K+B6Lev55Sx5a6I5Y2rXG4gKiDorqTor4HlkI7miY3lhYHorrjov5vlhaXvvIzlkKbliJnlsIblr7zoiKrliLDnmbvlvZXpobXvvIgvbG9naW7vvIlcbiAqIEBwYXJhbSBvcHRpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdXRoTWF0Y2hHdWFyZChvcHRpb25zPzogQXV0aE1hdGNoR3VhcmRPcHRpb25zKTogQ2FuTWF0Y2hGbiB7XG4gIHJldHVybiAoX3JvdXRlOiBSb3V0ZSwgc2VnbWVudHM6IFVybFNlZ21lbnRbXSk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSA9PiB7XG4gICAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgY29uc3QgZWFydGhTZXJ2aWNlID0gaW5qZWN0KEVhcnRoU2VydmljZSk7XG5cbiAgICBjb25zdCByZWRpcmVjdFVybCA9IHtcbiAgICAgIHJlZGlyZWN0OiByb3V0ZXIuY3JlYXRlVXJsVHJlZShcbiAgICAgICAgWycvJyArIHNlZ21lbnRzLmpvaW4oJy8nKV0sXG4gICAgICAgIHtcbiAgICAgICAgICBxdWVyeVBhcmFtczogT2JqZWN0LmZyb21FbnRyaWVzKG5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKSlcbiAgICAgICAgfVxuICAgICAgKS50b1N0cmluZygpXG4gICAgfTtcblxuICAgIHJldHVybiBlYXJ0aFNlcnZpY2UuY2hlY2tBdXRoKCkucGlwZShcbiAgICAgIG1hcChib29sID0+IHtcbiAgICAgICAgaWYgKCFib29sKSB7XG4gICAgICAgICAgcmV0dXJuIHJvdXRlci5jcmVhdGVVcmxUcmVlKFtcbiAgICAgICAgICAgICcvbG9naW4nLFxuICAgICAgICAgICAgb3B0aW9ucz8ucmVkaXJlY3QgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zLnJlZGlyZWN0ID8gcmVkaXJlY3RVcmwgOiB7fVxuICAgICAgICAgIF0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGJvb2w7XG4gICAgICB9KVxuICAgICk7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './auth.guard';
2
+ export * from './permission.guard';
3
+ export * from './unauth.guard';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXRzL2VhcnRoL2d1YXJkcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vdW5hdXRoLmd1YXJkJztcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { inject } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { map } from 'rxjs';
4
+ import { EarthService } from '../earth.service';
5
+ /**
6
+ * 权限路由守卫
7
+ * 有权限才允许进入,否则导航到无权限页(/forbidden)
8
+ */
9
+ export function permissionMatchGuard() {
10
+ return (_route, segments) => {
11
+ const router = inject(Router);
12
+ const earthService = inject(EarthService);
13
+ return earthService.checkPermission(segments).pipe(map(bool => bool || router.parseUrl('/forbidden')));
14
+ };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvZ3VhcmRzL3Blcm1pc3Npb24uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQXFCLE1BQU0sRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRixPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU8sQ0FBQyxNQUFhLEVBQUUsUUFBc0IsRUFBa0YsRUFBRTtRQUMvSCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFDLE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNULElBQUksSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUN0QyxDQUNGLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5NYXRjaEZuLCBSb3V0ZSwgUm91dGVyLCBVcmxTZWdtZW50LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWFydGhTZXJ2aWNlIH0gZnJvbSAnLi4vZWFydGguc2VydmljZSc7XG5cbi8qKlxuICog5p2D6ZmQ6Lev55Sx5a6I5Y2rXG4gKiDmnInmnYPpmZDmiY3lhYHorrjov5vlhaXvvIzlkKbliJnlr7zoiKrliLDml6DmnYPpmZDpobXvvIgvZm9yYmlkZGVu77yJXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwZXJtaXNzaW9uTWF0Y2hHdWFyZCgpOiBDYW5NYXRjaEZuIHtcbiAgcmV0dXJuIChfcm91dGU6IFJvdXRlLCBzZWdtZW50czogVXJsU2VnbWVudFtdKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlID0+IHtcbiAgICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBjb25zdCBlYXJ0aFNlcnZpY2UgPSBpbmplY3QoRWFydGhTZXJ2aWNlKTtcblxuICAgIHJldHVybiBlYXJ0aFNlcnZpY2UuY2hlY2tQZXJtaXNzaW9uKHNlZ21lbnRzKS5waXBlKFxuICAgICAgbWFwKGJvb2wgPT5cbiAgICAgICAgYm9vbCB8fCByb3V0ZXIucGFyc2VVcmwoJy9mb3JiaWRkZW4nKVxuICAgICAgKVxuICAgICk7XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { inject } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { map } from 'rxjs';
4
+ import { EarthService } from '../earth.service';
5
+ /**
6
+ * 未认证路由守卫
7
+ * 未认证才允许进入,否则将导航到首页
8
+ */
9
+ export function unauthMatchGuard() {
10
+ return (_route, _segments) => {
11
+ const router = inject(Router);
12
+ const earthService = inject(EarthService);
13
+ return earthService.checkAuth().pipe(map(bool => bool ? router.parseUrl('/') : true));
14
+ };
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5hdXRoLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0cy9lYXJ0aC9ndWFyZHMvdW5hdXRoLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFxQixNQUFNLEVBQXVCLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLENBQUMsTUFBYSxFQUFFLFNBQXVCLEVBQWtGLEVBQUU7UUFDaEksTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUxQyxPQUFPLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5NYXRjaEZuLCBSb3V0ZSwgUm91dGVyLCBVcmxTZWdtZW50LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRWFydGhTZXJ2aWNlIH0gZnJvbSAnLi4vZWFydGguc2VydmljZSc7XG5cbi8qKlxuICog5pyq6K6k6K+B6Lev55Sx5a6I5Y2rXG4gKiDmnKrorqTor4HmiY3lhYHorrjov5vlhaXvvIzlkKbliJnlsIblr7zoiKrliLDpppbpobVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVuYXV0aE1hdGNoR3VhcmQoKTogQ2FuTWF0Y2hGbiB7XG4gIHJldHVybiAoX3JvdXRlOiBSb3V0ZSwgX3NlZ21lbnRzOiBVcmxTZWdtZW50W10pOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUgPT4ge1xuICAgIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIGNvbnN0IGVhcnRoU2VydmljZSA9IGluamVjdChFYXJ0aFNlcnZpY2UpO1xuXG4gICAgcmV0dXJuIGVhcnRoU2VydmljZS5jaGVja0F1dGgoKS5waXBlKFxuICAgICAgbWFwKGJvb2wgPT4gYm9vbCA/IHJvdXRlci5wYXJzZVVybCgnLycpIDogdHJ1ZSksXG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export * from './earth.pipe';
2
+ export * from './earth.resolver';
3
+ export * from './earth.service';
4
+ export * from './guards';
5
+ export * from './menu.service';
6
+ export * from './object-storage.service';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXRzL2VhcnRoL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VhcnRoLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lYXJ0aC5yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL2VhcnRoLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ndWFyZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZW51LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3Qtc3RvcmFnZS5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { Router } from '@angular/router';
3
+ import { map } from 'rxjs';
4
+ import { EarthService } from './earth.service';
5
+ import * as i0 from "@angular/core";
6
+ export class MenuService {
7
+ constructor() {
8
+ this.earthService = inject(EarthService);
9
+ this.router = inject(Router);
10
+ /**
11
+ * 当前的菜单数组
12
+ */
13
+ this.menus$ = this.earthService.menus().pipe(map(data => {
14
+ const menus = [];
15
+ const url = this.pureUrl;
16
+ let end = data.find(o => o.url === url);
17
+ while (end) {
18
+ menus.unshift(end);
19
+ end = end.parent;
20
+ }
21
+ return menus;
22
+ }));
23
+ }
24
+ get pureUrl() {
25
+ // 只取最后一段 /m/staff;a=b?c=d => staff
26
+ return this.router.url.replace(/(^.+\/)|((;|\?).+$)/g, '');
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuService, providedIn: 'root' }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuService, decorators: [{
32
+ type: Injectable,
33
+ args: [{
34
+ providedIn: 'root'
35
+ }]
36
+ }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0cy9lYXJ0aC9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sV0FBVztJQUh4QjtRQUltQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBT3pDOztXQUVHO1FBQ00sV0FBTSxHQUF1QixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FDbEUsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsTUFBTSxLQUFLLEdBQVcsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDekIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7WUFFeEMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQixHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0tBQ0g7SUF0QkMsSUFBWSxPQUFPO1FBQ2pCLG1DQUFtQztRQUNuQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQVBVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWVudSB9IGZyb20gJ0Bzb2xhci1raXQvcGxhbmV0cy9lYXJ0aCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEVhcnRoU2VydmljZSB9IGZyb20gJy4vZWFydGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBlYXJ0aFNlcnZpY2UgPSBpbmplY3QoRWFydGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICBwcml2YXRlIGdldCBwdXJlVXJsKCkge1xuICAgIC8vIOWPquWPluacgOWQjuS4gOautSAvbS9zdGFmZjthPWI/Yz1kID0+IHN0YWZmXG4gICAgcmV0dXJuIHRoaXMucm91dGVyLnVybC5yZXBsYWNlKC8oXi4rXFwvKXwoKDt8XFw/KS4rJCkvZywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIOW9k+WJjeeahOiPnOWNleaVsOe7hFxuICAgKi9cbiAgcmVhZG9ubHkgbWVudXMkOiBPYnNlcnZhYmxlPE1lbnVbXT4gPSB0aGlzLmVhcnRoU2VydmljZS5tZW51cygpLnBpcGUoXG4gICAgbWFwKGRhdGEgPT4ge1xuICAgICAgY29uc3QgbWVudXM6IE1lbnVbXSA9IFtdO1xuICAgICAgY29uc3QgdXJsID0gdGhpcy5wdXJlVXJsO1xuICAgICAgbGV0IGVuZCA9IGRhdGEuZmluZChvID0+IG8udXJsID09PSB1cmwpO1xuXG4gICAgICB3aGlsZSAoZW5kKSB7XG4gICAgICAgIG1lbnVzLnVuc2hpZnQoZW5kKTtcbiAgICAgICAgZW5kID0gZW5kLnBhcmVudDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1lbnVzO1xuICAgIH0pXG4gICk7XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { HttpClient, HttpContext } from '@angular/common/http';
2
+ import { Injectable, inject } from '@angular/core';
3
+ import { API_TOKEN } from '@solar-angular/http';
4
+ import * as i0 from "@angular/core";
5
+ export class ObjectStorageService {
6
+ constructor() {
7
+ this.http = inject(HttpClient);
8
+ }
9
+ /**
10
+ * 目前只支持了 qiniu oss
11
+ * @param filePath
12
+ * @param options
13
+ * @returns
14
+ */
15
+ upload(file, key, options) {
16
+ const formData = new FormData();
17
+ formData.set('key', key);
18
+ formData.set('file', file);
19
+ formData.set('token', options.token);
20
+ return this.http.post(`https://${options.host}`, formData, {
21
+ context: new HttpContext().set(API_TOKEN, false)
22
+ });
23
+ }
24
+ uploadWithEvents(file, key, options) {
25
+ const formData = new FormData();
26
+ formData.set('key', key);
27
+ formData.set('file', file);
28
+ formData.set('token', options.token);
29
+ return this.http.post(`https://${options.host}`, formData, {
30
+ context: new HttpContext().set(API_TOKEN, false),
31
+ observe: 'events',
32
+ reportProgress: true,
33
+ });
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectStorageService, providedIn: 'root' }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ObjectStorageService, decorators: [{
39
+ type: Injectable,
40
+ args: [{
41
+ providedIn: 'root'
42
+ }]
43
+ }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3BsYW5ldHMvZWFydGgvb2JqZWN0LXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNaEQsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUltQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBK0I1QztJQTdCQzs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxJQUFVLEVBQUUsR0FBVyxFQUFFLE9BQTJDO1FBQ3pFLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWdDLFdBQVcsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRTtZQUN4RixPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztTQUNqRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBVSxFQUFFLEdBQVcsRUFBRSxPQUEyQztRQUNuRixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNCLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFnQyxXQUFXLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUU7WUFDeEYsT0FBTyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7WUFDaEQsT0FBTyxFQUFFLFFBQVE7WUFDakIsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EvQlUsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBUElfVE9LRU4gfSBmcm9tICdAc29sYXItYW5ndWxhci9odHRwJztcbmltcG9ydCB7IFVwbG9hZEtleXMgfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvZWFydGgnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RTdG9yYWdlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAvKipcbiAgICog55uu5YmN5Y+q5pSv5oyB5LqGIHFpbml1IG9zc1xuICAgKiBAcGFyYW0gZmlsZVBhdGhcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHVwbG9hZChmaWxlOiBCbG9iLCBrZXk6IHN0cmluZywgb3B0aW9uczogUGljazxVcGxvYWRLZXlzLCAnaG9zdCcgfCAndG9rZW4nPikge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuc2V0KCdrZXknLCBrZXkpO1xuICAgIGZvcm1EYXRhLnNldCgnZmlsZScsIGZpbGUpO1xuICAgIGZvcm1EYXRhLnNldCgndG9rZW4nLCBvcHRpb25zLnRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDx7IGhhc2g6IHN0cmluZywga2V5OiBzdHJpbmcgfT4oYGh0dHBzOi8vJHtvcHRpb25zLmhvc3R9YCwgZm9ybURhdGEsIHtcbiAgICAgIGNvbnRleHQ6IG5ldyBIdHRwQ29udGV4dCgpLnNldChBUElfVE9LRU4sIGZhbHNlKVxuICAgIH0pO1xuICB9XG5cbiAgdXBsb2FkV2l0aEV2ZW50cyhmaWxlOiBCbG9iLCBrZXk6IHN0cmluZywgb3B0aW9uczogUGljazxVcGxvYWRLZXlzLCAnaG9zdCcgfCAndG9rZW4nPikge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuc2V0KCdrZXknLCBrZXkpO1xuICAgIGZvcm1EYXRhLnNldCgnZmlsZScsIGZpbGUpO1xuICAgIGZvcm1EYXRhLnNldCgndG9rZW4nLCBvcHRpb25zLnRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDx7IGhhc2g6IHN0cmluZywga2V5OiBzdHJpbmcgfT4oYGh0dHBzOi8vJHtvcHRpb25zLmhvc3R9YCwgZm9ybURhdGEsIHtcbiAgICAgIGNvbnRleHQ6IG5ldyBIdHRwQ29udGV4dCgpLnNldChBUElfVE9LRU4sIGZhbHNlKSxcbiAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci1wbGFuZXRzLWVhcnRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhbmV0cy9lYXJ0aC9zb2xhci1hbmd1bGFyLXBsYW5ldHMtZWFydGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export default void 0;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9wbGFuZXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsS0FBSyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB2b2lkIDA7XG4iXX0=