login.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import request from '@/utils/request'
  2. // 登录方法
  3. export function login(username, password, code, uuid, referrerType, referrerId, latitude, longitude, referrerQrCodeVersion) {
  4. // 如果经纬度保留6位小数 - 直接使用字符串格式传递
  5. const lat = typeof latitude === 'number' ? latitude.toFixed(6) : (latitude || "0.000000")
  6. const lng = typeof longitude === 'number' ? longitude.toFixed(6) : (longitude || "0.000000")
  7. // 只有当referrerQrCodeVersion有值且不为空字符串时才转换为数字
  8. const qrCodeVersion = referrerQrCodeVersion === "" || referrerQrCodeVersion === undefined ? "" : Number(referrerQrCodeVersion)
  9. // 使用传入的referrerType
  10. const type = referrerType
  11. // 确保referrerId有默认值
  12. const id = referrerId || ""
  13. const data = {
  14. username,
  15. password,
  16. code,
  17. uuid,
  18. referrerType: type,
  19. referrerId: id,
  20. referrerQrCodeVersion: qrCodeVersion, // 使用转换为数字的变量
  21. latitude: lat,
  22. longitude: lng
  23. }
  24. console.log('API发送经纬度字符串格式:', lat, lng)
  25. console.log('referrerQrCodeVersion数字类型:', qrCodeVersion, typeof qrCodeVersion)
  26. return request({
  27. url: '/login',
  28. headers: {
  29. isToken: false
  30. },
  31. method: 'post',
  32. data: data
  33. })
  34. }
  35. // 注册方法
  36. export function register(data) {
  37. return request({
  38. url: '/register',
  39. headers: {
  40. isToken: false
  41. },
  42. method: 'post',
  43. data: data
  44. })
  45. }
  46. // 获取用户详细信息
  47. export function getInfo() {
  48. return request({
  49. url: '/getInfo',
  50. method: 'get'
  51. })
  52. }
  53. // 退出方法
  54. export function logout() {
  55. return request({
  56. url: '/logout',
  57. method: 'post'
  58. })
  59. }
  60. // 获取验证码
  61. export function getCodeImg() {
  62. return request({
  63. url: '/captchaImage',
  64. headers: {
  65. isToken: false
  66. },
  67. method: 'get',
  68. timeout: 20000
  69. })
  70. }
  71. // 志愿者/普通用户
  72. export function userOrWorker(data) {
  73. return request({
  74. url: `/setUserOrWorker/${data.userType}`, // 动态替换 userType
  75. method: 'put',
  76. data: data // 如果需要额外参数,可以传递
  77. });
  78. }