//testURL // const BASE_URL = 'https://lmqhznn.goho.co'; //prodURL const BASE_URL = 'https://api.hongyutiyu.top'; // const platformId = 1; import { getCurrentPageUrl } from './util.js' function isUnLogin() { wx.setStorageSync('history', getCurrentPageUrl()); wx.removeStorageSync('accessToken'); wx.redirectTo({ url: '/pages/login/index', }) } function buildURL(url, needToken) { let token = wx.getStorageSync('accessToken'); if (!needToken) { return token ? url + (url.indexOf('?') >= 0 ? '&' : '?') + "access_token=" + token : url } if (!token) { // wx.redirectTo({ // url: '/pages/login/index', // }) isUnLogin(); return; } return url + (url.indexOf('?') >= 0 ? '&' : '?') + "access_token=" + token; } export function fetchPost(url, params, needToken, multiple) { url = buildURL(url, needToken); // params.platformId = platformId; // 如果url不存在,返回错误 if (!url) { return new Promise((resolve, reject) => { reject(); }) } console.log("网络请求", url, params); // 如果上传图片 if (multiple) { return new Promise((resolve, reject) => { wx.uploadFile({ url: BASE_URL + url, filePath: params.filePath, name: 'image', formData: {}, success: function(response) { console.log(response.data); let res = JSON.parse(response.data); console.log(res); if (response.statusCode == 200) { if (res.err_code == 0) { // wx.hideLoading(); resolve(res); } else { if (res.err_code == 10003 || res.err_code == 10006 || res.err_code == 20006) { // wx.removeStorageSync('accessToken'); // wx.redirectTo({ // url: '/pages/login/index', // }) isUnLogin(); reject(res); return; } else if (res.err_code == 20005) { wx.removeStorageSync('accessToken'); wx.removeStorageSync('history'); wx.hideLoading(); wx.showToast({ title: res.err_msg, icon: 'none', duration: 2000 }) reject(res); } else { wx.hideLoading(); wx.showToast({ title: res.err_msg, icon: 'none', duration: 2000 }) reject(res); } } } else { wx.hideLoading(); wx.showToast({ title: '网络错误', icon: 'none', }) reject(response); } }, fail: function(err) { console.log(err); wx.hideLoading(); wx.showToast({ title: '网络错误', icon: 'none', }) reject(response); }, }) }) } // 获取POST数据 return new Promise((resolve, reject) => { wx.request({ url: BASE_URL + url, data: params, header: { 'content-type': 'application/x-www-form-urlencoded' }, method: 'POST', success: function(res) { console.log("POST返回数据", url,res); if (res.data.err_code == 0) { wx.hideLoading(); resolve(res.data); } else { if (res.data.err_code == 10003 || res.data.err_code == 10006 || res.data.err_code == 20006) { // wx.removeStorageSync('accessToken'); // wx.redirectTo({ // url: '/pages/login/index', // }) isUnLogin(); reject(res); return; } else if (res.data.err_code == 30022) { reject(res); } else if (res.data.err_code == 20005) { wx.removeStorageSync('accessToken'); wx.removeStorageSync('history'); wx.hideLoading(); wx.showToast({ title: res.data.err_msg, icon: 'none', duration: 2000 }) reject(res); } else { wx.hideLoading(); wx.showToast({ title: res.data.err_msg, icon: 'none', duration: 2000 }) reject(res); } } }, fail: function(res) { wx.hideLoading(); wx.showToast({ title: '网络错误', icon: 'none', duration: 2000 }) reject(res); }, }) }) } // get请求 export function fetchGet(url, params, needToken) { url = buildURL(url, needToken); if (!url) { return new Promise((resolve, reject) => { reject(); }) } // params.platformId = platformId; return new Promise((resolve, reject) => { wx.request({ url: BASE_URL + url, data: params, method: 'GET', success: function(res) { console.log("GET返回数据", url, res); if (res.statusCode == 200) { if (res.data.err_code == 0) { wx.hideLoading(); resolve(res.data); } else { if (res.data.err_code == 10003 || res.data.err_code == 10006 || res.data.err_code == 20006) { isUnLogin(); reject(res); return; } else if (res.data.err_code == 20005) { wx.removeStorageSync('accessToken'); wx.removeStorageSync('history'); wx.hideLoading(); wx.showToast({ title: res.data.err_msg, icon: 'none', duration: 2000 }) reject(res); } else { wx.hideLoading(); wx.showToast({ title: res.data.err_msg, icon: 'none', duration: 2000 }) reject(res); } } } else { wx.hideLoading(); reject(res) wx.showToast({ title: '网络错误', icon: 'none', duration: 2000 }) } }, fail: function(res) { wx.hideLoading(); reject(res) wx.showToast({ title: '网络错误', icon: 'none', duration: 2000 }) }, }) }) } // 暴露接口 export default { /** * 公告 */ // 首页公告 announcements(params) { return fetchGet('/announcements', params, false); }, // 公告详情 announcementDetail(params) { return fetchGet('/announcement/detail', params, false); }, /** * 场馆 */ // 场馆列表 venues(params) { return fetchGet('/venues', params, false); }, // 场馆列表详情 venueDetail(params) { return fetchPost('/venue/detail', params, false); }, // 预约课程时间显示 venueLessonShow(params) { return fetchGet('/venue/lesson/show', params, false); }, // 健身馆对应时间的课程 venueLessonDate(params) { return fetchPost('/venue/lesson/date', params, false); }, // 课程详情 venueLessonDetail(params) { return fetchPost('/venue/lesson/detail', params, false); }, // 确认订单页面 venueLessonOrder(params) { return fetchPost('/venue/lesson/order', params, true); }, // 预约课程(会员卡) memberLessonTicketOrderMemberCard(params) { return fetchPost('/member/lesson/ticket/order/memberCard', params, true); }, // 预约课程(微信支付) memberLessonTicketOrderWX(params) { return fetchPost('/member/lesson/ticket/order/wx', params, true); }, // 篮球馆我要进场 venueJoin(params) { return fetchGet('/venue/join', params, true); }, /** * 个人中心 */ // 常见问题 faqs(params) { return fetchGet('/faqs', params, false); }, // 个人中心 memberCenter(params) { return fetchPost('/member/center', params, true); }, // 关于我们 aboutUs(params) { return fetchGet('/about/uss', params, false); }, // 上传图像 uploadAvatar(params) { return fetchPost('/upload/avatar', params, true, true); }, // 个人信息 memberInformation(params) { return fetchPost('/member/information', params, true); }, // 修改个人信息 memberUpdateInformation(params) { return fetchPost('/member/update/information', params, true); }, // 充值界面 recharges(params) { return fetchGet('/recharges', params, true); }, // 我的预约 memberLessonTicketsReserve(params) { return fetchPost('/member/lesson/tickets/reserve', params, true); }, // 预约详情页 memberLessonTicketsDetail(params) { return fetchPost('/member/lesson/tickets/detail', params, true); }, // 取消预约 memberLessonTicketsCancel(params) { return fetchPost('/member/lesson/tickets/cancel', params, true); }, // 我的会员卡 memberVenueCard(params) { return fetchPost('/member/venue/card', params, true) }, /** * 登录注册 */ // 发送登录验证码 smsLogin(params) { return fetchPost('/member/sms/login', params, false); }, // 手机验证码登录 memberLogin(params) { return fetchPost('/member/login', params, false); }, // 微信快捷登录 memberLoginWX(params) { return fetchPost('/member/login/wx', params, false); }, // 发送注册验证码 smsRegister(params) { return fetchPost('/member/sms/register', params, false); }, // 手机验证码注册 memberRegister(params) { return fetchPost('/member/register', params, false); }, // 微信绑定手机号 memberLoginWXPhone(params) { return fetchPost('/member/login/wx/phone', params, false); }, // 发送修改手机验证码 memberSmsUpdate(params) { return fetchPost('/member/sms/update', params, false); }, /** * 支付 */ // 购买会员卡 memberCardOrderCreate(params) { return fetchPost('/member/card/order/create', params, true); }, // 充值 orderRecharge(params) { return fetchPost('/order/recharge', params, true); }, // 首页地图查询场馆 venuesMap(params) { return fetchGet('/venues/map', params, false); }, // 协议 protocols(params) { return fetchGet('/protocols', params, false) }, // 上传人脸识别图片 memberFaceInfo(params) { return fetchPost('/member/face/info', params, true, true); }, // 添加银行卡 memberBankBind(params) { return fetchPost('/member/bank/bind', params, true); }, // 提现申请 memberWithdrawApply(params) { return fetchPost('/member/withdraw/apply', params, true); }, // 我的账单 memberMoneyLogBill(params) { return fetchPost('/member/money/log/bill', params, true); }, // 签到 memberLessonTicketsSing(params) { return fetchPost('/member/lesson/tickets/sing', params, true); }, // 人脸信息 memberFaceInfoInfos(params) { return fetchPost('/member/face/info/infos', params, true); }, // 修改默认会员卡 memberVenueUpdateCard(params) { return fetchGet('/member/venue/updateCard', params, true); }, // 已用手机号登录,支付,再跳转微信登录 memberLoginCheckWx(params) { return fetchPost('/member/login/checkWx', params, true); } }