diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..ed8952d --- /dev/null +++ b/.env.example @@ -0,0 +1,43 @@ +# ============== 环境变量模板 ============== +# 复制为 .env.development / .env.production / .env.test 后填入真实值。 +# 真实值不要 commit 到 git。 + +# 当前模式名(dev / test / prod) +VITE_MODE_NAME=development + +# 资源 CDN 前缀 +VITE_RES_URL=http://localhost:3000/ + +# 后端 API 基础地址 +# dev: http://localhost:8080/auth +# prod: https://www.violin-home.cn +VITE_APP_URL=http://localhost:8080/auth + +# 应用元信息 +VITE_APP_TITLE=violin-home +VITE_APP_ID=123456 +VITE_AGENT_ID=123456 + +# 是否启用 mock(dev 启用,prod 关闭) +VITE_LOGIN_TEST=true + +# ============== OIDC / Authentik 配置 ============== +# 三个环境的 issuer + client-id + redirect-uri 都不一样。 +# dev 与 prod 必须用 Authentik 后台两个独立的 Application, +# 因为 redirect-uri 不同(dev 走 localhost,prod 走域名)。 + +# Authentik 域名(dev / prod 共用,dev 仅用于登录页跳转) +VITE_OIDC_ISSUER=https://auth.violin-work.online + +# 客户端 ID(在 Authentik 后台创建) +# dev: violin-home-dev +# prod: violin-home +VITE_OIDC_CLIENT_ID= + +# 回调 URI(必须与 Authentik 后台配置的完全一致) +# dev: http://localhost:3000/auth/callback +# prod: https://www.violin-home.cn/auth/callback +VITE_OIDC_REDIRECT_URI= + +# 编辑器标识 +VITE_EDITOR=vscode diff --git a/.gitignore b/.gitignore index bb0506b..b18e52e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,10 +9,17 @@ lerna-debug.log* node_modules dist-ssr +dist *.local +# 临时文件 +tmp/ +.opencode/ +.opencode/tmp/ + # 配置文件信息不能暴露 .env.* +!.env.example # Editor directories and files .vscode/* diff --git a/AGENT.md b/AGENT.md index fb4d8fa..3722644 100644 --- a/AGENT.md +++ b/AGENT.md @@ -1 +1,210 @@ -# AGENT.md +# AGENT.md — violin-home + +> 面向 AI agent 的工程导览:模块关系、路由约定、与后端的契约、扩展点。 +> 代码即事实,本文件是索引;如代码与本文档冲突,**以代码为准**。 + +--- + +## 项目定位 + +violin-home 是 **violin 微服务套件的统一前端门户**,部署在 `https://www.violin-home.cn/`。 + +- 认证:**Authentik OIDC**,回调路径 `/auth/callback`,前端把 code POST 到 `violin-auth` 服务换 token +- 后端:依赖 violin-auth(认证)/ violin-bookmark(书签)/ violin-calendar(日历)/ violin-onenote / violin-cloud / 等子服务 +- 域名:生产 `https://www.violin-home.cn/`;本地 dev 走 `.env.development` 的 `VITE_APP_URL` + +--- + +## 技术栈 + +| 维度 | 选型 | +|------|------| +| 框架 | Vue 3.5 + Composition API (` - - - - -
- - - - \ No newline at end of file diff --git a/dist/resets/blog.963d84ca.js b/dist/resets/blog.963d84ca.js deleted file mode 100644 index b608bb1..0000000 --- a/dist/resets/blog.963d84ca.js +++ /dev/null @@ -1,10 +0,0 @@ -import{H as R}from"./index.e20aada4.js";//! moment.js -//! version : 2.29.4 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -var Nt;function l(){return Nt.apply(null,arguments)}function ps(e){Nt=e}function U(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function ne(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function y(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ot(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var t;for(t in e)if(y(e,t))return!1;return!0}function x(e){return e===void 0}function Q(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function pe(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function Rt(e,t){var s=[],r,a=e.length;for(r=0;r>>0,r;for(r=0;r0)for(s=0;s=0;return(i?s?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}var ht=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Te=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Qe={},he={};function h(e,t,s,r){var a=r;typeof r=="string"&&(a=function(){return this[r]()}),e&&(he[e]=a),t&&(he[t[0]]=function(){return G(a.apply(this,arguments),t[1],t[2])}),s&&(he[s]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function bs(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function xs(e){var t=e.match(ht),s,r;for(s=0,r=t.length;s=0&&Te.test(e);)e=e.replace(Te,r),Te.lastIndex=0,s-=1;return e}var Ws={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function Ps(e){var t=this._longDateFormat[e],s=this._longDateFormat[e.toUpperCase()];return t||!s?t:(this._longDateFormat[e]=s.match(ht).map(function(r){return r==="MMMM"||r==="MM"||r==="DD"||r==="dddd"?r.slice(1):r}).join(""),this._longDateFormat[e])}var Ns="Invalid date";function Rs(){return this._invalidDate}var Fs="%d",Ls=/\d{1,2}/;function Cs(e){return this._ordinal.replace("%d",e)}var Is={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Us(e,t,s,r){var a=this._relativeTime[s];return j(a)?a(e,t,s,r):a.replace(/%d/i,e)}function Es(e,t){var s=this._relativeTime[e>0?"future":"past"];return j(s)?s(t):s.replace(/%s/i,t)}var ke={};function O(e,t){var s=e.toLowerCase();ke[s]=ke[s+"s"]=ke[t]=e}function L(e){return typeof e=="string"?ke[e]||ke[e.toLowerCase()]:void 0}function ft(e){var t={},s,r;for(r in e)y(e,r)&&(s=L(r),s&&(t[s]=e[r]));return t}var It={};function T(e,t){It[e]=t}function Hs(e){var t=[],s;for(s in e)y(e,s)&&t.push({unit:s,priority:It[s]});return t.sort(function(r,a){return r.priority-a.priority}),t}function Ee(e){return e%4===0&&e%100!==0||e%400===0}function N(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function m(e){var t=+e,s=0;return t!==0&&isFinite(t)&&(s=N(t)),s}function me(e,t){return function(s){return s!=null?(Ut(this,e,s),l.updateOffset(this,t),this):Ne(this,e)}}function Ne(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function Ut(e,t,s){e.isValid()&&!isNaN(s)&&(t==="FullYear"&&Ee(e.year())&&e.month()===1&&e.date()===29?(s=m(s),e._d["set"+(e._isUTC?"UTC":"")+t](s,e.month(),ze(s,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](s))}function As(e){return e=L(e),j(this[e])?this[e]():this}function Gs(e,t){if(typeof e=="object"){e=ft(e);var s=Hs(e),r,a=s.length;for(r=0;r68?1900:2e3)};var Bt=me("FullYear",!0);function or(){return Ee(this.year())}function lr(e,t,s,r,a,i,n){var d;return e<100&&e>=0?(d=new Date(e+400,t,s,r,a,i,n),isFinite(d.getFullYear())&&d.setFullYear(e)):d=new Date(e,t,s,r,a,i,n),d}function Me(e){var t,s;return e<100&&e>=0?(s=Array.prototype.slice.call(arguments),s[0]=e+400,t=new Date(Date.UTC.apply(null,s)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Fe(e,t,s){var r=7+t-s,a=(7+Me(e,0,r).getUTCDay()-t)%7;return-a+r-1}function qt(e,t,s,r,a){var i=(7+s-r)%7,n=Fe(e,r,a),d=1+7*(t-1)+i+n,c,k;return d<=0?(c=e-1,k=Se(c)+d):d>Se(e)?(c=e+1,k=d-Se(e)):(c=e,k=d),{year:c,dayOfYear:k}}function ve(e,t,s){var r=Fe(e.year(),t,s),a=Math.floor((e.dayOfYear()-r-1)/7)+1,i,n;return a<1?(n=e.year()-1,i=a+J(n,t,s)):a>J(e.year(),t,s)?(i=a-J(e.year(),t,s),n=e.year()+1):(n=e.year(),i=a),{week:i,year:n}}function J(e,t,s){var r=Fe(e,t,s),a=Fe(e+1,t,s);return(Se(e)-r+a)/7}h("w",["ww",2],"wo","week");h("W",["WW",2],"Wo","isoWeek");O("week","w");O("isoWeek","W");T("week",5);T("isoWeek",5);u("w",v);u("ww",v,P);u("W",v);u("WW",v,P);Oe(["w","ww","W","WW"],function(e,t,s,r){t[r.substr(0,1)]=m(e)});function ur(e){return ve(e,this._week.dow,this._week.doy).week}var dr={dow:0,doy:6};function hr(){return this._week.dow}function fr(){return this._week.doy}function cr(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function mr(e){var t=ve(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}h("d",0,"do","day");h("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)});h("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)});h("dddd",0,0,function(e){return this.localeData().weekdays(this,e)});h("e",0,0,"weekday");h("E",0,0,"isoWeekday");O("day","d");O("weekday","e");O("isoWeekday","E");T("day",11);T("weekday",11);T("isoWeekday",11);u("d",v);u("e",v);u("E",v);u("dd",function(e,t){return t.weekdaysMinRegex(e)});u("ddd",function(e,t){return t.weekdaysShortRegex(e)});u("dddd",function(e,t){return t.weekdaysRegex(e)});Oe(["dd","ddd","dddd"],function(e,t,s,r){var a=s._locale.weekdaysParse(e,r,s._strict);a!=null?t.d=a:f(s).invalidWeekday=e});Oe(["d","e","E"],function(e,t,s,r){t[r]=m(e)});function _r(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function yr(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function _t(e,t){return e.slice(t,7).concat(e.slice(0,t))}var wr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Jt="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),kr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Sr=Ye,Mr=Ye,vr=Ye;function Dr(e,t){var s=U(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?_t(s,this._week.dow):e?s[e.day()]:s}function pr(e){return e===!0?_t(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function gr(e){return e===!0?_t(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Yr(e,t,s){var r,a,i,n=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)i=V([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(i,"").toLocaleLowerCase();return s?t==="dddd"?(a=p.call(this._weekdaysParse,n),a!==-1?a:null):t==="ddd"?(a=p.call(this._shortWeekdaysParse,n),a!==-1?a:null):(a=p.call(this._minWeekdaysParse,n),a!==-1?a:null):t==="dddd"?(a=p.call(this._weekdaysParse,n),a!==-1||(a=p.call(this._shortWeekdaysParse,n),a!==-1)?a:(a=p.call(this._minWeekdaysParse,n),a!==-1?a:null)):t==="ddd"?(a=p.call(this._shortWeekdaysParse,n),a!==-1||(a=p.call(this._weekdaysParse,n),a!==-1)?a:(a=p.call(this._minWeekdaysParse,n),a!==-1?a:null)):(a=p.call(this._minWeekdaysParse,n),a!==-1||(a=p.call(this._weekdaysParse,n),a!==-1)?a:(a=p.call(this._shortWeekdaysParse,n),a!==-1?a:null))}function Or(e,t,s){var r,a,i;if(this._weekdaysParseExact)return Yr.call(this,e,t,s);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(a=V([2e3,1]).day(r),s&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(i="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[r]=new RegExp(i.replace(".",""),"i")),s&&t==="dddd"&&this._fullWeekdaysParse[r].test(e))return r;if(s&&t==="ddd"&&this._shortWeekdaysParse[r].test(e))return r;if(s&&t==="dd"&&this._minWeekdaysParse[r].test(e))return r;if(!s&&this._weekdaysParse[r].test(e))return r}}function Tr(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=_r(e,this.localeData()),this.add(e-t,"d")):t}function br(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function xr(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=yr(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function Wr(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||yt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(y(this,"_weekdaysRegex")||(this._weekdaysRegex=Sr),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Pr(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||yt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(y(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Mr),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Nr(e){return this._weekdaysParseExact?(y(this,"_weekdaysRegex")||yt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(y(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=vr),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function yt(){function e(b,z){return z.length-b.length}var t=[],s=[],r=[],a=[],i,n,d,c,k;for(i=0;i<7;i++)n=V([2e3,1]).day(i),d=W(this.weekdaysMin(n,"")),c=W(this.weekdaysShort(n,"")),k=W(this.weekdays(n,"")),t.push(d),s.push(c),r.push(k),a.push(d),a.push(c),a.push(k);t.sort(e),s.sort(e),r.sort(e),a.sort(e),this._weekdaysRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function wt(){return this.hours()%12||12}function Rr(){return this.hours()||24}h("H",["HH",2],0,"hour");h("h",["hh",2],0,wt);h("k",["kk",2],0,Rr);h("hmm",0,0,function(){return""+wt.apply(this)+G(this.minutes(),2)});h("hmmss",0,0,function(){return""+wt.apply(this)+G(this.minutes(),2)+G(this.seconds(),2)});h("Hmm",0,0,function(){return""+this.hours()+G(this.minutes(),2)});h("Hmmss",0,0,function(){return""+this.hours()+G(this.minutes(),2)+G(this.seconds(),2)});function Qt(e,t){h(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}Qt("a",!0);Qt("A",!1);O("hour","h");T("hour",13);function Xt(e,t){return t._meridiemParse}u("a",Xt);u("A",Xt);u("H",v);u("h",v);u("k",v);u("HH",v,P);u("hh",v,P);u("kk",v,P);u("hmm",At);u("hmmss",Gt);u("Hmm",At);u("Hmmss",Gt);S(["H","HH"],g);S(["k","kk"],function(e,t,s){var r=m(e);t[g]=r===24?0:r});S(["a","A"],function(e,t,s){s._isPm=s._locale.isPM(e),s._meridiem=e});S(["h","hh"],function(e,t,s){t[g]=m(e),f(s).bigHour=!0});S("hmm",function(e,t,s){var r=e.length-2;t[g]=m(e.substr(0,r)),t[I]=m(e.substr(r)),f(s).bigHour=!0});S("hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[g]=m(e.substr(0,r)),t[I]=m(e.substr(r,2)),t[q]=m(e.substr(a)),f(s).bigHour=!0});S("Hmm",function(e,t,s){var r=e.length-2;t[g]=m(e.substr(0,r)),t[I]=m(e.substr(r))});S("Hmmss",function(e,t,s){var r=e.length-4,a=e.length-2;t[g]=m(e.substr(0,r)),t[I]=m(e.substr(r,2)),t[q]=m(e.substr(a))});function Fr(e){return(e+"").toLowerCase().charAt(0)==="p"}var Lr=/[ap]\.?m?\.?/i,Cr=me("Hours",!0);function Ir(e,t,s){return e>11?s?"pm":"PM":s?"am":"AM"}var Kt={calendar:Os,longDateFormat:Ws,invalidDate:Ns,ordinal:Fs,dayOfMonthOrdinalParse:Ls,relativeTime:Is,months:Qs,monthsShort:Vt,week:dr,weekdays:wr,weekdaysMin:kr,weekdaysShort:Jt,meridiemParse:Lr},D={},ye={},De;function Ur(e,t){var s,r=Math.min(e.length,t.length);for(s=0;s0;){if(a=Ze(i.slice(0,s).join("-")),a)return a;if(r&&r.length>=s&&Ur(i,r)>=s-1)break;s--}t++}return De}function Hr(e){return e.match("^[^/\\\\]*$")!=null}function Ze(e){var t=null,s;if(D[e]===void 0&&typeof module!="undefined"&&module&&module.exports&&Hr(e))try{t=De._abbr,s=require,s("./locale/"+e),re(t)}catch{D[e]=null}return D[e]}function re(e,t){var s;return e&&(x(t)?s=X(e):s=kt(e,t),s?De=s:typeof console!="undefined"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),De._abbr}function kt(e,t){if(t!==null){var s,r=Kt;if(t.abbr=e,D[e]!=null)Lt("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=D[e]._config;else if(t.parentLocale!=null)if(D[t.parentLocale]!=null)r=D[t.parentLocale]._config;else if(s=Ze(t.parentLocale),s!=null)r=s._config;else return ye[t.parentLocale]||(ye[t.parentLocale]=[]),ye[t.parentLocale].push({name:e,config:t}),null;return D[e]=new dt(tt(r,t)),ye[e]&&ye[e].forEach(function(a){kt(a.name,a.config)}),re(e),D[e]}else return delete D[e],null}function Ar(e,t){if(t!=null){var s,r,a=Kt;D[e]!=null&&D[e].parentLocale!=null?D[e].set(tt(D[e]._config,t)):(r=Ze(e),r!=null&&(a=r._config),t=tt(a,t),r==null&&(t.abbr=e),s=new dt(t),s.parentLocale=D[e],D[e]=s),re(e)}else D[e]!=null&&(D[e].parentLocale!=null?(D[e]=D[e].parentLocale,e===re()&&re(e)):D[e]!=null&&delete D[e]);return D[e]}function X(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return De;if(!U(e)){if(t=Ze(e),t)return t;e=[e]}return Er(e)}function Gr(){return st(D)}function St(e){var t,s=e._a;return s&&f(e).overflow===-2&&(t=s[B]<0||s[B]>11?B:s[A]<1||s[A]>ze(s[Y],s[B])?A:s[g]<0||s[g]>24||s[g]===24&&(s[I]!==0||s[q]!==0||s[ie]!==0)?g:s[I]<0||s[I]>59?I:s[q]<0||s[q]>59?q:s[ie]<0||s[ie]>999?ie:-1,f(e)._overflowDayOfYear&&(tA)&&(t=A),f(e)._overflowWeeks&&t===-1&&(t=Bs),f(e)._overflowWeekday&&t===-1&&(t=qs),f(e).overflow=t),e}var Vr=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,jr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,zr=/Z|[+-]\d\d(?::?\d\d)?/,be=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Xe=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Zr=/^\/?Date\((-?\d+)/i,$r=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Br={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function es(e){var t,s,r=e._i,a=Vr.exec(r)||jr.exec(r),i,n,d,c,k=be.length,b=Xe.length;if(a){for(f(e).iso=!0,t=0,s=k;tSe(n)||e._dayOfYear===0)&&(f(e)._overflowDayOfYear=!0),s=Me(n,0,e._dayOfYear),e._a[B]=s.getUTCMonth(),e._a[A]=s.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=r[t]=a[t];for(;t<7;t++)e._a[t]=r[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[g]===24&&e._a[I]===0&&e._a[q]===0&&e._a[ie]===0&&(e._nextDay=!0,e._a[g]=0),e._d=(e._useUTC?Me:lr).apply(null,r),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[g]=24),e._w&&typeof e._w.d!="undefined"&&e._w.d!==i&&(f(e).weekdayMismatch=!0)}}function sa(e){var t,s,r,a,i,n,d,c,k;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(i=1,n=4,s=ue(t.GG,e._a[Y],ve(M(),1,4).year),r=ue(t.W,1),a=ue(t.E,1),(a<1||a>7)&&(c=!0)):(i=e._locale._week.dow,n=e._locale._week.doy,k=ve(M(),i,n),s=ue(t.gg,e._a[Y],k.year),r=ue(t.w,k.week),t.d!=null?(a=t.d,(a<0||a>6)&&(c=!0)):t.e!=null?(a=t.e+i,(t.e<0||t.e>6)&&(c=!0)):a=i),r<1||r>J(s,i,n)?f(e)._overflowWeeks=!0:c!=null?f(e)._overflowWeekday=!0:(d=qt(s,r,a,i,n),e._a[Y]=d.year,e._dayOfYear=d.dayOfYear)}l.ISO_8601=function(){};l.RFC_2822=function(){};function vt(e){if(e._f===l.ISO_8601){es(e);return}if(e._f===l.RFC_2822){ts(e);return}e._a=[],f(e).empty=!0;var t=""+e._i,s,r,a,i,n,d=t.length,c=0,k,b;for(a=Ct(e._f,e._locale).match(ht)||[],b=a.length,s=0;s0&&f(e).unusedInput.push(n),t=t.slice(t.indexOf(r)+r.length),c+=r.length),he[i]?(r?f(e).empty=!1:f(e).unusedTokens.push(i),$s(i,r,e)):e._strict&&!r&&f(e).unusedTokens.push(i);f(e).charsLeftOver=d-c,t.length>0&&f(e).unusedInput.push(t),e._a[g]<=12&&f(e).bigHour===!0&&e._a[g]>0&&(f(e).bigHour=void 0),f(e).parsedDateParts=e._a.slice(0),f(e).meridiem=e._meridiem,e._a[g]=ra(e._locale,e._a[g],e._meridiem),k=f(e).era,k!==null&&(e._a[Y]=e._locale.erasConvertYear(k,e._a[Y])),Mt(e),St(e)}function ra(e,t,s){var r;return s==null?t:e.meridiemHour!=null?e.meridiemHour(t,s):(e.isPM!=null&&(r=e.isPM(s),r&&t<12&&(t+=12),!r&&t===12&&(t=0)),t)}function aa(e){var t,s,r,a,i,n,d=!1,c=e._f.length;if(c===0){f(e).invalidFormat=!0,e._d=new Date(NaN);return}for(a=0;athis?this:e:Ue()});function as(e,t){var s,r;if(t.length===1&&U(t[0])&&(t=t[0]),!t.length)return M();for(s=t[0],r=1;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ya(){if(!x(this._isDSTShifted))return this._isDSTShifted;var e={},t;return ut(e,this),e=ss(e),e._a?(t=e._isUTC?V(e._a):M(e._a),this._isDSTShifted=this.isValid()&&ya(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Oa(){return this.isValid()?!this._isUTC:!1}function Ta(){return this.isValid()?this._isUTC:!1}function ns(){return this.isValid()?this._isUTC&&this._offset===0:!1}var ba=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,xa=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function H(e,t){var s=e,r=null,a,i,n;return We(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:Q(e)||!isNaN(+e)?(s={},t?s[t]=+e:s.milliseconds=+e):(r=ba.exec(e))?(a=r[1]==="-"?-1:1,s={y:0,d:m(r[A])*a,h:m(r[g])*a,m:m(r[I])*a,s:m(r[q])*a,ms:m(at(r[ie]*1e3))*a}):(r=xa.exec(e))?(a=r[1]==="-"?-1:1,s={y:ae(r[2],a),M:ae(r[3],a),w:ae(r[4],a),d:ae(r[5],a),h:ae(r[6],a),m:ae(r[7],a),s:ae(r[8],a)}):s==null?s={}:typeof s=="object"&&("from"in s||"to"in s)&&(n=Wa(M(s.from),M(s.to)),s={},s.ms=n.milliseconds,s.M=n.months),i=new $e(s),We(e)&&y(e,"_locale")&&(i._locale=e._locale),We(e)&&y(e,"_isValid")&&(i._isValid=e._isValid),i}H.fn=$e.prototype;H.invalid=_a;function ae(e,t){var s=e&&parseFloat(e.replace(",","."));return(isNaN(s)?0:s)*t}function Wt(e,t){var s={};return s.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(s.months,"M").isAfter(t)&&--s.months,s.milliseconds=+t-+e.clone().add(s.months,"M"),s}function Wa(e,t){var s;return e.isValid()&&t.isValid()?(t=pt(t,e),e.isBefore(t)?s=Wt(e,t):(s=Wt(t,e),s.milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0}}function os(e,t){return function(s,r){var a,i;return r!==null&&!isNaN(+r)&&(Lt(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=s,s=r,r=i),a=H(s,r),ls(this,a,e),this}}function ls(e,t,s,r){var a=t._milliseconds,i=at(t._days),n=at(t._months);!e.isValid()||(r=r==null?!0:r,n&&zt(e,Ne(e,"Month")+n*s),i&&Ut(e,"Date",Ne(e,"Date")+i*s),a&&e._d.setTime(e._d.valueOf()+a*s),r&&l.updateOffset(e,i||n))}var Pa=os(1,"add"),Na=os(-1,"subtract");function us(e){return typeof e=="string"||e instanceof String}function Ra(e){return E(e)||pe(e)||us(e)||Q(e)||La(e)||Fa(e)||e===null||e===void 0}function Fa(e){var t=ne(e)&&!ot(e),s=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a,i,n=r.length;for(a=0;as.valueOf():s.valueOf()9999?xe(s,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):j(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",xe(s,"Z")):xe(s,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function qa(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",s,r,a,i;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),s="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",i=t+'[")]',this.format(s+r+a+i)}function Ja(e){e||(e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat);var t=xe(this,e);return this.localeData().postformat(t)}function Qa(e,t){return this.isValid()&&(E(e)&&e.isValid()||M(e).isValid())?H({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Xa(e){return this.from(M(),e)}function Ka(e,t){return this.isValid()&&(E(e)&&e.isValid()||M(e).isValid())?H({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function ei(e){return this.to(M(),e)}function ds(e){var t;return e===void 0?this._locale._abbr:(t=X(e),t!=null&&(this._locale=t),this)}var hs=F("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function fs(){return this._locale}var Le=1e3,fe=60*Le,Ce=60*fe,cs=(365*400+97)*24*Ce;function ce(e,t){return(e%t+t)%t}function ms(e,t,s){return e<100&&e>=0?new Date(e+400,t,s)-cs:new Date(e,t,s).valueOf()}function _s(e,t,s){return e<100&&e>=0?Date.UTC(e+400,t,s)-cs:Date.UTC(e,t,s)}function ti(e){var t,s;if(e=L(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?_s:ms,e){case"year":t=s(this.year(),0,1);break;case"quarter":t=s(this.year(),this.month()-this.month()%3,1);break;case"month":t=s(this.year(),this.month(),1);break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=s(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=ce(t+(this._isUTC?0:this.utcOffset()*fe),Ce);break;case"minute":t=this._d.valueOf(),t-=ce(t,fe);break;case"second":t=this._d.valueOf(),t-=ce(t,Le);break}return this._d.setTime(t),l.updateOffset(this,!0),this}function si(e){var t,s;if(e=L(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(s=this._isUTC?_s:ms,e){case"year":t=s(this.year()+1,0,1)-1;break;case"quarter":t=s(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=s(this.year(),this.month()+1,1)-1;break;case"week":t=s(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=s(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=s(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=Ce-ce(t+(this._isUTC?0:this.utcOffset()*fe),Ce)-1;break;case"minute":t=this._d.valueOf(),t+=fe-ce(t,fe)-1;break;case"second":t=this._d.valueOf(),t+=Le-ce(t,Le)-1;break}return this._d.setTime(t),l.updateOffset(this,!0),this}function ri(){return this._d.valueOf()-(this._offset||0)*6e4}function ai(){return Math.floor(this.valueOf()/1e3)}function ii(){return new Date(this.valueOf())}function ni(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function oi(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function li(){return this.isValid()?this.toISOString():null}function ui(){return lt(this)}function di(){return te({},f(this))}function hi(){return f(this).overflow}function fi(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}h("N",0,0,"eraAbbr");h("NN",0,0,"eraAbbr");h("NNN",0,0,"eraAbbr");h("NNNN",0,0,"eraName");h("NNNNN",0,0,"eraNarrow");h("y",["y",1],"yo","eraYear");h("y",["yy",2],0,"eraYear");h("y",["yyy",3],0,"eraYear");h("y",["yyyy",4],0,"eraYear");u("N",gt);u("NN",gt);u("NNN",gt);u("NNNN",pi);u("NNNNN",gi);S(["N","NN","NNN","NNNN","NNNNN"],function(e,t,s,r){var a=s._locale.erasParse(e,r,s._strict);a?f(s).era=a:f(s).invalidEra=e});u("y",_e);u("yy",_e);u("yyy",_e);u("yyyy",_e);u("yo",Yi);S(["y","yy","yyy","yyyy"],Y);S(["yo"],function(e,t,s,r){var a;s._locale._eraYearOrdinalRegex&&(a=e.match(s._locale._eraYearOrdinalRegex)),s._locale.eraYearOrdinalParse?t[Y]=s._locale.eraYearOrdinalParse(e,a):t[Y]=parseInt(e,10)});function ci(e,t){var s,r,a,i=this._eras||X("en")._eras;for(s=0,r=i.length;s=0)return i[r]}function _i(e,t){var s=e.since<=e.until?1:-1;return t===void 0?l(e.since).year():l(e.since).year()+(t-e.offset)*s}function yi(){var e,t,s,r=this.localeData().eras();for(e=0,t=r.length;ei&&(t=i),Ni.call(this,e,t,s,r,a))}function Ni(e,t,s,r,a){var i=qt(e,t,s,r,a),n=Me(i.year,0,i.dayOfYear);return this.year(n.getUTCFullYear()),this.month(n.getUTCMonth()),this.date(n.getUTCDate()),this}h("Q",0,"Qo","quarter");O("quarter","Q");T("quarter",7);u("Q",Et);S("Q",function(e,t){t[B]=(m(e)-1)*3});function Ri(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}h("D",["DD",2],"Do","date");O("date","D");T("date",9);u("D",v);u("DD",v,P);u("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient});S(["D","DD"],A);S("Do",function(e,t){t[A]=m(e.match(v)[0])});var ws=me("Date",!0);h("DDD",["DDDD",3],"DDDo","dayOfYear");O("dayOfYear","DDD");T("dayOfYear",4);u("DDD",Ae);u("DDDD",Ht);S(["DDD","DDDD"],function(e,t,s){s._dayOfYear=m(e)});function Fi(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}h("m",["mm",2],0,"minute");O("minute","m");T("minute",14);u("m",v);u("mm",v,P);S(["m","mm"],I);var Li=me("Minutes",!1);h("s",["ss",2],0,"second");O("second","s");T("second",15);u("s",v);u("ss",v,P);S(["s","ss"],q);var Ci=me("Seconds",!1);h("S",0,0,function(){return~~(this.millisecond()/100)});h(0,["SS",2],0,function(){return~~(this.millisecond()/10)});h(0,["SSS",3],0,"millisecond");h(0,["SSSS",4],0,function(){return this.millisecond()*10});h(0,["SSSSS",5],0,function(){return this.millisecond()*100});h(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});h(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});h(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});h(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});O("millisecond","ms");T("millisecond",16);u("S",Ae,Et);u("SS",Ae,P);u("SSS",Ae,Ht);var se,ks;for(se="SSSS";se.length<=9;se+="S")u(se,_e);function Ii(e,t){t[ie]=m(("0."+e)*1e3)}for(se="S";se.length<=9;se+="S")S(se,Ii);ks=me("Milliseconds",!1);h("z",0,0,"zoneAbbr");h("zz",0,0,"zoneName");function Ui(){return this._isUTC?"UTC":""}function Ei(){return this._isUTC?"Coordinated Universal Time":""}var o=ge.prototype;o.add=Pa;o.calendar=Ua;o.clone=Ea;o.diff=Za;o.endOf=si;o.format=Ja;o.from=Qa;o.fromNow=Xa;o.to=Ka;o.toNow=ei;o.get=As;o.invalidAt=hi;o.isAfter=Ha;o.isBefore=Aa;o.isBetween=Ga;o.isSame=Va;o.isSameOrAfter=ja;o.isSameOrBefore=za;o.isValid=ui;o.lang=hs;o.locale=ds;o.localeData=fs;o.max=ua;o.min=la;o.parsingFlags=di;o.set=Gs;o.startOf=ti;o.subtract=Na;o.toArray=ni;o.toObject=oi;o.toDate=ii;o.toISOString=Ba;o.inspect=qa;typeof Symbol!="undefined"&&Symbol.for!=null&&(o[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"});o.toJSON=li;o.toString=$a;o.unix=ai;o.valueOf=ri;o.creationData=fi;o.eraName=yi;o.eraNarrow=wi;o.eraAbbr=ki;o.eraYear=Si;o.year=Bt;o.isLeapYear=or;o.weekYear=Oi;o.isoWeekYear=Ti;o.quarter=o.quarters=Ri;o.month=Zt;o.daysInMonth=ar;o.week=o.weeks=cr;o.isoWeek=o.isoWeeks=mr;o.weeksInYear=Wi;o.weeksInWeekYear=Pi;o.isoWeeksInYear=bi;o.isoWeeksInISOWeekYear=xi;o.date=ws;o.day=o.days=Tr;o.weekday=br;o.isoWeekday=xr;o.dayOfYear=Fi;o.hour=o.hours=Cr;o.minute=o.minutes=Li;o.second=o.seconds=Ci;o.millisecond=o.milliseconds=ks;o.utcOffset=ka;o.utc=Ma;o.local=va;o.parseZone=Da;o.hasAlignedHourOffset=pa;o.isDST=ga;o.isLocal=Oa;o.isUtcOffset=Ta;o.isUtc=ns;o.isUTC=ns;o.zoneAbbr=Ui;o.zoneName=Ei;o.dates=F("dates accessor is deprecated. Use date instead.",ws);o.months=F("months accessor is deprecated. Use month instead",Zt);o.years=F("years accessor is deprecated. Use year instead",Bt);o.zone=F("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Sa);o.isDSTShifted=F("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ya);function Hi(e){return M(e*1e3)}function Ai(){return M.apply(null,arguments).parseZone()}function Ss(e){return e}var w=dt.prototype;w.calendar=Ts;w.longDateFormat=Ps;w.invalidDate=Rs;w.ordinal=Cs;w.preparse=Ss;w.postformat=Ss;w.relativeTime=Us;w.pastFuture=Es;w.set=Ys;w.eras=ci;w.erasParse=mi;w.erasConvertYear=_i;w.erasAbbrRegex=vi;w.erasNameRegex=Mi;w.erasNarrowRegex=Di;w.months=er;w.monthsShort=tr;w.monthsParse=rr;w.monthsRegex=nr;w.monthsShortRegex=ir;w.week=ur;w.firstDayOfYear=fr;w.firstDayOfWeek=hr;w.weekdays=Dr;w.weekdaysMin=gr;w.weekdaysShort=pr;w.weekdaysParse=Or;w.weekdaysRegex=Wr;w.weekdaysShortRegex=Pr;w.weekdaysMinRegex=Nr;w.isPM=Fr;w.meridiem=Ir;function Ie(e,t,s,r){var a=X(),i=V().set(r,t);return a[s](i,e)}function Ms(e,t,s){if(Q(e)&&(t=e,e=void 0),e=e||"",t!=null)return Ie(e,t,s,"month");var r,a=[];for(r=0;r<12;r++)a[r]=Ie(e,r,s,"month");return a}function Ot(e,t,s,r){typeof e=="boolean"?(Q(t)&&(s=t,t=void 0),t=t||""):(t=e,s=t,e=!1,Q(t)&&(s=t,t=void 0),t=t||"");var a=X(),i=e?a._week.dow:0,n,d=[];if(s!=null)return Ie(t,(s+i)%7,r,"day");for(n=0;n<7;n++)d[n]=Ie(t,(n+i)%7,r,"day");return d}function Gi(e,t){return Ms(e,t,"months")}function Vi(e,t){return Ms(e,t,"monthsShort")}function ji(e,t,s){return Ot(e,t,s,"weekdays")}function zi(e,t,s){return Ot(e,t,s,"weekdaysShort")}function Zi(e,t,s){return Ot(e,t,s,"weekdaysMin")}re("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,s=m(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+s}});l.lang=F("moment.lang is deprecated. Use moment.locale instead.",re);l.langData=F("moment.langData is deprecated. Use moment.localeData instead.",X);var Z=Math.abs;function $i(){var e=this._data;return this._milliseconds=Z(this._milliseconds),this._days=Z(this._days),this._months=Z(this._months),e.milliseconds=Z(e.milliseconds),e.seconds=Z(e.seconds),e.minutes=Z(e.minutes),e.hours=Z(e.hours),e.months=Z(e.months),e.years=Z(e.years),this}function vs(e,t,s,r){var a=H(t,s);return e._milliseconds+=r*a._milliseconds,e._days+=r*a._days,e._months+=r*a._months,e._bubble()}function Bi(e,t){return vs(this,e,t,1)}function qi(e,t){return vs(this,e,t,-1)}function Pt(e){return e<0?Math.floor(e):Math.ceil(e)}function Ji(){var e=this._milliseconds,t=this._days,s=this._months,r=this._data,a,i,n,d,c;return e>=0&&t>=0&&s>=0||e<=0&&t<=0&&s<=0||(e+=Pt(nt(s)+t)*864e5,t=0,s=0),r.milliseconds=e%1e3,a=N(e/1e3),r.seconds=a%60,i=N(a/60),r.minutes=i%60,n=N(i/60),r.hours=n%24,t+=N(n/24),c=N(Ds(t)),s+=c,t-=Pt(nt(c)),d=N(s/12),s%=12,r.days=t,r.months=s,r.years=d,this}function Ds(e){return e*4800/146097}function nt(e){return e*146097/4800}function Qi(e){if(!this.isValid())return NaN;var t,s,r=this._milliseconds;if(e=L(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+r/864e5,s=this._months+Ds(t),e){case"month":return s;case"quarter":return s/3;case"year":return s/12}else switch(t=this._days+Math.round(nt(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return t*24+r/36e5;case"minute":return t*1440+r/6e4;case"second":return t*86400+r/1e3;case"millisecond":return Math.floor(t*864e5)+r;default:throw new Error("Unknown unit "+e)}}function Xi(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+m(this._months/12)*31536e6:NaN}function K(e){return function(){return this.as(e)}}var Ki=K("ms"),en=K("s"),tn=K("m"),sn=K("h"),rn=K("d"),an=K("w"),nn=K("M"),on=K("Q"),ln=K("y");function un(){return H(this)}function dn(e){return e=L(e),this.isValid()?this[e+"s"]():NaN}function oe(e){return function(){return this.isValid()?this._data[e]:NaN}}var hn=oe("milliseconds"),fn=oe("seconds"),cn=oe("minutes"),mn=oe("hours"),_n=oe("days"),yn=oe("months"),wn=oe("years");function kn(){return N(this.days()/7)}var $=Math.round,de={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Sn(e,t,s,r,a){return a.relativeTime(t||1,!!s,e,r)}function Mn(e,t,s,r){var a=H(e).abs(),i=$(a.as("s")),n=$(a.as("m")),d=$(a.as("h")),c=$(a.as("d")),k=$(a.as("M")),b=$(a.as("w")),z=$(a.as("y")),ee=i<=s.ss&&["s",i]||i0,ee[4]=r,Sn.apply(null,ee)}function vn(e){return e===void 0?$:typeof e=="function"?($=e,!0):!1}function Dn(e,t){return de[e]===void 0?!1:t===void 0?de[e]:(de[e]=t,e==="s"&&(de.ss=t-1),!0)}function pn(e,t){if(!this.isValid())return this.localeData().invalidDate();var s=!1,r=de,a,i;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(s=e),typeof t=="object"&&(r=Object.assign({},de,t),t.s!=null&&t.ss==null&&(r.ss=t.s-1)),a=this.localeData(),i=Mn(this,!s,r,a),s&&(i=a.pastFuture(+this,i)),a.postformat(i)}var Ke=Math.abs;function le(e){return(e>0)-(e<0)||+e}function qe(){if(!this.isValid())return this.localeData().invalidDate();var e=Ke(this._milliseconds)/1e3,t=Ke(this._days),s=Ke(this._months),r,a,i,n,d=this.asSeconds(),c,k,b,z;return d?(r=N(e/60),a=N(r/60),e%=60,r%=60,i=N(s/12),s%=12,n=e?e.toFixed(3).replace(/\.?0+$/,""):"",c=d<0?"-":"",k=le(this._months)!==le(d)?"-":"",b=le(this._days)!==le(d)?"-":"",z=le(this._milliseconds)!==le(d)?"-":"",c+"P"+(i?k+i+"Y":"")+(s?k+s+"M":"")+(t?b+t+"D":"")+(a||r||e?"T":"")+(a?z+a+"H":"")+(r?z+r+"M":"")+(e?z+n+"S":"")):"P0D"}var _=$e.prototype;_.isValid=ma;_.abs=$i;_.add=Bi;_.subtract=qi;_.as=Qi;_.asMilliseconds=Ki;_.asSeconds=en;_.asMinutes=tn;_.asHours=sn;_.asDays=rn;_.asWeeks=an;_.asMonths=nn;_.asQuarters=on;_.asYears=ln;_.valueOf=Xi;_._bubble=Ji;_.clone=un;_.get=dn;_.milliseconds=hn;_.seconds=fn;_.minutes=cn;_.hours=mn;_.days=_n;_.weeks=kn;_.months=yn;_.years=wn;_.humanize=pn;_.toISOString=qe;_.toString=qe;_.toJSON=qe;_.locale=ds;_.localeData=fs;_.toIsoString=F("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",qe);_.lang=hs;h("X",0,0,"unix");h("x",0,0,"valueOf");u("x",Ve);u("X",js);S("X",function(e,t,s){s._d=new Date(parseFloat(e)*1e3)});S("x",function(e,t,s){s._d=new Date(m(e))});//! moment.js -l.version="2.29.4";ps(M);l.fn=o;l.min=da;l.max=ha;l.now=fa;l.utc=V;l.unix=Hi;l.months=Gi;l.isDate=pe;l.locale=re;l.invalid=Ue;l.duration=H;l.isMoment=E;l.weekdays=ji;l.parseZone=Ai;l.localeData=X;l.isDuration=We;l.monthsShort=Vi;l.weekdaysMin=Zi;l.defineLocale=kt;l.updateLocale=Ar;l.locales=Gr;l.weekdaysShort=zi;l.normalizeUnits=L;l.relativeTimeRounding=vn;l.relativeTimeThreshold=Dn;l.calendarFormat=Ia;l.prototype=o;l.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const C={"Content-Type":"application/json;charsetset=UTF-8"},Yn=e=>R({url:"/wiki/api/v1/author/wiki/type",method:"POST",headers:C,data:e}),On=e=>R({url:"/wiki/api/v1/author/wiki/type",method:"DELETE",headers:C,data:e}),Tn=e=>R({url:"/wiki/api/v1/author/wiki/type",method:"PUT",headers:C,data:e}),bn=e=>R({url:"/wiki/api/v1/author/wiki/type/"+e,method:"GET",headers:C}),xn=e=>R({url:"/wiki/api/v1/author/wiki/type/sort",method:"POST",headers:C,data:e}),Wn=e=>R({url:"/wiki/api/v1/author/wiki",method:"POST",headers:C,data:e}),Pn=e=>R({url:"/wiki/api/v1/author/wiki",method:"DELETE",headers:C,data:e}),Nn=e=>R({url:"/wiki/api/v1/author/wiki",method:"PUT",headers:C,data:e}),Rn=e=>R({url:"/wiki/api/v1/author/wiki/"+e,method:"GET",headers:C}),Fn=(e,t)=>R({url:"/wiki/api/v1/author/wiki/sort"+t,method:"POST",headers:C,data:e}),Ln=()=>R({url:"/wiki/api/v1/reader/wiki/count",method:"GET",headers:C}),Cn=()=>R({url:"/wiki/api/v1/author/wiki/list",method:"GET",headers:C});export{Wn as a,Fn as b,Ln as c,Yn as d,Tn as e,Pn as f,bn as g,l as h,Rn as i,Cn as l,On as r,xn as s,Nn as u}; diff --git a/dist/resets/blog.963d84ca.js.gz b/dist/resets/blog.963d84ca.js.gz deleted file mode 100644 index f39fb30..0000000 Binary files a/dist/resets/blog.963d84ca.js.gz and /dev/null differ diff --git a/dist/resets/blogView.3f9577de.js b/dist/resets/blogView.3f9577de.js deleted file mode 100644 index 495104a..0000000 --- a/dist/resets/blogView.3f9577de.js +++ /dev/null @@ -1 +0,0 @@ -import{H as e}from"./index.e20aada4.js";import{l as i}from"./index.7b5a1be8.js";const t={"Content-Type":"application/json;charsetset=UTF-8"},l=r=>e({url:"/wiki/api/v1/reader/blogs",method:"GET",params:r,paramsSerializer:a=>i.stringify(a,{arrayFormat:"repeat"})}),p=()=>e({url:"/wiki/api/v1/reader/blog_type",method:"GET",headers:t}),n=r=>e({url:"/wiki/api/v1/reader/blog/"+r,method:"GET",headers:t}),u=()=>e({url:"/wiki/api/v1/reader/blogs/publish/all",method:"GET"}),g=r=>e({url:"/wiki/api/v1/reader/blogs/publish/"+r,method:"GET"});export{p as a,g as b,n as c,l as g,u as p}; diff --git a/dist/resets/bookmark.84c823fb.js b/dist/resets/bookmark.84c823fb.js deleted file mode 100644 index 4468da7..0000000 --- a/dist/resets/bookmark.84c823fb.js +++ /dev/null @@ -1 +0,0 @@ -import{H as r}from"./index.e20aada4.js";import{l as t}from"./index.7b5a1be8.js";const m=o=>r({url:"/bookmark/api/v1/bookmark",method:"GET",params:o,paramsSerializer:a=>t.stringify(a,{arrayFormat:"repeat"})}),s=o=>r({url:"/bookmark/api/v1/bookmark/insert",method:"PUT",data:o}),b=o=>r({url:"/bookmark/api/v1/bookmark/update",method:"POST",data:o}),u=o=>r({url:"/bookmark/api/v1/bookmark/delete/"+o,method:"DELETE"}),n=()=>r({url:"/bookmark/api/v1/bookmark/count",method:"GET"});export{n as b,u as d,s as p,m as s,b as u}; diff --git a/dist/resets/createBlog.af0ac6f2.css b/dist/resets/createBlog.af0ac6f2.css deleted file mode 100644 index 3973901..0000000 --- a/dist/resets/createBlog.af0ac6f2.css +++ /dev/null @@ -1 +0,0 @@ -.b_section[data-v-f8c4f944],.bt_section[data-v-f8c4f944],.c_section[data-v-f8c4f944]{display:flex;flex-direction:column;align-items:stretch;border-right:1px solid royalblue}.title_style[data-v-f8c4f944]{display:flex}.title_style[data-v-f8c4f944] .el-input__inner{flex-direction:row;height:50px;font-size:20px;border-right:0px;border-left:0px;border-radius:0;border-top:1px solid royalblue;border-bottom:1px solid royalblue}.blog_editer[data-v-f8c4f944]{display:flex}.item_header[data-v-f8c4f944]{display:flex;align-items:center;border-top:1px solid royalblue;border-bottom:1px solid royalblue}.item_header_button[data-v-f8c4f944]{border:0px;height:50px}.side_bar[data-v-f8c4f944]{display:flex;align-items:center;justify-content:flex-start;width:20px}.item[data-v-f8c4f944]{padding:0;margin-top:3px;margin-bottom:3px;display:flex;height:50px;flex-direction:row;align-items:center;justify-items:center;user-select:none;border:0px;border-bottom:1px}.item>label[data-v-f8c4f944]{color:#333;height:50px;width:15px}.item>label[data-v-f8c4f944]:hover{cursor:move}.item>div[data-v-f8c4f944]{display:flex;flex-direction:column;align-items:flex-end;border:0px}.operate_button[data-v-f8c4f944]{border-color:#fff;width:20px;border:0px}.bt-input[data-v-f8c4f944]{margin:0;border:0px;padding-left:0;padding-right:5px;font-size:15px;overflow:hidden;line-height:50px;height:50px;width:100px;flex-grow:1;cursor:pointer;white-space:nowrap;text-overflow:ellipsis}.bt-input[data-v-f8c4f944]:hover{background-color:#ebebeb}.item>p[data-v-f8c4f944]{padding:6px 10px;color:#8e3333}.chosenClass[data-v-f8c4f944]{opacity:1;border:solid 1px red}.ghost[data-v-f8c4f944]{border:solid 1px rgb(19,41,239)!important} diff --git a/dist/resets/createBlog.af0ac6f2.css.gz b/dist/resets/createBlog.af0ac6f2.css.gz deleted file mode 100644 index 3bdc6a0..0000000 Binary files a/dist/resets/createBlog.af0ac6f2.css.gz and /dev/null differ diff --git a/dist/resets/createBlog.baef68c0.js b/dist/resets/createBlog.baef68c0.js deleted file mode 100644 index 2648dc0..0000000 --- a/dist/resets/createBlog.baef68c0.js +++ /dev/null @@ -1,10 +0,0 @@ -import{af as br,ag as Sr,ah as Er,ai as xr,aj as Or,ak as Tr,al as Ir,am as Cr,an as Dr,R as en,ao as Pr,ap as Ar,aq as Rr,ar as wr,c as Zt,as as Nr,b as Yt,at as Mr,au as Fr,k as jr,av as Lr,Z as Ur,aw as Br,ax as $r,ay as Gr,u as et,az as Kr,aA as Vr,y as Wr,aB as Hr,n as Re,z as we,aC as Xr,aD as Yr,aE as zr,F as Jr,aF as Qr,aG as Zr,aH as kr,aI as qr,aJ as _r,aK as to,aL as eo,ab as no,aM as ro,J as oo,B as Ne,E as ge,f as qn,g as mt,aN as ao,aO as io,aP as so,aQ as lo,aR as uo,i as Wt,h as ht,aS as fo,d as _n,aT as co,aU as vo,aV as ho,aW as po,Y as go,aX as mo,aY as yo,U as Pn,aZ as bo,a_ as So,ae as Eo,a$ as xo,b0 as Oo,b1 as To,b2 as Io,ac as Co,m as Do,b3 as Po,Q as Ao,aa as Ro,b4 as wo,b5 as No,b6 as Mo,l as Fo,b7 as jo,b8 as Lo,b9 as Uo,q as Bo,ba as $o,o as me,j as tr,ad as Go,p as er,bb as Ko,bc as Vo,x as Wo,bd as Ho,e as nn,L as Xo,C as Yo,be as zo,bf as Jo,bg as Qo,bh as Zo,bi as ko,bj as qo,bk as _o,bl as ta,bm as ea,bn as na,bo as ra,bp as oa,bq as aa,br as ia,bs as sa,a9 as nr,bt as la,bu as ua,bv as fa,bw as ca,w as Ct,bx as da,M as Me,by as va,bz as ha,bA as pa,bB as ga,bC as ma,bD as ya,bE as ba,bF as Sa,bG as Ea,bH as xa,bI as Oa,bJ as Ta,bK as Ia,P as Ca,bL as Da,bM as Pa,bN as Aa,bO as Ra,bP as wa,N as Fe,bQ as rr,bR as Na,a1 as Ma,K as or,bS as Fa,bT as ja,_ as La,bU as Bn,bV as $n,bW as Ua,bX as Ba}from"./index.e20aada4.js";import{h as $a,a as Ga,u as mn,s as Ka,b as Va,l as Wa,d as Ha,r as Xa,e as Ya,f as za,g as Ja,i as Qa}from"./blog.963d84ca.js";import{E as Za}from"./style.1aad9498.js";const ka=()=>{};var qa=Object.freeze(Object.defineProperty({__proto__:null,compile:ka,EffectScope:br,ReactiveEffect:Sr,customRef:Er,effect:xr,effectScope:Or,getCurrentScope:Tr,isProxy:Ir,isReactive:Cr,isReadonly:Dr,isRef:en,isShallow:Pr,markRaw:Ar,onScopeDispose:Rr,proxyRefs:wr,reactive:Zt,readonly:Nr,ref:Yt,shallowReactive:Mr,shallowReadonly:Fr,shallowRef:jr,stop:Lr,toRaw:Ur,toRef:Br,toRefs:$r,triggerRef:Gr,unref:et,camelize:Kr,capitalize:Vr,normalizeClass:Wr,normalizeProps:Hr,normalizeStyle:Re,toDisplayString:we,toHandlerKey:Xr,BaseTransition:Yr,Comment:zr,Fragment:Jr,KeepAlive:Qr,Static:Zr,Suspense:kr,Teleport:qr,Text:_r,callWithAsyncErrorHandling:to,callWithErrorHandling:eo,cloneVNode:no,compatUtils:ro,computed:oo,createBlock:Ne,createCommentVNode:ge,createElementBlock:qn,createElementVNode:mt,createHydrationRenderer:ao,createPropsRestProxy:io,createRenderer:so,createSlots:lo,createStaticVNode:uo,createTextVNode:Wt,createVNode:ht,defineAsyncComponent:fo,defineComponent:_n,defineEmits:co,defineExpose:vo,defineProps:ho,get devtools(){return po},getCurrentInstance:go,getTransitionRawChildren:mo,guardReactiveProps:yo,h:Pn,handleError:bo,initCustomFormatter:So,inject:Eo,isMemoSame:xo,isRuntimeOnly:Oo,isVNode:To,mergeDefaults:Io,mergeProps:Co,nextTick:Do,onActivated:Po,onBeforeMount:Ao,onBeforeUnmount:Ro,onBeforeUpdate:wo,onDeactivated:No,onErrorCaptured:Mo,onMounted:Fo,onRenderTracked:jo,onRenderTriggered:Lo,onServerPrefetch:Uo,onUnmounted:Bo,onUpdated:$o,openBlock:me,popScopeId:tr,provide:Go,pushScopeId:er,queuePostFlushCb:Ko,registerRuntimeCompiler:Vo,renderList:Wo,renderSlot:Ho,resolveComponent:nn,resolveDirective:Xo,resolveDynamicComponent:Yo,resolveFilter:zo,resolveTransitionHooks:Jo,setBlockTracking:Qo,setDevtoolsHook:Zo,setTransitionHooks:ko,ssrContextKey:qo,ssrUtils:_o,toHandlers:ta,transformVNodeArgs:ea,useAttrs:na,useSSRContext:ra,useSlots:oa,useTransitionState:aa,version:ia,warn:sa,watch:nr,watchEffect:la,watchPostEffect:ua,watchSyncEffect:fa,withAsyncContext:ca,withCtx:Ct,withDefaults:da,withDirectives:Me,withMemo:va,withScopeId:ha,Transition:pa,TransitionGroup:ga,VueElement:ma,createApp:ya,createSSRApp:ba,defineCustomElement:Sa,defineSSRCustomElement:Ea,hydrate:xa,initDirectivesForSSR:Oa,render:Ta,useCssModule:Ia,useCssVars:Ca,vModelCheckbox:Da,vModelDynamic:Pa,vModelRadio:Aa,vModelSelect:Ra,vModelText:wa,vShow:Fe,withKeys:rr,withModifiers:Na},Symbol.toStringTag,{value:"Module"}));const ee=l=>{const{bid:n,btId:r,content:i,title:e,order:u}=l;return{bid:n,btId:r,content:i,title:e,order:u}},Je=l=>{const{btId:n,btName:r,order:i}=l;return{btId:n,btName:r,blogs:[],order:i}},se=l=>{Ma({message:Pn("p",null,[Pn("i",{style:"color: teal"},l)])})},$t=(l,n)=>(Object.keys(l).forEach(r=>{l[r]=n[r]}),l);var ar={exports:{}},_a=or(qa);/**! - * Sortable 1.14.0 - * @author RubaXa - * @author owenm - * @license MIT - */function Gn(l,n){var r=Object.keys(l);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(l);n&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(l,e).enumerable})),r.push.apply(r,i)}return r}function Jt(l){for(var n=1;n=0)&&(r[e]=l[e]);return r}function ni(l,n){if(l==null)return{};var r=ei(l,n),i,e;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(l);for(e=0;e=0)&&(!Object.prototype.propertyIsEnumerable.call(l,i)||(r[i]=l[i]))}return r}function ri(l){return oi(l)||ai(l)||ii(l)||si()}function oi(l){if(Array.isArray(l))return An(l)}function ai(l){if(typeof Symbol!="undefined"&&l[Symbol.iterator]!=null||l["@@iterator"]!=null)return Array.from(l)}function ii(l,n){if(!!l){if(typeof l=="string")return An(l,n);var r=Object.prototype.toString.call(l).slice(8,-1);if(r==="Object"&&l.constructor&&(r=l.constructor.name),r==="Map"||r==="Set")return Array.from(l);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return An(l,n)}}function An(l,n){(n==null||n>l.length)&&(n=l.length);for(var r=0,i=new Array(n);r"&&(n=n.substring(1)),l)try{if(l.matches)return l.matches(n);if(l.msMatchesSelector)return l.msMatchesSelector(n);if(l.webkitMatchesSelector)return l.webkitMatchesSelector(n)}catch{return!1}return!1}}function fi(l){return l.host&&l!==document&&l.host.nodeType?l.host:l.parentNode}function Vt(l,n,r,i){if(l){r=r||document;do{if(n!=null&&(n[0]===">"?l.parentNode===r&&un(l,n):un(l,n))||i&&l===r)return l;if(l===r)break}while(l=fi(l))}return null}var Vn=/\s+/g;function vt(l,n,r){if(l&&n)if(l.classList)l.classList[r?"add":"remove"](n);else{var i=(" "+l.className+" ").replace(Vn," ").replace(" "+n+" "," ");l.className=(i+(r?" "+n:"")).replace(Vn," ")}}function K(l,n,r){var i=l&&l.style;if(i){if(r===void 0)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(l,""):l.currentStyle&&(r=l.currentStyle),n===void 0?r:r[n];!(n in i)&&n.indexOf("webkit")===-1&&(n="-webkit-"+n),i[n]=r+(typeof r=="string"?"":"px")}}function ce(l,n){var r="";if(typeof l=="string")r=l;else do{var i=K(l,"transform");i&&i!=="none"&&(r=i+" "+r)}while(!n&&(l=l.parentNode));var e=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return e&&new e(r)}function lr(l,n,r){if(l){var i=l.getElementsByTagName(n),e=0,u=i.length;if(r)for(;e=u:t=e<=u,!t)return i;if(i===zt())break;i=oe(i,!1)}return!1}function Se(l,n,r,i){for(var e=0,u=0,t=l.children;u2&&arguments[2]!==void 0?arguments[2]:{},e=i.evt,u=ni(i,mi);Xe.pluginEvent.bind(Y)(n,r,Jt({dragEl:w,parentEl:pt,ghostEl:_,rootEl:ct,nextEl:fe,lastDownEl:on,cloneEl:gt,cloneHidden:re,dragStarted:Le,putSortable:Tt,activeSortable:Y.active,originalEvent:e,oldIndex:be,oldDraggableIndex:Ke,newIndex:jt,newDraggableIndex:ne,hideGhostForTarget:hr,unhideGhostForTarget:pr,cloneNowHidden:function(){re=!0},cloneNowShown:function(){re=!1},dispatchSortableEvent:function(o){At({sortable:r,name:o,originalEvent:e})}},u))};function At(l){je(Jt({putSortable:Tt,cloneEl:gt,targetEl:w,rootEl:ct,oldIndex:be,oldDraggableIndex:Ke,newIndex:jt,newDraggableIndex:ne},l))}var w,pt,_,ct,fe,on,gt,re,be,jt,Ke,ne,Qe,Tt,ye=!1,fn=!1,cn=[],le,Gt,En,xn,Yn,zn,Le,he,Ve,We=!1,Ze=!1,an,It,On=[],Rn=!1,dn=[],hn=typeof document!="undefined",ke=ir,Jn=He||qt?"cssFloat":"float",yi=hn&&!ui&&!ir&&"draggable"in document.createElement("div"),cr=function(){if(!!hn){if(qt)return!1;var l=document.createElement("x");return l.style.cssText="pointer-events:auto",l.style.pointerEvents==="auto"}}(),dr=function(n,r){var i=K(n),e=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),u=Se(n,0,r),t=Se(n,1,r),o=u&&K(u),a=t&&K(t),s=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+dt(u).width,f=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+dt(t).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(u&&o.float&&o.float!=="none"){var c=o.float==="left"?"left":"right";return t&&(a.clear==="both"||a.clear===c)?"vertical":"horizontal"}return u&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||s>=e&&i[Jn]==="none"||t&&i[Jn]==="none"&&s+f>e)?"vertical":"horizontal"},bi=function(n,r,i){var e=i?n.left:n.top,u=i?n.right:n.bottom,t=i?n.width:n.height,o=i?r.left:r.top,a=i?r.right:r.bottom,s=i?r.width:r.height;return e===o||u===a||e+t/2===o+s/2},Si=function(n,r){var i;return cn.some(function(e){var u=e[Dt].options.emptyInsertThreshold;if(!(!u||Fn(e))){var t=dt(e),o=n>=t.left-u&&n<=t.right+u,a=r>=t.top-u&&r<=t.bottom+u;if(o&&a)return i=e}}),i},vr=function(n){function r(u,t){return function(o,a,s,f){var c=o.options.group.name&&a.options.group.name&&o.options.group.name===a.options.group.name;if(u==null&&(t||c))return!0;if(u==null||u===!1)return!1;if(t&&u==="clone")return u;if(typeof u=="function")return r(u(o,a,s,f),t)(o,a,s,f);var d=(t?o:a).options.group.name;return u===!0||typeof u=="string"&&u===d||u.join&&u.indexOf(d)>-1}}var i={},e=n.group;(!e||rn(e)!="object")&&(e={name:e}),i.name=e.name,i.checkPull=r(e.pull,!0),i.checkPut=r(e.put),i.revertClone=e.revertClone,n.group=i},hr=function(){!cr&&_&&K(_,"display","none")},pr=function(){!cr&&_&&K(_,"display","")};hn&&document.addEventListener("click",function(l){if(fn)return l.preventDefault(),l.stopPropagation&&l.stopPropagation(),l.stopImmediatePropagation&&l.stopImmediatePropagation(),fn=!1,!1},!0);var ue=function(n){if(w){n=n.touches?n.touches[0]:n;var r=Si(n.clientX,n.clientY);if(r){var i={};for(var e in n)n.hasOwnProperty(e)&&(i[e]=n[e]);i.target=i.rootEl=r,i.preventDefault=void 0,i.stopPropagation=void 0,r[Dt]._onDragOver(i)}}},Ei=function(n){w&&w.parentNode[Dt]._isOutsideThisEl(n.target)};function Y(l,n){if(!(l&&l.nodeType&&l.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(l));this.el=l,this.options=n=Ut({},n),l[Dt]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(l.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return dr(l,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,o){t.setData("Text",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Y.supportPointer!==!1&&"PointerEvent"in window&&!$e,emptyInsertThreshold:5};Xe.initializePlugins(this,l,r);for(var i in r)!(i in n)&&(n[i]=r[i]);vr(n);for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this));this.nativeDraggable=n.forceFallback?!1:yi,this.nativeDraggable&&(this.options.touchStartThreshold=1),n.supportPointer?rt(l,"pointerdown",this._onTapStart):(rt(l,"mousedown",this._onTapStart),rt(l,"touchstart",this._onTapStart)),this.nativeDraggable&&(rt(l,"dragover",this),rt(l,"dragenter",this)),cn.push(this.el),n.store&&n.store.get&&this.sort(n.store.get(this)||[]),Ut(this,hi())}Y.prototype={constructor:Y,_isOutsideThisEl:function(n){!this.el.contains(n)&&n!==this.el&&(he=null)},_getDirection:function(n,r){return typeof this.options.direction=="function"?this.options.direction.call(this,n,r,w):this.options.direction},_onTapStart:function(n){if(!!n.cancelable){var r=this,i=this.el,e=this.options,u=e.preventOnFilter,t=n.type,o=n.touches&&n.touches[0]||n.pointerType&&n.pointerType==="touch"&&n,a=(o||n).target,s=n.target.shadowRoot&&(n.path&&n.path[0]||n.composedPath&&n.composedPath()[0])||a,f=e.filter;if(Ai(i),!w&&!(/mousedown|pointerdown/.test(t)&&n.button!==0||e.disabled)&&!s.isContentEditable&&!(!this.nativeDraggable&&$e&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=Vt(a,e.draggable,i,!1),!(a&&a.animated)&&on!==a)){if(be=yt(a),Ke=yt(a,e.draggable),typeof f=="function"){if(f.call(this,n,a,this)){At({sortable:r,rootEl:s,name:"filter",targetEl:a,toEl:i,fromEl:i}),wt("filter",r,{evt:n}),u&&n.cancelable&&n.preventDefault();return}}else if(f&&(f=f.split(",").some(function(c){if(c=Vt(s,c.trim(),i,!1),c)return At({sortable:r,rootEl:c,name:"filter",targetEl:a,fromEl:i,toEl:i}),wt("filter",r,{evt:n}),!0}),f)){u&&n.cancelable&&n.preventDefault();return}e.handle&&!Vt(s,e.handle,i,!1)||this._prepareDragStart(n,o,a)}}},_prepareDragStart:function(n,r,i){var e=this,u=e.el,t=e.options,o=u.ownerDocument,a;if(i&&!w&&i.parentNode===u){var s=dt(i);if(ct=u,w=i,pt=w.parentNode,fe=w.nextSibling,on=i,Qe=t.group,Y.dragged=w,le={target:w,clientX:(r||n).clientX,clientY:(r||n).clientY},Yn=le.clientX-s.left,zn=le.clientY-s.top,this._lastX=(r||n).clientX,this._lastY=(r||n).clientY,w.style["will-change"]="all",a=function(){if(wt("delayEnded",e,{evt:n}),Y.eventCanceled){e._onDrop();return}e._disableDelayedDragEvents(),!Kn&&e.nativeDraggable&&(w.draggable=!0),e._triggerDragStart(n,r),At({sortable:e,name:"choose",originalEvent:n}),vt(w,t.chosenClass,!0)},t.ignore.split(",").forEach(function(f){lr(w,f.trim(),Tn)}),rt(o,"dragover",ue),rt(o,"mousemove",ue),rt(o,"touchmove",ue),rt(o,"mouseup",e._onDrop),rt(o,"touchend",e._onDrop),rt(o,"touchcancel",e._onDrop),Kn&&this.nativeDraggable&&(this.options.touchStartThreshold=4,w.draggable=!0),wt("delayStart",this,{evt:n}),t.delay&&(!t.delayOnTouchOnly||r)&&(!this.nativeDraggable||!(He||qt))){if(Y.eventCanceled){this._onDrop();return}rt(o,"mouseup",e._disableDelayedDrag),rt(o,"touchend",e._disableDelayedDrag),rt(o,"touchcancel",e._disableDelayedDrag),rt(o,"mousemove",e._delayedDragTouchMoveHandler),rt(o,"touchmove",e._delayedDragTouchMoveHandler),t.supportPointer&&rt(o,"pointermove",e._delayedDragTouchMoveHandler),e._dragStartTimer=setTimeout(a,t.delay)}else a()}},_delayedDragTouchMoveHandler:function(n){var r=n.touches?n.touches[0]:n;Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){w&&Tn(w),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var n=this.el.ownerDocument;nt(n,"mouseup",this._disableDelayedDrag),nt(n,"touchend",this._disableDelayedDrag),nt(n,"touchcancel",this._disableDelayedDrag),nt(n,"mousemove",this._delayedDragTouchMoveHandler),nt(n,"touchmove",this._delayedDragTouchMoveHandler),nt(n,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(n,r){r=r||n.pointerType=="touch"&&n,!this.nativeDraggable||r?this.options.supportPointer?rt(document,"pointermove",this._onTouchMove):r?rt(document,"touchmove",this._onTouchMove):rt(document,"mousemove",this._onTouchMove):(rt(w,"dragend",this),rt(ct,"dragstart",this._onDragStart));try{document.selection?sn(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(n,r){if(ye=!1,ct&&w){wt("dragStarted",this,{evt:r}),this.nativeDraggable&&rt(document,"dragover",Ei);var i=this.options;!n&&vt(w,i.dragClass,!1),vt(w,i.ghostClass,!0),Y.active=this,n&&this._appendGhost(),At({sortable:this,name:"start",originalEvent:r})}else this._nulling()},_emulateDragOver:function(){if(Gt){this._lastX=Gt.clientX,this._lastY=Gt.clientY,hr();for(var n=document.elementFromPoint(Gt.clientX,Gt.clientY),r=n;n&&n.shadowRoot&&(n=n.shadowRoot.elementFromPoint(Gt.clientX,Gt.clientY),n!==r);)r=n;if(w.parentNode[Dt]._isOutsideThisEl(n),r)do{if(r[Dt]){var i=void 0;if(i=r[Dt]._onDragOver({clientX:Gt.clientX,clientY:Gt.clientY,target:n,rootEl:r}),i&&!this.options.dragoverBubble)break}n=r}while(r=r.parentNode);pr()}},_onTouchMove:function(n){if(le){var r=this.options,i=r.fallbackTolerance,e=r.fallbackOffset,u=n.touches?n.touches[0]:n,t=_&&ce(_,!0),o=_&&t&&t.a,a=_&&t&&t.d,s=ke&&It&&Hn(It),f=(u.clientX-le.clientX+e.x)/(o||1)+(s?s[0]-On[0]:0)/(o||1),c=(u.clientY-le.clientY+e.y)/(a||1)+(s?s[1]-On[1]:0)/(a||1);if(!Y.active&&!ye){if(i&&Math.max(Math.abs(u.clientX-this._lastX),Math.abs(u.clientY-this._lastY))=0&&(At({rootEl:pt,name:"add",toEl:pt,fromEl:ct,originalEvent:n}),At({sortable:this,name:"remove",toEl:pt,originalEvent:n}),At({rootEl:pt,name:"sort",toEl:pt,fromEl:ct,originalEvent:n}),At({sortable:this,name:"sort",toEl:pt,originalEvent:n})),Tt&&Tt.save()):jt!==be&&jt>=0&&(At({sortable:this,name:"update",toEl:pt,originalEvent:n}),At({sortable:this,name:"sort",toEl:pt,originalEvent:n})),Y.active&&((jt==null||jt===-1)&&(jt=be,ne=Ke),At({sortable:this,name:"end",toEl:pt,originalEvent:n}),this.save()))),this._nulling()},_nulling:function(){wt("nulling",this),ct=w=pt=_=fe=gt=on=re=le=Gt=Le=jt=ne=be=Ke=he=Ve=Tt=Qe=Y.dragged=Y.ghost=Y.clone=Y.active=null,dn.forEach(function(n){n.checked=!0}),dn.length=En=xn=0},handleEvent:function(n){switch(n.type){case"drop":case"dragend":this._onDrop(n);break;case"dragenter":case"dragover":w&&(this._onDragOver(n),xi(n));break;case"selectstart":n.preventDefault();break}},toArray:function(){for(var n=[],r,i=this.el.children,e=0,u=i.length,t=this.options;ei.right+e||l.clientX<=i.right&&l.clientY>i.bottom&&l.clientX>=i.left:l.clientX>i.right&&l.clientY>i.top||l.clientX<=i.right&&l.clientY>i.bottom+e}function Ci(l,n,r,i,e,u,t,o){var a=i?l.clientY:l.clientX,s=i?r.height:r.width,f=i?r.top:r.left,c=i?r.bottom:r.right,d=!1;if(!t){if(o&&anf+s*u/2:ac-an)return-Ve}else if(a>f+s*(1-e)/2&&ac-s*u/2)?a>f+s/2?1:-1:0}function Di(l){return yt(w)1&&(k.forEach(function(o){u.addAnimationState({target:o,rect:Nt?dt(o):t}),bn(o),o.fromRect=t,i.removeAnimationState(o)}),Nt=!1,Fi(!this.options.removeCloneOnHide,e))},dragOverCompleted:function(r){var i=r.sortable,e=r.isOwner,u=r.insertion,t=r.activeSortable,o=r.parentEl,a=r.putSortable,s=this.options;if(u){if(e&&t._hideClone(),Pe=!1,s.animation&&k.length>1&&(Nt||!e&&!t.options.sort&&!a)){var f=dt(ft,!1,!0,!0);k.forEach(function(d){d!==ft&&(Xn(d,f),o.appendChild(d))}),Nt=!0}if(!e)if(Nt||tn(),k.length>1){var c=_e;t._showClone(i),t.options.animation&&!_e&&c&&Ft.forEach(function(d){t.addAnimationState({target:d,rect:Ae}),d.fromRect=Ae,d.thisAnimationDuration=null})}else t._showClone(i)}},dragOverAnimationCapture:function(r){var i=r.dragRect,e=r.isOwner,u=r.activeSortable;if(k.forEach(function(o){o.thisAnimationDuration=null}),u.options.animation&&!e&&u.multiDrag.isMultiDrag){Ae=Ut({},i);var t=ce(ft,!0);Ae.top-=t.f,Ae.left-=t.e}},dragOverAnimationComplete:function(){Nt&&(Nt=!1,tn())},drop:function(r){var i=r.originalEvent,e=r.rootEl,u=r.parentEl,t=r.sortable,o=r.dispatchSortableEvent,a=r.oldIndex,s=r.putSortable,f=s||this.sortable;if(!!i){var c=this.options,d=u.children;if(!pe)if(c.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),vt(ft,c.selectedClass,!~k.indexOf(ft)),~k.indexOf(ft))k.splice(k.indexOf(ft),1),De=null,je({sortable:t,rootEl:e,name:"deselect",targetEl:ft,originalEvt:i});else{if(k.push(ft),je({sortable:t,rootEl:e,name:"select",targetEl:ft,originalEvt:i}),i.shiftKey&&De&&t.el.contains(De)){var v=yt(De),h=yt(ft);if(~v&&~h&&v!==h){var p,g;for(h>v?(g=v,p=h):(g=h,p=v+1);g1){var b=dt(ft),S=yt(ft,":not(."+this.options.selectedClass+")");if(!Pe&&c.animation&&(ft.thisAnimationDuration=null),f.captureAnimationState(),!Pe&&(c.animation&&(ft.fromRect=b,k.forEach(function(x){if(x.thisAnimationDuration=null,x!==ft){var C=Nt?dt(x):b;x.fromRect=C,f.addAnimationState({target:x,rect:C})}})),tn(),k.forEach(function(x){d[S]?u.insertBefore(x,d[S]):u.appendChild(x),S++}),a===yt(ft))){var I=!1;k.forEach(function(x){if(x.sortableIndex!==yt(x)){I=!0;return}}),I&&o("update")}k.forEach(function(x){bn(x)}),f.animateAll()}Kt=f}(e===u||s&&s.lastPutMode!=="clone")&&Ft.forEach(function(x){x.parentNode&&x.parentNode.removeChild(x)})}},nullingGlobal:function(){this.isMultiDrag=pe=!1,Ft.length=0},destroyGlobal:function(){this._deselectMultiDrag(),nt(document,"pointerup",this._deselectMultiDrag),nt(document,"mouseup",this._deselectMultiDrag),nt(document,"touchend",this._deselectMultiDrag),nt(document,"keydown",this._checkKeyDown),nt(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(r){if(!(typeof pe!="undefined"&&pe)&&Kt===this.sortable&&!(r&&Vt(r.target,this.options.draggable,this.sortable.el,!1))&&!(r&&r.button!==0))for(;k.length;){var i=k[0];vt(i,this.options.selectedClass,!1),k.shift(),je({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:i,originalEvt:r})}},_checkKeyDown:function(r){r.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(r){r.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},Ut(l,{pluginName:"multiDrag",utils:{select:function(r){var i=r.parentNode[Dt];!i||!i.options.multiDrag||~k.indexOf(r)||(Kt&&Kt!==i&&(Kt.multiDrag._deselectMultiDrag(),Kt=i),vt(r,i.options.selectedClass,!0),k.push(r))},deselect:function(r){var i=r.parentNode[Dt],e=k.indexOf(r);!i||!i.options.multiDrag||!~e||(vt(r,i.options.selectedClass,!1),k.splice(e,1))}},eventProperties:function(){var r=this,i=[],e=[];return k.forEach(function(u){i.push({multiDragElement:u,index:u.sortableIndex});var t;Nt&&u!==ft?t=-1:Nt?t=yt(u,":not(."+r.options.selectedClass+")"):t=yt(u),e.push({multiDragElement:u,index:t})}),{items:ri(k),clones:[].concat(Ft),oldIndicies:i,newIndicies:e}},optionListeners:{multiDragKey:function(r){return r=r.toLowerCase(),r==="ctrl"?r="Control":r.length>1&&(r=r.charAt(0).toUpperCase()+r.substr(1)),r}}})}function Fi(l,n){k.forEach(function(r,i){var e=n.children[r.sortableIndex+(l?Number(i):0)];e?n.insertBefore(r,e):n.appendChild(r)})}function Zn(l,n){Ft.forEach(function(r,i){var e=n.children[r.sortableIndex+(l?Number(i):0)];e?n.insertBefore(r,e):n.appendChild(r)})}function tn(){k.forEach(function(l){l!==ft&&l.parentNode&&l.parentNode.removeChild(l)})}Y.mount(new Ri);Y.mount(Un,Ln);var ji=Object.freeze(Object.defineProperty({__proto__:null,default:Y,MultiDrag:Mi,Sortable:Y,Swap:wi},Symbol.toStringTag,{value:"Module"})),Li=or(ji);(function(l,n){(function(i,e){l.exports=e(_a,Li)})(typeof self!="undefined"?self:Fa,function(r,i){return function(e){var u={};function t(o){if(u[o])return u[o].exports;var a=u[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=u,t.d=function(o,a,s){t.o(o,a)||Object.defineProperty(o,a,{enumerable:!0,get:s})},t.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},t.t=function(o,a){if(a&1&&(o=t(o)),a&8||a&4&&typeof o=="object"&&o&&o.__esModule)return o;var s=Object.create(null);if(t.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:o}),a&2&&typeof o!="string")for(var f in o)t.d(s,f,function(c){return o[c]}.bind(null,f));return s},t.n=function(o){var a=o&&o.__esModule?function(){return o.default}:function(){return o};return t.d(a,"a",a),a},t.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},t.p="",t(t.s="fb15")}({"00ee":function(e,u,t){var o=t("b622"),a=o("toStringTag"),s={};s[a]="z",e.exports=String(s)==="[object z]"},"0366":function(e,u,t){var o=t("1c0b");e.exports=function(a,s,f){if(o(a),s===void 0)return a;switch(f){case 0:return function(){return a.call(s)};case 1:return function(c){return a.call(s,c)};case 2:return function(c,d){return a.call(s,c,d)};case 3:return function(c,d,v){return a.call(s,c,d,v)}}return function(){return a.apply(s,arguments)}}},"057f":function(e,u,t){var o=t("fc6a"),a=t("241c").f,s={}.toString,f=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(d){try{return a(d)}catch{return f.slice()}};e.exports.f=function(v){return f&&s.call(v)=="[object Window]"?c(v):a(o(v))}},"06cf":function(e,u,t){var o=t("83ab"),a=t("d1e7"),s=t("5c6c"),f=t("fc6a"),c=t("c04e"),d=t("5135"),v=t("0cfb"),h=Object.getOwnPropertyDescriptor;u.f=o?h:function(g,b){if(g=f(g),b=c(b,!0),v)try{return h(g,b)}catch{}if(d(g,b))return s(!a.f.call(g,b),g[b])}},"0cfb":function(e,u,t){var o=t("83ab"),a=t("d039"),s=t("cc12");e.exports=!o&&!a(function(){return Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(e,u,t){var o=t("23e7"),a=t("d58f").left,s=t("a640"),f=t("ae40"),c=s("reduce"),d=f("reduce",{1:0});o({target:"Array",proto:!0,forced:!c||!d},{reduce:function(h){return a(this,h,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(e,u,t){var o=t("c6b6"),a=t("9263");e.exports=function(s,f){var c=s.exec;if(typeof c=="function"){var d=c.call(s,f);if(typeof d!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return d}if(o(s)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return a.call(s,f)}},"159b":function(e,u,t){var o=t("da84"),a=t("fdbc"),s=t("17c2"),f=t("9112");for(var c in a){var d=o[c],v=d&&d.prototype;if(v&&v.forEach!==s)try{f(v,"forEach",s)}catch{v.forEach=s}}},"17c2":function(e,u,t){var o=t("b727").forEach,a=t("a640"),s=t("ae40"),f=a("forEach"),c=s("forEach");e.exports=!f||!c?function(v){return o(this,v,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(e,u,t){var o=t("d066");e.exports=o("document","documentElement")},"1c0b":function(e,u){e.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(e,u,t){var o=t("b622"),a=o("iterator"),s=!1;try{var f=0,c={next:function(){return{done:!!f++}},return:function(){s=!0}};c[a]=function(){return this},Array.from(c,function(){throw 2})}catch{}e.exports=function(d,v){if(!v&&!s)return!1;var h=!1;try{var p={};p[a]=function(){return{next:function(){return{done:h=!0}}}},d(p)}catch{}return h}},"1d80":function(e,u){e.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(e,u,t){var o=t("d039"),a=t("b622"),s=t("2d00"),f=a("species");e.exports=function(c){return s>=51||!o(function(){var d=[],v=d.constructor={};return v[f]=function(){return{foo:1}},d[c](Boolean).foo!==1})}},"23cb":function(e,u,t){var o=t("a691"),a=Math.max,s=Math.min;e.exports=function(f,c){var d=o(f);return d<0?a(d+c,0):s(d,c)}},"23e7":function(e,u,t){var o=t("da84"),a=t("06cf").f,s=t("9112"),f=t("6eeb"),c=t("ce4e"),d=t("e893"),v=t("94ca");e.exports=function(h,p){var g=h.target,b=h.global,S=h.stat,I,x,C,O,U,G;if(b?x=o:S?x=o[g]||c(g,{}):x=(o[g]||{}).prototype,x)for(C in p){if(U=p[C],h.noTargetGet?(G=a(x,C),O=G&&G.value):O=x[C],I=v(b?C:g+(S?".":"#")+C,h.forced),!I&&O!==void 0){if(typeof U==typeof O)continue;d(U,O)}(h.sham||O&&O.sham)&&s(U,"sham",!0),f(x,C,U,h)}}},"241c":function(e,u,t){var o=t("ca84"),a=t("7839"),s=a.concat("length","prototype");u.f=Object.getOwnPropertyNames||function(c){return o(c,s)}},"25f0":function(e,u,t){var o=t("6eeb"),a=t("825a"),s=t("d039"),f=t("ad6d"),c="toString",d=RegExp.prototype,v=d[c],h=s(function(){return v.call({source:"a",flags:"b"})!="/a/b"}),p=v.name!=c;(h||p)&&o(RegExp.prototype,c,function(){var b=a(this),S=String(b.source),I=b.flags,x=String(I===void 0&&b instanceof RegExp&&!("flags"in d)?f.call(b):I);return"/"+S+"/"+x},{unsafe:!0})},"2ca0":function(e,u,t){var o=t("23e7"),a=t("06cf").f,s=t("50c4"),f=t("5a34"),c=t("1d80"),d=t("ab13"),v=t("c430"),h="".startsWith,p=Math.min,g=d("startsWith"),b=!v&&!g&&!!function(){var S=a(String.prototype,"startsWith");return S&&!S.writable}();o({target:"String",proto:!0,forced:!b&&!g},{startsWith:function(I){var x=String(c(this));f(I);var C=s(p(arguments.length>1?arguments[1]:void 0,x.length)),O=String(I);return h?h.call(x,O,C):x.slice(C,C+O.length)===O}})},"2d00":function(e,u,t){var o=t("da84"),a=t("342f"),s=o.process,f=s&&s.versions,c=f&&f.v8,d,v;c?(d=c.split("."),v=d[0]+d[1]):a&&(d=a.match(/Edge\/(\d+)/),(!d||d[1]>=74)&&(d=a.match(/Chrome\/(\d+)/),d&&(v=d[1]))),e.exports=v&&+v},"342f":function(e,u,t){var o=t("d066");e.exports=o("navigator","userAgent")||""},"35a1":function(e,u,t){var o=t("f5df"),a=t("3f8c"),s=t("b622"),f=s("iterator");e.exports=function(c){if(c!=null)return c[f]||c["@@iterator"]||a[o(c)]}},"37e8":function(e,u,t){var o=t("83ab"),a=t("9bf2"),s=t("825a"),f=t("df75");e.exports=o?Object.defineProperties:function(d,v){s(d);for(var h=f(v),p=h.length,g=0,b;p>g;)a.f(d,b=h[g++],v[b]);return d}},"3bbe":function(e,u,t){var o=t("861d");e.exports=function(a){if(!o(a)&&a!==null)throw TypeError("Can't set "+String(a)+" as a prototype");return a}},"3ca3":function(e,u,t){var o=t("6547").charAt,a=t("69f3"),s=t("7dd0"),f="String Iterator",c=a.set,d=a.getterFor(f);s(String,"String",function(v){c(this,{type:f,string:String(v),index:0})},function(){var h=d(this),p=h.string,g=h.index,b;return g>=p.length?{value:void 0,done:!0}:(b=o(p,g),h.index+=b.length,{value:b,done:!1})})},"3f8c":function(e,u){e.exports={}},4160:function(e,u,t){var o=t("23e7"),a=t("17c2");o({target:"Array",proto:!0,forced:[].forEach!=a},{forEach:a})},"428f":function(e,u,t){var o=t("da84");e.exports=o},"44ad":function(e,u,t){var o=t("d039"),a=t("c6b6"),s="".split;e.exports=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(f){return a(f)=="String"?s.call(f,""):Object(f)}:Object},"44d2":function(e,u,t){var o=t("b622"),a=t("7c73"),s=t("9bf2"),f=o("unscopables"),c=Array.prototype;c[f]==null&&s.f(c,f,{configurable:!0,value:a(null)}),e.exports=function(d){c[f][d]=!0}},"44e7":function(e,u,t){var o=t("861d"),a=t("c6b6"),s=t("b622"),f=s("match");e.exports=function(c){var d;return o(c)&&((d=c[f])!==void 0?!!d:a(c)=="RegExp")}},4930:function(e,u,t){var o=t("d039");e.exports=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())})},"4d64":function(e,u,t){var o=t("fc6a"),a=t("50c4"),s=t("23cb"),f=function(c){return function(d,v,h){var p=o(d),g=a(p.length),b=s(h,g),S;if(c&&v!=v){for(;g>b;)if(S=p[b++],S!=S)return!0}else for(;g>b;b++)if((c||b in p)&&p[b]===v)return c||b||0;return!c&&-1}};e.exports={includes:f(!0),indexOf:f(!1)}},"4de4":function(e,u,t){var o=t("23e7"),a=t("b727").filter,s=t("1dde"),f=t("ae40"),c=s("filter"),d=f("filter");o({target:"Array",proto:!0,forced:!c||!d},{filter:function(h){return a(this,h,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(e,u,t){var o=t("0366"),a=t("7b0b"),s=t("9bdd"),f=t("e95a"),c=t("50c4"),d=t("8418"),v=t("35a1");e.exports=function(p){var g=a(p),b=typeof this=="function"?this:Array,S=arguments.length,I=S>1?arguments[1]:void 0,x=I!==void 0,C=v(g),O=0,U,G,T,M,L,J;if(x&&(I=o(I,S>2?arguments[2]:void 0,2)),C!=null&&!(b==Array&&f(C)))for(M=C.call(g),L=M.next,G=new b;!(T=L.call(M)).done;O++)J=x?s(M,I,[T.value,O],!0):T.value,d(G,O,J);else for(U=c(g.length),G=new b(U);U>O;O++)J=x?I(g[O],O):g[O],d(G,O,J);return G.length=O,G}},"4fad":function(e,u,t){var o=t("23e7"),a=t("6f53").entries;o({target:"Object",stat:!0},{entries:function(f){return a(f)}})},"50c4":function(e,u,t){var o=t("a691"),a=Math.min;e.exports=function(s){return s>0?a(o(s),9007199254740991):0}},5135:function(e,u){var t={}.hasOwnProperty;e.exports=function(o,a){return t.call(o,a)}},5319:function(e,u,t){var o=t("d784"),a=t("825a"),s=t("7b0b"),f=t("50c4"),c=t("a691"),d=t("1d80"),v=t("8aa5"),h=t("14c3"),p=Math.max,g=Math.min,b=Math.floor,S=/\$([$&'`]|\d\d?|<[^>]*>)/g,I=/\$([$&'`]|\d\d?)/g,x=function(C){return C===void 0?C:String(C)};o("replace",2,function(C,O,U,G){var T=G.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,M=G.REPLACE_KEEPS_$0,L=T?"$":"$0";return[function(R,X){var N=d(this),j=R==null?void 0:R[C];return j!==void 0?j.call(R,N,X):O.call(String(N),R,X)},function(A,R){if(!T&&M||typeof R=="string"&&R.indexOf(L)===-1){var X=U(O,A,this,R);if(X.done)return X.value}var N=a(A),j=String(this),Z=typeof R=="function";Z||(R=String(R));var lt=N.global;if(lt){var Et=N.unicode;N.lastIndex=0}for(var F=[];;){var D=h(N,j);if(D===null||(F.push(D),!lt))break;var W=String(D[0]);W===""&&(N.lastIndex=v(j,f(N.lastIndex),Et))}for(var q="",ut=0,B=0;B=ut&&(q+=j.slice(ut,Mt)+xt,ut=Mt+st.length)}return q+j.slice(ut)}];function J(A,R,X,N,j,Z){var lt=X+A.length,Et=N.length,F=I;return j!==void 0&&(j=s(j),F=S),O.call(Z,F,function(D,W){var q;switch(W.charAt(0)){case"$":return"$";case"&":return A;case"`":return R.slice(0,X);case"'":return R.slice(lt);case"<":q=j[W.slice(1,-1)];break;default:var ut=+W;if(ut===0)return D;if(ut>Et){var B=b(ut/10);return B===0?D:B<=Et?N[B-1]===void 0?W.charAt(1):N[B-1]+W.charAt(1):D}q=N[ut-1]}return q===void 0?"":q})}})},5692:function(e,u,t){var o=t("c430"),a=t("c6cd");(e.exports=function(s,f){return a[s]||(a[s]=f!==void 0?f:{})})("versions",[]).push({version:"3.6.5",mode:o?"pure":"global",copyright:"\xA9 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,u,t){var o=t("d066"),a=t("241c"),s=t("7418"),f=t("825a");e.exports=o("Reflect","ownKeys")||function(d){var v=a.f(f(d)),h=s.f;return h?v.concat(h(d)):v}},"5a34":function(e,u,t){var o=t("44e7");e.exports=function(a){if(o(a))throw TypeError("The method doesn't accept regular expressions");return a}},"5c6c":function(e,u){e.exports=function(t,o){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:o}}},"5db7":function(e,u,t){var o=t("23e7"),a=t("a2bf"),s=t("7b0b"),f=t("50c4"),c=t("1c0b"),d=t("65f0");o({target:"Array",proto:!0},{flatMap:function(h){var p=s(this),g=f(p.length),b;return c(h),b=d(p,0),b.length=a(b,p,p,g,0,1,h,arguments.length>1?arguments[1]:void 0),b}})},6547:function(e,u,t){var o=t("a691"),a=t("1d80"),s=function(f){return function(c,d){var v=String(a(c)),h=o(d),p=v.length,g,b;return h<0||h>=p?f?"":void 0:(g=v.charCodeAt(h),g<55296||g>56319||h+1===p||(b=v.charCodeAt(h+1))<56320||b>57343?f?v.charAt(h):g:f?v.slice(h,h+2):(g-55296<<10)+(b-56320)+65536)}};e.exports={codeAt:s(!1),charAt:s(!0)}},"65f0":function(e,u,t){var o=t("861d"),a=t("e8b5"),s=t("b622"),f=s("species");e.exports=function(c,d){var v;return a(c)&&(v=c.constructor,typeof v=="function"&&(v===Array||a(v.prototype))?v=void 0:o(v)&&(v=v[f],v===null&&(v=void 0))),new(v===void 0?Array:v)(d===0?0:d)}},"69f3":function(e,u,t){var o=t("7f9a"),a=t("da84"),s=t("861d"),f=t("9112"),c=t("5135"),d=t("f772"),v=t("d012"),h=a.WeakMap,p,g,b,S=function(T){return b(T)?g(T):p(T,{})},I=function(T){return function(M){var L;if(!s(M)||(L=g(M)).type!==T)throw TypeError("Incompatible receiver, "+T+" required");return L}};if(o){var x=new h,C=x.get,O=x.has,U=x.set;p=function(T,M){return U.call(x,T,M),M},g=function(T){return C.call(x,T)||{}},b=function(T){return O.call(x,T)}}else{var G=d("state");v[G]=!0,p=function(T,M){return f(T,G,M),M},g=function(T){return c(T,G)?T[G]:{}},b=function(T){return c(T,G)}}e.exports={set:p,get:g,has:b,enforce:S,getterFor:I}},"6eeb":function(e,u,t){var o=t("da84"),a=t("9112"),s=t("5135"),f=t("ce4e"),c=t("8925"),d=t("69f3"),v=d.get,h=d.enforce,p=String(String).split("String");(e.exports=function(g,b,S,I){var x=I?!!I.unsafe:!1,C=I?!!I.enumerable:!1,O=I?!!I.noTargetGet:!1;if(typeof S=="function"&&(typeof b=="string"&&!s(S,"name")&&a(S,"name",b),h(S).source=p.join(typeof b=="string"?b:"")),g===o){C?g[b]=S:f(b,S);return}else x?!O&&g[b]&&(C=!0):delete g[b];C?g[b]=S:a(g,b,S)})(Function.prototype,"toString",function(){return typeof this=="function"&&v(this).source||c(this)})},"6f53":function(e,u,t){var o=t("83ab"),a=t("df75"),s=t("fc6a"),f=t("d1e7").f,c=function(d){return function(v){for(var h=s(v),p=a(h),g=p.length,b=0,S=[],I;g>b;)I=p[b++],(!o||f.call(h,I))&&S.push(d?[I,h[I]]:h[I]);return S}};e.exports={entries:c(!0),values:c(!1)}},"73d9":function(e,u,t){var o=t("44d2");o("flatMap")},7418:function(e,u){u.f=Object.getOwnPropertySymbols},"746f":function(e,u,t){var o=t("428f"),a=t("5135"),s=t("e538"),f=t("9bf2").f;e.exports=function(c){var d=o.Symbol||(o.Symbol={});a(d,c)||f(d,c,{value:s.f(c)})}},7839:function(e,u){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,u,t){var o=t("1d80");e.exports=function(a){return Object(o(a))}},"7c73":function(e,u,t){var o=t("825a"),a=t("37e8"),s=t("7839"),f=t("d012"),c=t("1be4"),d=t("cc12"),v=t("f772"),h=">",p="<",g="prototype",b="script",S=v("IE_PROTO"),I=function(){},x=function(T){return p+b+h+T+p+"/"+b+h},C=function(T){T.write(x("")),T.close();var M=T.parentWindow.Object;return T=null,M},O=function(){var T=d("iframe"),M="java"+b+":",L;return T.style.display="none",c.appendChild(T),T.src=String(M),L=T.contentWindow.document,L.open(),L.write(x("document.F=Object")),L.close(),L.F},U,G=function(){try{U=document.domain&&new ActiveXObject("htmlfile")}catch{}G=U?C(U):O();for(var T=s.length;T--;)delete G[g][s[T]];return G()};f[S]=!0,e.exports=Object.create||function(M,L){var J;return M!==null?(I[g]=o(M),J=new I,I[g]=null,J[S]=M):J=G(),L===void 0?J:a(J,L)}},"7dd0":function(e,u,t){var o=t("23e7"),a=t("9ed3"),s=t("e163"),f=t("d2bb"),c=t("d44e"),d=t("9112"),v=t("6eeb"),h=t("b622"),p=t("c430"),g=t("3f8c"),b=t("ae93"),S=b.IteratorPrototype,I=b.BUGGY_SAFARI_ITERATORS,x=h("iterator"),C="keys",O="values",U="entries",G=function(){return this};e.exports=function(T,M,L,J,A,R,X){a(L,M,J);var N=function(B){if(B===A&&F)return F;if(!I&&B in lt)return lt[B];switch(B){case C:return function(){return new L(this,B)};case O:return function(){return new L(this,B)};case U:return function(){return new L(this,B)}}return function(){return new L(this)}},j=M+" Iterator",Z=!1,lt=T.prototype,Et=lt[x]||lt["@@iterator"]||A&<[A],F=!I&&Et||N(A),D=M=="Array"&<.entries||Et,W,q,ut;if(D&&(W=s(D.call(new T)),S!==Object.prototype&&W.next&&(!p&&s(W)!==S&&(f?f(W,S):typeof W[x]!="function"&&d(W,x,G)),c(W,j,!0,!0),p&&(g[j]=G))),A==O&&Et&&Et.name!==O&&(Z=!0,F=function(){return Et.call(this)}),(!p||X)&<[x]!==F&&d(lt,x,F),g[M]=F,A)if(q={values:N(O),keys:R?F:N(C),entries:N(U)},X)for(ut in q)(I||Z||!(ut in lt))&&v(lt,ut,q[ut]);else o({target:M,proto:!0,forced:I||Z},q);return q}},"7f9a":function(e,u,t){var o=t("da84"),a=t("8925"),s=o.WeakMap;e.exports=typeof s=="function"&&/native code/.test(a(s))},"825a":function(e,u,t){var o=t("861d");e.exports=function(a){if(!o(a))throw TypeError(String(a)+" is not an object");return a}},"83ab":function(e,u,t){var o=t("d039");e.exports=!o(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(e,u,t){var o=t("c04e"),a=t("9bf2"),s=t("5c6c");e.exports=function(f,c,d){var v=o(c);v in f?a.f(f,v,s(0,d)):f[v]=d}},"861d":function(e,u){e.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(e,u,t){var o,a,s;(function(f,c){a=[],o=c,s=typeof o=="function"?o.apply(u,a):o,s!==void 0&&(e.exports=s)})(typeof self!="undefined"?self:this,function(){function f(){var c=Object.getOwnPropertyDescriptor(document,"currentScript");if(!c&&"currentScript"in document&&document.currentScript||c&&c.get!==f&&document.currentScript)return document.currentScript;try{throw new Error}catch(U){var d=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,v=/@([^@]*):(\d+):(\d+)\s*$/ig,h=d.exec(U.stack)||v.exec(U.stack),p=h&&h[1]||!1,g=h&&h[2]||!1,b=document.location.href.replace(document.location.hash,""),S,I,x,C=document.getElementsByTagName("script");p===b&&(S=document.documentElement.outerHTML,I=new RegExp("(?:[^\\n]+?\\n){0,"+(g-2)+"}[^<]* diff --git a/src/components/login/login.vue b/src/components/login/login.vue index c9923d2..a47e426 100644 --- a/src/components/login/login.vue +++ b/src/components/login/login.vue @@ -4,17 +4,13 @@ - +

