Browse Source

补下载

yourname 1 month ago
parent
commit
bd84ed827f

File diff suppressed because it is too large
+ 0 - 0
public/datav/assets/css/index-8fac784f.css


File diff suppressed because it is too large
+ 384 - 0
public/datav/assets/js/axios-7accb92c.js


File diff suppressed because it is too large
+ 0 - 0
public/datav/assets/js/index-2d91bc07.js


+ 2 - 0
public/datav/assets/js/login-4259abe5.js

@@ -0,0 +1,2 @@
+import{v as e}from"./request-2ce564d0.js";const s="https://plant2.hbatg.com/v2",t=t=>e.request({url:s+"/user-api/user/info/login",method:"post",data:t}),r=t=>e.request({url:s+"/user-api/user/info/getcheckcode",method:"get",params:t}),a=t=>e.request({url:s+"/user-api/user/info/resetpwd",method:"post",data:t}),u=t=>e.request({url:s+"/user-api/user/info/logout",method:"post",params:t}),o=t=>e.request({url:s+"/user-api/user/setting/setaccumulatedtemperature",method:"post",data:t}),p=t=>e.request({url:s+"/user-api/user/info/wx-bindMobile",method:"post",data:t});export{u as a,p as b,r as g,t as l,a as r,o as s};
+//# sourceMappingURL=login-4259abe5.js.map

+ 133 - 0
public/datav/assets/js/request-2ce564d0.js

