(function(){"use strict";var e={6653:function(e,t,s){var r=s(5471),o=function(){var e=this,t=e._self._c;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},n=[],i={data(){return{}},methods:{},mounted(){}},a=i,l=s(1656),u=(0,l.A)(a,o,n,!1,null,null,null),c=u.exports,d=s(173),g=function(){var e=this,t=e._self._c;return t("div",{staticClass:"upload-container"},[t("el-dialog",{attrs:{visible:e.loginDialogVisible,title:"登录"},on:{"update:visible":function(t){e.loginDialogVisible=t}}},[t("el-form",{on:{submit:function(t){return t.preventDefault(),e.handleLogin.apply(null,arguments)}}},[t("el-form-item",{attrs:{label:"用户名"}},[t("el-input",{model:{value:e.loginForm.username,callback:function(t){e.$set(e.loginForm,"username",t)},expression:"loginForm.username"}})],1),t("el-form-item",{attrs:{label:"密码"}},[t("el-input",{attrs:{type:"password"},model:{value:e.loginForm.password,callback:function(t){e.$set(e.loginForm,"password",t)},expression:"loginForm.password"}})],1),t("el-button",{attrs:{type:"primary","native-type":"submit"}},[e._v("登录")])],1)],1),e.isLoggedIn?t("el-upload",{ref:"uploadRef",attrs:{action:e.uploadUrl,"auto-upload":!1,"on-change":e.handleFileChange,"file-list":e.fileList,accept:".cc",multiple:!1},scopedSlots:e._u([{key:"trigger",fn:function(){return[t("el-button",{attrs:{size:"small",type:"primary"}},[e._v("选取文件")])]},proxy:!0}],null,!1,2040363866)},[t("el-button",{staticStyle:{"margin-left":"10px"},attrs:{size:"small",type:"success",disabled:e.isUploading},on:{click:e.uploadFile}},[e._v(" 上传并编译 ")])],1):e._e(),e.isLoggedIn&&e.isUploading?t("el-progress",{staticClass:"mt-4",attrs:{percentage:e.progressPercentage,status:e.progressStatus,"stroke-width":10,"show-info":!1}}):e._e(),e.isLoggedIn&&e.isSuccess?t("el-alert",{staticClass:"mt-4",attrs:{title:"编译成功!",type:"success","show-icon":""}}):e._e(),e.isLoggedIn&&e.showErrorMessage?t("el-alert",{staticClass:"mt-4",attrs:{title:"发布错误信息",type:"error",closable:!1}},[e._v(" "+e._s(e.errorMessage)+" ")]):e._e(),e.isLoggedIn&&e.isDownloadAvailable?t("el-button",{staticClass:"mt-4",attrs:{size:"small",type:"primary"},on:{click:e.downloadFile}},[e._v(" 下载标定程序 ")]):e._e()],1)},p=[],h=(s(4603),s(7566),s(8721),s(4335)),f={data(){return{loginDialogVisible:!0,loginForm:{username:"",password:""},isLoggedIn:!1,uploadUrl:"/upload",fileList:[],selectedFile:null,downloadUrl:null,downloadFileName:"radarcal",errorMessage:"",showErrorMessage:!1,isUploading:!1,progressPercentage:0,progressStatus:"",isSuccess:!1,isDownloadAvailable:!1,progressInterval:null}},methods:{handleLogin(){h.A.post("/login",this.loginForm).then((e=>{const t=e.data;localStorage.setItem("token",t),this.isLoggedIn=!0,this.loginDialogVisible=!1,this.$message.success("登录成功")})).catch((e=>{this.$message.error("登录失败,请检查用户名和密码")}))},handleFileChange(e){this.selectedFile=e.raw,this.fileList=[e]},async uploadFile(){if(this.selectedFile){this.errorMessage="",this.showErrorMessage=!1,this.isSuccess=!1,this.isUploading=!0,this.progressPercentage=0,this.progressStatus="",this.progressInterval=setInterval((()=>{this.progressPercentage<100?this.progressPercentage+=1:clearInterval(this.progressInterval)}),1200);try{const e=new FormData;e.append("file",this.selectedFile);const t=await fetch(this.uploadUrl,{method:"POST",headers:{Authorization:`Bearer ${localStorage.getItem("token")}`},body:e});if(clearInterval(this.progressInterval),t.ok){const e=await t.blob();this.downloadUrl=window.URL.createObjectURL(e),this.isDownloadAvailable=!0,this.isSuccess=!0,this.progressPercentage=100,this.progressStatus="success",this.$message.success("编译成功!")}else{const e=await t.text();this.errorMessage=e,this.showErrorMessage=!0,this.progressStatus="error",401===t.status&&(this.$message.error("登录已过期,请重新登录"),this.isLoggedIn=!1,this.loginDialogVisible=!0)}}catch(e){clearInterval(this.progressInterval),console.error("发生错误:",e),this.errorMessage="发生错误,请重试",this.showErrorMessage=!0,this.progressStatus="error",e.response&&401===e.response.status&&(this.$message.error("登录已过期,请重新登录"),this.isLoggedIn=!1,this.loginDialogVisible=!0)}finally{this.isUploading=!1}}else this.$message.error("请选择一个文件")},downloadFile(){if(this.downloadUrl){const e=document.createElement("a");e.href=this.downloadUrl,e.download=this.downloadFileName,document.body.appendChild(e),e.click(),document.body.removeChild(e)}}}},m=f,v=(0,l.A)(m,g,p,!1,null,"9955520a",null),b=v.exports;r["default"].use(d.Ay);const w=[{path:"/",name:"root",redirect:"/upload"},{path:"/upload",name:"upload",component:b}],y=new d.Ay({mode:"history",base:"/",routes:w});var F=y,I=s(1052),S=s.n(I),_=s(9952);r["default"].config.productionTip=!1,r["default"].use(S()),r["default"].use(S(),{locale:_["default"]}),new r["default"]({router:F,render:e=>e(c)}).$mount("#app")}},t={};function s(r){var o=t[r];if(void 0!==o)return o.exports;var n=t[r]={id:r,loaded:!1,exports:{}};return e[r].call(n.exports,n,n.exports,s),n.loaded=!0,n.exports}s.m=e,function(){s.amdO={}}(),function(){var e=[];s.O=function(t,r,o,n){if(!r){var i=1/0;for(c=0;c=n)&&Object.keys(s.O).every((function(e){return s.O[e](r[l])}))?r.splice(l--,1):(a=!1,n0&&e[c-1][2]>n;c--)e[c]=e[c-1];e[c]=[r,o,n]}}(),function(){s.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return s.d(t,{a:t}),t}}(),function(){s.d=function(e,t){for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){s.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e}}(),function(){var e={524:0};s.O.j=function(t){return 0===e[t]};var t=function(t,r){var o,n,i=r[0],a=r[1],l=r[2],u=0;if(i.some((function(t){return 0!==e[t]}))){for(o in a)s.o(a,o)&&(s.m[o]=a[o]);if(l)var c=l(s)}for(t&&t(r);u