Files
venue_wx/utils/api.js
2020-08-30 16:44:35 +08:00

472 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//testURL
const BASE_URL = 'https://lmqhznn.goho.co';
// const BASE_URL = 'http://120.27.209.4:8093';
//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({
complete: (complete) => {}
},1000);
wx.showToast({
title: res.err_msg,
icon: 'none',
duration: 2000
})
reject(res);
} else {
wx.hideLoading({
complete: (complete) => {}
},1000);
wx.showToast({
title: res.err_msg,
icon: 'none',
duration: 2000
})
reject(res);
}
}
} else {
wx.hideLoading({
complete: (complete) => {}
},1000);
wx.showToast({
title: '网络错误',
icon: 'none',
})
reject(response);
}
},
fail: function(err) {
console.log(err);
wx.hideLoading({
complete: (complete) => {}
},1000);
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({
complete: (complete) => {}
},1000);
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({
complete: (complete) => {}
},1000);
wx.showToast({
title: res.data.err_msg,
icon: 'none',
duration: 2000
})
reject(res);
} else {
wx.hideLoading({
complete: (complete) => {}
},1000);
wx.showToast({
title: res.data.err_msg,
icon: 'none',
duration: 2000
})
reject(res);
}
}
},
fail: function(res) {
wx.hideLoading({
complete: (complete) => {}
},1000);
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({
complete: (complete) => {}
},1000);
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({
complete: (complete) => {}
},1000);
wx.showToast({
title: res.data.err_msg,
icon: 'none',
duration: 2000
})
reject(res);
} else {
wx.hideLoading({
complete: (complete) => {}
},1000);
wx.showToast({
title: res.data.err_msg,
icon: 'none',
duration: 2000
})
reject(res);
}
}
} else {
wx.hideLoading({
complete: (complete) => {}
},1000);
reject(res)
wx.showToast({
title: '网络错误',
icon: 'none',
duration: 2000
})
}
},
fail: function(res) {
wx.hideLoading({
complete: (complete) => {}
},1000);
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);
},
// 初始化扫描进场逻辑
scanCodeInitVenue(params) {
return fetchGet('/qrCode/init',params,true);
},
// 用户发起开门逻辑
enterVenue(params) {
return fetchGet('/qrCode/enter',params,true);
}
}