@@ -0,0 +1,133 @@
+import{A as e}from"./axios-7accb92c.js";import{N as t}from"./nprogress-85851b89.js";import{c as n,r as s,g as r}from"./index-6530d0f6.js";import{E as o,a}from"./element-plus-842069d4.js";class i{
+// 声明一个 Map 用于存储每个请求的标识 和 取消函数
+static pending=new Map;
+// 白名单, 写入接口名称
+static whiteRequest=[];
+/**
+   * 得到该格式的url
+   * @param {AxiosRequestConfig} config
+   * @returns
+   */
+static getUrl(e,t){if(t.cancelToken&&t.cancelTokenName)return t.cancelTokenName;if(t.cancelUrl)return t.cancelUrl;let n="";return n=t.cancelToken?[e.method,e.url].join("&"):[e.method,e.url,
+(new Date).getTime(),Math.random()].join("&"),t.cancelUrl=n,n}
+/**
+   * 添加请求
+   * @param {AxiosRequestConfig} config
+   */static addPending(t,n){const s=this.getUrl(t,n);t.cancelToken=t.cancelToken||new e.CancelToken((e=>{this.pending.has(s)||this.pending.set(s,e)}))}
+/**
+   * 移除请求
+   * @param {AxiosRequestConfig} config
+   */static removePending(e,t){const n=this.getUrl(e,t);if(!n)return;const s=n.split("&")&&n.split("&")[1];if(this.pending.has(n)&&!this.whiteRequest.includes(s)){const e=this.pending.get(n);e&&e(n),this.pending.delete(n)}}
+/**
+   * 根据key 手动取消请求: cancelTokenName 清除pending中的请求
+   */static removePendingByName(e){const t=this.pending.get(e);if(!t){return{success:!1,msg:"不存在该请求",type:"cancelToken"}}t({cancelTokenName:"key",munual:!0});return{success:!0,msg:"取消请求成功",type:"cancelToken"}}
+/**
+   * 清空 pending 中的请求(在路由跳转时调用)
+   */static clearPending(){for(const[e,t]of this.pending)t&&t(e);this.pending.clear()}}const c={SUCCESS:200,
+//成功code值
+// ERROR: -1,
+KEYS:{
+//返回结果集字段枚举
+DATA:"data",CODE:"result",ERROR_MSG:"errorMsg"}},l="multipart/form-data;charset=UTF-8",u={400:"发出的请求有错误,服务器没有进行新建或修改数据的操作",401:"您无权访问",403:"当前用户权限不足,不能继续执行",404:"网络请求错误,未找到该资源",405:"网络请求错误,请求方法未允许",406:"请求的格式不可得",408:"接口请求超时,请重试或刷新页面",410:"请求的资源被永久删除,且不会再得到的",422:"当创建一个对象时,发生一个验证错误",423:"指定的功能被锁定",500:"服务器发生错误,请检查服务器或联系管理员",501:"网络未实现",502:"网关错误",503:"服务不可用,服务器暂时过载或维护",504:"网关超时",505:"http版本不支持该请求",9999:"网络异常"};function d(e,t){const r=t.operate,i=t.result;let l=(r.ResultEnum||c).KEYS.ERROR_MSG;const d=r.CodeMsgEnum||u;switch(e){case 2007:o.closeAll(),a.close(),a.confirm(i&&i[l]?i[l]+",请重新登录":d[e],"提示").then((()=>{n.clear(),s.replace("/login")}));break;case 9999:o.closeAll(),a.close(),a.confirm(i&&i[l]||d[e],"提示",{confirmButtonText:"重新加载"}).then((()=>{window.location.reload()}));break;default:if(!r.showErrorMsg)return;o.closeAll(),i&&i[l]?o.error(i[l]):d[e]&&o.error(d[e])}}function m(e,t,n){if(e&&e instanceof Blob){(t=t||{}).filename;const s=t.blobType||"";let r=new Blob([e],{type:s}),o=window.URL.createObjectURL(r);!function(e,t){const n=(e=e||{}).target||"_blank";let s=document.createElement("a");s.style.display="none",s.href=e.url,s.target=n,void 0!==s.download&&s.setAttribute("download",e.filename||""),document.body.appendChild(s),s.click(),document.body.removeChild(s),t&&t({url:e.url,success:!0,msg:"下载成功"}),window.URL.revokeObjectURL(e.url)}({...t,url:o},n)}else n&&n({success:!1,msg:"数据为空或数据格式错误"})}const p={
+// vAxios.fileRequest文件流请求入口
+download:!0,
+// 默认download-true
+fileConfig:{
+//{*} filename, blobType, 当download为true时有效,文件名称,文件流格式设置
+key:"",
+//根据后端响应头key即文件名称下载
+filename:"",blobType:""},
+// vAxios.request请求主入口
+isReturnNativeResponse:!1,
+//是否返回原生响应头-true成功状态码时不做错误信息提示
+standard:!0,
+//true-数据为{data,msg,code}返回对象里的data, false-返回{data,msg,code}对象
+// 提示语设置
+showErrorMsg:!0,
+// 展示异常错误信息提示语-默认true-当需自定义时,可设置1.showErrorMsg:false, 2.也可通过message.closeAll();message.error(err && err.msg);
+// errorMessageMode: 'none',  // 消息提示类型
+// token设置
+ignoreToken:!1,
+//请求是否忽略token,默认false,头部会带token请求
+tokenPrefix:"Bearer ",
+//token前缀
+tokenKey:"Authorization",
+//传到后台key-token
+// 取消请求设置
+ignoreCancel:!1,
+//true时请求不存入CancelToken.pending对象中
+cancelToken:!1,
+//同一接口默认清除上次未完成请求响应-默认false
+cancelTokenName:""};const f=new class{_customOperate0;_options;axiosInstance;constructor(t,n){this._customOperate0=null!=n?{...n}:{...p},this._options=t;const s=e.create(this._options);this.axiosInstance=s,this._setupInterceptors()}
+/**
+   * @description: 拦截器配置
+   */_setupInterceptors(){this.axiosInstance.interceptors.request.use((e=>{t.start();const s=e.customOperate||{},o=n.getItem("userInfo"),a=n.getItem("farmInfo"),c={userId:o&&o.id,
+// channel: 'farmPC',
+channel:"farmDATAV",systemId:"1",sid:123,farmId:a&&a.farmId||"",serviceCenterId:"",nonce:1736321682006};return"get"==e.method.toLocaleLowerCase()?e.params={...c,...e.params}:e.data={...c,...e.data},!s.ignoreToken&&r()&&(e.headers[s.tokenKey]=s.tokenPrefix+r()),s.token&&(e.headers[s.tokenKey]=s.tokenPrefix+s.token),s.cancelToken&&i.removePending(e,s),!s.ignoreCancel&&i.addPending(e,s),e}),(function(e){return t.done(),Promise.reject(e)})),this.axiosInstance.interceptors.response.use((e=>{t.done();const n=e&&e.config&&e.config.customOperate||{};if(e&&i.removePending(e.config,n),n.isReturnNativeResponse)return Promise.resolve(e);if(!e||!e.data)return Promise.reject({success:!1,msg:"请求出错,请稍候重试"});const s=n.ResultEnum||c;let r=e.data[s.KEYS.DATA],o=e.data[s.KEYS.CODE];return o==s.SUCCESS?n.standard?Promise.resolve(r):Promise.resolve(e.data):(d(o,{result:e.data,operate:n}),Promise.reject(e.data||{}))}),(n=>{t.done();const{response:s}=n||{};return function(t,n){if(e.isCancel(t))return Promise.reject({type:"cancelToken",msg:"取消请求",success:!1,error:t});const{response:s,message:r}=t||{},o=n.operate;try{r.includes("Network Error")&&d(9999,n),r.includes("timeout")&&d(408,n)}catch(m){return Promise.reject(m)}if(!s)return Promise.reject(t);const{status:a,data:i}=s,l=o.ResultEnum||c;let u=i&&i[l.KEYS.CODE];return d(a||u,{result:i,...n,errRes:s}),n.operate.isReturnNativeResponse?Promise.reject(t):Promise.reject(i||s||{})}(n,{operate:s&&s.config&&s.config.customOperate||{}})})),this.axiosInstance.interceptors.response.use(void 0,(function(t){let n=t.config;return n&&n.retry?(n.__retryCount=n.__retryCount||0,n.__retryCount>=n.retry?Promise.reject(t):(n.__retryCount+=1,new Promise((function(e){setTimeout((function(){e()}),n.retryDelay||1)})).then((function(){return e(n)})))):Promise.reject(t)}))}
+/**
+   * @description:  请求主入口
+   */request(e,t){t=t||{};const n=Object.assign({},this._customOperate0,t);return(e=Object.assign({},e)).customOperate=n,this.axiosInstance.request(e)}
+/**
+   * @description: 最大并发请求
+   * @params configs 待请求的config数组
+   * @params maxNum 最大并发数
+   */concurRequest(e,t){const n=t&&t.maxNum||1;return new Promise((s=>{if(0===e.length)return void s([]);const r=[];let o=0,a=0;const i=async()=>{if(o===e.length)return;const n=o,c=e[o];o++;try{const e=await this.request(c,t);r[n]=e}catch(l){r[n]=l}finally{a++,a===e.length&&s(r),i()}},c=Math.min(n,e.length);for(let e=0;e<c;e++)i()}))}
+/**
+   * @description: 文件流请求入口
+   * @config 请求参数
+   * @download 自动下载默认为true
+   * @fileConfig {*} filename,blobType
+   * @isReturnNativeResponse true
+   */fileRequest(e,t){t=t||{};let n=Object.assign({},this._customOperate0,{
+// download: true, //请求完下载-默认true
+isReturnNativeResponse:!0,...t});return e.responseType=e.responseType||"blob",n.download?new Promise(((t,s)=>{this.request(e,n).then((e=>{let r;const o=n.fileConfig.key||"name";if(e&&e.headers[o]){const t=e.headers[o];r=decodeURI(t)}let a;a=r?{...n.fileConfig,filename:r}:{...n.fileConfig},m(e.data,a,(e=>{0!=e.success?t(e):s(e)}))})).catch((e=>{s(e)}))})):this.request(e,n)}
+/**
+   * @description:  文件上传入口
+   * @config {*} url,method
+   * @params {*} name://提交文件名称参数,file: 文件,filename
+   * 调用上传接口示例
+    vAxios.uploadFile({ data: form, name:'', file: file, filename:'' },operate);
+    form-须与file合并的参数,一同传给后台
+   */uploadFile(e,t,n){t=t||{};const s=new window.FormData,r=t.name||"file";return t.filename?s.append(r,t.file,t.filename):s.append(r,t.file),t.data&&Object.keys(t.data).forEach((e=>{const n=t.data[e];Array.isArray(n)?n.forEach((t=>{s.append(`${e}[]`,t)})):s.append(e,t.data[e])})),this.request({method:"POST",data:s,headers:{"Content-Type":l},...e},n)}}({
+//请求地址
+// baseURL: '',
+//请求超时
+// timeout: 1000*10,
+// 请求头
+// headers: {
+// 	"Content-Type": "application/json;charset=utf-8",
+// },
+// 是否允许带cookie
+withCredentials:!1},{
+// vAxios.fileRequest文件流请求入口
+download:!0,
+// 默认download-true
+fileConfig:{
+// {*} filename, blobType, 当download为true时有效,文件名称,文件流格式设置
+key:"",
+//根据后端响应头key即文件名称下载
+filename:"",blobType:""},
+// vAxios.request请求主入口
+isReturnNativeResponse:!1,
+//是否返回原生响应头-true成功状态码时不做错误信息提示
+standard:!0,
+//true-数据为{data,msg,code}返回对象里的data, false-返回{data,msg,code}对象
+// 提示语设置
+showErrorMsg:!0,
+// 展示异常错误信息提示语-默认true-当需自定义时,可设置1.showErrorMsg:false, 2.也可通过message.closeAll();message.error(err && err.msg);
+// errorMessageMode: 'none',  // 消息提示类型
+// token设置
+ignoreToken:!1,
+//请求是否忽略token,默认false,头部会带token请求
+tokenPrefix:"",
+//token前缀
+tokenKey:"Authorization",
+//传到后台key:token
+// token: '2f4fed683f7245d6aded31a2f7183f6d',
+// 取消请求设置
+ignoreCancel:!1,
+//true时请求不存入CancelToken.pending对象中
+cancelToken:!1,
+//同一接口默认清除上次未完成请求响应-默认false
+cancelTokenName:""});export{f as v};
+//# sourceMappingURL=request-2ce564d0.js.map

Some files were not shown because too many files changed in this diff