Files
pj_h5_cloud/src/sheep/api/user.ts
T
2025-02-19 16:44:30 +08:00

91 lines
1.8 KiB
TypeScript

import request from "@/sheep/utils/request"
import { encryption } from "@/sheep/utils/encryption"
// 将 Basic Auth 字符串提取为常量
const BASIC_AUTH = "Basic " + window.btoa(import.meta.env.VITE_OAUTH2_APP_CLIENT)
// 定义接口类型
interface LoginParams {
username: string
password: string
randomStr: string
code: string
grant_type: string
scope: string
}
export default {
// 获取用户信息
userInfo: (): Promise<any> =>
request({
url: "/admin/user/info",
method: "GET",
custom: {
showLoading: false,
loadingMsg: "登录中",
},
}),
// 浙政钉授权
auth: (token: string): Promise<any> =>
request({
url: `/thirdparty/thirdPartyOAth2/zzdsso/${token}`,
method: "GET",
custom: {
showLoading: false,
loadingMsg: "授权中",
},
}),
// 诗画授权
authsh: (params: { accountId: string; sessionId: string }) =>
request({
url: `/sys/auth/shjnsso`,
method: "POST",
custom: {
showLoading: false,
loadingMsg: "授权中",
},
data: params,
}),
// 刷新token
refreshToken: (params: { refreshToken: string }) =>
request({
url: `/sys/auth/refresh-token`,
method: "POST",
params,
custom: {
showLoading: false,
},
}),
// 登录
login: (params: LoginParams) => {
const { username, password, randomStr, code, grant_type, scope } = params
const encPassword = encryption(password, import.meta.env.VITE_PWD_ENC_KEY)
return request({
url: `/auth/oauth2/token`,
method: "POST",
params: {
username,
password,
randomStr,
code,
grant_type,
scope,
},
data: { password },
header: {
skipToken: true,
Authorization: BASIC_AUTH,
"content-type": "application/x-www-form-urlencoded",
},
custom: {
showLoading: false,
},
})
},
}