秘密基地

- + 统一登录
- - 其他登录方式暂时还没有哦 -
------------------------------------------------------------
@@ -31,61 +27,25 @@ + \ No newline at end of file diff --git a/src/const/config.ts b/src/const/config.ts index deff00b..7bd323e 100644 --- a/src/const/config.ts +++ b/src/const/config.ts @@ -1,7 +1,7 @@ -import { Tenant } from '@/entity'; -import { tenantStore } from '@/store/modules/tenant'; +import { Customer } from '@/entity'; +import { customerStore } from '@/store/modules/customer'; import router from '../router' -import { setToken, setTenant } from '../utils/auth' +import { setToken, setCustomer } from '../utils/auth' // config/index.js const env = process.env.NODE_ENV!; @@ -45,14 +45,14 @@ const scan_method: any = { }, development: async () => { - const useTenantStore = tenantStore() - const tenant: Tenant = { - tenant_id: '7788', + const useCustomerStore = customerStore() + const customer: Customer = { + customerId: '7788', account: '小小的测试账户' } let token = 'ABCDEFG' - await useTenantStore.login(tenant, token).then(() => { + await useCustomerStore.login(customer, token).then(() => { const { href } = router.resolve({ path: '/' }) @@ -65,9 +65,9 @@ const scan_method: any = { }) setToken("token") - setTenant( + setCustomer( { - tenantId: "111" + customerId: "111" } ) router.push({ @@ -82,4 +82,4 @@ const scan_method: any = { const scan = scan_method[env] const config = configObj[env] -export { scan, config } +export { scan, config } \ No newline at end of file diff --git a/src/entity/index.ts b/src/entity/index.ts index 9bef72a..412a1ed 100644 --- a/src/entity/index.ts +++ b/src/entity/index.ts @@ -1,5 +1,5 @@ -type Tenant = { - tenant_id: string, +type Customer = { + customerId: string, account: string } @@ -64,4 +64,5 @@ const wikiType = (data: any) => { } as WikiType } -export { Tenant, Theme, DataTimeline, Event, Wiki, wiki, WikiType, wikiType } +export type { Customer, Theme, DataTimeline, Event, Wiki, WikiType } +export { wiki, wikiType } diff --git a/src/env.d.ts b/src/env.d.ts index aafef95..e97da9a 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -6,3 +6,14 @@ declare module '*.vue' { const component: DefineComponent<{}, {}, any> export default component } + +// 兼容 element-plus 2.8.x 与 vue-tsc 2.x 的 GlobalComponents 索引类型 +// (element-plus 在 .d.ts 里把 GlobalComponents 用作 Record>, +// 但 vue 默认声明没提供 index signature,触发 TS2344) +declare module 'vue' { + interface GlobalComponents { + [elemName: string]: any + } +} + +export {} diff --git a/src/main.ts b/src/main.ts index d0ccb6f..c7a0b1b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -11,10 +11,8 @@ import * as ElementPlusIconsVue from '@element-plus/icons-vue' import contentmenu from 'v-contextmenu' import 'v-contextmenu/dist/themes/default.css' -import { setupMock } from '../mock' -if (process.env.NODE_ENV === 'development') { - setupMock() -} +// mock 数据:vite-plugin-mock 3.x 在 dev 模式下由 vite 插件自动加载, +// 生产构建不带 mock(参考 AGENT.md「已知坑 #5」) let app = createApp(App) for (const [key, component] of Object.entries(ElementPlusIconsVue)) { diff --git a/src/permission.ts b/src/permission.ts index ae8322d..402cf8f 100644 --- a/src/permission.ts +++ b/src/permission.ts @@ -1,10 +1,10 @@ import router from './router' import Cookies from 'js-cookie' -import { getToken, getTenant } from './utils/auth' -import { Tenant } from './entity/index' -import { tenantStore } from './store/modules/tenant' +import { getToken, getCustomer } from './utils/auth' +import { Customer } from './entity/index' +import { customerStore } from './store/modules/customer' -const whiteList = ['/login', '/register', '/sorryPage', '/BlogViewer'] +const whiteList = ['/login', '/register', '/sorryPage', '/BlogViewer', '/auth/callback'] let url = window.location.href router.beforeEach((to, from, next) => { @@ -18,7 +18,7 @@ router.beforeEach((to, from, next) => { next('/') break; case '/': - const tenant = (JSON.parse(getTenant() as string)) + const customer = (JSON.parse(getCustomer() as string)) if (url.search("write") != -1) { next('/BlogEditer') } @@ -36,7 +36,7 @@ router.beforeEach((to, from, next) => { else { router.push({ path: '/home', - query: tenant + query: customer }) } break; @@ -71,12 +71,12 @@ router.beforeEach((to, from, next) => { let parameter_list = parameter.split("=") query_data[parameter_list[0]] = parameter_list[1] }) - const tenant = { - tenant_id: query_data.tenantId, + const customer = { + customerId: query_data.customerId, account: query_data.account } - const tenant_store = tenantStore() - tenant_store.login(tenant, query_data.token).then(() => { + const customer_store = customerStore() + customer_store.login(customer, query_data.token).then(() => { const { href } = router.resolve({ path: '/' }); diff --git a/src/router/index.ts b/src/router/index.ts index 779da56..8b0de7c 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -6,7 +6,7 @@ const home = () => import('@/view/dashboard/index.vue') const routes: Array = [ { path: "/", - component: () => import('@/components/layout/layout.vue'), + component: () => import('@/components/layout/Layout.vue'), children: [ { path: '/home', @@ -114,6 +114,10 @@ const routes: Array = [ path: "/login", component: login }, + { + path: "/auth/callback", + component: () => import('@/view/auth/callback.vue') + }, { path: "/illustration", component: () => import('@/components/illustration/index.vue') diff --git a/src/service/trader.ts b/src/service/trader.ts index 613763d..aef44ff 100644 --- a/src/service/trader.ts +++ b/src/service/trader.ts @@ -187,8 +187,8 @@ const getSign = ( openVal: number, closeVal: number, closeDimIdx: number -) => { - var sign +): number => { + var sign: number if (openVal > closeVal) { sign = -1 } else if (openVal < closeVal) { @@ -197,7 +197,7 @@ const getSign = ( sign = dataIndex > 0 ? // If close === open, compare with close of last record - data[dataIndex - 1][closeDimIdx] <= closeVal + Number(data[dataIndex - 1][closeDimIdx]) <= closeVal ? 1 : -1 : // No record of previous, set to be positive diff --git a/src/store/modules/customer.ts b/src/store/modules/customer.ts new file mode 100644 index 0000000..4042ae0 --- /dev/null +++ b/src/store/modules/customer.ts @@ -0,0 +1,56 @@ +import { defineStore, acceptHMRUpdate } from 'pinia' +import { authorize } from '../../api/user' +import { getToken, setToken, resetToken, setCustomer, getCustomer } from '../../utils/auth' +import { Customer } from '../../entity/index' +import { ref } from 'vue' + +export const customerStore = defineStore('customer', () => { + const customer = ref({ + account: '', + token: '', + id: '', + headerImg: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', + }) + + const login = async (customer: Customer, token: string) => { + try { + await authorize({ + customerId: customer.customerId, token: token + }) + setToken(token) + setCustomer(customer) + } catch { + Promise.resolve("authorize error") + } + } + + const logout = async () => { + customer.value.account = '' + customer.value.token = '' + customer.value.id = '' + resetToken() + window.location.reload() + } + + const reflush = async () => { + if (getToken()) { + const customerStorage = (JSON.parse(getCustomer() as string)) + const token = getToken() + customer.value.account = customerStorage.account + customer.value.token = token + customer.value.id = customerStorage.customerId + } + } + + return { + customer, + login, + logout, + reflush + } + +}) + +if (import.meta.hot) { + import.meta.hot.accept(acceptHMRUpdate(customerStore, import.meta.hot)) +} \ No newline at end of file diff --git a/src/store/modules/tenant.ts b/src/store/modules/tenant.ts deleted file mode 100644 index 71f74ea..0000000 --- a/src/store/modules/tenant.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { defineStore, acceptHMRUpdate } from 'pinia' -import { authorize } from '../../api/user' -import { getToken, setToken, resetToken, setTenant, getTenant } from '../../utils/auth' -import { Tenant } from '../../entity/index' -import { ref } from 'vue' - -export const tenantStore = defineStore('tenant', () => { - const tenant = ref({ - account: '', - token: '', - id: '', - headerImg: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png', - }) - - const login = async (tenant: Tenant, token: string) => { - try { - await authorize({ - tenant_id: tenant.tenant_id, token: token - }) - setToken(token) - setTenant(tenant) - } catch { - Promise.resolve("authorize error") - } - } - - const logout = async () => { - tenant.value.account = '' - tenant.value.token = '' - tenant.value.id = '' - resetToken() - window.location.reload() - } - - const reflush = async () => { - if (getToken()) { - const tenantStorage = (JSON.parse(getTenant() as string)) - const token = getToken() - tenant.value.account = tenantStorage.account - tenant.value.token = token - tenant.value.id = tenantStorage.tenant_id - } - } - - return { - tenant, - login, - logout, - reflush - } - -}) - -if (import.meta.hot) { - import.meta.hot.accept(acceptHMRUpdate(tenantStore, import.meta.hot)) -} diff --git a/src/utils/auth.ts b/src/utils/auth.ts index 26be928..4d18444 100644 --- a/src/utils/auth.ts +++ b/src/utils/auth.ts @@ -1,24 +1,24 @@ import Cookies from 'js-cookie' -const getToken = () => { +const getToken = (): string | undefined => { return Cookies.get('token') } -const setToken = (token: String) => { +const setToken = (token: string) => { Cookies.set('token', token) } -const setTenant = (tenant: object) => { - Cookies.set('tenant', JSON.stringify(tenant)) +const setCustomer = (customer: object) => { + Cookies.set('customer', JSON.stringify(customer)) } -const getTenant = () => { - return Cookies.get('tenant') +const getCustomer = (): string | undefined => { + return Cookies.get('customer') } const resetToken = () => { Cookies.remove('token') - Cookies.remove('tenant') + Cookies.remove('customer') } -export { getToken, setToken, resetToken, setTenant, getTenant } +export { getToken, setToken, resetToken, setCustomer, getCustomer } \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts index 4474694..e72d58d 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -1,6 +1,6 @@ import axios from 'axios' import router from '../router' -import { getToken, getTenant, resetToken } from '../utils/auth' +import { getToken, getCustomer, resetToken } from '../utils/auth' // violin-wiki const service = axios.create( @@ -15,9 +15,9 @@ service.interceptors.request.use( if (typeof getToken() === 'string') { (config as any).headers['Authorization'] = 'Bearer:' + getToken() } - const tenant = getTenant() - if (typeof tenant === 'string') { - (config as any).headers['tenantId'] = JSON.parse(tenant).tenant_id + const customer = getCustomer() + if (typeof customer === 'string') { + (config as any).headers['customerId'] = JSON.parse(customer).customerId } return config diff --git a/src/view/auth/callback.vue b/src/view/auth/callback.vue new file mode 100644 index 0000000..73c5215 --- /dev/null +++ b/src/view/auth/callback.vue @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/src/view/blog/createBlog.vue b/src/view/blog/createBlog.vue index 20313ab..9d5a61b 100644 --- a/src/view/blog/createBlog.vue +++ b/src/view/blog/createBlog.vue @@ -114,8 +114,9 @@