154 lines
3.3 KiB
TypeScript
154 lines
3.3 KiB
TypeScript
import base64 from "base64-utf8"
|
|
|
|
import request from "@/sheep/utils/request"
|
|
|
|
// 将 Basic Auth 字符串提取为常量
|
|
const BASIC_AUTH = "Basic " + base64.encode(import.meta.env.VITE_OAUTH2_APP_CLIENT)
|
|
|
|
export default {
|
|
// 获取用户信息
|
|
userInfo: (): Promise<any> =>
|
|
request({
|
|
url: "/admin/user/info",
|
|
method: "GET",
|
|
}),
|
|
|
|
// 检查token
|
|
refreshToken: (refresh_token: string): Promise<any> => {
|
|
const grant_type = "refresh_token"
|
|
const scope = "server"
|
|
return request({
|
|
url: "/auth/oauth2/token",
|
|
header: {
|
|
skipToken: "true",
|
|
Authorization: BASIC_AUTH,
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
method: "POST",
|
|
params: { refresh_token, grant_type, scope },
|
|
})
|
|
},
|
|
|
|
// 浙政钉授权登录
|
|
auth: (token: string): Promise<any> =>
|
|
request({
|
|
url: "/thirdparty/thirdPartyOAth2/zzdsso",
|
|
method: "POST",
|
|
data: { token },
|
|
}),
|
|
|
|
// 诗画授权登录
|
|
authsh: (data: { accountId: string; sessionId: string }): Promise<any> =>
|
|
request({
|
|
url: "/thirdparty/thirdPartyOAth2/shjnsso",
|
|
method: "POST",
|
|
data,
|
|
}),
|
|
|
|
// 账号密码登录
|
|
login: (params: any) => {
|
|
const { username, password, randomStr, code, grant_type, scope } = params
|
|
return request({
|
|
url: `/auth/oauth2/token`,
|
|
method: "POST",
|
|
params: {
|
|
username,
|
|
randomStr,
|
|
code,
|
|
grant_type,
|
|
scope,
|
|
},
|
|
data: { password },
|
|
header: {
|
|
skipToken: true,
|
|
Authorization: BASIC_AUTH,
|
|
"content-type": "application/x-www-form-urlencoded",
|
|
},
|
|
})
|
|
},
|
|
|
|
// 判断是否是合作商家商户角色
|
|
isMerchant: (): Promise<any> =>
|
|
request({
|
|
url: "/admin/role/isMchUser",
|
|
method: "GET",
|
|
}),
|
|
|
|
// 判断是否是共富商城商户角色
|
|
isMallMchUser: (): Promise<any> =>
|
|
request({
|
|
url: "/admin/role/isMallMchUser",
|
|
method: "GET",
|
|
}),
|
|
|
|
// 判断用户移动端角色
|
|
userRole: () =>
|
|
request({
|
|
url: "/admin/role/app/user-role",
|
|
method: "GET",
|
|
}),
|
|
|
|
// 根据手机号发送验证码
|
|
getMobilePhoneCode: (mobilePhone: string) =>
|
|
request({
|
|
url: `/thirdparty/thirdPartyOAth2/loginSms?mobilePhone=${mobilePhone}`,
|
|
method: "POST",
|
|
}),
|
|
|
|
// 发送忘记密码短信验证码
|
|
sendForgotPasswordSmsCode: (mobile: string) =>
|
|
request({
|
|
url: "/admin/user/forgot-password/sms-code",
|
|
method: "GET",
|
|
params: { mobile },
|
|
}),
|
|
|
|
// 短信验证码重置密码
|
|
resetForgotPassword: (data: { mobile: string; smsCode: string; newPassword: string }) =>
|
|
request({
|
|
url: "/admin/user/forgot-password/reset",
|
|
method: "POST",
|
|
data,
|
|
}),
|
|
|
|
// 设备认证
|
|
verifyDevice: (data: { mobilePhone: string; code: string }) =>
|
|
request({
|
|
url: "/thirdparty/thirdPartyOAth2/verify-device",
|
|
method: "POST",
|
|
data,
|
|
}),
|
|
|
|
// 判断该设备是否被验证
|
|
isVerifyDevice: (data: { mobile: string; userId: string }) =>
|
|
request({
|
|
url: "/thirdparty/thirdPartyOAth2/is-verify-device",
|
|
method: "POST",
|
|
data,
|
|
}),
|
|
|
|
// 用户注册
|
|
register: (data: any) =>
|
|
request({
|
|
url: "/admin/register/default-user",
|
|
method: "POST",
|
|
data,
|
|
}),
|
|
|
|
// 用户申请注销
|
|
applyCloseAccount: (data: any) =>
|
|
request({
|
|
url: "/admin/user/app/apply/close-account",
|
|
method: "POST",
|
|
data,
|
|
}),
|
|
|
|
// 用户修改个人资料
|
|
appModifyUser: (data: any) =>
|
|
request({
|
|
url: "/admin/user/app/modify",
|
|
method: "POST",
|
|
data,
|
|
}),
|
|
}
|