| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | 
							- import { LogOut } from '@/store'
 
- import {globalConfig} from '@/config'
 
- import { getToken } from '@/utils/auth'
 
- import errorCode from '@/utils/errorCode'
 
- import { toast, showConfirm, tansParams } from '@/utils/common'
 
- const request = (cfg:UTSJSONObject):Promise<UTSJSONObject> => {
 
-   // 是否需要设置 token
 
-   let isToken:boolean=true
 
-   let header:UTSJSONObject={}
 
-   let cfgMap:Map<string,any>=cfg.toMap() as Map<string,any>
 
-   if(cfg.toMap().has("header")&&cfg.getJSON("header")!=null){
 
- 	  header=cfg.getJSON("header") as UTSJSONObject
 
- 	  if(header.toMap().has("isToken")&& header.getBoolean("isToken") == false){
 
- 	  		isToken=header.getBoolean("isToken") as boolean
 
- 	  }
 
-   }
 
-     
 
-   const token:string=getToken()
 
-   if (token!=null&&token!="" && isToken) {
 
- 	header.set('Authorization','Bearer ' + token)
 
-   }
 
-   let url:string=""
 
-   if(cfgMap.has("url")&&cfg.getString("url")!=""&&cfg.getString("url")!=null){
 
-   	   url=cfg.getString("url") as string
 
-   }
 
-   if (cfgMap.has("params")&&cfg.getJSON("params")!=null) {
 
- 	let paramsJson:UTSJSONObject=cfg.getJSON("params") as UTSJSONObject
 
-     url+= '?' + tansParams(paramsJson)
 
-     url = url.slice(0, -1)
 
-   }
 
-   let method:string="get"
 
-   if(cfgMap.has("method")&&cfg.getString("method")!=""&&cfg.getString("method")!=null){
 
- 	  method=cfg.getString("method") as string
 
-   }
 
-   let baseUrl:string=globalConfig.baseUrl
 
-   if(cfgMap.has("baseUrl")&&cfg.getString("baseUrl")!=""&&cfg.getString("baseUrl")!=null){
 
- 	  baseUrl=cfg.getString("baseUrl") as string
 
-   }
 
-   let timeout:number = 10000
 
-   if(cfgMap.has("timeout")&&cfg.getString("timeout")!=null){
 
-   	  timeout=cfg.getNumber("timeout") as number
 
-   }
 
-   let data:any|null=null;
 
-   if(cfgMap.has("data")&&cfg.getAny("data")!=null){
 
- 	  data=cfg.getAny("data") as any
 
-   }
 
-   return new Promise((resolve, reject) => {
 
- 	uni.request<UTSJSONObject>({
 
-         method,
 
-         timeout,
 
-         url: baseUrl + url,
 
-         data,
 
-         header,
 
-         dataType: 'json',
 
- 		success:(res:RequestSuccess<UTSJSONObject>) => {
 
- 			const data:UTSJSONObject=res.data as  UTSJSONObject
 
- 			const dataMap:Map<string,any>=data.toMap() as Map<string,any>
 
- 			let code:number=200
 
- 			if(dataMap.has("code")&&data.getNumber("code")!=null){
 
- 				code=data.getNumber("code") as number
 
- 			}
 
- 			let msg:string|null=errorCode[code] as string|null
 
- 			if(msg==""||msg==null){
 
- 				msg=data.getString("msg") as string|null
 
- 			}
 
- 			if(msg==""||msg==null){
 
- 				msg=errorCode['default'] as string
 
- 			}
 
- 			if (code === 401) {
 
- 			  showConfirm('登录状态已过期,您可以继续留在该页面,或者重新登录?').then((res0:UniShowModalResult) => {
 
- 				if (res0.confirm) {
 
- 				  LogOut().then(() => {
 
- 					uni.reLaunch({ url: '/pages/login' })
 
- 				  })
 
- 				}
 
- 			  })
 
- 			  reject('无效的会话,或者会话已过期,请重新登录。')
 
- 			} else if (code === 500) {
 
- 			  toast(msg)
 
- 			  reject('500')
 
- 			} else if (code !== 200) {
 
- 			  toast(msg)
 
- 			  reject(code)
 
- 			}
 
- 			resolve(data)
 
-       },
 
- 		fail:(error:RequestFail) => {
 
- 			let { errCode,errMsg } = error
 
- 			switch(errCode){
 
- 				case 5:
 
- 					errMsg='接口超时'
 
- 					break
 
- 				case 1000:
 
- 					errMsg='服务端系统错误'
 
- 					break
 
- 				case 100001:
 
- 					errMsg='json数据解析错误'
 
- 					break
 
- 				case 100002:
 
- 					errMsg="错误信息json解析失败"
 
- 					break
 
- 				case 600003:
 
- 					errMsg="网络中断"
 
- 					break
 
- 				
 
- 				case 600009:
 
- 					errMsg="URL格式不合法"
 
- 					break
 
- 				case 602001:
 
- 					errMsg="request系统错误"
 
- 					break
 
- 			}
 
- 			toast(errMsg)
 
- 			reject(error)
 
- 		}
 
-       } as RequestOptions<any>)
 
-   })
 
- }
 
- export default request
 
 
  |