diff --git a/ruoyi-admin/src/main/resources/static/3272.17857c50.async.js b/ruoyi-admin/src/main/resources/static/3272.17857c50.async.js
new file mode 100644
index 0000000..eb2ea6a
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/static/3272.17857c50.async.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkant_design_pro=self.webpackChunkant_design_pro||[]).push([[3272],{33272:function(H,i,n){n.r(i);var T=n(15009),d=n.n(T),j=n(99289),f=n.n(j),C=n(5574),u=n.n(C),r=n(67294),M=n(9669),A=n.n(M),e=n(85893),O=function(m){var c=m.userLevel,S=m.requiredLevel,W=(0,r.useState)(null),o=u()(W,2),L=o[0],x=o[1],B=(0,r.useState)(""),h=u()(B,2),p=h[0],R=h[1],U=(0,r.useState)(""),g=u()(U,2),b=g[0],y=g[1],I=(0,r.useState)(""),v=u()(I,2),E=v[0],l=v[1],K=function(a){x(a.target.files[0])},F=function(){var t=f()(d()().mark(function a(D){var s,P;return d()().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(D.preventDefault(),!(c<S)){_.next=4;break}return l("\u60A8\u7684\u7528\u6237\u7B49\u7EA7\u4E0D\u8DB3\uFF0C\u65E0\u6CD5\u4E0A\u4F20\u79CD\u5B50\u3002"),_.abrupt("return");case 4:return s=new FormData,s.append("file",L),s.append("seedName",p),s.append("tags",b),_.prev=8,_.next=11,A().post("/api/upload",s,{headers:{"Content-Type":"multipart/form-data"}});case 11:P=_.sent,l(P.data.message),_.next=18;break;case 15:_.prev=15,_.t0=_.catch(8),l("\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\u3002");case 18:case"end":return _.stop()}},a,null,[[8,15]])}));return function(D){return t.apply(this,arguments)}}();return(0,e.jsxs)("div",{children:[(0,e.jsx)("h1",{children:"\u8D44\u6E90\u4E0A\u4F20"}),(0,e.jsxs)("form",{onSubmit:F,children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("label",{children:"\u79CD\u5B50\u540D\u79F0:"}),(0,e.jsx)("input",{type:"text",value:p,onChange:function(a){return R(a.target.value)},required:!0})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("label",{children:"\u6807\u7B7E:"}),(0,e.jsx)("input",{type:"text",value:b,onChange:function(a){return y(a.target.value)}})]}),(0,e.jsxs)("div",{children:[(0,e.jsx)("label",{children:"\u9009\u62E9\u6587\u4EF6:"}),(0,e.jsx)("input",{type:"file",onChange:K,required:!0})]}),(0,e.jsx)("button",{type:"submit",children:"\u4E0A\u4F20"})]}),E&&(0,e.jsx)("p",{children:E})]})};i.default=O}}]);
