123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- import { noEmpty } from '@utils'
- const Http = (options = { data: {} }) => {
- return new Promise((resolve, reject) => {
- if (options.loadingStr === 'loading') {
- uni.showLoading({
- mask: true,
- title: '加载中..'
- })
- }
- let token = uni.getStorageSync('MD_token') || ''
- let header = {
- 'Content-Type': 'application/json',
- 'token': token,
- // 'Content-Type': 'application/x-www-form-urlencoded'
- }
- let params = {...options.data}
- if (uni.getStorageSync('APP_token')) params.token = uni.getStorageSync('APP_token')
- for (let key in options.data) {
- if (options.data[key] === undefined || options.data[key] === 'undefined') {
- params[key] = ''
- }
- }
- let url = uni.baseUrl + options.url
- // let url = options.url
- if (options.queryData) {
- let qStr = ''
- for(let k in options.queryData) {
- qStr += `${k}=${options.queryData[k]}&`
- }
- qStr = qStr.substr(0, qStr.length - 1)
- url += `?${qStr}`
- }
- uni.request({
- url,
- data: {
- ...params
- },
- header,
- method: options.method || 'POST',
- complete: res => {
- if (options.loadingStr === 'loading') {
- uni.hideLoading()
- }
- },
- success: res => {
- const { data: cData } = res
- const code = cData.errno
- switch (code) {
- case 0:
- return resolve(noEmpty(cData.data) ? cData.data : cData)
- break
- case 401:
- case 404:
- case 405:
- uni.removeStorageSync('MD_userInfo')
- const u2 = uni.getStorageSync('MD_userInfo2')
- if (u2.bind_wechat === '1' && uni.getStorageSync('MD_token')) {
- uni.login({
- success: function (res) {
- if (res.code) {
- uni.api.base.apiwxautologin({code: res.code}).then(cData => {
- if (cData.token === 'error') {
- uni.removeStorageSync('MD_token')
- } else {
- uni.setStorageSync('MD_userInfo', cData)
- uni.setStorageSync('MD_token', cData.token)
- uni.api.base.apidicttree().then(res => {
- const cObj = res || {}
- let newDict = {}
- for (let k in cObj) {
- const cArr = cObj[k].map(item => {
- return {
- ...item,
- key: item.dict_label,
- val: item.dict_value
- }
- })
- newDict[k] = cArr
- }
- uni.setStorageSync('MD_dict', newDict)
- })
- uni.api.base.apiuserinfo().then(res2 => {
- uni.setStorageSync('MD_userInfo2', res2)
- uni.reLaunch({
- url: '/pages/index/index'
- })
- })
- }
- })
- }
- }
- })
- } else {
- uni.showToast({
- title: `请先登录~`,
- icon: 'none',
- })
- uni.navigateTo({
- url: '/pages/user/login/login'
- })
- }
- break
- default:
- uni.showModal({
- title: '提示',
- content: `${cData.errmsg}(${code})`,
- })
- return reject(cData)
- }
- // resolve()
- },
- fail: err => {
- console.log(err)
- reject(err)
- }
- })
- })
- }
- // export default Http
- function request (url, data, loadingStr, queryData) {
- return Http({
- url,
- data,
- loadingStr,
- queryData,
- })
- }
- export {
- request,
- }
|