sumor 3.1.0 → 3.1.2

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.
@@ -0,0 +1,88 @@
1
+ /**
2
+ * OAuth Store - OAuth令牌和用户信息存储管理
3
+ * 通过 window.OAuthToken 进行持久化
4
+ */
5
+ export interface UserInfo {
6
+ id: string;
7
+ isVerified: number;
8
+ roles: string;
9
+ permissions: string;
10
+ }
11
+ export interface OAuthTokenResponse {
12
+ endpoint: string;
13
+ authorizeUrl: string;
14
+ user: UserInfo | null;
15
+ }
16
+ export type UserChangeCallback = (user: UserInfo | null) => void;
17
+ declare class OAuthStore {
18
+ private userChangeSubscribers;
19
+ private refreshSubscribers;
20
+ constructor();
21
+ /**
22
+ * 初始化 window.OAuthToken 存储
23
+ */
24
+ private initializeStorage;
25
+ /**
26
+ * 获取存储的 OAuth 数据
27
+ */
28
+ private getStoredData;
29
+ /**
30
+ * 获取 endpoint
31
+ */
32
+ getEndpoint(): string;
33
+ /**
34
+ * 设置 endpoint
35
+ */
36
+ setEndpoint(endpoint: string): void;
37
+ /**
38
+ * 获取 authorizeUrl
39
+ */
40
+ getAuthorizeUrl(): string;
41
+ /**
42
+ * 设置 authorizeUrl
43
+ */
44
+ setAuthorizeUrl(authorizeUrl: string): void;
45
+ /**
46
+ * 获取用户信息
47
+ */
48
+ getUser(): UserInfo | null;
49
+ /**
50
+ * 设置用户信息
51
+ */
52
+ setUser(user: UserInfo | null): void;
53
+ /**
54
+ * 获取 OAuth 数据
55
+ */
56
+ getData(): OAuthTokenResponse;
57
+ /**
58
+ * 更新 OAuth 数据
59
+ */
60
+ setData(tokenResponse: OAuthTokenResponse): void;
61
+ /**
62
+ * 清空用户数据
63
+ */
64
+ clear(): void;
65
+ /**
66
+ * 订阅用户变化事件
67
+ */
68
+ onUserChange(callback: UserChangeCallback): void;
69
+ /**
70
+ * 触发用户变化事件
71
+ */
72
+ private emitUserChange;
73
+ /**
74
+ * 订阅令牌刷新事件
75
+ */
76
+ subscribeTokenRefresh(callback: () => void): void;
77
+ /**
78
+ * 触发所有令牌刷新回调
79
+ */
80
+ onTokenRefreshed(): void;
81
+ /**
82
+ * 清空令牌刷新订阅
83
+ */
84
+ clearRefreshSubscribers(): void;
85
+ }
86
+ export declare const oauthStore: OAuthStore;
87
+ export {};
88
+ //# sourceMappingURL=OAuthStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthStore.d.ts","sourceRoot":"","sources":["../../web/OAuthStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAA;AAEhE,cAAM,UAAU;IACd,OAAO,CAAC,qBAAqB,CAAgC;IAC7D,OAAO,CAAC,kBAAkB,CAAwB;;IASlD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,WAAW,IAAI,MAAM;IAKrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOnC;;OAEG;IACH,eAAe,IAAI,MAAM;IAKzB;;OAEG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAO3C;;OAEG;IACH,OAAO,IAAI,QAAQ,GAAG,IAAI;IAK1B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAYpC;;OAEG;IACH,OAAO,IAAI,kBAAkB;IAS7B;;OAEG;IACH,OAAO,CAAC,aAAa,EAAE,kBAAkB,GAAG,IAAI;IAchD;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIhD;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjD;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;OAEG;IACH,uBAAuB,IAAI,IAAI;CAGhC;AAGD,eAAO,MAAM,UAAU,YAAmB,CAAA"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * OAuth Store - OAuth令牌和用户信息存储管理
3
+ * 通过 window.OAuthToken 进行持久化
4
+ */
5
+ class OAuthStore {
6
+ constructor() {
7
+ this.userChangeSubscribers = [];
8
+ this.refreshSubscribers = [];
9
+ // 从 window.OAuthToken 中初始化
10
+ if (!this.getStoredData()) {
11
+ this.initializeStorage();
12
+ }
13
+ }
14
+ /**
15
+ * 初始化 window.OAuthToken 存储
16
+ */
17
+ initializeStorage() {
18
+ ;
19
+ window.OAuthToken = {
20
+ endpoint: '',
21
+ authorizeUrl: '',
22
+ user: null,
23
+ refreshSubscribers: []
24
+ };
25
+ }
26
+ /**
27
+ * 获取存储的 OAuth 数据
28
+ */
29
+ getStoredData() {
30
+ return window.OAuthToken;
31
+ }
32
+ /**
33
+ * 获取 endpoint
34
+ */
35
+ getEndpoint() {
36
+ const data = this.getStoredData();
37
+ return data?.endpoint || '';
38
+ }
39
+ /**
40
+ * 设置 endpoint
41
+ */
42
+ setEndpoint(endpoint) {
43
+ const data = this.getStoredData();
44
+ if (data) {
45
+ data.endpoint = endpoint;
46
+ }
47
+ }
48
+ /**
49
+ * 获取 authorizeUrl
50
+ */
51
+ getAuthorizeUrl() {
52
+ const data = this.getStoredData();
53
+ return data?.authorizeUrl || '';
54
+ }
55
+ /**
56
+ * 设置 authorizeUrl
57
+ */
58
+ setAuthorizeUrl(authorizeUrl) {
59
+ const data = this.getStoredData();
60
+ if (data) {
61
+ data.authorizeUrl = authorizeUrl;
62
+ }
63
+ }
64
+ /**
65
+ * 获取用户信息
66
+ */
67
+ getUser() {
68
+ const data = this.getStoredData();
69
+ return data?.user || null;
70
+ }
71
+ /**
72
+ * 设置用户信息
73
+ */
74
+ setUser(user) {
75
+ const data = this.getStoredData();
76
+ if (data) {
77
+ const previousUser = data.user;
78
+ data.user = user;
79
+ // 如果用户信息发生变化,触发回调
80
+ if (previousUser !== user) {
81
+ this.emitUserChange();
82
+ }
83
+ }
84
+ }
85
+ /**
86
+ * 获取 OAuth 数据
87
+ */
88
+ getData() {
89
+ const data = this.getStoredData();
90
+ return {
91
+ endpoint: data?.endpoint || '',
92
+ authorizeUrl: data?.authorizeUrl || '',
93
+ user: data?.user || null
94
+ };
95
+ }
96
+ /**
97
+ * 更新 OAuth 数据
98
+ */
99
+ setData(tokenResponse) {
100
+ const data = this.getStoredData();
101
+ if (data) {
102
+ const previousUser = data.user;
103
+ data.endpoint = tokenResponse.endpoint;
104
+ data.authorizeUrl = tokenResponse.authorizeUrl;
105
+ data.user = tokenResponse.user;
106
+ // 如果用户信息发生变化,触发回调
107
+ if (previousUser !== tokenResponse.user) {
108
+ this.emitUserChange();
109
+ }
110
+ }
111
+ }
112
+ /**
113
+ * 清空用户数据
114
+ */
115
+ clear() {
116
+ const data = this.getStoredData();
117
+ if (data) {
118
+ data.endpoint = '';
119
+ data.authorizeUrl = '';
120
+ data.user = null;
121
+ }
122
+ }
123
+ /**
124
+ * 订阅用户变化事件
125
+ */
126
+ onUserChange(callback) {
127
+ this.userChangeSubscribers.push(callback);
128
+ }
129
+ /**
130
+ * 触发用户变化事件
131
+ */
132
+ emitUserChange() {
133
+ this.userChangeSubscribers.forEach(callback => {
134
+ try {
135
+ callback(this.getUser());
136
+ }
137
+ catch (error) {
138
+ console.error('User change callback error:', error);
139
+ }
140
+ });
141
+ }
142
+ /**
143
+ * 订阅令牌刷新事件
144
+ */
145
+ subscribeTokenRefresh(callback) {
146
+ this.refreshSubscribers.push(callback);
147
+ }
148
+ /**
149
+ * 触发所有令牌刷新回调
150
+ */
151
+ onTokenRefreshed() {
152
+ this.refreshSubscribers.forEach(callback => callback());
153
+ this.refreshSubscribers = [];
154
+ }
155
+ /**
156
+ * 清空令牌刷新订阅
157
+ */
158
+ clearRefreshSubscribers() {
159
+ this.refreshSubscribers = [];
160
+ }
161
+ }
162
+ // 导出单例
163
+ export const oauthStore = new OAuthStore();
164
+ //# sourceMappingURL=OAuthStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthStore.js","sourceRoot":"","sources":["../../web/OAuthStore.ts"],"names":[],"mappings":"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"}
@@ -2,47 +2,19 @@
2
2
  * Sumor Class - 轻呈云客户端主类
