shangfutong-ui/jeepay-ui-uapp-cashier/http/http.js

103 lines
2.2 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.

/**
* HTTP的封装 基于uni.request
* 包括: 通用响应结果的处理 和 业务的增删改查函数
*
* @author terrfly
* @site https://www.jeequan.com
* @date 2021/12/16 18:35
*/
// 导入全局属性
import appConfig from '@/config/appConfig.js'
import {toErrPageFunc} from '@/util/toErrorPageUtil.js'
import storageManage from '@/util/storageManage.js'
function req(uri, data, method = "GET", extParams = {}){
// 放置token
let headerObject = {}
headerObject[appConfig.tokenKey] = appConfig.tokenValue
headerObject.pageType = appConfig.currentPageType
headerObject.iToken = storageManage.iToken()
// 麒麟
// let iToken = 'Q8240202142732831';
//收银呗
// let iToken = 'Q8240510155041616';
// headerObject[appConfig.tokenKey] = iToken
// headerObject.pageType = appConfig.currentPageType
// headerObject.iToken = iToken
return uni.request(
Object.assign({
url: appConfig.env.JEEPAY_PAY_BASE_URL + uri,
data: data,
method: method,
header: headerObject
}, extParams)).then((httpData) => {
// 从http响应数据中解构响应数据 [ 响应码、 bodyData ]
let { statusCode, data } = httpData
// 避免混淆重新命名
let bodyData = data
// http响应码不正确
if(statusCode != 200){
return Promise.reject(bodyData) // 跳转到catch函数
}
// 业务响应异常
if(bodyData.code != 0){
toErrPageFunc(bodyData.msg)
return Promise.reject(bodyData.msg)
}
// 构造请求成功的响应数据
return Promise.resolve({ bizData: bodyData.data, data: data })
}).catch( res => {
return Promise.reject(res)
});
}
// 通用list
function list(uri, params){
return req(uri, params, 'GET')
}
// 通用add
function add(uri, data){
return req(uri, data, 'POST')
}
// 通用 根据ID获取
function getById(uri, bizId){
return req(`${uri}/${bizId}`, {}, 'GET')
}
// 通用 更新
function updateById(uri, bizId, data){
return req(`${uri}/${bizId}`, data, 'PUT')
}
// 通用 删除
function delById(uri, bizId){
return req(`${uri}/${bizId}`, {}, 'DELETE')
}
export default {
req : req,
list: list,
add: add,
getById: getById,
updateById: updateById,
delById: delById
}