login.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import request from '@/utils/request'
  2. import {getRefreshToken} from "@/utils/auth";
  3. import service from "@/utils/request";
  4. // 登录方法
  5. export function login(username, password, code, uuid) {
  6. const data = {
  7. username,
  8. password,
  9. code,
  10. uuid
  11. }
  12. return request({
  13. url: '/system/auth/login',
  14. method: 'post',
  15. data: data
  16. })
  17. }
  18. // 获取用户详细信息
  19. export function getInfo() {
  20. return request({
  21. url: '/system/auth/get-permission-info',
  22. method: 'get'
  23. })
  24. }
  25. // 退出方法
  26. export function logout() {
  27. return request({
  28. url: '/system/auth/logout',
  29. method: 'post'
  30. })
  31. }
  32. // 获取验证码
  33. export function getCodeImg() {
  34. return request({
  35. url: '/system/captcha/get-image',
  36. method: 'get',
  37. timeout: 20000
  38. })
  39. }
  40. // 社交授权的跳转
  41. export function socialAuthRedirect(type, redirectUri) {
  42. return request({
  43. url: '/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri,
  44. method: 'get'
  45. })
  46. }
  47. // 社交快捷登录,使用 code 授权码
  48. export function socialQuickLogin(type, code, state) {
  49. return request({
  50. url: '/system/auth/social-quick-login',
  51. method: 'post',
  52. data: {
  53. type,
  54. code,
  55. state
  56. }
  57. })
  58. }
  59. // 社交绑定登录,使用 code 授权码 + + 账号密码
  60. export function socialBindLogin(type, code, state, username, password) {
  61. return request({
  62. url: '/system/auth/social-bind-login',
  63. method: 'post',
  64. data: {
  65. type,
  66. code,
  67. state,
  68. username,
  69. password
  70. }
  71. })
  72. }
  73. // 获取登录验证码
  74. export function sendSmsCode(mobile, scene) {
  75. return request({
  76. url: '/system/auth/send-sms-code',
  77. method: 'post',
  78. data: {
  79. mobile,
  80. scene
  81. }
  82. })
  83. }
  84. // 短信验证码登录
  85. export function smsLogin(mobile, code) {
  86. return request({
  87. url: '/system/auth/sms-login',
  88. method: 'post',
  89. data: {
  90. mobile,
  91. code
  92. }
  93. })
  94. }
  95. // 刷新访问令牌
  96. export function refreshToken() {
  97. return service({
  98. url: '/system/auth/refresh-token?refreshToken=' + getRefreshToken(),
  99. method: 'post'
  100. })
  101. }
  102. // ========== OAUTH 2.0 相关 ==========
  103. export function getAuthorize(clientId) {
  104. return request({
  105. url: '/system/oauth2/authorize?clientId=' + clientId,
  106. method: 'get'
  107. })
  108. }
  109. export function authorize(responseType, clientId, redirectUri, state,
  110. autoApprove, checkedScopes, uncheckedScopes) {
  111. // 构建 scopes
  112. const scopes = {};
  113. for (const scope of checkedScopes) {
  114. scopes[scope] = true;
  115. }
  116. for (const scope of uncheckedScopes) {
  117. scopes[scope] = false;
  118. }
  119. // 发起请求
  120. return service({
  121. url: '/system/oauth2/authorize',
  122. headers:{
  123. 'Content-type': 'application/x-www-form-urlencoded',
  124. },
  125. params: {
  126. response_type: responseType,
  127. client_id: clientId,
  128. redirect_uri: redirectUri,
  129. state: state,
  130. auto_approve: autoApprove,
  131. scope: JSON.stringify(scopes)
  132. },
  133. method: 'post'
  134. })
  135. }