绚火健康
This commit is contained in:
49
api/err.js
Normal file
49
api/err.js
Normal file
@@ -0,0 +1,49 @@
|
||||
|
||||
/**
|
||||
* 处理错误信息
|
||||
* @property {Object} errInfo
|
||||
*/
|
||||
|
||||
const errInfo = (obj) =>{
|
||||
if(obj.status_code == 401){
|
||||
// 清理客户端登录缓存
|
||||
// wx.removeStorageSync("")
|
||||
wx.removeStorage({
|
||||
key : "token",
|
||||
success: () => {
|
||||
wx.navigateTo({
|
||||
url: "/pages/login/index",
|
||||
})
|
||||
}
|
||||
})
|
||||
}else if(obj.status_code == 422){
|
||||
wx.showToast({
|
||||
title: obj.message,
|
||||
icon : "none"
|
||||
})
|
||||
}else if(obj.status_code == 400 || obj.status_code == 0){
|
||||
wx.showToast({
|
||||
title: obj.message,
|
||||
icon : "none"
|
||||
})
|
||||
}else if(obj.status_code == 404){
|
||||
wx.showToast({
|
||||
title: "接口地址不存在,请联系系统管理员",
|
||||
icon : "none"
|
||||
})
|
||||
}else if(obj.status_code == 500){
|
||||
wx.showToast({
|
||||
title: "服务端:" + obj.message,
|
||||
icon : "none"
|
||||
})
|
||||
}else {
|
||||
wx.showToast({
|
||||
title: "code:" + obj.status_code + ", msg:" + obj.message,
|
||||
icon : "none"
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
errInfo
|
||||
}
|
||||
35
api/index.js
Normal file
35
api/index.js
Normal file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
// 授权登录
|
||||
import auth from "./interfaces/auth"
|
||||
|
||||
// 图片上传
|
||||
import bank from "./interfaces/bank"
|
||||
|
||||
// 图片上传
|
||||
import file from "./interfaces/file"
|
||||
|
||||
// 产品
|
||||
import mall from "./interfaces/mall"
|
||||
|
||||
// 订单
|
||||
import order from "./interfaces/order"
|
||||
|
||||
// 地址管理
|
||||
import site from "./interfaces/site"
|
||||
|
||||
// 个人中心
|
||||
import user from "./interfaces/user"
|
||||
|
||||
export default {
|
||||
auth,
|
||||
bank,
|
||||
file,
|
||||
mall,
|
||||
order,
|
||||
site,
|
||||
user
|
||||
}
|
||||
32
api/interfaces/auth.js
Normal file
32
api/interfaces/auth.js
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
import { req } from "../request"
|
||||
//登录
|
||||
const Login = data => req({
|
||||
url: "user/auth/login",
|
||||
method: "POST",
|
||||
data: data
|
||||
})
|
||||
|
||||
//注册
|
||||
const register = data => req({
|
||||
url: "user/auth/register",
|
||||
method: "POST",
|
||||
data: data
|
||||
})
|
||||
|
||||
//获取验证码
|
||||
const getSms = data => req({
|
||||
url: "user/auth/verify",
|
||||
method: "POST",
|
||||
data: data
|
||||
})
|
||||
|
||||
export default ({
|
||||
Login,
|
||||
register,
|
||||
getSms
|
||||
})
|
||||
74
api/interfaces/bank.js
Normal file
74
api/interfaces/bank.js
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
import { req } from "../request"
|
||||
|
||||
//我的提现
|
||||
const Index = data => req({
|
||||
url: "withdraws/index",
|
||||
data: data
|
||||
})
|
||||
|
||||
//我的提现
|
||||
const Indexcreate = data => req({
|
||||
url: "withdraws/index/create",
|
||||
data: data
|
||||
})
|
||||
|
||||
//提现-提交
|
||||
const Indexpost = data => req({
|
||||
url: "withdraws/index",
|
||||
method: "POST",
|
||||
data: data
|
||||
})
|
||||
|
||||
//我的银行账户
|
||||
const Cards = data => req({
|
||||
url: "withdraws/accounts",
|
||||
data: data
|
||||
})
|
||||
|
||||
//添加账户前置
|
||||
const Creates = () => req({
|
||||
url: "withdraws/accounts/create"
|
||||
})
|
||||
|
||||
//添加账户
|
||||
const cardBind = data => req({
|
||||
url: "withdraws/accounts",
|
||||
method: "POST",
|
||||
data: data
|
||||
})
|
||||
|
||||
//编辑前置
|
||||
const cardEdit = (bank_account_id, data) => req({
|
||||
url: "withdraws/accounts/" + bank_account_id + "/edit",
|
||||
data: data
|
||||
})
|
||||
|
||||
//编辑-提交
|
||||
const Confirm = (bank_account_id, data) => req({
|
||||
url: "withdraws/accounts/" + bank_account_id,
|
||||
method: "PUT",
|
||||
data: data
|
||||
})
|
||||
|
||||
//删除
|
||||
const cardsDel = (bank_account_id) => req({
|
||||
url: "withdraws/accounts/" + bank_account_id,
|
||||
method: "DELETE"
|
||||
})
|
||||
|
||||
export default ({
|
||||
Index,
|
||||
Indexcreate,
|
||||
Indexpost,
|
||||
Cards,
|
||||
Creates,
|
||||
cardBind,
|
||||
cardEdit,
|
||||
Confirm,
|
||||
cardsDel,
|
||||
})
|
||||
17
api/interfaces/file.js
Normal file
17
api/interfaces/file.js
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* 图图片上传公用接口
|
||||
*/
|
||||
import { upload } from "../request"
|
||||
|
||||
//图上传
|
||||
const uploadImg = (imgPaht, data) => upload({
|
||||
url: "storage/upload",
|
||||
method: "POST",
|
||||
key: "upload",
|
||||
path: imgPaht,
|
||||
data: data
|
||||
})
|
||||
|
||||
export default ({
|
||||
uploadImg
|
||||
})
|
||||
62
api/interfaces/mall.js
Normal file
62
api/interfaces/mall.js
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
import { req } from "../request"
|
||||
|
||||
//Banner图
|
||||
const Banner = () => req({
|
||||
url: "mall/banners"
|
||||
})
|
||||
|
||||
//商品分类
|
||||
const Categorie = data => req({
|
||||
url: "mall/categories",
|
||||
data: data
|
||||
})
|
||||
|
||||
//商品列表
|
||||
const Goods = data => req({
|
||||
url: "mall/goods",
|
||||
data: data
|
||||
})
|
||||
|
||||
//商品详情
|
||||
const goodsSee = (goods) => req({
|
||||
url: "mall/goods/" + goods
|
||||
})
|
||||
|
||||
//商品下单
|
||||
const place = data => req({
|
||||
url: "mall/buy/goods",
|
||||
data: data
|
||||
})
|
||||
|
||||
//商品确认下单
|
||||
const placeTrue = data => req({
|
||||
url: "mall/buy/goods",
|
||||
method: "POST",
|
||||
data: data
|
||||
})
|
||||
|
||||
//公告列表
|
||||
const articles = () => req({
|
||||
url: "cms/articles"
|
||||
})
|
||||
|
||||
//公告详情
|
||||
const articlesSee = (article_id) => req({
|
||||
url: "cms/articles/" + article_id
|
||||
})
|
||||
|
||||
export default ({
|
||||
Banner,
|
||||
Categorie,
|
||||
Goods,
|
||||
goodsSee,
|
||||
place,
|
||||
placeTrue,
|
||||
articles,
|
||||
articlesSee
|
||||
})
|
||||
51
api/interfaces/order.js
Normal file
51
api/interfaces/order.js
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
import { req } from "../request"
|
||||
|
||||
// 订单首页
|
||||
const list = data => req({
|
||||
url : "mall/orders",
|
||||
data: data
|
||||
})
|
||||
|
||||
// 订单详情
|
||||
const goodsDet = (order) => req({
|
||||
url : "mall/orders/" + order
|
||||
})
|
||||
|
||||
// 订单取消
|
||||
const goodsCancel = (order) => req({
|
||||
url : "mall/orders/" + order + "/cancel",
|
||||
method: "PUT"
|
||||
})
|
||||
|
||||
// 订单删除
|
||||
const goodsDel = (order) => req({
|
||||
url : "mall/orders/" + order,
|
||||
method: "DELETE"
|
||||
})
|
||||
|
||||
// 订单签收
|
||||
const goodsSign = (order) => req({
|
||||
url : "mall/orders/" + order + "/sign",
|
||||
method: "PUT"
|
||||
})
|
||||
|
||||
// 快递100-免费
|
||||
const kuaiDi = (order, data) => req({
|
||||
url : "mall/orders/" + order + "/logistic",
|
||||
data: data
|
||||
})
|
||||
|
||||
|
||||
export default ({
|
||||
list,
|
||||
goodsDet,
|
||||
goodsCancel,
|
||||
goodsDel,
|
||||
goodsSign,
|
||||
kuaiDi
|
||||
})
|
||||
58
api/interfaces/site.js
Normal file
58
api/interfaces/site.js
Normal file
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
import { req } from "../request"
|
||||
|
||||
// 收获地址(列表)
|
||||
const siteList = () => req({
|
||||
url: "mall/addresses"
|
||||
})
|
||||
|
||||
// 省市区-获取
|
||||
const create = data => req({
|
||||
url: "mall/addresses/create",
|
||||
data: data
|
||||
})
|
||||
|
||||
// 新增地址
|
||||
const siteAdd = data => req({
|
||||
url: "mall/addresses",
|
||||
data: data,
|
||||
method: 'POST'
|
||||
})
|
||||
|
||||
// 地址详细
|
||||
const siteSee = (address) => req({
|
||||
url: "mall/addresses/" + address
|
||||
})
|
||||
|
||||
// 编辑地址
|
||||
const siteEdit = (address, data) => req({
|
||||
url: "mall/addresses/" + address,
|
||||
data: data,
|
||||
method: 'PUT'
|
||||
})
|
||||
|
||||
// 删除地址
|
||||
const siteDel = (address) => req({
|
||||
url: "mall/addresses/" + address,
|
||||
method: 'DELETE'
|
||||
})
|
||||
|
||||
// 设置默认地址
|
||||
const siteDefault = (address) => req({
|
||||
url: "mall/addresses/" + address + "/default",
|
||||
method: 'POST'
|
||||
})
|
||||
|
||||
export default ({
|
||||
siteList,
|
||||
create,
|
||||
siteAdd,
|
||||
siteSee,
|
||||
siteEdit,
|
||||
siteDel,
|
||||
siteDefault
|
||||
})
|
||||
48
api/interfaces/user.js
Normal file
48
api/interfaces/user.js
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
import { req } from "../request"
|
||||
//用户信息
|
||||
const userIndex = () => req({
|
||||
url: "user"
|
||||
})
|
||||
|
||||
// 用户设置
|
||||
const userSetup = () => req({
|
||||
url: "user/setting"
|
||||
})
|
||||
|
||||
//修改用户信息
|
||||
const setting = (key, data) => req({
|
||||
url: "user/setting/" + key,
|
||||
method: "PUT",
|
||||
data: data
|
||||
})
|
||||
|
||||
//我的余额首页
|
||||
const account = () => req({
|
||||
url: "user/account/index"
|
||||
})
|
||||
|
||||
// 小程序码
|
||||
const miniShare = data => req({
|
||||
url: "user/mini_share",
|
||||
data: data
|
||||
})
|
||||
|
||||
// 我的团队
|
||||
const teamList = data => req({
|
||||
url: "user/teams/lists",
|
||||
data: data
|
||||
})
|
||||
|
||||
export default ({
|
||||
userIndex,
|
||||
userSetup,
|
||||
setting,
|
||||
account,
|
||||
miniShare,
|
||||
teamList
|
||||
})
|
||||
140
api/request.js
Normal file
140
api/request.js
Normal file
@@ -0,0 +1,140 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
import {errInfo} from './err'
|
||||
import {updToken} from './updateToken'
|
||||
|
||||
// 请求方式配置
|
||||
// //正式地址
|
||||
// https://api.xhtest.douhuofalv.com/api/ //测试地址
|
||||
// wx989712ad2d06a40b 测试appid 三猿
|
||||
// wx7662853c6f7f46b4 正式appid
|
||||
// 正式环境
|
||||
const api = "https://api.xhtest.douhuofalv.com/api/" // 测试环境
|
||||
const header = {
|
||||
"Accept" : "application/json"
|
||||
}
|
||||
let isToken = true
|
||||
|
||||
/**
|
||||
* 请求
|
||||
* @property {Object} req
|
||||
*/
|
||||
|
||||
const req = (obj, noToken) => {
|
||||
// 检查是否无需要token
|
||||
if(noToken != undefined){
|
||||
isToken = noToken
|
||||
}
|
||||
|
||||
// header
|
||||
if(obj.token){
|
||||
header.Authorization = obj.token || ''
|
||||
} else {
|
||||
header.Authorization = wx.getStorageSync("token") || ""
|
||||
}
|
||||
|
||||
// 处理请求信息
|
||||
return new Promise((resolve, reject) => {
|
||||
// 组合header
|
||||
obj.header = {
|
||||
"Accept" : "application/json",
|
||||
"channel" : "client",
|
||||
"Authorization" : wx.getStorageSync("token") || ""
|
||||
}
|
||||
if(!isToken){
|
||||
obj.header.Authorization = ''
|
||||
}
|
||||
wx.request({
|
||||
timeout: '13000',
|
||||
url : api + obj.url,
|
||||
header : obj.header || {},
|
||||
method : obj.method || 'GET',
|
||||
data : obj.data || {},
|
||||
success : res => {
|
||||
// 更新token
|
||||
if (res.header.Authorization) updToken(res.header.Authorization)
|
||||
// 处理信息
|
||||
if (res.data.status_code == 200) {
|
||||
resolve(res.data)
|
||||
} else {
|
||||
if (res.data.status_code == 401 || res.data.status_code == 400) {
|
||||
reject({
|
||||
login : false,
|
||||
codeBeen: false
|
||||
})
|
||||
}
|
||||
reject(res)
|
||||
errInfo(res.data)
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
wx.showToast({
|
||||
title : (err.errMsg).indexOf('108') > 0 ? "网络错误,请检查您的网络环境" : err.errMsg,
|
||||
icon : "none"
|
||||
})
|
||||
reject(err)
|
||||
},
|
||||
complete(){
|
||||
if(!isToken) isToken = true
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 上传
|
||||
* @property {Object} upload
|
||||
*/
|
||||
|
||||
const upload = (obj) => {
|
||||
// header
|
||||
header.Authorization = wx.getStorageSync("token") || ""
|
||||
// 处理上传信息
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.showLoading({
|
||||
title: "上传中..",
|
||||
mask: true
|
||||
})
|
||||
wx.uploadFile({
|
||||
url : api + obj.url,
|
||||
header : header,
|
||||
name : obj.key || "",
|
||||
filePath: obj.path || "",
|
||||
formData: obj.data || {},
|
||||
success : res=>{
|
||||
wx.hideLoading();
|
||||
// 处理返回值
|
||||
let jsonData = JSON.parse(res.data)
|
||||
// 更新token
|
||||
if (res.header.Authorization) updToken(res.header.Authorization)
|
||||
// 处理信息
|
||||
if (jsonData.status_code == 200) {
|
||||
resolve(jsonData.data)
|
||||
} else {
|
||||
if (jsonData.status_code == 401) {
|
||||
reject({
|
||||
login: false
|
||||
})
|
||||
}
|
||||
errInfo(jsonData)
|
||||
}
|
||||
},
|
||||
fail : err=>{
|
||||
wx.showToast({
|
||||
title : err.errMsg,
|
||||
icon : "none"
|
||||
})
|
||||
reject(err)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
req,
|
||||
upload
|
||||
}
|
||||
21
api/updateToken.js
Normal file
21
api/updateToken.js
Normal file
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* 手太欠
|
||||
* 愿这世界都如故事里一样 美好而动人~
|
||||
*/
|
||||
|
||||
/**
|
||||
* 更新token
|
||||
* @property {String} updToken
|
||||
*/
|
||||
|
||||
const updToken = (token) =>{
|
||||
// 更新全局存储器
|
||||
getApp().globalData.token = token
|
||||
// 更新客户端登录缓存
|
||||
wx.setStorageSync('token', token)
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
updToken
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user