3
3
  */
4
4
  import { AxiosInstance, AxiosRequestConfig } from 'axios';
5
- /**
6
- * API 错误信息
7
- */
8
- export declare class ApiError extends Error {
9
- code: string | number;
10
- status?: number;
11
- constructor(message: string, code: string | number, status?: number);
12
- }
13
- export interface UserInfo {
14
- id: string;
15
- isVerified: number;
16
- roles: string;
17
- permissions: string;
18
- }
19
- /**
20
- * 用户变化回调类型
21
- */
22
- export type UserChangeCallback = (user: UserInfo | null) => void;
5
+ import { UserInfo } from './OAuthStore';
23
6
  export declare class Sumor {
24
- endpoint: string;
25
- authorizeUrl: string;
26
- user: UserInfo | null;
27
7
  axios: AxiosInstance;
28
8
  private loaded;
29
9
  private loadTime;
30
10
  private readonly CACHE_TTL;
31
11
  private isRefreshing;
32
- private refreshSubscribers;
33
- private userChangeSubscribers;
34
12
  constructor();
35
- private subscribeTokenRefresh;
36
- private onTokenRefreshed;
37
13
  /**
38
14
  * 订阅用户变化事件
39
15
  * @param callback 用户变化时的回调函数
40
16
  */
41
- onUserChange(callback: UserChangeCallback): void;
42
- /**
43
- * 触发用户变化事件
44
- */
45
- private emitUserChange;
17
+ onUserChange(callback: (user: UserInfo | null) => void): void;
46
18
  /**
47
19
  * 创建 Axios 实例并配置拦截器
48
20
  */
@@ -66,11 +38,6 @@ export declare class Sumor {
66
38
  * @param force 是否强制刷新,忽略缓存
67
39
  */
68
40
  refreshToken(force?: boolean): Promise<void>;
69
- getAvatarUrl(id: string): string;
70
- getHomeUrl(): string;
71
- getSiteUrl(): string;
72
- getUserUrl(): string;
73
- getFeedbackUrl(): string;
74
41
  /**
75
42
  * 登录:跳转到授权页面
76
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Sumor.d.ts","sourceRoot":"","sources":["../../web/Sumor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAc,EAAE,aAAa,EAAE,kBAAkB,EAAc,MAAM,OAAO,CAAA;AAkB5E;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAMpE;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAWD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAA;AAEhE,qBAAa,KAAK;IACT,QAAQ,EAAE,MAAM,CAAK;IACrB,YAAY,EAAE,MAAM,CAAK;IACzB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAO;IAC5B,KAAK,EAAE,aAAa,CAAA;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,kBAAkB,CAAwB;IAClD,OAAO,CAAC,qBAAqB,CAAgC;;IAO7D,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAKxB;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAIhD;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgH3B;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAQb;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,GAAG,EACf,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAIb;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,GAAG,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAIb,OAAO,CAAC,YAAY;IAQpB;;;;OAIG;IACG,YAAY,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CzD,YAAY,CAAC,EAAE,EAAE,MAAM;IAIvB,UAAU;IAIV,UAAU;IAIV,UAAU;IAIV,cAAc;IAId;;OAEG;IACH,KAAK;IAQL;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAc7B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,OAAO;IAiB/D;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAQ/B"}
1
+ {"version":3,"file":"Sumor.d.ts","sourceRoot":"","sources":["../../web/Sumor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAc,EAAE,aAAa,EAAE,kBAAkB,EAAc,MAAM,OAAO,CAAA;AAC5E,OAAO,EAAc,QAAQ,EAAsB,MAAM,cAAc,CAAA;AAkBvE,qBAAa,KAAK;IACT,KAAK,EAAE,aAAa,CAAA;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,YAAY,CAAiB;;IAOrC;;;OAGG;IACH,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;IAI7D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsG3B;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAChC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAQb;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,GAAG,EACf,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAIb;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,GAAG,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC;IAIb,OAAO,CAAC,YAAY;IAQpB;;;;OAIG;IACG,YAAY,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCzD;;OAEG;IACH,KAAK;IASL;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,OAAO;IAkB/D;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAS/B"}
package/dist/web/Sumor.js CHANGED
@@ -2,57 +2,22 @@
2
2
  * Sumor Class - 轻呈云客户端主类
3
3
  */
4
4
  import axios from 'axios';
5
- /**
6
- * API 错误信息
7
- */
8
- export class ApiError extends Error {
9
- constructor(message, code, status) {
10
- super(message);
11
- this.code = code;
12
- this.status = status;
13
- this.name = 'ApiError';
14
- }
15
- }
5
+ import { oauthStore } from './OAuthStore';
16
6
  export class Sumor {
17
7
  constructor() {
18
- this.endpoint = '';
19
- this.authorizeUrl = '';
20
- this.user = null;
21
8
  this.loaded = false;
22
9
  this.loadTime = 0;
23
10
  this.CACHE_TTL = 3600000; // 1小时,单位毫秒
24
11
  this.isRefreshing = false;
25
- this.refreshSubscribers = [];
26
- this.userChangeSubscribers = [];
27
12
  console.log('初始化轻呈云客户端...');
28
13
  this.axios = this.createAxiosInstance();
29
14
  }
30
- subscribeTokenRefresh(callback) {
31
- this.refreshSubscribers.push(callback);
32
- }
33
- onTokenRefreshed() {
34
- this.refreshSubscribers.forEach(callback => callback());
35
- this.refreshSubscribers = [];
36
- }
37
15
  /**
38
16
  * 订阅用户变化事件
39
17
  * @param callback 用户变化时的回调函数
40
18
  */
41
19
  onUserChange(callback) {
42
- this.userChangeSubscribers.push(callback);
43
- }
44
- /**
45
- * 触发用户变化事件
46
- */
47
- emitUserChange() {
48
- this.userChangeSubscribers.forEach(callback => {
49
- try {
50
- callback(this.user);
51
- }
52
- catch (error) {
53
- console.error('User change callback error:', error);
54
- }
55
- });
20
+ oauthStore.onUserChange(callback);
56
21
  }
57
22
  /**
58
23
  * 创建 Axios 实例并配置拦截器
@@ -80,7 +45,8 @@ export class Sumor {
80
45
  instance.interceptors.response.use(response => {
81
46
  const data = response.data;
82
47
  if (data.code !== 'OK') {
83
- const error = new ApiError(data.message || '请求失败', data.code, response.status);
48
+ const error = new Error(data.message || '请求失败');
49
+ error.code = data.code;
84
50
  return Promise.reject(error);
85
51
  }
86
52
  return data.data !== undefined ? data.data : true;
@@ -97,17 +63,12 @@ export class Sumor {
97
63
  });
98
64
  const response = await refreshInstance.put('/api/oauth/token', {});
99
65
  if (response.status === 200) {
100
- // 如果响应中包含新的用户信息,更新本地状态
66
+ // 如果响应中包含新的用户信息,更新到 OAuthStore
101
67
  if (response.data && response.data.data && response.data.data.user) {
102
- const previousUser = this.user;
103
- this.user = response.data.data.user;
104
- // 如果用户信息发生变化,触发回调
105
- if (this.user !== previousUser) {
106
- this.emitUserChange();
107
- }
68
+ oauthStore.setUser(response.data.data.user);
108
69
  }
109
70
  this.isRefreshing = false;
110
- this.onTokenRefreshed();
71
+ oauthStore.onTokenRefreshed();
111
72
  return instance(originalRequest);
112
73
  }
113
74
  else {
@@ -116,17 +77,17 @@ export class Sumor {
116
77
  }
117
78
  catch (refreshError) {
118
79
  this.isRefreshing = false;
119
- this.refreshSubscribers = [];
80
+ oauthStore.clearRefreshSubscribers();
120
81
  // 清空用户信息,表示已退出登录
121
- this.user = null;
122
- this.emitUserChange();
123
- const apiError = new ApiError('令牌已过期,请重新登录', 'TOKEN_REFRESH_FAILED', 401);
124
- return Promise.reject(apiError);
82
+ oauthStore.setUser(null);
83
+ const error = new Error('令牌已过期,请重新登录');
84
+ error.code = 'TOKEN_REFRESH_FAILED';
85
+ return Promise.reject(error);
125
86
  }
126
87
  }
127
88
  else {
128
89
  return new Promise((resolve, reject) => {
129
- this.subscribeTokenRefresh(() => {
90
+ oauthStore.subscribeTokenRefresh(() => {
130
91
  resolve(instance(originalRequest));
131
92
  });
132
93
  });
@@ -134,11 +95,13 @@ export class Sumor {
134
95
  }
135
96
  if (error.response?.data) {
136
97
  const data = error.response.data;
137
- const apiError = new ApiError(data.message || error.message || '请求失败', data.code || 'REQUEST_FAILED', error.response.status);
138
- return Promise.reject(apiError);
98
+ const err = new Error(data.message || error.message || '请求失败');
99
+ err.code = data.code || 'REQUEST_FAILED';
100
+ return Promise.reject(err);
139
101
  }
140
- const apiError = new ApiError(error.message || '网络错误', 'NETWORK_ERROR', error.response?.status);
141
- return Promise.reject(apiError);
102
+ const err = new Error(error.message || '网络错误');
103
+ err.code = 'NETWORK_ERROR';
104
+ return Promise.reject(err);
142
105
  });
143
106
  return instance;
144
107
  }
@@ -182,7 +145,6 @@ export class Sumor {
182
145
  if (!force && this.isCacheValid()) {
183
146
  return;
184
147
  }
185
- const previousUser = this.user;
186
148
  try {
187
149
  // 直接调用 PUT /api/oauth/token 刷新接口
188
150
  // 浏览器会自动在请求中包含 HttpOnly Cookie 中的 refresh_token
@@ -192,52 +154,28 @@ export class Sumor {
192
154
  // 响应已被拦截器处理,返回的是 { endpoint, authorizeUrl, user }
193
155
  if (response) {
194
156
  const data = response;
195
- this.endpoint = data.endpoint || '';
196
- this.authorizeUrl = data.authorizeUrl || '';
197
- this.user = data.user || null;
198
- console.log('[Sumor] User info updated:', this.user);
157
+ oauthStore.setData(data);
158
+ console.log('[Sumor] User info updated:', oauthStore.getUser());
199
159
  }
200
160
  this.loaded = true;
201
161
  this.loadTime = Date.now();
202
- // 如果用户信息发生变化,触发回调
203
- if (this.user !== previousUser) {
204
- console.log('[Sumor] User changed, emitting event');
205
- this.emitUserChange();
206
- }
207
162
  }
208
163
  catch (error) {
209
164
  console.error('[Sumor] Failed to refresh OAuth info:', error);
210
165
  // 刷新失败时,清除用户信息(401 表示未认证)
211
166
  if (error.response?.status === 401 || error.code === 'TOKEN_REFRESH_FAILED') {
212
167
  console.log('[Sumor] Token refresh failed or unauthorized, clearing user');
213
- if (this.user !== null) {
214
- this.user = null;
215
- this.emitUserChange();
216
- }
168
+ oauthStore.clear();
217
169
  }
218
170
  }
219
171
  }
220
- getAvatarUrl(id) {
221
- return this.endpoint + `/api/user/avatar/${id}`;
222
- }
223
- getHomeUrl() {
224
- return this.endpoint;
225
- }
226
- getSiteUrl() {
227
- return this.endpoint + '/site';
228
- }
229
- getUserUrl() {
230
- return this.endpoint + '/user';
231
- }
232
- getFeedbackUrl() {
233
- return this.endpoint + '/user/feedback';
234
- }
235
172
  /**
236
173
  * 登录:跳转到授权页面
237
174
  */
238
175
  login() {
239
- if (this.authorizeUrl) {
240
- window.location.href = this.authorizeUrl;
176
+ const authorizeUrl = oauthStore.getAuthorizeUrl();
177
+ if (authorizeUrl) {
178
+ window.location.href = authorizeUrl;
241
179
  }
242
180
  else {
243
181
  throw new Error('无法获取授权 URL');
@@ -252,13 +190,11 @@ export class Sumor {
252
190
  }
253
191
  catch (error) {
254
192
  console.error('Logout error:', error);
255
- // 即使请求失败,仍然返回(由调用方处理清除本地状态)
256
193
  throw error;
257
194
  }
258
195
  finally {
259
196
  // 清空本地用户信息
260
- this.user = null;
261
- this.emitUserChange();
197
+ oauthStore.clear();
262
198
  }
263
199
  }
264
200
  /**
@@ -278,10 +214,11 @@ export class Sumor {
278
214
  * - hasPermission('posts', '*') 或 hasPermission('posts') 检查是否有任何 posts 权限
279
215
  */
280
216
  hasPermission(module, operation = '*') {
281
- if (!this.user || !this.user.permissions) {
217
+ const user = oauthStore.getUser();
218
+ if (!user || !user.permissions) {
282
219
  return false;
283
220
  }
284
- const userPermissions = this.user.permissions.split(',').map(p => p.trim());
221
+ const userPermissions = user.permissions.split(',').map(p => p.trim());
285
222
  // 如果 operation 为 *,检查是否有该模块的任何权限
286
223
  if (operation === '*') {
287
224
  return userPermissions.some(permission => permission.startsWith(`${module}:`));
@@ -296,10 +233,11 @@ export class Sumor {
296
233
  * @returns 是否拥有该角色
297
234
  */
298
235
  hasRole(role) {
299
- if (!this.user || !this.user.roles) {
236
+ const user = oauthStore.getUser();
237
+ if (!user || !user.roles) {
300
238
  return false;
301
239
  }
302
- const userRoles = this.user.roles.split(',');
240
+ const userRoles = user.roles.split(',');
303
241
  return userRoles.some(r => r.trim() === role);
304
242
  }
305
243
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sumor.js","sourceRoot":"","sources":["../../web/Sumor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sumor.js","sourceRoot":"","sources":["../../web/Sumor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * URL Helper - 提供各种应用内 URL 的快速访问方法
3
+ */
4
+ /**
5
+ * OAuth URL 访问对象
6
+ */
7
+ export declare const oauthUrl: {
8
+ /**
9
+ * 获取用户头像 URL
10
+ */
11
+ avatar(id: string): string;
12
+ /**
13
+ * 获取首页 URL
14
+ */
15
+ home(): string;
16
+ /**
17
+ * 获取站点管理页面 URL
18
+ */
19
+ site(): string;
20
+ /**
21
+ * 获取用户中心 URL
22
+ */
23
+ user(): string;
24
+ /**
25
+ * 获取反馈页面 URL
26
+ */
27
+ feedback(): string;
28
+ };
29
+ //# sourceMappingURL=UrlHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UrlHelper.d.ts","sourceRoot":"","sources":["../../web/UrlHelper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB;;OAEG;eACQ,MAAM,GAAG,MAAM;IAI1B;;OAEG;YACK,MAAM;IAId;;OAEG;YACK,MAAM;IAId;;OAEG;YACK,MAAM;IAId;;OAEG;gBACS,MAAM;CAGnB,CAAA"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * URL Helper - 提供各种应用内 URL 的快速访问方法
3
+ */
4
+ import { oauthStore } from './OAuthStore';
5
+ /**
6
+ * OAuth URL 访问对象
7
+ */
8
+ export const oauthUrl = {
9
+ /**
10
+ * 获取用户头像 URL
11
+ */
12
+ avatar(id) {
13
+ return oauthStore.getEndpoint() + `/api/user/avatar/${id}`;
14
+ },
15
+ /**
16
+ * 获取首页 URL
17
+ */
18
+ home() {
19
+ return oauthStore.getEndpoint();
20
+ },
21
+ /**
22
+ * 获取站点管理页面 URL
23
+ */
24
+ site() {
25
+ return oauthStore.getEndpoint() + '/site';
26
+ },
27
+ /**
28
+ * 获取用户中心 URL
29
+ */
30
+ user() {
31
+ return oauthStore.getEndpoint() + '/user';
32
+ },
33
+ /**
34
+ * 获取反馈页面 URL
35
+ */
36
+ feedback() {
37
+ return oauthStore.getEndpoint() + '/user/feedback';
38
+ }
39
+ };
40
+ //# sourceMappingURL=UrlHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UrlHelper.js","sourceRoot":"","sources":["../../web/UrlHelper.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,MAAM,CAAC,EAAU;QACf,OAAO,UAAU,CAAC,WAAW,EAAE,GAAG,oBAAoB,EAAE,EAAE,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,UAAU,CAAC,WAAW,EAAE,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,UAAU,CAAC,WAAW,EAAE,GAAG,OAAO,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,UAAU,CAAC,WAAW,EAAE,GAAG,OAAO,CAAA;IAC3C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,UAAU,CAAC,WAAW,EAAE,GAAG,gBAAgB,CAAA;IACpD,CAAC;CACF,CAAA"}
@@ -2,5 +2,6 @@
2
2
  * Sumor Framework - 轻呈云客户端初始化
3
3
  */
4
4
  export declare function setupSumor(): Promise<void>;
5
- export { Sumor, ApiError } from './Sumor';
5
+ export { Sumor } from './Sumor';
6
+ export { oauthUrl } from './UrlHelper';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAsB,UAAU,kBAa/B;AAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAsB,UAAU,kBAa/B;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA"}
package/dist/web/index.js CHANGED
@@ -10,8 +10,9 @@ export async function setupSumor() {
10
10
  await sumor.refreshToken();
11
11
  // 挂载到全局 window 对象
12
12
  window.sumor = sumor;
13
- console.log('[setupSumor] Sumor initialized, window.sumor.user:', window.sumor.user);
13
+ console.log('[setupSumor] Sumor initialized');
14
14
  console.log('✓ 完成轻呈云客户端初始化');
15
15
  }
16
- export { Sumor, ApiError } from './Sumor';
16
+ export { Sumor } from './Sumor';
17
+ export { oauthUrl } from './UrlHelper';
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IAEzB,YAAY;IACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IACnD,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;IAE1B,kBAAkB;IAClB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAEpB,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC9B,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;IAEzB,YAAY;IACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;IACnD,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;IAE1B,kBAAkB;IAClB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAEpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC9B,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sumor",
3
- "version": "3.1.0",
3
+ "version": "3.1.2",
4
4
  "description": "Sumor OAuth framework",
5
5
  "main": "dist/server/index.js",
6
6
  "types": "dist/server/index.d.ts",