Merge pull request #191 from Jialin0502/master

二维码修复和优化,安全性优化,描述优化。QR code repair and optimization, security optimization, description optimization.
This commit is contained in:
Lan
2024-07-28 22:31:55 +08:00
committed by GitHub
26 changed files with 60 additions and 45 deletions
+2 -2
View File
@@ -46,10 +46,10 @@ async def get_expire_info(expire_value: int, expire_style: str):
if int(settings.max_save_seconds) > 0:
max_timedelta = datetime.timedelta(seconds=settings.max_save_seconds)
detail = await max_save_times_desc(settings.max_save_seconds)
detail = f'保存时间超过限制,{detail[0]}'
detail = f'限制最长时间为 {detail[0]},可换用其他方式'
else:
max_timedelta = datetime.timedelta(days=7)
detail = '保存时间超过限制最长保存时间:7天'
detail = '限制最长时间为 7天,可换用其他方式'
if expire_style == 'day':
if datetime.timedelta(days=expire_value) > max_timedelta:
raise HTTPException(status_code=403, detail=detail)
+10 -3
View File
@@ -23,6 +23,12 @@ share_api = APIRouter(
# 分享文本的API
@share_api.post('/text/', dependencies=[Depends(admin_required)])
async def share_text(text: str = Form(...), expire_value: int = Form(default=1, gt=0), expire_style: str = Form(default='day'), ip: str = Depends(ip_limit['upload'])):
# 获取大小
text_size = len(text.encode('utf-8'))
# 限制 222KB
max_txt_size = 222 * 1024 # 转换为字节
if text_size > max_txt_size:
raise HTTPException(status_code=403, detail=f'内容过多,建议采用文件形式')
# 获取过期信息
expired_at, expired_count, used_count, code = await get_expire_info(expire_value, expire_style)
# 创建一个新的FileCodes实例
@@ -47,9 +53,10 @@ async def share_text(text: str = Form(...), expire_value: int = Form(default=1,
@share_api.post('/file/', dependencies=[Depends(admin_required)])
async def share_file(expire_value: int = Form(default=1, gt=0), expire_style: str = Form(default='day'), file: UploadFile = File(...),
ip: str = Depends(ip_limit['upload'])):
# 检查文件大小是否超过限制
if file.size > int(settings.uploadSize):
raise HTTPException(status_code=403, detail=f'文件大小超过限制,最大为{settings.uploadSize}字节')
if file.size > settings.uploadSize:
# 转换为 MB 并格式化输出
max_size_mb = settings.uploadSize / (1024 * 1024)
raise HTTPException(status_code=403, detail=f'大小超过限制,最大为{max_size_mb:.2f} MB')
# 获取过期信息
if expire_style not in settings.expireStyle:
raise HTTPException(status_code=400, detail='过期时间类型错误')
+3 -3
View File
@@ -13,11 +13,11 @@ if not data_root.exists():
DEFAULT_CONFIG = {
'file_storage': 'local',
'name': '文件快递柜-FileCodeBox',
'name': '文件快递柜 - FileCodeBox',
'description': '开箱即用的文件快传系统',
'notify_title': '系统通知',
'notify_content': '欢迎使用FileCodeBox,本程序开源于 <a href="https://github.com/vastsa/FileCodeBox" target="_blank">Github</a> ,欢迎Star和Fork。',
'page_explain': '根据《中华人民共和国网络安全法》、《中华人民共和国刑法》、《中华人民共和国治安管理处罚法》等相关规定。 传播或存储违法、违规内容,会受到相关处罚,严重者将承担刑事责任。请勿上传非法文件,本站坚决配合相关部门,确保网络内容的安全,和谐,打造绿色网络环境。',
'notify_content': '欢迎使用 FileCodeBox,本程序开源于 <a href="https://github.com/vastsa/FileCodeBox" target="_blank">Github</a> ,欢迎Star和Fork。',
'page_explain': '请勿上传或分享违法内容。根据《中华人民共和国网络安全法》、《中华人民共和国刑法》、《中华人民共和国治安管理处罚法》等相关规定。 传播或存储违法、违规内容,会受到相关处罚,严重者将承担刑事责任。本站坚决配合相关部门,确保网络内容的安全,和谐,打造绿色网络环境。',
'keywords': 'FileCodeBox, 文件快递柜, 口令传送箱, 匿名口令分享文本, 文件',
's3_access_key_id': '',
's3_secret_access_key': '',
@@ -1 +1 @@
import{d as s,a8 as n,Y as c,W as e,a1 as r,$ as a,g as o,o as i}from"./index-BMDdhWSk.js";const l={style:{"text-align":"center"}},u={style:{color:"#333"},href:"https://github.com/vastsa/FileCodeBox"},f=s({__name:"AboutView",setup(_){const{t}=n();return(m,d)=>(i(),c("main",l,[e("span",null,[r(a(o(t)("admin.about.source1"))+" ",1),e("em",null,[e("a",u,a(o(t)("admin.about.source2")),1)])])]))}});export{f as default};
import{d as s,a8 as n,Y as c,W as e,a1 as r,$ as a,g as o,o as i}from"./index-B8Am18SQ.js";const l={style:{"text-align":"center"}},u={style:{color:"#333"},href:"https://github.com/vastsa/FileCodeBox"},f=s({__name:"AboutView",setup(_){const{t}=n();return(m,d)=>(i(),c("main",l,[e("span",null,[r(a(o(t)("admin.about.source1"))+" ",1),e("em",null,[e("a",u,a(o(t)("admin.about.source2")),1)])])]))}});export{f as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{c as y,k as F,a as l,m as C,s as _,g as v,n as N,o as E,h as K,p as j,q as u,r as B,e as R,b as q,f as W,j as Y,S as H,t as J}from"./el-popper-DA6dI8BR.js";import{bu as $,b9 as x,b6 as Q,bc as V,bv as X}from"./index-BMDdhWSk.js";import{q as Z}from"./el-input-Bra5w62E.js";function z(e,r){for(var n=-1,s=e==null?0:e.length;++n<s&&r(e[n],n,e)!==!1;);return e}function k(e,r){return e&&y(r,F(r),e)}function ee(e,r){return e&&y(r,l(r),e)}function re(e,r){return y(e,C(e),r)}var te=Object.getOwnPropertySymbols,L=te?function(e){for(var r=[];e;)Z(r,C(e)),e=v(e);return r}:_;function ne(e,r){return y(e,L(e),r)}function ae(e){return N(e,l,L)}var oe=Object.prototype,se=oe.hasOwnProperty;function ce(e){var r=e.length,n=new e.constructor(r);return r&&typeof e[0]=="string"&&se.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function ie(e,r){var n=r?E(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var be=/\w*$/;function fe(e){var r=new e.constructor(e.source,be.exec(e));return r.lastIndex=e.lastIndex,r}var O=$?$.prototype:void 0,w=O?O.valueOf:void 0;function ge(e){return w?Object(w.call(e)):{}}var ue="[object Boolean]",ye="[object Date]",Te="[object Map]",le="[object Number]",je="[object RegExp]",pe="[object Set]",Ae="[object String]",me="[object Symbol]",de="[object ArrayBuffer]",Se="[object DataView]",$e="[object Float32Array]",Oe="[object Float64Array]",we="[object Int8Array]",Ie="[object Int16Array]",he="[object Int32Array]",Fe="[object Uint8Array]",Ce="[object Uint8ClampedArray]",Ee="[object Uint16Array]",Be="[object Uint32Array]";function xe(e,r,n){var s=e.constructor;switch(r){case de:return E(e);case ue:case ye:return new s(+e);case Se:return ie(e,n);case $e:case Oe:case we:case Ie:case he:case Fe:case Ce:case Ee:case Be:return K(e,n);case Te:return new s;case le:case Ae:return new s(e);case je:return fe(e);case pe:return new s;case me:return ge(e)}}var Le="[object Map]";function Me(e){return x(e)&&j(e)==Le}var I=u&&u.isMap,Ue=I?B(I):Me,Pe="[object Set]";function De(e){return x(e)&&j(e)==Pe}var h=u&&u.isSet,Ge=h?B(h):De,_e=1,ve=2,Ne=4,M="[object Arguments]",Ke="[object Array]",Re="[object Boolean]",qe="[object Date]",We="[object Error]",U="[object Function]",Ye="[object GeneratorFunction]",He="[object Map]",Je="[object Number]",P="[object Object]",Qe="[object RegExp]",Ve="[object Set]",Xe="[object String]",Ze="[object Symbol]",ze="[object WeakMap]",ke="[object ArrayBuffer]",er="[object DataView]",rr="[object Float32Array]",tr="[object Float64Array]",nr="[object Int8Array]",ar="[object Int16Array]",or="[object Int32Array]",sr="[object Uint8Array]",cr="[object Uint8ClampedArray]",ir="[object Uint16Array]",br="[object Uint32Array]",t={};t[M]=t[Ke]=t[ke]=t[er]=t[Re]=t[qe]=t[rr]=t[tr]=t[nr]=t[ar]=t[or]=t[He]=t[Je]=t[P]=t[Qe]=t[Ve]=t[Xe]=t[Ze]=t[sr]=t[cr]=t[ir]=t[br]=!0;t[We]=t[U]=t[ze]=!1;function T(e,r,n,s,p,c){var a,f=r&_e,g=r&ve,D=r&Ne;if(a!==void 0)return a;if(!Q(e))return e;var A=V(e);if(A){if(a=ce(e),!f)return R(e,a)}else{var b=j(e),m=b==U||b==Ye;if(q(e))return W(e,f);if(b==P||b==M||m&&!p){if(a=g||m?{}:Y(e),!f)return g?ne(e,ee(a,e)):re(e,k(a,e))}else{if(!t[b])return p?e:{};a=xe(e,b,f)}}c||(c=new H);var d=c.get(e);if(d)return d;c.set(e,a),Ge(e)?e.forEach(function(o){a.add(T(o,r,n,o,e,c))}):Ue(e)&&e.forEach(function(o,i){a.set(i,T(o,r,n,i,e,c))});var G=D?g?ae:J:g?l:F,S=A?void 0:G(e);return z(S||e,function(o,i){S&&(i=o,o=e[i]),X(a,i,T(o,r,n,i,e,c))}),a}export{T as b};
import{c as y,k as F,a as l,m as C,s as _,g as v,n as N,o as E,h as K,p as j,q as u,r as B,e as R,b as q,f as W,j as Y,S as H,t as J}from"./el-popper-CE96w3Lg.js";import{bu as $,b9 as x,b6 as Q,bc as V,bv as X}from"./index-B8Am18SQ.js";import{q as Z}from"./el-input-DklOLKsm.js";function z(e,r){for(var n=-1,s=e==null?0:e.length;++n<s&&r(e[n],n,e)!==!1;);return e}function k(e,r){return e&&y(r,F(r),e)}function ee(e,r){return e&&y(r,l(r),e)}function re(e,r){return y(e,C(e),r)}var te=Object.getOwnPropertySymbols,L=te?function(e){for(var r=[];e;)Z(r,C(e)),e=v(e);return r}:_;function ne(e,r){return y(e,L(e),r)}function ae(e){return N(e,l,L)}var oe=Object.prototype,se=oe.hasOwnProperty;function ce(e){var r=e.length,n=new e.constructor(r);return r&&typeof e[0]=="string"&&se.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function ie(e,r){var n=r?E(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var be=/\w*$/;function fe(e){var r=new e.constructor(e.source,be.exec(e));return r.lastIndex=e.lastIndex,r}var O=$?$.prototype:void 0,w=O?O.valueOf:void 0;function ge(e){return w?Object(w.call(e)):{}}var ue="[object Boolean]",ye="[object Date]",Te="[object Map]",le="[object Number]",je="[object RegExp]",pe="[object Set]",Ae="[object String]",me="[object Symbol]",de="[object ArrayBuffer]",Se="[object DataView]",$e="[object Float32Array]",Oe="[object Float64Array]",we="[object Int8Array]",Ie="[object Int16Array]",he="[object Int32Array]",Fe="[object Uint8Array]",Ce="[object Uint8ClampedArray]",Ee="[object Uint16Array]",Be="[object Uint32Array]";function xe(e,r,n){var s=e.constructor;switch(r){case de:return E(e);case ue:case ye:return new s(+e);case Se:return ie(e,n);case $e:case Oe:case we:case Ie:case he:case Fe:case Ce:case Ee:case Be:return K(e,n);case Te:return new s;case le:case Ae:return new s(e);case je:return fe(e);case pe:return new s;case me:return ge(e)}}var Le="[object Map]";function Me(e){return x(e)&&j(e)==Le}var I=u&&u.isMap,Ue=I?B(I):Me,Pe="[object Set]";function De(e){return x(e)&&j(e)==Pe}var h=u&&u.isSet,Ge=h?B(h):De,_e=1,ve=2,Ne=4,M="[object Arguments]",Ke="[object Array]",Re="[object Boolean]",qe="[object Date]",We="[object Error]",U="[object Function]",Ye="[object GeneratorFunction]",He="[object Map]",Je="[object Number]",P="[object Object]",Qe="[object RegExp]",Ve="[object Set]",Xe="[object String]",Ze="[object Symbol]",ze="[object WeakMap]",ke="[object ArrayBuffer]",er="[object DataView]",rr="[object Float32Array]",tr="[object Float64Array]",nr="[object Int8Array]",ar="[object Int16Array]",or="[object Int32Array]",sr="[object Uint8Array]",cr="[object Uint8ClampedArray]",ir="[object Uint16Array]",br="[object Uint32Array]",t={};t[M]=t[Ke]=t[ke]=t[er]=t[Re]=t[qe]=t[rr]=t[tr]=t[nr]=t[ar]=t[or]=t[He]=t[Je]=t[P]=t[Qe]=t[Ve]=t[Xe]=t[Ze]=t[sr]=t[cr]=t[ir]=t[br]=!0;t[We]=t[U]=t[ze]=!1;function T(e,r,n,s,p,c){var a,f=r&_e,g=r&ve,D=r&Ne;if(a!==void 0)return a;if(!Q(e))return e;var A=V(e);if(A){if(a=ce(e),!f)return R(e,a)}else{var b=j(e),m=b==U||b==Ye;if(q(e))return W(e,f);if(b==P||b==M||m&&!p){if(a=g||m?{}:Y(e),!f)return g?ne(e,ee(a,e)):re(e,k(a,e))}else{if(!t[b])return p?e:{};a=xe(e,b,f)}}c||(c=new H);var d=c.get(e);if(d)return d;c.set(e,a),Ge(e)?e.forEach(function(o){a.add(T(o,r,n,o,e,c))}):Ue(e)&&e.forEach(function(o,i){a.set(i,T(o,r,n,i,e,c))});var G=D?g?ae:J:g?l:F,S=A?void 0:G(e);return z(S||e,function(o,i){S&&(i=o,o=e[i]),X(a,i,T(o,r,n,i,e,c))}),a}export{T as b};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{G as _,b as N,c as W,d as S,u as P,a as M,o as f,Y as V,W as m,r as y,f as c,g as l,e as h,w as g,C as v,at as k,X as C,M as b,Z as w,h as T,T as $,_ as H,j as I}from"./index-BMDdhWSk.js";import{c as R}from"./el-input-Bra5w62E.js";let u;const q=s=>{var a;if(!_)return 0;if(u!==void 0)return u;const o=document.createElement("div");o.className=`${s}-scrollbar__wrap`,o.style.visibility="hidden",o.style.width="100px",o.style.position="absolute",o.style.top="-9999px",document.body.appendChild(o);const n=o.offsetWidth;o.style.overflow="scroll";const e=document.createElement("div");e.style.width="100%",o.appendChild(e);const i=e.offsetWidth;return(a=o.parentNode)==null||a.removeChild(o),u=n-i,u};function A(s,a){if(!_)return;if(!a){s.scrollTop=0;return}const o=[];let n=a.offsetParent;for(;n!==null&&s!==n&&s.contains(n);)o.push(n),n=n.offsetParent;const e=a.offsetTop+o.reduce((t,d)=>t+d.offsetTop,0),i=e+a.offsetHeight,r=s.scrollTop,p=r+s.clientHeight;e<r?s.scrollTop=e:i>p&&(s.scrollTop=i-s.clientHeight)}const j=N({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:W},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),F={close:s=>s instanceof MouseEvent,click:s=>s instanceof MouseEvent},G=S({name:"ElTag"}),K=S({...G,props:j,emits:F,setup(s,{emit:a}){const o=s,n=R(),e=P("tag"),i=M(()=>{const{type:t,hit:d,effect:B,closable:E,round:z}=o;return[e.b(),e.is("closable",E),e.m(t||"primary"),e.m(n.value),e.m(B),e.is("hit",d),e.is("round",z)]}),r=t=>{a("close",t)},p=t=>{a("click",t)};return(t,d)=>t.disableTransitions?(f(),V("span",{key:0,class:c(l(i)),style:T({backgroundColor:t.color}),onClick:p},[m("span",{class:c(l(e).e("content"))},[y(t.$slots,"default")],2),t.closable?(f(),h(l(b),{key:0,class:c(l(e).e("close")),onClick:C(r,["stop"])},{default:g(()=>[v(l(k))]),_:1},8,["class","onClick"])):w("v-if",!0)],6)):(f(),h($,{key:1,name:`${l(e).namespace.value}-zoom-in-center`,appear:""},{default:g(()=>[m("span",{class:c(l(i)),style:T({backgroundColor:t.color}),onClick:p},[m("span",{class:c(l(e).e("content"))},[y(t.$slots,"default")],2),t.closable?(f(),h(l(b),{key:0,class:c(l(e).e("close")),onClick:C(r,["stop"])},{default:g(()=>[v(l(k))]),_:1},8,["class","onClick"])):w("v-if",!0)],6)]),_:3},8,["name"]))}});var X=H(K,[["__file","tag.vue"]]);const D=I(X);export{D as E,q as g,A as s,j as t};
import{G as _,b as N,c as W,d as S,u as P,a as M,o as f,Y as V,W as m,r as y,f as c,g as l,e as h,w as g,C as v,at as k,X as C,M as b,Z as w,h as T,T as $,_ as H,j as I}from"./index-B8Am18SQ.js";import{c as R}from"./el-input-DklOLKsm.js";let u;const q=s=>{var a;if(!_)return 0;if(u!==void 0)return u;const o=document.createElement("div");o.className=`${s}-scrollbar__wrap`,o.style.visibility="hidden",o.style.width="100px",o.style.position="absolute",o.style.top="-9999px",document.body.appendChild(o);const n=o.offsetWidth;o.style.overflow="scroll";const e=document.createElement("div");e.style.width="100%",o.appendChild(e);const i=e.offsetWidth;return(a=o.parentNode)==null||a.removeChild(o),u=n-i,u};function A(s,a){if(!_)return;if(!a){s.scrollTop=0;return}const o=[];let n=a.offsetParent;for(;n!==null&&s!==n&&s.contains(n);)o.push(n),n=n.offsetParent;const e=a.offsetTop+o.reduce((t,d)=>t+d.offsetTop,0),i=e+a.offsetHeight,r=s.scrollTop,p=r+s.clientHeight;e<r?s.scrollTop=e:i>p&&(s.scrollTop=i-s.clientHeight)}const j=N({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:W},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),F={close:s=>s instanceof MouseEvent,click:s=>s instanceof MouseEvent},G=S({name:"ElTag"}),K=S({...G,props:j,emits:F,setup(s,{emit:a}){const o=s,n=R(),e=P("tag"),i=M(()=>{const{type:t,hit:d,effect:B,closable:E,round:z}=o;return[e.b(),e.is("closable",E),e.m(t||"primary"),e.m(n.value),e.m(B),e.is("hit",d),e.is("round",z)]}),r=t=>{a("close",t)},p=t=>{a("click",t)};return(t,d)=>t.disableTransitions?(f(),V("span",{key:0,class:c(l(i)),style:T({backgroundColor:t.color}),onClick:p},[m("span",{class:c(l(e).e("content"))},[y(t.$slots,"default")],2),t.closable?(f(),h(l(b),{key:0,class:c(l(e).e("close")),onClick:C(r,["stop"])},{default:g(()=>[v(l(k))]),_:1},8,["class","onClick"])):w("v-if",!0)],6)):(f(),h($,{key:1,name:`${l(e).namespace.value}-zoom-in-center`,appear:""},{default:g(()=>[m("span",{class:c(l(i)),style:T({backgroundColor:t.color}),onClick:p},[m("span",{class:c(l(e).e("content"))},[y(t.$slots,"default")],2),t.closable?(f(),h(l(b),{key:0,class:c(l(e).e("close")),onClick:C(r,["stop"])},{default:g(()=>[v(l(k))]),_:1},8,["class","onClick"])):w("v-if",!0)],6)]),_:3},8,["name"]))}});var X=H(K,[["__file","tag.vue"]]);const D=I(X);export{D as E,q as g,A as s,j as t};
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{am as A,a2 as N}from"./index-BMDdhWSk.js";var o=(E=>(E[E.TEXT=1]="TEXT",E[E.CLASS=2]="CLASS",E[E.STYLE=4]="STYLE",E[E.PROPS=8]="PROPS",E[E.FULL_PROPS=16]="FULL_PROPS",E[E.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",E[E.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",E[E.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",E[E.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",E[E.NEED_PATCH=512]="NEED_PATCH",E[E.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",E[E.HOISTED=-1]="HOISTED",E[E.BAIL=-2]="BAIL",E))(o||{});const e=E=>{const _=A(E)?E:[E],S=[];return _.forEach(T=>{var r;A(T)?S.push(...e(T)):N(T)&&A(T.children)?S.push(...e(T.children)):(S.push(T),N(T)&&((r=T.component)!=null&&r.subTree)&&S.push(...e(T.component.subTree)))}),S};export{o as P,e as f};
import{am as A,a2 as N}from"./index-B8Am18SQ.js";var o=(E=>(E[E.TEXT=1]="TEXT",E[E.CLASS=2]="CLASS",E[E.STYLE=4]="STYLE",E[E.PROPS=8]="PROPS",E[E.FULL_PROPS=16]="FULL_PROPS",E[E.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",E[E.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",E[E.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",E[E.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",E[E.NEED_PATCH=512]="NEED_PATCH",E[E.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",E[E.HOISTED=-1]="HOISTED",E[E.BAIL=-2]="BAIL",E))(o||{});const e=E=>{const _=A(E)?E:[E],S=[];return _.forEach(T=>{var r;A(T)?S.push(...e(T)):N(T)&&A(T.children)?S.push(...e(T.children)):(S.push(T),N(T)&&((r=T.component)!=null&&r.subTree)&&S.push(...e(T.component.subTree)))}),S};export{o as P,e as f};
+1 -1
View File
@@ -8,7 +8,7 @@
<meta name="keywords" content="{{keywords}}" />
<meta name="generator" content="FileCodeBox2.1" />
<title>{{title}}</title>
<script type="module" crossorigin src="/assets/index-BMDdhWSk.js"></script>
<script type="module" crossorigin src="/assets/index-B8Am18SQ.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DNSLxJPA.css">
</head>
<body style="background: url('{{background}}') no-repeat center center fixed;background-size: cover;">

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

+11 -3
View File
@@ -62,7 +62,8 @@ function renderMarkdown(message: string) {
}
function getQrCodeUrl(code: string) {
return code.toString().startsWith('http') ? code : window.location.origin + '/#/?code=' +code;
// 否是接收的文件,如果是则返回下载直链,否则拼接分享链接
return code.toString().startsWith('/share/download') ? window.location.origin + code : window.location.origin + '/#/?code=' + code;
}
</script>
@@ -98,7 +99,11 @@ function getQrCodeUrl(code: string) {
</template>
<div style="width: 200px;">
<div style="display: flex;justify-content: space-between">
<qrcode-vue v-if="value.name!=='文本分享'" :value="getQrCodeUrl(value.text)" :size="100"></qrcode-vue>
<!-- 下载二维码白色边框 -->
<div v-if="value.name!=='文本分享'"
style="padding: 5px; background-color: white; border: 2px solid white; box-sizing: border-box; height: 114px;">
<qrcode-vue :value="getQrCodeUrl(value.text)" :size="100"></qrcode-vue>
</div>
<div v-else style="width: 100px;height: 100px;flex-wrap: wrap;overflow-y:scroll ">{{value.text}}</div>
<div style="display: flex;flex-direction: column;justify-content: space-around">
<el-tag size="large" style="cursor: pointer" @click="copyText(value.code)">{{ value.code }}</el-tag>
@@ -123,7 +128,10 @@ function getQrCodeUrl(code: string) {
<el-progress v-if="value.status!='success' && value.status!='fail'" striped :percentage="value.percentage" :text-inside="true"
:stroke-width="20"></el-progress>
<div v-else style="display: flex;justify-content: space-between">
<qrcode-vue :value="getQrCodeUrl(value.code)" :size="100"></qrcode-vue>
<!-- 分享二维码白色边框 -->
<div style="padding: 5px; background-color: white; border: 2px solid white; box-sizing: border-box; height: 114px;">
<qrcode-vue :value="getQrCodeUrl(value.code)" :size="100"></qrcode-vue>
</div>
<div style="display: flex;flex-direction: column;justify-content: space-around">
<el-tag size="large" style="cursor: pointer" @click="copyText(value.code)">{{ value.code }}</el-tag>
<el-tag size="large" type="success" style="cursor: pointer" @click="copyText(value.code,1);">{{ t('fileBox.copyLink') }}
+1 -1
View File
@@ -1,6 +1,6 @@
export default {
send: {
disclaimers: 'Page Instructions',
disclaimers: 'Terms and Conditions',
prompt1: 'Drag and drop text or files here, or ',
prompt2: 'Days <7 or limited number of times (deleted after 24h)',
prompt3: 'Please enter the text you want to send, supports MarkDown format',
+1 -1
View File
@@ -1,6 +1,6 @@
export default {
send: {
disclaimers: 'Avisos legales',
disclaimers: 'Términos y condiciones',
prompt1: 'Arrastre, pegue el texto, archivos aquí, o ',
prompt2: 'Días<7 o límite de veces (elimina después de 24h)',
prompt3: 'Ingrese el texto que desea enviar, admite formato MarkDown',
+1 -1
View File
@@ -1,6 +1,6 @@
export default {
send: {
disclaimers:'系统说明',
disclaimers:'使用须知',
prompt1: '将文字、文件拖、粘贴到此处,或 ',
prompt2: '天数<7或限制次数(24h后删除)',
prompt3: '请输入您要寄出的文本,支持MarkDown格式',
+1 -1
View File
@@ -1,6 +1,6 @@
export default {
send: {
disclaimers:'页面说明',
disclaimers:'使用须知',
prompt1: '将文字、文件拖、粘贴到此处,或 ',
prompt2: '天数<7或限制次数(24h后删除)',
prompt3: '请输入您要寄出的文本,支持MarkDown格式',
+1 -1
View File
@@ -1,6 +1,6 @@
export default {
send: {
disclaimers:'頁面說明',
disclaimers:'使用須知',
prompt1: '將文字、文件拖、貼到此處,或 ',
prompt2: '天數<7或限制次數(24h後刪除)',
prompt3: '請輸入您要寄出的文本,支持MarkDown格式',