common.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. * queryStringify
  3. * 将k-v的对象序列化转成 url?k=v&k1=v1;
  4. */
  5. const queryStringify = function (search = {}) {
  6. return Object.entries(search)
  7. .reduce(
  8. (t, v) => `${t}${v[0]}=${encodeURIComponent(v[1])}&`,
  9. Object.keys(search).length ? '?' : ''
  10. )
  11. .replace(/&$/, '')
  12. }
  13. export default ($axios) => {
  14. const commonApis = {}
  15. // 订阅号用户登录
  16. commonApis.customLogin = (data) =>
  17. $axios.post('/wx/user/login/subscribe/verify/code', data)
  18. // 订阅号用户绑定邀请码登录
  19. commonApis.customLoginWithCode = (data) =>
  20. $axios.post('/wx/user/login/subscribe/invitation/code', data)
  21. // 服务号微信授权登录
  22. commonApis.wechatLogin = (data) =>
  23. $axios.post('/wx/user/login/authorization', data)
  24. // 服务号微信授权绑定邀请码登录
  25. commonApis.wechatLoginWithCode = (data) =>
  26. $axios.post('/wx/user/login/service/invitation/code', data)
  27. // 公众号类型
  28. commonApis.checkAccountType = (params = {}) =>
  29. $axios.get('/wx/sdk/account/type', { params })
  30. // 获取jssdk配置参数
  31. commonApis.initWxConfig = (params = {}) =>
  32. $axios.get('/wx/sdk/config/data', { params })
  33. // 发送验证码
  34. commonApis.sendVerifyCode = (data = {}) =>
  35. $axios.post('/wx/user/login/verify/code/send', data)
  36. // 用户反馈
  37. commonApis.feedback = (data = {}) =>
  38. $axios.post('/wx/data/feedback/submit', data)
  39. // 验证token是否到期
  40. commonApis.checkToken = (data = {}) =>
  41. $axios.post('/wx/user/login/token/check', data)
  42. // 获取城市列表(树状)
  43. commonApis.fetchCityList = (params = {}) =>
  44. $axios.get('/wx/address/select', { params })
  45. // 获取城市列表(列表)
  46. commonApis.fetchAllCityList = () => $axios.get('/wx/address/select/all')
  47. // 高德地图api : 将坐标转化为高德地图坐标
  48. commonApis.assistant = (params = {}) =>
  49. fetch(
  50. 'https://restapi.amap.com/v3/assistant/coordinate/convert' +
  51. queryStringify(params)
  52. )
  53. // 百度地图api:将坐标转化为百度地图坐标
  54. commonApis.assistantBaidu = (params = {}) =>
  55. fetch('https://api.map.baidu.com/geoconv/v1' + queryStringify(params))
  56. return commonApis
  57. }