123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- import {
- Encrypt,
- UrlPath,
- Message
- } from "./../commonuni"
- // 请求拦截
- const fetch = (action, opt) => {
- let params = opt.params
- opt.url = UrlPath.getBaseUrl() + action
- opt.method = opt.method || "GET";
- var header = {}
- let token = uni.getStorageSync("token")
- if (token != null && token != "") {
- header = {
- Authorization: 'Bearer ' + token
- }
- }
- if(opt.isFile){
- header['Content-Type'] = 'application/json; application/octet-stream'
- opt.responseType = 'arraybuffer'
- delete opt.isFile
- }
- if (!opt.url.indexOf("app-api/wxLogin") == 0 || !url.indexOf("app-api/common") == 0) {
- opt.attribute = {
- "login_user_type": 2
- }
- }
- opt.header = {
- ...opt.header,
- ...header,
- }
- // if (opt.method == "POST") {
- // if (opt.data) {
- // opt.data = {
- // data: Encrypt.AESEncode(JSON.stringify(opt.data))
- // }
- // }
- // }
- return new Promise((resolve, reject) => {
- let options = {}
- Object.keys(opt).map(key => {
- if (key !== "params") {
- return options[key] = opt[key]
- }
- })
- uni.request(options)
- .then(res => interceptorsRes(res, resolve, reject))
- .catch(err => interceptorsErr(err, reject))
- })
- }
- // 请求拦截
- const fetchfile = (action, opt) => {
- let params = opt.params
- opt.url = UrlPath.getBaseUrl() + action
- opt.method = "POST";
- var header = {}
- let token = uni.getStorageSync("token")
- if (token != null && token != "") {
- header = {
- Authorization: 'Bearer ' + token
- }
- }
- opt.header = {
- ...opt.header,
- ...header,
- }
- opt.responseType = 'application/json'
- return new Promise((resolve, reject) => {
- uni.uploadFile(opt)
- .then(res => interceptorsRes(res, resolve, reject))
- .catch(err => interceptorsErr(err, reject))
- })
- }
- // 响应拦截
- const interceptorsRes = (resp, resolve, reject) => {
- const {
- code
- } = resp.data
- if (resp.statusCode == 401 || code == 401) {
- Message.info("登录已过期,请重新登录!")
- uni.navigateTo({
- url: '../../pages/index/index'
- });
- resolve(null);
- return;
- }
- if (resp.statusCode == '201'){
- resolve(resp.data);
- return;
- }
- if (typeof(resp.data) == 'string'){
- resp.data = JSON.parse(resp.data)
- }
- if (resp.data.code != 0){
- Message.info(resp.data.msg);
- reject(null)
- return;
- }
- if (typeof(resp.data) == "string") {
- // Encrypt.AESDecode()
- resp.data = JSON.parse(JSON.parse(resp.data), null, null);
- } else {
- // Encrypt.AESDecode()
- resp.data = resp.data.data;
- }
- resolve(resp.data)
- }
- // 异常处理
- const interceptorsErr = (err, reject) => {
- Message.error("网络异常", err)
- reject(err)
- }
- export {
- fetch,
- fetchfile
- }
|