/* * queryStringify * 将k-v的对象序列化转成 url?k=v&k1=v1; */ const queryStringify = function (search = {}) { return Object.entries(search) .reduce( (t, v) => `${t}${v[0]}=${encodeURIComponent(v[1])}&`, Object.keys(search).length ? '?' : '' ) .replace(/&$/, '') } export default ($axios) => { const commonApis = {} // 订阅号用户登录 commonApis.customLogin = (data) => $axios.post('/wx/user/login/subscribe/verify/code', data) // 订阅号用户绑定邀请码登录 commonApis.customLoginWithCode = (data) => $axios.post('/wx/user/login/subscribe/invitation/code', data) // 服务号微信授权登录 commonApis.wechatLogin = (data) => $axios.post('/wx/user/login/authorization', data) // 服务号微信授权绑定邀请码登录 commonApis.wechatLoginWithCode = (data) => $axios.post('/wx/user/login/service/invitation/code', data) // 公众号类型 commonApis.checkAccountType = (params = {}) => $axios.get('/wx/sdk/account/type', { params }) // 获取jssdk配置参数 commonApis.initWxConfig = (params = {}) => $axios.get('/wx/sdk/config/data', { params }) // 发送验证码 commonApis.sendVerifyCode = (data = {}) => $axios.post('/wx/user/login/verify/code/send', data) // 用户反馈 commonApis.feedback = (data = {}) => $axios.post('/wx/data/feedback/submit', data) // 验证token是否到期 commonApis.checkToken = (data = {}) => $axios.post('/wx/user/login/token/check', data) // 获取城市列表(树状) commonApis.fetchCityList = (params = {}) => $axios.get('/wx/address/select', { params }) // 获取城市列表(列表) commonApis.fetchAllCityList = () => $axios.get('/wx/address/select/all') // 高德地图api : 将坐标转化为高德地图坐标 commonApis.assistant = (params = {}) => fetch( 'https://restapi.amap.com/v3/assistant/coordinate/convert' + queryStringify(params) ) // 百度地图api:将坐标转化为百度地图坐标 commonApis.assistantBaidu = (params = {}) => fetch('https://api.map.baidu.com/geoconv/v1' + queryStringify(params)) return commonApis }