Browse Source

api

master
chenkun 4 months ago
parent
commit
8f50d94b44
1 changed files with 189 additions and 120 deletions
  1. +189
    -120
      api/api.js

+ 189
- 120
api/api.js View File

@ -5,131 +5,200 @@ let limit = {}
let debounce = {} let debounce = {}
const config = { const config = {
// 示例
// wxLogin : {url : '/api/wxLogin', method : 'POST',
// auth : false, showLoading : true, loadingTitle : '加载中...',
// limit : 1000
// },
getConfig : {url : '/api/getConfig', method : 'GET', limit : 500},
// 微信登录接口
wxLogin: {
url: '/login/login',
method: 'POST',
limit : 500,
showLoading : true,
},
// 修改个人信息接口
updateInfo: {
url: '/info/updateInfo',
method: 'POST',
auth: true,
limit : 500,
showLoading : true,
},
//隐私政策
getPrivacyPolicy: {
url: '/login/getPrivacyPolicy',
method: 'GET',
},
//用户协议
getUserAgreement: {
url: '/login/getUserAgreement',
method: 'GET',
},
//用户注册
registerUser: {
url: '/aluminium-prod/alUser/regUesr',
method: 'POST',
},
//用户登录
loginUser: {
url: '/aluminium-prod/alUser/login',
method: 'POST',
},
// 发送短信接口
sendSms: {
url: '/aluminium-prod/alUser/sendSms',
method: 'POST',
},
// // 我的挂单列表
// getProductlist: {
// url: '/aluminium-prod/product/myProductlist',
// method: 'GET',
// showLoading: true,
// debounce : 300,
// },
}
// 示例
// wxLogin : {url : '/api/wxLogin', method : 'POST',
// auth : false, showLoading : true, loadingTitle : '加载中...',
// limit : 1000
// },
getConfig: {url: '/api/getConfig', method: 'GET', limit: 500},
// 微信登录接口
wxLogin: {
url: '/login/login',
method: 'POST',
limit: 500,
showLoading: true,
},
// 修改个人信息接口
updateInfo: {
url: '/info/updateInfo',
method: 'POST',
auth: true,
limit: 500,
showLoading: true,
},
//隐私政策
getPrivacyPolicy: {
url: '/login/getPrivacyPolicy',
method: 'GET',
},
//用户协议
getUserAgreement: {
url: '/login/getUserAgreement',
method: 'GET',
},
// ========================用户登录注册===============================
//用户登录
loginUser: {
url: '/alUser/login',
method: 'POST',
},
//用户注册
registerUser: {
url: '/alUser/regUesr',
method: 'POST',
},
// 发送短信接口
sendSms: {
url: '/alUser/sendSms',
method: 'POST',
},
// 选择身份
roleOption: {
url: '/alUser/role',
method: 'POST',
},
// ========================产品报价===============================
// 清关申请
addCustoms: {
url: '/product/addCustoms',
method: 'POST',
},
// 产品报价
addProduct: {
url: '/product/addProduct',
method: 'POST',
},
// 下订单
addProductOrder: {
url: '/product/addProductOrder',
method: 'POST',
},
// 我的挂单列表
getMyProductlist: {
url: '/product/myProductlist',
method: 'GET',
},
// 撤单
noShow: {
url: '/product/noShow',
method: 'GET',
},
// 产品报价分页列表
productList: {
url: '/product/productList',
method: 'GET',
},
// 交易平台挂单列表
productlist: {
url: '/product/productList',
method: 'GET',
},
// ========================用户地址===============================
// 用户地址表-添加
addAddress: {
url: '/address/add',
method: 'POST',
},
// 用户地址表-编辑
editAddress: {
url: '/address/add',
method: 'POST',
},
// 用户地址表-分页列表查询
addressList: {
url: '/address/list',
method: 'GET',
},
// ========================首页等展示接口===============================
// 帮助与反馈
addSuggest: {
url: '/index/addSuggest',
method: 'POST',
},
// 铝价接口
getAlPrice: {
url: '/index/alprice',
method: 'POST',
},
// 我的头像昵称,平台客户电话等信息
getImagePhoneOther: {
url: '/index/index',
method: 'POST',
},
export function api(key, data, callback, loadingTitle) {
let req = config[key]
if (!req) {
console.error('无效key' + key);
return
}
if (typeof callback == 'string') {
loadingTitle = callback
}
if (typeof data == 'function') {
callback = data
data = {}
}
// 接口限流
if (req.limit) {
let storageKey = req.url
let storage = limit[storageKey]
if (storage && new Date().getTime() - storage < req.limit) {
return
}
limit[storageKey] = new Date().getTime()
}
//必须登录
if (req.auth) {
if (!uni.getStorageSync('token')) {
uni.navigateTo({
url: '/pages_order/auth/wxLogin'
})
console.error('需要登录')
return
}
}
// 接口防抖
if(req.debounce){
let storageKey = req.url
let storage = debounce[storageKey]
if (storage) {
clearTimeout(storage)
}
debounce[storageKey] = setTimeout(() => {
clearTimeout(storage)
delete debounce[storageKey]
http.http(req.url, data, callback, req.method,
loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
}, req.debounce)
return
}
http.http(req.url, data, callback, req.method,
loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
} }
export function api(key, data, callback, loadingTitle) {
let req = config[key]
if (!req) {
console.error('无效key' + key);
return
}
if (typeof callback == 'string') {
loadingTitle = callback
}
if (typeof data == 'function') {
callback = data
data = {}
}
// 接口限流
if (req.limit) {
let storageKey = req.url
let storage = limit[storageKey]
if (storage && new Date().getTime() - storage < req.limit) {
return
}
limit[storageKey] = new Date().getTime()
}
//必须登录
if (req.auth) {
if (!uni.getStorageSync('token')) {
uni.navigateTo({
url: '/pages_order/auth/wxLogin'
})
console.error('需要登录')
return
}
}
// 接口防抖
if (req.debounce) {
let storageKey = req.url
let storage = debounce[storageKey]
if (storage) {
clearTimeout(storage)
}
debounce[storageKey] = setTimeout(() => {
clearTimeout(storage)
delete debounce[storageKey]
http.http(req.url, data, callback, req.method,
loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
}, req.debounce)
return
}
http.http(req.url, data, callback, req.method,
loadingTitle || req.showLoading, loadingTitle || req.loadingTitle)
}
export default api export default api

Loading…
Cancel
Save