connect.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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 forgetPassword(params) {
  16. return http.request({
  17. url: "uniapp/wechat/forget",
  18. method: Method.POST,
  19. data:params
  20. });
  21. }
  22. /**
  23. * 重置密码
  24. * @returns {Promise} 重置密码结果
  25. */
  26. export function resetPassword(params){
  27. return http.request({
  28. url: "uniapp/wechat/resetPassword",
  29. method: Method.POST,
  30. data:params
  31. });
  32. }
  33. /**
  34. * 发送手机验证码 (必须是绑定注册过的手机)
  35. * @returns {Promise} 发送验证码结果
  36. */
  37. export function sendPhoneVcodeNoUnique(params) {
  38. return http.request({
  39. url: "uniapp/wechat/sendPhoneVcodeNoUnique",
  40. method: Method.POST,
  41. data:params
  42. });
  43. }
  44. /**
  45. * 发送手机验证码
  46. * @returns {Promise} 发送验证码结果
  47. */
  48. export function sendVcode(params) {
  49. return http.request({
  50. url: "uniapp/wechat/sendPhoneVcodeUnique",
  51. method: Method.POST,
  52. data:params
  53. });
  54. }
  55. /**
  56. *
  57. * @param {*} params
  58. * @returns
  59. */
  60. export function phoneRegister(params) {
  61. return http.request({
  62. url: "uniapp/wechat/register",
  63. method: Method.POST,
  64. data:params
  65. });
  66. }
  67. /**
  68. * 登出
  69. * @returns {Promise} 登出结果
  70. */
  71. export function webLogout() {
  72. // 实际环境中应该调用后端登出接口
  73. return http.request({
  74. url: "/auth/logout",
  75. method: Method.DELETE,
  76. header: {
  77. 'Authorization': `Bearer ${storage.getAccessToken()}`
  78. },
  79. // success: (res) => {
  80. // console.log("退出登录请求",res);
  81. // if (res.data.code === 200) {
  82. // clearLoginState();
  83. // resolve(res);
  84. // } else {
  85. // reject(res.data.message || '登出失败');
  86. // }
  87. // },
  88. // fail: () => {
  89. // reject('网络错误,请稍后再试');
  90. // },
  91. // complete: () => {
  92. // // 无论成功失败都清除本地登录状态
  93. // clearLoginState();
  94. // }
  95. });
  96. }
  97. /**
  98. * H5用户手机号密码注册
  99. * @param params
  100. */
  101. export function register(params) {
  102. return http.request({
  103. url: "/auth/register",
  104. method: Method.POST,
  105. data:params,
  106. header: {
  107. 'Client-Type':'H5',
  108. },
  109. });
  110. }
  111. /**
  112. * H5用户手机号密码登录
  113. * @param params
  114. */
  115. export function phoneLogin(params) {
  116. return http.request({
  117. url: "/auth/login",
  118. method: Method.POST,
  119. data:params,
  120. header: {
  121. 'Client-Type':'H5',
  122. },
  123. });
  124. }
  125. /**
  126. * H5用户手机号验证码登录
  127. * @param params
  128. */
  129. export function phoneCodeLogin(params) {
  130. return http.request({
  131. url: "uniapp/wechat/phoneLogin",
  132. method: Method.POST,
  133. data:params,
  134. });
  135. }
  136. /**
  137. * 上传用户头像和昵称
  138. * @param params
  139. */
  140. export function uploadInfo(params) {
  141. return http.request({
  142. url: "uniapp/wechat/uploadInfo",
  143. method: Method.POST,
  144. needToken: true,
  145. data:params,
  146. });
  147. }
  148. /**
  149. * 小程序自动登录
  150. * @param params
  151. */
  152. export function mpAutoLogin(params) {
  153. return http.request({
  154. url: `uniapp/wechat/login`,
  155. method: Method.POST,
  156. needToken: true,
  157. data: params,
  158. header: {
  159. 'Authorization': `Bearer ${storage.getAccessToken()}`
  160. },
  161. });
  162. }
  163. /**
  164. * 登出
  165. * @returns {Promise} 登出结果
  166. */
  167. export function logout() {
  168. return new Promise((resolve, reject) => {
  169. // 实际环境中应该调用后端登出接口
  170. http.request({
  171. url: "uniapp/wechat/logout",
  172. method: Method.POST,
  173. header: {
  174. 'Authorization': `Bearer ${storage.getAccessToken()}`
  175. },
  176. success: (res) => {
  177. console.log("退出登录请求",res);
  178. if (res.data.code === 200) {
  179. clearLoginState();
  180. resolve();
  181. } else {
  182. reject(res.data.message || '登出失败');
  183. }
  184. },
  185. fail: () => {
  186. reject('网络错误,请稍后再试');
  187. },
  188. complete: () => {
  189. // 无论成功失败都清除本地登录状态
  190. clearLoginState();
  191. }
  192. });
  193. // 清除登录状态
  194. clearLoginState();
  195. resolve();
  196. });
  197. }
  198. /**
  199. * 清除登录状态
  200. * 从本地存储中移除所有与登录相关的信息
  201. */
  202. export function clearLoginState() {
  203. storage.setHasLogin(false);
  204. storage.setAccessToken('');
  205. storage.setUserInfo('');
  206. // storage.setPlots('');
  207. }