12 |
- webpackJsonp([1],[,,function(e,t,n){var i=n(1)(n(147),null,null,null,null);e.exports=i.exports},,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var i=n(14),o=n.n(i),s=n(15),a=n.n(s),r=n(16),c=n.n(r),l=n(24),u=n.n(l),p=n(22),d=n.n(p),f=n(23),h=n.n(f),m=n(108),v=n(30),g="login_cache_key",x=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||o()(t)).call(this));return e.settingKey=g,e}return h()(t,e),c()(t,[{key:"init",value:function(){d()(t.prototype.__proto__||o()(t.prototype),"init",this).call(this),this.doFlushSetting(g,m.a)}},{key:"userLogin",value:function(e){this.sendRequest("user-login",e)}},{key:"userRegister",value:function(e){this.sendRequest("user-register",e)}},{key:"getUserInfo",value:function(e){this.sendRequest("user-get",e)}},{key:"getCurLoginUserInfo",value:function(e){return this.sendRequest("user-cur-get",e)}},{key:"logout",value:function(e){this.sendRequest("user-logout",e)}}]),t}(v.a);t.a=x},,,,,,,,,function(e,t,n){"use strict";var i=n(14),o=n.n(i),s=n(15),a=n.n(s),r=n(16),c=n.n(r),l=n(24),u=n.n(l),p=n(22),d=n.n(p),f=n(23),h=n.n(f),m=n(101),v=n.n(m),g=n(103),x=n(104),y=n(3),I=(n.n(y),"cache-base"),b=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||o()(t)).call(this));return e.globalCacheKey=I,e}return h()(t,e),c()(t,[{key:"init",value:function(){d()(t.prototype.__proto__||o()(t.prototype),"init",this).call(this),this.doFlushSetting(this.globalCacheKey,g.a),this.doMapStatusCode(x.a.httpStatus,x.a.clientCode)}},{key:"handleErrorCase",value:function(e,t){switch(e){case x.a.clientCode.CODE_WARM:setTimeout(function(){y.Message.info({title:"错误提示!",content:t.message})},500);break;case x.a.clientCode.CODE_ERROR:case x.a.clientCode.CODE_NO_AUTH:case x.a.clientCode.CODE_NO_PRIVILEGE:setTimeout(function(){y.Modal.error({title:"错误提示!",content:t.message})},500);break;case x.a.clientCode.CODE_INIT:location.href=location.protocol+"//"+location.host+"/#/install";break;default:console.log("code "+e+", message "+t.message)}}}]),t}(v.a);t.a=b},,,,,,,,,,function(e,t,n){function i(e){n(246)}var o=n(1)(n(151),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(233)}var o=n(1)(n(157),null,i,null,null);e.exports=o.exports},function(e,t,n){"use strict";var i=n(14),o=n.n(i),s=n(15),a=n.n(s),r=n(16),c=n.n(r),l=n(24),u=n.n(l),p=n(22),d=n.n(p),f=n(23),h=n.n(f),m=n(107),v=n(30),g="repo_cache_key",x=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||o()(t)).call(this));return e.settingKey=g,e}return h()(t,e),c()(t,[{key:"init",value:function(){d()(t.prototype.__proto__||o()(t.prototype),"init",this).call(this),this.doFlushSetting(g,m.a)}},{key:"createRepo",value:function(e){this.sendRequest("repo-create",e)}},{key:"updateRepo",value:function(e){this.sendRequest("repo-update",e)}},{key:"getList",value:function(e){var t="repo-"+(e.extOpt.reqType?e.extOpt.reqType+"-":"")+"list";this.sendRequest(t,e)}},{key:"addIconToRepo",value:function(e){this.sendRequest("repo-add-icon",e)}},{key:"deleteIconFromRepo",value:function(e){this.sendRequest("repo-delete-icon",e)}},{key:"syncRepo",value:function(e){this.sendRequest("repo-sync",e)}},{key:"getRepoInfo",value:function(e){this.sendRequest("repo-get",e)}},{key:"addMember",value:function(e){this.sendRequest("repo-member-add",e)}}]),t}(v.a);t.a=x},,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var i=n(14),o=n.n(i),s=n(15),a=n.n(s),r=n(16),c=n.n(r),l=n(24),u=n.n(l),p=n(22),d=n.n(p),f=n(23),h=n.n(f),m=n(63),v=n(30),g="icon_cache_key",x=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||o()(t)).call(this));return e.settingKey=g,e}return h()(t,e),c()(t,[{key:"init",value:function(){d()(t.prototype.__proto__||o()(t.prototype),"init",this).call(this),this.doFlushSetting(g,m.a)}},{key:"addItem",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="icon-"+(e.extOpt.reqType?e.extOpt.reqType+"-":"")+"add";this.sendRequest(t,e)}},{key:"collectIcon",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendRequest("icon-draft-collect",e)}},{key:"delete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="icon-"+(e.extOpt.reqType?e.extOpt.reqType+"-":"")+"delete";this.sendRequest(t,e)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="icon-"+(e.extOpt.reqType?e.extOpt.reqType+"-":"")+"update";this.sendRequest(t,e)}},{key:"download",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="icon-"+(e.extOpt.reqType?e.extOpt.reqType+"-":"")+"download";this.sendRequest(t,e)}},{key:"getList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t="icon-"+(e.extOpt.reqType?e.extOpt.reqType+"-":"")+"list";this.sendRequest(t,e)}},{key:"submitIconDraft2Icon",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendRequest("icon-draft-to-icon",e)}}]),t}(v.a);t.a=x},function(e,t,n){"use strict";t.a={"icon-add":{url:"/api/icon/add",method:"post"},"icon-delete":{url:"/api/icon/delete/:iconId",method:"post",rest:!0},"icon-list":{url:"/api/icon/list/:userId",method:"get",rest:!0},"icon-download":{url:"/api/icon/download/:iconId",method:"get",rest:!0,ajax:!1,target:"_self"},"icon-draft-add":{url:"/api/icon/draft/add",method:"post"},"icon-draft-collect":{url:"/api/icon/draft/collect",method:"post"},"icon-draft-delete":{url:"/api/icon/draft/delete",method:"post"},"icon-draft-update":{url:"/api/icon/draft/update",method:"post"},"icon-draft-download":{url:"/api/icon/draft/download/:iconId",method:"get",rest:!0,ajax:!1,target:"_self"},"icon-draft-list":{url:"/api/icon/draft/list",method:"get"},"icon-draft-to-icon":{url:"/api/icon/draft/2icon",method:"post"}}},function(e,t,n){"use strict";var i=n(31),o=n.n(i),s=n(2),a=n.n(s);t.a=a.a.extend({data:function(){return{cache:this._getCacheInstance(),index:1,totalPageCount:1,totalCount:0,list:[]}},props:{listOpt:{type:Object,default:function(){return{pageIndex:1,pageSize:6}}},deleteOpt:Object,extOpt:{type:Object,default:function(){return{}}}},beforeCreate:function(){var e=this;this.$on("refresh",function(){e.getList()})},methods:{_getCacheInstance:function(){return this.cache},getList:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.cache.getList({params:o()({},this.listOpt,e.data),extOpt:o()({},this.extOpt,e.extOpt),onload:this.onGetList.bind(this)})},onGetList:function(e){e=e.result||{},this.list=e.list;var t=e.query||{};this.index=t.pageIndex,this.totalCount=t.totalCount,this.totalPageCount=t.totalPageCount,this.$emit("ongetlist",e),this.afterGetList(e)},go:function(e){this.listOpt.pageIndex=e,this.getList()},afterGetList:function(e){},delete:function(e){e.onload=e.onload||this.onDelete,this.cache.delete({data:o()({},this.deleteOpt,e.data),extOpt:o()({},this.extOpt,e.extOpt),onload:e.onload.bind(this)})},onDelete:function(e){this.$emit("refresh"),this.$emit("ondelete"),this.afterDelete(e)},afterDelete:function(e){},update:function(e){this.cache.update({data:o()({},this.deleteOpt,e.data),extOpt:o()({},this.extOpt,e.extOpt),onload:this.onUpdate.bind(this)})},download:function(e){this.cache.download({data:o()({},e.data),params:o()({},e.params),extOpt:o()({},this.extOpt,e.extOpt),onload:this.onUpdate.bind(this)})},onUpdate:function(e){this.$emit("refresh"),this.$emit("ondelete"),this.afterUpdate(e)},afterUpdate:function(e){}},created:function(){this.getList()}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){function i(e){n(257)}var o=n(1)(n(148),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(249)}var o=n(1)(n(153),null,i,null,null);e.exports=o.exports},function(e,t,n){"use strict";var i=n(43),o=n.n(i),s=n(181),a=n.n(s),r=n(180),c=n.n(r),l=n(31),u=n.n(l),p=n(15),d=n.n(p),f=n(16),h=n.n(f),m=n(122),v=n(124),g=n(123),x=function(){function e(){d()(this,e)}return h()(e,[{key:"install",value:function(e,t){this.config=t||{},this.defaultRules=u()(m.a,this.config.defaultRules),this.Vue=e,e.directive(this.config.directiveName||"check",{inserted:this.initCheck.bind(this),unbind:this.removeComp.bind(this)})}},{key:"initCheck",value:function(){function e(e,n,i){return t.apply(this,arguments)}var t=c()(a.a.mark(function e(t,n,i){var o,s,r,l,u=this;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(o={string:{type:n.value},array:{rules:n.value},object:n.value},s=o[g.a.typeof(n.value)]||{},r={checkType:s.type,rules:s.rules||[],checkAttr:s.checkAttr||this.config.defaultCheckAttr||"value",eventType:this.addEventPrefix(s.trigger||this.config.triggerEvent||(s.isRealTime?"change":"blur")),compIns:this.resolveComponentInstance(t,i),noGlobalHandler:s.noGlobalHandler,el:t,checkData:s,validator:v.a},l=g.a.getValueStepIn(r.checkAttr,r.compIns)||g.a.getValueStepIn(r.checkAttr,s),!s.checkInit){e.next=7;break}return e.next=7,this.check(l,r);case 7:r.compIns.$on(r.eventType,c()(a.a.mark(function e(){return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r.compIns.$nextTick(c()(a.a.mark(function e(){return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return l=g.a.getValueStepIn(r.checkAttr,r.compIns)||g.a.getValueStepIn(r.checkAttr,s),e.next=3,u.check(l,r);case 3:case"end":return e.stop()}},e,u)})));case 1:case"end":return e.stop()}},e,u)}))),this.addSelfToContainer(r);case 9:case"end":return e.stop()}},e,this)}));return e}()},{key:"check",value:function(){function e(e,n){return t.apply(this,arguments)}var t=c()(a.a.mark(function e(t,n){var i,o,s,r,c;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n.rules=(this.defaultRules[n.checkType]||[]).concat(n.rules),v.a[n.checkType]&&n.rules.unshift({type:n.checkType,message:((this.config.checkTypeText||{})[n.checkType]||{}).text||"value must match "+n.checkType}),i={success:!0,message:"",checkAttr:n.checkAttr},o=!0,s=void 0,0!==n.rules.length){e.next=7;break}return e.abrupt("return",i);case 7:r=0,c=n.rules.length;case 8:if(!(r<c)){e.next=29;break}if(s=n.rules[r]||{},!v.a[s.type]){e.next=14;break}o=v.a[s.type].call(null,t,s),e.next=22;break;case 14:if(!s.method||"function"!=typeof s.method){e.next=21;break}return e.next=17,s.method.call(null,t,s,n);case 17:i=e.sent,"boolean"==typeof i&&(i={success:i,message:s.message,checkAttr:n.checkAttr}),e.next=22;break;case 21:i={success:!1,message:"找不到此规则的校验方法",checkAttr:n.checkAttr};case 22:if(o&&i.success){e.next=26;break}return i.message=s.message||i.message,i.success=!1,e.abrupt("break",29);case 26:r++,e.next=8;break;case 29:return this.resultHandler(i,t,n),e.abrupt("return",i);case 31:case"end":return e.stop()}},e,this)}));return e}()},{key:"resultHandler",value:function(e,t,n){var i=this.addEventPrefix(e.success?"valid":"invalid"),o=this.config.errorHandler,s=this.config.successHandler;n.compIns&&n.compIns.$emit(i,e),e.success||"function"!=typeof o||n.noGlobalHandler||o.call(this,e,t,n),e.success&&"function"==typeof s&&!n.noGlobalHandler&&s.call(this,e,t,n)}},{key:"checkAll",value:function(){function e(e,n,i){return t.apply(this,arguments)}var t=c()(a.a.mark(function e(t,n,i){var s,r,c,l,p,d;return a.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s=t.$checkControls||[],r=[],c=void 0,l=void 0,p=0;case 5:if(!(p<s.length)){e.next=17;break}return c=s[p],l=g.a.getValueStepIn(c.checkAttr,c.compIns)||g.a.getValueStepIn(c.checkAttr,c.checkData),e.next=10,this.check(l,u()(c,{noGlobalHandler:i}));case 10:if(d=e.sent,d.success||r.push(d),d.success||!n){e.next=14;break}return e.abrupt("break",17);case 14:p++,e.next=5;break;case 17:return e.abrupt("return",r.length>0?o.a.reject(r):o.a.resolve(!0));case 18:case"end":return e.stop()}},e,this)}));return e}()},{key:"addSelfToContainer",value:function(e){var t=e.compIns.$parent,n=void 0;do{for(;t;){if(t.$refs[this.config.checkContainerRef||"checkContainer"]){t.$checkControls=t.$checkControls||[],t.$checkControls.push(u()(e,{parent:t})),t.$checkAll=this.checkAll.bind(this,t),t.$feedbackErrors=this.feedbackErrors.bind(this),e.compIns.$checkParent=t,t.$on("destroyed",this.cleanControls.bind(this,t)),n=!0;break}t=t.$parent}if(n)break}while(t)}},{key:"feedbackErrors",value:function(e,t,n){this.resultHandler(e,n,t)}},{key:"cleanControls",value:function(e){e.$checkControls=null}},{key:"resolveComponentInstance",value:function(e,t){var n=t.componentInstance;return g.a.isNullOrUndefined(n)?this.wrapComponentInstance(e,t):n}},{key:"wrapComponentInstance",value:function(e,t){var n=this,i=g.a.isTextInput(e)?["focus","input","change","blur"]:["change","select","click"];e=this.createVm(e,t,i);for(var o=0;o<i.length;o++)!function(t){g.a.addEventListener(e,i[t],function(){e.$emit(n.addEventPrefix(i[t]),{target:e})})}(o);return e}},{key:"createVm",value:function(e,t){var n=(t.data||{}).on||{};for(var i in n)n[i]&&!Array.isArray(n[i])&&(n[i]=[n[i]]);return u()(e,{$on:this.Vue.prototype.$on,$emit:this.Vue.prototype.$emit,_events:n,$parent:t.context})}},{key:"removeComp",value:function(e,t,n){var i=this.resolveComponentInstance(e,n),o=(i.$checkParent||{}).$checkControls||[],s=o.indexOf(i);o.splice(s,1)}},{key:"addEventPrefix",value:function(e){var t=this;if(!this.config.eventPatch)return e;var n=Array.isArray(e)?e:[e];return n=n.map(function(e){return t.config.eventPatch.events?v.a.isIn(e,t.config.eventPatch.events)?t.config.eventPatch.prefix+e:e:t.config.eventPatch.prefix+e}),"string"==typeof e?n[0]:n}}]),e}();t.a=new x},function(e,t,n){"use strict";var i=n(29),o=n(373),s=n(142),a=n(145),r=n(141),c=n(144),l=n(143);i.default.use(o.a),t.a=new o.a({routes:function(){return s.a.concat(a.a).concat(r.a).concat(c.a).concat(l.a)}()})},,function(e,t,n){function i(e){n(234)}var o=n(1)(n(146),n(372),i,null,null);e.exports=o.exports},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(29),o=n(20),s=n(100),a=n.n(s),r=n(98),c=n(99),l=n.n(c),u=n(3),p=n.n(u),d=n(97);i.default.config.productionTip=!1,i.default.use(l.a),i.default.use(o.a),i.default.use(p.a),i.default.use(d.a,{eventPatch:{prefix:"on-"},triggerEvent:["change"],successHandler:function(e,t,n){var i=n.el.parentNode;if(-1!==i.className.indexOf("ivu-form-item-error")){var o=i.getElementsByClassName("ivu-form-item-error-tip")[0];i.removeChild(o),i.className=i.className.replace(" ivu-form-item-error","")}},errorHandler:function(e,t,n){var i=(n.el||n.compIns.$el).parentNode,o=void 0;-1!==i.className.indexOf("ivu-form-item-error")?(o=i.getElementsByClassName("ivu-form-item-error-tip")[0],o.innerHTML=e.message):(o=document.createElement("div"),o.className="ivu-form-item-error-tip",o.innerHTML=e.message,i.appendChild(o),i.className=i.className+" ivu-form-item-error")}});var f=new o.a.Store({state:{webUser:{},showLoginModal:!1,loginDialogType:"login",isLogin:window.webUser&&window.webUser.userId},mutations:{showLoginModal:function(e,t){e.showLoginModal=t},loginDialogType:function(e,t){e.loginDialogType=t},webUser:function(e,t){e.webUser=t,e.isLogin=t.userId,window.webUser=t}}});new i.default({el:"#app",router:r.a,store:f,template:"<App/>",components:{App:a.a}})},function(e,t,n){"use strict";t.a={upload:{url:"api/upload/file",method:"post"}}},function(e,t,n){"use strict";t.a={httpStatus:{CODE_INIT:[0],CODE_OK:[200,201,202,203,204,205,206],CODE_WARM:[100,101],CODE_ERROR:[500,501,502,503,504,505],CODE_NO_AUTH:[401],CODE_NO_PRIVILEGE:[403]},clientCode:{CODE_OK:0,CODE_WARM:-5,CODE_ERROR:-10,CODE_NO_AUTH:-30,CODE_NO_PRIVILEGE:-50,CODE_INIT:[-100]}}},function(e,t,n){"use strict";var i=n(14),o=n.n(i),s=n(15),a=n.n(s),r=n(16),c=n.n(r),l=n(24),u=n.n(l),p=n(22),d=n.n(p),f=n(23),h=n.n(f),m=n(106),v=n(30),g="common_cache_key",x=function(e){function t(){a()(this,t);var e=u()(this,(t.__proto__||o()(t)).call(this));return e.settingKey=g,e}return h()(t,e),c()(t,[{key:"init",value:function(){d()(t.prototype.__proto__||o()(t.prototype),"init",this).call(this),this.doFlushSetting(g,m.a)}},{key:"installApplication",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.sendRequest("install-application",e)}}]),t}(v.a);t.a=x},function(e,t,n){"use strict";t.a={"install-application":{url:"/api/install",method:"post"}}},function(e,t,n){"use strict";t.a={"repo-create":{url:"/api/repo/add",method:"post"},"repo-update":{url:"/api/repo/:repoId/update",method:"post",rest:!0},"repo-list":{url:"/api/repo/list/:userId",method:"get",rest:!0},"repo-add-icon":{url:"/api/repo/add/icon",method:"post"},"repo-delete-icon":{url:"/api/repo/:repoId/:iconId/delete",method:"post",rest:!0},"repo-sync":{url:"/api/repo/:repoId/sync",method:"post",rest:!0},"repo-get":{url:"/api/repo/:repoId/get",method:"get",rest:!0},"repo-member-add":{url:"/api/repo/:repoId/member/add",method:"post",rest:!0},"repo-recommend-list":{url:"/api/repo/recommend/list",method:"get",rest:!0},"repo-recommend-add":{url:"/api/repo/recommend/add",method:"post",rest:!0},"repo-recommend-delete":{url:"/api/repo/recommend/delete",method:"post",rest:!0}}},function(e,t,n){"use strict";t.a={"user-login":{url:"/api/user/login",method:"post"},"user-register":{url:"/api/user/register",method:"post"},"user-cur-get":{url:"/api/user/get",method:"get"},"user-get":{url:"/api/user/:userId/get",method:"get",rest:!0},"user-logout":{url:"/api/user/logout",method:"post"}}},function(e,t,n){"use strict";var i=n(2),o=n.n(i);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App"}},props:{text:String},methods:{}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(63),a=n(3);n.n(a);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",uploadIconPath:s.a["icon-draft-add"].url,totalCount:0}},components:{IUpload:a.Upload},methods:{uploadSuccess:function(e,t,n){if(e&&200!==e.code)return void this.$Message.error(e.message);this.$emit("onaddicon")},beforeUpload:function(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]},uploadFail:function(e,t,n){this.$Message.error(e),console.log(e)},uploadFormatError:function(e,t){this.$Message.error("请上传svg文件!")}}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",selected:!1,isEdit:!1,preIconName:""}},computed:{userInfo:function(){return this.$store.state.webUser},isOwner:function(){return this.icon.ownerId===this.userInfo.userId}},props:{icon:Object,iconOperatorOptions:{type:Object,default:function(){return{allowCopy:!0,allowEdit:!0,allowDelete:!0,allowDownload:!0,allowCollect:!0}}},copyTextPrefix:{type:String,default:""},iconActiveSelected:{type:Boolean,default:!1},selectedAllIconFlag:{type:Boolean,default:!1}},watch:{selectedAllIconFlag:function(e,t){e!==t&&this.selectedIcon(e)}},methods:{deleteIcon:function(){var e=this;this.$Modal.confirm({content:"是否确定删除图标?",onOk:function(){e.$emit("delete",e.icon.iconId)}})},copyIconName:function(){this.$emit("copy",this.icon.iconName)},collectIcon:function(){this.$emit("collect",this.icon)},changeEditStatus:function(){this.isEdit=!0,this.preIconName=this.icon.iconName,this.$emit("editStatus",this.isEdit)},editIcon:function(){this.isEdit=!1,this.preIconName!==this.icon.iconName&&this.$emit("edit",this.icon)},selectedIcon:function(e){this.iconActiveSelected&&(this.selected=void 0===e?!this.selected:e,this.$emit(this.selected?"selected":"unselected",this.icon))},downloadIcon:function(){this.$emit("download",this.icon)}},created:function(){}})},function(e,t,n){"use strict";var i=n(64),o=n(62),s=n(351),a=n.n(s),r=n(95),c=n.n(r),l=n(3);n.n(l);t.a=i.a.extend({data:function(){return{list:[],selectedIcons:[],selectedAllIconFlag:!1}},components:{IconCard:a.a,IPage:l.Page,CommonEmpty:c.a},props:["listOpt","extOpt","iconOperatorOptions","iconActiveSelected","emptyText","copyTextPrefix"],computed:{userInfo:function(){return this.$store.state.webUser}},methods:{_getCacheInstance:function(){return new o.a},turnPage:function(e){this.go(e||1)},afterUpdate:function(e){this.$Message.success({content:e.message})},deleteIcon:function(e){this.$emit("delete-icon",e),(this.iconOperatorOptions||{}).popDelete||this.delete({data:{iconId:e}})},afterDelete:function(e){this.$Message.success({content:e.message})},updateIcon:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.update({data:{iconId:e.iconId,iconName:e.iconName}})},collectIcon:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.cache.collectIcon({data:t,onload:function(t){t.result?e.$Message.success("图标已收藏到 上传图标 中"):e.$Message.error(t.result.message||"收藏失败!")}})},selectedIcon:function(e){this.iconActiveSelected&&(this.selectedIcons.push(e),this.$emit("selected",e))},unselectedIcon:function(e){var t=this.selectedIcons.indexOf(e);-1!==t&&this.selectedIcons.splice(t,1),this.$emit("unselected",e)},selectedAllIcon:function(e){this.selectedAllIconFlag=e},downloadIcon:function(e){this.$emit("download",e),this.download({data:{},params:{iconId:e.iconId}})}}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",coverIcons:[]}},props:{iconRepo:Object},computed:{userInfo:function(){return this.$store.state.webUser},isOwner:function(){return this.iconRepo.ownerId===this.userInfo.userId}},methods:{},created:function(){this.coverIcons=this.iconRepo.icons.slice(0,15)}})},function(e,t,n){"use strict";var i=n(64),o=n(42),s=n(352),a=n.n(s),r=n(95),c=n.n(r),l=n(3);n.n(l);t.a=i.a.extend({data:function(){return{list:[]}},components:{IconRepoCard:a.a,IPage:l.Page,CommonEmpty:c.a},props:["listOpt","extOpt"],computed:{userInfo:function(){return this.$store.state.webUser}},methods:{_getCacheInstance:function(){return new o.a},turnPage:function(e){this.go(e||1)}}})},function(e,t,n){"use strict";var i=n(32),o=n.n(i),s=n(2),a=n.n(s),r=n(354),c=n.n(r),l=n(355),u=n.n(l),p=n(3),d=(n.n(p),n(20));t.a=a.a.extend({data:function(){return{footerHide:!0}},components:{LoginForm:c.a,Modal:p.Modal,RegisterForm:u.a},computed:o()({},n.i(d.b)(["showLoginModal","loginDialogType"]),{showModal:{get:function(){return this.showLoginModal},set:function(e){this.$store.commit("showLoginModal",e)}}}),methods:{changeLoginType:function(e){this.$store.commit("loginDialogType",e)}}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(117),a=n(21),r=n(66),c=n.n(r),l=n(3);n.n(l);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",userName:"",password:"",userNameErr:"",passwordErr:"",rules:s.a}},components:{IInput:l.Input,IButton:l.Button,IRow:l.Row,ICol:l.Col},methods:{submit:function(){var e=this;this.$checkAll().then(function(){e.cache.userLogin({data:{userName:e.userName,password:c()(e.password)},onload:e.loginSuccess.bind(e)})}).catch(function(e){console.log(e)})},loginSuccess:function(e){if(e.result)window.webUser=e.result,this.$store.commit("showLoginModal",!1),this.$store.commit("webUser",e.result);else for(var t in e.message)e.message.hasOwnProperty(t)&&this.$feedbackErrors(e.message[t],{compIns:this.$refs[t]})}},created:function(){this.cache=new a.a}})},function(e,t,n){"use strict";var i={userName:[{type:"isRequired",message:"请填写手机号码"},{type:"isMobilePhone",message:"请填写正确的手机号码"}],password:[{type:"isRequired",message:"请填写密码"}]};t.a=i},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(119),a=n(21),r=n(66),c=n.n(r),l=n(3);n.n(l);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",userName:"",password:"",rePassword:"",rules:s.a}},components:{IInput:l.Input,IButton:l.Button,IRow:l.Row,ICol:l.Col},methods:{submit:function(){var e=this;this.$checkAll().then(function(){e.cache.userRegister({data:{userName:e.userName,password:c()(e.password),rePassword:c()(e.rePassword)},onload:e.registerSuccess.bind(e)})}).catch(function(t){for(var n in t.message)t.message.hasOwnProperty(n)&&e.$feedbackErrors(t.message[n],{compIns:e.$refs[n]})})},registerSuccess:function(e){if(e.result)window.webUser=e.result,this.$store.commit("showLoginModal",!1),this.$store.commit("webUser",e.result);else for(var t in e.message)e.message.hasOwnProperty(t)&&this.$feedbackErrors(e.message[t],{compIns:this.$refs[t]})}},created:function(){this.cache=new a.a}})},function(e,t,n){"use strict";var i={userName:[{type:"isRequired",message:"请填写手机号码"},{type:"isMobilePhone",message:"请填写正确的手机号码"}],password:[{type:"isFilled",message:"请填写密码"}],rePassword:[{type:"isFilled",message:"请确认密码"},{message:"两次输入密码不一致",method:function(e,t,n){return e===n.compIns.$checkParent.password}}]};t.a=i},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(3);n.n(s);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",isSearching:!1,value:""}},props:{initValue:{type:String,default:""},placeholder:{type:String,default:"搜索全部图标"}},components:{IInput:s.Input,IButton:s.Button},watch:{value:function(e,t){e!==t&&(this.isSearching=!0)}},methods:{doSearch:function(){this.isSearching&&(this.isSearching=!1,this.$emit("search",this.value))}},created:function(){this.value=this.initValue}})},function(e,t,n){"use strict";var i=n(32),o=n.n(i),s=n(2),a=n.n(s),r=n(21),c=n(3),l=(n.n(c),n(20)),u=n(41),p=n.n(u);t.a=a.a.extend({name:"hello",components:{Poptip:c.Poptip,searchInput:p.a},data:function(){return{title:"Welcome to Icon App",menuList:[{moduleName:"indexHello",text:"首页",noNeedLogin:!0},{moduleName:"userRepoListModule",text:"我的图标库"},{moduleName:"userRepoAddModule",text:"创建图标库"},{moduleName:"userIconListModule",text:"我的图标"},{moduleName:"userIconAddModule",text:"上传图标"},{moduleName:"docsIntroduce",text:"帮助文档",noNeedLogin:!0}]}},computed:o()({},n.i(l.b)(["isLogin"]),{userInfo:function(){return this.$store.state.webUser},userPageInfoId:function(){return parseInt(this.$route.params.userId)},currentModuleName:function(){return this.$route.name},showSearchInput:function(){return"indexHello"!==this.currentModuleName},q:function(){return this.$route.params.q}}),methods:{login:function(e){this.$store.commit("loginDialogType",e),this.$store.commit("showLoginModal",!0)},logout:function(){this.cache.logout({data:{},onload:function(e){this.$store.commit("webUser",e.result)}.bind(this)})},getActiveTab:function(e){return this.currentModuleName===e&&this.userPageInfoId===this.userInfo.userId?"active":""},goModule:function(e,t){this.userInfo.userId||t?this.$router.push({name:e,params:{userId:this.userInfo.userId}}):this.userInfo.loginUrl?window.open(this.userInfo.loginUrl,"_self"):this.login("login")},search:function(e){this.$router.push({name:e?"searchQ":"search",params:{q:e}})}},created:function(){this.cache=new r.a({})}})},function(e,t,n){"use strict";t.a={}},function(e,t,n){"use strict";var i=n(85),o=n.n(i);t.a={isNullOrUndefined:function(e){return null===e||void 0===e},addEventListener:function(e,t,n){if(Array.isArray(t))for(var i=0;i<t.length;i++)e.addEventListener(t[i],n,!1);else e.addEventListener(t,n,!1)},isTextInput:function(e){return o.a.isIn(e.type,["text","password","search","email","tel","url","textarea"])},isCheckboxOrRadioInput:function(e){return o.a.isIn(e.type,["radio","checkbox"])},typeof:function(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()},getValueStepIn:function(e,t){for(var n=/[^.\[\]]+/g,i=(e||"").match(n)||[],o=t,s=0;o&&s<i.length;)o=o[i[s]],s++;return o}}},function(e,t,n){"use strict";var i=n(31),o=n.n(i),s=n(85),a=n.n(s),r=/^[\u4e00-\u9fa5]{0,}$/,c=/[\u4e00-\u9fa5]/g,l=/[1-9][0-9]{4,}/,u=/^\d{15}$|\d{17}[Xx]$|\d{18}$/,p=/^[a-zA-Z]\w{5,17}$/,d=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$/;t.a=o()({},a.a,{is:function(e,t){return t.reg.test(e)},isRequired:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").length>0},isFilled:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1];return a.a.trim(e,t.chars).length>0},isChinese:function(e){return r.test(e)},isCnLength:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1],n=(e||"").match(c)||[];return a.a.isLength(e+n.join(""),t.options)},isIdCard:function(e){return u.test(e)},isQQ:function(e){return l.test(e)},isBasePassword:function(e){return p.test(e)},isSafePassword:function(e){return d.test(e)},contains:function(e,t){return a.a.contains(e,t.seed||"")},equals:function(e,t){return a.a.equals(e,t.comparison||"")},isAfter:function(e,t){return a.a.isAfter(e,t.now)},isBefore:function(e,t){return a.a.isBefore(e,t.now)},isAlpha:function(e,t){return a.a.isAlpha(e,t.locale)},isAlphanumeric:function(e,t){return a.a.isAlphanumeric(e,t.locale)},isByteLength:function(e,t){return a.a.isByteLength(e,t.options)},isCurrency:function(e,t){return a.a.isCurrency(e,t.options)},isDecimal:function(e,t){return a.a.isDecimal(e,t.options)},isDivisibleBy:function(e,t){return a.a.isDivisibleBy(e,t.number||1)},isEmail:function(e,t){return a.a.isEmail(e,t.options)},isFQDN:function(e,t){return a.a.isFQDN(e,t.options)},isFloat:function(e,t){return a.a.isFloat(e,t.options)},isHash:function(e,t){return a.a.isHash(e,t.algorithm||"md5")},isIP:function(e,t){return a.a.isIP(e,t.version)},isISBN:function(e,t){return a.a.isISBN(e,t.version)},isISSN:function(e,t){return a.a.isISSN(e,t.options)},isIn:function(e,t){return a.a.isIn(e,t.values||[])},isInt:function(e,t){return a.a.isInt(e,t.options)},isLength:function(e,t){return a.a.isLength(e,t.options)},isMobilePhone:function(e,t){return a.a.isMobilePhone(e,t.locale||"zh-CN",t.options)},isPostalCode:function(e,t){return a.a.isPostalCode(e,t.locale||"zh-CN")},isURL:function(e,t){return a.a.isURL(e,t.options)},isUUID:function(e,t){return a.a.isUUID(e,t.version)},isWhitelisted:function(e,t){return a.a.isWhitelisted(e,t.chars)},matches:function(e,t){return a.a.matches(e,t.pattern||t.reg||"",t.modifiers)}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App"}},methods:{}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(3);n.n(s);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",code:"asdfa"}},computed:{currentRouterPath:function(){return this.$route.fullPath}},components:{Collapse:s.Collapse,Panel:s.Panel},methods:{}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App"}},methods:{}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(96),a=n.n(s),r=n(41),c=n.n(r);t.a=o.a.extend({name:"hello",data:function(){return{msg:"Welcome to Your Icon Library",value:"",listOpt:{pageSize:8,pageIndex:1,userId:"all"},extOpt:{reqType:"recommend"}}},components:{iconRepoList:a.a,searchInput:c.a},methods:{search:function(e){this.$router.push({name:"searchQ",params:{q:e}})}}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(3);n.n(s);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",menus:[{label:"功能介绍",name:"docsIntroduce",content:"功能介绍",icon:"ios-paper"},{label:"图标绘制",name:"docsIconMaker",content:"图标绘制",icon:"hammer"},{label:"常见问题",name:"docsTrouble",content:"常见问题",icon:"settings"}]}},components:{IMenu:s.Menu,IMenuItem:s.MenuItem,Icon:s.Icon},computed:{currentRouterPathName:function(){return this.$route.name||this.tabs[0].name},currentRouterPath:function(){return this.$route.fullPath}},methods:{changeTab:function(e){this.$router.push({name:e})}}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(105),a=n(3);n.n(a);t.a=o.a.extend({data:function(){return{config:[{name:"MONGODB_NAME",value:"iconRepo",description:"mongo数据库名称",necessary:!0},{name:"MONGODB_HOST",value:"127.0.0.1",description:"mongo数据库IP",necessary:!0},{name:"MONGODB_PORT",value:"27017",description:"mongo数据库端口",necessary:!0},{name:"MONGODB_USERNAME",value:"",description:"mongo数据库用户名",necessary:!0},{name:"MONGODB_PASSWORD",value:"",description:"mongo数据库密码",necessary:!0},{name:"REDIS_HOST",value:"127.0.0.1",description:"redis数据库IP",necessary:!0},{name:"REDIS_PORT",value:"6379",description:"redis数据库端口",necessary:!0},{name:"REDIS_PASSWORD",value:"",description:"redis数据库密码",necessary:!0},{name:"productHost",value:"icon.bolin.site",description:"访问网站host",necessary:!0},{name:"productType",value:"default",description:"产品类型,自定义上传服务与登录服务文件夹名称,不使用则默认",necessary:!0}],login:{index:"",config:""},upload:{index:"",config:""},uploadPlaceholder:"\n // index.js\n \n let config = require('./config');\n let qiniu = require('qiniu');\n \n class QiniuUpload {\n async upload (dirPath) {\n let fontMap = await this.uploadFonts(dirPath);\n // 上传font完毕后替换css中的引用\n let cssContent = await this.replaceFontsInCss(dirPath, fontMap);\n let cssUrl = await this.uploadCss(dirPath, cssContent);\n \n // 上传返回数据格式\n return {\n url: cssUrl, // 必须\n cssContent: cssContent // 必须\n };\n }\n }\n \n let uploadIns = new QiniuUpload();\n module.exports = uploadIns.upload.bind(uploadIns);\n ",loginPlaceholder:"\n // index.js\n \n require('request');\n let rp = require('request-promise');\n let config = require('./config');\n \n class GithubOpenIdLogin {\n async login (ctx) {\n return this.getUserBaseInfo(ctx);\n }\n \n async getUserBaseInfo (ctx) {\n // your code\n \n // login 方法返回的数据格式\n return {\n userName: tokenInfo.sub, // 必须且唯一\n password: tokenInfo.sub,\n email: openIdUserInfo.email,\n nickName: openIdUserInfo.nickname,\n fullName: openIdUserInfo.fullname\n }\n }\n }\n \n let loginIns = new GithubOpenIdLogin();\n module.exports = loginIns.login.bind(loginIns);\n ",configPlaceholder:"\n let pe = process.env;\n \n module.exports = {\n accessKey: pe.QINIU_UPLOAD_ACCESS_KEY,\n secretKey: pe.QINIU_UPLOAD_SECRET_KEY,\n bucket: pe.QINIU_UPLOAD_BUCKET,\n cdnHost: pe.QINIU_UPLOAD_CDN_HOST\n };"}},components:{IInput:a.Input,IButton:a.Button,IRow:a.Row,ICol:a.Col,ITabs:a.Tabs,ITabPane:a.TabPane},methods:{addItem:function(){this.config.push({name:"",value:"",description:""})},deleteItem:function(e){this.config.splice(e,1)},submit:function(){var e=this,t={config:this.config.filter(function(e){return""!==e.value}),login:this.login,upload:this.upload};this.cache.installApplication({data:t,onload:function(t){if(t.result){var n=5,i=setInterval(function(){n>0?n--:(clearInterval(i),location.href=location.protocol+"//"+location.host)},1e3);e.$Modal.success({title:"提示",content:"应用将在"+n+"秒之后自动重启"})}}})}},created:function(){this.cache=new s.a({})}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(40),a=n.n(s);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",listOpt:{pageSize:60,pageIndex:1,userId:"all",q:this.$route.params.q},totalCount:0,iconControl:{iconActiveSelected:!0,iconOperatorOptions:{allowCopy:!0,allowEdit:!1,allowDelete:!1,allowDownload:!0,allowCollect:!0}}}},components:{IconList:a.a},methods:{updateIconCount:function(e){this.totalCount=(e.query||{}).totalCount||0}}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(21),a=n(3);n.n(a);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",tabs:[{label:"图标库",name:"userRepoListModule",content:"图标库"},{label:"图标",name:"userIconListModule",content:"图标"}],user:{}}},components:{IInput:a.Input,IButton:a.Button,Modal:a.Modal,Message:a.Message,IRow:a.Row,ICol:a.Col,RadioGroup:a.RadioGroup,IRadio:a.Radio,IMenu:a.Menu,IMenuItem:a.MenuItem},computed:{userInfo:function(){return this.$store.state.webUser},currentRouterPathName:function(){return this.$route.name||this.tabs[0].name},currentRouterPath:function(){return this.$route.fullPath},isOwner:function(){return this.userInfo.userId===this.user.userId}},methods:{changeTab:function(e){this.$router.push({name:e})}},created:function(){this.cache=new s.a({}),this.$route.params.userId&&this.cache.getUserInfo({data:{},params:{userId:this.$route.params.userId},onload:function(e){this.user=e.result}.bind(this)})}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(350),a=n.n(s),r=n(40),c=n.n(r),l=n(62),u=n(3);n.n(u);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",getListTimer:null,disabledSubmitBtn:!1,listOpt:{pageSize:500},extOpt:{reqType:"draft"},totalCount:0,iconOperatorOptions:{allowCopy:!0,allowEdit:!0,allowDelete:!0,allowDownload:!0,allowCollect:!1}}},components:{IconAdd:a.a,IconList:c.a,IButton:u.Button},methods:{updateIconCount:function(e){this.totalCount=(e.query||{}).totalCount||0},updateIconList:function(){clearTimeout(this.getListTimer),this.getListTimer=setTimeout(function(){this.$refs.iconList.getList()}.bind(this),300)},submit:function(e){this.disabledSubmitBtn=!0,this.cache.submitIconDraft2Icon({data:{repoId:this.$route.params.repoId,resetColor:e},onload:this.submitSuccess.bind(this)})},submitSuccess:function(e){var t=this;this.disabledSubmitBtn=!1,e.result?(this.$Message.success("提交成功!"),setTimeout(function(){t.$route.params.repoId?t.$router.push({name:"userRepoDetailModule",params:{repoId:t.$route.params.repoId}}):t.$router.push({name:"userIconListModule"})},500)):this.$Message.error(e.message)}},created:function(){this.cache=new l.a({})}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App"}},components:{},computed:{userInfo:function(){return this.$store.state.webUser},currentRouter:function(){return this.$router.currentRoute.name||this.tabs[0].name}},methods:{}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(40),a=n.n(s),r=n(41),c=n.n(r),l=n(3);n.n(l);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",listOpt:{pageSize:60,userId:this.$route.params.userId,q:""},totalCount:0}},components:{IconList:a.a,IButton:l.Button,IRadio:l.Radio,ISelect:l.Select,IOption:l.Option,searchInput:c.a},computed:{userInfo:function(){return this.$store.state.webUser},iconOperatorOptions:function(){return{allowCopy:!0,allowEdit:!1,allowDelete:this.userInfo.userId===parseInt(this.$route.params.userId),allowDownload:!0,allowCollect:!0}}},methods:{updateIconCount:function(e){this.totalCount=(e.query||{}).totalCount||0},search:function(e){this.listOpt.q=e,this.listOpt.pageIndex=1,this.$refs.userIconList.getList()}}})},function(e,t,n){"use strict";var i=n(32),o=n.n(i),s=n(2),a=n.n(s),r=n(137),c=n(42),l=n(20),u=n(3);n.n(u);t.a=a.a.extend({data:function(){return{repoName:"",iconPrefix:"",repoDescription:"",rules:r.a,isLoading:!1,isEdit:!1}},components:{IInput:u.Input,IButton:u.Button,Modal:u.Modal,Message:u.Message,IRow:u.Row,ICol:u.Col,RadioGroup:u.RadioGroup,IRadio:u.Radio},computed:o()({},n.i(l.b)(["webUser"])),methods:{submit:function(){var e=this;this.$checkAll().then(function(){e.isLoading=!0;var t={repoName:e.repoName,iconPrefix:e.iconPrefix,repoDescription:e.repoDescription,userId:e.webUser.userId,repoId:e.$route.params.repoId};e.isEdit?e.cache.updateRepo({data:t,onload:e.createSuccess.bind(e),onerror:function(){this.isLoading=!1}.bind(e)}):e.cache.createRepo({data:t,onload:e.createSuccess.bind(e),onerror:function(){this.isLoading=!1}.bind(e)})}).catch(function(e){console.log(e)})},createSuccess:function(e){var t=this;e.result?(this.$Message.success(e.message||"创建成功!"),setTimeout(function(){t.$router.push({name:"userRepoListModule",params:{userId:t.webUser.userId}})})):this.isLoading=!1},getRepoInfo:function(){var e=this;this.cache.getRepoInfo({data:{repoId:e.$route.params.repoId},onload:function(t){t.result&&(e.repoName=t.result.repoName,e.iconPrefix=t.result.iconPrefix,e.repoDescription=t.result.repoDescription)}})}},created:function(){this.cache=new c.a,this.$route.params.repoId&&(this.isEdit=!0,this.getRepoInfo())}})},function(e,t,n){"use strict";var i=n(43),o=n.n(i),s={repoName:[{type:"isRequired",message:"请填写仓库名称"}],iconPrefix:[{type:"isRequired",message:"请填写字体图标类型前缀"},{type:"is",reg:/^[a-zA-Z_-]+$/,message:"请填写正确格式的字体图标类型前缀"}],repoDescription:[{message:"描述不能超过300字",options:{min:0,max:300},method:function(e,t,n){return new o.a(function(i,o){setTimeout(function(){i({success:n.validator.isCnLength(e,t),message:t.message})},100)})}}]};t.a=s},function(e,t,n){"use strict";var i=n(2),o=n.n(i);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App"}},components:{},computed:{userInfo:function(){return this.$store.state.webUser},currentRouter:function(){return this.$router.currentRoute.name||this.tabs[0].name},currentRouterPath:function(){return this.$route.fullPath}},methods:{changeTab:function(e){this.$router.push({name:e})}}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(40),a=n.n(s),r=n(41),c=n.n(r),l=n(42),u=n(3);n.n(u);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",listOpt:{pageSize:60,pageIndex:1,userId:this.$route.params.userId,repoId:(this.$route.params||{}).repoId},totalCount:0,repo:{},showIconListDialog:!1,selectedAllIconFlag:!1,isSyncRepo:!1,member:{addMemberStatus:!1,accountType:5,typeList:[{value:5,text:"用户名称"},{value:1,text:"用户Id"}],account:""}}},components:{IconList:a.a,Modal:u.Modal,IInput:u.Input,ISelect:u.Select,IOption:u.Option,IButton:u.Button,ICheckbox:u.Checkbox,searchInput:c.a},computed:{userInfo:function(){return this.$store.state.webUser},listOptUnique:function(){return{pageSize:500,pageIndex:1,userId:this.userInfo.userId,repoId:(this.$route.params||{}).repoId,unique:!0}},iconControl:function(){return{iconActiveSelected:!0,iconOperatorOptions:{allowCopy:!0,allowEdit:!1,allowDelete:this.repo.isMember,allowDownload:!0,allowCollect:!0,popDelete:!0}}}},methods:{getRepoInfo:function(){var e=this;this.cache.getRepoInfo({data:{repoId:this.listOpt.repoId},onload:function(t){e.repo=t.result,e.repo.unSync?e.syncRepo():e.updateFontStyle(t.result.cssUrl)}})},deleteIcon:function(e){this.cache.deleteIconFromRepo({data:{iconId:e,repoId:this.listOpt.repoId},onload:function(e){e.result?(this.$Message.success(e.message||"删除成功,请保存更新!"),this.$refs.repoIconList.getList(),this.getRepoInfo()):this.$Message.error(e.message)}.bind(this)})},selectAllIcon:function(){this.$refs.addIconListRef.selectedAllIcon(this.selectedAllIconFlag)},addIconToRepo:function(){var e=this.$refs.addIconListRef.selectedIcons;e=e.map(function(e){return{iconId:e.iconId,iconName:e.iconName}}),this.cache.addIconToRepo({data:{icons:e,userId:this.userInfo.userId,repoId:this.listOpt.repoId},onload:function(e){this.$Message.success(e.message||"添加成功,请保存更新!"),this.$refs.repoIconList.getList(),this.getRepoInfo()}.bind(this)})},syncRepo:function(){this.isSyncRepo=!0,this.cache.syncRepo({data:{repoId:this.listOpt.repoId},onload:function(e){this.$Message.success(e.message||"保存更新成功!"),this.isSyncRepo=!1,this.repo.unSync=!1,this.repo.cssUrl=e.result.url,this.updateFontStyle(e.result.url)}.bind(this)})},addMember:function(){this.member.account||this.$Message.error("请输入用户Id或邮箱!"),this.cache.addMember({data:{repoId:this.listOpt.repoId,accountType:this.member.accountType,account:this.member.account},onload:function(e){e.result?(this.$Message.success(e.message||"添加成功!"),this.member.account=""):this.$Message.error(e.message)}.bind(this)})},search:function(e){this.listOpt.q=e,this.listOpt.pageIndex=1,this.$refs.repoIconList.getList()},uniqueSearch:function(e){this.listOptUnique.q=e,this.listOpt.pageIndex=1,this.$refs.addIconListRef.getList()},insertFontStyle:function(e){var t=document.createElement("link");t.rel="stylesheet",t.id="currentRepoFontStyle",t.href=e,document.getElementsByTagName("head").item(0).appendChild(t)},updateFontStyle:function(e){if(e){var t=document.getElementById("currentRepoFontStyle");t?t.href=e:this.insertFontStyle(e)}}},created:function(){this.cache=new l.a({}),this.getRepoInfo()}})},function(e,t,n){"use strict";var i=n(2),o=n.n(i),s=n(96),a=n.n(s);t.a=o.a.extend({data:function(){return{title:"Welcome to Icon App",listOpt:{pageSize:8,pageIndex:1,userId:this.$route.params.userId},totalCount:0}},components:{IconRepoList:a.a},computed:{userInfo:function(){return this.$store.state.webUser}},methods:{changeTab:function(e){this.$router.push({name:e})},updateRepoCount:function(e){this.totalCount=(e.query||{}).totalCount||0}}})},function(e,t,n){"use strict";var i=n(361),o=n.n(i),s=n(358),a=n.n(s),r=n(359),c=n.n(r),l=n(357),u=n.n(l);t.a=[{path:"/docs",name:"docs",component:o.a,children:[{path:"/docs/introduce",name:"docsIntroduce",component:a.a},{path:"/docs/trouble",name:"docsTrouble",component:c.a},{path:"/docs/iconMaker",name:"docsIconMaker",component:u.a}]}]},function(e,t,n){"use strict";var i=n(360),o=n.n(i);t.a=[{path:"/",name:"indexHello",component:o.a}]},function(e,t,n){"use strict";var i=n(362),o=n.n(i);t.a=[{path:"/install",name:"install",component:o.a}]},function(e,t,n){"use strict";var i=n(363),o=n.n(i);t.a=[{path:"/search",name:"search",component:o.a,children:[{path:"/search/:q",name:"searchQ",component:o.a}]}]},function(e,t,n){"use strict";var i=n(371),o=n.n(i),s=n(370),a=n.n(s),r=n(369),c=n.n(r),l=n(367),u=n.n(l),p=n(368),d=n.n(p),f=n(366),h=n.n(f),m=n(365),v=n.n(m),g=n(364),x=n.n(g);t.a=[{path:"/user/:userId",name:"userPage",component:o.a,children:[{path:"/user/:userId/repo",name:"userRepoModule",component:a.a,children:[{path:"/user/:userId/repo/list",name:"userRepoListModule",component:c.a},{path:"/user/repo/add",name:"userRepoAddModule",component:u.a},{path:"/user/:userId/repo/:repoId/edit",name:"userRepoEditModule",component:u.a},{path:"/user/:userId/repo/:repoId",name:"userRepoDetailModule",component:d.a}]},{path:"/user/:userId/icon",name:"userIconModule",component:h.a,children:[{path:"/user/:userId/icon/list",name:"userIconListModule",component:v.a},{path:"/user/:userId/icon/add",name:"userIconAddModule",component:x.a},{path:"/user/:userId/icon/add/:repoId",name:"userIconAdd2RepoModule",component:x.a}]}]}]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(32),o=n.n(i),s=n(2),a=n.n(s),r=n(232),c=(n.n(r),n(20)),l=n(356),u=n.n(l),p=n(353),d=n.n(p),f=n(21),h=n(183),m=n.n(h);t.default=a.a.extend({name:"app",components:{TopBar:u.a,LoginDialog:d.a},computed:o()({},n.i(c.b)(["showLoginModal"]),{currentRouterPath:function(){return this.$route.fullPath}}),methods:{onGetUserInfo:function(e){window.webUser=e.result,this.$store.commit("webUser",e.result)}},created:function(){var e=this;this.userCache=new f.a({}),this.userCache.getCurLoginUserInfo({data:{},onload:this.onGetUserInfo.bind(this)}),this.clipBoardIns||(this.clipBoardIns=new m.a(".copy-button",{text:function(e){return e.getAttribute("data-copy")}}),this.clipBoardIns.on("success",function(t){e.$Message.success("拷贝成功!"),t.clearSelection()}),this.clipBoardIns.on("error",function(e){this.$Message.error("此浏览器不支持拷贝,请更换chrome浏览器"),e.clearSelection()}))}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(29);t.default=i.default.extend({data:function(){return{}},filters:{capitalize:function(e){return e?(e=e.toString(),e.charAt(0).toUpperCase()+e.slice(1)):""},toDate:function(e){return e=e||new Date,new Date(e).toLocaleDateString()}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(109);t.default=i.a.extend({name:"common-empty",template:n(262)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(110);t.default=i.a.extend({name:"common-icon-add",template:n(263)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(111);t.default=i.a.extend({name:"common-icon-card",template:n(264)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(112);t.default=i.a.extend({name:"common-icon-list",template:n(265)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(113);t.default=i.a.extend({name:"icon-repo-card",template:n(266)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(114);t.default=i.a.extend({name:"common-icon-repo-list",template:n(267)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(115);t.default=i.a.extend({name:"login-dialog",template:n(268)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(116);t.default=i.a.extend({name:"login-form",template:n(269)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(118);t.default=i.a.extend({name:"register-form",template:n(270)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(120);t.default=i.a.extend({name:"common-search-input",template:n(271)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(121);t.default=i.a.extend({name:"top-bar",template:n(272)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(125);t.default=i.a.extend({name:"docs-icon-maker",template:n(273)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(126);t.default=i.a.extend({name:"docs-introduce",template:n(274)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(127);t.default=i.a.extend({name:"docs-trouble",template:n(275)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(128);t.default=i.a.extend({name:"index-index-hello",template:n(276)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(129);t.default=i.a.extend({name:"docs",template:n(277)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(130);t.default=i.a.extend({name:"install",template:n(278)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(131);t.default=i.a.extend({name:"docs",template:n(279)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(133);t.default=i.a.extend({name:"user-icon-add",template:n(281)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(135);t.default=i.a.extend({name:"user-icon-list",template:n(283)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(134);t.default=i.a.extend({name:"user-icon",template:n(282)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(136);t.default=i.a.extend({name:"repo-add",template:n(284)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(139);t.default=i.a.extend({name:"user-repo-list",template:n(286)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(140);t.default=i.a.extend({name:"user-repo-list",template:n(287)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(138);t.default=i.a.extend({name:"user-page",template:n(285)})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=n(132);t.default=i.a.extend({name:"user-module",template:n(280)})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},,,function(e,t){e.exports="<div class=common-empty> <div class=common-empty-in> <span class=icon-empty></span> <p class=text>{{ text || '什么都没有!!!' }}</p> </div> </div> "},function(e,t){e.exports="<div class=common-icon-add> <div class=upload-box> <i-upload multiple=multiple :with-credentials=true :show-upload-list=false :format=\"['svg']\" :max-size=100 :on-success=uploadSuccess :before-upload=beforeUpload :on-error=uploadFail :on-format-error=uploadFormatError type=drag accept=image/* :action=uploadIconPath> <div class=upload-zone> <p class=upload-icon> <span class=icon-upload-clound></span> </p> <p class=upload-tip>将SVG文件拖拽至此,或点此上传</p> </div> </i-upload> </div> </div> "},function(e,t){e.exports='<div class=common-icon-card @click=selectedIcon()> <div class=common-icon-card-in> <div class=common-icon-card-svg> <span v-if=copyTextPrefix :class="copyTextPrefix + icon.iconName"></span> <span v-else v-html=icon.iconContent></span> </div> <span class=common-icon-card-name title=bulb v-if=!isEdit>{{ icon.iconName }}</span> <i-input @on-blur=editIcon :autofocus=isEdit v-model=icon.iconName size=small class=edit-name v-else></i-input> <div class=common-icon-card-selected :class="{selected: selected}" v-if=iconActiveSelected></div> <div class=common-icon-card-cover v-if="!iconActiveSelected && !isEdit"> <span v-if=iconOperatorOptions.allowCopy :data-copy="copyTextPrefix + icon.iconName" title=复制图标名 class="cover-item icon-interactive copy-button"></span> <span v-if=iconOperatorOptions.allowEdit title=编辑图标 class="cover-item icon-editor" @click.stop=changeEditStatus></span> <span v-if=iconOperatorOptions.allowDelete title=删除图标 class="cover-item icon-trash" @click=deleteIcon></span> <span v-if=iconOperatorOptions.allowDownload title=下载图标 class="cover-item icon-download" @click=downloadIcon></span> <span v-if=iconOperatorOptions.allowCollect title=收藏图标 class="cover-item icon-collection" @click=collectIcon></span> </div> </div> </div> '},function(e,t){e.exports='<div class=common-icon-list> <div class="common-icon-list-box f-cb" v-if="list.length > 0"> <icon-card v-for="item in list" :icon=item :key=item.iconId @delete=deleteIcon($event) @collect=collectIcon($event) @selected=selectedIcon($event) @unselected=unselectedIcon($event) @edit=updateIcon($event) @download=downloadIcon($event) :icon-operator-options=iconOperatorOptions :icon-active-selected=iconActiveSelected :copy-text-prefix=copyTextPrefix :selected-all-icon-flag=selectedAllIconFlag></icon-card> </div> <common-empty :text="emptyText || \'暂无图标!\'" v-else></common-empty> <div class=common-icon-list-page v-if="totalPageCount > 1"> <i-page :total=totalCount :page-size=listOpt.pageSize @on-change=turnPage($event)></i-page> </div> </div> '},function(e,t){e.exports='<div class=common-icon-repo-card> <router-link class=repo-card-in :to="{name: \'userRepoDetailModule\', params: { repoId: iconRepo.repoId, userId: iconRepo.ownerId }}"> <div class=repo> <ul class="repo-list f-cb" v-if="coverIcons.length > 0"> <li v-for="(item, index) in coverIcons" class="common-icon-item f-fl" v-html=item.iconContent> </li> </ul> <div class="repo-list list-empty" v-else> <div class=list-empty-in> <span class=icon-empty></span> <p>暂无图标!</p> </div> </div> <div class=repo-info> <div class=repo-info-top> <span class=name> <span class=icon-group></span> <span class=name-text>{{ iconRepo.repoName }}</span> </span> <span class=count>{{ iconRepo.iconCount || iconRepo.icons.length }} icons</span> </div> <div class=repo-info-bottom> <span class=time> <span class=icon-clock></span> <span class=name-text>{{ iconRepo.createTime | toDate}}</span> </span> <span v-if=false class=count> <span class=delete> <span class=icon-empty-fill></span> 删除 </span> <span class=edit> <span class=icon-brush></span> 编辑 </span> </span> <span v-else class=repo-prefix> <span class=icon-flag></span> <span class="">{{ iconRepo.iconPrefix}}</span> </span> </div> </div> </div> </router-link> </div> '},function(e,t){e.exports='<div class=common-icon-repo-list> <div class=iconRepo-list v-if="list.length > 0"> <icon-repo-card v-for="item in list" :key=item.repoId :icon-repo=item :is-owner=true></icon-repo-card> </div> <common-empty text=暂无图标库! v-else></common-empty> <div class=list-page v-if="totalPageCount > 1"> <i-page :total=totalCount :page-size=listOpt.pageSize @on-change=turnPage($event)></i-page> </div> </div> '},function(e,t){e.exports="<div class=login-dialog> <modal v-model=showModal :footer-hide=footerHide> <div class=login-dialog> <div slot=header> <div class=login-dialog-header> <h3 class=title>{{ loginDialogType=='login' ? '登录' : '注册' }}</h3> </div> </div> <div class=login-dialog-form> <login-form v-if=\"loginDialogType=='login'\"></login-form> <register-form v-else></register-form> </div> <div slot=footer> <div class=login-dialog-footer> <span v-if=\"loginDialogType=='login'\" @click=\"changeLoginType('register')\" class=go-register>去注册</span> <span v-else @click=\"changeLoginType('login')\" class=go-login>去登录</span> </div> </div> </div> </modal> </div> "},function(e,t){e.exports="<div class=login-form ref=checkContainer> <i-row> <i-col span=24> <i-input size=large ref=userName v-model=userName v-check=rules.userName placeholder=请输入手机号码></i-input> </i-col> </i-row> <i-row> <i-col span=24> <i-input size=large type=password ref=password v-model=password v-check=rules.password placeholder=请输入密码></i-input> </i-col> </i-row> <i-row> <i-col span=24> <i-button type=success class=login-form-submit @click=submit()>登录</i-button> </i-col> </i-row> </div> "},function(e,t){e.exports="<div class=register-form ref=checkContainer> <i-row> <i-col span=24> <i-input size=large v-model=userName ref=userName v-check=rules.userName placeholder=请输入手机号码></i-input> </i-col> </i-row> <i-row> <i-col span=24> <i-input size=large type=password v-model=password ref=password v-check=rules.password placeholder=请输入密码></i-input> </i-col> </i-row> <i-row> <i-col span=24> <i-input type=password size=large v-model=rePassword ref=rePassword v-check=rules.rePassword placeholder=请再次确认密码></i-input> </i-col> </i-row> <i-row> <i-col span=24> <i-button type=success class=register-form-submit @click=submit()>注册</i-button> </i-col> </i-row> </div> "},function(e,t){e.exports="<div class=common-search-input> <i-input v-model=value :placeholder=placeholder @on-enter=doSearch> <i-button @click=doSearch slot=append> <span class=icon-search></span> </i-button> </i-input> </div> "},function(e,t){e.exports='<header class="top-bar head"> <div class=top-bar-center> <a href=/ class="top-bar-icon icon-flashlight-fill f-fl"></a> <ul class="top-bar-menu f-fl"> <li v-for="item in menuList" class="top-bar-menu-item f-fl" :class=getActiveTab(item.moduleName) @click="goModule(item.moduleName, item.noNeedLogin)"> <span class=text>{{ item.text }}</span> </li> </ul> <div class="top-bar-user f-fr"> <div v-if=isLogin class=top-bar-user-info> <poptip trigger=hover placement=bottom> <a href=# class="user icon-people-fill"></a> <div slot=title> <p class=title>欢迎使用!</p> </div> <div slot=content> <ul class=entrance> <li @click=logout class=entrance-item> <a>退出</a> </li> </ul> </div> </poptip> </div> <div v-else class="top-bar-user-login f-cb"> <a v-if=userInfo.loginUrl class=login :href=userInfo.loginUrl target=_self>登录</a> <template v-else> <span class=login @click="login(\'login\')">登录</span> <span class=register @click="login(\'register\')">注册</span> </template> </div> </div> <div class="top-bar-search f-fr" v-if=showSearchInput> <search-input @search=search($event) :init-value=q></search-input> </div> </div> </header> '},function(e,t){e.exports='<div class=docs-icon-maker> <h3 class=maker-title>图标绘制</h3> <div class=maker-content> <div class=help-contents> <div class=svg-container id=rule> <svg xmlns=http://www.w3.org/2000/svg width=960 height=560 viewBox="0 0 960 560"> <path fill=#0D0931 d="M58.941 72.499v1.72a31.385 31.385 0 0 1 8.286 6.195c5.775 6.053 8.847 13.972 8.65 22.294-.278 11.696-7.135 21.861-16.935 26.984v1.695c10.652-5.251 18.174-16.101 18.472-28.641.313-13.221-7.299-24.798-18.473-30.247zM158.51 74.198a31.385 31.385 0 0 1 8.326 6.214c4.967 5.209 7.921 11.799 8.527 18.838h1.552c-.969-11.761-8.207-21.813-18.403-26.771v1.719h-.002zm16.972 28.547c-.292 11.694-7.164 21.853-16.972 26.964v1.695c10.673-5.244 18.215-16.103 18.512-28.66h-1.54z"></path> <text transform="translate(232.39 85.865)" fill=#333 font-family="\'MicrosoftYaHei\'" font-size=14>闭合 </text> <text transform="translate(232.39 111.075)" fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>图形需要封闭,不能有出现未闭合图形 </text> <text transform="translate(232.39 246.325)" fill=#333 font-family="\'MicrosoftYaHei\'" font-size=14>合并 </text> <text transform="translate(232.39 271.534)"> <tspan x=0 y=0 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>如果有两个以上图形,或者有布尔关系 </tspan> <tspan x=0 y=20 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>的图形,请对图形合并并且扩展 </tspan> </text> <text transform="translate(232.39 383.062)" fill=#333 font-family="\'MicrosoftYaHei\'" font-size=14>大小 </text> <text transform="translate(232.39 408.272)"> <tspan x=0 y=0 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12> 在限定边框内绘制完成图形,尽量撑满绘 </tspan> <tspan x=0 y=20 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12> 制区域,以16X16点阵作为对齐以及细节 </tspan> <tspan x=0 y=40 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>参考</tspan> </text> <text transform="translate(721.366 85.865)" fill=#333 font-family="\'MicrosoftYaHei\'" font-size=14>节点 </text> <text transform="translate(721.366 111.075)"> <tspan x=0 y=0 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>图形尽量减少节点使用,简化图形去除 </tspan> <tspan x=0 y=20 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>无用节点</tspan> </text> <text transform="translate(721.366 246.325)" fill=#333 font-family="\'MicrosoftYaHei\'" font-size=14>填色 </text> <text transform="translate(721.366 271.534)"> <tspan x=0 y=0 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>完成设计的图形需要填充相关的颜色, </tspan> <tspan x=0 y=20 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>建议用纯色(不支持渐变、透明度) </tspan> </text> <text transform="translate(721.366 383.062)" fill=#333 font-family="\'MicrosoftYaHei\'" font-size=14>轮廓化 </text> <text transform="translate(721.366 408.272)"> <tspan x=0 y=0 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>将描边转化为闭合图形,选择要转换的 </tspan> <tspan x=0 y=20 fill=#999 font-family="\'MicrosoftYaHei\'" font-size=12>描边,对象-路径-轮廓化描边 </tspan> </text> <g fill=#0D0931> <path d="M70.859 237.74a16.692 16.692 0 0 0-3.586-5.319 16.68 16.68 0 0 0-11.833-4.9c-2.258 0-4.45.442-6.514 1.314a16.692 16.692 0 0 0-5.319 3.586 16.675 16.675 0 0 0-4.902 11.832 16.703 16.703 0 0 0 4.902 11.832 16.68 16.68 0 0 0 11.833 4.9c2.258 0 4.45-.442 6.514-1.314a16.692 16.692 0 0 0 5.319-3.586 16.692 16.692 0 0 0 3.586-5.319 16.625 16.625 0 0 0 1.314-6.513 16.625 16.625 0 0 0-1.314-6.513zm26.803 26.78a9.125 9.125 0 0 0-1.963-2.911 9.143 9.143 0 0 0-2.91-1.963 9.235 9.235 0 0 0-7.132 0 9.104 9.104 0 0 0-2.91 1.963 9.113 9.113 0 0 0-1.962 2.91 9.076 9.076 0 0 0-.721 3.566 9.12 9.12 0 0 0 2.683 6.477 9.143 9.143 0 0 0 2.91 1.963 9.108 9.108 0 0 0 3.567.72 9.12 9.12 0 0 0 6.477-2.683 9.118 9.118 0 0 0 2.684-6.477 9.149 9.149 0 0 0-.723-3.565zm-2.398 6.116a6.53 6.53 0 0 1-1.406 2.084 6.523 6.523 0 0 1-2.084 1.405 6.604 6.604 0 0 1-5.104 0 6.523 6.523 0 0 1-2.084-1.405 6.54 6.54 0 0 1-1.92-4.636c0-.885.173-1.744.516-2.552a6.52 6.52 0 0 1 1.404-2.084 6.54 6.54 0 0 1 4.637-1.92 6.523 6.523 0 0 1 4.636 1.92 6.523 6.523 0 0 1 1.92 4.636 6.54 6.54 0 0 1-.515 2.552z"></path> <path d="M98.382 277.717H38.705v-50.67h59.677v50.67zm-58.73-.946h57.783v-48.776H39.652v48.776z"></path> <path d="M66.887 225.864h3.314v3.314h-3.314zm0 49.723h3.314v3.314h-3.314zm29.114-49.723h3.314v3.314h-3.314zm-58.952 0h3.314v3.314h-3.314zm0 23.205h3.314v3.314h-3.314zm0 26.518h3.314v3.314h-3.314zm58.952 0h3.314v3.314h-3.314zm0-26.518h3.314v3.314h-3.314z"></path> </g> <path d="M170.081 237.74a16.692 16.692 0 0 0-3.586-5.319 16.68 16.68 0 0 0-11.833-4.9c-2.258 0-4.45.442-6.514 1.314a16.692 16.692 0 0 0-5.319 3.586 16.675 16.675 0 0 0-4.902 11.832 16.703 16.703 0 0 0 4.902 11.832 16.68 16.68 0 0 0 11.833 4.9c2.258 0 4.45-.442 6.514-1.314a16.692 16.692 0 0 0 5.319-3.586 16.692 16.692 0 0 0 3.586-5.319 16.625 16.625 0 0 0 1.314-6.513 16.625 16.625 0 0 0-1.314-6.513zm26.804 26.78a9.125 9.125 0 0 0-1.963-2.911 9.143 9.143 0 0 0-2.91-1.963 9.235 9.235 0 0 0-7.132 0 9.104 9.104 0 0 0-2.91 1.963 9.113 9.113 0 0 0-1.962 2.91 9.076 9.076 0 0 0-.721 3.566 9.12 9.12 0 0 0 2.683 6.477 9.143 9.143 0 0 0 2.91 1.963 9.108 9.108 0 0 0 3.567.72 9.12 9.12 0 0 0 6.477-2.683 9.118 9.118 0 0 0 2.684-6.477 9.185 9.185 0 0 0-.723-3.565zm-2.399 6.116a6.53 6.53 0 0 1-1.406 2.084 6.523 6.523 0 0 1-2.084 1.405 6.604 6.604 0 0 1-5.104 0 6.523 6.523 0 0 1-2.084-1.405 6.54 6.54 0 0 1-1.92-4.636c0-.885.173-1.744.516-2.552a6.52 6.52 0 0 1 1.404-2.084 6.54 6.54 0 0 1 4.637-1.92 6.523 6.523 0 0 1 4.636 1.92 6.523 6.523 0 0 1 1.92 4.636 6.54 6.54 0 0 1-.515 2.552z" fill=#0D0931></path> <g fill=#0D0931> <path d="M90.013 394.81a23.587 23.587 0 0 0-5.078-7.53 23.6 23.6 0 0 0-7.53-5.077 23.54 23.54 0 0 0-9.223-1.862c-3.197 0-6.3.627-9.223 1.862a23.6 23.6 0 0 0-7.53 5.077 23.63 23.63 0 0 0-6.941 16.75c0 3.196.627 6.3 1.863 9.22a23.598 23.598 0 0 0 5.078 7.53 23.62 23.62 0 0 0 16.753 6.94c3.197 0 6.3-.627 9.223-1.862a23.587 23.587 0 0 0 7.53-5.078 23.62 23.62 0 0 0 6.94-16.75c0-3.196-.627-6.298-1.862-9.22zm-11.865 16.257a1.995 1.995 0 0 1-.365.486c-2.092 2.581-5.458 4.141-8.975 4.141a11.314 11.314 0 0 1-3.839-.663c-2.894-1.026-5.222-3.133-6.551-5.932a11.539 11.539 0 0 1-.441-8.907c1.655-4.617 6.049-7.72 10.936-7.72 1.221 0 2.443.195 3.632.578l.45.146.696-1.925c.065-.198.126-.371.198-.573.103-.366.321-.595.648-.71l.189-.033c.14 0 .701.07.893.413l2.512 5.434c.102.207.12.426.058.682a.856.856 0 0 1-.451.545l-5.724 2.602c-.323 0-.661-.173-.807-.41-.171-.403-.175-.714-.045-.957l.838-2.436-.478-.149a9.012 9.012 0 0 0-2.634-.394c-3.722 0-7.063 2.347-8.313 5.837a8.793 8.793 0 0 0 .331 6.749 8.713 8.713 0 0 0 7.9 5.03c2.741 0 5.338-1.23 6.942-3.286.466-.535 1.002-.67 1.604-.447.339.113.627.387.8.763.162.34.164.704-.004 1.136z"></path> <path d="M93.739 429.715H42.624v-51.369h51.114v51.369zm-50.155-.96h49.195v-49.449H43.584v49.449z"></path> </g> <g fill=#0D0931> <path d="M193.468 393.175a27.78 27.78 0 0 0-5.978-8.865 27.774 27.774 0 0 0-8.865-5.976 27.712 27.712 0 0 0-10.858-2.192 27.807 27.807 0 0 0-19.723 8.168 27.812 27.812 0 0 0-8.171 19.72 27.802 27.802 0 0 0 8.171 19.72 27.812 27.812 0 0 0 19.723 8.17 27.74 27.74 0 0 0 10.858-2.192 27.78 27.78 0 0 0 8.865-5.978 27.812 27.812 0 0 0 8.17-19.72c0-3.762-.738-7.415-2.192-10.855zm-13.967 19.14c-.092.186-.227.358-.429.572-2.464 3.038-6.425 4.875-10.566 4.875a13.308 13.308 0 0 1-4.52-.78c-3.407-1.208-6.148-3.689-7.712-6.983a13.581 13.581 0 0 1-.518-10.486c1.948-5.436 7.122-9.089 12.875-9.089 1.438 0 2.877.229 4.275.681l.53.172.819-2.267c.077-.233.148-.438.233-.675.121-.431.377-.701.763-.837l.222-.038c.165 0 .825.083 1.051.486l2.957 6.397c.119.244.141.502.067.802-.061.262-.26.505-.531.642l-6.739 3.063c-.38 0-.779-.203-.95-.483-.202-.474-.205-.841-.054-1.126l.988-2.865-.562-.176a10.593 10.593 0 0 0-3.101-.464c-4.383 0-8.316 2.762-9.787 6.872a10.35 10.35 0 0 0 .39 7.945 10.252 10.252 0 0 0 9.301 5.921c3.228 0 6.283-1.447 8.172-3.869.549-.63 1.18-.789 1.889-.527.399.133.738.455.941.898.19.401.193.83-.004 1.339z"></path> <path d="M193.324 429.715H142.21v-51.369h51.114v51.369zm-50.154-.96h49.195v-49.449H143.17v49.449z"></path> </g> <g fill=#0D0931> <path d="M583.241 93.154l-.003 46.454h2.236V91.526c-.011-11.001-9.527-11.001-11.055-11.001H539.27v2.217h33.526c1.455.003 10.445.003 10.445 10.412z"></path> <path d="M567.545 79.497h4.239v4.239h-4.239zm14.925 16.55h4.239v4.239h-4.239z"></path> </g> <g fill=#0D0931> <path d="M678.174 93.154l-.003 46.454h2.236V91.526c-.003-3.975 1.661-4.969 0-6.591-2.936-2.866-10.078-4.41-11.055-4.41h-35.149v2.217h33.526c1.455.003 10.445.003 10.445 10.412z"></path> <path d="M676.904 84.436h4.239v4.239h-4.239zm-13.731-4.939h4.239v4.239h-4.239zm13.731 16.55h4.239v4.239h-4.239z"></path> <path d="M690.884 100.645l-24.428-27.522.75-.665 24.426 27.522z"></path> <circle cx=666.435 cy=72.461 r=2.065></circle> <circle cx=690.857 cy=100.231 r=2.065></circle> </g> <g fill=#0D0931> <path d="M563.203 432.184c-14.582 0-26.444-11.863-26.444-26.444s11.864-26.444 26.444-26.444c14.581 0 26.444 11.864 26.444 26.444.001 14.58-11.863 26.444-26.444 26.444zm0-48.164c-11.977 0-21.721 9.743-21.721 21.721s9.745 21.721 21.721 21.721 21.721-9.743 21.721-21.721-9.742-21.721-21.721-21.721z"></path> <path d="M590.723 433.297h-55.02v-55.099h55.02v55.099zm-54.148-1.03h53.274v-53.039h-53.274v53.039z"></path> <path d="M561.9 376.887h3.778v3.778H561.9zm0 5.528h3.778v3.778H561.9zm26.487-5.528h3.778v3.778h-3.778zm0 53.855h3.778v3.778h-3.778zm-54.573 0h3.778v3.778h-3.778zm0-26.92h3.778v3.778h-3.778zm5.549 0h3.778v3.778h-3.778zm0-21.854h3.778v3.778h-3.778zm0 43.261h3.778v3.778h-3.778zm49.024-21.407h3.778v3.778h-3.778zm-5.038-21.854h3.778v3.778h-3.778zm0 43.261h3.778v3.778h-3.778zm-.446-21.371h3.778v3.778h-3.778zm-49.089-26.971h3.778v3.778h-3.778zm28.086 53.855h3.778v3.778H561.9z"></path> <path d="M585.685 427.96h-44.432v-44.496h44.432v44.496zm-43.728-.831h43.023v-42.834h-43.023v42.834z"></path> </g> <g fill=#0D0931> <path d="M663.563 432.147c-14.581 0-26.444-11.863-26.444-26.444s11.864-26.444 26.444-26.444c14.582 0 26.444 11.863 26.444 26.444s-11.862 26.444-26.444 26.444zm0-48.165c-11.977 0-21.721 9.743-21.721 21.721s9.743 21.721 21.721 21.721 21.721-9.743 21.721-21.721-9.743-21.721-21.721-21.721zm-25.969-3.989h3.778v3.778h-3.778zm0 47.455h3.778v3.778h-3.778zm47.677 0h3.778v3.778h-3.778z"></path> <path d="M685.271 404.075h3.778v3.778h-3.778zm0-24.082h3.778v3.778h-3.778zm-23.597 0h3.778v3.778h-3.778zm0 47.455h3.778v3.778h-3.778zm-24.08-23.634h3.778v3.778h-3.778z"></path> <path d="M687.795 429.97h-48.463v-48.534h48.465v48.534h-.002zm-47.695-.907h46.927v-46.72H640.1v46.72z"></path> <path d="M663.564 429.784c-13.279 0-24.081-10.802-24.081-24.08s10.802-24.081 24.081-24.081 24.08 10.802 24.08 24.081c0 13.28-10.803 24.08-24.08 24.08zm0-47.373c-12.844 0-23.294 10.45-23.294 23.294s10.45 23.293 23.294 23.293c12.844 0 23.293-10.45 23.293-23.293 0-12.846-10.45-23.294-23.293-23.294z"></path> </g> <g fill=#0D0931> <path d="M586.051 246.962c-.539-1.531-1.897-2.635-3.541-2.875l-10.815-1.583-4.695-9.602c-.73-1.497-2.303-2.461-4.011-2.461-1.702 0-3.277.964-4.011 2.461l-4.695 9.604-10.812 1.585c-1.648.236-3.007 1.337-3.547 2.875-.542 1.555-.141 3.249 1.047 4.417l7.94 7.816-1.84 10.825c-.278 1.623.446 3.29 1.845 4.247 1.339.906 3.218 1.008 4.666.246l9.411-4.992 9.415 4.997a4.562 4.562 0 0 0 4.67-.253c1.39-.954 2.114-2.621 1.836-4.241l-1.84-10.825 7.94-7.816a4.214 4.214 0 0 0 1.037-4.425z"></path> <path d="M570.903 233.27l3.243 6.632 7.953 1.164 1.574-.266a1.528 1.528 0 0 0 1.226-1.099 1.595 1.595 0 0 0-.454-1.588l-2.881-2.714.598-3.824a1.613 1.613 0 0 0-.68-1.562 1.623 1.623 0 0 0-1.701-.102l-3.385 1.875-3.537-1.772a1.586 1.586 0 0 0-1.649.117 1.526 1.526 0 0 0-.606 1.529l.299 1.61z"></path> </g> <linearGradient id=a gradientUnits=userSpaceOnUse x1=663.563 y1=230.44 x2=663.563 y2=275.048> <stop offset=0 stop-color=#ba9bc9></stop> <stop offset=1 stop-color=#1b1464></stop> </linearGradient> <path fill=url(#a) d="M686.625 246.962c-.539-1.531-1.897-2.635-3.541-2.875l-10.815-1.583-4.695-9.604c-.73-1.497-2.303-2.461-4.011-2.461-1.702 0-3.277.964-4.011 2.461l-4.695 9.604-10.812 1.585c-1.648.236-3.007 1.337-3.547 2.875-.542 1.555-.141 3.249 1.047 4.417l7.94 7.816-1.84 10.825c-.278 1.623.446 3.29 1.845 4.247 1.339.906 3.218 1.008 4.666.246l9.411-4.992 9.415 4.997a4.562 4.562 0 0 0 4.67-.253c1.39-.954 2.114-2.621 1.836-4.241l-1.84-10.825 7.94-7.816a4.212 4.212 0 0 0 1.037-4.423z"></path> <linearGradient id=b gradientUnits=userSpaceOnUse x1=678.34 y1=229.717 x2=678.34 y2=241.066> <stop offset=0 stop-color=#ba9bc9></stop> <stop offset=1 stop-color=#1b1464></stop> </linearGradient> <path fill=url(#b) d="M671.477 233.27l3.243 6.632 7.953 1.164 1.574-.266a1.528 1.528 0 0 0 1.226-1.099 1.595 1.595 0 0 0-.454-1.588l-2.881-2.714.598-3.824a1.613 1.613 0 0 0-.68-1.562 1.623 1.623 0 0 0-1.701-.102l-3.385 1.875-3.537-1.772a1.586 1.586 0 0 0-1.649.117 1.526 1.526 0 0 0-.606 1.529l.299 1.61z"></path> <path fill=#94BC4E d="M75.452 158.304l-8.77 8.853a1.006 1.006 0 0 1-1.421.003l-4.341-4.3a1.005 1.005 0 0 1-.009-1.421 1.008 1.008 0 0 1 1.422-.005l3.627 3.593 8.064-8.139a1.006 1.006 0 1 1 1.428 1.416z"></path> <path fill=#DE625C d="M173.005 167.327c-.391.391-1.03.39-1.422-.002l-3.837-3.837-3.61 3.61a1.005 1.005 0 0 1-1.422.002 1.006 1.006 0 0 1 .003-1.421l3.675-3.675-3.863-3.863a1.01 1.01 0 0 1 0-1.424 1.008 1.008 0 0 1 1.422.002l3.837 3.837 3.61-3.61a1.005 1.005 0 0 1 1.422-.002 1.006 1.006 0 0 1-.003 1.421l-3.675 3.675 3.863 3.863a1.01 1.01 0 0 1 0 1.424z"></path> <path fill=#94BC4E d="M570.259 158.304l-8.77 8.853a1.006 1.006 0 0 1-1.421.003l-4.341-4.3a1.005 1.005 0 0 1-.009-1.421 1.008 1.008 0 0 1 1.422-.005l3.627 3.593 8.064-8.139a1.006 1.006 0 1 1 1.428 1.416z"></path> <path fill=#DE625C d="M668.801 167.327c-.391.391-1.03.39-1.422-.002l-3.837-3.837-3.61 3.61a1.005 1.005 0 0 1-1.422.002 1.006 1.006 0 0 1 .004-1.421l3.675-3.675-3.863-3.863a1.01 1.01 0 0 1 0-1.424 1.008 1.008 0 0 1 1.422.002l3.837 3.837 3.61-3.61a1.005 1.005 0 0 1 1.422-.002 1.006 1.006 0 0 1-.003 1.421l-3.675 3.675 3.863 3.863a1.01 1.01 0 0 1-.001 1.424z"></path> <path fill=#94BC4E d="M75.452 303.089l-8.77 8.853a1.006 1.006 0 0 1-1.421.004l-4.341-4.3a1.005 1.005 0 0 1-.009-1.421 1.008 1.008 0 0 1 1.422-.005l3.627 3.593 8.064-8.139a1.006 1.006 0 1 1 1.428 1.415z"></path> <path fill=#DE625C d="M173.005 312.112c-.391.391-1.03.39-1.422-.002l-3.837-3.837-3.61 3.61a1.005 1.005 0 0 1-1.422.002 1.006 1.006 0 0 1 .003-1.421l3.675-3.675-3.863-3.863a1.01 1.01 0 0 1 0-1.424 1.008 1.008 0 0 1 1.422.002l3.837 3.837 3.61-3.61a1.005 1.005 0 0 1 1.422-.002 1.006 1.006 0 0 1-.003 1.421l-3.675 3.675 3.863 3.863a1.01 1.01 0 0 1 0 1.424z"></path> <path fill=#94BC4E d="M570.259 303.089l-8.77 8.853a1.006 1.006 0 0 1-1.421.004l-4.341-4.3a1.005 1.005 0 0 1-.009-1.421 1.008 1.008 0 0 1 1.422-.005l3.627 3.593 8.064-8.139a1.006 1.006 0 1 1 1.428 1.415z"></path> <path fill=#DE625C d="M668.801 312.112c-.391.391-1.03.39-1.422-.002l-3.837-3.837-3.61 3.61a1.005 1.005 0 0 1-1.422.002 1.006 1.006 0 0 1 .003-1.421l3.675-3.675-3.863-3.863a1.01 1.01 0 0 1 0-1.424 1.008 1.008 0 0 1 1.422.002l3.837 3.837 3.61-3.61a1.005 1.005 0 0 1 1.422-.002 1.006 1.006 0 0 1-.003 1.421l-3.675 3.675 3.863 3.863a1.01 1.01 0 0 1 0 1.424z"></path> <path fill=#94BC4E d="M75.452 459.191l-8.77 8.853a1.006 1.006 0 0 1-1.421.003l-4.341-4.3a1.005 1.005 0 0 1-.009-1.421 1.008 1.008 0 0 1 1.422-.005l3.627 3.593 8.064-8.139a1.006 1.006 0 1 1 1.428 1.416z"></path> <path fill=#DE625C d="M173.005 468.213c-.391.391-1.03.39-1.422-.002l-3.837-3.837-3.61 3.61a1.005 1.005 0 0 1-1.422.002 1.006 1.006 0 0 1 .003-1.421l3.675-3.675-3.863-3.863a1.01 1.01 0 0 1 0-1.424 1.008 1.008 0 0 1 1.422.002l3.837 3.837 3.61-3.61a1.005 1.005 0 0 1 1.422-.002 1.006 1.006 0 0 1-.003 1.421l-3.675 3.675 3.863 3.863a1.01 1.01 0 0 1 0 1.424z"></path> <path fill=#94BC4E d="M570.259 459.191l-8.77 8.853a1.006 1.006 0 0 1-1.421.003l-4.341-4.3a1.005 1.005 0 0 1-.009-1.421 1.008 1.008 0 0 1 1.422-.005l3.627 3.593 8.064-8.139a1.006 1.006 0 1 1 1.428 1.416z"></path> <path fill=#DE625C d="M668.801 468.213c-.391.391-1.03.39-1.422-.002l-3.837-3.837-3.61 3.61a1.005 1.005 0 0 1-1.422.002 1.006 1.006 0 0 1 .004-1.421l3.675-3.675-3.863-3.863a1.01 1.01 0 0 1 0-1.424 1.008 1.008 0 0 1 1.422.002l3.837 3.837 3.61-3.61a1.005 1.005 0 0 1 1.422-.002 1.006 1.006 0 0 1-.003 1.421l-3.675 3.675 3.863 3.863a1.01 1.01 0 0 1-.001 1.424z"></path> </svg> </div> <div class=contents-title id=step>1. 下载原文件 <a href=http://bambooshadow.oss-cn-hangzhou.aliyuncs.com/%E5%9B%BE%E6%A0%87%E5%88%B6%E4%BD%9C%E6%A8%A1%E7%89%88.ai>图标制作模板.AI</a> </div> <div class=contents-detail> <svg version=1.1 id=图形 xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink x=0px y=0px width=150.636px height=150.678px viewBox="15.167 -16.333 1000.636 1000.678" enable-background="new 15.167 -16.333 1000.636 1000.678" xml:space=preserve><g><rect x=110.915 y=67.842 fill=none stroke=#A8A8A8 stroke-miterlimit=10 width=814 height=814></rect><g><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=130.842 x2=923.915 y2=130.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=194.842 x2=923.915 y2=194.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=256.842 x2=923.915 y2=256.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=318.842 x2=923.915 y2=318.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=380.842 x2=923.915 y2=380.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=444.842 x2=923.915 y2=444.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=506.842 x2=923.915 y2=506.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=568.842 x2=923.915 y2=568.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=630.842 x2=923.915 y2=630.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=694.842 x2=923.915 y2=694.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=756.842 x2=923.915 y2=756.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=818.842 x2=923.915 y2=818.842></line></g><g><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=173.915 y1=880.842 x2=173.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=237.915 y1=880.842 x2=237.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=299.915 y1=880.842 x2=299.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=361.915 y1=880.842 x2=361.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=423.915 y1=880.842 x2=423.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=487.915 y1=880.842 x2=487.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=549.915 y1=880.842 x2=549.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=611.915 y1=880.842 x2=611.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=673.915 y1=880.842 x2=673.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=737.915 y1=880.842 x2=737.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=799.915 y1=880.842 x2=799.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=861.915 y1=880.842 x2=861.915 y2=68.842></line></g></g><line fill=none stroke=#666666 stroke-miterlimit=10 x1=111.818 y1=67.839 x2=921.818 y2=879.839></line><line fill=none stroke=#666666 stroke-miterlimit=10 x1=922.818 y1=68.839 x2=110.915 y2=880.842></line><path fill=none stroke=#666666 stroke-miterlimit=10 d="M798.915,795.875c0,12.684-10.272,22.966-22.944,22.966H259.859\n c-12.672,0-22.944-10.282-22.944-22.966V153.141c0-12.684,10.272-22.966,22.944-22.966h516.112\n c12.672,0,22.944,10.282,22.944,22.966V795.875z"></path><path fill=none stroke=#666666 stroke-miterlimit=10 d="M860.915,733.258c0,12.657-10.272,22.917-22.944,22.917H195.859\n c-12.672,0-22.944-10.26-22.944-22.917V217.758c0-12.657,10.272-22.917,22.944-22.917h642.112c12.672,0,22.944,10.26,22.944,22.917\n V733.258z"></path><path fill=none stroke=#666666 stroke-miterlimit=10 d="M830.915,765.897c0,12.672-10.272,22.944-22.944,22.944H221.859\n c-12.672,0-22.944-10.272-22.944-22.944V179.786c0-12.672,10.272-22.944,22.944-22.944h586.112\n c12.672,0,22.944,10.272,22.944,22.944V765.897z"></path><circle fill=none stroke=#666666 stroke-miterlimit=10 cx=518.915 cy=474.842 r=156></circle><ellipse fill=none stroke=#666666 stroke-miterlimit=10 cx=517.866 cy=474.842 rx=342.951 ry=344></ellipse></svg> <div class=detail-right>图标在绘制时均以标准图标大小16x16px绘制,因为在制作成字体时文件需要 设置较高的清晰度,所以图标路径也需要等比例放大。</div> </div> <div class=contents-title>2. 设置图标大小</div> <div class=contents-detail> <svg version=1.1 id=图形 xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink x=0px y=0px width=150.636px height=150.678px viewBox="0 0 1000.636 1000.678" enable-background="new 0 0 1000.636 1000.678" xml:space=preserve><g><rect x=110.915 y=67.842 fill=none stroke=#A8A8A8 stroke-miterlimit=10 width=814 height=814></rect><g><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=130.842 x2=923.915 y2=130.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=194.842 x2=923.915 y2=194.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=256.842 x2=923.915 y2=256.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=318.842 x2=923.915 y2=318.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=380.842 x2=923.915 y2=380.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=444.842 x2=923.915 y2=444.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=506.842 x2=923.915 y2=506.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=568.842 x2=923.915 y2=568.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=630.842 x2=923.915 y2=630.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=694.842 x2=923.915 y2=694.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=756.842 x2=923.915 y2=756.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=111.915 y1=818.842 x2=923.915 y2=818.842></line></g><g><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=173.915 y1=880.842 x2=173.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=237.915 y1=880.842 x2=237.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=299.915 y1=880.842 x2=299.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=361.915 y1=880.842 x2=361.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=423.915 y1=880.842 x2=423.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=487.915 y1=880.842 x2=487.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=549.915 y1=880.842 x2=549.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=611.915 y1=880.842 x2=611.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=673.915 y1=880.842 x2=673.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=737.915 y1=880.842 x2=737.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=799.915 y1=880.842 x2=799.915 y2=68.842></line><line fill=none stroke=#A8A8A8 stroke-miterlimit=10 x1=861.915 y1=880.842 x2=861.915 y2=68.842></line></g></g><line fill=none stroke=#666666 stroke-miterlimit=10 x1=111.818 y1=67.839 x2=921.818 y2=879.839></line><line fill=none stroke=#666666 stroke-miterlimit=10 x1=922.818 y1=68.839 x2=110.915 y2=880.842></line><path fill=none stroke=#666666 stroke-miterlimit=10 d="M798.915,795.875c0,12.684-10.272,22.966-22.944,22.966H259.859\n c-12.672,0-22.944-10.282-22.944-22.966V153.141c0-12.684,10.272-22.966,22.944-22.966h516.112\n c12.672,0,22.944,10.282,22.944,22.966L798.915,795.875L798.915,795.875z"></path><path fill=none stroke=#666666 stroke-miterlimit=10 d="M860.915,733.258c0,12.657-10.272,22.917-22.944,22.917H195.859\n c-12.672,0-22.944-10.26-22.944-22.917v-515.5c0-12.657,10.272-22.917,22.944-22.917h642.112c12.672,0,22.944,10.26,22.944,22.917\n L860.915,733.258L860.915,733.258z"></path><path fill=none stroke=#666666 stroke-miterlimit=10 d="M830.915,765.897c0,12.672-10.272,22.944-22.944,22.944H221.859\n c-12.672,0-22.944-10.272-22.944-22.944V179.786c0-12.672,10.272-22.944,22.944-22.944h586.112\n c12.672,0,22.944,10.272,22.944,22.944L830.915,765.897L830.915,765.897z"></path><circle fill=none stroke=#666666 stroke-miterlimit=10 cx=518.915 cy=474.842 r=156></circle><ellipse fill=none stroke=#666666 stroke-miterlimit=10 cx=517.866 cy=474.842 rx=342.951 ry=344></ellipse><path fill=#999999 d="M833.932,341.402c-17.363-41.023-42.179-77.846-73.821-109.467c-31.626-31.624-68.452-56.454-109.479-73.798\n c-42.484-17.972-87.576-27.066-134.091-27.066c-46.482,0-91.608,9.112-134.092,27.066c-41.027,17.36-77.853,42.174-109.479,73.798\n c-31.625,31.621-56.458,68.444-73.821,109.467c-17.973,42.479-27.085,87.567-27.085,134.044s9.113,91.598,27.085,134.044\n c17.363,41.023,42.179,77.828,73.821,109.467c31.626,31.622,68.452,56.452,109.479,73.814\n c42.484,17.97,87.576,27.068,134.092,27.068c46.481,0,91.608-9.114,134.091-27.068c41.027-17.361,77.853-42.174,109.479-73.814\n c31.625-31.623,56.46-68.445,73.821-109.467c17.973-42.479,27.069-87.567,27.069-134.044\n C861.001,428.987,851.887,383.881,833.932,341.402z M661.439,577.75c-1.135,2.302-2.795,4.42-5.302,7.063\n c-30.423,37.517-79.344,60.195-130.483,60.195c-19.328-0.016-38.113-3.252-55.815-9.637c-42.077-14.921-75.922-45.545-95.25-86.229\n c-19.429-40.971-21.699-86.976-6.403-129.488c24.054-67.124,87.949-112.229,159.009-112.229c17.752,0,35.522,2.828,52.8,8.401\n l6.539,2.118l10.113-27.998c0.95-2.879,1.829-5.403,2.88-8.334c1.491-5.317,4.659-8.655,9.419-10.332l2.744-0.473\n c2.033,0,10.181,1.015,12.976,5.996l36.521,78.997c1.474,3.015,1.745,6.2,0.83,9.908c-0.762,3.234-3.219,6.232-6.556,7.926\n l-83.223,37.822c-4.692,0-9.621-2.508-11.739-5.962c-2.49-5.859-2.541-10.382-0.66-13.905l12.196-35.383l-6.945-2.168\n c-12.044-3.744-25.307-5.725-38.3-5.725c-54.121,0-102.702,34.112-120.861,84.856c-11.519,32.25-9.808,67.09,4.811,98.103\n c14.635,31.03,40.366,54.421,72.449,65.837c13.501,4.844,27.781,7.283,42.416,7.283c39.858,0,77.599-17.87,100.924-47.782\n c6.776-7.774,14.567-9.739,23.325-6.503c4.929,1.642,9.113,5.623,11.62,11.093C663.844,566.163,663.878,571.465,661.439,577.75z"></path></svg> <div class=detail-right>设计师可以直接将画好的图标路径复制到模版里,根据模板的辅助线,对图标 进行位置的调节,居中,四周等距,保证图标的统一。</div> </div> <div class=contents-title>3. 另存为svg格式</div> <div class=contents-detail> <svg version=1.1 id=图层_1 xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink x=0px y=0px width=453.833px height=276.833px viewBox="0 0 453.833 276.833" enable-background="new 0 0 453.833 276.833" xml:space=preserve><path fill=#E8E8E8 d="M18.275,13.139h417.653c1.098,0,1.989,0.941,1.989,2.102v242.563c0,1.161-0.89,2.102-1.989,2.102H18.275\n c-1.098,0-1.989-0.941-1.989-2.102V15.241C16.286,14.08,17.176,13.139,18.275,13.139z"></path><path fill=#C8C8C8 d="M18.275,12.387h417.653c1.098,0,1.989,1.001,1.989,2.235v19.691c0,1.234-0.89,2.235-1.989,2.235H18.275\n c-1.098,0-1.989-1.001-1.989-2.235V14.622C16.286,13.388,17.176,12.387,18.275,12.387z"></path><path fill=#FFFFFF stroke=#0764F2 stroke-miterlimit=10 d="M121.137,61.387H349.5c0.989,0,1.791,1.001,1.791,2.235v19.691\n c0,1.234-0.802,2.235-1.791,2.235H121.137c-0.989,0-1.791-1.001-1.791-2.235V63.622C119.347,62.388,120.148,61.387,121.137,61.387z"></path><path fill=#FFFFFF stroke=#BABABA stroke-miterlimit=10 d="M121.137,100.256H349.5c0.989,0,1.791,1.001,1.791,2.235v19.691\n c0,1.234-0.802,2.235-1.791,2.235H121.137c-0.989,0-1.791-1.001-1.791-2.235V102.49\n C119.347,101.256,120.148,100.256,121.137,100.256z"></path><path fill=#EFEFEF stroke=#BABABA stroke-miterlimit=10 d="M56.041,139.256h343.556c1.488,0,2.694,2.243,2.694,5.01v44.142\n c0,2.767-1.206,5.01-2.694,5.01H56.041c-1.488,0-2.694-2.243-2.694-5.01v-44.143C53.347,141.499,54.553,139.256,56.041,139.256z"></path><path fill=#FFFFFF stroke=#BABABA stroke-miterlimit=10 d="M121.338,150.256h253.961c1.1,0,1.991,4.024,1.991,8.987v79.187\n c0,4.963-0.892,8.987-1.991,8.987H121.338c-1.1,0-1.991-4.024-1.991-8.987v-79.187C119.347,154.279,120.238,150.256,121.338,150.256\n z"></path><path fill=#FFFFFF stroke=#BABABA stroke-miterlimit=10 d="M362.723,60.624h21.363c0.989,0,1.791,1.001,1.791,2.235V82.55\n c0,1.234-0.802,2.235-1.791,2.235h-21.363c-0.989,0-1.791-1.001-1.791-2.235V62.859C360.932,61.625,361.734,60.624,362.723,60.624z"></path><text transform="matrix(1 0 0 1 67.1617 79.0334)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=11>存储为:</text><text transform="matrix(1 0 0 1 78.1617 116.0335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=11>位置:</text><text transform="matrix(1 0 0 1 209.2828 28.0334)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=11>存储为:</text><circle fill=#979697 cx=53.5 cy=23.949 r=5></circle><circle fill=#979697 cx=72.5 cy=23.949 r=5></circle><circle fill=#9FC466 cx=90.5 cy=23.949 r=5></circle><rect x=122.5 y=64.949 fill=#ABCDFD width=57 height=17></rect><rect x=119.5 y=220.083 fill=#ABCDFD width=257 height=17></rect><text transform="matrix(1 0 0 1 127.1617 78.0334)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=11>ai 规范 file .ai</text><text transform="matrix(1 0 0 1 149.6617 116.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=11>原文件</text><text transform="matrix(1 0 0 1 149.6617 166.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=10>Adobe IIIustrator (ai)</text><text transform="matrix(1 0 0 1 149.6617 179.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=10>IIIustrator EPS (eps)</text><text transform="matrix(1 0 0 1 149.6617 192.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=10>IIIustrator Template (ait)</text><text transform="matrix(1 0 0 1 149.6617 205.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=10>Adobe PDF (pdf)</text><text transform="matrix(1 0 0 1 149.6617 218.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=10>SVG 压缩 (svgz)</text><text transform="matrix(1 0 0 1 149.6617 231.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=10>SVG (svg)</text><text transform="matrix(1 0 0 1 90.6617 155.5335)" fill=#333333 font-family="\'MicrosoftYaHeiLight\'" font-size=11>格式</text><path fill=#ABCDFD d="M141.595,107.802h-4.484l-0.08-0.222c-0.538-1.489-1.563-1.841-2.328-1.874h-5.805\n c-0.491,0-0.89,0.395-0.89,0.881v11.008c0,0.485,0.4,0.881,0.89,0.881h12.697c0.491,0,0.89-0.395,0.89-0.881v-8.911\n C142.485,108.197,142.085,107.802,141.595,107.802z"></path><path fill=#979697 d="M372.765,74.584l-2.436-3.213c-0.083-0.099-0.145-0.215-0.145-0.331c0-0.298,0.31-0.546,0.681-0.546\n c0.041,0,0.062,0,0.103,0s0.083,0,0.103,0h4.727c0.041-0.017,0.103-0.017,0.145-0.017c0.021,0,0.021,0,0.041,0c0,0,0.041,0,0.062,0\n h0.021c0.31,0.05,0.557,0.265,0.557,0.53c0,0.133-0.062,0.248-0.165,0.348l-2.415,3.196c-0.103,0.199-0.351,0.331-0.64,0.381\n C373.116,74.932,372.868,74.783,372.765,74.584z"></path><g><path fill=#979697 d="M343.042,113.626h-0.019c-0.019,0-0.056,0-0.056,0c-0.019,0-0.019,0-0.037,0c-0.037,0-0.093,0-0.13,0.015\n h-4.238c-0.019,0-0.056,0-0.093,0s-0.056,0-0.093,0c-0.333,0-0.611,0.223-0.611,0.49c0,0.104,0.056,0.208,0.13,0.297l2.184,2.88\n c0.093,0.178,0.315,0.312,0.574,0.311c0.259-0.045,0.481-0.164,0.574-0.342l2.165-2.865c0.093-0.089,0.148-0.193,0.148-0.312\n C343.542,113.864,343.32,113.671,343.042,113.626z"></path><path fill=#979697 d="M338.378,111.031c0.037,0,0.056,0,0.093,0s0.074,0,0.093,0h4.238c0.037,0.015,0.093,0.015,0.13,0.015\n c0.019,0,0.019,0,0.037,0c0,0,0.037,0,0.056,0h0.019c0.278-0.045,0.499-0.238,0.499-0.475c0-0.119-0.056-0.223-0.148-0.312\n l-2.165-2.865c-0.093-0.178-0.315-0.297-0.574-0.342c-0.259,0-0.481,0.133-0.574,0.311l-2.184,2.88\n c-0.074,0.089-0.13,0.193-0.13,0.297C337.768,110.808,338.045,111.031,338.378,111.031z"></path></g></svg> </div> </div> </div> </div> '},function(e,t){e.exports='<div class=docs-introduce> <h3 class=introduce-title>功能介绍</h3> <div class=introduce-content> <h4 class=title>简介</h4> <p class=description> 在字体图标日渐流行的今天,大家使用字体图标的方式多种多样,但是都只注重使用的方式却不注重来源与管理。而我们需要的是设计师与前端工程师能共同使用且集管理、自动生成前端可用图标等功能与一身的平台,因为图标是由设计师提供,前端使用的,如果只适用某一方那必定不能投入工程中使用。 <br> <br> 现有的字体图标管理平台做的比较好的有icomoon与阿里的iconfont。icomoon不熟,iconfont的项目功能可以实现这个功能,其他的功能也实现的也比较好,个人项目使用的确好。但是别人的再好也不如自己的好,所以结合我们使用情况就参照iconfont徒手撸了一个字体图标管理平台,基本可以解决以下问题: <br> <br> 1. 解决设计图标管理、共享问题,实现图标统一管理,重复利用,查找方便<br> 2. 减少设计师与前端的交流时间成本。新增图标设计师上传平台确认没问题后再通知前端使用,避免因图标错误来回折腾<br> 3. 统一优化、生成图标,去掉前端手动操作流程,节约时间成本<br> 4. 众多好处, 一言难尽.......<br> </p> <h4 class=title>使用流程图</h4> <p class=description> <img src="http://edu-image.nosdn.127.net/0a712d18-fd7c-40ea-94ef-ef43dd2a5d88.png?imageView&quality=100" alt="" class=img> </p> <h4 class=title>使用步骤</h4> <br> <p class=description> 1. 创建一个图标库 <img class=img src="http://edu-image.nosdn.127.net/946e19ee-bcbc-422c-a7d6-1aaafea37339.jpg?imageView&quality=100" alt=""> <br> <br> 2. 上传图标。此阶段为图标草稿阶段,可进行删除、修改,确保图标名称唯一,点击保存上传之后,才可以加入图标库,如果不保存或者删除,则一直存留为草稿。 <img class=img src="http://edu-image.nosdn.127.net/eb7a3307-4afd-4195-ab24-cf8c1fec9bd0.jpg?imageView&quality=100" alt=""> <br> <br> 3. 把图标加入到图标库,保存更新。进入到指定图标库后,点击添加图标并选定需要添加的图标,确认之后出现保存更新按钮,点击就会生成新的图标文件,完成 <img class=img src="http://edu-image.nosdn.127.net/5abf556c-f9db-40b6-8179-a01ece554635.jpg?imageView&quality=100" alt=""> <br> <br> 4. 把css文件复制到前端工程中或者使用脚本自动导出所需格式文件 </p> <h4 class=title>前端使用方式</h4> <br> <p class=description> 图标管理平台提供了三种图标使用方式, font class、svg files、svg sprite三种方式,可导出的资源类型包括css资源文件链接, css资源文件内容,svg文件内容,svg sprite 文件内容,各个工程可以根据自己的使用方式使用脚本导出合适的资源类型。 <br> <br> 可以使用配套的工具 <a href=https://github.com/berlin-L/neicon-tool target=_blank>neicon-tool</a> 来获取资源,简单方便、配置灵活。 或者有特殊需求的话可以把自动脚本拷贝到工程,并配置自己工程所需的资源类型配置,执行自动获取、替换资源脚本 <a href=http://cst.stu.126.net/u/js/cms/icon-resource-script.js?1514168160420 target=_blank>配置、资源脚本</a> <br> <br> <b>font-class引用</b> <br> 1. 配置脚本的资源配置type为cssUrl(外链)或者cssContent(內联),运行脚本获取资源文件<br> 2. 挑选相应图标并获取字体编码,应用于页面<br> <code> <i class="图标前缀-图标名称"></i> </code> <br> <br> <b>svg文件使用</b> <br> 1. 配置脚本的资源配置type为svg,运行脚本获取svg文件到指定目录<br> 2. 经过二次处理或直接使用、比如base64或其他方式 <br> <br> <b>svg sprite使用方式</b> <br> 1. 配置脚本的资源配置type为svgSprite,运行脚本获取svgSprite 內联到html文件中<br> 2. 挑选相应图标并获取类名,应用于页面<br> <code> <svg class="icon" aria-hidden="true"><br> <use xlink:href="#图标前缀-图标名称"></use><br> </svg> </code> <br> 这样使用的方式稍微麻烦,建议封装成组件传id就好,比如 <icon id="图标前缀-图标名称"></icon> </p> </div> </div> '},function(e,t){e.exports='<div class=docs-trouble> <h3 class=trouble-title>常见问题</h3> <div class=trouble-content> <img src=http://edu-image.nosdn.127.net/18c6fb1b-04cc-42a5-a9b4-237e42674e22.png alt="" class=img> </div> </div> '},function(e,t){e.exports='<div class=index-index-hello> <div class=index> <div class="index-icon icon-flashlight-fill"></div> <div class=index-search> <search-input @search=search($event)></search-input> </div> <div class=index-repo-list> <icon-repo-list :list-opt=listOpt :ext-opt=extOpt></icon-repo-list> </div> </div> </div> '},function(e,t){e.exports='<div class=docs> <div class=docs-side-menu> <i-menu class=f-fl :active-name=currentRouterPathName @on-select=changeTab($event) width=200px> <i-menu-item :key=item.name v-for="item in menus" :name=item.name> <icon :type=item.icon></icon> {{ item.label }} </i-menu-item> </i-menu> </div> <div class=docs-content> <router-view :key=currentRouterPath></router-view> </div> </div> '},function(e,t){e.exports='<div class=install> <h3 class=sub-name>启动数据配置</h3> <p class=description>以下基本数据配置完成之后,理论山nicon服务就可以正常启动,连接上数据库提供服务了。但是如果需要自定义上传与登录服务时,需要添加额外的参数,添加的所有参数最终会在nicon工程目录中生成 <b>/bin/start.sh</b>文件,当应用启动时,以下所有参数都会加入到环境变量 <b>process.env</b>中,如需可取,如果需要配置错误需重新配置,只需要停掉服务、删掉工程中的<b>/bin/start.sh</b>文件, 再重新启动访问后就可以跳转到该页面再进行重新安装</p> <div class=install-table> <i-row v-for="(item, index) in config" :key=index> <i-col span=2>字段: </i-col> <i-col span=6> <i-input :disabled=item.necessary v-model=item.name></i-input> </i-col> <i-col span=2>值: </i-col> <i-col span=6> <i-input v-model=item.value></i-input> </i-col> <i-col span=2>备注: </i-col> <i-col span=5> <i-input v-model=item.description></i-input> </i-col> <i-col span=1 v-if=!item.necessary> <span @click=deleteItem(index) class="delete icon-delete"></span> </i-col> </i-row> <a class=add-item title=添加字段 @click=addItem> <span class=icon-addition></span> </a> </div> <p class="product-type description"> 当需要非三方的登录、上传服务时,需要配置 <b>productType</b>的值,<b>productType</b>值的规则为 login[_upload]。 比如需要github三方登录,七牛的上传存储服务时,productType的值为 <b>github_qiniu</b>,即登录、上传服务的两两组合, 而当登录、上传类型的名称相同时,只需要login的名称就行,比如登录、上传服务都为netease,那么 <b>productType</b>为 <b>netease</b>即可。目前该工程中提供登录服务有两种 <b>default</b>、<b>github</b>,上传服务有两种 <b>default</b>、<b>github</b>,那么按照 <b>login_upload</b>的组合就有4中方式,如果 <b>productType</b>的值为以上四种组合,那么无需配置以下的登录、上传服务的代码,否者则需要配置</p> <h3 class=sub-name>登录服务代码配置</h3> <p class=description>需要接入自定义登录服务时,需要自己实现登录逻辑,并且登录的逻辑代码需要自己实现。代码中需要导出指定方法并且该方法需返回指定参数即可。当 <b>productType</b>不为 <b>default</b>或 <b>github_qiniu</b>等已经存在的服务时,才需要配置该文件</p> <div class=install-table> <div class=login-service> <i-tabs value=index> <i-tab-pane label=逻辑代码 name=index> <i-input :rows=16 v-model=login.index :placeholder=loginPlaceholder type=textarea></i-input> </i-tab-pane> <i-tab-pane label=配置代码 name=config> <i-input :rows=16 v-model=login.config :placeholder=configPlaceholder type=textarea></i-input> </i-tab-pane> </i-tabs> </div> </div> <h3 class=sub-name>上传服务代码配置</h3> <p class=description>需要接入自定义上传服务时,需要自己实现上传逻辑,并且上传的逻辑代码需要自己实现。代码中需要导出指定方法并且该方法需返回指定参数即可。当 <b>productType</b>不为 <b>default</b>或 <b>github_qiniu</b>等已经存在的服务时,才需要配置该文件</p> <div class=install-table> <div class=upload-service> <i-tabs value=index> <i-tab-pane label=逻辑代码 name=index> <i-input :rows=16 v-model=upload.index :placeholder=uploadPlaceholder type=textarea></i-input> </i-tab-pane> <i-tab-pane label=配置代码 name=config> <i-input :rows=16 v-model=upload.config :placeholder=configPlaceholder type=textarea></i-input> </i-tab-pane> </i-tabs> </div> </div> <i-button type=success class=install-submit @click=submit()>提交</i-button> </div> '},function(e,t){e.exports="<div class=search> <div class=search-content> <h3 class=title>共<i class=total-count>{{ totalCount }}</i>个相关图标</h3> <div class=search-icon-list> <icon-list @ongetlist=updateIconCount($event) :list-opt=listOpt ref=iconList :icon-operator-options=iconControl.iconOperatorOptions></icon-list> </div> </div> </div> "},function(e,t){e.exports='<div class=user-page> <div class=user-info> <div class=user-info-bg p-id=19> <div class="user-info-bg-wrap wrap"> <div class="planet planet-9"></div> <div class="planet planet-10"></div> <div class="planet planet-11"></div> <div style=display:none class="planet planet-12"></div> </div> </div> <div class=user-info-box> <div class=user-info-avatar> <img class=head v-if=user.avatar :src=user.avatar> <img class=cover src=https://gw.alicdn.com/tps/TB1W_X6OXXXXXcZXVXXXXXXXXXX-400-400.png alt=""> </div> <div class=user-info-detail> <span class=name> {{ user.userName }} </span> <div class="repo-tabs f-cb"> <i-menu class=f-fl mode=horizontal :active-name=currentRouterPathName @on-select=changeTab($event)> <i-menu-item :key=item.name v-for="item in tabs" :name=item.name>{{ item.label }}</i-menu-item> </i-menu> </div> </div> </div> </div> <div class=user-page-detail> <router-view :key=currentRouterPath></router-view> </div> </div> '},function(e,t){e.exports='<div class=user-icon-add> <h3 class=add-title>图标草稿上传 <span class=add-count>已上传{{ totalCount }}个图标</span></h3> <icon-add @onaddicon=updateIconList></icon-add> <icon-list :icon-operator-options=iconOperatorOptions ref=iconList @ongetlist=updateIconCount($event) :list-opt=listOpt :ext-opt=extOpt empty-text=暂无草稿图标!></icon-list> <div class=operator-box> <p v-if="totalCount > 0 && $route.params.repoId" class=submit-tip>注意:本次保存上传将会直接添加到图标库: 《{{ $route.params.repoName }}》中,中文图标名称会转为拼音</p> <p v-if="totalCount > 0 && !$route.params.repoId" class="submit-tip normal">提示:中文图标名称会转为拼音!</p> <div class=operate-box v-if="totalCount > 0"> <i-button type=success class=submit @click=submit(true)>去除颜色上传</i-button> <i-button type=success class="submit submit-colorful" @click=submit()>保留颜色上传</i-button> </div> </div> </div> '},function(e,t){e.exports="<div class=user-icon> <router-view></router-view> </div> "},function(e,t){e.exports='<div class=user-icon-list> <div class="list-operator f-cb"> <h3 class="list-title f-fl"><span class=list-count>共{{ totalCount }}个图标</span></h3> <div class="user-icon-search f-fr"> <search-input @search=search($event) placeholder=搜索我的图标></search-input> </div> </div> <icon-list @ongetlist=updateIconCount($event) :list-opt=listOpt :icon-operator-options=iconOperatorOptions ref=userIconList></icon-list> </div> '},function(e,t){e.exports="<div class=repo-add> <h2 class=repo-add-title>{{ isEdit ? '更新图标库' : '新建图标库' }}</h2> <div class=repo-add-table ref=checkContainer> <i-row> <i-col span=4>图标库名称</i-col> <i-col span=20> <i-input size=large v-model=repoName v-check=rules.repoName placeholder=请输入...></i-input> </i-col> </i-row> <i-row> <i-col span=4>图标Icon前缀</i-col> <i-col span=20> <i-input size=large v-model=iconPrefix v-check=\"{rules: rules.iconPrefix, trigger: 'change'}\" placeholder=请输入...></i-input> </i-col> </i-row> <i-row> <i-col span=4>图标库描述</i-col> <i-col span=20> <i-input size=large v-model=repoDescription v-check=rules.repoDescription type=textarea :autosize=\"{minRows: 5,maxRows: 10}\" placeholder=请输入...></i-input> </i-col> </i-row> </div> <i-button type=success class=repo-add-submit :loading=isLoading @click=submit()>确认提交</i-button> </div> "},function(e,t){e.exports="<div class=user-repo> <router-view :key=currentRouterPath></router-view> </div> "},function(e,t){e.exports='<div class=user-repo-detail> <div class="repo-detail f-cb"> <div class="base-info f-fl"> <span class="repo-name info-item"> <span class="label icon-group"></span> {{ repo.repoName }} </span> <span class="repo-prefix info-item"> <span class="label icon-flag"></span> {{ repo.iconPrefix }} </span> <span class="repo-icon-count info-item"> <span class="label icon-stealth"></span> {{ (repo.iconIds || {}).length || 0 }} </span> </div> <div class="repo-operator f-fr" v-if="repo.isMember || repo.isOwner"> <div class="repo-operator-privilege f-fr" v-if="repo.isMember || repo.isOwner"> <i-button class="add-icon f-fr" @click="showIconListDialog=!showIconListDialog">添加图标</i-button> <i-button v-if="repo.isOwner && !member.addMemberStatus" class="add-member f-fr" @click="member.addMemberStatus=true">添加成员</i-button> <div class="add-member-box f-fr" v-if=member.addMemberStatus> <i-input v-model=member.account class=member-input> <i-select class=member-select v-model=member.accountType slot=prepend> <i-option v-for="item in member.typeList" :value=item.value>{{ item.text }}</i-option> </i-select> <i-button slot=append @click=addMember>添加</i-button> </i-input> </div> <i-button :loading=isSyncRepo v-if=repo.unSync type=success class="repo-sync f-fr" @click=syncRepo()>保存更新</i-button> <router-link :to="{name: \'userRepoEditModule\', params: { repoId: repo.repoId}}"> <i-button v-if=repo.isOwner type=success class="add-icon f-fr">编辑</i-button> </router-link> </div> <div class="repo-icon-search f-fr"> <search-input @search=search($event) placeholder=搜索图标库图标></search-input> </div> </div> </div> <div class=repo-css> <i-input v-model=repo.cssUrl class=css-input> <i-button class=copy-button slot=prepend :data-copy=repo.cssUrl>复制链接</i-button> </i-input> </div> <div class=user-icon-list> <icon-list :copy-text-prefix="repo.iconPrefix + \'-\'" :list-opt=listOpt ref=repoIconList :icon-operator-options=iconControl.iconOperatorOptions @delete-icon=deleteIcon($event)></icon-list> </div> <div v-if=showIconListDialog> <modal class=unique-icon-list v-model=showIconListDialog title=选择需要添加的图标 ok-text=确认添加 cancel-text=取消 @on-ok=addIconToRepo width=610> <div class=add-operator> <i-checkbox v-model=selectedAllIconFlag @on-change=selectAllIcon()>全选</i-checkbox> <router-link :to="{name: \'userIconAdd2RepoModule\', params: { repoId: repo.repoId, repoName: repo.repoName}}"> 从电脑上传 </router-link> <div class="repo-icon-search f-fr"> <search-input @search=uniqueSearch($event) placeholder=搜索我的图标></search-input> </div> </div> <icon-list class=unique-icon-list ref=addIconListRef :list-opt=listOptUnique empty-text=暂无可添加稿图标! :icon-active-selected=iconControl.iconActiveSelected></icon-list> </modal> </div> </div> '},function(e,t){e.exports='<div class=user-repo-list> <div class="repo-list-operator f-cb"> <h3 class="title f-fl"><span class=count>共{{ totalCount}}个图标库</span></h3> </div> <icon-repo-list @ongetlist=updateRepoCount($event) :list-opt=listOpt></icon-repo-list> </div> '},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){function i(e){n(235)}var o=n(1)(n(149),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(247)}var o=n(1)(n(150),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(241)}var o=n(1)(n(152),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(238)}var o=n(1)(n(154),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(237)}var o=n(1)(n(155),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(239)}var o=n(1)(n(156),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(240)}var o=n(1)(n(158),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(259)}var o=n(1)(n(159),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(251)}var o=n(1)(n(160),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(255)}var o=n(1)(n(161),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(242)}var o=n(1)(n(162),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(250)}var o=n(1)(n(163),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(256)}var o=n(1)(n(164),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(236)}var o=n(1)(n(165),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(254)}var o=n(1)(n(166),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(245)}var o=n(1)(n(167),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(253)}var o=n(1)(n(168),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(258)}var o=n(1)(n(169),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(244)}var o=n(1)(n(170),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(252)}var o=n(1)(n(171),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(248)}var o=n(1)(n(172),null,i,null,null);e.exports=o.exports},function(e,t,n){function i(e){n(243)}var o=n(1)(n(173),null,i,null,null);e.exports=o.exports},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("top-bar"),e._v(" "),n("div",{staticClass:"app-content"},[n("router-view",{key:e.currentRouterPath})],1),e._v(" "),e.showLoginModal?n("login-dialog"):e._e()],1)},staticRenderFns:[]}}],[102]);
- //# sourceMappingURL=app.99b5077633f395f72be1.js.map
|