user.ts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. import { defHttp } from '/@/utils/http/axios';
  2. import { LoginParams, LoginResultModel, GetUserInfoModel } from './model/userModel';
  3. import { ErrorMessageMode } from '/#/axios';
  4. import {useMessage} from "/@/hooks/web/useMessage";
  5. const { createMessage, createErrorModal } = useMessage();
  6. enum Api {
  7. Login = '/sys/login',
  8. phoneLogin = '/sys/phoneLogin',
  9. Logout = '/sys/logout',
  10. GetUserInfo = '/sys/user/getUserInfo',
  11. // 获取系统权限
  12. // 1、查询用户拥有的按钮/表单访问权限
  13. // 2、所有权限
  14. // 3、系统安全模式
  15. GetPermCode = '/sys/permission/getPermCode',
  16. //新加的获取图形验证码的接口
  17. getInputCode = '/sys/randomImage',
  18. //获取短信验证码的接口
  19. getCaptcha = '/sys/sms',
  20. //注册接口
  21. registerApi = '/sys/user/register',
  22. //校验用户接口
  23. checkOnlyUser = '/sys/user/checkOnlyUser',
  24. //SSO登录校验
  25. validateCasLogin = '/sys/cas/client/validateLogin',
  26. //校验手机号
  27. phoneVerify = '/sys/user/phoneVerification',
  28. //修改密码
  29. passwordChange = '/sys/user/passwordChange',
  30. //第三方登录
  31. thirdLogin = '/sys/thirdLogin/getLoginUser',
  32. //第三方登录
  33. getThirdCaptcha = '/sys/thirdSms',
  34. //获取二维码信息
  35. getLoginQrcode = '/sys/getLoginQrcode',
  36. //监控二维码扫描状态
  37. getQrcodeToken = '/sys/getQrcodeToken',
  38. }
  39. /**
  40. * @description: user login api
  41. */
  42. export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  43. return defHttp.post<LoginResultModel>(
  44. {
  45. url: Api.Login,
  46. params,
  47. },
  48. {
  49. errorMessageMode: mode,
  50. }
  51. );
  52. }
  53. /**
  54. * @description: user phoneLogin api
  55. */
  56. export function phoneLoginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  57. return defHttp.post<LoginResultModel>(
  58. {
  59. url: Api.phoneLogin,
  60. params,
  61. },
  62. {
  63. errorMessageMode: mode,
  64. }
  65. );
  66. }
  67. /**
  68. * @description: getUserInfo
  69. */
  70. export function getUserInfo() {
  71. return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' });
  72. }
  73. export function getPermCode() {
  74. return defHttp.get({ url: Api.GetPermCode });
  75. }
  76. export function doLogout() {
  77. return defHttp.get({ url: Api.Logout });
  78. }
  79. export function getCodeInfo(currdatetime) {
  80. let url = Api.getInputCode+`/${currdatetime}`
  81. return defHttp.get({ url: url });
  82. }
  83. /**
  84. * @description: 获取短信验证码
  85. */
  86. export function getCaptcha(params) {
  87. return new Promise((resolve, reject) => {
  88. defHttp.post({url:Api.getCaptcha,params},{isTransformResponse: false}).then(res=>{
  89. console.log(res)
  90. if(res.success){
  91. resolve(true)
  92. }else{
  93. createErrorModal({ title: '错误提示', content: res.message||'未知问题' });
  94. reject()
  95. }
  96. });
  97. })
  98. }
  99. /**
  100. * @description: 注册接口
  101. */
  102. export function register(params) {
  103. return defHttp.post({url: Api.registerApi,params},{isReturnNativeResponse: true})
  104. }
  105. /**
  106. *校验用户是否存在
  107. * @param params
  108. */
  109. export const checkOnlyUser = (params) =>
  110. defHttp.get({url: Api.checkOnlyUser, params},{isTransformResponse:false});
  111. /**
  112. *校验手机号码
  113. * @param params
  114. */
  115. export const phoneVerify = (params) =>
  116. defHttp.post({url: Api.phoneVerify, params},{isTransformResponse:false});
  117. /**
  118. *密码修改
  119. * @param params
  120. */
  121. export const passwordChange = (params) =>
  122. defHttp.get({url: Api.passwordChange, params},{isTransformResponse:false});
  123. /**
  124. * @description: 第三方登录
  125. */
  126. export function thirdLogin(params, mode: ErrorMessageMode = 'modal') {
  127. return defHttp.get<LoginResultModel>(
  128. {
  129. url: `${Api.thirdLogin}/${params.token}/${params.thirdType}`,
  130. },
  131. {
  132. errorMessageMode: mode,
  133. }
  134. );
  135. }
  136. /**
  137. * @description: 获取第三方短信验证码
  138. */
  139. export function setThirdCaptcha(params) {
  140. return new Promise((resolve, reject) => {
  141. defHttp.post({url:Api.getThirdCaptcha,params},{isTransformResponse: false}).then(res=>{
  142. console.log(res)
  143. if(res.success){
  144. resolve(true)
  145. }else{
  146. createErrorModal({ title: '错误提示', content: res.message||'未知问题' });
  147. reject()
  148. }
  149. });
  150. })
  151. }
  152. /**
  153. * 获取登录二维码信息
  154. */
  155. export function getLoginQrcode() {
  156. let url = Api.getLoginQrcode
  157. return defHttp.get({ url: url });
  158. }
  159. /**
  160. * 监控扫码状态
  161. */
  162. export function getQrcodeToken(params) {
  163. let url = Api.getQrcodeToken
  164. return defHttp.get({ url: url,params});
  165. }
  166. /**
  167. * SSO登录校验
  168. */
  169. export async function validateCasLogin(params) {
  170. let url = Api.validateCasLogin
  171. return defHttp.get({ url: url,params});
  172. }