Unverified Commit 631b2149 authored by Ryan Wang's avatar Ryan Wang Committed by GitHub
Browse files

release: 1.5.0-alpha.1 (#1671)

Signed-off-by: default avatarRyan Wang <i@ryanc.cc>
Showing with 42 additions and 0 deletions
+42 -0
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[122],{24122:function(e,t,l){l.r(t),l.d(t,{default:function(){return y}});var a=function(){var e=this,t=e.$createElement,l=e._self._c||t;return l("page-view",{attrs:{title:e.activatedTheme?e.activatedTheme.name:"",affix:"",subTitle:"当前启用"}},[l("template",{slot:"extra"},[l("a-button",{attrs:{loading:e.list.loading,icon:"reload"},on:{click:e.handleRefreshThemesCache}},[e._v(" 刷新")]),l("a-button",{attrs:{icon:"plus",type:"primary"},on:{click:function(t){e.installModal.visible=!0}}},[e._v(" 安装")])],1),l("a-row",{attrs:{gutter:12,align:"middle",type:"flex"}},[l("a-col",{attrs:{span:24}},[l("a-list",{attrs:{dataSource:e.sortedThemes,grid:{gutter:12,xs:1,sm:1,md:2,lg:4,xl:4,xxl:4},loading:e.list.loading},scopedSlots:e._u([{key:"renderItem",fn:function(t,a){return l("a-list-item",{key:a},[l("a-card",{attrs:{bodyStyle:{padding:0},title:t.name,hoverable:""}},[l("div",{staticClass:"theme-screenshot"},[l("img",{attrs:{alt:t.name,src:t.screenshots||"/images/placeholder.jpg",loading:"lazy"}})]),l("template",{slot:"actions"},[t.activated?l("div",[l("a-icon",{staticStyle:{"margin-right":"3px"},attrs:{theme:"twoTone",type:"unlock"}}),e._v(" 已启用 ")],1):l("div",{on:{click:function(l){return e.handleActiveTheme(t)}}},[l("a-icon",{staticStyle:{"margin-right":"3px"},attrs:{type:"lock"}}),e._v(" 启用 ")],1),l("div",{on:{click:function(l){return e.handleRouteToThemeSetting(t)}}},[l("a-icon",{staticStyle:{"margin-right":"3px"},attrs:{type:"setting"}}),e._v(" 设置 ")],1),l("a-dropdown",{attrs:{trigger:["click"],placement:"topCenter"}},[l("a",{staticClass:"ant-dropdown-link",attrs:{href:"#"}},[l("a-icon",{staticStyle:{"margin-right":"3px"},attrs:{type:"ellipsis"}}),e._v(" 更多 ")],1),l("a-menu",{attrs:{slot:"overlay"},slot:"overlay"},[l("a-menu-item",{key:1,attrs:{disabled:t.activated},on:{click:function(l){return e.handleOpenThemeDeleteModal(t)}}},[l("a-icon",{staticStyle:{"margin-right":"3px"},attrs:{type:"delete"}}),e._v(" 删除 ")],1),t.repo?l("a-menu-item",{key:2,on:{click:function(l){return e.handleConfirmRemoteUpdate(t)}}},[l("a-icon",{staticStyle:{"margin-right":"3px"},attrs:{type:"cloud"}}),e._v(" 在线更新 ")],1):e._e(),l("a-menu-item",{key:3,on:{click:function(l){return e.handleOpenLocalUpdateModal(t)}}},[l("a-icon",{staticStyle:{"margin-right":"3px"},attrs:{type:"file"}}),e._v(" 本地更新 ")],1)],1)],1)],1)],2)],1)}}])})],1)],1),l("ThemeDeleteConfirmModal",{attrs:{theme:e.themeDeleteModal.selected,visible:e.themeDeleteModal.visible},on:{"update:visible":function(t){return e.$set(e.themeDeleteModal,"visible",t)},onAfterClose:function(t){e.themeDeleteModal.selected={}},success:e.handleListThemes}}),l("ThemeLocalUpgradeModal",{attrs:{theme:e.localUpgradeModel.selected,visible:e.localUpgradeModel.visible},on:{"update:visible":function(t){return e.$set(e.localUpgradeModel,"visible",t)},onAfterClose:function(t){e.localUpgradeModel.selected={}},success:e.handleListThemes}}),l("ThemeInstallModal",{attrs:{visible:e.installModal.visible},on:{"update:visible":function(t){return e.$set(e.installModal,"visible",t)},onAfterClose:e.handleListThemes}})],2)},i=[],s=l(43348),o=l(59464),n=function(){var e=this,t=e.$createElement,l=e._self._c||t;return l("a-modal",{attrs:{afterClose:e.onModalClose,bodyStyle:{padding:"0 24px 24px"},footer:null,destroyOnClose:"",title:"安装主题"},model:{value:e.modalVisible,callback:function(t){e.modalVisible=t},expression:"modalVisible"}},[l("div",{staticClass:"custom-tab-wrapper"},[l("a-tabs",{attrs:{animated:{inkBar:!0,tabPane:!1}}},[l("a-tab-pane",{key:"1",attrs:{tab:"本地上传"}},[l("FilePondUpload",{ref:"upload",attrs:{accepts:["application/x-zip","application/x-zip-compressed","application/zip"],uploadHandler:e.local.uploadHandler,label:"点击选择主题包或将主题包拖拽到此处<br>仅支持 ZIP 格式的文件",name:"file"},on:{success:e.onUploadSucceed}}),l("div",{staticClass:"mt-5"},[l("a-alert",{attrs:{closable:"",type:"info"}},[l("template",{slot:"message"},[e._v(" 更多主题请访问: "),l("a",{attrs:{href:"https://halo.run/themes.html",target:"_blank"}},[e._v("https://halo.run/themes")])])],2)],1)],1),l("a-tab-pane",{key:"2",attrs:{tab:"远程下载"}},[l("a-form-model",{ref:"remoteInstallForm",attrs:{model:e.remote,rules:e.remote.rules,layout:"vertical"}},[l("a-form-model-item",{attrs:{help:"* 支持 Git 仓库地址,ZIP 链接。",label:"远程地址:",prop:"url"}},[l("a-input",{model:{value:e.remote.url,callback:function(t){e.$set(e.remote,"url",t)},expression:"remote.url"}})],1),l("a-form-model-item",[l("ReactiveButton",{attrs:{errored:e.remote.fetchErrored,loading:e.remote.fetching,erroredText:"下载失败",loadedText:"下载成功",text:"下载",type:"primary"},on:{callback:e.handleRemoteFetchCallback,click:e.handleRemoteFetching}})],1)],1),l("div",{staticClass:"mt-5"},[l("a-alert",{attrs:{closable:"",type:"info"}},[l("template",{slot:"message"},[e._v(" 目前仅支持远程 Git 仓库和 ZIP 下载链接。更多主题请访问: "),l("a",{attrs:{href:"https://halo.run/themes.html",target:"_blank"}},[e._v("https://halo.run/themes")])])],2)],1)],1)],1)],1)])},r=[],d=l(1540),c={name:"ThemeInstallModal",props:{visible:{type:Boolean,default:!1}},data(){return{local:{uploadHandler:(e,t)=>d.Z.theme.upload(e,t)},remote:{url:null,fetching:!1,fetchErrored:!1,rules:{url:[{required:!0,message:"* 远程地址不能为空",trigger:["change"]}]}}}},computed:{modalVisible:{get(){return this.visible},set(e){this.$emit("update:visible",e)}}},methods:{onModalClose(){this.$refs.upload.handleClearFileList(),this.remote.url=null,this.$emit("onAfterClose")},onUploadSucceed(){this.modalVisible=!1,this.$emit("upload-succeed")},handleRemoteFetching(){this.$refs.remoteInstallForm.validate((async e=>{if(e)try{this.remote.fetching=!0,await d.Z.theme.fetchTheme(this.remote.url)}catch(t){this.remote.fetchErrored=!0,this.$log.error("Fetch remote theme failed: ",t)}finally{setTimeout((()=>{this.remote.fetching=!1}),400)}}))},handleRemoteFetchCallback(){this.remote.fetchErrored?this.remote.fetchErrored=!1:this.modalVisible=!1}}},h=c,m=l(18156),u=(0,m.Z)(h,n,r,!1,null,null,null),p=u.exports,f=l(50990),g={components:{PageView:f.B4,ThemeDeleteConfirmModal:s.Z,ThemeLocalUpgradeModal:o.Z,ThemeInstallModal:p},data(){return{list:{loading:!1,data:[]},installModal:{visible:!1},localUpgradeModel:{visible:!1,selected:{}},themeDeleteModal:{visible:!1,selected:{}}}},computed:{sortedThemes(){const e=this.list.data.slice(0);return e.sort(((e,t)=>t.activated-e.activated))},activatedTheme(){return this.sortedThemes.length>0?this.sortedThemes[0]:null}},beforeMount(){this.handleListThemes()},methods:{handleListThemes(){this.list.loading=!0,d.Z.theme.list().then((e=>{this.list.data=e.data})).finally((()=>{this.list.loading=!1}))},handleRefreshThemesCache(){d.Z.theme.reload().finally((()=>{this.handleListThemes()}))},handleActiveTheme(e){d.Z.theme.active(e.id).finally((()=>{this.handleListThemes()}))},handleOpenLocalUpdateModal(e){this.localUpgradeModel.selected=e,this.localUpgradeModel.visible=!0},handleRouteToThemeSetting(e){this.$router.push({name:"ThemeSetting",query:{themeId:e.id}})},handleOpenThemeDeleteModal(e){this.themeDeleteModal.visible=!0,this.themeDeleteModal.selected=e},handleConfirmRemoteUpdate(e){const t=this;t.$confirm({title:"提示",maskClosable:!0,content:"确定更新【"+e.name+"】主题?",async onOk(){const l=t.$message.loading("更新中...",0);try{await d.Z.theme.updateThemeByFetching(e.id),t.$message.success("更新成功!")}catch(a){t.$log.error("Failed to update theme: ",a)}finally{l(),t.handleListThemes()}}})}}},b=g,v=(0,m.Z)(b,a,i,!1,null,null,null),y=v.exports},43348:function(e,t,l){l.d(t,{Z:function(){return c}});var a=function(){var e=this,t=e.$createElement,l=e._self._c||t;return l("a-modal",{attrs:{afterClose:e.onAfterClose,closable:!1,width:416,destroyOnClose:"",title:"提示"},model:{value:e.modalVisible,callback:function(t){e.modalVisible=t},expression:"modalVisible"}},[l("template",{slot:"footer"},[l("a-button",{on:{click:function(t){e.modalVisible=!1}}},[e._v(" 取消 ")]),l("ReactiveButton",{attrs:{errored:e.deleteErrored,loading:e.deleting,erroredText:"删除失败",loadedText:"删除成功",text:"确定"},on:{callback:e.handleDeleteCallback,click:function(t){return e.handleDelete()}}})],1),l("p",[e._v("确定删除【"+e._s(e.theme.name)+"】主题?")]),l("a-checkbox",{model:{value:e.deleteSettings,callback:function(t){e.deleteSettings=t},expression:"deleteSettings"}},[e._v(" 同时删除主题配置 ")])],2)},i=[],s=l(1540),o={name:"ThemeDeleteConfirmModal",props:{visible:{type:Boolean,default:!1},theme:{type:Object,default:()=>({})}},data(){return{deleteErrored:!1,deleting:!1,deleteSettings:!1}},computed:{modalVisible:{get(){return this.visible},set(e){this.$emit("update:visible",e)}}},methods:{async handleDelete(){try{this.deleting=!0,await s.Z.theme["delete"](this.theme.id,this.deleteSettings)}catch(e){this.deleteErrored=!1,this.$log.error("Delete theme failed",e)}finally{setTimeout((()=>{this.deleting=!1}),400)}},handleDeleteCallback(){this.deleteErrored?this.deleteErrored=!1:(this.modalVisible=!1,this.$emit("success"))},onAfterClose(){this.deleteErrored=!1,this.deleting=!1,this.deleteSettings=!1,this.$emit("onAfterClose")}}},n=o,r=l(18156),d=(0,r.Z)(n,a,i,!1,null,null,null),c=d.exports},59464:function(e,t,l){l.d(t,{Z:function(){return c}});var a=function(){var e=this,t=e.$createElement,l=e._self._c||t;return l("a-modal",{attrs:{afterClose:e.onModalClose,footer:null,destroyOnClose:"",title:"更新主题"},model:{value:e.modalVisible,callback:function(t){e.modalVisible=t},expression:"modalVisible"}},[l("FilePondUpload",{ref:"updateByFile",attrs:{accepts:["application/x-zip","application/x-zip-compressed","application/zip"],field:e.theme.id,multiple:!1,uploadHandler:e.uploadHandler,label:"点击选择主题更新包或将主题更新包拖拽到此处<br>仅支持 ZIP 格式的文件",name:"file"},on:{success:e.onThemeUploadSuccess}})],1)},i=[],s=l(1540),o={name:"ThemeLocalUpgradeModal",props:{visible:{type:Boolean,default:!1},theme:{type:Object,default:()=>({})}},data(){return{uploadHandler:(e,t,l)=>s.Z.theme.updateByUpload(e,t,l)}},computed:{modalVisible:{get(){return this.visible},set(e){this.$emit("update:visible",e)}}},methods:{onModalClose(){this.$refs.updateByFile.handleClearFileList(),this.$emit("onAfterClose")},onThemeUploadSuccess(){this.modalVisible=!1,this.$emit("success")}}},n=o,r=l(18156),d=(0,r.Z)(n,a,i,!1,null,null,null),c=d.exports}}]);
\ No newline at end of file
(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[139],{82139:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return f}});var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"option-tab-wrapper"},[a("a-card",{attrs:{bodyStyle:{padding:0},bordered:!1}},[a("div",{staticClass:"table-page-search-wrapper"},[a("a-form",{attrs:{layout:"inline"}},[a("a-row",{attrs:{gutter:48}},[a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"关键词:"}},[a("a-input",{on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleQuery()}},model:{value:t.queryParam.keyword,callback:function(e){t.$set(t.queryParam,"keyword",e)},expression:"queryParam.keyword"}})],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"类型:"}},[a("a-select",{attrs:{allowClear:"",placeholder:"请选择类型"},on:{change:function(e){return t.handleQuery()}},model:{value:t.queryParam.type,callback:function(e){t.$set(t.queryParam,"type",e)},expression:"queryParam.type"}},t._l(Object.keys(t.optionType),(function(e){return a("a-select-option",{key:e,attrs:{value:e}},[t._v(t._s(t.optionType[e].text)+" ")])})),1)],1)],1),a("a-col",{attrs:{md:12,sm:24}},[a("span",{staticClass:"table-page-search-submitButtons"},[a("a-space",[a("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.handleQuery()}}},[t._v("查询")]),a("a-button",{on:{click:function(e){return t.handleResetParam()}}},[t._v("重置")])],1)],1)])],1)],1)],1),a("div",{staticClass:"table-operator"},[a("a-button",{attrs:{icon:"plus",type:"primary"},on:{click:t.handleOpenFormModal}},[t._v("新增")])],1),a("div",{staticClass:"mt-4"},[a("a-table",{attrs:{columns:t.columns,dataSource:t.formattedData,loading:t.loading,pagination:!1,rowKey:function(t){return t.id},scrollToFirstRowOnChange:!0},scopedSlots:t._u([{key:"type",fn:function(e){return a("span",{},[t._v(" "+t._s(e.text)+" ")])}},{key:"createTime",fn:function(e){return a("span",{},[a("a-tooltip",{attrs:{placement:"top"}},[a("template",{slot:"title"},[t._v(" "+t._s(t._f("moment")(e))+" ")]),t._v(" "+t._s(t._f("timeAgo")(e))+" ")],2)],1)}},{key:"updateTime",fn:function(e){return a("span",{},[a("a-tooltip",{attrs:{placement:"top"}},[a("template",{slot:"title"},[t._v(" "+t._s(t._f("moment")(e))+" ")]),t._v(" "+t._s(t._f("timeAgo")(e))+" ")],2)],1)}},{key:"action",fn:function(e,n){return a("span",{},[a("a-button",{staticClass:"!p-0",attrs:{type:"link"},on:{click:function(e){return t.handleOpenEditFormModal(n)}}},[t._v("编辑")]),a("a-divider",{attrs:{type:"vertical"}}),a("a-popconfirm",{attrs:{title:"你确定要永久删除该变量?",cancelText:"取消",okText:"确定"},on:{confirm:function(e){return t.handleDeleteOption(n.id)}}},[a("a-button",{staticClass:"!p-0",attrs:{type:"link"}},[t._v("删除")])],1)],1)}}])}),a("div",{staticClass:"page-wrapper"},[a("a-pagination",{staticClass:"pagination",attrs:{current:t.pagination.page,defaultPageSize:t.pagination.size,pageSizeOptions:["10","20","50","100"],total:t.pagination.total,showLessItems:"",showSizeChanger:""},on:{change:t.handlePaginationChange,showSizeChange:t.handlePaginationChange}})],1)],1)]),a("a-modal",{attrs:{afterClose:t.onFormClose,title:t.formTitle},model:{value:t.form.visible,callback:function(e){t.$set(t.form,"visible",e)},expression:"form.visible"}},[a("template",{slot:"footer"},[a("ReactiveButton",{attrs:{errored:t.form.saveErrored,loading:t.form.saving,erroredText:"保存失败",loadedText:"保存成功",text:"保存"},on:{callback:t.handleSaveOrUpdateCallback,click:t.handleSaveOrUpdate}})],1),t.form.model.type===t.optionType.INTERNAL.value?a("a-alert",{attrs:{banner:"",closable:"",message:"注意:在不知道系统变量的具体用途时,请不要随意修改!"}}):t._e(),a("a-form-model",{ref:"optionForm",attrs:{model:t.form.model,rules:t.form.rules,layout:"vertical"}},[a("a-form-model-item",{attrs:{label:"Key:",prop:"key"}},[a("a-input",{ref:"keyInput",model:{value:t.form.model.key,callback:function(e){t.$set(t.form.model,"key",e)},expression:"form.model.key"}})],1),a("a-form-model-item",{attrs:{label:"Value:",prop:"value"}},[a("a-input",{attrs:{autoSize:{minRows:5},type:"textarea"},model:{value:t.form.model.value,callback:function(e){t.$set(t.form.model,"value",e)},expression:"form.model.value"}})],1)],1)],2)],1)},o=[],i=a(76381),r=(a(82395),a(19003),a(31875),a(41479),a(1540)),s=a(98906),l=[{title:"Key",dataIndex:"key",ellipsis:!0,scopedSlots:{customRender:"key"}},{title:"Value",dataIndex:"value",ellipsis:!0,scopedSlots:{customRender:"value"}},{title:"类型",dataIndex:"typeProperty",width:"100px",scopedSlots:{customRender:"type"}},{title:"创建时间",dataIndex:"createTime",width:"200px",scopedSlots:{customRender:"createTime"}},{title:"更新时间",dataIndex:"updateTime",width:"200px",scopedSlots:{customRender:"updateTime"}},{title:"操作",dataIndex:"action",width:"120px",scopedSlots:{customRender:"action"}}],u={name:"OptionsList",data:function(){return{optionType:{INTERNAL:{value:"INTERNAL",text:"系统"},CUSTOM:{value:"CUSTOM",text:"自定义"}},columns:l,pagination:{page:1,size:10,sort:null,total:1},queryParam:{page:0,size:10,sort:null,keyword:null,type:null},loading:!1,options:[],form:{visible:!1,model:{},rules:{key:[{required:!0,message:"* Key 不能为空",trigger:["change"]}],value:[{required:!0,message:"* Value 不能为空",trigger:["change"]}]},saving:!1,saveErrored:!1}}},computed:{formattedData:function(){var t=this;return this.options.map((function(e){return e.typeProperty=t.optionType[e.type],e}))},formTitle:function(){return this.form.model.id?"编辑":"新增"}},beforeMount:function(){this.handleListOptions()},methods:(0,i.Z)((0,i.Z)({},(0,s.nv)(["refreshOptionsCache"])),{},{handleListOptions:function(){var t=this;this.loading=!0,this.queryParam.page=this.pagination.page-1,this.queryParam.size=this.pagination.size,this.queryParam.sort=this.pagination.sort,r.Z.option.listAsView(this.queryParam).then((function(e){t.options=e.data.content,t.pagination.total=e.data.total})).finally((function(){t.loading=!1}))},handleQuery:function(){this.handlePaginationChange(1,this.pagination.size)},handleDeleteOption:function(t){var e=this;r.Z.option["delete"](t).then((function(){e.$message.success("删除成功!")})).finally((function(){e.handleListOptions(),e.refreshOptionsCache()}))},handleOpenFormModal:function(){var t=this;this.form.visible=!0,this.$nextTick((function(){t.$refs.keyInput.focus()}))},handleOpenEditFormModal:function(t){var e=this;this.form.model=t,this.form.visible=!0,this.$nextTick((function(){e.$refs.keyInput.focus()}))},handlePaginationChange:function(t,e){this.$log.debug("Current: ".concat(t,", PageSize: ").concat(e)),this.pagination.page=t,this.pagination.size=e,this.handleListOptions()},handleResetParam:function(){this.queryParam.keyword=null,this.queryParam.type=null,this.handlePaginationChange(1,this.pagination.size)},onFormClose:function(){this.form.visible=!1,this.form.model={}},handleSaveOrUpdate:function(){var t=this;t.$refs.optionForm.validate((function(e){e&&(t.form.saving=!0,t.form.model.id?r.Z.option.update(t.form.model.id,t.form.model).catch((function(){t.form.saveErrored=!0})).finally((function(){setTimeout((function(){t.form.saving=!1}),400)})):(t.form.model.type=t.optionType.CUSTOM.value,r.Z.option.create(t.form.model).catch((function(){t.form.saveErrored=!0})).finally((function(){setTimeout((function(){t.form.saving=!1}),400)}))))}))},handleSaveOrUpdateCallback:function(){this.form.saveErrored?this.form.saveErrored=!1:(this.form.model={},this.form.visible=!1,this.handleListOptions(),this.refreshOptionsCache())}})},c=u,d=a(18156),p=(0,d.Z)(c,n,o,!1,null,null,null),f=p.exports},53303:function(t,e,a){var n=a(15820),o=Math.floor,i=function(t,e){var a=t.length,l=o(a/2);return a<8?r(t,e):s(t,i(n(t,0,l),e),i(n(t,l),e),e)},r=function(t,e){var a,n,o=t.length,i=1;while(i<o){n=i,a=t[i];while(n&&e(t[n-1],a)>0)t[n]=t[--n];n!==i++&&(t[n]=a)}return t},s=function(t,e,a,n){var o=e.length,i=a.length,r=0,s=0;while(r<o||s<i)t[r+s]=r<o&&s<i?n(e[r],a[s])<=0?e[r++]:a[s++]:r<o?e[r++]:a[s++];return t};t.exports=i},52103:function(t,e,a){var n=a(82678),o=n.match(/firefox\/(\d+)/i);t.exports=!!o&&+o[1]},76044:function(t,e,a){var n=a(82678);t.exports=/MSIE|Trident/.test(n)},97551:function(t,e,a){var n=a(82678),o=n.match(/AppleWebKit\/(\d+)\./);t.exports=!!o&&+o[1]},19003:function(t,e,a){"use strict";var n=a(79644),o=a(33691),i=a(77925),r=a(43207),s=a(71768),l=a(43150),u=a(32640),c=a(53303),d=a(29415),p=a(52103),f=a(76044),m=a(3718),h=a(97551),v=[],y=o(v.sort),g=o(v.push),k=u((function(){v.sort(void 0)})),b=u((function(){v.sort(null)})),C=d("sort"),x=!u((function(){if(m)return m<70;if(!(p&&p>3)){if(f)return!0;if(h)return h<603;var t,e,a,n,o="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:a=3;break;case 68:case 71:a=4;break;default:a=2}for(n=0;n<47;n++)v.push({k:e+n,v:a})}for(v.sort((function(t,e){return e.v-t.v})),n=0;n<v.length;n++)e=v[n].k.charAt(0),o.charAt(o.length-1)!==e&&(o+=e);return"DGBEFHACIJK"!==o}})),T=k||!b||!C||!x,w=function(t){return function(e,a){return void 0===a?-1:void 0===e?1:void 0!==t?+t(e,a)||0:l(e)>l(a)?1:-1}};n({target:"Array",proto:!0,forced:T},{sort:function(t){void 0!==t&&i(t);var e=r(this);if(x)return void 0===t?y(e):y(e,t);var a,n,o=[],l=s(e);for(n=0;n<l;n++)n in e&&g(o,e[n]);c(o,w(t)),a=o.length,n=0;while(n<a)e[n]=o[n++];while(n<l)delete e[n++];return e}})}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[139],{82139:function(e,t,a){a.r(t),a.d(t,{default:function(){return u}});var o=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"option-tab-wrapper"},[a("a-card",{attrs:{bodyStyle:{padding:0},bordered:!1}},[a("div",{staticClass:"table-page-search-wrapper"},[a("a-form",{attrs:{layout:"inline"}},[a("a-row",{attrs:{gutter:48}},[a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"关键词:"}},[a("a-input",{on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleQuery()}},model:{value:e.queryParam.keyword,callback:function(t){e.$set(e.queryParam,"keyword",t)},expression:"queryParam.keyword"}})],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"类型:"}},[a("a-select",{attrs:{allowClear:"",placeholder:"请选择类型"},on:{change:function(t){return e.handleQuery()}},model:{value:e.queryParam.type,callback:function(t){e.$set(e.queryParam,"type",t)},expression:"queryParam.type"}},e._l(Object.keys(e.optionType),(function(t){return a("a-select-option",{key:t,attrs:{value:t}},[e._v(e._s(e.optionType[t].text)+" ")])})),1)],1)],1),a("a-col",{attrs:{md:12,sm:24}},[a("span",{staticClass:"table-page-search-submitButtons"},[a("a-space",[a("a-button",{attrs:{type:"primary"},on:{click:function(t){return e.handleQuery()}}},[e._v("查询")]),a("a-button",{on:{click:function(t){return e.handleResetParam()}}},[e._v("重置")])],1)],1)])],1)],1)],1),a("div",{staticClass:"table-operator"},[a("a-button",{attrs:{icon:"plus",type:"primary"},on:{click:e.handleOpenFormModal}},[e._v("新增")])],1),a("div",{staticClass:"mt-4"},[a("a-table",{attrs:{columns:e.columns,dataSource:e.formattedData,loading:e.loading,pagination:!1,rowKey:function(e){return e.id},scrollToFirstRowOnChange:!0},scopedSlots:e._u([{key:"type",fn:function(t){return a("span",{},[e._v(" "+e._s(t.text)+" ")])}},{key:"createTime",fn:function(t){return a("span",{},[a("a-tooltip",{attrs:{placement:"top"}},[a("template",{slot:"title"},[e._v(" "+e._s(e._f("moment")(t))+" ")]),e._v(" "+e._s(e._f("timeAgo")(t))+" ")],2)],1)}},{key:"updateTime",fn:function(t){return a("span",{},[a("a-tooltip",{attrs:{placement:"top"}},[a("template",{slot:"title"},[e._v(" "+e._s(e._f("moment")(t))+" ")]),e._v(" "+e._s(e._f("timeAgo")(t))+" ")],2)],1)}},{key:"action",fn:function(t,o){return a("span",{},[a("a-button",{staticClass:"!p-0",attrs:{type:"link"},on:{click:function(t){return e.handleOpenEditFormModal(o)}}},[e._v("编辑")]),a("a-divider",{attrs:{type:"vertical"}}),a("a-popconfirm",{attrs:{title:"你确定要永久删除该变量?",cancelText:"取消",okText:"确定"},on:{confirm:function(t){return e.handleDeleteOption(o.id)}}},[a("a-button",{staticClass:"!p-0",attrs:{type:"link"}},[e._v("删除")])],1)],1)}}])}),a("div",{staticClass:"page-wrapper"},[a("a-pagination",{staticClass:"pagination",attrs:{current:e.pagination.page,defaultPageSize:e.pagination.size,pageSizeOptions:["10","20","50","100"],total:e.pagination.total,showLessItems:"",showSizeChanger:""},on:{change:e.handlePaginationChange,showSizeChange:e.handlePaginationChange}})],1)],1)]),a("a-modal",{attrs:{afterClose:e.onFormClose,title:e.formTitle},model:{value:e.form.visible,callback:function(t){e.$set(e.form,"visible",t)},expression:"form.visible"}},[a("template",{slot:"footer"},[a("ReactiveButton",{attrs:{errored:e.form.saveErrored,loading:e.form.saving,erroredText:"保存失败",loadedText:"保存成功",text:"保存"},on:{callback:e.handleSaveOrUpdateCallback,click:e.handleSaveOrUpdate}})],1),e.form.model.type===e.optionType.INTERNAL.value?a("a-alert",{attrs:{banner:"",closable:"",message:"注意:在不知道系统变量的具体用途时,请不要随意修改!"}}):e._e(),a("a-form-model",{ref:"optionForm",attrs:{model:e.form.model,rules:e.form.rules,layout:"vertical"}},[a("a-form-model-item",{attrs:{label:"Key:",prop:"key"}},[a("a-input",{ref:"keyInput",model:{value:e.form.model.key,callback:function(t){e.$set(e.form.model,"key",t)},expression:"form.model.key"}})],1),a("a-form-model-item",{attrs:{label:"Value:",prop:"value"}},[a("a-input",{attrs:{autoSize:{minRows:5},type:"textarea"},model:{value:e.form.model.value,callback:function(t){e.$set(e.form.model,"value",t)},expression:"form.model.value"}})],1)],1)],2)],1)},i=[],n=a(1540),r=a(98906);const s=[{title:"Key",dataIndex:"key",ellipsis:!0,scopedSlots:{customRender:"key"}},{title:"Value",dataIndex:"value",ellipsis:!0,scopedSlots:{customRender:"value"}},{title:"类型",dataIndex:"typeProperty",width:"100px",scopedSlots:{customRender:"type"}},{title:"创建时间",dataIndex:"createTime",width:"200px",scopedSlots:{customRender:"createTime"}},{title:"更新时间",dataIndex:"updateTime",width:"200px",scopedSlots:{customRender:"updateTime"}},{title:"操作",dataIndex:"action",width:"120px",scopedSlots:{customRender:"action"}}];var l={name:"OptionsList",data(){return{optionType:{INTERNAL:{value:"INTERNAL",text:"系统"},CUSTOM:{value:"CUSTOM",text:"自定义"}},columns:s,pagination:{page:1,size:10,sort:null,total:1},queryParam:{page:0,size:10,sort:null,keyword:null,type:null},loading:!1,options:[],form:{visible:!1,model:{},rules:{key:[{required:!0,message:"* Key 不能为空",trigger:["change"]}],value:[{required:!0,message:"* Value 不能为空",trigger:["change"]}]},saving:!1,saveErrored:!1}}},computed:{formattedData(){return this.options.map((e=>(e.typeProperty=this.optionType[e.type],e)))},formTitle(){return this.form.model.id?"编辑":"新增"}},beforeMount(){this.handleListOptions()},methods:{...(0,r.nv)(["refreshOptionsCache"]),handleListOptions(){this.loading=!0,this.queryParam.page=this.pagination.page-1,this.queryParam.size=this.pagination.size,this.queryParam.sort=this.pagination.sort,n.Z.option.listAsView(this.queryParam).then((e=>{this.options=e.data.content,this.pagination.total=e.data.total})).finally((()=>{this.loading=!1}))},handleQuery(){this.handlePaginationChange(1,this.pagination.size)},handleDeleteOption(e){n.Z.option["delete"](e).then((()=>{this.$message.success("删除成功!")})).finally((()=>{this.handleListOptions(),this.refreshOptionsCache()}))},handleOpenFormModal(){this.form.visible=!0,this.$nextTick((()=>{this.$refs.keyInput.focus()}))},handleOpenEditFormModal(e){this.form.model=e,this.form.visible=!0,this.$nextTick((()=>{this.$refs.keyInput.focus()}))},handlePaginationChange(e,t){this.$log.debug(`Current: ${e}, PageSize: ${t}`),this.pagination.page=e,this.pagination.size=t,this.handleListOptions()},handleResetParam(){this.queryParam.keyword=null,this.queryParam.type=null,this.handlePaginationChange(1,this.pagination.size)},onFormClose(){this.form.visible=!1,this.form.model={}},handleSaveOrUpdate(){const e=this;e.$refs.optionForm.validate((t=>{t&&(e.form.saving=!0,e.form.model.id?n.Z.option.update(e.form.model.id,e.form.model).catch((()=>{e.form.saveErrored=!0})).finally((()=>{setTimeout((()=>{e.form.saving=!1}),400)})):(e.form.model.type=e.optionType.CUSTOM.value,n.Z.option.create(e.form.model).catch((()=>{e.form.saveErrored=!0})).finally((()=>{setTimeout((()=>{e.form.saving=!1}),400)}))))}))},handleSaveOrUpdateCallback(){this.form.saveErrored?this.form.saveErrored=!1:(this.form.model={},this.form.visible=!1,this.handleListOptions(),this.refreshOptionsCache())}}},d=l,p=a(18156),m=(0,p.Z)(d,o,i,!1,null,null,null),u=m.exports}}]);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[158],{92158:function(e,t,a){a.d(t,{Z:function(){return P}});var r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("a-modal",{attrs:{afterClose:e.onClosed,bodyStyle:{padding:0},maskClosable:!1,width:680,destroyOnClose:""},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.modalTitle)+" "),e.loading?a("a-icon",{attrs:{type:"loading"}}):e._e()]},proxy:!0}]),model:{value:e.modalVisible,callback:function(t){e.modalVisible=t},expression:"modalVisible"}},[a("div",{staticClass:"card-container"},[a("a-tabs",{attrs:{type:"card"}},[a("a-tab-pane",{key:"normal",attrs:{tab:"常规"}},[a("a-form",{attrs:{"label-col":{span:4},"wrapper-col":{span:20},labelAlign:"left"}},[a("a-form-item",{attrs:{label:"文章标题"}},[a("a-input",{model:{value:e.form.model.title,callback:function(t){e.$set(e.form.model,"title",t)},expression:"form.model.title"}})],1),a("a-form-item",{attrs:{help:e.fullPath,label:"文章别名"}},[a("a-input",{scopedSlots:e._u([{key:"addonAfter",fn:function(){return[a("a-popconfirm",{attrs:{"cancel-text":"取消","ok-text":"确定",placement:"left",title:"是否确定根据标题重新生成别名?"},on:{confirm:e.handleGenerateSlug}},[a("a-icon",{staticClass:"cursor-pointer",attrs:{type:"sync"}})],1)]},proxy:!0}]),model:{value:e.form.model.slug,callback:function(t){e.$set(e.form.model,"slug",t)},expression:"form.model.slug"}})],1),a("a-form-item",{attrs:{label:"分类目录"}},[a("category-tree",{model:{value:e.form.model.categoryIds,callback:function(t){e.$set(e.form.model,"categoryIds",t)},expression:"form.model.categoryIds"}})],1),a("a-form-item",{attrs:{label:"标签"}},[a("TagSelect",{model:{value:e.form.model.tagIds,callback:function(t){e.$set(e.form.model,"tagIds",t)},expression:"form.model.tagIds"}})],1),a("a-form-item",{attrs:{label:"摘要"}},[a("a-input",{attrs:{autoSize:{minRows:5},placeholder:"如不填写,会从文章中自动截取",type:"textarea"},model:{value:e.form.model.summary,callback:function(t){e.$set(e.form.model,"summary",t)},expression:"form.model.summary"}})],1)],1)],1),a("a-tab-pane",{key:"advanced",attrs:{tab:"高级"}},[a("a-form",{attrs:{"label-col":{span:4},"wrapper-col":{span:20},labelAlign:"left"}},[a("a-form-item",{attrs:{label:"禁止评论"}},[a("a-switch",{model:{value:e.form.model.disallowComment,callback:function(t){e.$set(e.form.model,"disallowComment",t)},expression:"form.model.disallowComment"}})],1),a("a-form-item",{attrs:{label:"是否置顶"}},[a("a-switch",{model:{value:e.topPriority,callback:function(t){e.topPriority=t},expression:"topPriority"}})],1),a("a-form-item",{attrs:{label:"发表时间:"}},[a("a-date-picker",{attrs:{defaultValue:e.createTimeDefaultValue,format:"YYYY-MM-DD HH:mm:ss",placeholder:"选择文章发表时间",showTime:""},on:{change:e.onCreateTimeSelect,ok:e.onCreateTimeSelect}})],1),a("a-form-item",{attrs:{label:"自定义模板:"}},[a("a-select",{model:{value:e.form.model.template,callback:function(t){e.$set(e.form.model,"template",t)},expression:"form.model.template"}},[a("a-select-option",{key:"",attrs:{value:""}},[e._v("")]),e._l(e.templates,(function(t){return a("a-select-option",{key:t,attrs:{value:t}},[e._v(" "+e._s(t)+" ")])}))],2)],1),a("a-form-item",{attrs:{label:"访问密码:"}},[a("a-input-password",{attrs:{autocomplete:"new-password"},model:{value:e.form.model.password,callback:function(t){e.$set(e.form.model,"password",t)},expression:"form.model.password"}})],1),a("a-form-item",{attrs:{label:"封面图:"}},[a("div",{staticClass:"post-thumb"},[a("a-space",{attrs:{direction:"vertical"}},[a("img",{staticClass:"img",attrs:{src:e.form.model.thumbnail||"/images/placeholder.jpg",alt:"Post cover thumbnail"},on:{click:function(t){e.attachmentSelectVisible=!0}}}),a("a-input",{attrs:{"allow-clear":"",placeholder:"点击封面图选择图片,或者输入外部链接"},model:{value:e.form.model.thumbnail,callback:function(t){e.$set(e.form.model,"thumbnail",t)},expression:"form.model.thumbnail"}})],1)],1)])],1)],1),a("a-tab-pane",{key:"seo",attrs:{tab:"SEO"}},[a("a-form",{attrs:{"label-col":{span:4},"wrapper-col":{span:20},labelAlign:"left"}},[a("a-form-item",{attrs:{label:"自定义关键词"}},[a("a-input",{attrs:{autoSize:{minRows:5},placeholder:"多个关键词以英文逗号隔开,如不填写,将自动使用标签作为关键词",type:"textarea"},model:{value:e.form.model.metaKeywords,callback:function(t){e.$set(e.form.model,"metaKeywords",t)},expression:"form.model.metaKeywords"}})],1),a("a-form-item",{attrs:{label:"自定义描述"}},[a("a-input",{attrs:{autoSize:{minRows:5},placeholder:"如不填写,会从文章中自动截取",type:"textarea"},model:{value:e.form.model.metaDescription,callback:function(t){e.$set(e.form.model,"metaDescription",t)},expression:"form.model.metaDescription"}})],1)],1)],1),a("a-tab-pane",{key:"meta",attrs:{tab:"元数据"}},[a("MetaEditor",{attrs:{metas:e.form.model.metas,targetId:e.form.model.id,target:"post"},on:{"update:metas":function(t){return e.$set(e.form.model,"metas",t)}}})],1)],1)],1),a("template",{slot:"footer"},[e._t("extraFooter"),a("a-button",{attrs:{disabled:e.loading},on:{click:function(t){e.modalVisible=!1}}},[e._v(" 关闭")]),e.form.model.id?e._e():a("ReactiveButton",{attrs:{errored:e.form.draftSaveErrored,loading:e.form.draftSaving,erroredText:"保存失败",loadedText:"保存成功",text:"保存草稿",type:"danger"},on:{callback:e.handleSavedCallback,click:function(t){return e.handleCreateOrUpdate("DRAFT")}}}),a("ReactiveButton",{attrs:{errored:e.form.saveErrored,erroredText:(e.form.model.id?"保存":"发布")+"失败",loadedText:(e.form.model.id?"保存":"发布")+"成功",loading:e.form.saving,text:e.form.model.id?"保存":"发布"},on:{callback:e.handleSavedCallback,click:function(t){return e.handleCreateOrUpdate()}}})],2),a("AttachmentSelectModal",{attrs:{multiSelect:!1,visible:e.attachmentSelectVisible},on:{"update:visible":function(t){e.attachmentSelectVisible=t},confirm:e.handleSelectPostThumbnail}})],2)},o=[],n=a(91057),l=a(76381),s=(a(70315),a(41479),a(30535),a(85018),a(31875),a(18482),a(86381),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("a-tree",{attrs:{checkedKeys:e.categoryIds,treeData:e.categoryTree,checkStrictly:"",checkable:"",defaultExpandAll:"",showLine:""},on:{check:e.onCheck}})}),i=[],c=(a(21082),a(1540));function m(e,t){t.forEach((function(t){e.key===t.parentId&&(e.children||(e.children=[]),e.children.push({key:t.id,title:t.name,isLeaf:!1}))})),e.children?e.children.forEach((function(e){return m(e,t)})):e.isLeaf=!0}function d(e){var t={key:0,title:"top",children:[]};return m(t,e),t.children}var u={name:"CategoryTree",model:{prop:"categoryIds",event:"check"},props:{categoryIds:{type:Array,required:!1,default:function(){return[]}}},data:function(){return{categories:{data:[],loading:!1}}},computed:{categoryTree:function(){return this.categories.data.length?d(this.categories.data):[]}},created:function(){this.handleListCategories()},methods:{handleListCategories:function(){var e=this;return(0,n.Z)(regeneratorRuntime.mark((function t(){var a,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,e.categories.loading=!0,t.next=4,c.Z.category.list({sort:[],more:!1});case 4:a=t.sent,r=a.data,e.categories.data=r,t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](0),e.$log.error(t.t0);case 12:return t.prev=12,e.categories.loading=!1,t.finish(12);case 15:case"end":return t.stop()}}),t,null,[[0,9,12,15]])})))()},onCheck:function(e,t){this.$log.debug("Chekced keys",e),this.$log.debug("e",t),this.$emit("check",e.checked)}}},f=u,p=a(18156),h=(0,p.Z)(f,s,i,!1,null,null,null),g=h.exports,v=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("a-select",{staticClass:"w-full",attrs:{"token-separators":[",","|"],allowClear:"",mode:"tags",placeholder:"选择或输入标签"},on:{change:e.handleChange},model:{value:e.selectedTagNames,callback:function(t){e.selectedTagNames=t},expression:"selectedTagNames"}},e._l(e.tags,(function(t){return a("a-select-option",{key:t.id,attrs:{value:t.name}},[e._v(e._s(t.name))])})),1)},b=[],k=(a(82395),a(90195),a(10299)),y=a.n(k),x={name:"TagSelect",model:{prop:"tagIds",event:"change"},props:{tagIds:{type:Array,required:!1,default:function(){return[]}}},data:function(){return{tags:[],selectedTagNames:[]}},created:function(){this.handleListTags()},watch:{tags:function(e){var t=this;e&&(this.selectedTagNames=this.tagIds.map((function(e){return t.tagIdMap[e].name})))},tagIds:{handler:function(e){var t=this;this.tags.length&&(this.selectedTagNames=e.map((function(e){return t.tagIdMap[e].name})))},deep:!0}},computed:{tagIdMap:function(){var e={};return this.tags.forEach((function(t){e[t.id]=t})),e},tagNameMap:function(){var e={};return this.tags.forEach((function(t){e[t.name]=t})),e}},methods:{handleListTags:function(e){var t=this;c.Z.tag.list({sort:"name,asc",more:!0}).then((function(a){t.tags=a.data,e&&e()}))},handleChange:function(){var e=this,t=this.selectedTagNames.filter((function(t){return!e.tagNameMap[t]}));if(this.$log.debug("Tag names to create",t),t.length){var a=t.map((function(e){return c.Z.tag.create({name:e})}));y().all(a).then(y().spread((function(){e.handleListTags((function(){e.$log.debug("Tag name map",e.tagNameMap);var t=e.selectedTagNames.map((function(t){return e.tagNameMap[t].id}));e.$emit("change",t)}))})))}else{var r=this.selectedTagNames.map((function(t){return e.tagNameMap[t].id}));this.$emit("change",r)}}}},w=x,T=(0,p.Z)(w,v,b,!1,null,null,null),S=T.exports,C=a(59563),_=a(3832),$=a(86637),E=a(73511),D=a.n(E),Y=a(98906),I={name:"PostSettingModal",mixins:[_.jB,_.KT],components:{CategoryTree:g,TagSelect:S,MetaEditor:C.Z},props:{visible:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},post:{type:Object,default:function(){return{}}},savedCallback:{type:Function,default:null}},data:function(){return{form:{model:{},saving:!1,saveErrored:!1,draftSaving:!1,draftSaveErrored:!1},templates:[],attachmentSelectVisible:!1}},computed:(0,l.Z)((0,l.Z)({},(0,Y.Se)(["options"])),{},{modalVisible:{get:function(){return this.visible},set:function(e){this.$emit("update:visible",e)}},modalTitle:function(){return this.form.model.id?"文章设置":"文章发布"},createTimeDefaultValue:function(){if(this.form.model.createTime){var e=new Date(this.form.model.createTime);return(0,$._)(e,"YYYY-MM-DD HH:mm:ss")}return(0,$._)(new Date,"YYYY-MM-DD HH:mm:ss")},topPriority:{get:function(){return 0!==this.form.model.topPriority},set:function(e){this.form.model.topPriority=e?1:0}},fullPath:function(){var e=this.options.post_permalink_type,t=this.options.blog_url,a=this.options.archives_prefix,r=this.options.path_suffix||"",o=this.form.model.slug||"{slug}",n=this.form.model.createTime||new Date,l=this.form.model.id||"{id}";switch(e){case"DEFAULT":return"".concat(t,"/").concat(a,"/").concat(o).concat(r);case"YEAR":return"".concat(t).concat((0,$._)(n,"/YYYY/")).concat(o).concat(r);case"DATE":return"".concat(t).concat((0,$._)(n,"/YYYY/MM/")).concat(o).concat(r);case"DAY":return"".concat(t).concat((0,$._)(n,"/YYYY/MM/DD/")).concat(o).concat(r);case"ID":return"".concat(t,"/?p=").concat(l);case"ID_SLUG":return"".concat(t,"/").concat(a,"/").concat(l).concat(r);default:return""}}}),watch:{modalVisible:function(e){e&&(this.form.model=Object.assign({},this.post),this.form.model.slug||this.form.model.id||this.handleGenerateSlug())},post:{deep:!0,handler:function(e){this.form.model=Object.assign({},e)}}},created:function(){this.handleListCustomTemplates()},methods:{handleCreateOrUpdate:function(){var e=arguments,t=this;return(0,n.Z)(regeneratorRuntime.mark((function a(){var r,o,n,l;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:if(r=e.length>0&&void 0!==e[0]?e[0]:"PUBLISHED",t.form.model.title){a.next=4;break}return t.$notification["error"]({message:"提示",description:"文章标题不能为空!"}),a.abrupt("return");case 4:if(t.form.model.status=r,t.form.model.keepRaw=!0,o=t.form.model,n=o.id,l=o.status,a.prev=7,t.form["PUBLISHED"===l?"saving":"draftSaving"]=!0,!n){a.next=14;break}return a.next=12,c.Z.post.update(n,t.form.model);case 12:a.next=16;break;case 14:return a.next=16,c.Z.post.create(t.form.model);case 16:a.next=22;break;case 18:a.prev=18,a.t0=a["catch"](7),t.form["PUBLISHED"===l?"saveErrored":"draftSaveErrored"]=!0,t.$log.error(a.t0);case 22:return a.prev=22,setTimeout((function(){t.form.saving=!1,t.form.draftSaving=!1}),400),a.finish(22);case 25:case"end":return a.stop()}}),a,null,[[7,18,22,25]])})))()},handleSavedCallback:function(){this.form.saveErrored||this.form.draftSaveErrored?(this.form.saveErrored=!1,this.form.draftSaveErrored=!1):this.savedCallback&&this.savedCallback()},handleListCustomTemplates:function(){var e=this;return(0,n.Z)(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,c.Z.theme.listCustomPostTemplates();case 3:a=t.sent,e.templates=a.data,t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),e.$log.error(t.t0);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()},onCreateTimeSelect:function(e){this.form.model.createTime=e.valueOf()},handleGenerateSlug:function(){if(this.form.model.title&&D().isSupported()){var e,t="",a=D().parse(this.form.model.title.replace(/\s+/g,"").toLowerCase());a.forEach((function(a){if(2===a.type){var r=a.target?a.target.toLowerCase():"";t+=t&&!/\n|\s/.test(e.target)?"-"+r:r}else t+=(e&&2===e.type?"-":"")+a.target;e=a})),this.$set(this.form.model,"slug",t)}},handleSelectPostThumbnail:function(e){var t=e.raw;t.length&&(this.form.model.thumbnail=encodeURI(t[0].path)),this.attachmentSelectVisible=!1},onClosed:function(){this.$emit("onClose"),this.$emit("onUpdate",this.form.model)}}},M=I,L=(0,p.Z)(M,r,o,!1,null,null,null),P=L.exports}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[158],{92158:function(e,t,a){a.d(t,{Z:function(){return M}});var o=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("a-modal",{attrs:{afterClose:e.onClosed,bodyStyle:{padding:0},maskClosable:!1,width:680,destroyOnClose:""},scopedSlots:e._u([{key:"title",fn:function(){return[e._v(" "+e._s(e.modalTitle)+" "),e.loading?a("a-icon",{attrs:{type:"loading"}}):e._e()]},proxy:!0}]),model:{value:e.modalVisible,callback:function(t){e.modalVisible=t},expression:"modalVisible"}},[a("div",{staticClass:"card-container"},[a("a-tabs",{attrs:{type:"card"}},[a("a-tab-pane",{key:"normal",attrs:{tab:"常规"}},[a("a-form",{attrs:{"label-col":{span:4},"wrapper-col":{span:20},labelAlign:"left"}},[a("a-form-item",{attrs:{label:"文章标题"}},[a("a-input",{model:{value:e.form.model.title,callback:function(t){e.$set(e.form.model,"title",t)},expression:"form.model.title"}})],1),a("a-form-item",{attrs:{help:e.fullPath,label:"文章别名"}},[a("a-input",{scopedSlots:e._u([{key:"addonAfter",fn:function(){return[a("a-popconfirm",{attrs:{"cancel-text":"取消","ok-text":"确定",placement:"left",title:"是否确定根据标题重新生成别名?"},on:{confirm:e.handleGenerateSlug}},[a("a-icon",{staticClass:"cursor-pointer",attrs:{type:"sync"}})],1)]},proxy:!0}]),model:{value:e.form.model.slug,callback:function(t){e.$set(e.form.model,"slug",t)},expression:"form.model.slug"}})],1),a("a-form-item",{attrs:{label:"分类目录"}},[a("category-tree",{model:{value:e.form.model.categoryIds,callback:function(t){e.$set(e.form.model,"categoryIds",t)},expression:"form.model.categoryIds"}})],1),a("a-form-item",{attrs:{label:"标签"}},[a("TagSelect",{model:{value:e.form.model.tagIds,callback:function(t){e.$set(e.form.model,"tagIds",t)},expression:"form.model.tagIds"}})],1),a("a-form-item",{attrs:{label:"摘要"}},[a("a-input",{attrs:{autoSize:{minRows:5},placeholder:"如不填写,会从文章中自动截取",type:"textarea"},model:{value:e.form.model.summary,callback:function(t){e.$set(e.form.model,"summary",t)},expression:"form.model.summary"}})],1)],1)],1),a("a-tab-pane",{key:"advanced",attrs:{tab:"高级"}},[a("a-form",{attrs:{"label-col":{span:4},"wrapper-col":{span:20},labelAlign:"left"}},[a("a-form-item",{attrs:{label:"禁止评论"}},[a("a-switch",{model:{value:e.form.model.disallowComment,callback:function(t){e.$set(e.form.model,"disallowComment",t)},expression:"form.model.disallowComment"}})],1),a("a-form-item",{attrs:{label:"是否置顶"}},[a("a-switch",{model:{value:e.topPriority,callback:function(t){e.topPriority=t},expression:"topPriority"}})],1),a("a-form-item",{attrs:{label:"发表时间:"}},[a("a-date-picker",{attrs:{defaultValue:e.createTimeDefaultValue,format:"YYYY-MM-DD HH:mm:ss",placeholder:"选择文章发表时间",showTime:""},on:{change:e.onCreateTimeSelect,ok:e.onCreateTimeSelect}})],1),a("a-form-item",{attrs:{label:"自定义模板:"}},[a("a-select",{model:{value:e.form.model.template,callback:function(t){e.$set(e.form.model,"template",t)},expression:"form.model.template"}},[a("a-select-option",{key:"",attrs:{value:""}},[e._v("")]),e._l(e.templates,(function(t){return a("a-select-option",{key:t,attrs:{value:t}},[e._v(" "+e._s(t)+" ")])}))],2)],1),a("a-form-item",{attrs:{label:"访问密码:"}},[a("a-input-password",{attrs:{autocomplete:"new-password"},model:{value:e.form.model.password,callback:function(t){e.$set(e.form.model,"password",t)},expression:"form.model.password"}})],1),a("a-form-item",{attrs:{label:"封面图:"}},[a("div",{staticClass:"post-thumb"},[a("a-space",{attrs:{direction:"vertical"}},[a("img",{staticClass:"img",attrs:{src:e.form.model.thumbnail||"/images/placeholder.jpg",alt:"Post cover thumbnail"},on:{click:function(t){e.attachmentSelectVisible=!0}}}),a("a-input",{attrs:{"allow-clear":"",placeholder:"点击封面图选择图片,或者输入外部链接"},model:{value:e.form.model.thumbnail,callback:function(t){e.$set(e.form.model,"thumbnail",t)},expression:"form.model.thumbnail"}})],1)],1)])],1)],1),a("a-tab-pane",{key:"seo",attrs:{tab:"SEO"}},[a("a-form",{attrs:{"label-col":{span:4},"wrapper-col":{span:20},labelAlign:"left"}},[a("a-form-item",{attrs:{label:"自定义关键词"}},[a("a-input",{attrs:{autoSize:{minRows:5},placeholder:"多个关键词以英文逗号隔开,如不填写,将自动使用标签作为关键词",type:"textarea"},model:{value:e.form.model.metaKeywords,callback:function(t){e.$set(e.form.model,"metaKeywords",t)},expression:"form.model.metaKeywords"}})],1),a("a-form-item",{attrs:{label:"自定义描述"}},[a("a-input",{attrs:{autoSize:{minRows:5},placeholder:"如不填写,会从文章中自动截取",type:"textarea"},model:{value:e.form.model.metaDescription,callback:function(t){e.$set(e.form.model,"metaDescription",t)},expression:"form.model.metaDescription"}})],1)],1)],1),a("a-tab-pane",{key:"meta",attrs:{tab:"元数据"}},[a("MetaEditor",{attrs:{metas:e.form.model.metas,targetId:e.form.model.id,target:"post"},on:{"update:metas":function(t){return e.$set(e.form.model,"metas",t)}}})],1)],1)],1),a("template",{slot:"footer"},[e._t("extraFooter"),a("a-button",{attrs:{disabled:e.loading},on:{click:function(t){e.modalVisible=!1}}},[e._v(" 关闭")]),e.form.model.id?e._e():a("ReactiveButton",{attrs:{errored:e.form.draftSaveErrored,loading:e.form.draftSaving,erroredText:"保存失败",loadedText:"保存成功",text:"保存草稿",type:"danger"},on:{callback:e.handleSavedCallback,click:function(t){return e.handleCreateOrUpdate("DRAFT")}}}),a("ReactiveButton",{attrs:{errored:e.form.saveErrored,erroredText:(e.form.model.id?"保存":"发布")+"失败",loadedText:(e.form.model.id?"保存":"发布")+"成功",loading:e.form.saving,text:e.form.model.id?"保存":"发布"},on:{callback:e.handleSavedCallback,click:function(t){return e.handleCreateOrUpdate()}}})],2),a("AttachmentSelectModal",{attrs:{multiSelect:!1,visible:e.attachmentSelectVisible},on:{"update:visible":function(t){e.attachmentSelectVisible=t},confirm:e.handleSelectPostThumbnail}})],2)},l=[],r=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("a-tree",{attrs:{checkedKeys:e.categoryIds,treeData:e.categoryTree,checkStrictly:"",checkable:"",defaultExpandAll:"",showLine:""},on:{check:e.onCheck}})},s=[],i=a(1540);function n(e,t){t.forEach((t=>{e.key===t.parentId&&(e.children||(e.children=[]),e.children.push({key:t.id,title:t.name,isLeaf:!1}))})),e.children?e.children.forEach((e=>n(e,t))):e.isLeaf=!0}function m(e){const t={key:0,title:"top",children:[]};return n(t,e),t.children}var d={name:"CategoryTree",model:{prop:"categoryIds",event:"check"},props:{categoryIds:{type:Array,required:!1,default:()=>[]}},data(){return{categories:{data:[],loading:!1}}},computed:{categoryTree(){return this.categories.data.length?m(this.categories.data):[]}},created(){this.handleListCategories()},methods:{async handleListCategories(){try{this.categories.loading=!0;const{data:e}=await i.Z.category.list({sort:[],more:!1});this.categories.data=e}catch(e){this.$log.error(e)}finally{this.categories.loading=!1}},onCheck(e,t){this.$log.debug("Chekced keys",e),this.$log.debug("e",t),this.$emit("check",e.checked)}}},c=d,h=a(18156),f=(0,h.Z)(c,r,s,!1,null,null,null),u=f.exports,p=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("a-select",{staticClass:"w-full",attrs:{"token-separators":[",","|"],allowClear:"",mode:"tags",placeholder:"选择或输入标签"},on:{change:e.handleChange},model:{value:e.selectedTagNames,callback:function(t){e.selectedTagNames=t},expression:"selectedTagNames"}},e._l(e.tags,(function(t){return a("a-select-option",{key:t.id,attrs:{value:t.name}},[e._v(e._s(t.name))])})),1)},g=[],b=a(10299),y=a.n(b),v={name:"TagSelect",model:{prop:"tagIds",event:"change"},props:{tagIds:{type:Array,required:!1,default:()=>[]}},data(){return{tags:[],selectedTagNames:[]}},created(){this.handleListTags()},watch:{tags(e){e&&(this.selectedTagNames=this.tagIds.map((e=>this.tagIdMap[e].name)))},tagIds:{handler(e){this.tags.length&&(this.selectedTagNames=e.map((e=>this.tagIdMap[e].name)))},deep:!0}},computed:{tagIdMap(){const e={};return this.tags.forEach((t=>{e[t.id]=t})),e},tagNameMap(){const e={};return this.tags.forEach((t=>{e[t.name]=t})),e}},methods:{handleListTags(e){i.Z.tag.list({sort:"name,asc",more:!0}).then((t=>{this.tags=t.data,e&&e()}))},handleChange(){const e=this.selectedTagNames.filter((e=>!this.tagNameMap[e]));if(this.$log.debug("Tag names to create",e),!e.length){const e=this.selectedTagNames.map((e=>this.tagNameMap[e].id));return void this.$emit("change",e)}const t=e.map((e=>i.Z.tag.create({name:e})));y().all(t).then(y().spread((()=>{this.handleListTags((()=>{this.$log.debug("Tag name map",this.tagNameMap);const e=this.selectedTagNames.map((e=>this.tagNameMap[e].id));this.$emit("change",e)}))})))}}},k=v,$=(0,h.Z)(k,p,g,!1,null,null,null),T=$.exports,S=a(59563),C=a(3832),w=a(86637),x=a(73511),_=a.n(x),E=a(98906),D={name:"PostSettingModal",mixins:[C.jB,C.KT],components:{CategoryTree:u,TagSelect:T,MetaEditor:S.Z},props:{visible:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},post:{type:Object,default:()=>({})},savedCallback:{type:Function,default:null}},data(){return{form:{model:{},saving:!1,saveErrored:!1,draftSaving:!1,draftSaveErrored:!1},templates:[],attachmentSelectVisible:!1}},computed:{...(0,E.Se)(["options"]),modalVisible:{get(){return this.visible},set(e){this.$emit("update:visible",e)}},modalTitle(){return this.form.model.id?"文章设置":"文章发布"},createTimeDefaultValue(){if(this.form.model.createTime){const e=new Date(this.form.model.createTime);return(0,w._)(e,"YYYY-MM-DD HH:mm:ss")}return(0,w._)(new Date,"YYYY-MM-DD HH:mm:ss")},topPriority:{get(){return 0!==this.form.model.topPriority},set(e){this.form.model.topPriority=e?1:0}},fullPath(){const e=this.options.post_permalink_type,t=this.options.blog_url,a=this.options.archives_prefix,o=this.options.path_suffix||"",l=this.form.model.slug||"{slug}",r=this.form.model.createTime||new Date,s=this.form.model.id||"{id}";switch(e){case"DEFAULT":return`${t}/${a}/${l}${o}`;case"YEAR":return`${t}${(0,w._)(r,"/YYYY/")}${l}${o}`;case"DATE":return`${t}${(0,w._)(r,"/YYYY/MM/")}${l}${o}`;case"DAY":return`${t}${(0,w._)(r,"/YYYY/MM/DD/")}${l}${o}`;case"ID":return`${t}/?p=${s}`;case"ID_SLUG":return`${t}/${a}/${s}${o}`;default:return""}}},watch:{modalVisible(e){e&&(this.form.model=Object.assign({},this.post),this.form.model.slug||this.form.model.id||this.handleGenerateSlug())},post:{deep:!0,handler(e){this.form.model=Object.assign({},e)}}},created(){this.handleListCustomTemplates()},methods:{async handleCreateOrUpdate(e="PUBLISHED"){if(!this.form.model.title)return void this.$notification["error"]({message:"提示",description:"文章标题不能为空!"});this.form.model.status=e,this.form.model.keepRaw=!0;const{id:t,status:a}=this.form.model;try{this.form["PUBLISHED"===a?"saving":"draftSaving"]=!0,t?await i.Z.post.update(t,this.form.model):await i.Z.post.create(this.form.model)}catch(o){this.form["PUBLISHED"===a?"saveErrored":"draftSaveErrored"]=!0,this.$log.error(o)}finally{setTimeout((()=>{this.form.saving=!1,this.form.draftSaving=!1}),400)}},handleSavedCallback(){this.form.saveErrored||this.form.draftSaveErrored?(this.form.saveErrored=!1,this.form.draftSaveErrored=!1):this.savedCallback&&this.savedCallback()},async handleListCustomTemplates(){try{const e=await i.Z.theme.listCustomPostTemplates();this.templates=e.data}catch(e){this.$log.error(e)}},onCreateTimeSelect(e){this.form.model.createTime=e.valueOf()},handleGenerateSlug(){if(this.form.model.title&&_().isSupported()){let e="";const t=_().parse(this.form.model.title.replace(/\s+/g,"").toLowerCase());let a;t.forEach((t=>{if(2===t.type){const o=t.target?t.target.toLowerCase():"";e+=e&&!/\n|\s/.test(a.target)?"-"+o:o}else e+=(a&&2===a.type?"-":"")+t.target;a=t})),this.$set(this.form.model,"slug",e)}},handleSelectPostThumbnail({raw:e}){e.length&&(this.form.model.thumbnail=encodeURI(e[0].path)),this.attachmentSelectVisible=!1},onClosed(){this.$emit("onClose"),this.$emit("onUpdate",this.form.model)}}},Y=D,I=(0,h.Z)(Y,o,l,!1,null,null,null),M=I.exports}}]);
\ No newline at end of file
(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[164],{53303:function(e,t,r){var n=r(15820),s=Math.floor,a=function(e,t){var r=e.length,h=s(r/2);return r<8?i(e,t):o(e,a(n(e,0,h),t),a(n(e,h),t),t)},i=function(e,t){var r,n,s=e.length,a=1;while(a<s){n=a,r=e[a];while(n&&t(e[n-1],r)>0)e[n]=e[--n];n!==a++&&(e[n]=r)}return e},o=function(e,t,r,n){var s=t.length,a=r.length,i=0,o=0;while(i<s||o<a)e[i+o]=i<s&&o<a?n(t[i],r[o])<=0?t[i++]:r[o++]:i<s?t[i++]:r[o++];return e};e.exports=a},56872:function(e,t,r){var n=r(32640),s=r(26727),a=r(379),i=s("iterator");e.exports=!n((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,r="";return e.pathname="c%20d",t.forEach((function(e,n){t["delete"]("b"),r+=n+e})),a&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[i]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host}))},80969:function(e,t,r){"use strict";var n=r(8432),s=r(33691),a=2147483647,i=36,o=1,h=26,u=38,l=700,c=72,f=128,p="-",g=/[^\0-\u007E]/,m=/[.\u3002\uFF0E\uFF61]/g,v="Overflow: input needs wider integers to process",d=i-o,w=n.RangeError,y=s(m.exec),b=Math.floor,U=String.fromCharCode,P=s("".charCodeAt),k=s([].join),R=s([].push),S=s("".replace),L=s("".split),q=s("".toLowerCase),H=function(e){var t=[],r=0,n=e.length;while(r<n){var s=P(e,r++);if(s>=55296&&s<=56319&&r<n){var a=P(e,r++);56320==(64512&a)?R(t,((1023&s)<<10)+(1023&a)+65536):(R(t,s),r--)}else R(t,s)}return t},B=function(e){return e+22+75*(e<26)},x=function(e,t,r){var n=0;e=r?b(e/l):e>>1,e+=b(e/t);while(e>d*h>>1)e=b(e/d),n+=i;return b(n+(d+1)*e/(e+u))},A=function(e){var t=[];e=H(e);var r,n,s=e.length,u=f,l=0,g=c;for(r=0;r<e.length;r++)n=e[r],n<128&&R(t,U(n));var m=t.length,d=m;m&&R(t,p);while(d<s){var y=a;for(r=0;r<e.length;r++)n=e[r],n>=u&&n<y&&(y=n);var P=d+1;if(y-u>b((a-l)/P))throw w(v);for(l+=(y-u)*P,u=y,r=0;r<e.length;r++){if(n=e[r],n<u&&++l>a)throw w(v);if(n==u){var S=l,L=i;while(1){var q=L<=g?o:L>=g+h?h:L-g;if(S<q)break;var A=S-q,C=i-q;R(t,U(B(q+A%C))),S=b(A/C),L+=i}R(t,U(B(S))),g=x(l,P,d==m),l=0,d++}}l++,u++}return k(t,"")};e.exports=function(e){var t,r,n=[],s=L(S(q(e),m,"."),".");for(t=0;t<s.length;t++)r=s[t],R(n,y(g,r)?"xn--"+A(r):r);return k(n,".")}},89375:function(e,t,r){var n=r(8432),s=n.TypeError;e.exports=function(e,t){if(e<t)throw s("Not enough arguments");return e}},20838:function(e,t,r){"use strict";r(97898);var n=r(79644),s=r(8432),a=r(15532),i=r(36230),o=r(33691),h=r(56872),u=r(41304),l=r(71951),c=r(29227),f=r(45135),p=r(48423),g=r(45934),m=r(95740),v=r(61746),d=r(62434),w=r(70057),y=r(29188),b=r(10445),U=r(43150),P=r(84146),k=r(89966),R=r(9513),S=r(73751),L=r(89375),q=r(26727),H=r(53303),B=q("iterator"),x="URLSearchParams",A=x+"Iterator",C=p.set,O=p.getterFor(x),E=p.getterFor(A),j=a("fetch"),z=a("Request"),I=a("Headers"),F=z&&z.prototype,M=I&&I.prototype,T=s.RegExp,$=s.TypeError,N=s.decodeURIComponent,Q=s.encodeURIComponent,J=o("".charAt),_=o([].join),D=o([].push),G=o("".replace),K=o([].shift),V=o([].splice),W=o("".split),X=o("".slice),Y=/\+/g,Z=Array(4),ee=function(e){return Z[e-1]||(Z[e-1]=T("((?:%[\\da-f]{2}){"+e+"})","gi"))},te=function(e){try{return N(e)}catch(t){return e}},re=function(e){var t=G(e,Y," "),r=4;try{return N(t)}catch(n){while(r)t=G(t,ee(r--),te);return t}},ne=/[!'()~]|%20/g,se={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ae=function(e){return se[e]},ie=function(e){return G(Q(e),ne,ae)},oe=f((function(e,t){C(this,{type:A,iterator:R(O(e).entries),kind:t})}),"Iterator",(function(){var e=E(this),t=e.kind,r=e.iterator.next(),n=r.value;return r.done||(r.value="keys"===t?n.key:"values"===t?n.value:[n.key,n.value]),r}),!0),he=function(e){this.entries=[],this.url=null,void 0!==e&&(b(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===J(e,0)?X(e,1):e:U(e)))};he.prototype={type:x,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,n,s,a,o,h,u=S(e);if(u){t=R(e,u),r=t.next;while(!(n=i(r,t)).done){if(s=R(y(n.value)),a=s.next,(o=i(a,s)).done||(h=i(a,s)).done||!i(a,s).done)throw $("Expected sequence with length 2");D(this.entries,{key:U(o.value),value:U(h.value)})}}else for(var l in e)v(e,l)&&D(this.entries,{key:l,value:U(e[l])})},parseQuery:function(e){if(e){var t,r,n=W(e,"&"),s=0;while(s<n.length)t=n[s++],t.length&&(r=W(t,"="),D(this.entries,{key:re(K(r)),value:re(_(r,"="))}))}},serialize:function(){var e,t=this.entries,r=[],n=0;while(n<t.length)e=t[n++],D(r,ie(e.key)+"="+ie(e.value));return _(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var ue=function(){g(this,le);var e=arguments.length>0?arguments[0]:void 0;C(this,new he(e))},le=ue.prototype;if(l(le,{append:function(e,t){L(arguments.length,2);var r=O(this);D(r.entries,{key:U(e),value:U(t)}),r.updateURL()},delete:function(e){L(arguments.length,1);var t=O(this),r=t.entries,n=U(e),s=0;while(s<r.length)r[s].key===n?V(r,s,1):s++;t.updateURL()},get:function(e){L(arguments.length,1);for(var t=O(this).entries,r=U(e),n=0;n<t.length;n++)if(t[n].key===r)return t[n].value;return null},getAll:function(e){L(arguments.length,1);for(var t=O(this).entries,r=U(e),n=[],s=0;s<t.length;s++)t[s].key===r&&D(n,t[s].value);return n},has:function(e){L(arguments.length,1);var t=O(this).entries,r=U(e),n=0;while(n<t.length)if(t[n++].key===r)return!0;return!1},set:function(e,t){L(arguments.length,1);for(var r,n=O(this),s=n.entries,a=!1,i=U(e),o=U(t),h=0;h<s.length;h++)r=s[h],r.key===i&&(a?V(s,h--,1):(a=!0,r.value=o));a||D(s,{key:i,value:o}),n.updateURL()},sort:function(){var e=O(this);H(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){var t,r=O(this).entries,n=d(e,arguments.length>1?arguments[1]:void 0),s=0;while(s<r.length)t=r[s++],n(t.value,t.key,this)},keys:function(){return new oe(this,"keys")},values:function(){return new oe(this,"values")},entries:function(){return new oe(this,"entries")}},{enumerable:!0}),u(le,B,le.entries,{name:"entries"}),u(le,"toString",(function(){return O(this).serialize()}),{enumerable:!0}),c(ue,x),n({global:!0,forced:!h},{URLSearchParams:ue}),!h&&m(I)){var ce=o(M.has),fe=o(M.set),pe=function(e){if(b(e)){var t,r=e.body;if(w(r)===x)return t=e.headers?new I(e.headers):new I,ce(t,"content-type")||fe(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),P(e,{body:k(0,U(r)),headers:k(0,t)})}return e};if(m(j)&&n({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return j(e,arguments.length>1?pe(arguments[1]):{})}}),m(z)){var ge=function(e){return g(this,F),new z(e,arguments.length>1?pe(arguments[1]):{})};F.constructor=ge,ge.prototype=F,n({global:!0,forced:!0},{Request:ge})}}e.exports={URLSearchParams:ue,getState:O}},42164:function(e,t,r){"use strict";r(29888);var n,s=r(79644),a=r(77383),i=r(56872),o=r(8432),h=r(62434),u=r(33691),l=r(77681).f,c=r(41304),f=r(45934),p=r(61746),g=r(3216),m=r(62864),v=r(15820),d=r(47066).codeAt,w=r(80969),y=r(43150),b=r(29227),U=r(20838),P=r(48423),k=P.set,R=P.getterFor("URL"),S=U.URLSearchParams,L=U.getState,q=o.URL,H=o.TypeError,B=o.parseInt,x=Math.floor,A=Math.pow,C=u("".charAt),O=u(/./.exec),E=u([].join),j=u(1..toString),z=u([].pop),I=u([].push),F=u("".replace),M=u([].shift),T=u("".split),$=u("".slice),N=u("".toLowerCase),Q=u([].unshift),J="Invalid authority",_="Invalid scheme",D="Invalid host",G="Invalid port",K=/[a-z]/i,V=/[\d+-.a-z]/i,W=/\d/,X=/^0x/i,Y=/^[0-7]+$/,Z=/^\d+$/,ee=/^[\da-f]+$/i,te=/[\0\t\n\r #%/:<>?@[\\\]^|]/,re=/[\0\t\n\r #/:<>?@[\\\]^|]/,ne=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,se=/[\t\n\r]/g,ae=function(e){var t,r,n,s,a,i,o,h=T(e,".");if(h.length&&""==h[h.length-1]&&h.length--,t=h.length,t>4)return e;for(r=[],n=0;n<t;n++){if(s=h[n],""==s)return e;if(a=10,s.length>1&&"0"==C(s,0)&&(a=O(X,s)?16:8,s=$(s,8==a?1:2)),""===s)i=0;else{if(!O(10==a?Z:8==a?Y:ee,s))return e;i=B(s,a)}I(r,i)}for(n=0;n<t;n++)if(i=r[n],n==t-1){if(i>=A(256,5-t))return null}else if(i>255)return null;for(o=z(r),n=0;n<r.length;n++)o+=r[n]*A(256,3-n);return o},ie=function(e){var t,r,n,s,a,i,o,h=[0,0,0,0,0,0,0,0],u=0,l=null,c=0,f=function(){return C(e,c)};if(":"==f()){if(":"!=C(e,1))return;c+=2,u++,l=u}while(f()){if(8==u)return;if(":"!=f()){t=r=0;while(r<4&&O(ee,f()))t=16*t+B(f(),16),c++,r++;if("."==f()){if(0==r)return;if(c-=r,u>6)return;n=0;while(f()){if(s=null,n>0){if(!("."==f()&&n<4))return;c++}if(!O(W,f()))return;while(O(W,f())){if(a=B(f(),10),null===s)s=a;else{if(0==s)return;s=10*s+a}if(s>255)return;c++}h[u]=256*h[u]+s,n++,2!=n&&4!=n||u++}if(4!=n)return;break}if(":"==f()){if(c++,!f())return}else if(f())return;h[u++]=t}else{if(null!==l)return;c++,u++,l=u}}if(null!==l){i=u-l,u=7;while(0!=u&&i>0)o=h[u],h[u--]=h[l+i-1],h[l+--i]=o}else if(8!=u)return;return h},oe=function(e){for(var t=null,r=1,n=null,s=0,a=0;a<8;a++)0!==e[a]?(s>r&&(t=n,r=s),n=null,s=0):(null===n&&(n=a),++s);return s>r&&(t=n,r=s),t},he=function(e){var t,r,n,s;if("number"==typeof e){for(t=[],r=0;r<4;r++)Q(t,e%256),e=x(e/256);return E(t,".")}if("object"==typeof e){for(t="",n=oe(e),r=0;r<8;r++)s&&0===e[r]||(s&&(s=!1),n===r?(t+=r?":":"::",s=!0):(t+=j(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},ue={},le=g({},ue,{" ":1,'"':1,"<":1,">":1,"`":1}),ce=g({},le,{"#":1,"?":1,"{":1,"}":1}),fe=g({},ce,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),pe=function(e,t){var r=d(e,0);return r>32&&r<127&&!p(t,e)?e:encodeURIComponent(e)},ge={ftp:21,file:null,http:80,https:443,ws:80,wss:443},me=function(e,t){var r;return 2==e.length&&O(K,C(e,0))&&(":"==(r=C(e,1))||!t&&"|"==r)},ve=function(e){var t;return e.length>1&&me($(e,0,2))&&(2==e.length||"/"===(t=C(e,2))||"\\"===t||"?"===t||"#"===t)},de=function(e){return"."===e||"%2e"===N(e)},we=function(e){return e=N(e),".."===e||"%2e."===e||".%2e"===e||"%2e%2e"===e},ye={},be={},Ue={},Pe={},ke={},Re={},Se={},Le={},qe={},He={},Be={},xe={},Ae={},Ce={},Oe={},Ee={},je={},ze={},Ie={},Fe={},Me={},Te=function(e,t,r){var n,s,a,i=y(e);if(t){if(s=this.parse(i),s)throw H(s);this.searchParams=null}else{if(void 0!==r&&(n=new Te(r,!0)),s=this.parse(i,null,n),s)throw H(s);a=L(new S),a.bindURL(this),this.searchParams=a}};Te.prototype={type:"URL",parse:function(e,t,r){var s,a,i,o,h=this,u=t||ye,l=0,c="",f=!1,g=!1,d=!1;e=y(e),t||(h.scheme="",h.username="",h.password="",h.host=null,h.port=null,h.path=[],h.query=null,h.fragment=null,h.cannotBeABaseURL=!1,e=F(e,ne,"")),e=F(e,se,""),s=m(e);while(l<=s.length){switch(a=s[l],u){case ye:if(!a||!O(K,a)){if(t)return _;u=Ue;continue}c+=N(a),u=be;break;case be:if(a&&(O(V,a)||"+"==a||"-"==a||"."==a))c+=N(a);else{if(":"!=a){if(t)return _;c="",u=Ue,l=0;continue}if(t&&(h.isSpecial()!=p(ge,c)||"file"==c&&(h.includesCredentials()||null!==h.port)||"file"==h.scheme&&!h.host))return;if(h.scheme=c,t)return void(h.isSpecial()&&ge[h.scheme]==h.port&&(h.port=null));c="","file"==h.scheme?u=Ce:h.isSpecial()&&r&&r.scheme==h.scheme?u=Pe:h.isSpecial()?u=Le:"/"==s[l+1]?(u=ke,l++):(h.cannotBeABaseURL=!0,I(h.path,""),u=Ie)}break;case Ue:if(!r||r.cannotBeABaseURL&&"#"!=a)return _;if(r.cannotBeABaseURL&&"#"==a){h.scheme=r.scheme,h.path=v(r.path),h.query=r.query,h.fragment="",h.cannotBeABaseURL=!0,u=Me;break}u="file"==r.scheme?Ce:Re;continue;case Pe:if("/"!=a||"/"!=s[l+1]){u=Re;continue}u=qe,l++;break;case ke:if("/"==a){u=He;break}u=ze;continue;case Re:if(h.scheme=r.scheme,a==n)h.username=r.username,h.password=r.password,h.host=r.host,h.port=r.port,h.path=v(r.path),h.query=r.query;else if("/"==a||"\\"==a&&h.isSpecial())u=Se;else if("?"==a)h.username=r.username,h.password=r.password,h.host=r.host,h.port=r.port,h.path=v(r.path),h.query="",u=Fe;else{if("#"!=a){h.username=r.username,h.password=r.password,h.host=r.host,h.port=r.port,h.path=v(r.path),h.path.length--,u=ze;continue}h.username=r.username,h.password=r.password,h.host=r.host,h.port=r.port,h.path=v(r.path),h.query=r.query,h.fragment="",u=Me}break;case Se:if(!h.isSpecial()||"/"!=a&&"\\"!=a){if("/"!=a){h.username=r.username,h.password=r.password,h.host=r.host,h.port=r.port,u=ze;continue}u=He}else u=qe;break;case Le:if(u=qe,"/"!=a||"/"!=C(c,l+1))continue;l++;break;case qe:if("/"!=a&&"\\"!=a){u=He;continue}break;case He:if("@"==a){f&&(c="%40"+c),f=!0,i=m(c);for(var w=0;w<i.length;w++){var b=i[w];if(":"!=b||d){var U=pe(b,fe);d?h.password+=U:h.username+=U}else d=!0}c=""}else if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&h.isSpecial()){if(f&&""==c)return J;l-=m(c).length+1,c="",u=Be}else c+=a;break;case Be:case xe:if(t&&"file"==h.scheme){u=Ee;continue}if(":"!=a||g){if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&h.isSpecial()){if(h.isSpecial()&&""==c)return D;if(t&&""==c&&(h.includesCredentials()||null!==h.port))return;if(o=h.parseHost(c),o)return o;if(c="",u=je,t)return;continue}"["==a?g=!0:"]"==a&&(g=!1),c+=a}else{if(""==c)return D;if(o=h.parseHost(c),o)return o;if(c="",u=Ae,t==xe)return}break;case Ae:if(!O(W,a)){if(a==n||"/"==a||"?"==a||"#"==a||"\\"==a&&h.isSpecial()||t){if(""!=c){var P=B(c,10);if(P>65535)return G;h.port=h.isSpecial()&&P===ge[h.scheme]?null:P,c=""}if(t)return;u=je;continue}return G}c+=a;break;case Ce:if(h.scheme="file","/"==a||"\\"==a)u=Oe;else{if(!r||"file"!=r.scheme){u=ze;continue}if(a==n)h.host=r.host,h.path=v(r.path),h.query=r.query;else if("?"==a)h.host=r.host,h.path=v(r.path),h.query="",u=Fe;else{if("#"!=a){ve(E(v(s,l),""))||(h.host=r.host,h.path=v(r.path),h.shortenPath()),u=ze;continue}h.host=r.host,h.path=v(r.path),h.query=r.query,h.fragment="",u=Me}}break;case Oe:if("/"==a||"\\"==a){u=Ee;break}r&&"file"==r.scheme&&!ve(E(v(s,l),""))&&(me(r.path[0],!0)?I(h.path,r.path[0]):h.host=r.host),u=ze;continue;case Ee:if(a==n||"/"==a||"\\"==a||"?"==a||"#"==a){if(!t&&me(c))u=ze;else if(""==c){if(h.host="",t)return;u=je}else{if(o=h.parseHost(c),o)return o;if("localhost"==h.host&&(h.host=""),t)return;c="",u=je}continue}c+=a;break;case je:if(h.isSpecial()){if(u=ze,"/"!=a&&"\\"!=a)continue}else if(t||"?"!=a)if(t||"#"!=a){if(a!=n&&(u=ze,"/"!=a))continue}else h.fragment="",u=Me;else h.query="",u=Fe;break;case ze:if(a==n||"/"==a||"\\"==a&&h.isSpecial()||!t&&("?"==a||"#"==a)){if(we(c)?(h.shortenPath(),"/"==a||"\\"==a&&h.isSpecial()||I(h.path,"")):de(c)?"/"==a||"\\"==a&&h.isSpecial()||I(h.path,""):("file"==h.scheme&&!h.path.length&&me(c)&&(h.host&&(h.host=""),c=C(c,0)+":"),I(h.path,c)),c="","file"==h.scheme&&(a==n||"?"==a||"#"==a))while(h.path.length>1&&""===h.path[0])M(h.path);"?"==a?(h.query="",u=Fe):"#"==a&&(h.fragment="",u=Me)}else c+=pe(a,ce);break;case Ie:"?"==a?(h.query="",u=Fe):"#"==a?(h.fragment="",u=Me):a!=n&&(h.path[0]+=pe(a,ue));break;case Fe:t||"#"!=a?a!=n&&("'"==a&&h.isSpecial()?h.query+="%27":h.query+="#"==a?"%23":pe(a,ue)):(h.fragment="",u=Me);break;case Me:a!=n&&(h.fragment+=pe(a,le));break}l++}},parseHost:function(e){var t,r,n;if("["==C(e,0)){if("]"!=C(e,e.length-1))return D;if(t=ie($(e,1,-1)),!t)return D;this.host=t}else if(this.isSpecial()){if(e=w(e),O(te,e))return D;if(t=ae(e),null===t)return D;this.host=t}else{if(O(re,e))return D;for(t="",r=m(e),n=0;n<r.length;n++)t+=pe(r[n],ue);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"==this.scheme},includesCredentials:function(){return""!=this.username||""!=this.password},isSpecial:function(){return p(ge,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"==this.scheme&&1==t&&me(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,n=e.password,s=e.host,a=e.port,i=e.path,o=e.query,h=e.fragment,u=t+":";return null!==s?(u+="//",e.includesCredentials()&&(u+=r+(n?":"+n:"")+"@"),u+=he(s),null!==a&&(u+=":"+a)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?i[0]:i.length?"/"+E(i,"/"):"",null!==o&&(u+="?"+o),null!==h&&(u+="#"+h),u},setHref:function(e){var t=this.parse(e);if(t)throw H(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"==e)try{return new $e(e.path[0]).origin}catch(r){return"null"}return"file"!=e&&this.isSpecial()?e+"://"+he(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(y(e)+":",ye)},getUsername:function(){return this.username},setUsername:function(e){var t=m(y(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=pe(t[r],fe)}},getPassword:function(){return this.password},setPassword:function(e){var t=m(y(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=pe(t[r],fe)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?he(e):he(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,Be)},getHostname:function(){var e=this.host;return null===e?"":he(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,xe)},getPort:function(){var e=this.port;return null===e?"":y(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(e=y(e),""==e?this.port=null:this.parse(e,Ae))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+E(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,je))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){e=y(e),""==e?this.query=null:("?"==C(e,0)&&(e=$(e,1)),this.query="",this.parse(e,Fe)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){e=y(e),""!=e?("#"==C(e,0)&&(e=$(e,1)),this.fragment="",this.parse(e,Me)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var $e=function(e){var t=f(this,Ne),r=arguments.length>1?arguments[1]:void 0,n=k(t,new Te(e,!1,r));a||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},Ne=$e.prototype,Qe=function(e,t){return{get:function(){return R(this)[e]()},set:t&&function(e){return R(this)[t](e)},configurable:!0,enumerable:!0}};if(a&&l(Ne,{href:Qe("serialize","setHref"),origin:Qe("getOrigin"),protocol:Qe("getProtocol","setProtocol"),username:Qe("getUsername","setUsername"),password:Qe("getPassword","setPassword"),host:Qe("getHost","setHost"),hostname:Qe("getHostname","setHostname"),port:Qe("getPort","setPort"),pathname:Qe("getPathname","setPathname"),search:Qe("getSearch","setSearch"),searchParams:Qe("getSearchParams"),hash:Qe("getHash","setHash")}),c(Ne,"toJSON",(function(){return R(this).serialize()}),{enumerable:!0}),c(Ne,"toString",(function(){return R(this).serialize()}),{enumerable:!0}),q){var Je=q.createObjectURL,_e=q.revokeObjectURL;Je&&c($e,"createObjectURL",h(Je,q)),_e&&c($e,"revokeObjectURL",h(_e,q))}b($e,"URL"),s({global:!0,forced:!i,sham:!a},{URL:$e})}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[176],{52176:function(t,e,a){a.r(e),a.d(e,{default:function(){return g}});var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("page-view",[a("a-row",{attrs:{gutter:12,align:"middle",type:"flex"}},[a("a-col",{staticClass:"pb-3",attrs:{span:24}},[a("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[a("div",{staticClass:"table-page-search-wrapper"},[a("a-form",{attrs:{layout:"inline"}},[a("a-row",{attrs:{gutter:48}},[a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"关键词:"}},[a("a-input",{on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleQuery()}},model:{value:t.list.params.keyword,callback:function(e){t.$set(t.list.params,"keyword",e)},expression:"list.params.keyword"}})],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"存储位置:"}},[a("a-select",{attrs:{loading:t.types.loading,allowClear:""},on:{change:function(e){return t.handleQuery()}},model:{value:t.list.params.attachmentType,callback:function(e){t.$set(t.list.params,"attachmentType",e)},expression:"list.params.attachmentType"}},t._l(t.types.data,(function(e){return a("a-select-option",{key:e,attrs:{value:e}},[t._v(" "+t._s(t._f("typeText")(e))+" ")])})),1)],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"文件类型:"}},[a("a-select",{attrs:{loading:t.mediaTypes.loading,allowClear:""},on:{change:function(e){return t.handleQuery()}},model:{value:t.list.params.mediaType,callback:function(e){t.$set(t.list.params,"mediaType",e)},expression:"list.params.mediaType"}},t._l(t.mediaTypes.data,(function(e,n){return a("a-select-option",{key:n,attrs:{value:e}},[t._v(t._s(e)+" ")])})),1)],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("span",{staticClass:"table-page-search-submitButtons"},[a("a-space",[a("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.handleQuery()}}},[t._v("查询")]),a("a-button",{on:{click:function(e){return t.handleResetParam()}}},[t._v("重置")])],1)],1)])],1)],1)],1),a("div",{staticClass:"mb-0 table-operator"},[a("a-button",{attrs:{icon:"cloud-upload",type:"primary"},on:{click:function(e){t.upload.visible=!0}}},[t._v("上传")]),a("a-button",{directives:[{name:"show",rawName:"v-show",value:t.list.selected.length,expression:"list.selected.length"}],attrs:{icon:"check-circle",type:"primary"},on:{click:t.handleSelectAll}},[t._v(" 全选 ")]),a("a-button",{directives:[{name:"show",rawName:"v-show",value:t.list.selected.length,expression:"list.selected.length"}],attrs:{icon:"delete",type:"danger"},on:{click:t.handleDeleteAttachmentInBatch}},[t._v(" 删除 ")]),a("a-button",{directives:[{name:"show",rawName:"v-show",value:t.list.selected.length,expression:"list.selected.length"}],attrs:{icon:"close"},on:{click:function(e){t.list.selected=[]}}},[t._v(" 取消")])],1)])],1),a("a-col",{attrs:{span:24}},[a("a-list",{staticClass:"attachments-group",attrs:{dataSource:t.list.data,grid:{gutter:6,xs:2,sm:2,md:4,lg:6,xl:6,xxl:6},loading:t.list.loading},scopedSlots:t._u([{key:"renderItem",fn:function(e,n){return[a("a-list-item",{key:n,on:{mouseenter:function(a){return t.$set(e,"hover",!0)},mouseleave:function(a){return t.$set(e,"hover",!1)},click:function(a){return t.handleItemClick(e)},contextmenu:function(a){return a.preventDefault(),t.handleContextMenu(a,e)}}},[a("div",{staticClass:"border border-solid",class:t.isItemSelect(e)?"border-blue-600":"border-slate-200"},[a("div",{staticClass:"attach-thumb attachments-group-item"},[t.isImage(e)?a("span",{staticClass:"attachments-group-item-img",style:"background-image:url("+e.thumbPath+")",attrs:{loading:"lazy"}}):a("span",{staticClass:"attachments-group-item-type"},[t._v(t._s(e.suffix))])]),a("a-card-meta",{staticClass:"p-2 cursor-pointer",scopedSlots:t._u([{key:"description",fn:function(){return[a("a-tooltip",{attrs:{title:e.name}},[a("div",{staticClass:"truncate"},[t._v(t._s(e.name))])])]},proxy:!0}],null,!0)}),a("a-icon",{directives:[{name:"show",rawName:"v-show",value:!t.isItemSelect(e)&&e.hover,expression:"!isItemSelect(item) && item.hover"}],staticClass:"absolute top-1 right-2 font-bold cursor-pointer transition-all",style:{fontSize:"18px",color:"rgb(37 99 235)"},attrs:{type:"plus-circle",theme:"twoTone"},on:{click:function(a){return a.stopPropagation(),t.handleSelect(e)}}}),a("a-icon",{directives:[{name:"show",rawName:"v-show",value:t.isItemSelect(e),expression:"isItemSelect(item)"}],staticClass:"absolute top-1 right-2 font-bold cursor-pointer transition-all",style:{fontSize:"18px",color:"rgb(37 99 235)"},attrs:{type:"check-circle",theme:"twoTone"}}),a("a-icon",{directives:[{name:"show",rawName:"v-show",value:e.hover&&t.list.selected.length>0,expression:"item.hover && list.selected.length > 0"}],staticClass:"absolute top-1 left-2 font-bold cursor-pointer transition-all",style:{fontSize:"18px"},attrs:{type:"profile",theme:"twoTone"},on:{click:function(a){return a.stopPropagation(),t.handleOpenDetail(e)}}})],1)])]}}])})],1)],1),a("div",{staticClass:"page-wrapper"},[a("a-pagination",{staticClass:"pagination",attrs:{current:t.pagination.page,defaultPageSize:t.pagination.size,pageSizeOptions:["18","36","54","72","90","108"],total:t.pagination.total,showLessItems:"",showSizeChanger:""},on:{change:t.handlePageChange,showSizeChange:t.handlePageSizeChange}})],1),a("AttachmentUploadModal",{attrs:{visible:t.upload.visible},on:{"update:visible":function(e){return t.$set(t.upload,"visible",e)},close:t.onUploadClose}}),a("AttachmentDetailModal",{attrs:{addToPhoto:!0,attachment:t.list.current,visible:t.detailVisible},on:{"update:visible":function(e){t.detailVisible=e},delete:function(e){return t.handleListAttachments()}},scopedSlots:t._u([{key:"extraFooter",fn:function(){return[a("a-button",{attrs:{disabled:t.selectPreviousButtonDisabled},on:{click:t.handleSelectPrevious}},[t._v("上一项")]),a("a-button",{attrs:{disabled:t.selectNextButtonDisabled},on:{click:t.handleSelectNext}},[t._v("下一项")])]},proxy:!0}])})],1)},s=[],i=a(3048),r=a(91057),l=(a(70315),a(3662),a(15928),a(41479),a(90195),a(31875),a(21082),a(82395),a(3832)),o=a(50990),c=a(1540),u=a(78588),d={components:{PageView:o.B4},mixins:[l.jB,l.KT],filters:{typeText:function(t){return u.k[t].text}},data:function(){return{list:{data:[],loading:!1,total:0,hasNext:!1,hasPrevious:!1,params:{page:0,size:18,keyword:void 0,mediaType:void 0,attachmentType:void 0},selected:[],current:{}},mediaTypes:{data:[],loading:!1},types:{data:[],loading:!1},upload:{visible:!1},detailVisible:!1}},computed:{isImage:function(){return function(t){return!(!t||!t.mediaType)&&t.mediaType.startsWith("image")}},isItemSelect:function(){return function(t){return this.list.selected.findIndex((function(e){return e.id===t.id}))>-1}},pagination:function(){return{page:this.list.params.page+1,size:this.list.params.size,total:this.list.total}},selectPreviousButtonDisabled:function(){var t=this,e=this.list.data.findIndex((function(e){return e.id===t.list.current.id}));return 0===e&&!this.list.hasPrevious},selectNextButtonDisabled:function(){var t=this,e=this.list.data.findIndex((function(e){return e.id===t.list.current.id}));return e===this.list.data.length-1&&!this.list.hasNext}},created:function(){this.handleListAttachments(),this.handleListMediaTypes(),this.handleListTypes()},methods:{handleListAttachments:function(){var t=this;return(0,r.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,t.list.loading=!0,e.next=4,c.Z.attachment.list(t.list.params);case 4:a=e.sent,t.list.data=a.data.content,t.list.total=a.data.total,t.list.hasNext=a.data.hasNext,t.list.hasPrevious=a.data.hasPrevious,e.next=14;break;case 11:e.prev=11,e.t0=e["catch"](0),t.$log.error(e.t0);case 14:return e.prev=14,t.list.loading=!1,e.finish(14);case 17:case"end":return e.stop()}}),e,null,[[0,11,14,17]])})))()},handleListMediaTypes:function(){var t=this;return(0,r.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,t.mediaTypes.loading=!0,e.next=4,c.Z.attachment.listMediaTypes();case 4:a=e.sent,t.mediaTypes.data=a.data,e.next=11;break;case 8:e.prev=8,e.t0=e["catch"](0),t.$log.error(e.t0);case 11:return e.prev=11,t.mediaTypes.loading=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,null,[[0,8,11,14]])})))()},handleListTypes:function(){var t=this;return(0,r.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,t.types.loading=!0,e.next=4,c.Z.attachment.listTypes();case 4:a=e.sent,t.types.data=a.data,e.next=11;break;case 8:e.prev=8,e.t0=e["catch"](0),t.$log.error(e.t0);case 11:return e.prev=11,t.types.loading=!1,e.finish(11);case 14:case"end":return e.stop()}}),e,null,[[0,8,11,14]])})))()},handleOpenDetail:function(t){this.list.current=t,this.detailVisible=!0},handleItemClick:function(t){this.list.selected.length<=0?this.handleOpenDetail(t):this.isItemSelect(t)?this.handleUnselect(t):this.handleSelect(t)},handleSelect:function(t){this.list.selected=[].concat((0,i.Z)(this.list.selected),[t])},handleUnselect:function(t){this.list.selected=this.list.selected.filter((function(e){return e.id!==t.id}))},handleSelectAll:function(){this.list.selected=this.list.data},handleContextMenu:function(t,e){var a=this;return this.$contextmenu({items:[{label:"复制".concat(this.isImage(e)?"图片":"文件","链接"),onClick:function(){var t="".concat(encodeURI(e.path));a.$copyText(t).then((function(t){a.$log.debug("copy",t),a.$message.success("复制成功!")})).catch((function(t){a.$log.debug("copy.err",t),a.$message.error("复制失败!")}))},divided:!0},{disabled:!this.isImage(e),label:"复制 Markdown 格式链接",onClick:function(){var t="![".concat(e.name,"](").concat(encodeURI(e.path),")");a.$copyText(t).then((function(t){a.$log.debug("copy",t),a.$message.success("复制成功!")})).catch((function(t){a.$log.debug("copy.err",t),a.$message.error("复制失败!")}))},divided:!0},{label:"删除",onClick:function(){a.$confirm({title:"提示",content:"确定删除该附件?",okText:"确定",cancelText:"取消",onOk:function(){var t=(0,r.Z)(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,c.Z.attachment["delete"](e.id);case 2:return t.next=4,a.handleListAttachments();case 4:a.handleUnselect(e);case 5:case"end":return t.stop()}}),t)})));function n(){return t.apply(this,arguments)}return n}()})}}],event:t,minWidth:210}),!1},handlePageChange:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.list.params.page=t-1,this.handleListAttachments()},handlePageSizeChange:function(t,e){this.$log.debug("Current: ".concat(t,", PageSize: ").concat(e)),this.list.params.page=0,this.list.params.size=e,this.handleListAttachments()},handleResetParam:function(){this.list.params.keyword=void 0,this.list.params.mediaType=void 0,this.list.params.attachmentType=void 0,this.handlePageChange(),this.handleListMediaTypes(),this.handleListTypes()},handleQuery:function(){this.handlePageChange()},onUploadClose:function(){this.handlePageChange(),this.handleListMediaTypes(),this.handleListTypes()},handleDeleteAttachmentInBatch:function(){var t=this;this.list.selected.length<=0?this.$message.warn("你还未选择任何附件,请至少选择一个!"):this.$confirm({title:"确定要批量删除选中的附件吗?",content:"一旦删除不可恢复,请谨慎操作",onOk:function(){return(0,r.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,a=t.list.selected.map((function(t){return t.id})),e.next=4,c.Z.attachment.deleteInBatch(a);case 4:t.list.selected=[],t.$message.success("删除成功"),e.next=11;break;case 8:e.prev=8,e.t0=e["catch"](0),t.$log.error("Failed to delete selected attachments",e.t0);case 11:return e.prev=11,e.next=14,t.handleListAttachments();case 14:return e.finish(11);case 15:case"end":return e.stop()}}),e,null,[[0,8,11,15]])})))()}})},handleSelectPrevious:function(){var t=this;return(0,r.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(a=t.list.data.findIndex((function(e){return e.id===t.list.current.id})),!(a>0)){e.next=4;break}return t.list.current=t.list.data[a-1],e.abrupt("return");case 4:if(0!==a||!t.list.hasPrevious){e.next=9;break}return t.list.params.page--,e.next=8,t.handleListAttachments();case 8:t.list.current=t.list.data[t.list.data.length-1];case 9:case"end":return e.stop()}}),e)})))()},handleSelectNext:function(){var t=this;return(0,r.Z)(regeneratorRuntime.mark((function e(){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(a=t.list.data.findIndex((function(e){return e.id===t.list.current.id})),!(a<t.list.data.length-1)){e.next=4;break}return t.list.current=t.list.data[a+1],e.abrupt("return");case 4:if(a!==t.list.data.length-1||!t.list.hasNext){e.next=9;break}return t.list.params.page++,e.next=8,t.handleListAttachments();case 8:t.list.current=t.list.data[0];case 9:case"end":return e.stop()}}),e)})))()}}},h=d,p=a(18156),m=(0,p.Z)(h,n,s,!1,null,null,null),g=m.exports}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[176],{52176:function(t,e,a){a.r(e),a.d(e,{default:function(){return p}});var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("page-view",[a("a-row",{attrs:{gutter:12,align:"middle",type:"flex"}},[a("a-col",{staticClass:"pb-3",attrs:{span:24}},[a("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[a("div",{staticClass:"table-page-search-wrapper"},[a("a-form",{attrs:{layout:"inline"}},[a("a-row",{attrs:{gutter:48}},[a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"关键词:"}},[a("a-input",{on:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleQuery()}},model:{value:t.list.params.keyword,callback:function(e){t.$set(t.list.params,"keyword",e)},expression:"list.params.keyword"}})],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"存储位置:"}},[a("a-select",{attrs:{loading:t.types.loading,allowClear:""},on:{change:function(e){return t.handleQuery()}},model:{value:t.list.params.attachmentType,callback:function(e){t.$set(t.list.params,"attachmentType",e)},expression:"list.params.attachmentType"}},t._l(t.types.data,(function(e){return a("a-select-option",{key:e,attrs:{value:e}},[t._v(" "+t._s(t._f("typeText")(e))+" ")])})),1)],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("a-form-item",{attrs:{label:"文件类型:"}},[a("a-select",{attrs:{loading:t.mediaTypes.loading,allowClear:""},on:{change:function(e){return t.handleQuery()}},model:{value:t.list.params.mediaType,callback:function(e){t.$set(t.list.params,"mediaType",e)},expression:"list.params.mediaType"}},t._l(t.mediaTypes.data,(function(e,s){return a("a-select-option",{key:s,attrs:{value:e}},[t._v(t._s(e)+" ")])})),1)],1)],1),a("a-col",{attrs:{md:6,sm:24}},[a("span",{staticClass:"table-page-search-submitButtons"},[a("a-space",[a("a-button",{attrs:{type:"primary"},on:{click:function(e){return t.handleQuery()}}},[t._v("查询")]),a("a-button",{on:{click:function(e){return t.handleResetParam()}}},[t._v("重置")])],1)],1)])],1)],1)],1),a("div",{staticClass:"mb-0 table-operator"},[a("a-button",{attrs:{icon:"cloud-upload",type:"primary"},on:{click:function(e){t.upload.visible=!0}}},[t._v("上传")]),a("a-button",{directives:[{name:"show",rawName:"v-show",value:t.list.selected.length,expression:"list.selected.length"}],attrs:{icon:"check-circle",type:"primary"},on:{click:t.handleSelectAll}},[t._v(" 全选 ")]),a("a-button",{directives:[{name:"show",rawName:"v-show",value:t.list.selected.length,expression:"list.selected.length"}],attrs:{icon:"delete",type:"danger"},on:{click:t.handleDeleteAttachmentInBatch}},[t._v(" 删除 ")]),a("a-button",{directives:[{name:"show",rawName:"v-show",value:t.list.selected.length,expression:"list.selected.length"}],attrs:{icon:"close"},on:{click:function(e){t.list.selected=[]}}},[t._v(" 取消")])],1)])],1),a("a-col",{attrs:{span:24}},[a("a-list",{staticClass:"attachments-group",attrs:{dataSource:t.list.data,grid:{gutter:6,xs:2,sm:2,md:4,lg:6,xl:6,xxl:6},loading:t.list.loading},scopedSlots:t._u([{key:"renderItem",fn:function(e,s){return[a("a-list-item",{key:s,on:{mouseenter:function(a){return t.$set(e,"hover",!0)},mouseleave:function(a){return t.$set(e,"hover",!1)},click:function(a){return t.handleItemClick(e)},contextmenu:function(a){return a.preventDefault(),t.handleContextMenu(a,e)}}},[a("div",{staticClass:"border border-solid",class:t.isItemSelect(e)?"border-blue-600":"border-slate-200"},[a("div",{staticClass:"attach-thumb attachments-group-item"},[t.isImage(e)?a("span",{staticClass:"attachments-group-item-img",style:"background-image:url("+e.thumbPath+")",attrs:{loading:"lazy"}}):a("span",{staticClass:"attachments-group-item-type"},[t._v(t._s(e.suffix))])]),a("a-card-meta",{staticClass:"p-2 cursor-pointer",scopedSlots:t._u([{key:"description",fn:function(){return[a("a-tooltip",{attrs:{title:e.name}},[a("div",{staticClass:"truncate"},[t._v(t._s(e.name))])])]},proxy:!0}],null,!0)}),a("a-icon",{directives:[{name:"show",rawName:"v-show",value:!t.isItemSelect(e)&&e.hover,expression:"!isItemSelect(item) && item.hover"}],staticClass:"absolute top-1 right-2 font-bold cursor-pointer transition-all",style:{fontSize:"18px",color:"rgb(37 99 235)"},attrs:{type:"plus-circle",theme:"twoTone"},on:{click:function(a){return a.stopPropagation(),t.handleSelect(e)}}}),a("a-icon",{directives:[{name:"show",rawName:"v-show",value:t.isItemSelect(e),expression:"isItemSelect(item)"}],staticClass:"absolute top-1 right-2 font-bold cursor-pointer transition-all",style:{fontSize:"18px",color:"rgb(37 99 235)"},attrs:{type:"check-circle",theme:"twoTone"}}),a("a-icon",{directives:[{name:"show",rawName:"v-show",value:e.hover&&t.list.selected.length>0,expression:"item.hover && list.selected.length > 0"}],staticClass:"absolute top-1 left-2 font-bold cursor-pointer transition-all",style:{fontSize:"18px"},attrs:{type:"profile",theme:"twoTone"},on:{click:function(a){return a.stopPropagation(),t.handleOpenDetail(e)}}})],1)])]}}])})],1)],1),a("div",{staticClass:"page-wrapper"},[a("a-pagination",{staticClass:"pagination",attrs:{current:t.pagination.page,defaultPageSize:t.pagination.size,pageSizeOptions:["18","36","54","72","90","108"],total:t.pagination.total,showLessItems:"",showSizeChanger:""},on:{change:t.handlePageChange,showSizeChange:t.handlePageSizeChange}})],1),a("AttachmentUploadModal",{attrs:{visible:t.upload.visible},on:{"update:visible":function(e){return t.$set(t.upload,"visible",e)},close:t.onUploadClose}}),a("AttachmentDetailModal",{attrs:{addToPhoto:!0,attachment:t.list.current,visible:t.detailVisible},on:{"update:visible":function(e){t.detailVisible=e},delete:function(e){return t.handleListAttachments()}},scopedSlots:t._u([{key:"extraFooter",fn:function(){return[a("a-button",{attrs:{disabled:t.selectPreviousButtonDisabled},on:{click:t.handleSelectPrevious}},[t._v("上一项")]),a("a-button",{attrs:{disabled:t.selectNextButtonDisabled},on:{click:t.handleSelectNext}},[t._v("下一项")])]},proxy:!0}])})],1)},i=[],l=a(3832),n=a(50990),o=a(1540),r=a(78588),c={components:{PageView:n.B4},mixins:[l.jB,l.KT],filters:{typeText(t){return r.k[t].text}},data(){return{list:{data:[],loading:!1,total:0,hasNext:!1,hasPrevious:!1,params:{page:0,size:18,keyword:void 0,mediaType:void 0,attachmentType:void 0},selected:[],current:{}},mediaTypes:{data:[],loading:!1},types:{data:[],loading:!1},upload:{visible:!1},detailVisible:!1}},computed:{isImage(){return function(t){return!(!t||!t.mediaType)&&t.mediaType.startsWith("image")}},isItemSelect(){return function(t){return this.list.selected.findIndex((e=>e.id===t.id))>-1}},pagination(){return{page:this.list.params.page+1,size:this.list.params.size,total:this.list.total}},selectPreviousButtonDisabled(){const t=this.list.data.findIndex((t=>t.id===this.list.current.id));return 0===t&&!this.list.hasPrevious},selectNextButtonDisabled(){const t=this.list.data.findIndex((t=>t.id===this.list.current.id));return t===this.list.data.length-1&&!this.list.hasNext}},created(){this.handleListAttachments(),this.handleListMediaTypes(),this.handleListTypes()},methods:{async handleListAttachments(){try{this.list.loading=!0;const t=await o.Z.attachment.list(this.list.params);this.list.data=t.data.content,this.list.total=t.data.total,this.list.hasNext=t.data.hasNext,this.list.hasPrevious=t.data.hasPrevious}catch(t){this.$log.error(t)}finally{this.list.loading=!1}},async handleListMediaTypes(){try{this.mediaTypes.loading=!0;const t=await o.Z.attachment.listMediaTypes();this.mediaTypes.data=t.data}catch(t){this.$log.error(t)}finally{this.mediaTypes.loading=!1}},async handleListTypes(){try{this.types.loading=!0;const t=await o.Z.attachment.listTypes();this.types.data=t.data}catch(t){this.$log.error(t)}finally{this.types.loading=!1}},handleOpenDetail(t){this.list.current=t,this.detailVisible=!0},handleItemClick(t){this.list.selected.length<=0?this.handleOpenDetail(t):this.isItemSelect(t)?this.handleUnselect(t):this.handleSelect(t)},handleSelect(t){this.list.selected=[...this.list.selected,t]},handleUnselect(t){this.list.selected=this.list.selected.filter((e=>e.id!==t.id))},handleSelectAll(){this.list.selected=this.list.data},handleContextMenu(t,e){return this.$contextmenu({items:[{label:`复制${this.isImage(e)?"图片":"文件"}链接`,onClick:()=>{const t=`${encodeURI(e.path)}`;this.$copyText(t).then((t=>{this.$log.debug("copy",t),this.$message.success("复制成功!")})).catch((t=>{this.$log.debug("copy.err",t),this.$message.error("复制失败!")}))},divided:!0},{disabled:!this.isImage(e),label:"复制 Markdown 格式链接",onClick:()=>{const t=`![${e.name}](${encodeURI(e.path)})`;this.$copyText(t).then((t=>{this.$log.debug("copy",t),this.$message.success("复制成功!")})).catch((t=>{this.$log.debug("copy.err",t),this.$message.error("复制失败!")}))},divided:!0},{label:"删除",onClick:()=>{this.$confirm({title:"提示",content:"确定删除该附件?",okText:"确定",cancelText:"取消",onOk:async()=>{await o.Z.attachment["delete"](e.id),await this.handleListAttachments(),this.handleUnselect(e)}})}}],event:t,minWidth:210}),!1},handlePageChange(t=1){this.list.params.page=t-1,this.handleListAttachments()},handlePageSizeChange(t,e){this.$log.debug(`Current: ${t}, PageSize: ${e}`),this.list.params.page=0,this.list.params.size=e,this.handleListAttachments()},handleResetParam(){this.list.params.keyword=void 0,this.list.params.mediaType=void 0,this.list.params.attachmentType=void 0,this.handlePageChange(),this.handleListMediaTypes(),this.handleListTypes()},handleQuery(){this.handlePageChange()},onUploadClose(){this.handlePageChange(),this.handleListMediaTypes(),this.handleListTypes()},handleDeleteAttachmentInBatch(){const t=this;this.list.selected.length<=0?this.$message.warn("你还未选择任何附件,请至少选择一个!"):this.$confirm({title:"确定要批量删除选中的附件吗?",content:"一旦删除不可恢复,请谨慎操作",async onOk(){try{const e=t.list.selected.map((t=>t.id));await o.Z.attachment.deleteInBatch(e),t.list.selected=[],t.$message.success("删除成功")}catch(e){t.$log.error("Failed to delete selected attachments",e)}finally{await t.handleListAttachments()}}})},async handleSelectPrevious(){const t=this.list.data.findIndex((t=>t.id===this.list.current.id));t>0?this.list.current=this.list.data[t-1]:0===t&&this.list.hasPrevious&&(this.list.params.page--,await this.handleListAttachments(),this.list.current=this.list.data[this.list.data.length-1])},async handleSelectNext(){const t=this.list.data.findIndex((t=>t.id===this.list.current.id));t<this.list.data.length-1?this.list.current=this.list.data[t+1]:t===this.list.data.length-1&&this.list.hasNext&&(this.list.params.page++,await this.handleListAttachments(),this.list.current=this.list.data[0])}}},d=c,h=a(18156),u=(0,h.Z)(d,s,i,!1,null,null,null),p=u.exports}}]);
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[250],{36250:function(t,a,e){"use strict";e.r(a),e.d(a,{default:function(){return T}});var n=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("page-view",[e("a-row",{attrs:{gutter:12}},[e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.postCount,title:"文章"}},[e("router-link",{attrs:{slot:"action",to:{name:"PostWrite"}},slot:"action"},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"plus"}})],1)],1)],1),e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.commentCount,title:"评论"}},[e("router-link",{attrs:{slot:"action",to:{name:"Comments"}},slot:"action"},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"unordered-list"}})],1)],1)],1),e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.visitCount,title:"阅读量"}},[e("a-tooltip",{attrs:{slot:"action"},slot:"action"},[e("template",{slot:"title"},[t._v(" 文章阅读共 "+t._s(t.statisticsData.visitCount)+"")]),e("a-button",{staticClass:"!p-0",attrs:{type:"link"}},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"info-circle-o"}})],1)],2)],1)],1),e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.establishDays,title:"建立天数"}},[e("a-tooltip",{attrs:{slot:"action"},slot:"action"},[e("template",{slot:"title"},[t._v("博客建立于 "+t._s(t._f("moment")(t.statisticsData.birthday)))]),e("a-button",{staticClass:"!p-0",attrs:{type:"link"}},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"info-circle-o"}})],1)],2)],1)],1)],1),e("a-row",{attrs:{gutter:12}},[e("a-col",{staticClass:"mb-3",attrs:{lg:8,md:12,sm:24,xl:8,xs:24}},[e("a-card",{attrs:{bodyStyle:{padding:0},bordered:!1,title:"新动态"}},[e("div",{staticClass:"card-container"},[e("a-tabs",{attrs:{type:"card"}},[e("a-tab-pane",{key:"1",attrs:{tab:"最近文章"}},[e("a-list",{attrs:{dataSource:t.latestPosts,loading:t.activityLoading},scopedSlots:t._u([{key:"renderItem",fn:function(a,n){return e("a-list-item",{key:n},[e("a-list-item-meta",{scopedSlots:t._u([{key:"title",fn:function(){return[["PUBLISHED","INTIMATE"].includes(a.status)?e("a",{attrs:{href:a.fullPath,target:"_blank"}},[t._v(" "+t._s(a.title)+" ")]):"DRAFT"===a.status?e("a-button",{staticClass:"!p-0",attrs:{type:"link"},on:{click:function(e){return t.handlePostPreview(a.id)}}},[t._v(" "+t._s(a.title)+" ")]):"RECYCLE"===a.status?e("a-button",{staticClass:"!p-0",attrs:{disabled:"",type:"link"}},[t._v(" "+t._s(a.title)+" ")]):t._e()]},proxy:!0}],null,!0)}),e("div",[t._v(t._s(t._f("timeAgo")(a.createTime)))])],1)}}])})],1),e("a-tab-pane",{key:"2",attrs:{tab:"最近评论"}},[e("div",{staticClass:"custom-tab-wrapper"},[e("a-tabs",{attrs:{animated:{inkBar:!0,tabPane:!1}}},[e("a-tab-pane",{key:"posts",attrs:{tab:"文章"}},[e("recent-comment-tab",{attrs:{type:"posts"}})],1),e("a-tab-pane",{key:"sheets",attrs:{tab:"页面"}},[e("recent-comment-tab",{attrs:{type:"sheets"}})],1),e("a-tab-pane",{key:"journals",attrs:{tab:"日志"}},[e("recent-comment-tab",{attrs:{type:"journals"}})],1)],1)],1)])],1)],1)])],1),e("a-col",{staticClass:"mb-3",attrs:{lg:8,md:12,sm:24,xl:8,xs:24}},[e("JournalPublishCard")],1),e("a-col",{staticClass:"mb-3",attrs:{lg:8,md:12,sm:24,xl:8,xs:24}},[e("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[e("template",{slot:"title"},[t._v(" 操作日志 "),e("a-tooltip",{attrs:{slot:"action",title:"更多"},slot:"action"},[e("router-link",{attrs:{to:{name:"SystemActionLogs"}}},[e("a-icon",{attrs:{type:"ellipsis"}})],1)],1)],1),e("a-list",{attrs:{dataSource:t.latestLogs,loading:t.logLoading},scopedSlots:t._u([{key:"renderItem",fn:function(a,n){return e("a-list-item",{key:n},[e("a-list-item-meta",{attrs:{description:t._f("timeAgo")(a.createTime)}},[e("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t._f("typeConvert")(a.type)))])]),e("ellipsis",{attrs:{length:35,tooltip:""}},[t._v(t._s(a.content))])],1)}}])})],2)],1)],1)],1)},i=[],s=(e(31875),e(50990)),r=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("a-card",{attrs:{"body-style":{padding:"24px"},bordered:!1}},[e("div",{staticClass:"analysis-card-container"},[e("div",{staticClass:"meta"},[e("span",{staticClass:"analysis-card-title"},[t._t("title",(function(){return[t._v(t._s(t.title))]}))],2),e("span",{staticClass:"analysis-card-action"},[t._t("action")],2)]),e("div",{staticClass:"number"},[t._t("number",(function(){return[e("countTo",{attrs:{autoplay:!0,duration:3e3,endVal:"function"===typeof t.number&&t.number()||t.number,startVal:t.startNumber}})]}))],2)])])},o=[],l=(e(12566),e(79244)),u=e.n(l),c={name:"AnalysisCard",components:{countTo:u()},props:{title:{type:String,required:!1,default:""},number:{type:Number,required:!1,default:0}},data:function(){return{startNumber:0}},watch:{number:function(t,a){this.startNumber=a}}},d=c,m=e(18156),f=(0,m.Z)(d,r,o,!1,null,null,null),p=f.exports,h=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[e("template",{slot:"title"},[t._v(" 速记 "),e("a-tooltip",{attrs:{slot:"action",title:"内容将保存到页面/所有页面/日志页面"},slot:"action"},[e("a-icon",{staticClass:"cursor-pointer",attrs:{type:"info-circle-o"}})],1)],1),e("a-form-model",{ref:"journalForm",attrs:{model:t.form.model,rules:t.form.rules,layout:"vertical"}},[e("a-form-model-item",{attrs:{prop:"sourceContent"}},[e("a-input",{attrs:{autoSize:{minRows:8},placeholder:"写点什么吧...",type:"textarea"},model:{value:t.form.model.sourceContent,callback:function(a){t.$set(t.form.model,"sourceContent",a)},expression:"form.model.sourceContent"}})],1),e("a-form-model-item",[e("ReactiveButton",{attrs:{errored:t.form.errored,loading:t.form.saving,erroredText:"发布失败",loadedText:"发布成功",text:"发布"},on:{callback:function(){t.form.errored||(t.form.model={}),t.form.errored=!1},click:t.handleCreateJournalClick}})],1)],1)],2)},y=[],b=e(1540),g={name:"JournalPublishCard",data:function(){return{form:{model:{},rules:{sourceContent:[{required:!0,message:"* 内容不能为空",trigger:["change"]}]},saving:!1,errored:!1}}},methods:{handleCreateJournalClick:function(){var t=this,a=this;a.$refs.journalForm.validate((function(e){e&&(a.form.saving=!0,b.Z.journal.create(a.form.model).catch((function(){t.form.errored=!0})).finally((function(){setTimeout((function(){a.form.saving=!1}),400)})))}))}}},v=g,_=(0,m.Z)(v,h,y,!1,null,null,null),C=_.exports,V=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("CommentListView",{attrs:{comments:t.comments,loading:t.loading}})},w=[],x=e(91057),F=(e(70315),{name:"RecentCommentTab",props:{type:{type:String,required:!1,default:"posts",validator:function(t){return-1!==["posts","sheets","journals"].indexOf(t)}}},data:function(){return{comments:[],loading:!1}},created:function(){this.handleListTargetComments()},methods:{handleListTargetComments:function(){var t=this;return(0,x.Z)(regeneratorRuntime.mark((function a(){var e,n;return regeneratorRuntime.wrap((function(a){while(1)switch(a.prev=a.next){case 0:return a.prev=0,t.loading=!0,a.next=4,b.Z.comment.latest(t.type,5,"PUBLISHED");case 4:e=a.sent,n=e.data,t.comments=n,a.next=12;break;case 9:a.prev=9,a.t0=a["catch"](0),t.$log.error("Failed to load comments",a.t0);case 12:return a.prev=12,t.loading=!1,a.finish(12);case 15:case"end":return a.stop()}}),a,null,[[0,9,12,15]])})))()}}}),L=F,k=(0,m.Z)(L,V,w,!1,null,null,null),A=k.exports,S=e(78588),D={name:"Dashboard",components:{PageView:s.B4,AnalysisCard:p,JournalPublishCard:C,RecentCommentTab:A},data:function(){return{activityLoading:!1,logLoading:!1,statisticsLoading:!0,latestPosts:[],latestLogs:[],statisticsData:{},journal:{content:""},interval:null}},beforeMount:function(){this.handleLoadStatistics(),this.handleListLatestPosts(),this.handleListLatestLogs()},beforeRouteEnter:function(t,a,e){e((function(t){t.interval=setInterval((function(){t.handleLoadStatistics()}),5e3)}))},beforeRouteLeave:function(t,a,e){this.interval&&(clearInterval(this.interval),this.interval=null,this.$log.debug("Cleared interval")),e()},methods:{handleListLatestPosts:function(){var t=this;this.activityLoading=!0,b.Z.post.latest(5).then((function(a){t.latestPosts=a.data})).finally((function(){t.activityLoading=!1}))},handleListLatestLogs:function(){var t=this;this.logLoading=!0,b.Z.log.latest(5).then((function(a){t.latestLogs=a.data})).finally((function(){t.logLoading=!1}))},handleLoadStatistics:function(){var t=this;b.Z.statistic.statistics().then((function(a){t.statisticsData=a.data})).catch((function(){clearInterval(t.interval)})).finally((function(){t.statisticsLoading=!1}))},handlePostPreview:function(t){b.Z.post.getPreviewLinkById(t).then((function(t){window.open(t,"_blank")}))}},filters:{typeConvert:function(t){var a=S.Js[t];return a?a.text:t}}},q=D,P=(0,m.Z)(q,n,i,!1,null,null,null),T=P.exports},79244:function(t){!function(a,e){t.exports=e()}(0,(function(){return function(t){function a(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,a),i.l=!0,i.exports}var e={};return a.m=t,a.c=e,a.i=function(t){return t},a.d=function(t,e,n){a.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,a){return Object.prototype.hasOwnProperty.call(t,a)},a.p="/dist/",a(a.s=2)}([function(t,a,e){var n=e(4)(e(1),e(5),null,null);t.exports=n.exports},function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=e(3);a.default={props:{startVal:{type:Number,required:!1,default:0},endVal:{type:Number,required:!1,default:2017},duration:{type:Number,required:!1,default:3e3},autoplay:{type:Boolean,required:!1,default:!0},decimals:{type:Number,required:!1,default:0,validator:function(t){return t>=0}},decimal:{type:String,required:!1,default:"."},separator:{type:String,required:!1,default:","},prefix:{type:String,required:!1,default:""},suffix:{type:String,required:!1,default:""},useEasing:{type:Boolean,required:!1,default:!0},easingFn:{type:Function,default:function(t,a,e,n){return e*(1-Math.pow(2,-10*t/n))*1024/1023+a}}},data:function(){return{localStartVal:this.startVal,displayValue:this.formatNumber(this.startVal),printVal:null,paused:!1,localDuration:this.duration,startTime:null,timestamp:null,remaining:null,rAF:null}},computed:{countDown:function(){return this.startVal>this.endVal}},watch:{startVal:function(){this.autoplay&&this.start()},endVal:function(){this.autoplay&&this.start()}},mounted:function(){this.autoplay&&this.start(),this.$emit("mountedCallback")},methods:{start:function(){this.localStartVal=this.startVal,this.startTime=null,this.localDuration=this.duration,this.paused=!1,this.rAF=(0,n.requestAnimationFrame)(this.count)},pauseResume:function(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause:function(){(0,n.cancelAnimationFrame)(this.rAF)},resume:function(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,(0,n.requestAnimationFrame)(this.count)},reset:function(){this.startTime=null,(0,n.cancelAnimationFrame)(this.rAF),this.displayValue=this.formatNumber(this.startVal)},count:function(t){this.startTime||(this.startTime=t),this.timestamp=t;var a=t-this.startTime;this.remaining=this.localDuration-a,this.useEasing?this.countDown?this.printVal=this.localStartVal-this.easingFn(a,0,this.localStartVal-this.endVal,this.localDuration):this.printVal=this.easingFn(a,this.localStartVal,this.endVal-this.localStartVal,this.localDuration):this.countDown?this.printVal=this.localStartVal-(this.localStartVal-this.endVal)*(a/this.localDuration):this.printVal=this.localStartVal+(this.localStartVal-this.startVal)*(a/this.localDuration),this.countDown?this.printVal=this.printVal<this.endVal?this.endVal:this.printVal:this.printVal=this.printVal>this.endVal?this.endVal:this.printVal,this.displayValue=this.formatNumber(this.printVal),a<this.localDuration?this.rAF=(0,n.requestAnimationFrame)(this.count):this.$emit("callback")},isNumber:function(t){return!isNaN(parseFloat(t))},formatNumber:function(t){t=t.toFixed(this.decimals),t+="";var a=t.split("."),e=a[0],n=a.length>1?this.decimal+a[1]:"",i=/(\d+)(\d{3})/;if(this.separator&&!this.isNumber(this.separator))for(;i.test(e);)e=e.replace(i,"$1"+this.separator+"$2");return this.prefix+e+n+this.suffix}},destroyed:function(){(0,n.cancelAnimationFrame)(this.rAF)}}},function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=e(0),i=function(t){return t&&t.__esModule?t:{default:t}}(n);a.default=i.default,"undefined"!=typeof window&&window.Vue&&window.Vue.component("count-to",i.default)},function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=0,i="webkit moz ms o".split(" "),s=void 0,r=void 0;if("undefined"==typeof window)a.requestAnimationFrame=s=function(){},a.cancelAnimationFrame=r=function(){};else{a.requestAnimationFrame=s=window.requestAnimationFrame,a.cancelAnimationFrame=r=window.cancelAnimationFrame;for(var o=void 0,l=0;l<i.length&&(!s||!r);l++)o=i[l],a.requestAnimationFrame=s=s||window[o+"RequestAnimationFrame"],a.cancelAnimationFrame=r=r||window[o+"CancelAnimationFrame"]||window[o+"CancelRequestAnimationFrame"];s&&r||(a.requestAnimationFrame=s=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-n)),i=window.setTimeout((function(){t(a+e)}),e);return n=a+e,i},a.cancelAnimationFrame=r=function(t){window.clearTimeout(t)})}a.requestAnimationFrame=s,a.cancelAnimationFrame=r},function(t,a){t.exports=function(t,a,e,n){var i,s=t=t||{},r=typeof t.default;"object"!==r&&"function"!==r||(i=t,s=t.default);var o="function"==typeof s?s.options:s;if(a&&(o.render=a.render,o.staticRenderFns=a.staticRenderFns),e&&(o._scopeId=e),n){var l=Object.create(o.computed||null);Object.keys(n).forEach((function(t){var a=n[t];l[t]=function(){return a}})),o.computed=l}return{esModule:i,exports:s,options:o}}},function(t,a){t.exports={render:function(){var t=this,a=t.$createElement;return(t._self._c||a)("span",[t._v("\n "+t._s(t.displayValue)+"\n")])},staticRenderFns:[]}}])}))}}]);
\ No newline at end of file
(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[250],{36250:function(t,a,e){"use strict";e.r(a),e.d(a,{default:function(){return P}});var s=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("page-view",[e("a-row",{attrs:{gutter:12}},[e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.postCount,title:"文章"}},[e("router-link",{attrs:{slot:"action",to:{name:"PostWrite"}},slot:"action"},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"plus"}})],1)],1)],1),e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.commentCount,title:"评论"}},[e("router-link",{attrs:{slot:"action",to:{name:"Comments"}},slot:"action"},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"unordered-list"}})],1)],1)],1),e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.visitCount,title:"阅读量"}},[e("a-tooltip",{attrs:{slot:"action"},slot:"action"},[e("template",{slot:"title"},[t._v(" 文章阅读共 "+t._s(t.statisticsData.visitCount)+"")]),e("a-button",{staticClass:"!p-0",attrs:{type:"link"}},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"info-circle-o"}})],1)],2)],1)],1),e("a-col",{staticClass:"mb-3",attrs:{lg:6,md:12,sm:12,xl:6,xs:12}},[e("analysis-card",{attrs:{number:t.statisticsData.establishDays,title:"建立天数"}},[e("a-tooltip",{attrs:{slot:"action"},slot:"action"},[e("template",{slot:"title"},[t._v("博客建立于 "+t._s(t._f("moment")(t.statisticsData.birthday)))]),e("a-button",{staticClass:"!p-0",attrs:{type:"link"}},[t.statisticsLoading?e("a-icon",{attrs:{type:"loading"}}):e("a-icon",{attrs:{type:"info-circle-o"}})],1)],2)],1)],1)],1),e("a-row",{attrs:{gutter:12}},[e("a-col",{staticClass:"mb-3",attrs:{lg:8,md:12,sm:24,xl:8,xs:24}},[e("a-card",{attrs:{bodyStyle:{padding:0},bordered:!1,title:"新动态"}},[e("div",{staticClass:"card-container"},[e("a-tabs",{attrs:{type:"card"}},[e("a-tab-pane",{key:"1",attrs:{tab:"最近文章"}},[e("a-list",{attrs:{dataSource:t.latestPosts,loading:t.activityLoading},scopedSlots:t._u([{key:"renderItem",fn:function(a,s){return e("a-list-item",{key:s},[e("a-list-item-meta",{scopedSlots:t._u([{key:"title",fn:function(){return[["PUBLISHED","INTIMATE"].includes(a.status)?e("a",{attrs:{href:a.fullPath,target:"_blank"}},[t._v(" "+t._s(a.title)+" ")]):"DRAFT"===a.status?e("a-button",{staticClass:"!p-0",attrs:{type:"link"},on:{click:function(e){return t.handlePostPreview(a.id)}}},[t._v(" "+t._s(a.title)+" ")]):"RECYCLE"===a.status?e("a-button",{staticClass:"!p-0",attrs:{disabled:"",type:"link"}},[t._v(" "+t._s(a.title)+" ")]):t._e()]},proxy:!0}],null,!0)}),e("div",[t._v(t._s(t._f("timeAgo")(a.createTime)))])],1)}}])})],1),e("a-tab-pane",{key:"2",attrs:{tab:"最近评论"}},[e("div",{staticClass:"custom-tab-wrapper"},[e("a-tabs",{attrs:{animated:{inkBar:!0,tabPane:!1}}},[e("a-tab-pane",{key:"posts",attrs:{tab:"文章"}},[e("recent-comment-tab",{attrs:{type:"posts"}})],1),e("a-tab-pane",{key:"sheets",attrs:{tab:"页面"}},[e("recent-comment-tab",{attrs:{type:"sheets"}})],1),e("a-tab-pane",{key:"journals",attrs:{tab:"日志"}},[e("recent-comment-tab",{attrs:{type:"journals"}})],1)],1)],1)])],1)],1)])],1),e("a-col",{staticClass:"mb-3",attrs:{lg:8,md:12,sm:24,xl:8,xs:24}},[e("JournalPublishCard")],1),e("a-col",{staticClass:"mb-3",attrs:{lg:8,md:12,sm:24,xl:8,xs:24}},[e("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[e("template",{slot:"title"},[t._v(" 操作日志 "),e("a-tooltip",{attrs:{slot:"action",title:"更多"},slot:"action"},[e("router-link",{attrs:{to:{name:"SystemActionLogs"}}},[e("a-icon",{attrs:{type:"ellipsis"}})],1)],1)],1),e("a-list",{attrs:{dataSource:t.latestLogs,loading:t.logLoading},scopedSlots:t._u([{key:"renderItem",fn:function(a,s){return e("a-list-item",{key:s},[e("a-list-item-meta",{attrs:{description:t._f("timeAgo")(a.createTime)}},[e("span",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t._f("typeConvert")(a.type)))])]),e("ellipsis",{attrs:{length:35,tooltip:""}},[t._v(t._s(a.content))])],1)}}])})],2)],1)],1)],1)},i=[],n=e(50990),r=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("a-card",{attrs:{"body-style":{padding:"24px"},bordered:!1}},[e("div",{staticClass:"analysis-card-container"},[e("div",{staticClass:"meta"},[e("span",{staticClass:"analysis-card-title"},[t._t("title",(function(){return[t._v(t._s(t.title))]}))],2),e("span",{staticClass:"analysis-card-action"},[t._t("action")],2)]),e("div",{staticClass:"number"},[t._t("number",(function(){return[e("countTo",{attrs:{autoplay:!0,duration:3e3,endVal:"function"===typeof t.number&&t.number()||t.number,startVal:t.startNumber}})]}))],2)])])},o=[],l=e(79244),u=e.n(l),c={name:"AnalysisCard",components:{countTo:u()},props:{title:{type:String,required:!1,default:""},number:{type:Number,required:!1,default:0}},data(){return{startNumber:0}},watch:{number:function(t,a){this.startNumber=a}}},d=c,m=e(18156),p=(0,m.Z)(d,r,o,!1,null,null,null),h=p.exports,f=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[e("template",{slot:"title"},[t._v(" 速记 "),e("a-tooltip",{attrs:{slot:"action",title:"内容将保存到页面/所有页面/日志页面"},slot:"action"},[e("a-icon",{staticClass:"cursor-pointer",attrs:{type:"info-circle-o"}})],1)],1),e("a-form-model",{ref:"journalForm",attrs:{model:t.form.model,rules:t.form.rules,layout:"vertical"}},[e("a-form-model-item",{attrs:{prop:"sourceContent"}},[e("a-input",{attrs:{autoSize:{minRows:8},placeholder:"写点什么吧...",type:"textarea"},model:{value:t.form.model.sourceContent,callback:function(a){t.$set(t.form.model,"sourceContent",a)},expression:"form.model.sourceContent"}})],1),e("a-form-model-item",[e("ReactiveButton",{attrs:{errored:t.form.errored,loading:t.form.saving,erroredText:"发布失败",loadedText:"发布成功",text:"发布"},on:{callback:function(){t.form.errored||(t.form.model={}),t.form.errored=!1},click:t.handleCreateJournalClick}})],1)],1)],2)},y=[],b=e(1540),g={name:"JournalPublishCard",data(){return{form:{model:{},rules:{sourceContent:[{required:!0,message:"* 内容不能为空",trigger:["change"]}]},saving:!1,errored:!1}}},methods:{handleCreateJournalClick(){const t=this;t.$refs.journalForm.validate((a=>{a&&(t.form.saving=!0,b.Z.journal.create(t.form.model).catch((()=>{this.form.errored=!0})).finally((()=>{setTimeout((()=>{t.form.saving=!1}),400)})))}))}}},v=g,_=(0,m.Z)(v,f,y,!1,null,null,null),C=_.exports,V=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("CommentListView",{attrs:{comments:t.comments,loading:t.loading}})},w=[],x={name:"RecentCommentTab",props:{type:{type:String,required:!1,default:"posts",validator:function(t){return-1!==["posts","sheets","journals"].indexOf(t)}}},data(){return{comments:[],loading:!1}},created(){this.handleListTargetComments()},methods:{async handleListTargetComments(){try{this.loading=!0;const{data:t}=await b.Z.comment.latest(this.type,5,"PUBLISHED");this.comments=t}catch(t){this.$log.error("Failed to load comments",t)}finally{this.loading=!1}}}},F=x,L=(0,m.Z)(F,V,w,!1,null,null,null),k=L.exports,A=e(78588),S={name:"Dashboard",components:{PageView:n.B4,AnalysisCard:h,JournalPublishCard:C,RecentCommentTab:k},data(){return{activityLoading:!1,logLoading:!1,statisticsLoading:!0,latestPosts:[],latestLogs:[],statisticsData:{},journal:{content:""},interval:null}},beforeMount(){this.handleLoadStatistics(),this.handleListLatestPosts(),this.handleListLatestLogs()},beforeRouteEnter(t,a,e){e((t=>{t.interval=setInterval((()=>{t.handleLoadStatistics()}),5e3)}))},beforeRouteLeave(t,a,e){this.interval&&(clearInterval(this.interval),this.interval=null,this.$log.debug("Cleared interval")),e()},methods:{handleListLatestPosts(){this.activityLoading=!0,b.Z.post.latest(5).then((t=>{this.latestPosts=t.data})).finally((()=>{this.activityLoading=!1}))},handleListLatestLogs(){this.logLoading=!0,b.Z.log.latest(5).then((t=>{this.latestLogs=t.data})).finally((()=>{this.logLoading=!1}))},handleLoadStatistics(){b.Z.statistic.statistics().then((t=>{this.statisticsData=t.data})).catch((()=>{clearInterval(this.interval)})).finally((()=>{this.statisticsLoading=!1}))},handlePostPreview(t){b.Z.post.getPreviewLinkById(t).then((t=>{window.open(t,"_blank")}))}},filters:{typeConvert(t){const a=A.Js[t];return a?a.text:t}}},D=S,q=(0,m.Z)(D,s,i,!1,null,null,null),P=q.exports},79244:function(t){!function(a,e){t.exports=e()}(0,(function(){return function(t){function a(s){if(e[s])return e[s].exports;var i=e[s]={i:s,l:!1,exports:{}};return t[s].call(i.exports,i,i.exports,a),i.l=!0,i.exports}var e={};return a.m=t,a.c=e,a.i=function(t){return t},a.d=function(t,e,s){a.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:s})},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,a){return Object.prototype.hasOwnProperty.call(t,a)},a.p="/dist/",a(a.s=2)}([function(t,a,e){var s=e(4)(e(1),e(5),null,null);t.exports=s.exports},function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s=e(3);a.default={props:{startVal:{type:Number,required:!1,default:0},endVal:{type:Number,required:!1,default:2017},duration:{type:Number,required:!1,default:3e3},autoplay:{type:Boolean,required:!1,default:!0},decimals:{type:Number,required:!1,default:0,validator:function(t){return t>=0}},decimal:{type:String,required:!1,default:"."},separator:{type:String,required:!1,default:","},prefix:{type:String,required:!1,default:""},suffix:{type:String,required:!1,default:""},useEasing:{type:Boolean,required:!1,default:!0},easingFn:{type:Function,default:function(t,a,e,s){return e*(1-Math.pow(2,-10*t/s))*1024/1023+a}}},data:function(){return{localStartVal:this.startVal,displayValue:this.formatNumber(this.startVal),printVal:null,paused:!1,localDuration:this.duration,startTime:null,timestamp:null,remaining:null,rAF:null}},computed:{countDown:function(){return this.startVal>this.endVal}},watch:{startVal:function(){this.autoplay&&this.start()},endVal:function(){this.autoplay&&this.start()}},mounted:function(){this.autoplay&&this.start(),this.$emit("mountedCallback")},methods:{start:function(){this.localStartVal=this.startVal,this.startTime=null,this.localDuration=this.duration,this.paused=!1,this.rAF=(0,s.requestAnimationFrame)(this.count)},pauseResume:function(){this.paused?(this.resume(),this.paused=!1):(this.pause(),this.paused=!0)},pause:function(){(0,s.cancelAnimationFrame)(this.rAF)},resume:function(){this.startTime=null,this.localDuration=+this.remaining,this.localStartVal=+this.printVal,(0,s.requestAnimationFrame)(this.count)},reset:function(){this.startTime=null,(0,s.cancelAnimationFrame)(this.rAF),this.displayValue=this.formatNumber(this.startVal)},count:function(t){this.startTime||(this.startTime=t),this.timestamp=t;var a=t-this.startTime;this.remaining=this.localDuration-a,this.useEasing?this.countDown?this.printVal=this.localStartVal-this.easingFn(a,0,this.localStartVal-this.endVal,this.localDuration):this.printVal=this.easingFn(a,this.localStartVal,this.endVal-this.localStartVal,this.localDuration):this.countDown?this.printVal=this.localStartVal-(this.localStartVal-this.endVal)*(a/this.localDuration):this.printVal=this.localStartVal+(this.localStartVal-this.startVal)*(a/this.localDuration),this.countDown?this.printVal=this.printVal<this.endVal?this.endVal:this.printVal:this.printVal=this.printVal>this.endVal?this.endVal:this.printVal,this.displayValue=this.formatNumber(this.printVal),a<this.localDuration?this.rAF=(0,s.requestAnimationFrame)(this.count):this.$emit("callback")},isNumber:function(t){return!isNaN(parseFloat(t))},formatNumber:function(t){t=t.toFixed(this.decimals),t+="";var a=t.split("."),e=a[0],s=a.length>1?this.decimal+a[1]:"",i=/(\d+)(\d{3})/;if(this.separator&&!this.isNumber(this.separator))for(;i.test(e);)e=e.replace(i,"$1"+this.separator+"$2");return this.prefix+e+s+this.suffix}},destroyed:function(){(0,s.cancelAnimationFrame)(this.rAF)}}},function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s=e(0),i=function(t){return t&&t.__esModule?t:{default:t}}(s);a.default=i.default,"undefined"!=typeof window&&window.Vue&&window.Vue.component("count-to",i.default)},function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var s=0,i="webkit moz ms o".split(" "),n=void 0,r=void 0;if("undefined"==typeof window)a.requestAnimationFrame=n=function(){},a.cancelAnimationFrame=r=function(){};else{a.requestAnimationFrame=n=window.requestAnimationFrame,a.cancelAnimationFrame=r=window.cancelAnimationFrame;for(var o=void 0,l=0;l<i.length&&(!n||!r);l++)o=i[l],a.requestAnimationFrame=n=n||window[o+"RequestAnimationFrame"],a.cancelAnimationFrame=r=r||window[o+"CancelAnimationFrame"]||window[o+"CancelRequestAnimationFrame"];n&&r||(a.requestAnimationFrame=n=function(t){var a=(new Date).getTime(),e=Math.max(0,16-(a-s)),i=window.setTimeout((function(){t(a+e)}),e);return s=a+e,i},a.cancelAnimationFrame=r=function(t){window.clearTimeout(t)})}a.requestAnimationFrame=n,a.cancelAnimationFrame=r},function(t,a){t.exports=function(t,a,e,s){var i,n=t=t||{},r=typeof t.default;"object"!==r&&"function"!==r||(i=t,n=t.default);var o="function"==typeof n?n.options:n;if(a&&(o.render=a.render,o.staticRenderFns=a.staticRenderFns),e&&(o._scopeId=e),s){var l=Object.create(o.computed||null);Object.keys(s).forEach((function(t){var a=s[t];l[t]=function(){return a}})),o.computed=l}return{esModule:i,exports:n,options:o}}},function(t,a){t.exports={render:function(){var t=this,a=t.$createElement;return(t._self._c||a)("span",[t._v("\n "+t._s(t.displayValue)+"\n")])},staticRenderFns:[]}}])}))}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[26],{13026:function(e,r,t){t.r(r),t.d(r,{default:function(){return d}});var o=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"container-wrapper animated fadeIn"},[e._m(0),t("div",[t("a-form-model",{ref:"sendCodeForm",attrs:{model:e.form.model,rules:e.form.sendCodeRules,layout:"vertical"}},[t("a-form-model-item",{attrs:{prop:"username"}},[t("a-input",{attrs:{placeholder:"用户名"},model:{value:e.form.model.username,callback:function(r){e.$set(e.form.model,"username",r)},expression:"form.model.username"}},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"user"},slot:"prefix"})],1)],1),t("a-form-model-item",{attrs:{prop:"email"}},[t("a-input",{attrs:{placeholder:"邮箱"},model:{value:e.form.model.email,callback:function(r){e.$set(e.form.model,"email",r)},expression:"form.model.email"}},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"mail"},slot:"prefix"})],1)],1)],1),t("a-form-model",{ref:"passwordForm",attrs:{model:e.form.model,rules:e.form.rules,layout:"vertical"}},[t("a-form-model-item",{attrs:{prop:"code"}},[t("a-input",{attrs:{placeholder:"验证码",type:"password"},scopedSlots:e._u([{key:"addonAfter",fn:function(){return[t("a-button",{staticClass:"!p-0 !h-auto",attrs:{type:"link"},on:{click:e.handleSendCode}},[e._v("获取")])]},proxy:!0}]),model:{value:e.form.model.code,callback:function(r){e.$set(e.form.model,"code",r)},expression:"form.model.code"}},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"safety-certificate"},slot:"prefix"})],1)],1),t("a-form-model-item",{attrs:{prop:"password"}},[t("a-input",{attrs:{autocomplete:"new-password",placeholder:"新密码",type:"password"},model:{value:e.form.model.password,callback:function(r){e.$set(e.form.model,"password",r)},expression:"form.model.password"}},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"lock"},slot:"prefix"})],1)],1),t("a-form-model-item",{attrs:{prop:"confirmPassword"}},[t("a-input",{attrs:{autocomplete:"new-password",placeholder:"确认密码",type:"password"},model:{value:e.form.model.confirmPassword,callback:function(r){e.$set(e.form.model,"confirmPassword",r)},expression:"form.model.confirmPassword"}},[t("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"lock"},slot:"prefix"})],1)],1),t("a-form-model-item",[t("a-button",{attrs:{block:!0,type:"primary"},on:{click:e.handleResetPassword}},[e._v("重置密码")])],1)],1),t("router-link",{staticClass:"tip",attrs:{to:{name:"Login"}}},[e._v(" 返回登录")])],1)])},a=[function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"halo-logo"},[t("img",{attrs:{alt:"Halo Logo",src:"/images/logo.svg"}}),t("span",[e._v("重置密码")])])}],s=t(91057),n=(t(70315),t(87591),t(1540)),l={data:function(){var e=this,r=function(r,t,o){t&&e.form.model.password!==t?o(new Error("确认密码与新密码不一致")):o()};return{form:{model:{},sendCodeRules:{username:[{required:!0,message:"* 用户名不能为空",trigger:["change"]}],email:[{required:!0,message:"* 电子邮箱地址不能为空",trigger:["change"]}]},rules:{code:[{required:!0,message:"* 验证码不能为空",trigger:["change"]}],password:[{required:!0,message:"* 新密码不能为空",trigger:["change"]},{max:100,min:8,message:"* 密码的字符长度必须在 8 - 100 之间",trigger:["change"]}],confirmPassword:[{required:!0,message:"* 确认密码不能为空",trigger:["change"]},{validator:r,trigger:["change"]}]}}}},methods:{handleSendCode:function(){var e=this;this.$refs.sendCodeForm.validate(function(){var r=(0,s.Z)(regeneratorRuntime.mark((function r(t){var o;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(!t){r.next=14;break}return o=e.$message.loading("发送中...",0),r.prev=2,r.next=5,n.Z.sendResetPasswordCode(e.form.model);case 5:e.$message.success("邮件发送成功,五分钟内有效"),r.next=11;break;case 8:r.prev=8,r.t0=r["catch"](2),e.$log.error("Failed send code: ",r.t0);case 11:return r.prev=11,o(),r.finish(11);case 14:case"end":return r.stop()}}),r,null,[[2,8,11,14]])})));return function(e){return r.apply(this,arguments)}}())},handleResetPassword:function(){var e=this;this.$refs.sendCodeForm.validate((function(r){r&&e.$refs.passwordForm.validate(function(){var r=(0,s.Z)(regeneratorRuntime.mark((function r(t){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(!t){r.next=12;break}return r.prev=1,r.next=4,n.Z.resetPassword(e.form.model);case 4:return r.next=6,e.$router.push({name:"Login"});case 6:e.$message.success("密码重置成功!"),r.next=12;break;case 9:r.prev=9,r.t0=r["catch"](1),e.$log.error("Failed reset password: ",r.t0);case 12:case"end":return r.stop()}}),r,null,[[1,9]])})));return function(e){return r.apply(this,arguments)}}())}))}}},i=l,m=t(18156),c=(0,m.Z)(i,o,a,!1,null,null,null),d=c.exports}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[26],{13026:function(e,o,r){r.r(o),r.d(o,{default:function(){return n}});var s=function(){var e=this,o=e.$createElement,r=e._self._c||o;return r("div",{staticClass:"container-wrapper animated fadeIn"},[e._m(0),r("div",[r("a-form-model",{ref:"sendCodeForm",attrs:{model:e.form.model,rules:e.form.sendCodeRules,layout:"vertical"}},[r("a-form-model-item",{attrs:{prop:"username"}},[r("a-input",{attrs:{placeholder:"用户名"},model:{value:e.form.model.username,callback:function(o){e.$set(e.form.model,"username",o)},expression:"form.model.username"}},[r("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"user"},slot:"prefix"})],1)],1),r("a-form-model-item",{attrs:{prop:"email"}},[r("a-input",{attrs:{placeholder:"邮箱"},model:{value:e.form.model.email,callback:function(o){e.$set(e.form.model,"email",o)},expression:"form.model.email"}},[r("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"mail"},slot:"prefix"})],1)],1)],1),r("a-form-model",{ref:"passwordForm",attrs:{model:e.form.model,rules:e.form.rules,layout:"vertical"}},[r("a-form-model-item",{attrs:{prop:"code"}},[r("a-input",{attrs:{placeholder:"验证码",type:"password"},scopedSlots:e._u([{key:"addonAfter",fn:function(){return[r("a-button",{staticClass:"!p-0 !h-auto",attrs:{type:"link"},on:{click:e.handleSendCode}},[e._v("获取")])]},proxy:!0}]),model:{value:e.form.model.code,callback:function(o){e.$set(e.form.model,"code",o)},expression:"form.model.code"}},[r("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"safety-certificate"},slot:"prefix"})],1)],1),r("a-form-model-item",{attrs:{prop:"password"}},[r("a-input",{attrs:{autocomplete:"new-password",placeholder:"新密码",type:"password"},model:{value:e.form.model.password,callback:function(o){e.$set(e.form.model,"password",o)},expression:"form.model.password"}},[r("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"lock"},slot:"prefix"})],1)],1),r("a-form-model-item",{attrs:{prop:"confirmPassword"}},[r("a-input",{attrs:{autocomplete:"new-password",placeholder:"确认密码",type:"password"},model:{value:e.form.model.confirmPassword,callback:function(o){e.$set(e.form.model,"confirmPassword",o)},expression:"form.model.confirmPassword"}},[r("a-icon",{staticStyle:{color:"rgba(0, 0, 0, 0.25)"},attrs:{slot:"prefix",type:"lock"},slot:"prefix"})],1)],1),r("a-form-model-item",[r("a-button",{attrs:{block:!0,type:"primary"},on:{click:e.handleResetPassword}},[e._v("重置密码")])],1)],1),r("router-link",{staticClass:"tip",attrs:{to:{name:"Login"}}},[e._v(" 返回登录")])],1)])},a=[function(){var e=this,o=e.$createElement,r=e._self._c||o;return r("div",{staticClass:"halo-logo"},[r("img",{attrs:{alt:"Halo Logo",src:"/images/logo.svg"}}),r("span",[e._v("重置密码")])])}],t=(r(87591),r(1540)),l={data(){const e=(e,o,r)=>{o&&this.form.model.password!==o?r(new Error("确认密码与新密码不一致")):r()};return{form:{model:{},sendCodeRules:{username:[{required:!0,message:"* 用户名不能为空",trigger:["change"]}],email:[{required:!0,message:"* 电子邮箱地址不能为空",trigger:["change"]}]},rules:{code:[{required:!0,message:"* 验证码不能为空",trigger:["change"]}],password:[{required:!0,message:"* 新密码不能为空",trigger:["change"]},{max:100,min:8,message:"* 密码的字符长度必须在 8 - 100 之间",trigger:["change"]}],confirmPassword:[{required:!0,message:"* 确认密码不能为空",trigger:["change"]},{validator:e,trigger:["change"]}]}}}},methods:{handleSendCode(){this.$refs.sendCodeForm.validate((async e=>{if(e){const e=this.$message.loading("发送中...",0);try{await t.Z.sendResetPasswordCode(this.form.model),this.$message.success("邮件发送成功,五分钟内有效")}catch(o){this.$log.error("Failed send code: ",o)}finally{e()}}}))},handleResetPassword(){this.$refs.sendCodeForm.validate((e=>{e&&this.$refs.passwordForm.validate((async e=>{if(e)try{await t.Z.resetPassword(this.form.model),await this.$router.push({name:"Login"}),this.$message.success("密码重置成功!")}catch(o){this.$log.error("Failed reset password: ",o)}}))}))}}},i=l,m=r(18156),d=(0,m.Z)(i,s,a,!1,null,null,null),n=d.exports}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[362],{91362:function(t,e,n){n.r(e),n.d(e,{default:function(){return g}});var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("page-view",[n("a-row",[n("a-col",{attrs:{span:24}},[n("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[n("a-card",{staticClass:"environment-info",attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[n("template",{slot:"title"},[t._v(" 环境信息 "),n("a-button",{staticClass:"!p-0",attrs:{type:"link"},on:{click:t.handleCopyEnvironments}},[n("a-icon",{attrs:{type:"copy"}})],1)],1),n("a-popover",{attrs:{slot:"extra",title:t.isLatest?"当前为最新版本":"有新版本",placement:"left"},slot:"extra"},[n("template",{slot:"content"},[n("p",[t._v(t._s(t.versionMessage))]),n("a-button",{attrs:{type:"dashed"},on:{click:t.handleShowVersionContent}},[t._v("查看详情")])],1),n("a-button",{attrs:{icon:t.isLatest?"check-circle":"exclamation-circle",loading:t.checking,shape:"circle",type:"dashed"}})],2),n("ul",{staticClass:"p-0 m-0 list-none"},[n("li",[t._v("版本:"+t._s(t.environments.version))]),n("li",[t._v("数据库:"+t._s(t.environments.database))]),n("li",[t._v("运行模式:"+t._s(t.environments.mode))]),n("li",[t._v("启用主题:"+t._s(t.activatedTheme.name))]),n("li",[t._v("启动时间:"+t._s(t._f("moment")(t.environments.startTime)))])]),n("a",{staticClass:"mr-3",attrs:{href:"https://halo.run",target:"_blank"}},[t._v("官网 "),n("a-icon",{attrs:{type:"link"}})],1),n("a",{staticClass:"mr-3",attrs:{href:"https://docs.halo.run",target:"_blank"}},[t._v("文档 "),n("a-icon",{attrs:{type:"link"}})],1),n("a",{staticClass:"mr-3",attrs:{href:"https://github.com/halo-dev",target:"_blank"}},[t._v("开源组织 "),n("a-icon",{attrs:{type:"link"}})],1),n("a",{staticClass:"mr-3",attrs:{href:"https://bbs.halo.run",target:"_blank"}},[t._v("在线社区 "),n("a-icon",{attrs:{type:"link"}})],1)],2),n("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1,loading:t.contributorsLoading,title:"开发者"}},t._l(t.contributors,(function(e,a){return n("a",{key:a,attrs:{href:e.html_url,target:"_blank"}},[n("a-tooltip",{attrs:{title:e.login,placement:"top"}},[n("a-avatar",{style:{marginRight:"10px",marginBottom:"10px"},attrs:{alt:e.login,src:t._f("webpAvatarConvert")(e.avatar_url),size:"large"}})],1)],1)})),0)],1)],1),n("a-col",{attrs:{span:24}})],1),n("a-modal",{attrs:{title:t.versionContentModalTitle,visible:t.versionContentVisible,width:620,"ok-text":"查看更多"},on:{cancel:function(e){t.versionContentVisible=!1},ok:t.handleOpenVersionUrl}},[n("div",{domProps:{innerHTML:t._s(t.versionContent)}})])],1)},r=[],i=n(91057),s=(n(70315),n(41479),n(21082),n(31875),n(30535),n(85018),n(96339),n(1540)),o=n(10299),c=n.n(o),l=n(90952),u=n(50990),h=c().create({baseURL:"https://api.github.com",timeout:1e4,headers:{"Content-Type":"application/json",Accept:"application/vnd.github.v3+json"},withCredentials:!1}),p={components:{PageView:u.B4},data:function(){return{environments:{},contributors:[{login:"",id:0,node_id:"",avatar_url:"",gravatar_id:"",url:"",html_url:"",followers_url:"",following_url:"",gists_url:"",starred_url:"",subscriptions_url:"",organizations_url:"",repos_url:"",events_url:"",received_events_url:"",type:"",site_admin:!1,contributions:0}],contributorsLoading:!0,checking:!1,isLatest:!1,latestData:{},versionContentVisible:!1,activatedTheme:{}}},computed:{versionMessage:function(){return"当前版本:".concat(this.environments.version,"").concat(this.isLatest?"已经是最新版本。":"新版本:".concat(this.latestData.name,",你可以点击下方按钮查看详情。"))},versionContent:function(){return this.latestData&&this.latestData.body?l.TU.parse(this.latestData.body):"暂无内容"},versionContentModalTitle:function(){return"".concat(this.latestData.name," 更新内容")}},created:function(){this.getEnvironments(),this.handleGetActivatedTheme(),this.fetchContributors()},methods:{getEnvironments:function(){var t=this;return(0,i.Z)(regeneratorRuntime.mark((function e(){var n,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,s.Z.getEnvironment();case 2:n=e.sent,a=n.data,t.environments=a,t.checkServerUpdate();case 6:case"end":return e.stop()}}),e)})))()},handleGetActivatedTheme:function(){var t=this;return(0,i.Z)(regeneratorRuntime.mark((function e(){var n,a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,s.Z.theme.getActivatedTheme();case 2:n=e.sent,a=n.data,t.activatedTheme=a;case 5:case"end":return e.stop()}}),e)})))()},handleCopyEnvironments:function(){var t=this,e="版本:".concat(this.environments.version,"\n数据库:").concat(this.environments.database,"\n运行模式:").concat(this.environments.mode,"\n启用主题:").concat(this.activatedTheme.name,"\nUser Agent:").concat(navigator.userAgent);this.$copyText(e).then((function(e){t.$log.debug("copy",e),t.$message.success("复制成功!")})).catch((function(e){t.$log.debug("copy.err",e),t.$message.error("复制失败!")}))},fetchContributors:function(){var t=this;t.contributorsLoading=!0,h.get("/repos/halo-dev/halo/contributors?per_page=100").then((function(e){t.contributors=e.data})).catch((function(e){t.$log.error("Fetch contributors error",e)})).finally((function(){t.contributorsLoading=!1}))},checkServerUpdate:function(){var t=this,e=this.$createElement,n=this;n.checking=!0,h.get("/repos/halo-dev/halo/releases/latest").then((function(a){var r=a.data;if(n.latestData=r,!r.draft&&!r.prerelease){var i=n.calculateIntValue(n.environments.version),s=n.calculateIntValue(r.name);if(i>=s)n.isLatest=!0;else{var o="新版本提醒",c="检测到 Halo 新版本:"+r.name+",点击下方按钮查看最新版本。";n.$notification.open({message:o,description:c,icon:e("a-icon",{attrs:{type:"smile"},style:"color: #108ee9"}),btn:function(e){return e("a-button",{props:{type:"primary",size:"small"},on:{click:function(){return t.handleShowVersionContent()}}},"去看看")}})}}})).catch((function(t){this.$log.error("Check update fail",t)})).finally((function(){t.checking=!1}))},handleShowVersionContent:function(){this.versionContentVisible=!0},handleOpenVersionUrl:function(){window.open(this.latestData.html_url,"_blank")},calculateIntValue:function(t){t=t.replace(/v/g,"");var e=t.split(".");if(null==e||3!==e.length)return-1;var n=parseInt(e[0]),a=parseInt(e[1]),r=parseInt(e[2]);return isNaN(n)||isNaN(a)||isNaN(r)?-1:1e6*n+1e3*a+r}},filters:{webpAvatarConvert:function(t){return t.replace("avatars.githubusercontent.com","avatars-githubusercontent.webp.se")}}},d=p,v=n(18156),m=(0,v.Z)(d,a,r,!1,null,null,null),g=m.exports}}]);
\ No newline at end of file
"use strict";(self["webpackChunkhalo_admin"]=self["webpackChunkhalo_admin"]||[]).push([[362],{91362:function(t,e,a){a.r(e),a.d(e,{default:function(){return m}});var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("page-view",[a("a-row",[a("a-col",{attrs:{span:24}},[a("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[a("a-card",{staticClass:"environment-info",attrs:{bodyStyle:{padding:"16px"},bordered:!1}},[a("template",{slot:"title"},[t._v(" 环境信息 "),a("a-button",{staticClass:"!p-0",attrs:{type:"link"},on:{click:t.handleCopyEnvironments}},[a("a-icon",{attrs:{type:"copy"}})],1)],1),a("a-popover",{attrs:{slot:"extra",title:t.isLatest?"当前为最新版本":"有新版本",placement:"left"},slot:"extra"},[a("template",{slot:"content"},[a("p",[t._v(t._s(t.versionMessage))]),a("a-button",{attrs:{type:"dashed"},on:{click:t.handleShowVersionContent}},[t._v("查看详情")])],1),a("a-button",{attrs:{icon:t.isLatest?"check-circle":"exclamation-circle",loading:t.checking,shape:"circle",type:"dashed"}})],2),a("ul",{staticClass:"p-0 m-0 list-none"},[a("li",[t._v("版本:"+t._s(t.environments.version))]),a("li",[t._v("数据库:"+t._s(t.environments.database))]),a("li",[t._v("运行模式:"+t._s(t.environments.mode))]),a("li",[t._v("启用主题:"+t._s(t.activatedTheme.name))]),a("li",[t._v("启动时间:"+t._s(t._f("moment")(t.environments.startTime)))])]),a("a",{staticClass:"mr-3",attrs:{href:"https://halo.run",target:"_blank"}},[t._v("官网 "),a("a-icon",{attrs:{type:"link"}})],1),a("a",{staticClass:"mr-3",attrs:{href:"https://docs.halo.run",target:"_blank"}},[t._v("文档 "),a("a-icon",{attrs:{type:"link"}})],1),a("a",{staticClass:"mr-3",attrs:{href:"https://github.com/halo-dev",target:"_blank"}},[t._v("开源组织 "),a("a-icon",{attrs:{type:"link"}})],1),a("a",{staticClass:"mr-3",attrs:{href:"https://bbs.halo.run",target:"_blank"}},[t._v("在线社区 "),a("a-icon",{attrs:{type:"link"}})],1)],2),a("a-card",{attrs:{bodyStyle:{padding:"16px"},bordered:!1,loading:t.contributorsLoading,title:"开发者"}},t._l(t.contributors,(function(e,n){return a("a",{key:n,attrs:{href:e.html_url,target:"_blank"}},[a("a-tooltip",{attrs:{title:e.login,placement:"top"}},[a("a-avatar",{style:{marginRight:"10px",marginBottom:"10px"},attrs:{alt:e.login,src:t._f("webpAvatarConvert")(e.avatar_url),size:"large"}})],1)],1)})),0)],1)],1),a("a-col",{attrs:{span:24}})],1),a("a-modal",{attrs:{title:t.versionContentModalTitle,visible:t.versionContentVisible,width:620,"ok-text":"查看更多"},on:{cancel:function(e){t.versionContentVisible=!1},ok:t.handleOpenVersionUrl}},[a("div",{domProps:{innerHTML:t._s(t.versionContent)}})])],1)},s=[],r=a(1540),i=a(10299),o=a.n(i),l=a(90952),c=a(50990);const h=o().create({baseURL:"https://api.github.com",timeout:1e4,headers:{"Content-Type":"application/json",Accept:"application/vnd.github.v3+json"},withCredentials:!1});var d={components:{PageView:c.B4},data(){return{environments:{},contributors:[{login:"",id:0,node_id:"",avatar_url:"",gravatar_id:"",url:"",html_url:"",followers_url:"",following_url:"",gists_url:"",starred_url:"",subscriptions_url:"",organizations_url:"",repos_url:"",events_url:"",received_events_url:"",type:"",site_admin:!1,contributions:0}],contributorsLoading:!0,checking:!1,isLatest:!1,latestData:{},versionContentVisible:!1,activatedTheme:{}}},computed:{versionMessage(){return`当前版本:${this.environments.version}${this.isLatest?"已经是最新版本。":`新版本:${this.latestData.name},你可以点击下方按钮查看详情。`}`},versionContent(){return this.latestData&&this.latestData.body?l.TU.parse(this.latestData.body):"暂无内容"},versionContentModalTitle(){return`${this.latestData.name} 更新内容`}},created(){this.getEnvironments(),this.handleGetActivatedTheme(),this.fetchContributors()},methods:{async getEnvironments(){const{data:t}=await r.Z.getEnvironment();this.environments=t,this.checkServerUpdate()},async handleGetActivatedTheme(){const{data:t}=await r.Z.theme.getActivatedTheme();this.activatedTheme=t},handleCopyEnvironments(){const t=`版本:${this.environments.version}\n数据库:${this.environments.database}\n运行模式:${this.environments.mode}\n启用主题:${this.activatedTheme.name}\nUser Agent:${navigator.userAgent}`;this.$copyText(t).then((t=>{this.$log.debug("copy",t),this.$message.success("复制成功!")})).catch((t=>{this.$log.debug("copy.err",t),this.$message.error("复制失败!")}))},fetchContributors(){const t=this;t.contributorsLoading=!0,h.get("/repos/halo-dev/halo/contributors?per_page=100").then((e=>{t.contributors=e.data})).catch((function(e){t.$log.error("Fetch contributors error",e)})).finally((()=>{t.contributorsLoading=!1}))},checkServerUpdate(){const t=this.$createElement,e=this;e.checking=!0,h.get("/repos/halo-dev/halo/releases/latest").then((a=>{const n=a.data;if(e.latestData=n,n.draft||n.prerelease)return;const s=e.calculateIntValue(e.environments.version),r=e.calculateIntValue(n.name);if(s>=r)return void(e.isLatest=!0);const i="新版本提醒",o="检测到 Halo 新版本:"+n.name+",点击下方按钮查看最新版本。";e.$notification.open({message:i,description:o,icon:t("a-icon",{attrs:{type:"smile"},style:"color: #108ee9"}),btn:t=>t("a-button",{props:{type:"primary",size:"small"},on:{click:()=>this.handleShowVersionContent()}},"去看看")})})).catch((function(t){this.$log.error("Check update fail",t)})).finally((()=>{this.checking=!1}))},handleShowVersionContent(){this.versionContentVisible=!0},handleOpenVersionUrl(){window.open(this.latestData.html_url,"_blank")},calculateIntValue(t){t=t.replace(/v/g,"");const e=t.split(".");if(null==e||3!==e.length)return-1;const a=parseInt(e[0]),n=parseInt(e[1]),s=parseInt(e[2]);return isNaN(a)||isNaN(n)||isNaN(s)?-1:1e6*a+1e3*n+s}},filters:{webpAvatarConvert(t){return t.replace("avatars.githubusercontent.com","avatars-githubusercontent.webp.se")}}},p=d,u=a(18156),v=(0,u.Z)(p,n,s,!1,null,null,null),m=v.exports}}]);
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment