user.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import request from "@/utils/request";
  2. export const userApi = {
  3. // 账号密码登录 - 显示自定义 loading 文字
  4. accountLogin(data, onComplete) {
  5. // 在第一次登录的时候拿到旧的设备信息,deviceId改为用户名+设备型号
  6. const deviceInfo = uni.getStorageSync("deviceInfo");
  7. const newDeviceInfo = {
  8. ...deviceInfo,
  9. deviceId: `(${data.yhm})${deviceInfo.model}`,
  10. }
  11. uni.setStorageSync("deviceInfo", newDeviceInfo)
  12. const promise = request.post(
  13. `/service?ssServ=ss.login&yhm=${data.yhm}&mm=${data.mm}&wdConfirmationCaptchaService=0&wechatCode=${data.wechatCode}`,
  14. data,
  15. {
  16. loading: false, // 禁用全局 loading,由登录页面自己控制
  17. request: {
  18. timeout: 15000 // 登录请求 15 秒超时
  19. }
  20. }
  21. );
  22. // 无论成功还是失败,都调用完成回调
  23. if (onComplete) {
  24. promise.finally(() => {
  25. onComplete()
  26. })
  27. }
  28. return promise;
  29. },
  30. // 自动登录 - 静默登录,不显示 loading
  31. autoLogin(data) {
  32. return request.post(
  33. `/service?ssServ=ss.login&wdConfirmationCaptchaService=0&mdToken=${data.mdToken}`,
  34. data,
  35. {
  36. loading: false // 自动登录不显示 loading,避免打扰用户
  37. }
  38. );
  39. },
  40. // 微信登录 - 自定义 loading
  41. wechatLogin(data, onComplete) {
  42. const promise = request.post(
  43. `/service?ssServ=ss.login&wdConfirmationCaptchaService=0`,
  44. data,
  45. {
  46. loading: false, // 禁用全局 loading,由登录页面自己控制
  47. request: {
  48. timeout: 15000 // 微信登录请求 15 秒超时
  49. }
  50. }
  51. );
  52. // 无论成功还是失败,都调用完成回调
  53. if (onComplete) {
  54. promise.finally(() => {
  55. onComplete()
  56. })
  57. }
  58. return promise;
  59. }
  60. };