支持了localstorage存储token
Publish to npm / publish (push) Failing after 8s
Publish to npm / publish (push) Failing after 8s
This commit is contained in:
+17
-5
@@ -83,6 +83,7 @@ export class SimApiCore {
|
||||
check_url: '/user/info',
|
||||
logout_url: '/auth/logout',
|
||||
login_url: '/auth/login',
|
||||
tokenStore: "localstorage"
|
||||
}
|
||||
private webConfig: Map<string, Record<string, object>> = new Map();
|
||||
|
||||
@@ -99,7 +100,7 @@ export class SimApiCore {
|
||||
error: (_err: any) => {
|
||||
},
|
||||
},
|
||||
timeout: 10000,
|
||||
timeout: 10000
|
||||
}
|
||||
|
||||
constructor(options?: SimApiOptions) {
|
||||
@@ -179,19 +180,30 @@ export class SimApiCore {
|
||||
}
|
||||
|
||||
getToken(): string {
|
||||
if (this.auth.tokenStore === 'localstorage') {
|
||||
return localStorage.getItem(this.auth.token_name) ?? ''
|
||||
}
|
||||
const name = this.auth.token_name
|
||||
const match = document.cookie.match(new RegExp(`(?:^|;)\\s?${name}=([^;]+)`))
|
||||
return match ? match[1] : ''
|
||||
}
|
||||
|
||||
setToken(token: string): void {
|
||||
const name = this.auth.token_name
|
||||
document.cookie = `${name}=${token}; path=/; max-age=315360000; secure; samesite=none`
|
||||
if (this.auth.tokenStore === 'localstorage') {
|
||||
localStorage.setItem(this.auth.token_name, token)
|
||||
} else {
|
||||
const name = this.auth.token_name
|
||||
document.cookie = `${name}=${token}; path=/; max-age=315360000; secure; samesite=none`
|
||||
}
|
||||
}
|
||||
|
||||
removeToken(): void {
|
||||
const name = this.auth.token_name
|
||||
document.cookie = `${name}=; path=/; max-age=0; secure; samesite=none`
|
||||
if (this.auth.tokenStore === 'localstorage') {
|
||||
localStorage.removeItem(this.auth.token_name)
|
||||
} else {
|
||||
const name = this.auth.token_name
|
||||
document.cookie = `${name}=; path=/; max-age=0; secure; samesite=none`
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+35
-33
@@ -4,61 +4,63 @@
|
||||
|
||||
/** 版本信息 */
|
||||
export interface SimApiVersions {
|
||||
uiApp: string
|
||||
uiSimApi: string
|
||||
apiApp: string
|
||||
apiSimApi: string
|
||||
apiAppFull: string
|
||||
apiSimApiFull: string
|
||||
uiApp: string
|
||||
uiSimApi: string
|
||||
apiApp: string
|
||||
apiSimApi: string
|
||||
apiAppFull: string
|
||||
apiSimApiFull: string
|
||||
}
|
||||
|
||||
/** 认证配置 */
|
||||
export interface SimApiAuthConfig {
|
||||
/** localStorage key,默认 'simapi-auth-token' */
|
||||
token_name: string
|
||||
/** 检查登录接口,默认 '/auth/check' */
|
||||
check_url: string
|
||||
/** 登出接口,默认 '/auth/logout' */
|
||||
logout_url: string
|
||||
/** 登录接口,默认 '/auth/login' */
|
||||
login_url: string
|
||||
/** localStorage key,默认 'simapi-auth-token' */
|
||||
token_name: string
|
||||
/** 检查登录接口,默认 '/auth/check' */
|
||||
check_url: string
|
||||
/** 登出接口,默认 '/auth/logout' */
|
||||
logout_url: string
|
||||
/** 登录接口,默认 '/auth/login' */
|
||||
login_url: string
|
||||
/** Token 存储位置 */
|
||||
tokenStore: string
|
||||
}
|
||||
|
||||
/** 业务错误码回调 */
|
||||
export interface SimApiBusinessCallback {
|
||||
[key: number | string]: (data: any) => void
|
||||
[key: number | string]: (data: any) => void
|
||||
}
|
||||
|
||||
/** 响应拦截回调 */
|
||||
export interface SimApiResponseCallback {
|
||||
success: (response: any) => any
|
||||
error: (err: any) => void
|
||||
success: (response: any) => any
|
||||
error: (err: any) => void
|
||||
}
|
||||
|
||||
/** API 配置 */
|
||||
export interface SimApiApiConfig {
|
||||
/** 多端点映射 */
|
||||
endpoints: { [name: string]: string }
|
||||
/** 默认端点名称 */
|
||||
defaultEndpoint: string
|
||||
/** 业务错误码回调 */
|
||||
businessCallback: SimApiBusinessCallback
|
||||
/** 响应拦截器 */
|
||||
responseCallback: SimApiResponseCallback
|
||||
/** 请求超时时间(毫秒),默认 10000 */
|
||||
timeout?: number
|
||||
/** 多端点映射 */
|
||||
endpoints: { [name: string]: string }
|
||||
/** 默认端点名称 */
|
||||
defaultEndpoint: string
|
||||
/** 业务错误码回调 */
|
||||
businessCallback: SimApiBusinessCallback
|
||||
/** 响应拦截器 */
|
||||
responseCallback: SimApiResponseCallback
|
||||
/** 请求超时时间(毫秒),默认 10000 */
|
||||
timeout?: number
|
||||
}
|
||||
|
||||
/** SimApi 完整配置 */
|
||||
export interface SimApiOptions {
|
||||
debug?: boolean
|
||||
auth?: Partial<SimApiAuthConfig>
|
||||
api?: Partial<SimApiApiConfig>
|
||||
debug?: boolean
|
||||
auth?: Partial<SimApiAuthConfig>
|
||||
api?: Partial<SimApiApiConfig>
|
||||
}
|
||||
|
||||
/** SimApi 标准响应格式 */
|
||||
export interface SimApiBaseResponse<T = any> {
|
||||
code: number
|
||||
message: string
|
||||
data?: T
|
||||
code: number
|
||||
message: string
|
||||
data?: T
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user