UNPKG

ipink-util

Version:

util.js

2 lines (1 loc) 1.97 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./config.js"),s=require("./cache.js"),r=require("./typing.js"),o=require("./log.js"),t=require("../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.js"),a=require("../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.js");exports.createHttp=()=>function createRequest(r){return function(t){let n;n=e.t.o?e.t.o():s.Storage.get(e.t.i);const i={headers:{u:n?`${e.t.l}${e.t.l?" ":""}${n}`:"",m:"application/json"},timeout:e.t.timeout,k:e.t.k+e.t.p,method:e.t.h,data:{}};o.log.group(t?.url||"",(()=>{o.log.info("入参:",{...t.data})}),!0);let c=a.default(i,t);return c=e.j("BeforeRequest",c),r(c)}}(function createService(){if(!e.t.q)throw new Error('本包未内置axios,请在外部传入,例如在main.ts中 \nimport axios from "axios"\nConfig.setConfig({\n\taxios: axios \n})\n//或者 \nHttpConfig.setConfig({\n\taxios: axios \n})');const s=e.t.q.create();return s._.request.C((e=>e),(e=>Promise.resolve({...e||{},ok:!1}))),s._.response.C((s=>{const r={...(s=e.j("AfterRequest",s)).data||{},O:s.data.O||s.data.message||s.data.P||""},o=s.request?.responseType;if("blob"===o||"arraybuffer"===o)return r;const t=+r[e.t.R]==e.t.T,a=Object.assign(r,Object.assign(r,{ok:t}));return t||e.t.$&&e.t.v&&e.t.$(a.O||e.t.A),a}),(s=>{const o=t.default(s,"response.status");switch(o){case r.S.H:s.O="请求错误";break;case r.S.B:s.O="您的登录已过期!";break;case r.S.M:s.O="拒绝访问";break;case r.S.D:s.O="请求地址出错";break;case r.S.F:s.O="请求超时";break;case r.S.G:s.O="服务器内部错误";break;case r.S.I:s.O="服务未实现";break;case r.S.J:s.O="网关错误";break;case r.S.K:s.O="服务不可用";break;case r.S.L:s.O="网关超时";break;case r.S.N:s.O="HTTP 版本不受支持";break;default:s.O="服务器响应错误!"}return e.t.$&&e.t.v&&e.t.$(s.O||e.t.A),Promise.resolve({...s,ok:!1,O:s.O,code:o})})),s}());