@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
@@ -0,0 +1,123 @@
1
+ import { HttpClient, HttpParams, HttpContext, HttpStatusCode } from '@angular/common/http';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';
4
+ import { Router } from '@angular/router';
5
+ import { CacheManager, AUTH_TOKEN, CATCH_RESULT_ERROR_TOKEN, CATCH_HTTP_ERROR_TOKEN, AUTH_REDIRECT_TOKEN } from '@solar-angular/http';
6
+ import { tap, switchMap, retry, map, catchError, finalize, share } from 'rxjs';
7
+ import { SOLAR_CONFIG } from '@solar-angular/core';
8
+
9
+ class MercuryService {
10
+ constructor() {
11
+ this.config = inject(SOLAR_CONFIG);
12
+ this.http = inject(HttpClient);
13
+ this.cacheManager = inject(CacheManager);
14
+ }
15
+ auth(username, password, remember, options) {
16
+ return this.http.post(`${this.config.mercuryUrl}/auth`, new HttpParams({
17
+ fromObject: {
18
+ username,
19
+ password,
20
+ remember,
21
+ grant_type: 'password',
22
+ client_id: this.config.clientId,
23
+ captcha: encodeURIComponent(options.captcha)
24
+ }
25
+ }).toString(), {
26
+ headers: {
27
+ 'X-Requested-With': 'XMLHttpRequest',
28
+ 'Content-type': 'application/x-www-form-urlencoded; charset=utf-8',
29
+ Authorization: 'Basic ' + btoa(`${this.config.clientId}:${options.clientSecret}`)
30
+ },
31
+ context: new HttpContext()
32
+ .set(AUTH_TOKEN, false)
33
+ .set(CATCH_RESULT_ERROR_TOKEN, false)
34
+ .set(CATCH_HTTP_ERROR_TOKEN, false)
35
+ });
36
+ }
37
+ refreshCertificate() {
38
+ return this.http.post(`${this.config.mercuryUrl}/auth`, null, {
39
+ headers: {
40
+ 'X-Requested-With': 'XMLHttpRequest',
41
+ Authorization: 'Basic ' + btoa(`${this.config.clientId}:refresh`)
42
+ },
43
+ params: {
44
+ client_id: this.config.clientId,
45
+ grant_type: 'refresh_token',
46
+ },
47
+ context: new HttpContext()
48
+ .set(AUTH_TOKEN, false)
49
+ .set(CATCH_RESULT_ERROR_TOKEN, false)
50
+ .set(CATCH_HTTP_ERROR_TOKEN, false)
51
+ });
52
+ }
53
+ leave() {
54
+ return this.http.post(`${this.config.mercuryUrl}/leave`, null, {
55
+ context: new HttpContext()
56
+ .set(AUTH_TOKEN, false)
57
+ .set(CATCH_RESULT_ERROR_TOKEN, false)
58
+ .set(CATCH_HTTP_ERROR_TOKEN, false)
59
+ }).pipe(tap(({ code }) => code === 0 && this.cacheManager.revokeAll()));
60
+ }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MercuryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MercuryService, providedIn: 'root' }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MercuryService, decorators: [{
65
+ type: Injectable,
66
+ args: [{
67
+ providedIn: 'root'
68
+ }]
69
+ }] });
70
+
71
+ /**
72
+ * Mercury 认证拦截器
73
+ * - 使用 {@link AUTH_TOKEN} 跳过该拦截器
74
+ * - 使用 {@link AUTH_REDIRECT_TOKEN} 关闭认证失败自动跳转到 `/login`
75
+ * @returns
76
+ */
77
+ function useAuthInterceptor(onUnauth) {
78
+ /** 令牌刷新器 */
79
+ let refreshToken$ = null;
80
+ return (request, next) => {
81
+ const router = inject(Router);
82
+ const cacheManager = inject(CacheManager);
83
+ const mercuryService = inject(MercuryService);
84
+ const injector = inject(Injector);
85
+ if (!request.context.get(AUTH_TOKEN)) {
86
+ return next(request);
87
+ }
88
+ if (refreshToken$) {
89
+ return refreshToken$.pipe(switchMap(() => next(request)));
90
+ }
91
+ return next(request).pipe(retry({
92
+ count: 1,
93
+ delay: (error) => {
94
+ if (error.status !== HttpStatusCode.Unauthorized) {
95
+ throw error;
96
+ }
97
+ refreshToken$ ||= mercuryService.refreshCertificate().pipe(map(result => {
98
+ if (result?.code !== 0) {
99
+ throw result;
100
+ }
101
+ return result;
102
+ }), catchError(error => {
103
+ // 如果刷新令牌都出错了,则这些等待刷新令牌的请求也不需要捕获 HTTP 错误了
104
+ request.context.set(CATCH_HTTP_ERROR_TOKEN, false);
105
+ if (request.context.get(AUTH_REDIRECT_TOKEN)) {
106
+ runInInjectionContext(injector, () => onUnauth());
107
+ router.navigate(['/login', { redirect: router.url }]);
108
+ }
109
+ cacheManager.revokeAll();
110
+ throw error;
111
+ }), finalize(() => refreshToken$ = null), share());
112
+ return refreshToken$;
113
+ }
114
+ }));
115
+ };
116
+ }
117
+
118
+ /**
119
+ * Generated bundle index. Do not edit.
120
+ */
121
+
122
+ export { MercuryService, useAuthInterceptor };
123
+ //# sourceMappingURL=solar-angular-planets-mercury.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solar-angular-planets-mercury.mjs","sources":["../../../packages/planets/mercury/mercury.service.ts","../../../packages/planets/mercury/auth.interceptor.ts","../../../packages/planets/mercury/solar-angular-planets-mercury.ts"],"sourcesContent":["import { HttpClient, HttpContext, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { SOLAR_CONFIG } from '@solar-angular/core';\nimport { AUTH_TOKEN, CATCH_HTTP_ERROR_TOKEN, CATCH_RESULT_ERROR_TOKEN, CacheManager } from '@solar-angular/http';\nimport { Result } from '@solar-kit/planets/sun';\nimport { tap } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MercuryService {\n protected readonly config = inject(SOLAR_CONFIG);\n protected readonly http = inject(HttpClient);\n protected readonly cacheManager = inject(CacheManager);\n\n auth(username: string, password: string, remember: boolean, options: { clientSecret: string, captcha: string }) {\n return this.http.post<Result>(`${this.config.mercuryUrl}/auth`,\n new HttpParams({\n fromObject: {\n username,\n password,\n remember,\n grant_type: 'password',\n client_id: this.config.clientId,\n captcha: encodeURIComponent(options.captcha)\n }\n }).toString(),\n {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-type': 'application/x-www-form-urlencoded; charset=utf-8',\n Authorization: 'Basic ' + btoa(`${this.config.clientId}:${options.clientSecret}`)\n },\n context: new HttpContext()\n .set(AUTH_TOKEN, false)\n .set(CATCH_RESULT_ERROR_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }\n );\n }\n\n refreshCertificate() {\n return this.http.post<Result>(`${this.config.mercuryUrl}/auth`, null, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n Authorization: 'Basic ' + btoa(`${this.config.clientId}:refresh`)\n },\n params: {\n client_id: this.config.clientId,\n grant_type: 'refresh_token',\n },\n context: new HttpContext()\n .set(AUTH_TOKEN, false)\n .set(CATCH_RESULT_ERROR_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n });\n }\n\n leave() {\n return this.http.post<Result>(`${this.config.mercuryUrl}/leave`, null, {\n context: new HttpContext()\n .set(AUTH_TOKEN, false)\n .set(CATCH_RESULT_ERROR_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }).pipe(\n tap(({ code }) => code === 0 && this.cacheManager.revokeAll())\n );\n }\n\n}\n","import { HttpErrorResponse, HttpEvent, HttpHandlerFn, HttpInterceptorFn, HttpRequest, HttpStatusCode } from '@angular/common/http';\nimport { inject, Injector, runInInjectionContext } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AUTH_REDIRECT_TOKEN, AUTH_TOKEN, CacheManager, CATCH_HTTP_ERROR_TOKEN } from '@solar-angular/http';\nimport { Result } from '@solar-kit/planets/sun';\nimport { catchError, finalize, map, Observable, retry, share, switchMap } from 'rxjs';\nimport { MercuryService } from './mercury.service';\n\n/**\n * Mercury 认证拦截器\n * - 使用 {@link AUTH_TOKEN} 跳过该拦截器\n * - 使用 {@link AUTH_REDIRECT_TOKEN} 关闭认证失败自动跳转到 `/login`\n * @returns\n */\nexport function useAuthInterceptor(onUnauth: () => void): HttpInterceptorFn {\n /** 令牌刷新器 */\n let refreshToken$: Observable<Result> | null = null;\n\n return (request: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n const router = inject(Router);\n const cacheManager = inject(CacheManager);\n const mercuryService = inject(MercuryService);\n const injector = inject(Injector);\n\n if (!request.context.get(AUTH_TOKEN)) {\n return next(request);\n }\n\n if (refreshToken$) {\n return refreshToken$.pipe(\n switchMap(() => next(request))\n );\n }\n\n return next(request).pipe(\n retry({\n count: 1,\n delay: (error: HttpErrorResponse) => {\n if (error.status !== HttpStatusCode.Unauthorized) {\n throw error;\n }\n\n refreshToken$ ||= mercuryService.refreshCertificate().pipe(\n map(result => {\n if (result?.code !== 0) {\n throw result;\n }\n\n return result;\n }),\n catchError(error => {\n // 如果刷新令牌都出错了,则这些等待刷新令牌的请求也不需要捕获 HTTP 错误了\n request.context.set(CATCH_HTTP_ERROR_TOKEN, false);\n\n if (request.context.get(AUTH_REDIRECT_TOKEN)) {\n runInInjectionContext(injector, () => onUnauth())\n router.navigate(['/login', { redirect: router.url }]);\n }\n\n cacheManager.revokeAll();\n\n throw error;\n }),\n finalize(() => refreshToken$ = null),\n share()\n );\n\n return refreshToken$;\n }\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Pipe } from '@angular/core';
3
+
4
+ class GenderPipe {
5
+ transform(value) {
6
+ return {
7
+ [0 /* Gender.Woman */]: '女',
8
+ [1 /* Gender.Man */]: '男',
9
+ }[value];
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenderPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GenderPipe, isStandalone: true, name: "gender" }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenderPipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{
17
+ name: 'gender',
18
+ standalone: true
19
+ }]
20
+ }] });
21
+
22
+ /**
23
+ * Generated bundle index. Do not edit.
24
+ */
25
+
26
+ export { GenderPipe };
27
+ //# sourceMappingURL=solar-angular-planets-sun.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solar-angular-planets-sun.mjs","sources":["../../../packages/planets/sun/gender.pipe.ts","../../../packages/planets/sun/solar-angular-planets-sun.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Gender } from '@solar-kit/planets/sun';\n\n@Pipe({\n name: 'gender',\n standalone: true\n})\nexport class GenderPipe implements PipeTransform {\n\n transform(value: Gender): string {\n return {\n [Gender.Woman]: '女',\n [Gender.Man]: '男',\n }[value];\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAOa,UAAU,CAAA;AAErB,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,OAAO;AACL,YAAA,CAAA,CAAA,sBAAgB,GAAG;AACnB,YAAA,CAAA,CAAA,oBAAc,GAAG;SAClB,CAAC,KAAK,CAAC,CAAC;KACV;+GAPU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA,EAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
@@ -0,0 +1,6 @@
1
+ var index = void 0;
2
+
3
+ /**
4
+ * Generated bundle index. Do not edit.
5
+ */
6
+ //# sourceMappingURL=solar-angular-planets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solar-angular-planets.mjs","sources":["../../../packages/planets/index.ts","../../../packages/planets/solar-angular-planets.ts"],"sourcesContent":["export default void 0;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,YAAe,KAAK,CAAC;;ACArB;;AAEG"}
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ declare const _default: undefined;
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { HttpInterceptorFn } from '@angular/common/http';
2
+ /**
3
+ * Mercury 认证拦截器
4
+ * - 使用 {@link AUTH_TOKEN} 跳过该拦截器
5
+ * - 使用 {@link AUTH_REDIRECT_TOKEN} 关闭认证失败自动跳转到 `/login`
6
+ * @returns
7
+ */
8
+ export declare function useAuthInterceptor(onUnauth: () => void): HttpInterceptorFn;
@@ -0,0 +1,2 @@
1
+ export * from './auth.interceptor';
2
+ export * from './mercury.service';
@@ -0,0 +1,17 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { CacheManager } from '@solar-angular/http';
3
+ import { Result } from '@solar-kit/planets/sun';
4
+ import * as i0 from "@angular/core";
5
+ export declare class MercuryService {
6
+ protected readonly config: import("@solar-angular/core").SolarConfig;
7
+ protected readonly http: HttpClient;
8
+ protected readonly cacheManager: CacheManager;
9
+ auth(username: string, password: string, remember: boolean, options: {
10
+ clientSecret: string;
11
+ captcha: string;
12
+ }): import("rxjs").Observable<Result<null>>;
13
+ refreshCertificate(): import("rxjs").Observable<Result<null>>;
14
+ leave(): import("rxjs").Observable<Result<null>>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<MercuryService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<MercuryService>;
17
+ }
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@solar-angular/planets",
3
+ "version": "1.0.0",
4
+ "sideEffects": false,
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "peerDependencies": {
9
+ "@angular/common": "^18.0.0",
10
+ "@angular/core": "^18.0.0",
11
+ "@solar-angular/core": "0.0.0",
12
+ "@solar-angular/http": "0.0.0"
13
+ },
14
+ "module": "fesm2022/solar-angular-planets.mjs",
15
+ "typings": "index.d.ts",
16
+ "exports": {
17
+ "./package.json": {
18
+ "default": "./package.json"
19
+ },
20
+ ".": {
21
+ "types": "./index.d.ts",
22
+ "esm2022": "./esm2022/solar-angular-planets.mjs",
23
+ "esm": "./esm2022/solar-angular-planets.mjs",
24
+ "default": "./fesm2022/solar-angular-planets.mjs"
25
+ },
26
+ "./earth": {
27
+ "types": "./earth/index.d.ts",
28
+ "esm2022": "./esm2022/earth/solar-angular-planets-earth.mjs",
29
+ "esm": "./esm2022/earth/solar-angular-planets-earth.mjs",
30
+ "default": "./fesm2022/solar-angular-planets-earth.mjs"
31
+ },
32
+ "./mercury": {
33
+ "types": "./mercury/index.d.ts",
34
+ "esm2022": "./esm2022/mercury/solar-angular-planets-mercury.mjs",
35
+ "esm": "./esm2022/mercury/solar-angular-planets-mercury.mjs",
36
+ "default": "./fesm2022/solar-angular-planets-mercury.mjs"
37
+ },
38
+ "./sun": {
39
+ "types": "./sun/index.d.ts",
40
+ "esm2022": "./esm2022/sun/solar-angular-planets-sun.mjs",
41
+ "esm": "./esm2022/sun/solar-angular-planets-sun.mjs",
42
+ "default": "./fesm2022/solar-angular-planets-sun.mjs"
43
+ }
44
+ },
45
+ "dependencies": {
46
+ "tslib": "^2.3.0"
47
+ }
48
+ }
@@ -0,0 +1,8 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { Gender } from '@solar-kit/planets/sun';
3
+ import * as i0 from "@angular/core";
4
+ export declare class GenderPipe implements PipeTransform {
5
+ transform(value: Gender): string;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<GenderPipe, never>;
7
+ static ɵpipe: i0.ɵɵPipeDeclaration<GenderPipe, "gender", true>;
8
+ }
package/sun/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './gender.pipe';