text: webpackJsonp([1],{"+vHN":function(t,e){},"1TXg":function(t,e){},"2B12":function(t,e){},"2hhS":function(t,e){},"3oQ2":function(t,e){},"5M/Q":function(t,e){},"5Xjg":function(t,e){},"7Otq":function(t,e,a){t.exports=a.p+"static/img/logo.5b7d8f7.png"},"7QVd":function(t,e){},"7t+U":function(t,e){t.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTU0NjE2MjE5NzA0NCIgY2xhc3M9Imljb24iIHN0eWxlPSIiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIgCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQyNTYiIAogICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+CiAgICA8ZGVmcz4KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+CiAgICA8L2RlZnM+CiAgICA8cGF0aCBkPSJNNTEyIDBDMjMwLjQgMCAwIDIyOC44IDAgNTEyczIyOC44IDUxMiA1MTIgNTEyIDUxMi0yMjguOCA1MTItNTEyUzc5NS4yIDAgNTEyIDB6IG0yMjAuOCA2NDkuNmMtMTYgMTQuNC0zNi44LTQ0LjgtNDAtMzYuOC04IDIyLjQtMTEuMiAzNi44LTMzLjYgNjAuOC0xLjYgMS42IDI1LjYgMTEuMiAzMy42IDMwLjQgNi40IDE5LjIgMjAuOCA0OS42LTcwLjQgNTkuMi01NC40IDYuNC05Mi44LTI4LjgtOTYtMjcuMmgtMjRjLTEuNiAwLTE5LjIgMjcuMi05OS4yIDI3LjItNjIuNCAwLTc4LjQtMzguNC02NS42LTU5LjIgMTIuOC0yMC44IDMzLjYtMjcuMiAzMC40LTMwLjQtMTYtMTYtMjUuNi0zMy42LTMyLTQ5LjYtMS42LTMuMi0zLjItOC0zLjItMTEuMi0xLjYtOC0xOS4yIDQ5LjYtMzguNCAzNi44LTE5LjItMTIuOC0xNy42LTQ4LTQuOC04MCAxMi44LTMzLjYgNDMuMi02NS42IDQzLjItNzIgMS42LTI1LjYtMy4yLTMwLjQgMC0zNi44IDYuNC0xNiAxMi44LTkuNiAxMi44LTE3LjYgMC0xMDAuOCA3NS4yLTE4Mi40IDE2OS42LTE4Mi40IDkyLjggMCAxNjkuNiA4MS42IDE2OS42IDE4Mi40IDAgMy4yIDkuNiAwIDE0LjQgMTcuNiAxLjYgMy4yIDEuNiAxNy42IDAgMzYuOCAwIDkuNiAyNS42IDIwLjggNDAgNzIgMTIuOCA0OS42IDAgNzMuNi02LjQgODB6IiBmaWxsPSIjMDhCOUZGIiBwLWlkPSI0MjU3Ij48L3BhdGg+Cjwvc3ZnPg=="},Aa1r:function(t,e){},FsrC:function(t,e){},HJuq:function(t,e){},NHnr:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=a("7+uW"),s={render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"div_main"},[e("div",{staticClass:"div_background"},[e("div",{attrs:{id:"stars"}}),this._v(" "),e("div",{attrs:{id:"stars2"}}),this._v(" "),e("div",{attrs:{id:"stars3"}})])])}]};var n={name:"App",components:{comBackground:a("VU/8")({name:"component-background"},s,!1,function(t){a("Aa1r")},"data-v-2124d9df",null).exports}},r={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{attrs:{id:"app"}},[e("router-view"),this._v(" "),e("comBackground")],1)},staticRenderFns:[]};var o=a("VU/8")(n,r,!1,function(t){a("b5pf")},null,null).exports,c=a("/ocq"),l="https://universezy.github.io/",g="https://universezy.github.io/universezy/dist/index.html#/",d="http://connect.qq.com/widget/shareqq/index.html",u="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey",m=["Android","iPhone"],p=function(){return"./static/bio/bio.md"},h=function(t){return"./static/blog/"+t+".md"},M={getRedirectUrl:function(t){return l+"?blog$"+t},getPageUrl:function(t){var e=m.indexOf(navigator.userAgent);return null===t?g+"blog":g+(e?"blog/wapDisplay/":"blog/display/")+t}},v={getRedirectUrl:function(t){return l+"?category$"+t},getPageUrl:function(t){return null===t?g+"category":g+"blog/category/"+t}},y={getRedirectUrl:function(t){return l+"?column$"+t},getPageUrl:function(t){return null===t?g+"column":g+"blog/column/"+t}},f={getLogoUrl:function(){return"https://raw.githubusercontent.com/universezy/universezy.github.io/master/universezy/dist/static/logo.png"},getBannerUrl:function(t){return"./static/banner/"+t+".jpg"},getCategoryUrl:function(t){return"./static/category/"+t+".png"},getFavorite:function(t){return"./static/favorite/"+t+".jpg"}},b=function(t){var e=d+"?url="+M.getRedirectUrl(t.id)+"&pics="+f.getLogoUrl()+"&title="+t.title+"&summary="+t.abstract;return encodeURI(e)},I=function(t){var e=u+"?url="+M.getRedirectUrl(t.id)+"&pics="+f.getLogoUrl()+"&title="+t.title+"&summary="+t.abstract;return encodeURI(e)},C=function(t){var e="http://service.weibo.com/share/share.php?url="+M.getRedirectUrl(t.id)+"&pic="+f.getLogoUrl()+"&title="+t.title+"&content=utf-8";return encodeURI(e)},T=function(t){var e=d+"?url="+t.url+"&pics="+t.src+"&title="+t.title+"&summary="+t.desc;return encodeURI(e)},N=function(t){var e=u+"?url="+t.url+"&pics="+t.src+"&title="+t.title+"&summary="+t.desc;return encodeURI(e)},j=function(t){var e="http://service.weibo.com/share/share.php?url="+t.url+"&pic="+t.src+"&title="+t.title+"&content=utf-8";return encodeURI(e)},D=a("MJLE"),A=a.n(D),w={name:"component-share",props:{showData:{type:Object,default:function(){return{title:"null",src:"",desc:null}}},shareData:{type:Object,default:function(){return{title:"null",src:"",url:"",desc:null}}},show:{type:Number,default:0}},data:function(){return{qrcodeId:""+(new Date).getTime(),propShowData:this.showData,propShareData:this.shareData,propShow:!1,qrcode:null}},mounted:function(){this.createQrcode()},destroy:function(){null!==this.qrcode&&(this.qrcode.clear(),this.qrcode=null)},watch:{show:function(){this.propShow=!0}},methods:{createQrcode:function(){this.qrcode=new A.a(this.qrcodeId,{text:this.propShareData.qrcode,width:100,height:100,colorDark:"#17233d",colorLight:"#f8f8f9",correctLevel:A.a.CorrectLevel.H})},clickOk:function(){this.propShow=!1},clickCancel:function(){this.propShow=!1},shareToQQ:function(){var t=T(this.propShareData);window.open(t)},shareToQZone:function(){var t=N(this.propShareData);window.open(t)},shareToWeibo:function(){var t=j(this.propShareData);window.open(t)}}},L={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("Modal",{attrs:{title:t.propShowData.title,"class-name":"vertical-center-modal"},on:{"on-ok":t.clickOk,"on-cancel":t.clickCancel},model:{value:t.propShow,callback:function(e){t.propShow=e},expression:"propShow"}},[i("div",{staticClass:"div_container"},[i("Row",[i("div",{staticClass:"div_share"},[i("Tooltip",{attrs:{placement:"bottom","max-width":"200"}},[i("span",{staticClass:"span_qrcode",attrs:{slot:"content"},slot:"content"},[t._v("Wechat Scan")]),t._v(" "),i("img",{staticClass:"img_share",attrs:{src:a("iptE")}})])],1),t._v(" "),i("div",{staticClass:"div_share"},[i("img",{staticClass:"img_share",attrs:{src:a("7t+U")},on:{click:t.shareToQQ}})]),t._v(" "),i("div",{staticClass:"div_share"},[i("img",{staticClass:"img_share",attrs:{src:a("Yp1N")},on:{click:t.shareToQZone}})]),t._v(" "),i("div",{staticClass:"div_share"},[i("img",{staticClass:"img_share",attrs:{src:a("sLPV")},on:{click:t.shareToWeibo}})])]),t._v(" "),i("Divider"),t._v(" "),i("Row",[i("div",{staticClass:"shareQrCode",attrs:{id:t.qrcodeId}})])],1)])},staticRenderFns:[]};var _=a("VU/8")(w,L,!1,function(t){a("PI++")},"data-v-af7a81c0",null).exports,S=["home","biography","blog","favorite","friendlink","about","share"],O={name:"component-base",components:{comShare:_},props:{active:{type:String,default:S[0],validator:function(t){return-1!==S.indexOf(t)}}},data:function(){return{propActive:this.active,isCollapsed:this.$store.state.GlobalState.isCollapsed,navList:[{name:"home",icon:"md-home",desc:"Home"},{name:"biography",icon:"md-person",desc:"Biography"},{name:"blog",icon:"md-document",desc:"Blog"},{name:"favorite",icon:"md-bookmark",desc:"Favorite"},{name:"friendlink",icon:"md-link",desc:"Friend"},{name:"about",icon:"md-information-circle",desc:"About"},{name:"share",icon:"md-share-alt",desc:"Share"}],navOthers:[{desc:"Github",link:"https://github.com/universezy",icon:"logo-github"},{desc:"CSDN",link:"https://blog.csdn.net/zy13608089849",icon:"ios-link"},{desc:"Email",link:"http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=VWRnZGZtZGFnZmcVJCR7Njo4",icon:"md-mail"}],author:"进击的小宇宙",desc:"universezy",sign:"Too young too simple, sometimes naive.",showShareModal:0,showData:{title:"",src:"",abstract:null},shareData:{title:"",src:"",url:"",abstract:null}}},watch:{isCollapsed:function(){this.$store.dispatch("changeSider",this.isCollapsed)}},computed:{imgClass:function(){return this.isCollapsed?"img_avatar":"img_avatar_large"},menuitemClasses:function(){return["menu-item",this.isCollapsed?"collapsed-menu":""]}},created:function(){document.body.scrollTop=0,document.documentElement.scrollTop=0,document.title=this.$store.state.GlobalData.title,this.loadShareModal()},methods:{loadShareModal:function(){this.showData={title:"分享 Github Pages ["+this.$store.state.GlobalData.title+"]",src:f.getLogoUrl,desc:this.sign},this.shareData={title:"分享 Github Pages ["+this.$store.state.GlobalData.title+"]",src:f.getLogoUrl,url:l,desc:this.sign,qrcode:l}},clickNav:function(t){"share"===t?this.showShareModal++:this.$router.push("/"+t)}}},z={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"layout"},[i("Layout",{staticClass:"layout_base"},[i("Sider",{staticClass:"sider_base",attrs:{collapsible:"","collapsed-width":78},model:{value:t.isCollapsed,callback:function(e){t.isCollapsed=e},expression:"isCollapsed"}},[i("Row",{staticClass:"row_avator"},[i("Card",{staticStyle:{width:"auto"}},[i("div",{staticStyle:{"text-align":"center"}},[i("img",{class:t.imgClass,attrs:{src:a("7Otq")}}),t._v(" "),i("transition",{attrs:{name:"slide-fade"}},[i("Row",{directives:[{name:"show",rawName:"v-show",value:!t.isCollapsed,expression:"!isCollapsed"}],staticClass:"row_nav"},[i("h3",[t._v(t._s(t.desc))])])],1)],1)])],1),t._v(" "),i("Row",[i("Menu",{class:t.menuitemClasses,attrs:{theme:"dark",width:"auto","active-name":t.propActive},on:{"on-select":t.clickNav}},t._l(t.navList,function(e){return i("MenuItem",{key:e.name,attrs:{name:e.name}},[i("Icon",{attrs:{type:e.icon,size:"18"}}),t._v(" "),i("span",{staticClass:"span_nav"},[t._v(t._s(e.desc))])],1)}),1)],1),t._v(" "),i("Divider"),t._v(" "),i("Row",{staticClass:"row_nav"},t._l(t.navOthers,function(t){return i("Tooltip",{key:t.desc,attrs:{placement:"top",content:t.desc}},[i("a",{attrs:{href:t.link,target:"_blank"}},[i("span",{staticClass:"span_nav"},[i("Icon",{attrs:{type:t.icon,size:"20"}})],1)])])}),1),t._v(" "),i("Divider"),t._v(" "),i("transition",{attrs:{name:"slide-fade"}},[i("Row",{directives:[{name:"show",rawName:"v-show",value:!t.isCollapsed,expression:"!isCollapsed"}],staticClass:"row_nav"},[i("span",{staticClass:"span_nav"},[t._v("2018-2020 © ZengYu")])])],1),t._v(" "),i("transition",{attrs:{name:"slide-fade"}},[i("Row",{directives:[{name:"show",rawName:"v-show",value:!t.isCollapsed,expression:"!isCollapsed"}],staticClass:"row_nav"},[i("a",{attrs:{href:"https://github.com/universezy/universezy.github.io",target:"_blank"}},[i("span",{staticClass:"span_nav"},[i("Icon",{attrs:{type:"logo-github",size:"16"}}),t._v(" universezy.github.io\n            ")],1)])])],1)],1),t._v(" "),i("Layout",[i("Content",{staticClass:"content_base"},[t._t("default")],2)],1)],1),t._v(" "),i("BackTop"),t._v(" "),i("comShare",{attrs:{show:t.showShareModal,showData:t.showData,shareData:t.shareData}})],1)},staticRenderFns:[]};var x=a("VU/8")(O,z,!1,function(t){a("ODyI")},"data-v-3362c8ba",null).exports,k=function(t){return"/blog/tab/"+t},U=function(t){return"/blog/category/"+t},E=function(t){return"/blog/column/"+t},R=function(t){return"/blog/tag/"+encodeURI(t)},Q=function(t){return"/blog/display/"+t},V={name:"component-microblog",props:{microblog:{type:Object,default:function(){return{id:0,category:"null",title:"null",tags:[],abstract:"null",timestamp:1545613813626}},validator:function(t){return null!==t}},wide:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!1}},data:function(){return{propMicroblog:this.microblog,propShowIcon:this.showIcon}},computed:{imgSrc:function(){return f.getCategoryUrl(this.propMicroblog.category)},abstractClassed:function(){return["row_microblog",this.wide?"":"row_abstract"]}},methods:{clickCategory:function(){this.$router.push(U(this.propMicroblog.category))},clickTitle:function(){this.$router.push(Q(this.propMicroblog.id))},clickTag:function(t){this.$router.push(R(t))}}},B={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("Card",[a("div",{staticClass:"div_title",attrs:{slot:"title"},slot:"title"},[t.propShowIcon?a("img",{staticClass:"img_category",attrs:{src:t.imgSrc},on:{click:t.clickCategory}}):t._e(),t._v(" "),a("span",{staticClass:"span_title",on:{click:t.clickTitle}},[a("b",[t._v(t._s(t.propMicroblog.title))])])]),t._v(" "),a("Row",{staticClass:"row_microblog"},t._l(t.propMicroblog.tags,function(e){return a("Tag",{key:e.tag,attrs:{color:"primary"}},[a("span",{on:{click:function(a){return t.clickTag(e.tag)}}},[t._v(t._s(e.tag))])])}),1),t._v(" "),a("Row",{class:t.abstractClassed},[a("div",[t._v(t._s(t.propMicroblog.abstract))])]),t._v(" "),a("Row",{staticClass:"row_time"},[a("Time",{attrs:{time:t.propMicroblog.timestamp,type:"date"}})],1)],1)},staticRenderFns:[]};var G=a("VU/8")(V,B,!1,function(t){a("llcT")},"data-v-65a4ee58",null).exports,Y={display:!0,title:"招聘信息",desc:"鹅厂内推，欢迎邮件投递。"},P={banners:[{id:"ThinkingOfInternship",title:"浅谈这半年的实习感想"},{id:"SummaryOfCampusRecruit",title:"大四秋招总结"},{id:"ExperienceOfWriting",title:"记录一些博客写作心得"},{id:"SummaryOfUniversity",title:"回顾大学四年"},{id:"CognitionOfIndustry",title:"我能为IT行业做什么"},{id:"SummaryOf2018",title:"2018年总结"},{id:"SummaryOf2019",title:"2019——充实的一年"},{id:"ComprehensionOfWork",title:"漫谈对工作的看法"}]},F={blogs:[{id:"Openlayers3Cluster",category:"JavaScript",title:"Openlayer3学习心得之Cluster",tags:[{tag:"Openlayers"},{tag:"Cluster"},{tag:"GIS"}],abstract:"最近在学习开源地图引擎——Openlayers3，将自己的一些学习心得分享出来，第一次写文章，望支持。",timestamp:1493198368e3},{id:"Openlayers3LineString",category:"JavaScript",title:"Openlayer3学习心得之LineString",tags:[{tag:"Openlayers"},{tag:"LineString"},{tag:"GIS"}],abstract:"分享我使用LineString的过程。",timestamp:1493201697e3},{id:"SolutionOfPackingJar",category:"Java",title:"关于jar打包时的几个问题的汇总",tags:[{tag:"jar"},{tag:"打包"},{tag:"solution"}],abstract:"jar打包时容易出现的一些问题和解决方案。",timestamp:1495587995e3},{id:"ThinkingOfInternship",category:"Thinking",title:"浅谈这半年的实习感想",tags:[{tag:"实习"},{tag:"感想"}],abstract:"谨以此文告诫刚满二十一岁的自己，同时勉励还在迷茫的朋友。",timestamp:1499338541e3},{id:"ComparisonOf4MsgTypes",category:"Android",title:"Android四种常用的消息传递机制/模式的比较",tags:[{tag:"callback"},{tag:"Handler-Message"},{tag:"Broadcast Receiver"},{tag:"Observer-Subject"}],abstract:"四种分别是callback interface，handler-message，broadcast receiver和observer-subject。",timestamp:1499424712e3},{id:"NotesOfJava",category:"Java",title:"Java学习笔记",tags:[{tag:"学习笔记"}],abstract:"本文记录一些学习Java过程中觉得重要的笔记，不定期更新扩充。如有错误，欢迎指正。",timestamp:1503843953e3},{id:"SummaryOfCampusRecruit",category:"Thinking",title:"大四秋招总结",tags:[{tag:"校招"},{tag:"总结"}],abstract:"经历秋招，才知道找工作多么难，竞争多么激烈，现实多么残酷。当然，如果你足够优秀，这些问题都不存在的。尽管秋招已经快收尾了，但是对于明年春招和今后秋招的同学，也算是一个参考吧。",timestamp:150762513e4},{id:"SolutionOfUbuntu1",category:"Ubuntu",title:'Ubuntu"无法连接到 Upstart: Failed to connect to socket /com/ubuntu/upstart: 拒绝连接"的解决方案',tags:[{tag:"16.04 LTS"},{tag:"系统升级"},{tag:"solution"}],abstract:"无法连接到 Upstart: Failed to connect to socket /com/ubuntu/upstart: 拒绝连接",timestamp:1516071553e3},{id:"SolutionOfUbuntu2",category:"Ubuntu",title:'Ubuntu升级到16.04后出现"Failed to start Load Kernel Modules"问题的解决方案',tags:[{tag:"16.04 LTS"},{tag:"系统升级"},{tag:"solution"}],abstract:"Failed to start Load Kernel Modules",timestamp:1516072363e3},{id:"NW_jsBuildWebApp",category:"NW.js",title:"Ubuntu环境下使用NW.js对web应用封装",tags:[{tag:"Ubuntu"},{tag:"Hybrid App"}],abstract:"通过两个Demo来引出后面的教程——使用NW.js来封装你想要的Web应用。",timestamp:1516152179e3},{id:"SolutionOfUbuntu3",category:"Ubuntu",title:'Ubuntu更新软件时报"http://cn.archive.ubuntu.com/ubuntu"相关错误的解决方案',tags:[{tag:"更新软件"},{tag:"solution"}],abstract:"无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/xxx  连接失败 [IP: *****]]",timestamp:1516266498e3},{id:"ConfigEnvVarOnUbuntu",category:"Ubuntu",title:"Ubuntu设置系统环境变量",tags:[{tag:"环境变量"}],abstract:"以java环境变量为例介绍Ubuntu下设置系统环境变量的方法。",timestamp:1516269846e3},{id:"ThunderbirdOnUbuntu",category:"Ubuntu",title:"Ubuntu下使用Thunderbird收发QQ邮箱",tags:[{tag:"Thunderbird"},{tag:"email"}],abstract:"介绍Ubuntu下使用Thunderbird收发QQ邮箱的方法。",timestamp:1517211787e3},{id:"SolutionOfHTML1",category:"HTML",title:"HTML的标签中嵌套HTML标签时被解析的解决方案",tags:[{tag:"HTML标签"},{tag:"<pre>标签"},{tag:"转义"}],abstract:"HTML的标签中嵌套HTML标签时被解析",timestamp:1517978827e3},{id:"SolutionOfHTML2",category:"HTML",title:"HTML中保留转义字符的方法",tags:[{tag:"HTML标签"},{tag:"<pre>标签"},{tag:"转义"}],abstract:"介绍HTML中保留转义字符的方法。",timestamp:1517987174e3},{id:"CampusRecruitNotesOfAndroid",category:"Android",title:"Android校招面试知识点整理",tags:[{tag:"校招"},{tag:"面试整理"}],abstract:"整理的一些Android校招面试知识点。",timestamp:1518017791e3},{id:"DomLoading",category:"JavaScript",title:"使用DOM实现批量化布局装载的动态加载网页",tags:[{tag:"DOM"}],abstract:"介绍DOM动态加载网页。",timestamp:1518172042e3},{id:"WebBanner",category:"JavaScript",title:"css+js实现banner图片轮播",tags:[{tag:"banner"}],abstract:"介绍css+js实现banner图片轮播。",timestamp:1519356097e3},{id:"ComparisonOf3ColsLayout",category:"CSS",title:"固比固三栏式布局对比",tags:[{tag:"三栏式布局"},{tag:"圣杯布局"},{tag:"双飞翼布局"}],abstract:"介绍传统布局、圣杯布局、双飞翼布局的对比。",timestamp:1519455952e3},{id:"SolutionOfNPM1",category:"NPM",title:"使用npm安装vue时报\"no such file or directory, open 'xxx\\package.json'\"的解决方案",tags:[{tag:"vue"},{tag:"solution"}],abstract:"no such file or directory, open 'xxx\\package.json'",timestamp:1519628387e3},{id:"SolutionOfAndroid1",category:"Android",title:'AS启动时报"Please check your firewall settings and restart Android Studio"的解决方案',tags:[{tag:"Android Studio"},{tag:"solution"}],abstract:"Please check your firewall settings and restart Android Studio",timestamp:1519652663e3},{id:"SolutionOfNPM2",category:"NPM",title:"Ubuntu下安装淘宝npm镜像后出现\"未找到 'cnpm' 命令\"问题的解决方案",tags:[{tag:"Ubuntu"},{tag:"镜像"},{tag:"solution"}],abstract:"未找到 'cnpm' 命令",timestamp:1519789151e3},{id:"SolutionOfVue_js1",category:"Vue.js",title:"v-for报\"Elements in iteration expect to have 'v-bind:key' directives\"错误的解决方案",tags:[{tag:"v-for"},{tag:"solution"}],abstract:"Elements in iteration expect to have 'v-bind:key' directives",timestamp:1520234464e3},{id:"SolutionOfGit1",category:"Git",title:'git push时报"error: src refspec master does not match any."的解决方案',tags:[{tag:"push"},{tag:"solution"}],abstract:"error: src refspec master does not match any.",timestamp:1520327694e3},{id:"GitAddOrigin",category:"Git",title:"git将本地仓库上传到远程仓库",tags:[{tag:"上传"},{tag:"add origin"}],abstract:"介绍git将本地仓库上传到远程仓库的方法。",timestamp:152032873e4},{id:"GitPushOrigin",category:"Git",title:"git将本地仓库同步到远程仓库",tags:[{tag:"同步"},{tag:"push origin"}],abstract:"介绍git将本地仓库同步到远程仓库的方法。",timestamp:1520329252e3},{id:"ExperienceOfWriting",category:"Thinking",title:"记录一些博客写作心得",tags:[{tag:"博客"},{tag:"心得"}],abstract:"本文主要讲述一些平时写作过程中和查询资料时遇到的问题。",timestamp:1520755185e3},{id:"SolutionOfVue_js2",category:"Vue.js",title:'使用iView时报"Parsing error: x-invalid-end-tag"错误的解决方案',tags:[{tag:"iView"},{tag:"tag"},{tag:"solution"}],abstract:"Parsing error: x-invalid-end-tag",timestamp:1520942516e3},{id:"SolutionOfJavaScript1",category:"JavaScript",title:"使用JSON序列化实现伪深克隆时Date对象时区问题的解决方案",tags:[{tag:"json"},{tag:"序列化"},{tag:"克隆"},{tag:"Date"},{tag:"时区"},{tag:"solution"}],abstract:"介绍深克隆Date对象时的问题。",timestamp:1521528873e3},{id:"PdfTipsOnUbuntu",category:"Ubuntu",title:"Ubuntu下图片转pdf和pdf合并",tags:[{tag:"pdf"},{tag:"图片转pdf"},{tag:"pdf合并"}],abstract:"介绍Ubuntu下图片转pdf和pdf合并的方法。",timestamp:1522143961e3},{id:"ConfigMavenOnUbuntu",category:"Ubuntu",title:"Ubuntu下Maven的配置",tags:[{tag:"Maven"}],abstract:"本文以Ubuntu16.04LTS为例，介绍Maven的下载配置过程。",timestamp:1522209073e3},{id:"ConfigTomcatOnUbuntu",category:"Ubuntu",title:"Ubuntu下搭建Tomcat服务器",tags:[{tag:"Tomcat"}],abstract:"本文以Ubuntu16.04LTS为例，介绍Tomcat的下载配置过程。",timestamp:1522227981e3},{id:"ModifyCharsetOnMySQL",category:"SQL",title:"MySQL修改表中字段编码格式",tags:[{tag:"MySQL"},{tag:"编码格式"}],abstract:"介绍MySQL修改表中字段编码格式的方法",timestamp:1522393455e3},{id:"ConfigLanguageOfGit",category:"Git",title:"Github设置仓库语言",tags:[{tag:"Github"},{tag:"仓库语言"},{tag:"gitattributes"}],abstract:"介绍Github设置仓库语言的方法",timestamp:152239506e4},{id:"SetPermissionOnUbuntu",category:"Ubuntu",title:"Ubuntu修改目录下所有内容权限",tags:[{tag:"权限"},{tag:"chmod"}],abstract:"介绍Ubuntu修改目录下所有内容权限的方法",timestamp:1522725897e3},{id:"MavenBuildJavaWeb",category:"Maven",title:"使用Maven构建Java Web工程的教程",tags:[{tag:"Java Web"}],abstract:"本文使用Ubuntu16.04LTS操作系统+Eclipse集成开发环境+Tomcat服务器，通过Maven构建Java Web工程。",timestamp:1522765545e3},{id:"SolutionOfJava1",category:"Java",title:'Java Web工程中index.jsp报"javax.servlet.http.HttpServlet"错误的解决方案',tags:[{tag:"Java Web"},{tag:"index.jsp"},{tag:"servlet"},{tag:"solution"}],abstract:"javax.servlet.http.HttpServlet",timestamp:152280998e4},{id:"SolutionOfSpring1",category:"Spring",title:"SpringMVC下后端返回前端出现中文乱码的解决方案",tags:[{tag:"SpringMVC"},{tag:"中文乱码"},{tag:"solution"}],abstract:"后端返回前端出现中文乱码",timestamp:1523187162e3},{id:"SolutionOfSpring2",category:"Spring",title:'Spring工程中JDBC抛出"EmptyResultDataAccessException"异常的解决方案',tags:[{tag:"JDBC"},{tag:"JdbcTemplate"},{tag:"solution"}],abstract:"EmptyResultDataAccessException",timestamp:1523411038e3},{id:"SolutionOfJava2",category:"Java",title:'Java Web工程报"Invalid character found in the request target"错误的解决方案',tags:[{tag:"Java Web"},{tag:"http"},{tag:"urlencode"},{tag:"solution"}],abstract:"Invalid character found in the request target",timestamp:1523499087e3},{id:"SolutionOfSpring3",category:"Spring",title:"SpringMVC工程解决\"CORS 头缺少 'Access-Control-Allow-Origin'\"问题",tags:[{tag:"SpringMVC"},{tag:"Java Web"},{tag:"CORS"},{tag:"solution"}],abstract:"CORS 头缺少 'Access-Control-Allow-Origin'",timestamp:1523608836e3},{id:"SolutionOfSpring4",category:"Spring",title:"SpringMVC解决无法接收PUT请求的问题",tags:[{tag:"SpringMVC"},{tag:"http"},{tag:"PUT"},{tag:"solution"}],abstract:"无法接收PUT请求",timestamp:1524126091e3},{id:"SpringTeaching1",category:"Spring",title:"Spring快速上手攻略之搭建后端web工程(一)",tags:[{tag:"SpringMVC"},{tag:"Java Web"}],abstract:"本文讲述作者初学Spring时经历的痛苦和折磨，以及发誓要整理出本文来帮助初学Spring开发后端的朋友，同时分享一些心得体会。",timestamp:1524186781e3},{id:"SpringTeaching2",category:"Spring",title:"Spring快速上手攻略之搭建后端web工程(二)",tags:[{tag:"SpringMVC"},{tag:"Java Web"}],abstract:"Chapter 1 —— 吐槽网上教程。",timestamp:1524186781e3},{id:"SpringTeaching3",category:"Spring",title:"Spring快速上手攻略之搭建后端web工程(三)",tags:[{tag:"SpringMVC"},{tag:"Java Web"}],abstract:"Chapter 2 —— 准备工作。",timestamp:1524186781e3},{id:"SpringTeaching4",category:"Spring",title:"Spring快速上手攻略之搭建后端web工程(四)",tags:[{tag:"SpringMVC"},{tag:"Java Web"}],abstract:"Chapter 3 —— 认识IoC",timestamp:1524186781e3},{id:"SpringTeaching5",category:"Spring",title:"Spring快速上手攻略之搭建后端web工程(五)",tags:[{tag:"SpringMVC"},{tag:"Java Web"}],abstract:"Chapter 4 —— 剖析SpringMVC架构",timestamp:1524186781e3},{id:"SpringTeaching6",category:"Spring",title:"Spring快速上手攻略之搭建后端web工程(六)",tags:[{tag:"SpringMVC"},{tag:"Java Web"}],abstract:"Chapter 5 —— 编写工程",timestamp:1524186781e3},{id:"SpringTeaching7",category:"Spring",title:"Spring快速上手攻略之搭建后端web工程(七)",tags:[{tag:"SpringMVC"},{tag:"Java Web"}],abstract:"Chapter 6 —— 后记",timestamp:1524186781e3},{id:"SolutionOfPackingVue_js",category:"Vue.js",title:"Vue.js打包静态网页出现空白或路径错误的问题解决方案",tags:[{tag:"打包"},{tag:"路径错误"},{tag:"solution"}],abstract:"Vue.js打包静态网页出现空白或路径错误",timestamp:1524464227e3},{id:"SummaryOfUniversity",category:"Thinking",title:"回顾大学四年 ",tags:[{tag:"大学"},{tag:"总结"}],abstract:"时光匆匆，短暂的四年大学生涯就这么结束了，花了一些时间整理一下。",timestamp:152873316e4},{id:"GetScreenSizeOnAndroid",category:"Android",title:"Android获取屏幕宽高",tags:[{tag:"屏幕"},{tag:"宽高"}],abstract:"介绍Android获取屏幕宽高的方法。",timestamp:1531214818e3},{id:"SolutionOfAndroid2",category:"Android",title:'Android使用MediaRecorder的stop方法报"stop failed"错误的解决方案',tags:[{tag:"MediaRecorder"},{tag:"stop"},{tag:"solution"}],abstract:"stop failed",timestamp:1532603685e3},{id:"SolutionOfAndroid3",category:"Android",title:'Android代码混淆时报错"transformClassesAndResourcesWithProguardForRelease"的解决方案',tags:[{tag:"混淆"},{tag:"solution"}],abstract:"transformClassesAndResourcesWithProguardForRelease",timestamp:1533609812e3},{id:"SolutionOfAndroid4",category:"Android",title:'Android Studio编译AIDL文件时报"finished with non-zero exit value 1"错误的解决方案',tags:[{tag:"Android Studio"},{tag:"AIDL"},{tag:"solution"}],abstract:"finished with non-zero exit value 1",timestamp:1534240924e3},{id:"GetCallingPkgOnAndroid",category:"Android",title:"Android获取接口调用者的包名",tags:[{tag:"调用者"},{tag:"包名"}],abstract:"介绍Android获取接口调用者的包名的方法。",timestamp:1536202874e3},{id:"RegisterAndroidDeviceOnUbuntu",category:"Android",title:"Ubuntu下注册Android设备",tags:[{tag:"注册usb"},{tag:"adb"}],abstract:"介绍Ubuntu下注册Android设备的方法。",timestamp:1536655489e3},{id:"DeadCycleOnJava",category:"Java",title:"Java中的for(;;)和while(true)",tags:[{tag:"for(;;)"},{tag:"while(true)"}],abstract:"介绍Java中的for(;;)和while(true)的区别。",timestamp:1536723838e3},{id:"ThreadSafeInDCLOnJava",category:"Java",title:"Java单例模式中双检锁的线程安全问题",tags:[{tag:"单例模式"},{tag:"双检锁"},{tag:"线程安全"},{tag:"指令重排序"},{tag:"原子操作"},{tag:"synchronized"},{tag:"volatile"}],abstract:"介绍Java单例模式中双检锁的线程安全问题。",timestamp:153690878e4},{id:"AdbModifyHosts",category:"Android",title:"使用adb修改手机hosts文件",tags:[{tag:"adb"},{tag:"hosts"}],abstract:"介绍使用adb修改手机hosts文件的方法。",timestamp:1537944342e3},{id:"PriorityOfSingleInstanceAndTaskAffinity",category:"Android",title:"Android中singleInstance和taskAffinity的优先级",tags:[{tag:"singleInstance"},{tag:"taskAffinity"},{tag:"优先级"}],abstract:"介绍Android中singleInstance和taskAffinity的优先级。",timestamp:1539154585e3},{id:"4ReferencesOnJava",category:"Java",title:"Java四种引用方式",tags:[{tag:"强引用"},{tag:"软引用"},{tag:"弱引用"},{tag:"虚引用"}],abstract:"介绍Java的四种引用方式。",timestamp:1540201166e3},{id:"ComparisonOfArrayListAndLinkedList",category:"Java",title:"ArrayList和LinkedList的效率对比",tags:[{tag:"ArrayList"},{tag:"LinkedList"}],abstract:"介绍ArrayList和LinkedList的效率对比",timestamp:154035055e4},{id:"DangerOfArrays_asList",category:"Java",title:"当心Arrays.asList()挖的巨坑",tags:[{tag:"Arrays.asList"},{tag:"ArrayList"}],abstract:"介绍Arrays.asList()挖的巨坑。",timestamp:1542266614e3},{id:"GitDeleteOrigin",category:"Git",title:"git删除远程仓库分支",tags:[{tag:"delete origin"}],abstract:"介绍git删除远程仓库分支的方法。",timestamp:1542361122e3},{id:"ConfigMinifyOfGradle",category:"Gradle",title:"Gradle设置代码混淆",tags:[{tag:"混淆"}],abstract:"介绍Gradle设置代码混淆的方法。",timestamp:1542676528e3},{id:"SolutionOfGit2",category:"Git",title:'repo拉取仓库时报"Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle"的解决方案',tags:[{tag:"repo"},{tag:"googlesource"},{tag:"solution"}],abstract:"Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle",timestamp:1543822454e3},{id:"SolutionOfAndroid5",category:"Android",title:'adb调试时报"error:insufficient permissions for device"的解决方案',tags:[{tag:"adb"},{tag:"solution"}],abstract:"error:insufficient permissions for device",timestamp:1544060959e3},{id:"SolutionOfVue_js3",category:"Vue.js",title:"Vue.js工程打包静态网页提示CORS问题的解决方案",tags:[{tag:"打包"},{tag:"CORS"},{tag:"solution"}],abstract:"打包静态网页提示CORS",timestamp:1545215279e3},{id:"CognitionOfIndustry",category:"Thinking",title:"我能为IT行业做什么",tags:[{tag:"行业认知"},{tag:"IT"},{tag:"开源"},{tag:"职场感悟"}],abstract:"站在互联网之海前，应具备宽广的胸怀，放眼未来。",timestamp:154539934e4},{id:"Vue_jsUseQrcodejs",category:"Vue.js",title:"Vue.js工程中使用二维码js库qrcodejs",tags:[{tag:"二维码"},{tag:"js"},{tag:"qrcodejs"},{tag:"QRCode.js"}],abstract:"介绍在Vue.js工程中使用二维码js库QRCode.js的使用方法。",timestamp:1546174891e3},{id:"SummaryOf2018",category:"Thinking",title:"2018年终总结",tags:[{tag:"年终"},{tag:"总结"}],abstract:"大学毕业，告别学生时代；正式工作，步入社会，感受生活的酸甜苦辣；旧病复发，开始影响我的工作；失去了一位最亲的人；面临失业潮之下的裁员风波。",timestamp:1546277936141},{id:"RouterModeAndShareOnVue_js",category:"Vue.js",title:"Vue.js中的路由模式和第三方分享问题",tags:[{tag:"router"},{tag:"mode"},{tag:"hash"},{tag:"history"},{tag:"分享"}],abstract:"介绍Vue.js中的两种路由模式：hash和history，并提供第三方分享url问题的解决方案。",timestamp:1546477801968},{id:"CopyDirEfficiently",category:"Java",title:"Queue+FileChannel实现非递归高效率目录拷贝",tags:[{tag:"Queue"},{tag:"FileChannel"},{tag:"非递归"},{tag:"目录拷贝"}],abstract:"本文介绍非递归目录遍历的实现、FileChannel的使用，从而实现非递归的、安全的目录拷贝。",timestamp:1546844984362},{id:"IPCOfMessenger",category:"Android",title:"Android进程间通信之Messenger",tags:[{tag:"IPC"},{tag:"进程间通信"},{tag:"Messenger"}],abstract:"本文介绍Android中的IPC方式之一——Messenger。",timestamp:1546909828953},{id:"IPCOfAIDL",category:"Android",title:"Android进程间通信之AIDL",tags:[{tag:"IPC"},{tag:"进程间通信"},{tag:"AIDL"}],abstract:"本文介绍Android中的IPC方式之一——AIDL。",timestamp:1546931800951},{id:"DynamicShortcut",category:"Android",title:"Android动态创建快捷方式",tags:[{tag:"快捷方式"},{tag:"shortcut"},{tag:"Android O"},{tag:"ShortcutManager"}],abstract:"以Android O为分界，介绍两种动态创建快捷方式的途径：广播和ShortcutManager。",timestamp:1546933429448},{id:"RenderProcessOnView",category:"Android",title:"Android中View的绘制流程",tags:[{tag:"View"},{tag:"绘制流程"},{tag:"invalidate"},{tag:"requestLayout"}],abstract:"介绍Android中View的绘制流程，以及更新视图的两种方法：invalidate和requestLayout。",timestamp:1547191175140},{id:"AsyncMessageOnView",category:"Android",title:"Android中View的异步消息",tags:[{tag:"View"},{tag:"异步消息"},{tag:"post"}],abstract:"介绍Android中View的异步消息，以及消息传递流程。",timestamp:1547436896e3},{id:"EventDispatchOnView",category:"Android",title:"Android中View的事件分发",tags:[{tag:"View"},{tag:"事件分发"},{tag:"消费"},{tag:"拦截"}],abstract:"介绍Android中View的事件分发流程，以及对事件的消费和拦截。",timestamp:1547632071e3},{id:"GitTeachingBasedOnGerrit",category:"Git",title:"基于Gerrit的Git常用命令",tags:[{tag:"Gerrit"}],abstract:"本文介绍日常开发中常用的git命令，从初阶到高阶都有，以及相关git、gerrit原理，以提升协同开发效率。",timestamp:156327531e4},{id:"RecyclerViewUseItemDecoration",category:"Android",title:"RecyclerView使用ItemDecoration绘制分割线",tags:[{tag:"RecyclerView"},{tag:"ItemDecoration"},{tag:"分割线"}],abstract:"本文介绍使用RecyclerView的抽象内部类ItemDecoration实现ItemView分割线的绘制。",timestamp:1564044595e3},{id:"RecyclerViewUseSpanSizeLookup",category:"Android",title:"RecyclerView使用SpanSizeLookup设置Item占位",tags:[{tag:"RecyclerView"},{tag:"SpanSizeLookup"}],abstract:"本文介绍使用栅栏布局管理器的抽象内部类SpanSizeLookup实现Item占位多行或多列的方法。",timestamp:1565754567157},{id:"FunctionalProgramming",category:"Java",title:"Java函数式编程",tags:[{tag:"函数式编程"}],abstract:"本文介绍Java 8新特性之一——函数式编程。",timestamp:1570011688e3},{id:"WindowManagerHandleView",category:"Android",title:"WindowManager操作View源码分析",tags:[{tag:"WindowManager"},{tag:"View"}],abstract:"本文通过源码分析WindowManager的几个重要的操作View的方法：addView，removeView，updateViewLayout等，以及它们隐含的一些风险项。",timestamp:1570097049e3},{id:"SummaryOf2019",category:"Thinking",title:"2019——充实的一年",tags:[{tag:"年终"},{tag:"总结"}],abstract:"回想起一年前的此时，也是坐在电脑前，一边回顾总结，一边感叹时光。物是人非，心态早已是天壤之别。",timestamp:1577726218786},{id:"AndroidPerformanceOfMemory1",category:"Android",title:"Android性能优化之内存优化",tags:[{tag:"性能优化"},{tag:"内存优化"}],abstract:"本章内容基于Android Q，介绍Android性能优化中的内存优化方面，通过排查、检测、规避和表现等四个方面的讲解，让更多的开发者有能力去改善或设计出更优质的程序。",timestamp:1578310912658},{id:"AndroidPerformanceOfMemory2",category:"Android",title:"Android性能优化之内存优化——内存泄漏篇",tags:[{tag:"性能优化"},{tag:"内存优化"},{tag:"内存泄漏"}],abstract:"本文介绍Android开发中的常见内存泄漏场景和解决方案。",timestamp:1578311006725},{id:"AndroidMultiUser",category:"Android",title:"Android多用户适配",tags:[{tag:"多用户"}],abstract:"本文基于Android Q，介绍安卓原生的多用户功能适配相关内容，供开发者学习参考。",timestamp:1579014873222},{id:"StartOfKotlin",category:"Kotlin",title:"浅谈Kotlin入门",tags:[{tag:"入门"}],abstract:"16年，Kotlin官方正式推出该语言第一版，17年，Google倡导开发者使用其作为Android开发的基本语言。",timestamp:1582860315172},{id:"PrincipleAndProcessOfMultiUser",category:"Android",title:"Android多用户原理及流程分析",tags:[{tag:"多用户"}],abstract:"本文基于Android Q，介绍多用户基本原理和流程。",timestamp:1584518034157},{id:"CompatibilityOfDynamicShortcut",category:"Android",title:"Android动态快捷方式兼容性问题",tags:[{tag:"动态快捷方式"},{tag:"ShortcutManager"},{tag:"兼容性"}],abstract:"本文基于Android Q，通过介绍笔者工作中翻过的一次车，讲述Android中的动态快捷方式兼容性处理注意事项。",timestamp:1585528505e3},{id:"AOSPDecoupleIndependentApp",category:"Android",title:"AOSP解耦独立应用总结",tags:[{tag:"AOSP"},{tag:"解耦"},{tag:"编译"},{tag:"Proto"}],abstract:"本文基于Android Q，介绍将AOSP中的仓库解耦为独立应用时的一些疑难点。",timestamp:1585529025e3},{id:"AOSPUpgradeCodebase",category:"Android",title:"AOSP升级codebase疑难总结",tags:[{tag:"AOSP"},{tag:"codebase"}],abstract:"本文讲述笔者在升级codebase时遇到的一些疑难问题和解决思路。",timestamp:1585999096534},{id:"ComprehensionOfWork",category:"Thinking",title:"漫谈对工作的看法",tags:[{tag:"社招"},{tag:"面试"},{tag:"总结"},{tag:"建议"}],abstract:"天下没有不散的宴席，时隔一年，又要离开熟悉的团队熟悉的人，为自己的职业生涯奔波离去。",timestamp:1590332734491},{id:"OpenGL_OOM",category:"Android",title:"OpenGL OOM的解决方案",tags:[{tag:"OpenGL"},{tag:"OOM"},{tag:"Solution"}],abstract:"本文介绍使用OpenGL后引起OOM的一些解决方案。",timestamp:1595599572311},{id:"CommitTemplateByGitHook",category:"Git",title:"使用Git Hook配置提交模板",tags:[{tag:"Hook"},{tag:"Commit"}],abstract:"在开发中，为了规范化提交信息，以便追溯修改和理解修改内容，通常会采用统一的提交信息模板来约束开发人员。因此可以通过配置git，来提升便利性。",timestamp:1597515957623},{id:"HowToMakeGithubPages",category:"Vue.js",title:"Vue.js+Github打造个人网站GithubPages",tags:[{tag:"Github"},{tag:"GithubPages"},{tag:"github.io"}],abstract:"本文介绍如何使用Vue.js开发一个独一无二的GithubPages。",timestamp:1598065740871},{id:"ProgrammerFindsLove",category:"Thinking",title:"程序猿是怎么找对象的",tags:[{tag:"抓包"},{tag:"网络代理"},{tag:"Charles"},{tag:"计算机网络"}],abstract:"本文讲述程序猿通过研究相亲平台学习计算机网络的故事。",timestamp:1598712467798},{id:"SummaryOfWorkStage1",category:"Thinking",title:"回顾头三年职业生涯",tags:[{tag:"总结"},{tag:"职业生涯"},{tag:"感悟"},{tag:"心得"}],abstract:"回顾一下职业生涯近三年，作为生涯第一阶段的总结，分享这段励志的经历，勉励更多迷茫的朋友。",timestamp:1599928549049},{id:"TextView_ActionMode",category:"Android",title:"TextView自定义长按菜单",tags:[{tag:"TextView"},{tag:"ActionMode"}],abstract:"介绍TextView自定义长按菜单的实现方式。",timestamp:1608781150239},{id:"AndroidGesture",category:"Android",title:"Android手势拦补点",tags:[{tag:"手势"},{tag:"拦补点"}],abstract:"介绍Android手势中的高阶操作，以解决手势冲突问题。",timestamp:1611798620574},{id:"ViewInitNPEBelowAndroidM",category:"Android",title:"Android M之前View实例化时报访问成员变量空指针的问题",tags:[{tag:"View"},{tag:"crash"},{tag:"类加载"},{tag:"字节码"},{tag:"solution"}],abstract:"写了四年安卓，我发现我根本不懂Java。",timestamp:1618917956645},{id:"AnimatorIsRunning_WrongState",category:"Android",title:"Android O之前Animator的isRunning判断错误的问题",tags:[{tag:"Animator"},{tag:"动画"}],abstract:"又是SDK的坑。",timestamp:1618918185621},{id:"GLSurfaceViewNoFrame",category:"Android",title:"基于GLSurfaceView的视频播放器偶现无画面的问题分析",tags:[{tag:"GLSurfaceView"},{tag:"Renderer"},{tag:"player"},{tag:"播放器"},{tag:"ijkplayer"}],abstract:"祖传bug终于搞定了！",timestamp:1619616673259},{id:"VapKeepLastFrame",category:"Android",title:"企鹅电竞VAP动画组件停留最后一帧画面",tags:[{tag:"VAP"},{tag:"动画"},{tag:"TextureView"}],abstract:"改造VAP动画组件实现停留最后一帧画面的效果",timestamp:1621249354510},{id:"CustomAndroidCapCmd",category:"Android",title:"自定义Android截屏命令",tags:[{tag:"shell"},{tag:"adb"},{tag:"截屏"}],abstract:"一个命令，完成截图、拷贝两件事。",timestamp:1628153282e3}]},J={name:"home",components:{comBase:x,comMicroBlog:G},data:function(){return{notice:{display:!1},settings:{value:0,autoplay:!0,autoplaySpeed:4e3,loop:!0,dots:"inside",radiusDot:!1,trigger:"click",arrow:"hover"},banners:[],microblogs:[],displaySize:10}},created:function(){if(!this.handleParams()){if(null!==Y&&(this.notice=Y),null!==P.banners&&P.banners.length>0)for(var t=P.banners.length-1;t>=0;t--)this.banners.push(P.banners[t]);if(null!==F.blogs&&F.blogs.length>0)for(var e=F.blogs.length-1,a=0;e>=0&&a<this.displaySize;)this.microblogs.push(F.blogs[e--]),a++}},computed:{mountNotice:function(){return this.notice.display&&this.$store.state.GlobalState.isNoticeShow}},methods:{handleParams:function(){return this.handleRedirect("?blog$",M)||this.handleRedirect("?category$",v)||this.handleRedirect("?column$",y)},handleRedirect:function(t,e){var a=window.location.href,i=a.indexOf(t),s=a.indexOf("#");if(i>0&&s>i){this.$Message.loading("正在打开，请稍后......");var n=a.substring(i+t.length,s);return window.location.href=e.getPageUrl(n),!0}return!1},closeNotice:function(){this.$store.dispatch("closeNotice")},clickBanner:function(t){this.$router.push("/blog/display/"+t)},getImgSrc:function(t){return f.getBannerUrl(t)}}},W={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("comBase",{attrs:{active:"home"}},[a("div",{staticClass:"div_home"},[t.mountNotice?a("Alert",{staticClass:"alert_notice",attrs:{"show-icon":"",banner:"",closable:""},on:{"on-close":t.closeNotice}},[a("span",{staticClass:"span_notice_title"},[t._v(t._s(t.notice.title))]),t._v(" "),a("template",{slot:"desc"},[t._v(t._s(t.notice.desc))])],2):t._e(),t._v(" "),a("Divider",{attrs:{orientation:"left"}},[t._v("Programming Life")]),t._v(" "),a("div",{staticClass:"div_carousel"},[a("div",{staticClass:"div_inner"},[a("Carousel",{attrs:{autoplay:t.settings.autoplay,"autoplay-speed":t.settings.autoplaySpeed,loop:t.settings.loop,dots:t.settings.dots,"radius-dot":t.settings.radiusDot,trigger:t.settings.trigger,arrow:t.settings.arrow},model:{value:t.settings.value,callback:function(e){t.$set(t.settings,"value",e)},expression:"settings.value"}},t._l(t.banners,function(e){return a("CarouselItem",{key:e.id},[a("div",{on:{click:function(a){return t.clickBanner(e.id)}}},[a("img",{staticClass:"img_banner",attrs:{src:t.getImgSrc(e.id),title:e.title}})])])}),1)],1)]),t._v(" "),a("Divider",{attrs:{orientation:"left"}},[t._v("Recent updates")]),t._v(" "),t._l(t.microblogs,function(t){return a("div",{key:t.id,staticClass:"div_microblog"},[a("comMicroBlog",{attrs:{microblog:t,showIcon:""}})],1)})],2)])},staticRenderFns:[]};var H=a("VU/8")(J,W,!1,function(t){a("5Xjg")},"data-v-4cc13fdb",null).exports,$={name:"about",components:{comBase:x}},Z={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("comBase",{attrs:{active:"about"}},[a("div",{staticClass:"div_about"},[a("div",{staticClass:"div_inner"},[a("Card",{attrs:{bordered:!1}},[a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("更新一下UI，wap版式精简。最近忙着总结性能优化相关内容，后续将逐步更新。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_date"},[t._v("2020年01月06日")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("很久没更新内容了，上班很忙，加班多，休息的时候也就不想再用脑。等缓一阵子再更新吧。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_date"},[t._v("2019年04月13日")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("赶在2018年最后一天，修复了几个主要问题，现已正式上线β版本。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_date"},[t._v("2018年12月31日")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("博客导入工作结束，开始修复已知bug并开发新功能。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_date"},[t._v("2018年12月30日")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("今天完成了所有基础功能，非常激动，整体效果不输于一些专业博客网站，分享和评论功能后期陆续开放，请给我点时间。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("这周每天白天上班时抽空写点，中午不吃饭，把时间利用起来，下班回去接着写，一点之前不睡觉，看着项目一点点推进，功能一个个实现，心里非常高兴，成就感就是最大的精神粮食！")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("接下来要花较长时间把过去一年多时间里写的70余篇博客导进来，然后继续维护和增加新功能，主页轮播图bug已经发现了，还没提issue，欢迎读者帮我提上去。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_date"},[t._v("2018年12月29日")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("最近换了Github账号名，因此旧版的github.io无法再使用了，加之旧版视觉上实在是不好看（原谅我的审美），还有就是旧版是通过js的DOM操作实现博客展示，我得预先把每一篇博客手动转html格式，维护起来相当困难，后面也因此没再更新博客上去，借此机会，决定用Vue.js重新设计一个github-page。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("前端框架选用Vue.js，因为三大主流框架我只会这个。UI库选用的iView，整体效果看上去还不错吧（如果对比了我第一版和第二版就知道这第三版简直太棒了！前两版越早越丑）。Markdown库选用的mavon-editor，感谢作者的劳动付出！")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("这个版本最大的难度在于博客文章的处理吧，打算试下网络请求读取仓库里的Markdown文件从而实现动态加载博客，这样的话今后维护起来就轻松多了。然后就是评论功能，由于没有后端支持，想了下干脆和仓库的Issues关联起来，nice！至于最终能达成什么样的效果，心里也没底，大致思路是这样，试试看。")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_about"},[t._v("如果有读者对这个项目感兴趣，欢迎通过左侧导航栏的联系方式或这个仓库的Issues给我留言。如果觉得不错，点个Star，非常感谢！")]),t._v(" "),a("Divider"),t._v(" "),a("span",{staticClass:"span_date"},[t._v("2018年12月25日")])],1)],1)])])},staticRenderFns:[]};var q=a("VU/8")($,Z,!1,function(t){a("frjc")},"data-v-6eff6ad0",null).exports,K=a("mtWM"),X=a.n(K),tt=function(t){return X()({method:"get",url:t,timeout:1e4,withCredentials:!1})},et={name:"biography",components:{comBase:x},data:function(){return{settings:{subfield:!1,defaultOpen:"preview",navigation:!1,boxShadow:!1,previewBackground:"#f9f5f9",toolbarsFlag:!1},bio:"Loading..."}},created:function(){this.load()},methods:{load:function(){if(null!==this.$store.state.GlobalData.bio)this.bio=this.$store.state.GlobalData.bio;else{var t=this;tt(p()).then(function(e){200===e.status?(t.bio=e.data,t.$store.dispatch("saveBio",e.data)):(t.requestFailed(),console.log("response status: "+e.status))}).catch(function(e){console.log(e),t.requestFailed()})}},requestFailed:function(){this.$Message.error("Loading failed, retry later."),this.bio="Loading failed, retry later."}}},at={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("comBase",{attrs:{active:"biography"}},[a("div",{staticClass:"div_biography"},[a("mavon-editor",{staticClass:"markdown",attrs:{subfield:t.settings.subfield,defaultOpen:t.settings.defaultOpen,navigation:t.settings.navigation,boxShadow:t.settings.boxShadow,previewBackground:t.settings.previewBackground,toolbarsFlag:t.settings.toolbarsFlag},model:{value:t.bio,callback:function(e){t.bio=e},expression:"bio"}})],1)])},staticRenderFns:[]};var it=a("VU/8")(et,at,!1,function(t){a("aZqs")},"data-v-32861fb8",null).exports,st=a("ifoU"),nt=a.n(st),rt={columns:[{name:"Thinking",icon:"Thinking",title:"我思故我在",desc:"程序书写人生。",articles:["SummaryOfWorkStage1","ProgrammerFindsLove","ComprehensionOfWork","SummaryOf2019","SummaryOf2018","CognitionOfIndustry","SummaryOfUniversity","ExperienceOfWriting","SummaryOfCampusRecruit","ThinkingOfInternship"]},{name:"AndroidPerformance",icon:"Android",title:"Android性能优化",desc:"介绍Android内存优化和卡顿优化。",articles:["AndroidPerformanceOfMemory1","AndroidPerformanceOfMemory2"]},{name:"Android",icon:"Android",title:"Android进阶之路",desc:"分享一些Android开发过程中的技术心得。",articles:["CustomAndroidCapCmd","VapKeepLastFrame","GLSurfaceViewNoFrame","AndroidGesture","TextView_ActionMode","OpenGL_OOM","AOSPUpgradeCodebase","AOSPDecoupleIndependentApp","CompatibilityOfDynamicShortcut","PrincipleAndProcessOfMultiUser","AndroidMultiUser","WindowManagerHandleView","RecyclerViewUseSpanSizeLookup","RecyclerViewUseItemDecoration","EventDispatchOnView","AsyncMessageOnView","RenderProcessOnView","DynamicShortcut","IPCOfAIDL","IPCOfMessenger","PriorityOfSingleInstanceAndTaskAffinity","GetCallingPkgOnAndroid","GetScreenSizeOnAndroid","CampusRecruitNotesOfAndroid","ComparisonOf4MsgTypes"]},{name:"Java",icon:"Java",title:"探究Java的奥秘",desc:"一代版本一代神，代代都有Java人。",articles:["FunctionalProgramming","CopyDirEfficiently","DangerOfArrays_asList","ComparisonOfArrayListAndLinkedList","4ReferencesOnJava","ThreadSafeInDCLOnJava","DeadCycleOnJava","NotesOfJava"]},{name:"Ubuntu",icon:"Ubuntu",title:"玩转Ubuntu",desc:"介绍一些Ubuntu下的小知识。",articles:["SetPermissionOnUbuntu","PdfTipsOnUbuntu","ThunderbirdOnUbuntu","ConfigEnvVarOnUbuntu"]},{name:"Git",icon:"Git",title:"Git简单应用",desc:"介绍一些入门的git操作。。",articles:["CommitTemplateByGitHook","GitTeachingBasedOnGerrit","GitDeleteOrigin","ConfigLanguageOfGit","GitPushOrigin","GitAddOrigin"]},{name:"Spring",icon:"Spring",title:"SpringMVC入门教程",desc:"Spring Framework快速上手攻略之搭建后端web工程——经历学习Spring的痛苦和折磨后的呕心沥血之作。",articles:["SpringTeaching1","SpringTeaching2","SpringTeaching3","SpringTeaching4","SpringTeaching5","SpringTeaching6","SpringTeaching7"]}]},ot=["all","category","column","tag"],ct={name:"component-overview",components:{comMicroBlog:G},props:{showIcon:{type:Boolean,default:!1},filter:{type:Object,default:function(){return{type:ot[0],value:""}},validator:function(t){return null!==t&&-1!==ot.indexOf(t.type)}},keyword:{type:String,default:"",validator:function(t){return null!==t}}},data:function(){return{originBlogs:[],showBlogs:[],displayBlogs:[],propShowIcon:this.showIcon,propKeyword:this.keyword,settings:{current:1,total:0,size:10}}},created:function(){this.initBlogs()},watch:{keyword:function(){this.propKeyword=this.keyword,this.filterShowByKeyword(),this.updateDisplayBlogs()},filter:function(){this.propKeyword="",this.initBlogs()}},methods:{initBlogs:function(){this.loadOriginBlogs(),this.filterOriginBlogs(),this.filterShowByKeyword(),this.updateDisplayBlogs()},loadOriginBlogs:function(){this.originBlogs=[];for(var t=F.blogs.length-1;t>=0;t--)this.originBlogs.push(F.blogs[t])},filterOriginBlogs:function(){var t=this;if(this.filter.type===ot[0]);else if(this.filter.type===ot[1])this.originBlogs=this.originBlogs.filter(function(e){return e.category===t.filter.value});else if(this.filter.type===ot[2]){var e=rt.columns.find(function(e){return e.name===t.filter.value});e&&e.articles.length>0&&(this.originBlogs=this.originBlogs.filter(function(t){return-1!==e.articles.indexOf(t.id)}))}else this.filter.type===ot[3]&&(this.originBlogs=this.originBlogs.filter(function(e){return e.tags.some(function(e){return e.tag===t.filter.value})}))},filterShowByKeyword:function(){var t=this;this.showBlogs=this.originBlogs.filter(function(e){return null===t.propKeyword||""===t.propKeyword||-1!==e.title.indexOf(t.propKeyword)||-1!==e.abstract.indexOf(t.propKeyword)||e.tags.some(function(e){return e.tag===t.propKeyword})}),this.settings.total=this.showBlogs.length,this.settings.current=1},updateDisplayBlogs:function(){document.body.scrollTop=0,document.documentElement.scrollTop=0,this.displayBlogs=[];for(var t=(this.settings.current-1)*this.settings.size,e=0;e<this.settings.size&&t<this.showBlogs.length;)this.$set(this.displayBlogs,e++,this.showBlogs[t++])},changePage:function(t){this.updateDisplayBlogs()}}},lt={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t._l(t.displayBlogs,function(e){return a("div",{key:e.id,staticClass:"div_microblog"},[a("comMicroBlog",{attrs:{microblog:e,wide:"",showIcon:t.propShowIcon}})],1)}),t._v(" "),a("Page",{attrs:{"class-name":"page_microblog",current:t.settings.current,total:t.settings.total,"page-size":t.settings.size,"show-total":""},on:{"update:current":function(e){return t.$set(t.settings,"current",e)},"on-change":t.changePage}},[a("span",{attrs:{slot:""},slot:"default"},[t._v("Total "+t._s(t.settings.total))])])],2)},staticRenderFns:[]};var gt=a("VU/8")(ct,lt,!1,function(t){a("WweP")},"data-v-13d2d56a",null).exports,dt={name:"component-category",props:{category:{type:Object,default:function(){return{name:"null"}},validator:function(t){return null!==t}}},data:function(){return{propCategory:this.category}},computed:{imgSrc:function(){return f.getCategoryUrl(this.propCategory.name)}}},ut={render:function(){var t=this.$createElement,e=this._self._c||t;return e("Badge",{attrs:{count:this.propCategory.count,type:"warning"}},[e("Card",{staticClass:"card_category"},[e("div",{staticClass:"div_category"},[e("img",{staticClass:"img_category",attrs:{src:this.imgSrc}}),this._v(" "),e("h3",[this._v(this._s(this.propCategory.name))])])])],1)},staticRenderFns:[]};var mt=a("VU/8")(dt,ut,!1,function(t){a("+vHN")},"data-v-aacdc8ca",null).exports,pt={name:"component-column",props:{column:{type:Object,default:function(){return{name:"null",icon:"null",title:"null",desc:"null",articles:[]}},validator:function(t){return null!==t}},wide:{type:Boolean,default:!1}},data:function(){return{propColumn:this.column}},computed:{imgSrc:function(){return f.getCategoryUrl(this.propColumn.icon)}}},ht={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("Card",[a("span",{staticClass:"span_column",attrs:{slot:"title"},slot:"title"},[a("img",{staticClass:"img_column",attrs:{src:t.imgSrc}}),t._v(" "),a("h3",{staticClass:"span_title"},[t._v(t._s(t.propColumn.title))])]),t._v(" "),a("Tag",{attrs:{slot:"extra",color:"warning"},slot:"extra"},[t._v(t._s(t.propColumn.articles.length))]),t._v(" "),a("div",{staticClass:"div_desc"},[a("span",{staticClass:"span_desc"},[t._v(t._s(t.propColumn.desc))])])],1)},staticRenderFns:[]};var Mt=a("VU/8")(pt,ht,!1,function(t){a("FsrC")},"data-v-3d5275ea",null).exports,vt=["primary","success"],yt=["magenta","red","red","volcano","orange","gold","yellow","lime","green","cyan","blue","geekblue","purple","default"],ft={name:"component-tag",props:{tag:{type:Object,default:function(){return{name:"null",count:0}}}},data:function(){return{propTag:this.tag}},computed:{tagColor:function(){if(this.propTag.count>10)return vt[0];if(this.propTag.count>5)return vt[1];var t=Math.floor(Math.random()*yt.length);return yt[t]}},methods:{clickTag:function(){this.$router.push(R(this.propTag.name))}}},bt={render:function(){var t=this.$createElement,e=this._self._c||t;return e("Tag",{attrs:{color:this.tagColor},on:{click:this.clickTag}},[e("span",{on:{click:this.clickTag}},[this._v(this._s(this.propTag.name))])])},staticRenderFns:[]};var It={name:"component-archive",data:function(){return{first:{year:1970,month:1,day:1},archives:[]}},created:function(){var t=this,e=new Date(F.blogs[0].timestamp);this.first={year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate()},F.blogs.forEach(function(e){var a=new Date(e.timestamp),i=a.getFullYear(),s=a.getMonth()+1;t.appendArchive(i,s,e.id,e.title)})},methods:{appendArchive:function(t,e,a,i){var s=!1,n=this.archives.find(function(e){return e.year===t});if(n){s=!0;var r=!1,o=n.details.find(function(t){return t.month===e});if(o){r=!0;var c=this.createArticleItem(a,i);o.articles.push(c),o.count++}if(!r){var l=this.createMonthItem(e,a,i);n.details.push(l)}n.count++}if(!s){var g=this.createYearItem(t,e,a,i);this.archives.push(g)}},createYearItem:function(t,e,a,i){return{year:t,count:1,details:[this.createMonthItem(e,a,i)]}},createMonthItem:function(t,e,a){return{month:t,count:1,articles:[this.createArticleItem(e,a)]}},createArticleItem:function(t,e){return{id:t,title:e}},clickArticle:function(t){this.$router.push(Q(t))}}},Ct={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"div_archive"},[a("Timeline",[a("TimelineItem",{attrs:{color:"green"}},[a("Icon",{attrs:{slot:"dot",type:"ios-trophy",size:"16"},slot:"dot"}),t._v(" "),a("p",{staticClass:"content"},[t._v(t._s(t.first.year)+"年"+t._s(t.first.month)+"月"+t._s(t.first.day)+"日，发布第一篇文章，开始了博客生涯")])],1),t._v(" "),t._l(t.archives,function(e,i){return a("TimelineItem",{key:i},[a("p",{staticClass:"content"},[t._v(t._s(e.year)+"年，共完成了"+t._s(e.count)+"篇博客")]),t._v(" "),a("div",[a("Collapse",{attrs:{simple:""}},t._l(e.details,function(e,i){return a("Panel",{key:i,attrs:{name:""+i}},[a("span",{staticClass:"span_month"},[t._v(t._s(e.month)+"月")]),a("span",{staticClass:"span_count"},[t._v(t._s(e.count)+"篇")]),t._v(" "),a("div",{attrs:{slot:"content"},slot:"content"},t._l(e.articles,function(e,i){return a("p",{key:i,staticClass:"span_article",on:{click:function(a){return t.clickArticle(e.id)}}},[t._v(t._s(e.title))])}),0)])}),1)],1)])}),t._v(" "),a("TimelineItem",[a("p",{staticClass:"content"},[t._v("未完待续")])])],2)],1)},staticRenderFns:[]};var Tt={categories:[{name:"Thinking"},{name:"Android"},{name:"CSS"},{name:"Git"},{name:"Gradle"},{name:"HTML"},{name:"Java"},{name:"JavaScript"},{name:"Kotlin"},{name:"Maven"},{name:"NPM"},{name:"NW.js"},{name:"Spring"},{name:"SQL"},{name:"Ubuntu"},{name:"Vue.js"}]},Nt={name:"blog",components:{comBase:x,comOverview:gt,comCategory:mt,comColumn:Mt,comTag:a("VU/8")(ft,bt,!1,function(t){a("2hhS")},"data-v-4bd4d8c8",null).exports,comArchive:a("VU/8")(It,Ct,!1,function(t){a("WPBj")},"data-v-5b6823dc",null).exports},data:function(){return{tabs:["overview","category","column","tag","archive"],tabValue:"",showSearchView:!0,keyword:"",categories:[],columns:[],tags:[]}},created:function(){var t=this;this.categories=Tt.categories,this.tags=[];var e=new nt.a,a=new nt.a;F.blogs.forEach(function(t){var i=e.get(t.category)||0;e.set(t.category,i+1),t.tags.forEach(function(t){var e=encodeURI(t.tag),i=a.get(e)||0;a.set(e,i+1)})}),this.categories.forEach(function(t){t.count=e.get(t.name)}),e=null,a.forEach(function(e,a,i){t.tags.push({name:decodeURI(a),count:e})}),a=null,this.columns=rt.columns;var i=this.$route.params.tab;this.tabValue=null!==i&&-1!==this.tabs.indexOf(i)?i:this.tabs[0]},watch:{tabValue:function(){this.showSearchView=this.tabValue===this.tabs[0],this.$router.push(k(this.tabValue))}},methods:{getCount:function(t){return this.categoryMap.get(t)},clickCategory:function(t){this.$router.push(U(t))},clickColumn:function(t){this.$router.push(E(t))},search:function(t){this.keyword=t}}},jt={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("comBase",{attrs:{active:"blog"}},[a("div",{staticClass:"div_blog"},[a("Tabs",{attrs:{animated:!1},model:{value:t.tabValue,callback:function(e){t.tabValue=e},expression:"tabValue"}},[a("TabPane",{attrs:{name:"overview",label:"Overview",icon:"md-list-box"}},[a("comOverview",{attrs:{showIcon:"",keyword:t.keyword}})],1),t._v(" "),a("TabPane",{attrs:{name:"category",label:"Category",icon:"ios-archive"}},t._l(t.categories,function(e){return a("div",{key:e.name,staticClass:"div_category",on:{click:function(a){return t.clickCategory(e.name)}}},[a("comCategory",{attrs:{category:e}})],1)}),0),t._v(" "),a("TabPane",{attrs:{name:"column",label:"Column",icon:"md-folder"}},t._l(t.columns,function(e){return a("div",{key:e.name,staticClass:"div_column",on:{click:function(a){return t.clickColumn(e.name)}}},[a("comColumn",{attrs:{column:e}})],1)}),0),t._v(" "),a("TabPane",{attrs:{name:"tag",label:"Tag",icon:"md-pricetags"}},t._l(t.tags,function(t){return a("div",{key:t.tag,staticClass:"div_tag"},[a("comTag",{attrs:{tag:t}})],1)}),0),t._v(" "),a("TabPane",{attrs:{name:"archive",label:"Archive",icon:"md-calendar"}},[a("comArchive")],1),t._v(" "),a("Input",{directives:[{name:"show",rawName:"v-show",value:t.showSearchView,expression:"showSearchView"}],attrs:{slot:"extra",search:"","enter-button":""},on:{"on-search":t.search},slot:"extra"})],1)],1)])},staticRenderFns:[]};var Dt=a("VU/8")(Nt,jt,!1,function(t){a("5M/Q")},"data-v-7d9d8893",null).exports,At={name:"category",components:{comBase:x,comOverview:gt,comShare:_},data:function(){return{showImg:!1,imgSrc:"",propCategory:this.$route.params.category,filter:{type:"category",value:this.$route.params.category},keyword:"",showShareModal:0,showData:{title:"",src:"",abstract:null},shareData:{title:"",src:"",url:"",abstract:null}}},created:function(){this.loadResource()},methods:{loadResource:function(){var t=this,e=Tt.categories.find(function(e){return e.name===t.propCategory});e&&(this.showImg=!0,this.imgSrc=f.getCategoryUrl(this.propCategory),this.showData={title:"分享 博客类别 ["+e.name+"]",src:f.getCategoryUrl(e.name),desc:null},this.shareData={title:"分享 博客类别 ["+e.name+"] - "+this.$store.state.GlobalData.title,src:f.getLogoUrl,url:v.getRedirectUrl(e.name),desc:null,qrcode:v.getPageUrl(e.name)})},clickShare:function(){this.showShareModal++},search:function(t){this.keyword=t}}},wt={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("comBase",{attrs:{active:"blog"}},[a("div",{staticClass:"div_category"},[a("div",{staticClass:"div_head"},[a("Breadcrumb",{staticClass:"breadcrumb_category"},[a("BreadcrumbItem",{attrs:{to:"/blog/tab/category"}},[a("Icon",{attrs:{type:"ios-archive"}}),t._v(" Category\n        ")],1),t._v(" "),a("BreadcrumbItem",[a("div",{staticClass:"div_info"},[t.showImg?a("img",{staticClass:"img_category",attrs:{src:t.imgSrc}}):t._e(),t._v(" "),a("span",[t._v(t._s(t.propCategory))])])])],1),t._v(" "),a("div",{staticClass:"div_search"},[a("Input",{attrs:{slot:"extra",search:"","enter-button":""},on:{"on-search":t.search},slot:"extra"})],1),t._v(" "),a("div",{staticClass:"div_share"},[a("Button",{attrs:{icon:"md-share"},on:{click:t.clickShare}},[t._v("Share")])],1)],1),t._v(" "),a("comOverview",{attrs:{filter:t.filter,keyword:t.keyword}}),t._v(" "),a("comShare",{attrs:{show:t.showShareModal,showData:t.showData,shareData:t.shareData}})],1)])},staticRenderFns:[]};var Lt=a("VU/8")(At,wt,!1,function(t){a("Z0cN")},"data-v-06a6e71e",null).exports,_t={name:"column",components:{comBase:x,comColumn:Mt,comOverview:gt,comShare:_},data:function(){return{dataColumn:null,propColumn:this.$route.params.column,filter:{type:"column",value:this.$route.params.column},keyword:"",showShareModal:0,showData:{title:"",src:"",abstract:null},shareData:{title:"",src:"",url:"",abstract:null}}},created:function(){this.loadResource()},methods:{loadResource:function(){var t=this.propColumn;if(null!==t){var e=rt.columns.find(function(e){return e.name===t});e&&(this.dataColumn=e,this.showData={title:"分享 博客专栏 ["+e.title+"]",src:f.getCategoryUrl(e.name),desc:e.desc},this.shareData={title:"分享 博客专栏 ["+e.title+"] - "+this.$store.state.GlobalData.title,src:f.getLogoUrl,url:y.getRedirectUrl(e.name),desc:e.desc,qrcode:y.getPageUrl(e.name)})}},clickShare:function(){this.showShareModal++},search:function(t){this.keyword=t}}},St={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("comBase",{attrs:{active:"blog"}},[a("div",{staticClass:"div_column"},[a("div",{staticClass:"div_head"},[a("div",{staticClass:"div_breadcrumb"},[a("Breadcrumb",{staticClass:"breadcrumb_column"},[a("BreadcrumbItem",{attrs:{to:"/blog/tab/column"}},[a("Icon",{attrs:{type:"md-folder"}}),t._v(" Column\n          ")],1)],1),t._v(" "),a("div",{staticClass:"div_share"},[a("Button",{attrs:{icon:"md-share"},on:{click:t.clickShare}},[t._v("Share")])],1),t._v(" "),a("div",{staticClass:"div_search"},[a("Input",{attrs:{slot:"extra",search:"","enter-button":""},on:{"on-search":t.search},slot:"extra"})],1)],1),t._v(" "),a("comColumn",{attrs:{column:t.dataColumn,wide:""}})],1),t._v(" "),a("comOverview",{attrs:{filter:t.filter,keyword:t.keyword}}),t._v(" "),a("comShare",{attrs:{show:t.showShareModal,showData:t.showData,shareData:t.shareData}})],1)])},staticRenderFns:[]};var Ot=a("VU/8")(_t,St,!1,function(t){a("nkD/")},"data-v-4c6fdd27",null).exports,zt={name:"tag",components:{comBase:x,comOverview:gt},data:function(){return{propTag:decodeURI(this.$route.params.tag),filter:{type:"tag",value:decodeURI(this.$route.params.tag)},keyword:""}},watch:{$route:function(){this.propTag=decodeURI(this.$route.params.tag),this.filter={type:"tag",value:this.propTag}}},methods:{search:function(t){this.keyword=t}}},xt={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("comBase",{attrs:{active:"blog"}},[a("div",{staticClass:"div_tag"},[a("div",{staticClass:"div_head"},[a("Breadcrumb",{staticClass:"breadcrumb_tag"},[a("BreadcrumbItem",{attrs:{to:"/blog/tab/tag"}},[a("Icon",{attrs:{type:"md-pricetags"}}),t._v(" Tag\n        ")],1),t._v(" "),a("BreadcrumbItem",[a("Tag",{attrs:{color:"error"}},[t._v(t._s(t.propTag))])],1)],1),t._v(" "),a("div",{staticClass:"div_search"},[a("Input",{attrs:{slot:"extra",search:"","enter-button":""},on:{"on-search":t.search},slot:"extra"})],1)],1),t._v(" "),a("comOverview",{attrs:{showIcon:"",filter:t.filter,keyword:t.keyword}})],1)])},staticRenderFns:[]};var kt=a("VU/8")(zt,xt,!1,function(t){a("SVsN")},"data-v-3bc3a9ea",null).exports,Ut=null,Et={name:"display",components:{comBase:x},data:function(){return{settingsMd:{subfield:!1,defaultOpen:"preview",navigation:!1,codeStyle:"xcode",boxShadow:!1,previewBackground:"#f9f5f9",toolbarsFlag:!1,toolbars:{fullscreen:!0,readmodel:!0,help:!0,navigation:!0}},settingsDr:{prevTitle:"It's first one",prevTitleDefault:"It's first one",prevDisabled:!0,nextTitle:"It's last one",nextTitleDefault:"It's last one",nextDisabled:!0},showDrawer:!1,showBlog:!0,id:0,prev:null,next:null,current:null,blogData:"Loading...",jumpBtns:[{tab:"/blog/tab/overview",name:"Overview",icon:"md-list-box"},{tab:"/blog/tab/category",name:"Category",icon:"ios-archive"},{tab:"/blog/tab/column",name:"Column",icon:"md-folder"},{tab:"/blog/tab/tag",name:"Tag",icon:"md-pricetags"},{tab:"/blog/tab/archive",name:"Archive",icon:"md-calendar"}]}},watch:{$route:function(){this.init()}},computed:{imgSrc:function(){return f.getCategoryUrl(this.current.category)}},created:function(){this.init()},mounted:function(){this.createQrcode()},destroyed:function(){Ut=null},methods:{init:function(){this.id=this.$route.params.id,this.check()?this.load():this.showBlog=!1},check:function(){var t=this;if(null!==F.blogs&&F.blogs.length>0){var e=F.blogs.findIndex(function(e){return e.id===t.id});if(e>=0)return this.current=F.blogs[e],this.prev=e-1>=0?F.blogs[e-1]:null,e+1<=F.blogs.length-1?this.next=F.blogs[e+1]:this.next=null,!0}return!1},load:function(){var t=this,e=this;tt(h(this.id)).then(function(a){200===a.status?(e.blogData=a.data,e.setData()):404===a.status?t.showBlog=!1:e.requestFailed()}).catch(function(t){console.log(t),e.requestFailed()})},requestFailed:function(t){this.$Message.error("Loading failed, retry later."),this.blogData="Loading failed, retry later."},setData:function(){document.title=this.current.title+" - "+this.$store.state.GlobalData.title,null===this.prev?(this.settingsDr.prevDisabled=!0,this.settingsDr.prevTitle=this.settingsDr.prevTitleDefault):(this.settingsDr.prevDisabled=!1,this.settingsDr.prevTitle=this.prev.title),null===this.next?(this.settingsDr.nextDisabled=!0,this.settingsDr.nextTitle=this.settingsDr.nextTitleDefault):(this.settingsDr.nextDisabled=!1,this.settingsDr.nextTitle=this.next.title),null===Ut?this.createQrcode():(Ut.clear(),Ut.makeCode(this.getValidUrl()))},clickCategory:function(){this.$router.push(U(this.current.category))},clickTag:function(t){this.$router.push(R(t))},clickMore:function(){this.showDrawer=!this.showDrawer},getValidUrl:function(){var t=null===this.current?null:this.current.id;return M.getPageUrl(t)},createQrcode:function(){Ut=new A.a("qrcode",{text:this.getValidUrl(),width:100,height:100,colorDark:"#17233d",colorLight:"#f8f8f9",correctLevel:A.a.CorrectLevel.H})},shareToQQ:function(){var t=b(this.current);window.open(t)},shareToQZone:function(){var t=I(this.current);window.open(t)},shareToWeibo:function(){var t=C(this.current);window.open(t)},shiftBlog:function(t){this.$router.push(Q(t))},submitComment:function(){console.log("submitComment")},showErrorNotice:function(){this.$Message.error("该分享功能开发中")}}},Rt={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("comBase",{attrs:{active:"blog"}},[t.showBlog?i("div",{staticClass:"div_display"},[i("Card",[i("div",{staticClass:"div_info",attrs:{slot:"title"},slot:"title"},[i("img",{staticClass:"img_category",attrs:{src:t.imgSrc},on:{click:t.clickCategory}}),t._v(" "),i("div",{staticClass:"div_title"},[i("b",[t._v(t._s(t.current.title))])])]),t._v(" "),i("Button",{attrs:{slot:"extra",icon:"md-menu"},on:{click:t.clickMore},slot:"extra"},[t._v("More")]),t._v(" "),i("Row",{staticClass:"row_microblog"},[t._l(t.current.tags,function(e){return i("Tag",{key:e.tag,attrs:{color:"primary"}},[i("span",{on:{click:function(a){return t.clickTag(e.tag)}}},[t._v(t._s(e.tag))])])}),t._v(" "),i("div",{staticClass:"div_time"},[i("Time",{attrs:{time:t.current.timestamp,type:"date"}})],1)],2)],1),t._v(" "),i("Divider"),t._v(" "),i("mavon-editor",{staticClass:"markdown",attrs:{subfield:t.settingsMd.subfield,defaultOpen:t.settingsMd.defaultOpen,navigation:t.settingsMd.navigation,codeStyle:t.settingsMd.codeStyle,boxShadow:t.settingsMd.boxShadow,previewBackground:t.settingsMd.previewBackground,toolbarsFlag:t.settingsMd.toolbarsFlag,toolbars:t.settingsMd.toolbars},model:{value:t.blogData,callback:function(e){t.blogData=e},expression:"blogData"}})],1):i("div",{staticClass:"div_no_data"},[i("Alert",{attrs:{type:"error","show-icon":""}},[t._v("Resource not found")])],1),t._v(" "),i("Drawer",{attrs:{width:"400",closable:!1},model:{value:t.showDrawer,callback:function(e){t.showDrawer=e},expression:"showDrawer"}},[i("div",{staticClass:"div_drawer"},[i("Divider",{staticStyle:{"font-weight":"bold"}},[t._v("Share")]),t._v(" "),i("Row",[i("div",{staticClass:"div_share"},[i("Tooltip",{attrs:{placement:"bottom"}},[i("div",{staticClass:"div_qrcode",attrs:{slot:"content"},slot:"content"},[i("div",{attrs:{id:"qrcode"}}),t._v(" "),i("span",{staticClass:"span_qrcode"},[t._v("Wechat Scan")])]),t._v(" "),i("img",{staticClass:"img_share",attrs:{src:a("iptE")}})])],1),t._v(" "),i("div",{staticClass:"div_share"},[i("img",{staticClass:"img_share",attrs:{src:a("7t+U")},on:{click:t.shareToQQ}})]),t._v(" "),i("div",{staticClass:"div_share"},[i("img",{staticClass:"img_share",attrs:{src:a("Yp1N")},on:{click:t.shareToQZone}})]),t._v(" "),i("div",{staticClass:"div_share"},[i("img",{staticClass:"img_share",attrs:{src:a("sLPV")},on:{click:t.shareToWeibo}})])]),t._v(" "),i("Divider",{staticClass:"divider_drawer",staticStyle:{"font-weight":"bold"}},[t._v("Others")]),t._v(" "),i("ButtonGroup",{attrs:{shape:"circle"}},[i("Button",{attrs:{type:"primary",disabled:t.settingsDr.prevDisabled},on:{click:function(e){return t.shiftBlog(t.prev.id)}}},[i("Poptip",{attrs:{trigger:"hover","word-wrap":"",width:"200",placement:"bottom"}},[i("div",{staticClass:"div_poptip",attrs:{slot:"content"},slot:"content"},[t._v(t._s(t.settingsDr.prevTitle))]),t._v(" "),i("Icon",{attrs:{type:"ios-arrow-back"}}),t._v("\n            Last\n          ")],1)],1),t._v(" "),i("Button",{attrs:{type:"primary",disabled:t.settingsDr.nextDisabled},on:{click:function(e){return t.shiftBlog(t.next.id)}}},[i("Poptip",{attrs:{trigger:"hover","word-wrap":"",width:"200",placement:"bottom"}},[i("div",{staticClass:"div_poptip",attrs:{slot:"content"},slot:"content"},[t._v(t._s(t.settingsDr.nextTitle))]),t._v(" "),i("Icon",{attrs:{type:"ios-arrow-forward"}}),t._v("\n            Next\n          ")],1)],1)],1),t._v(" "),i("Divider",{staticClass:"divider_drawer",staticStyle:{"font-weight":"bold"}},[t._v("Navigation")]),t._v(" "),i("ButtonGroup",t._l(t.jumpBtns,function(e){return i("Button",{key:e.tab,attrs:{size:"large",to:e.tab}},[i("Poptip",{attrs:{trigger:"hover",placement:"bottom"}},[i("div",{staticClass:"div_poptip",attrs:{slot:"content"},slot:"content"},[t._v(t._s(e.name))]),t._v(" "),i("Icon",{attrs:{type:e.icon}})],1)],1)}),1),t._v(" "),i("Divider",{staticClass:"divider_drawer",staticStyle:{"font-weight":"bold"}},[t._v("Comment")]),t._v(" "),i("span",[t._v("Developing")])],1)])],1)},staticRenderFns:[]};var Qt=a("VU/8")(Et,Rt,!1,function(t){a("1TXg")},"data-v-3b29bb97",null).exports,Vt={name:"wap-display",data:function(){return{settingsMd:{subfield:!1,defaultOpen:"preview",toolbarsFlag:!1,codeStyle:"xcode",boxShadow:!1,previewBackground:"#f9f5f9"},id:0,author:null,current:null,blogData:"Loading..."}},created:function(){this.init()},computed:{imgSrc:function(){return f.getCategoryUrl(this.current.category)}},methods:{init:function(){this.id=this.$route.params.id,this.check()?this.load():this.blogData="Resource not found."},check:function(){var t=this;if(null!==F.blogs&&F.blogs.length>0){var e=F.blogs.findIndex(function(e){return e.id===t.id});if(e>=0)return this.current=F.blogs[e],!0}return!1},load:function(){var t=this,e=this;tt(h(this.id)).then(function(a){200===a.status?(e.blogData=a.data,e.setData()):404===a.status?t.blogData="Resource not found.":e.requestFailed()}).catch(function(t){console.log(t),e.requestFailed()})},requestFailed:function(t){this.$Message.error("Loading failed, retry later."),this.blogData="Loading failed, retry later."},setData:function(){document.title=this.current.title,this.author=this.$store.state.GlobalData.title},clickAuthor:function(){this.$router.push("/home")}}},Bt={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("div",{staticClass:"div_container"},[a("div",{staticClass:"div_author",on:{click:t.clickAuthor}},[t._v(t._s(t.author))]),t._v(" "),a("div",{staticClass:"div_info"},[a("Time",{attrs:{time:t.current.timestamp,type:"date"}})],1),t._v(" "),a("Divider",{attrs:{dashed:""}}),t._v(" "),a("mavon-editor",{staticClass:"markdown",attrs:{subfield:t.settingsMd.subfield,defaultOpen:t.settingsMd.defaultOpen,toolbarsFlag:t.settingsMd.toolbarsFlag,codeStyle:t.settingsMd.codeStyle,boxShadow:t.settingsMd.boxShadow,previewBackground:t.settingsMd.previewBackground},model:{value:t.blogData,callback:function(e){t.blogData=e},expression:"blogData"}})],1),t._v(" "),t._m(0),t._v(" "),a("BackTop")],1)},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"div_footer"},[e("span",[this._v("Copyright © 2020 universezy")])])}]};var Gt=a("VU/8")(Vt,Bt,!1,function(t){a("HJuq")},"data-v-8f2611f6",null).exports,Yt={name:"component-favorite",props:{favorite:{type:Object,default:function(){return{id:"null",link:"#",name:"null"}},validator:function(t){return null!==t}}},data:function(){return{propFavorite:this.favorite}},computed:{imgSrc:function(){return f.getFavorite(this.propFavorite.id)}}},Pt={render:function(){var t=this.$createElement,e=this._self._c||t;return e("a",{attrs:{href:this.propFavorite.link,target:"_blank"}},[e("Card",[e("div",{staticClass:"div_favorite"},[e("img",{staticClass:"img_favorite",attrs:{src:this.imgSrc}}),this._v(" "),e("Divider"),this._v(" "),e("p",{staticClass:"p_favorite"},[e("b",[this._v(this._s(this.propFavorite.name))])])],1)])],1)},staticRenderFns:[]};var Ft=[{id:"the_clean_coder",link:"http://vdisk.weibo.com/s/zrPOK0IqWgbk1",name:"代码整洁之道"},{id:"beauty_of_programming",link:"http://vdisk.weibo.com/s/dCbnAFkZVs1uo%20%20",name:"编程之美"},{id:"sword_to_offer",link:"http://vdisk.weibo.com/s/BRrQbHkii7VPb",name:"剑指Offer"},{id:"thinking_in_java",link:"http://vdisk.weibo.com/s/sYrOrIqygbN7",name:"Java编程思想"},{id:"patterns_in_java",link:"http://vdisk.weibo.com/s/Dnd3fJO-vfl4",name:"Java设计模式"}],Jt={name:"favorite",components:{comBase:x,comFavorite:a("VU/8")(Yt,Pt,!1,function(t){a("rzLR")},"data-v-7df4b97d",null).exports},data:function(){return{favorites:[]}},created:function(){null!==Ft&&Ft.length>0&&(this.favorites=Ft)}},Wt={render:function(){var t=this.$createElement,e=this._self._c||t;return e("comBase",{attrs:{active:"favorite"}},[e("div",{staticClass:"div_favorite"},this._l(this.favorites,function(t){return e("comFavorite",{key:t.src,staticClass:"com_favorite",attrs:{favorite:t}})}),1)])},staticRenderFns:[]};var Ht=a("VU/8")(Jt,Wt,!1,function(t){a("2B12")},"data-v-4287d72a",null).exports,$t={name:"component-friendlink",props:{friendlink:{type:Object,default:function(){return{link:"#",src:"#",name:"null",desc:"null"}},validator:function(t){return null!==t}}},data:function(){return{propFriendlink:this.friendlink}},computed:{aTraget:function(){return"#"===this.propFriendlink.link?"":"_blank"}}},Zt={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("Card",{staticClass:"card_friendlink"},[a("span",{staticClass:"span_friendlink",attrs:{slot:"title"},slot:"title"},[a("Avatar",{attrs:{size:"large",shape:"square",src:t.propFriendlink.src}}),t._v(" "),a("span",{staticClass:"span_name"},[t._v(t._s(t.propFriendlink.name))])],1),t._v(" "),a("a",{attrs:{slot:"extra",href:t.propFriendlink.link,target:t.aTraget},slot:"extra"},[a("Icon",{attrs:{type:"md-open",size:"24"}})],1),t._v(" "),a("div",{staticClass:"div_desc"},[a("span",{staticClass:"span_desc"},[t._v(t._s(t.propFriendlink.desc))])])])},staticRenderFns:[]};var qt=[{link:"http://www.heqiangfly.com/",src:"http://www.heqiangfly.com/images/icon.png",name:"寒江蓑笠",desc:"孤舟蓑笠翁，独钓寒江雪"},{link:"https://blog.xingbofeng.com/",src:"https://pic1.zhimg.com/v2-506b762e987554c38f0ee7f1eac7967c_xl.jpg",name:"Encounter",desc:"Why did you encounter me?"},{link:"http://hanayo.cn/",src:"http://hanayo.cn/css/images/favicon.ico",name:"花の様に",desc:"green hand on cloud computing; software engineer"},{link:"http://cnneillee.github.io/",src:"http://cnneillee.github.io/img/avatar.jpg",name:"Neil Lee's blog",desc:"Code makes the world better!"},{link:"http://trumi.cn/",src:"http://trumi.cn/img/logo.jpg",name:"刘卓旻的博客",desc:"better code better life"},{link:"#",src:"static/cooperation.jpg",name:"Waiting for you",desc:"Contact with me"}],Kt={name:"friendlink",components:{comBase:x,comFriendlink:a("VU/8")($t,Zt,!1,function(t){a("PMWj")},"data-v-57c25c6c",null).exports},data:function(){return{friendlinks:[]}},created:function(){null!==qt&&qt.length>0&&(this.friendlinks=qt)}},Xt={render:function(){var t=this.$createElement,e=this._self._c||t;return e("comBase",{attrs:{active:"friendlink"}},this._l(this.friendlinks,function(t){return e("div",{key:t.link,staticClass:"div_friendlink"},[e("comFriendlink",{attrs:{friendlink:t}})],1)}),0)},staticRenderFns:[]};var te=a("VU/8")(Kt,Xt,!1,function(t){a("3oQ2")},"data-v-20df8c0d",null).exports;i.default.use(c.a);var ee,ae=new c.a({routes:[{path:"*",name:"error",redirect:"/home",component:H},{path:"/",name:"home-default",redirect:"/home",component:H},{path:"/home",name:"home",component:H},{path:"/about",name:"about",component:q},{path:"/biography",name:"biography",component:it},{path:"/blog",name:"blog-default",redirect:"/blog/tab/overview",component:Dt},{path:"/blog/tab/:tab",name:"blog/tab",component:Dt},{path:"/blog/tab/",name:"blog-error",redirect:"/blog/tab/overview",component:Dt},{path:"/blog/category/:category",name:"/blog/category",component:Lt},{path:"/blog/category",name:"category-error",redirect:"/blog",component:Dt},{path:"/blog/column/:column",name:"/blog/column",component:Ot},{path:"/blog/column",name:"column-error",redirect:"/blog",component:Dt},{path:"/blog/tag/:tag",name:"/blog/tag",component:kt},{path:"/blog/tag",name:"tag-error",redirect:"/blog",component:Dt},{path:"/blog/display/:id",name:"/blog/display",component:Qt},{path:"/blog/display",name:"display-error",redirect:"/blog",component:Dt},{path:"/blog/wapDisplay/:id",name:"/blog/wapDisplay",component:Gt},{path:"/blog/wapDisplay",name:"wapDisplay-error",redirect:"/blog",component:Dt},{path:"/favorite",name:"favorite",component:Ht},{path:"/friendlink",name:"friendlink",component:te}]}),ie=a("b3L9"),se=a.n(ie),ne=(a("7QVd"),a("NYxO")),re=a("mUbh"),oe=a("ukYY"),ce=a("UjVw"),le=(a("sax8"),a("bOdI")),ge=a.n(le),de={state:{isCollapsed:!1,isNoticeShow:!0,bio:null},mutations:(ee={},ge()(ee,"SET_COLLAPSED",function(t,e){t.isCollapsed=e}),ge()(ee,"CLOSE_NOTICE",function(t){t.isNoticeShow=!1}),ee),actions:{changeSider:function(t,e){(0,t.commit)("SET_COLLAPSED",e)},closeNotice:function(t){(0,t.commit)("CLOSE_NOTICE")}}},ue={state:{bio:null,title:"进击的小宇宙"},mutations:ge()({},"SAVE_BIO",function(t,e){t.bio=e}),actions:{saveBio:function(t,e){(0,t.commit)("SAVE_BIO",e)}}};i.default.use(ne.a);var me=new ne.a.Store({actions:re,mutations:oe,getters:ce,modules:{GlobalState:de,GlobalData:ue},strict:!1,plugins:[]}),pe=a("OS1Z"),he=a.n(pe);a("pw1w");i.default.config.productionTip=!1,i.default.use(se.a),i.default.use(ne.a),i.default.use(he.a),new i.default({el:"#app",router:ae,store:me,components:{App:o},template:"<App/>"})},ODyI:function(t,e){},"PI++":function(t,e){},PMWj:function(t,e){},SVsN:function(t,e){},UjVw:function(t,e){},WPBj:function(t,e){},WweP:function(t,e){},Yp1N:function(t,e){t.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTU0NjE3MTY3NzgxNyIgY2xhc3M9Imljb24iIHN0eWxlPSIiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIgCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3OTUiIAogICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+CiAgICA8ZGVmcz4KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+CiAgICA8L2RlZnM+CiAgICA8cGF0aCBkPSJNNTEyIDBhNTEyIDUxMiAwIDEgMCA1MTIgNTEyQTUxMiA1MTIgMCAwIDAgNTEyIDB6IiBmaWxsPSIjRkFCNjE5IiBwLWlkPSIyNzk2Ij48L3BhdGg+CiAgICA8cGF0aCBkPSJNMzg5Ljg1MTQyOSA2MDQuMTZjMTMuNTMxNDI5LTE0Ljk5NDI4NiAxODYuODgtMTEyLjY0IDE4Ni44OC0xMTIuNjRsLTIyNi4zNzcxNDMtMzAuNzIgMzAyLjgxMTQyOC0zLjI5MTQyOWExNC42Mjg1NzEgMTQuNjI4NTcxIDAgMCAxIDAgMjEuNTc3MTQzYy0xMC42MDU3MTQgMTIuNDM0Mjg2LTE3MS41MiAxMjIuNTE0Mjg2LTE3MS41MiAxMjIuNTE0Mjg2bDE4Mi44NTcxNDMgMTQuNjI4NTcxTDY1OC4yODU3MTQgNTg1LjE0Mjg1N2wxNDYuMjg1NzE1LTE0Mi42Mjg1NzEtMjAyLjk3MTQyOS0yOS42MjI4NTdMNTEyIDIzOC40NDU3MTRsLTkwLjY5NzE0MyAxNzMuMzQ4NTcyLTIwMS44NzQyODYgMjkuMjU3MTQzTDM2NS43MTQyODYgNTg1LjE0Mjg1N2wtMzYuNTcxNDI5IDIwMC40MTE0MjkgMTgyLjg1NzE0My05NS40NTE0MjkgMTgyLjg1NzE0MyA5NS40NTE0MjktMjkuOTg4NTcyLTE2My44NC0yNzUuMDE3MTQyIDEyLjA2ODU3MWExOS4wMTcxNDMgMTkuMDE3MTQzIDAgMCAxIDAtMjcuNzk0Mjg2eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMjc5NyI+PC9wYXRoPgo8L3N2Zz4="},Z0cN:function(t,e){},aZqs:function(t,e){},b5pf:function(t,e){},frjc:function(t,e){},iptE:function(t,e){t.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTU0NjE2MjA1NzM4MCIgY2xhc3M9Imljb24iIHN0eWxlPSIiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIgCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0NDciIAogICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+CiAgICA8ZGVmcz4KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+CiAgICA8L2RlZnM+CiAgICA8cGF0aCBkPSJNNzExLjExMTExMSA1MTJjLTE0LjIyMjIyMiAwLTIyLjc1NTU1NiAxMS4zNzc3NzgtMjIuNzU1NTU1IDI1LjYgMCAxMS4zNzc3NzggMTEuMzc3Nzc4IDIyLjc1NTU1NiAyMi43NTU1NTUgMjIuNzU1NTU2IDE3LjA2NjY2NyAwIDI4LjQ0NDQ0NC0xMS4zNzc3NzggMjguNDQ0NDQ1LTIyLjc1NTU1NiAwLTE0LjIyMjIyMi0xMS4zNzc3NzgtMjUuNi0yOC40NDQ0NDUtMjUuNnogbS0zNzIuNjIyMjIyLTE3MC42NjY2NjdjLTE3LjA2NjY2NyAwLTM2Ljk3Nzc3OCAxMS4zNzc3NzgtMzYuOTc3Nzc4IDI4LjQ0NDQ0NXMxNy4wNjY2NjcgMjguNDQ0NDQ0IDM2Ljk3Nzc3OCAyOC40NDQ0NDRjOC41MzMzMzMgMCAxNC4yMjIyMjItMi44NDQ0NDQgMTkuOTExMTExLTguNTMzMzMzIDUuNjg4ODg5LTUuNjg4ODg5IDguNTMzMzMzLTE0LjIyMjIyMiA4LjUzMzMzMy0xOS45MTExMTEgMC04LjUzMzMzMy0yLjg0NDQ0NC0xNC4yMjIyMjItOC41MzMzMzMtMTkuOTExMTExLTUuNjg4ODg5LTUuNjg4ODg5LTE0LjIyMjIyMi04LjUzMzMzMy0xOS45MTExMTEtOC41MzMzMzR6IG00MjMuODIyMjIyIDM4MS4xNTU1NTZsMTcuMDY2NjY3IDU5LjczMzMzMy02Mi41Nzc3NzgtMzYuOTc3Nzc4Yy0yNS42IDUuNjg4ODg5LTQ4LjM1NTU1NiAxMS4zNzc3NzgtNzEuMTExMTExIDExLjM3Nzc3OC0xMTAuOTMzMzMzIDAtMTk5LjExMTExMS03Ni44LTE5OS4xMTExMTEtMTcwLjY2NjY2NnM4OC4xNzc3NzgtMTcwLjY2NjY2NyAxOTkuMTExMTExLTE3MC42NjY2NjdjMTA1LjI0NDQ0NCAwIDIwMS45NTU1NTYgNzYuOCAyMDEuOTU1NTU1IDE3MC42NjY2NjctMi44NDQ0NDQgNTYuODg4ODg5LTM2Ljk3Nzc3OCAxMDIuNC04NS4zMzMzMzMgMTM2LjUzMzMzM3ogbS0zNDcuMDIyMjIyLTc5LjY0NDQ0NWMtMjguNDQ0NDQ0IDAtNTYuODg4ODg5LTUuNjg4ODg5LTgyLjQ4ODg4OS0xNC4yMjIyMjJsLTg1LjMzMzMzMyA0Mi42NjY2NjcgMjUuNi03MS4xMTExMTFjLTU5LjczMzMzMy00Mi42NjY2NjctOTMuODY2NjY3LTkzLjg2NjY2Ny05My44NjY2NjctMTU5LjI4ODg4OSAwLTExMy43Nzc3NzggMTA4LjA4ODg4OS0xOTkuMTExMTExIDIzNi4wODg4ODktMTk5LjExMTExMSAxMTMuNzc3Nzc4IDAgMjE5LjAyMjIyMiA2OC4yNjY2NjcgMjM2LjA4ODg4OSAxNjQuOTc3Nzc4LTguNTMzMzMzLTIuODQ0NDQ0LTE0LjIyMjIyMi0yLjg0NDQ0NC0yMi43NTU1NTYtMi44NDQ0NDUtMTEzLjc3Nzc3OCAwLTIwMS45NTU1NTYgODUuMzMzMzMzLTIwMS45NTU1NTUgMTg3LjczMzMzMyAwIDE3LjA2NjY2NyAyLjg0NDQ0NCAzNC4xMzMzMzMgNS42ODg4ODkgNTEuMmgtMTcuMDY2NjY3ek01MTIgMEMyMzAuNCAwIDAgMjMwLjQgMCA1MTJzMjMwLjQgNTEyIDUxMiA1MTIgNTEyLTIzMC40IDUxMi01MTJTNzkzLjYgMCA1MTIgMHogbS04LjUzMzMzMyAzOTguMjIyMjIyYzguNTMzMzMzIDAgMTcuMDY2NjY3LTIuODQ0NDQ0IDIyLjc1NTU1NS04LjUzMzMzMyA1LjY4ODg4OS01LjY4ODg4OSA4LjUzMzMzMy0xNC4yMjIyMjIgOC41MzMzMzQtMTkuOTExMTExIDAtOC41MzMzMzMtMi44NDQ0NDQtMTcuMDY2NjY3LTguNTMzMzM0LTIyLjc1NTU1Ni04LjUzMzMzMy0yLjg0NDQ0NC0xNC4yMjIyMjItNS42ODg4ODktMjIuNzU1NTU1LTUuNjg4ODg5LTE3LjA2NjY2NyAwLTM0LjEzMzMzMyAxMS4zNzc3NzgtMzQuMTMzMzM0IDI4LjQ0NDQ0NXMxNy4wNjY2NjcgMjguNDQ0NDQ0IDM0LjEzMzMzNCAyOC40NDQ0NDR6IG03Ni44IDExMy43Nzc3NzhjLTE0LjIyMjIyMiAwLTIyLjc1NTU1NiAxMS4zNzc3NzgtMjIuNzU1NTU2IDI1LjYgMCAxMS4zNzc3NzggMTEuMzc3Nzc4IDE5LjkxMTExMSAyMi43NTU1NTYgMjIuNzU1NTU2IDE3LjA2NjY2NyAwIDI4LjQ0NDQ0NC0xMS4zNzc3NzggMjguNDQ0NDQ0LTIyLjc1NTU1NiAwLTE0LjIyMjIyMi0xMS4zNzc3NzgtMjUuNi0yOC40NDQ0NDQtMjUuNnoiIGZpbGw9IiMxOUQxMDAiIHAtaWQ9IjM0NDgiPjwvcGF0aD4KPC9zdmc+"},llcT:function(t,e){},mUbh:function(t,e){},"nkD/":function(t,e){},pw1w:function(t,e){},rzLR:function(t,e){},sLPV:function(t,e){t.exports="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgdD0iMTU0NjMxOTU0ODU1OSIgY2xhc3M9Imljb24iIHN0eWxlPSIiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiIHZlcnNpb249IjEuMSIgCiAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIAogICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+CiAgICA8ZGVmcz4KICAgICAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+CiAgICA8L2RlZnM+CiAgICA8cGF0aCBkPSJNNTEyIDUxMm0tNTEyIDBhNTEyIDUxMiAwIDEgMCAxMDI0IDAgNTEyIDUxMiAwIDEgMC0xMDI0IDBaIiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzc4Ij48L3BhdGg+CiAgICA8cGF0aCBkPSJNNDQ4LjUxMiA0ODIuMzA0Yy05Ny4yOCA1LjEyLTE3NS4xMDQgNTcuMzQ0LTE3NS4xMDQgMTIxLjg1NnM3Ny44MjQgMTE0LjY4OCAxNzUuMTA0IDExMC41OTJTNjIzLjYxNiA2NDguMTkyIDYyMy42MTYgNTgzLjY4Yy0xLjAyNC02NC41MTItNzguODQ4LTEwNS40NzItMTc1LjEwNC0xMDEuMzc2eiBtNjUuNTM2IDE2NC44NjRjLTI5LjY5NiAzOC45MTItODkuMDg4IDU3LjM0NC0xNDUuNDA4IDI1LjYtMjcuNjQ4LTE0LjMzNi0yNS42LTQzLjAwOC0yNS42LTQzLjAwOHMtMTEuMjY0LTkyLjE2IDg0Ljk5Mi0xMDMuNDI0Yzk3LjI4LTEyLjI4OCAxMTUuNzEyIDgwLjg5NiA4Ni4wMTYgMTIwLjgzMnoiIGZpbGw9IiNGRjY2NjYiIHAtaWQ9IjI3NzkiPjwvcGF0aD4KICAgIDxwYXRoIGQ9Ik00NDguNTEyIDU4NC43MDRjLTYuMTQ0IDUuMTItOC4xOTIgMTIuMjg4LTMuMDcyIDE4LjQzMiAyLjA0OCA1LjEyIDExLjI2NCA2LjE0NCAxNi4zODQgMi4wNDggNi4xNDQtNC4wOTYgOC4xOTItMTIuMjg4IDUuMTItMTguNDMyLTQuMDk2LTUuMTItMTEuMjY0LTYuMTQ0LTE4LjQzMi0yLjA0OHogbS00Ni4wOCAxMi4yODhjLTE4LjQzMiAyLjA0OC0zMC43MiAxOC40MzItMzAuNzIgMzIuNzY4IDAgMTUuMzYgMTUuMzYgMjYuNjI0IDMyLjc2OCAyNC41NzZzMzIuNzY4LTE1LjM2IDMyLjc2OC0zMS43NDRjMS4wMjQtMTUuMzYtMTQuMzM2LTI2LjYyNC0zNC44MTYtMjUuNnoiIGZpbGw9IiNGRjY2NjYiIHAtaWQ9IjI3ODAiPjwvcGF0aD4KICAgIDxwYXRoIGQ9Ik01MTIgMEMyMjkuMzc2IDAgMCAyMjkuMzc2IDAgNTEyczIyOS4zNzYgNTEyIDUxMiA1MTIgNTEyLTIyOC4zNTIgNTEyLTUxMlM3OTUuNjQ4IDAgNTEyIDB6IG0xOTYuNjA4IDYyNi42ODhDNjY4LjY3MiA3MTIuNzA0IDUzNy42IDc1NC42ODggNDQwLjMyIDc0Ni40OTZjLTkyLjE2LTguMTkyLTIxMC45NDQtMzguOTEyLTIyMy4yMzItMTUxLjU1MiAwIDAtNi4xNDQtNTEuMiA0My4wMDgtMTE3Ljc2IDAgMCA3MC42NTYtMTAwLjM1MiAxNTIuNTc2LTEyOCA4Mi45NDQtMjguNjcyIDkyLjE2IDE5LjQ1NiA5Mi4xNiA0OS4xNTItNC4wOTYgMjMuNTUyLTEyLjI4OCAzOC45MTIgMTguNDMyIDI4LjY3MiAwIDAgODAuODk2LTM4LjkxMiAxMTQuNjg4LTUuMTIgMjcuNjQ4IDI3LjY0OCA1LjEyIDY0LjUxMiA1LjEyIDY0LjUxMnMtMTEuMjY0IDEyLjI4OCAxMi4yODggMTcuNDA4YzIxLjUwNCAzLjA3MiA5NC4yMDggMzYuODY0IDUzLjI0OCAxMjIuODh6IG0tNzguODQ4LTIzNi41NDRjLTguMTkyIDAtMTUuMzYtOC4xOTItMTUuMzYtMTUuMzYgMC05LjIxNiA4LjE5Mi0xNS4zNiAxNS4zNi0xNS4zNiAwIDAgOTkuMzI4LTE4LjQzMiA4Ny4wNCA5MC4xMTJ2MS4wMjRjLTEuMDI0IDguMTkyLTguMTkyIDEzLjMxMi0xNi4zODQgMTMuMzEyLTkuMjE2IDAtMTUuMzYtOC4xOTItMTUuMzYtMTUuMzYgMC0zLjA3MiAxNS4zNi03NC43NTItNTUuMjk2LTU4LjM2OHogbTE2Ny45MzYgMTAzLjQyNGMtMi4wNDggMTguNDMyLTEyLjI4OCAxMS4yNjQtMjIuNTI4IDExLjI2NC0xMi4yODggMC0yMi41MjgtMTYuMzg0LTIyLjUyOC0yOS42OTYgMC0xMS4yNjQgNS4xMi0yMi41MjggNS4xMi0yMi41MjggMS4wMjQtNS4xMiAxMi4yODgtMzQuODE2LTguMTkyLTc4Ljg0OC0zNS44NC02MC40MTYtMTA2LjQ5Ni02MC40MTYtMTE0LjY4OC01Ny4zNDQtOC4xOTIgNC4wOTYtMjEuNTA0IDYuMTQ0LTIxLjUwNCA2LjE0NC0xMi4yODggMC0yMi41MjgtMTAuMjQtMjIuNTI4LTIyLjUyOCAwLTExLjI2NCA4LjE5Mi0xOS40NTYgMTcuNDA4LTIyLjUyOCAwIDAgMCAxLjAyNCAxLjAyNCAxLjAyNHMyLjA0OCAxLjAyNCAyLjA0OCAxLjAyNGMxMC4yNC0yLjA0OCA0Ni4wOC01LjEyIDc5Ljg3MiAzLjA3MiA1OS4zOTIgMTQuMzM2IDE0NC4zODQgODMuOTY4IDEwNi40OTYgMjEwLjk0NHoiIGZpbGw9IiNGRjUwNTAiIHAtaWQ9IjI3ODEiPjwvcGF0aD4KPC9zdmc+"},ukYY:function(t,e){}},["NHnr"]);
  //# sourceMappingURL=app.9543acabbf3997342a9a.js.map