Merge pull request '更新 'service/request.js'' (#29) from odjbin-patch-1 into dev

Reviewed-on: http://git.hchyun.com/feashow/pupil/pulls/29
This commit is contained in:
odjbin
2022-12-25 07:41:31 +00:00

View File

@@ -1,228 +1,261 @@
const serverHost = 'https://pupil.hchyun.com/api' // https://api-ugo-web.itheima.net' const serverHost = 'https://pupil.hchyun.com/api' // https://api-ugo-web.itheima.net'
function isOutTime(res) { function isOutTime(res) {
if (res.data.message === '请先登录') { if (res.data.message === '请先登录') {
uni.showToast('登录信息已过期,请重新登录') uni.showToast('登录信息已过期,请重新登录')
setTimeout(() => { setTimeout(() => {
uni.redirectTo({ uni.redirectTo({
url: '/pages/login/login' url: '/pages/login/login'
}) })
}, 1000) }, 1000)
uni.removeStorageSync('userInfo') uni.removeStorageSync('userInfo')
uni.removeStorageSync('token') uni.removeStorageSync('token')
} else { } else {
// uni.showToast(res.data.message); // uni.showToast(res.data.message);
} }
} }
const service = { const service = {
get(url,data) { get(url, data) {
const header = {} const header = {}
header['Authorization'] = 'Bearer ' + uni.getStorageSync('token') header['Authorization'] = 'Bearer ' + uni.getStorageSync('token')
header['content-type'] = 'application/json' header['content-type'] = 'application/json'
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.request({ uni.request({
method: 'get', method: 'get',
url: serverHost + url, url: serverHost + url,
header: header, data: data,
data:data, header: header,
success: res => { success: res => {
// // 调用接口成功 // // 调用接口成功
// if (!res.data.data) { // if (!res.data.data) {
// isOutTime(res) // isOutTime(res)
// reject(res) // reject(res)
// } // }
resolve(res) resolve(res)
}, },
fail: err => { fail: err => {
// 调用接口失败 // 调用接口失败
reject(err) reject(err)
} }
}) })
}) })
}, },
post(url, data, isLogin) { post(url, data, isLogin) {
const header = {} const header = {}
if (isLogin) { if (isLogin) {
// header['content-type'] = 'application/x-www-form-urlencoded'; // header['content-type'] = 'application/x-www-form-urlencoded';
console.log(isLogin) console.log(isLogin)
header['Authorization'] = '' header['Authorization'] = ''
} else { } else {
header['Authorization'] = 'Bearer ' + uni.getStorageSync('token') header['Authorization'] = 'Bearer ' + uni.getStorageSync('token')
header['content-type'] = 'application/json' header['content-type'] = 'application/json'
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.request({ uni.request({
method: 'post', method: 'post',
url: serverHost + url, url: serverHost + url,
data: data, data: data,
header: header, header: header,
timeout: 30000, timeout: 30000,
success: res => { success: res => {
console.log(1111, res) console.log(1111, res)
uni.hideLoading() uni.hideLoading()
// if (res.data.exception === 'UnAuthorizedException') { // if (res.data.exception === 'UnAuthorizedException') {
// let pages = getCurrentPages() // let pages = getCurrentPages()
// let page = (pages[pages.length - 1]).route // let page = (pages[pages.length - 1]).route
// if (!page.includes('login')) { // if (!page.includes('login')) {
// uni.navigateTo({ // uni.navigateTo({
// url: `/pages/login/login` // url: `/pages/login/login`
// }) // })
// } // }
// } // }
// if (res.data.message) { // if (res.data.message) {
// isOutTime(res); // isOutTime(res);
// toast.error(res.data.message) // toast.error(res.data.message)
// reject(res); // reject(res);
// } // }
// if (isLogin && !res.data.access_token) { // if (isLogin && !res.data.access_token) {
// reject(res); // reject(res);
// } else { // } else {
// resolve(res); // resolve(res);
// } // }
resolve(res) resolve(res)
}, },
fail: err => { fail: err => {
console.log('err', err) console.log('err', err)
uni.hideLoading() uni.hideLoading()
// 调用接口失败 // 调用接口失败
try { try {
toast.error(err.data.message) toast.error(err.data.message)
} catch (errr) { } catch (errr) {
toast.error('服务器出错') toast.error('服务器出错')
} }
reject(err) reject(err)
} }
}) })
}) })
}, },
put(url, data, isLogin) { put(url, data, isLogin) {
const header = {} const header = {}
if (isLogin) { if (isLogin) {
header['content-type'] = 'application/x-www-form-urlencoded' header['content-type'] = 'application/x-www-form-urlencoded'
} else { } else {
header['Authorization'] = 'Bearer ' + uni.getStorageSync('token') header['Authorization'] = 'Bearer ' + uni.getStorageSync('token')
header['content-type'] = 'application/json' header['content-type'] = 'application/json'
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
uni.request({ uni.request({
method: 'put', method: 'put',
url: serverHost + url, url: serverHost + url,
header: header, header: header,
success: res => { success: res => {
if (!res.data.flag) { if (!res.data.flag) {
isOutTime(res) isOutTime(res)
reject(res) reject(res)
} }
resolve(res) resolve(res)
}, },
data: data, data: data,
fail: err => { fail: err => {
// 调用接口失败 // 调用接口失败
// toast.error(res.data.message) // toast.error(res.data.message)
uni.hideLoading() uni.hideLoading()
reject(err) reject(err)
} }
}) })
}) })
} }
} }
const toastDuration = 1500 const toastDuration = 1500
const toast = { const toast = {
// duration: 1500, // duration: 1500,
success: (text, dur) => { success: (text, dur) => {
// $wuxToptips().success({ // $wuxToptips().success({
// hidden: false, // hidden: false,
// text: text || '成功', // text: text || '成功',
// duration: dur || toastDuration // duration: dur || toastDuration
// }); // });
uni.showToast({ uni.showToast({
title: text || '成功', title: text || '成功',
duration: dur || toastDuration duration: dur || toastDuration
}) })
}, },
warn: text => { warn: text => {
// $wuxToptips().warn({ // $wuxToptips().warn({
// hidden: false, // hidden: false,
// text: text || '未知警告', // text: text || '未知警告',
// duration: toastDuration // duration: toastDuration
// }); // });
uni.showToast({ uni.showToast({
icon: 'none', icon: 'none',
title: text || '未知警告', title: text || '未知警告',
duration: toastDuration duration: toastDuration
}) })
}, },
error: text => { error: text => {
// $wuxToptips().error({ // $wuxToptips().error({
// hidden: false, // hidden: false,
// text: text || '未知错误', // text: text || '未知错误',
// duration: toastDuration // duration: toastDuration
// }); // });
uni.showToast({ uni.showToast({
icon: 'none', icon: 'none',
title: text || '未知错误', title: text || '未知错误',
duration: toastDuration duration: toastDuration
}) })
} }
} }
const apiService = { const apiService = {
uploadImgUrl: serverHost, uploadImgUrl: serverHost,
imgUrl: serverHost, imgUrl: serverHost,
login: data => { login: data => {
data = Object.assign(data || {}, {}) data = Object.assign(data || {}, {})
const url = `/api` const url = `/api`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, data, true)) resolve(service.post(url, data, true))
}) })
}, },
// 获取 // 获取首页分类
getCategories(data) { getCategories() {
const url = `/home/classlist` const url = `/home/classlist`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url)) resolve(service.get(url))
}) })
}, },
// 搜索发现 热搜 // 获取首页轮播图
getDiscover(data) { getBanner(data) {
const url = `/home/discover` const url = `/home/banner`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.get(url)) resolve(service.get(url, data))
}) })
}, },
// 新增 // 获取产品列表
addOutboundOrder(data) { getProducts(data) {
const url = `/api` const url = `/home/product`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, data)) resolve(service.get(url, data))
}) })
}, },
// 提交 // 获取产品详情
deliveryOrderConfirm(data) { getProductDetail(id) {
const url = `/api` const url = `/home/pdetail/?productId=${id}`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, data)) resolve(service.get(url, id))
}) })
}, },
// 解密 // 获取行业新闻
decrypt(data) { getNews() {
const url = `/api` const url = `/news/nlists/?pageSize=3&pageNum=1`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.post(url, { data })) resolve(service.get(url))
}) })
}, },
// 国密sm4加密 // 获取行业新闻详情
sm4Encrypt(data) { getNewsDetail(id) {
const url = `/api` const url = `/news/ndetail?newsId=${id}`
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
resolve(service.sm(url, data)) resolve(service.get(url, id))
}) })
} },
// 获取认证厂家列表
getCertifiedCj() {
const url = `/news/flists?pageSize=3&pageNum=1`
return new Promise((resolve, reject) => {
resolve(service.get(url))
})
},
// 获取认证厂家详情
getCertifiedCjDetail(id) {
const url = `/news/fdetail?fId=1`
return new Promise((resolve, reject) => {
resolve(service.get(url, id))
})
},
// 解密
decrypt(data) {
const url = `/api`
return new Promise((resolve, reject) => {
resolve(service.post(url, {
data
}))
})
},
// 国密sm4加密
sm4Encrypt(data) {
const url = `/api`
return new Promise((resolve, reject) => {
resolve(service.sm(url, data))
})
}
}
export {
apiService,
toast
} }
export { apiService, toast }