123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- import request from '@/config/axios'
- import { getRefreshToken } from '@/utils/auth'
- import type { UserLoginVO } from './types'
- import { service } from '@/config/axios/service'
- export interface CodeImgResult {
- captchaOnOff: boolean
- img: string
- uuid: string
- }
- export interface SmsCodeVO {
- mobile: string
- scene: number
- }
- export interface SmsLoginVO {
- mobile: string
- code: string
- }
- // 登录
- export const loginApi = (data: UserLoginVO) => {
- return request.post({ url: '/system/auth/login', data })
- }
- // 刷新访问令牌
- export const refreshToken = () => {
- return request.post({ url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken() })
- }
- // 使用租户名,获得租户编号
- export const getTenantIdByNameApi = (name: string) => {
- return request.get({ url: '/system/tenant/get-id-by-name?name=' + name })
- }
- // 登出
- export const loginOutApi = () => {
- return request.post({ url: '/system/auth/logout' })
- }
- // 获取用户权限信息
- export const getInfoApi = () => {
- return request.get({ url: '/system/auth/get-permission-info' })
- }
- // 路由
- export const getAsyncRoutesApi = () => {
- return request.get({ url: '/system/auth/list-menus' })
- }
- //获取登录验证码
- export const sendSmsCodeApi = (data: SmsCodeVO) => {
- return request.post({ url: '/system/auth/send-sms-code', data })
- }
- // 短信验证码登录
- export const smsLoginApi = (data: SmsLoginVO) => {
- return request.post({ url: '/system/auth/sms-login', data })
- }
- // 社交授权的跳转
- export const socialAuthRedirectApi = (type: number, redirectUri: string) => {
- return request.get({
- url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri
- })
- }
- // 获取验证图片 以及token
- export const getCodeApi = (data) => {
- return request.postOriginal({ url: 'system/captcha/get', data })
- }
- // 滑动或者点选验证
- export const reqCheckApi = (data) => {
- return request.postOriginal({ url: 'system/captcha/check', data })
- }
- // ========== OAUTH 2.0 相关 ==========
- export const getAuthorize = (clientId) => {
- return request.get({ url: '/system/oauth2/authorize?clientId=' + clientId })
- }
- export function authorize(
- responseType: string,
- clientId: string,
- redirectUri: string,
- state: string,
- autoApprove: boolean,
- checkedScopes: any,
- uncheckedScopes: any
- ) {
- // 构建 scopes
- const scopes = {}
- for (const scope of checkedScopes) {
- scopes[scope] = true
- }
- for (const scope of uncheckedScopes) {
- scopes[scope] = false
- }
- // 发起请求
- return service({
- url: '/system/oauth2/authorize',
- headers: {
- 'Content-type': 'application/x-www-form-urlencoded'
- },
- params: {
- response_type: responseType,
- client_id: clientId,
- redirect_uri: redirectUri,
- state: state,
- auto_approve: autoApprove,
- scope: JSON.stringify(scopes)
- },
- method: 'post'
- })
- }
|