init project
This commit is contained in:
435
utils/api.js
Normal file
435
utils/api.js
Normal file
@@ -0,0 +1,435 @@
|
||||
//testURL
|
||||
//const BASE_URL = 'http://2t716830p2.zicp.vip';
|
||||
//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);
|
||||
}
|
||||
}
|
||||
63
utils/pay.js
Normal file
63
utils/pay.js
Normal file
@@ -0,0 +1,63 @@
|
||||
export function pay(body) {
|
||||
return new Promise((resolve, reject) => {
|
||||
console.log(body)
|
||||
wx.requestPayment({
|
||||
timeStamp: body.time_stamp,
|
||||
nonceStr: body.nonce_str,
|
||||
package: 'prepay_id=' + body.prepay_id,
|
||||
signType: body.sign_type,
|
||||
paySign: body.pay_sign,
|
||||
success: function(res) {
|
||||
wx.showToast({
|
||||
title: '支付成功',
|
||||
icon: 'success',
|
||||
})
|
||||
resolve(res);
|
||||
},
|
||||
fail: function(res) {
|
||||
console.log(res);
|
||||
reject(res);
|
||||
},
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export function payWxLoing(body) {
|
||||
console.log(body)
|
||||
|
||||
const app = getApp();
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!body.userInfo) {
|
||||
reject(body);
|
||||
return;
|
||||
}
|
||||
wx.login({
|
||||
success: function(res) {
|
||||
wx.showLoading({
|
||||
title: '加载中...',
|
||||
mask: true,
|
||||
})
|
||||
app.$api.memberLoginCheckWx({
|
||||
avatar: body.userInfo.avatarUrl,
|
||||
code: res.code,
|
||||
nickname: body.userInfo.nickName
|
||||
}).then(obj => {
|
||||
wx.setStorageSync('accessToken', obj.authorization.accessToken);
|
||||
resolve(res);
|
||||
})
|
||||
},
|
||||
fail: function(res) {
|
||||
reject(res);
|
||||
},
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export default {
|
||||
wxPay(body) {
|
||||
return pay(body);
|
||||
},
|
||||
payWxLoing(body) {
|
||||
return payWxLoing(body);
|
||||
}
|
||||
}
|
||||
32
utils/util.js
Normal file
32
utils/util.js
Normal file
@@ -0,0 +1,32 @@
|
||||
const formatTime = date => {
|
||||
const year = date.getFullYear()
|
||||
const month = date.getMonth() + 1
|
||||
const day = date.getDate()
|
||||
const hour = date.getHours()
|
||||
const minute = date.getMinutes()
|
||||
const second = date.getSeconds()
|
||||
|
||||
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
|
||||
}
|
||||
|
||||
const formatNumber = n => {
|
||||
n = n.toString()
|
||||
return n[1] ? n : '0' + n
|
||||
}
|
||||
|
||||
// 获取当前页url
|
||||
const getCurrentPageUrl = () => {
|
||||
let pages = getCurrentPages();
|
||||
let currentPage = pages[pages.length - 1];
|
||||
let url = '/' + currentPage.route;
|
||||
let options = currentPage.options;
|
||||
for (let key in options) {
|
||||
url += (url.indexOf('?') >= 0 ? '&' : '?') + `${key}=${options[key]}`;
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
formatTime: formatTime,
|
||||
getCurrentPageUrl: getCurrentPageUrl
|
||||
}
|
||||
Reference in New Issue
Block a user