connect.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. /**
  2. * 信任登录相关API
  3. */
  4. import {
  5. http,
  6. Method
  7. } from '@/utils/request.js';
  8. // 使用storage模块的方法设置登录状态为false
  9. import storage from "@/utils/storage.js";
  10. const request = http.request;
  11. /**
  12. * 登出
  13. * @returns {Promise} 登出结果
  14. */
  15. export function webLogout() {
  16. // 实际环境中应该调用后端登出接口
  17. return http.request({
  18. url: "/auth/logout",
  19. method: Method.DELETE,
  20. header: {
  21. 'Authorization': `Bearer ${storage.getAccessToken()}`
  22. },
  23. // success: (res) => {
  24. // console.log("退出登录请求",res);
  25. // if (res.data.code === 200) {
  26. // clearLoginState();
  27. // resolve(res);
  28. // } else {
  29. // reject(res.data.message || '登出失败');
  30. // }
  31. // },
  32. // fail: () => {
  33. // reject('网络错误,请稍后再试');
  34. // },
  35. // complete: () => {
  36. // // 无论成功失败都清除本地登录状态
  37. // clearLoginState();
  38. // }
  39. });
  40. }
  41. /**
  42. * H5用户手机号密码注册
  43. * @param params
  44. */
  45. export function register(params) {
  46. return http.request({
  47. url: "/auth/register",
  48. method: Method.POST,
  49. data:params,
  50. header: {
  51. 'Client-Type':'H5',
  52. },
  53. });
  54. }
  55. /**
  56. * H5用户手机号密码登录
  57. * @param params
  58. */
  59. export function phoneLogin(params) {
  60. return http.request({
  61. url: "/auth/login",
  62. method: Method.POST,
  63. data:params,
  64. header: {
  65. 'Client-Type':'H5',
  66. },
  67. });
  68. }
  69. /**
  70. * 上传用户头像和昵称
  71. * @param params
  72. */
  73. export function uploadInfo(params) {
  74. return http.request({
  75. url: "uniapp/wechat/uploadInfo",
  76. method: Method.POST,
  77. needToken: true,
  78. data:params,
  79. });
  80. }
  81. /**
  82. * 小程序自动登录
  83. * @param params
  84. */
  85. export function mpAutoLogin(params) {
  86. return http.request({
  87. url: `uniapp/wechat/login`,
  88. method: Method.POST,
  89. needToken: true,
  90. data: params,
  91. header: {
  92. 'Authorization': `Bearer ${storage.getAccessToken()}`
  93. },
  94. });
  95. }
  96. /**
  97. * 登出
  98. * @returns {Promise} 登出结果
  99. */
  100. export function logout() {
  101. return new Promise((resolve, reject) => {
  102. // 实际环境中应该调用后端登出接口
  103. http.request({
  104. url: "uniapp/wechat/logout",
  105. method: Method.POST,
  106. header: {
  107. 'Authorization': `Bearer ${storage.getAccessToken()}`
  108. },
  109. success: (res) => {
  110. console.log("退出登录请求",res);
  111. if (res.data.code === 200) {
  112. clearLoginState();
  113. resolve();
  114. } else {
  115. reject(res.data.message || '登出失败');
  116. }
  117. },
  118. fail: () => {
  119. reject('网络错误,请稍后再试');
  120. },
  121. complete: () => {
  122. // 无论成功失败都清除本地登录状态
  123. clearLoginState();
  124. }
  125. });
  126. // 清除登录状态
  127. clearLoginState();
  128. resolve();
  129. });
  130. }
  131. /**
  132. * 清除登录状态
  133. * 从本地存储中移除所有与登录相关的信息
  134. */
  135. export function clearLoginState() {
  136. storage.setHasLogin(false);
  137. storage.setAccessToken('');
  138. storage.setUserInfo('');
  139. // storage.setPlots('');
  140. }