初始化项目:添加后端代码、ThinkPHP框架、前端资源
@@ -0,0 +1,82 @@
|
||||
@font-face {
|
||||
font-family: "iconfont";
|
||||
src: url('../fonts/iconfont/iconfont.eot'); /* IE9 */
|
||||
src: url('../fonts/iconfont/iconfont.eot#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
||||
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
|
||||
url('../fonts/iconfont/iconfont.woff') format('woff'),
|
||||
url('../fonts/iconfont/iconfont.ttf') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
|
||||
url('../fonts/iconfont/iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-family: "iconfont" !important;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-android:before {
|
||||
content: "\e665";
|
||||
}
|
||||
|
||||
.icon-dashboard:before {
|
||||
content: "\e642";
|
||||
}
|
||||
|
||||
.icon-share:before {
|
||||
content: "\e610";
|
||||
}
|
||||
|
||||
.icon-chevronleft:before {
|
||||
content: "\e67e";
|
||||
}
|
||||
|
||||
.icon-wxapp:before {
|
||||
content: "\e603";
|
||||
}
|
||||
|
||||
.icon-pengyouquan:before {
|
||||
content: "\e639";
|
||||
}
|
||||
|
||||
.icon-weibo:before {
|
||||
content: "\e63a";
|
||||
}
|
||||
|
||||
.icon-weixin:before {
|
||||
content: "\e63b";
|
||||
}
|
||||
|
||||
.icon-heart:before {
|
||||
content: "\e63e";
|
||||
}
|
||||
|
||||
.icon-pencil:before {
|
||||
content: "\e63f";
|
||||
}
|
||||
|
||||
.icon-comment-o:before {
|
||||
content: "\e655";
|
||||
}
|
||||
|
||||
.icon-backtotop:before {
|
||||
content: "\e669";
|
||||
}
|
||||
|
||||
.icon-feedback:before {
|
||||
content: "\e66b";
|
||||
}
|
||||
|
||||
.icon-qrcode:before {
|
||||
content: "\e65e";
|
||||
}
|
||||
|
||||
.icon-shouji:before {
|
||||
content: "\e661";
|
||||
}
|
||||
|
||||
.icon-ellipsis-h:before {
|
||||
content: "\e66f";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* @fileOverview CSS for jquery-autocomplete, the jQuery Autocompleter
|
||||
* @author <a href="mailto:dylan@dyve.net">Dylan Verheul</a>
|
||||
* @license MIT | GPL | Apache 2.0, see LICENSE.txt
|
||||
* @see https://github.com/dyve/jquery-autocomplete
|
||||
*/
|
||||
.acResults {
|
||||
padding: 0px;
|
||||
border: 1px solid WindowFrame;
|
||||
background-color: Window;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.acResults ul {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
list-style-position: outside;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.acResults ul li {
|
||||
margin: 0px;
|
||||
padding: 2px 5px;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font: menu;
|
||||
font-size: 12px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.acLoading {
|
||||
background : url('indicator.gif') right center no-repeat;
|
||||
}
|
||||
|
||||
.acSelect {
|
||||
background-color: Highlight;
|
||||
color: HighlightText;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
div.tagsinput{border:1px solid #CCC;background:#FFF;padding:5px;width:300px;height:100px;overflow-y:auto}div.tagsinput span.tag{border:1px solid #a5d24a;-moz-border-radius:2px;-webkit-border-radius:2px;display:block;float:left;padding:5px;text-decoration:none;background:#cde69c;color:#638421;margin-right:5px;margin-bottom:5px;font-family:helvetica;font-size:13px}div.tagsinput span.tag a{font-weight:700;color:#82ad2b;text-decoration:none;font-size:11px}div.tagsinput input{width:80px;margin:0 5px 5px 0;font-family:helvetica;font-size:13px;border:1px solid transparent;padding:5px;background:0 0;color:#000;outline:0}div.tagsinput div{display:block;float:left}.tags_clear{clear:both;width:100%;height:0}.not_valid{background:#FBD8DB!important;color:#90111A!important}
|
||||
|
||||
div.tagsinput {
|
||||
border: 1px solid #e3e7f1;
|
||||
border-radius: 3px;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
||||
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
|
||||
-moz-transition: border-color ease-in-out .15s, -moz-box-shadow ease-in-out .15s;
|
||||
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
||||
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s
|
||||
}
|
||||
|
||||
div.tagsinput span.tag {
|
||||
height: 24px;
|
||||
padding: 2px 5px;
|
||||
margin-bottom: 0;
|
||||
color: #0084ff;
|
||||
background: rgba(0, 132, 255, .1);
|
||||
border-color: transparent
|
||||
}
|
||||
|
||||
div.tagsinput span.tag a {
|
||||
font-family: Verdana;
|
||||
color: #0084ff;
|
||||
margin-left: 5px
|
||||
}
|
||||
|
||||
div.tagsinput input {
|
||||
margin-bottom: 0;
|
||||
margin-right: 0;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
.autocomplete-suggestions {
|
||||
text-align: left;
|
||||
cursor: default;
|
||||
background: #fff;
|
||||
border: 1px solid rgba(0,0,0,.15);
|
||||
border-radius: 2px;
|
||||
-webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
|
||||
-moz-box-shadow: 0 6px 12px rgba(0,0,0,.175);
|
||||
box-shadow: 0 6px 12px rgba(0,0,0,.175);
|
||||
background-clip: padding-box;
|
||||
position: absolute;
|
||||
/* display: none; */
|
||||
z-index: 1029;
|
||||
max-height: 254px;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.autocomplete-search .autocomplete-questions.selected,.autocomplete-search .autocomplete-questions:hover,.autocomplete-search .autocomplete-searchtags.selected,.autocomplete-search .autocomplete-searchtags:hover,.autocomplete-tags .autocomplete-suggestion.selected,.autocomplete-tags .autocomplete-suggestion:hover {
|
||||
background: #f0f0f0
|
||||
}
|
||||
|
||||
.autocomplete-tags {
|
||||
min-width: 160px
|
||||
}
|
||||
|
||||
.autocomplete-tags .autocomplete-suggestion {
|
||||
position: relative;
|
||||
line-height: 20px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
font-size: 1em;
|
||||
color: #333;
|
||||
padding: 5px 10px;
|
||||
cursor: pointer;
|
||||
white-space: inherit
|
||||
}
|
||||
|
||||
.autocomplete-tags .autocomplete-suggestion b {
|
||||
font-weight: 400;
|
||||
color: #f71752
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
@font-face{font-family:"socialshare";src:url("../fonts/share/share.eot");src:url("../fonts/share/share.eot?#iefix") format("embedded-opentype"),url("../fonts/share/share.woff") format("woff"),url("../fonts/share/share.ttf") format("truetype"),url("../fonts/share/share.svg#iconfont") format("svg")}.social-share{font-family:"socialshare" !important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0.2px;-moz-osx-font-smoothing:grayscale}.social-share .icon-tencent:before{content:"\f07a"}.social-share .icon-qq:before{content:"\f11a"}.social-share .icon-weibo:before{content:"\f12a"}.social-share .icon-wechat:before{content:"\f09a"}.social-share .icon-douban:before{content:"\f10a"}.social-share .icon-heart:before{content:"\f20a"}.social-share .icon-like:before{content:"\f00a"}.social-share .icon-qzone:before{content:"\f08a"}.social-share .icon-linkedin:before{content:"\f01a"}.social-share .icon-diandian:before{content:"\f05a"}.social-share .icon-facebook:before{content:"\f03a"}.social-share .icon-google:before{content:"\f04a"}.social-share .icon-twitter:before{content:"\f06a"}.social-share a{position:relative;text-decoration:none;margin:4px;display:inline-block;outline:none}.social-share .social-share-icon{position:relative;display:inline-block;width:32px;height:32px;font-size:20px;border-radius:50%;line-height:32px;border:1px solid #666;color:#666;text-align:center;vertical-align:middle;transition:background 0.6s ease-out 0s}.social-share .social-share-icon:hover{background:#666;color:#fff}.social-share .icon-weibo{color:#ff763b;border-color:#ff763b}.social-share .icon-weibo:hover{background:#ff763b}.social-share .icon-tencent{color:#56b6e7;border-color:#56b6e7}.social-share .icon-tencent:hover{background:#56b6e7}.social-share .icon-qq{color:#56b6e7;border-color:#56b6e7}.social-share .icon-qq:hover{background:#56b6e7}.social-share .icon-qzone{color:#FDBE3D;border-color:#FDBE3D}.social-share .icon-qzone:hover{background:#FDBE3D}.social-share .icon-douban{color:#33b045;border-color:#33b045}.social-share .icon-douban:hover{background:#33b045}.social-share .icon-linkedin{color:#0077B5;border-color:#0077B5}.social-share .icon-linkedin:hover{background:#0077B5}.social-share .icon-facebook{color:#44619D;border-color:#44619D}.social-share .icon-facebook:hover{background:#44619D}.social-share .icon-google{color:#db4437;border-color:#db4437}.social-share .icon-google:hover{background:#db4437}.social-share .icon-twitter{color:#55acee;border-color:#55acee}.social-share .icon-twitter:hover{background:#55acee}.social-share .icon-diandian{color:#307DCA;border-color:#307DCA}.social-share .icon-diandian:hover{background:#307DCA}.social-share .icon-wechat{position:relative;color:#7bc549;border-color:#7bc549}.social-share .icon-wechat:hover{background:#7bc549}.social-share .icon-wechat .wechat-qrcode{opacity:0;filter:alpha(opacity=0);visibility:hidden;position:absolute;z-index:9;top:-205px;left:-84px;width:200px;height:192px;color:#666;font-size:12px;text-align:center;background-color:#fff;box-shadow:0 2px 10px #aaa;transition:all 200ms;-webkit-tansition:all 350ms;-moz-transition:all 350ms}.social-share .icon-wechat .wechat-qrcode h4{font-weight:normal;height:26px;line-height:26px;font-size:12px;background-color:#f3f3f3;margin:0;padding:0;color:#777}.social-share .icon-wechat .wechat-qrcode .qrcode{width:105px;margin:10px auto}.social-share .icon-wechat .wechat-qrcode .help p{font-weight:normal;line-height:16px;padding:0;margin:0}.social-share .icon-wechat .wechat-qrcode:after{content:'';position:absolute;left:50%;margin-left:-6px;bottom:-13px;width:0;height:0;border-width:8px 6px 6px 6px;border-style:solid;border-color:#fff transparent transparent transparent}.social-share .icon-wechat:hover .wechat-qrcode{opacity:1;filter:alpha(opacity=100);visibility:visible}
|
||||
@@ -0,0 +1,260 @@
|
||||
.m-0 {
|
||||
margin-top: 0px !important;
|
||||
margin-right: 0px !important;
|
||||
margin-bottom: 0px !important;
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
.mt-0 {
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
.mr-0 {
|
||||
margin-right: 0px !important;
|
||||
}
|
||||
.mb-0 {
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
.ml-0 {
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
.mx-0 {
|
||||
margin-left: 0px !important;
|
||||
margin-right: 0px !important;
|
||||
}
|
||||
.my-0 {
|
||||
margin-top: 0px !important;
|
||||
margin-bottom: 0px !important;
|
||||
}
|
||||
.m-1 {
|
||||
margin-top: 5px !important;
|
||||
margin-right: 5px !important;
|
||||
margin-bottom: 5px !important;
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.mt-1 {
|
||||
margin-top: 5px !important;
|
||||
}
|
||||
.mr-1 {
|
||||
margin-right: 5px !important;
|
||||
}
|
||||
.mb-1 {
|
||||
margin-bottom: 5px !important;
|
||||
}
|
||||
.ml-1 {
|
||||
margin-left: 5px !important;
|
||||
}
|
||||
.mx-1 {
|
||||
margin-left: 5px !important;
|
||||
margin-right: 5px !important;
|
||||
}
|
||||
.my-1 {
|
||||
margin-top: 5px !important;
|
||||
margin-bottom: 5px !important;
|
||||
}
|
||||
.m-2 {
|
||||
margin-top: 10px !important;
|
||||
margin-right: 10px !important;
|
||||
margin-bottom: 10px !important;
|
||||
margin-left: 10px !important;
|
||||
}
|
||||
.mt-2 {
|
||||
margin-top: 10px !important;
|
||||
}
|
||||
.mr-2 {
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
.mb-2 {
|
||||
margin-bottom: 10px !important;
|
||||
}
|
||||
.ml-2 {
|
||||
margin-left: 10px !important;
|
||||
}
|
||||
.mx-2 {
|
||||
margin-left: 10px !important;
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
.my-2 {
|
||||
margin-top: 10px !important;
|
||||
margin-bottom: 10px !important;
|
||||
}
|
||||
.m-3 {
|
||||
margin-top: 15px !important;
|
||||
margin-right: 15px !important;
|
||||
margin-bottom: 15px !important;
|
||||
margin-left: 15px !important;
|
||||
}
|
||||
.mt-3 {
|
||||
margin-top: 15px !important;
|
||||
}
|
||||
.mr-3 {
|
||||
margin-right: 15px !important;
|
||||
}
|
||||
.mb-3 {
|
||||
margin-bottom: 15px !important;
|
||||
}
|
||||
.ml-3 {
|
||||
margin-left: 15px !important;
|
||||
}
|
||||
.mx-3 {
|
||||
margin-left: 15px !important;
|
||||
margin-right: 15px !important;
|
||||
}
|
||||
.my-3 {
|
||||
margin-top: 15px !important;
|
||||
margin-bottom: 15px !important;
|
||||
}
|
||||
.m-4 {
|
||||
margin-top: 20px !important;
|
||||
margin-right: 20px !important;
|
||||
margin-bottom: 20px !important;
|
||||
margin-left: 20px !important;
|
||||
}
|
||||
.mt-4 {
|
||||
margin-top: 20px !important;
|
||||
}
|
||||
.mr-4 {
|
||||
margin-right: 20px !important;
|
||||
}
|
||||
.mb-4 {
|
||||
margin-bottom: 20px !important;
|
||||
}
|
||||
.ml-4 {
|
||||
margin-left: 20px !important;
|
||||
}
|
||||
.mx-4 {
|
||||
margin-left: 20px !important;
|
||||
margin-right: 20px !important;
|
||||
}
|
||||
.my-4 {
|
||||
margin-top: 20px !important;
|
||||
margin-bottom: 20px !important;
|
||||
}
|
||||
.p-0 {
|
||||
padding-top: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
padding-bottom: 0px !important;
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
.pt-0 {
|
||||
padding-top: 0px !important;
|
||||
}
|
||||
.pr-0 {
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
.pb-0 {
|
||||
padding-bottom: 0px !important;
|
||||
}
|
||||
.pl-0 {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
.px-0 {
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
.py-0 {
|
||||
padding-top: 0px !important;
|
||||
padding-bottom: 0px !important;
|
||||
}
|
||||
.p-1 {
|
||||
padding-top: 5px !important;
|
||||
padding-right: 5px !important;
|
||||
padding-bottom: 5px !important;
|
||||
padding-left: 5px !important;
|
||||
}
|
||||
.pt-1 {
|
||||
padding-top: 5px !important;
|
||||
}
|
||||
.pr-1 {
|
||||
padding-right: 5px !important;
|
||||
}
|
||||
.pb-1 {
|
||||
padding-bottom: 5px !important;
|
||||
}
|
||||
.pl-1 {
|
||||
padding-left: 5px !important;
|
||||
}
|
||||
.px-1 {
|
||||
padding-left: 5px !important;
|
||||
padding-right: 5px !important;
|
||||
}
|
||||
.py-1 {
|
||||
padding-top: 5px !important;
|
||||
padding-bottom: 5px !important;
|
||||
}
|
||||
.p-2 {
|
||||
padding-top: 10px !important;
|
||||
padding-right: 10px !important;
|
||||
padding-bottom: 10px !important;
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.pt-2 {
|
||||
padding-top: 10px !important;
|
||||
}
|
||||
.pr-2 {
|
||||
padding-right: 10px !important;
|
||||
}
|
||||
.pb-2 {
|
||||
padding-bottom: 10px !important;
|
||||
}
|
||||
.pl-2 {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
.px-2 {
|
||||
padding-left: 10px !important;
|
||||
padding-right: 10px !important;
|
||||
}
|
||||
.py-2 {
|
||||
padding-top: 10px !important;
|
||||
padding-bottom: 10px !important;
|
||||
}
|
||||
.p-3 {
|
||||
padding-top: 15px !important;
|
||||
padding-right: 15px !important;
|
||||
padding-bottom: 15px !important;
|
||||
padding-left: 15px !important;
|
||||
}
|
||||
.pt-3 {
|
||||
padding-top: 15px !important;
|
||||
}
|
||||
.pr-3 {
|
||||
padding-right: 15px !important;
|
||||
}
|
||||
.pb-3 {
|
||||
padding-bottom: 15px !important;
|
||||
}
|
||||
.pl-3 {
|
||||
padding-left: 15px !important;
|
||||
}
|
||||
.px-3 {
|
||||
padding-left: 15px !important;
|
||||
padding-right: 15px !important;
|
||||
}
|
||||
.py-3 {
|
||||
padding-top: 15px !important;
|
||||
padding-bottom: 15px !important;
|
||||
}
|
||||
.p-4 {
|
||||
padding-top: 20px !important;
|
||||
padding-right: 20px !important;
|
||||
padding-bottom: 20px !important;
|
||||
padding-left: 20px !important;
|
||||
}
|
||||
.pt-4 {
|
||||
padding-top: 20px !important;
|
||||
}
|
||||
.pr-4 {
|
||||
padding-right: 20px !important;
|
||||
}
|
||||
.pb-4 {
|
||||
padding-bottom: 20px !important;
|
||||
}
|
||||
.pl-4 {
|
||||
padding-left: 20px !important;
|
||||
}
|
||||
.px-4 {
|
||||
padding-left: 20px !important;
|
||||
padding-right: 20px !important;
|
||||
}
|
||||
.py-4 {
|
||||
padding-top: 20px !important;
|
||||
padding-bottom: 20px !important;
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg>
|
||||
<metadata>
|
||||
Created by iconfont
|
||||
</metadata>
|
||||
<defs>
|
||||
|
||||
<font id="iconfont" horiz-adv-x="1024" >
|
||||
<font-face
|
||||
font-family="iconfont"
|
||||
font-weight="500"
|
||||
font-stretch="normal"
|
||||
units-per-em="1024"
|
||||
ascent="896"
|
||||
descent="-128"
|
||||
/>
|
||||
<missing-glyph />
|
||||
|
||||
<glyph glyph-name="android" unicode="" d="M135.791304 200.718841C101.657971 200.718841 72.718841 229.65797099999997 72.718841 245.98260900000002l0.742029 282.713043c0 17.066667 28.197101 46.005797 62.330434 46.005797 34.133333 0 62.330435-31.907246 62.330435-48.231884L197.37971 245.98260900000002c0-16.324638-27.455072-45.263768-61.588406-45.263768z m753.159421 0c-34.133333 0-63.072464 28.93913-63.072464 45.263768l0.742029 282.713043c0 17.066667 28.197101 46.005797 62.330435 46.005797 34.133333 0 62.330435-31.907246 62.330434-48.231884l-0.742029-280.486956c0-16.324638-27.455072-45.263768-61.588405-45.263768zM232.997101 575.443478v-448.927536c0-26.713043 23.744928-51.2 48.231885-51.2h55.652173v-151.373913c0-25.228986 28.197101-46.005797 62.330435-46.005797 34.133333 0 62.330435 20.776812 62.330435 46.005797V75.31594199999995h100.915942v-151.373913c0-25.228986 28.197101-46.005797 62.330435-46.005797 34.133333 0 62.330435 20.776812 62.330435 46.005797V75.31594199999995h54.910145c24.486957 0 44.521739 21.518841 44.521739 48.231884V575.443478H232.997101zM690.086957 876.707246c2.968116 4.452174 4.452174 14.098551-0.742029 17.066667-4.452174 2.968116-13.356522-1.484058-15.582609-5.936232l-47.489855-71.234782c10.388406-4.452174 10.388406-4.452174 19.292753-8.162319l44.52174 68.266666zM514.226087 837.37971c-46.747826 0-85.333333-7.42029-117.982609-20.034782h0.742029L348.011594 888.57971c-2.968116 3.710145-11.872464 8.904348-16.324637 5.936232-4.452174-2.968116-2.968116-12.614493 0-16.324638l47.489855-67.524637c-127.628986-59.362319-146.17971-195.895652-146.179711-195.895653h553.553624c0-0.742029-29.681159 222.608696-272.324638 222.608696zM363.594203 723.107246a28.93913 28.93913 0 1 1 57.878261 0 28.93913 28.93913 0 0 1-57.878261 0zM601.785507 723.107246a28.93913 28.93913 0 1 1 57.878261 0 28.93913 28.93913 0 0 1-57.878261 0z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="dashboard" unicode="" d="M974.19487208 60.553845939999974H97.78871802c-24.07384594 0-44.45538469-21.12-44.45538469-46.15384594 0-24.96 20.38153875-46.08 44.45538469-46.08H979.3641027c24 0 44.30769188 21.12 44.30769188 46.74461531a49.69846125 49.69846125 0 0 1-49.4769225 45.48923063M940.0041027 498.38769188h-1.69846125v-264.81230719a20.30769187 20.30769187 0 0 0-20.52923156-20.52923063H164.39794864a20.30769187 20.30769187 0 0 0-20.52923062 20.52923063V754.63384594c0 10.78153875 9.82153875 20.52923063 20.52923062 20.52923062H919.54871802c12.84923062 0 20.45538469-10.41230813 20.45538468-20.52923062v-256.24615407z m-775.60615406-375.8769225h751.75384594c61.21846125 0 110.99076937 49.84615406 110.99076937 111.06461531V754.41230813a104.19692344 104.19692344 0 0 1-29.53846124 76.28307656A111.50769187 111.50769187 0 0 1 917.85025677 864H164.32410271C103.10564145 864 53.33333333 814.15384594 53.33333333 752.93538469v-519.36c0-61.29230812 49.84615406-111.06461531 111.06461531-111.06461531zM791.42564145 614.54769187H767.42564146c-11.96307656 0-22.22769187-10.26461531-22.22769282-22.15384593v-222.12923063c0-11.96307656 10.26461531-22.22769187 22.15384594-22.22769187h24c11.96307656 0 22.15384594 10.26461531 22.15384688 22.15384593V592.39384594c0 11.96307656-10.19076937 22.22769187-22.15384688 22.22769281M654.73640989 482.95384594H630.81025677c-11.96307656 0-22.15384594-10.19076937-22.15384688-22.15384594v-90.53538469c0-11.96307656 10.19076937-22.15384594 22.15384688-22.15384593h23.92615312c11.96307656 0 22.15384594 10.19076937 22.15384688 22.15384593V460.8c0 11.96307656-10.19076937 22.15384594-22.15384688 22.15384594M511.17948739 477.85846125H403.58564146s-10.33846125 0-10.33846219 10.33846219V592.24615406c0 5.16923062-3.32307656 10.33846125-10.19076938 10.33846125-64.91076938 0-116.16-56.41846125-116.16-124.8 0-68.30769187 59.81538469-129.82153875 126.42461532-129.82153875 68.30769187 0 126.42461531 54.64615406 126.42461625 119.63076938 1.69846125 5.09538469-3.39692344 10.19076937-8.56615407 10.19076937M441.17333333 638.47384594c-5.16923062 0-8.56615406-3.39692344-8.56615406-8.56615407v-107.59384593c0-5.16923062 3.39692344-8.56615406 8.56615406-8.56615406h107.59384594c5.16923062 0 8.56615406 3.47076938 8.56615406 8.56615406 0 68.30769187-47.85230813 116.16-116.16 116.16" horiz-adv-x="1102" />
|
||||
|
||||
|
||||
<glyph glyph-name="share" unicode="" d="M768 624.941a135.529 135.529 0 1 0 0 271.059 135.529 135.529 0 0 0 0-271.059Zm0-722.824a135.529 135.529 0 1 0 0 271.059 135.529 135.529 0 0 0 0-271.059Zm-542.118 361.412a135.529 135.529 0 1 0 0 271.059 135.529 135.529 0 0 0 0-271.059ZM309.368 400.203L819.2 58.72900000000004l-46.9233-70.0536L161.611 397.673 649.939 749.508l49.2725-68.4273Z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="chevronleft" unicode="" d="M341.333333 335.847619L781.312 784.164571a48.761905 48.761905 0 0 1 0 68.315429l-10.435048 10.630095a48.761905 48.761905 0 0 1-69.217523 0.390095L257.219048 420.693333a48.761905 48.761905 0 0 1-1.389715-67.632762l14.921143-16.164571A48.761905 48.761905 0 0 1 341.333333 335.847619zM770.438095-27.282286L328.728381 422.790095a48.761905 48.761905 0 0 1-68.998095 0.633905l-5.534476-5.485714a48.761905 48.761905 0 0 1-0.950858-68.583619l437.516191-454.485334a48.761905 48.761905 0 0 1 69.924571-0.341333l9.703619 9.898667a48.761905 48.761905 0 0 1 0 68.291047z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="wxapp" unicode="" d="M512 896C229.376 896 0 666.624 0 384s229.376-512 512-512 512 229.376 512 512S794.624 896 512 896z m0-962.56C262.144-66.55999999999995 61.44 134.144 61.44 384S262.144 834.56 512 834.56s450.56-200.704 450.56-450.56-200.704-450.56-450.56-450.56zM512 384m-466.03377778 0a466.03377778 466.03377778 0 1 1 932.06755556 0 466.03377778 466.03377778 0 1 1-932.06755556 0ZM657.408 629.76c-90.112 0-161.792-73.728-161.792-163.84v-163.84c0-59.392-49.152-108.544-108.544-108.544s-108.544 49.152-108.544 108.544 49.152 108.544 108.544 108.544V465.92c-90.112 0-161.792-73.728-161.792-163.84s71.68-163.84 161.792-163.84 161.792 73.728 161.792 163.84v163.84c0 59.392 49.152 108.544 108.544 108.544s108.544-49.152 108.544-108.544-49.152-108.544-108.544-108.544V302.08000000000004c90.112 0 161.792 73.728 161.792 163.84s-71.68 163.84-161.792 163.84z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="pengyouquan" unicode="" d="M679.170882 497.01803 679.170882 769.502981c0 0-133.338844 71.481008-288.989857 16.365736L679.170882 497.01803zM704.414823 336.715067 704.414823 758.251729c0 0 157.630087-71.433936 202.051809-244.963131L704.414823 336.715067zM619.614461 214.188476l290.99042 273.64845c0 0 51.487651-83.708494-25.293059-273.64845L619.614461 214.188476zM471.029378 179.49328l393.014048 0c0 0-47.444569-128.594797-217.255069-181.688016L471.029378 179.49328zM342.736457 266.304438l0-256.17959c0 0 102.071723-65.36573 276.878005-21.478174L342.736457 266.304438zM115.370099 253.053646 314.44511 431.673789l0-406.206512C314.44511 25.4683 194.172863 67.217147 115.370099 253.053646zM110.3252 281.623331c0 0-45.538149 146.935514 18.154475 274.554076l273.811156 0L110.3252 281.623331zM145.682475 584.816678c0 0 57.602929 130.594337 214.20971 191.869912l186.893574-191.869912L145.682475 584.816678z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="weibo" unicode="" d="M711.213 391.572c-32.422 6.35-16.674 23.904-16.674 23.904s31.72 52.642-6.282 90.916c-47.084 47.402-161.495-6.032-161.495-6.032-43.696-13.646-32.128 6.236-25.938 40.081 0 39.877-13.557 107.364-129.98 67.51-116.289-40.081-216.152-180.499-216.152-180.499-69.452-93.312-60.234-165.43-60.234-165.43 17.33-159.203 185.312-202.899 315.991-213.247 137.458-10.891 322.995 47.717 379.253 168.037 56.258 120.537-45.954 168.232-78.489 174.76zM420.616 93.645c-136.463-6.417-246.788 62.493-246.788 154.212 0 91.796 110.324 165.428 246.788 171.754 136.554 6.326 247.105-50.315 247.105-141.954 0-91.695-110.551-177.777-247.105-184.012zM393.415 359.152c-137.278-16.178-121.417-145.639-121.417-145.639s-1.401-41.017 36.804-61.894c80.319-43.786 163.011-17.261 204.81 37.054 41.798 54.348 17.261 186.543-120.197 170.479zM358.779 177.422c-25.644-3.028-46.272 11.883-46.272 33.449 0 21.51 18.322 44.012 43.989 46.702 29.417 2.824 48.576-14.257 48.576-35.834 0.001-21.51-20.763-41.38-46.293-44.316zM439.686 246.839c-8.677-6.53-19.362-5.625-23.948 2.214-4.791 7.637-2.983 19.882 5.783 26.321 10.19 7.614 20.764 5.424 25.35-2.213 4.586-7.841 1.311-19.588-7.185-26.323zM778.044 447.627c11.070 0 20.47 8.247 22.051 19.002 0.181 0.791 0.293 1.491 0.293 2.395 16.765 151.782-123.495 125.664-123.495 125.664-12.45 0-22.437-10.144-22.437-22.797 0-12.472 9.987-22.616 22.437-22.616 100.743 22.412 78.512-79.032 78.512-79.032-0-12.561 10.168-22.615 22.639-22.615zM761.686 712.535c-48.485 11.432-98.371 1.582-112.334-1.107-1.085-0.113-2.077-1.13-3.073-1.333-0.496-0.090-0.814-0.61-0.814-0.61-13.758-3.909-23.836-16.764-23.836-31.924 0-18.097 14.573-32.964 32.716-32.964 0 0 17.646 2.396 29.62 7.095 11.885 4.813 112.333 3.592 162.221-80.772 27.202-61.567 11.974-102.777 10.053-109.398 0 0-6.484-15.995-6.484-31.765 0-18.165 14.596-29.597 32.624-29.597 15.071 0 27.745 2.078 31.451 27.744h0.18c53.57 179.775-65.543 264.253-152.324 284.632z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="weixin" unicode="" d="M664.250054 527.458319c10.015098 0 19.892049-0.732687 29.67281-1.795902-26.647917 122.810047-159.358451 214.077703-310.826188 214.077703-169.353083 0-308.085774-114.232694-308.085774-259.274068 0-83.708494 46.165436-152.460344 123.281791-205.78483l-30.80868-91.730191 107.688651 53.455469c38.558178-7.53665 69.459978-15.308661 107.924012-15.308661 9.66308 0 19.230993 0.470721 28.752858 1.225921-6.025227 20.36584-9.521864 41.723264-9.521864 63.862493C402.328693 419.367509 517.908058 527.458319 664.250054 527.458319zM498.62897 610.12611c23.200398 0 38.557154-15.120372 38.557154-38.061874 0-22.846334-15.356756-38.156018-38.557154-38.156018-23.107277 0-46.260603 15.309684-46.260603 38.156018C452.368366 595.005738 475.522716 610.12611 498.62897 610.12611zM283.016307 533.909242c-23.107277 0-46.402843 15.309684-46.402843 38.156018 0 22.941502 23.295566 38.061874 46.402843 38.061874 23.081695 0 38.46301-15.120372 38.46301-38.061874C321.479317 549.217902 306.098002 533.909242 283.016307 533.909242zM945.448458 289.848667c0 121.888048-123.258255 221.236753-261.683954 221.236753-146.57838 0-262.015505-99.348706-262.015505-221.236753 0-122.06508 115.437126-221.200938 262.015505-221.200938 30.66644 0 61.617359 7.609305 92.423993 15.262612l84.513836-45.786813-23.178909 76.17082C899.379213 160.223401 945.448458 221.09784 945.448458 289.848667zM598.803483 328.005708c-15.332197 0-30.807656 15.096836-30.807656 30.501688 0 15.190981 15.47546 30.477129 30.807656 30.477129 23.295566 0 38.558178-15.286148 38.558178-30.477129C637.361661 343.102544 622.099049 328.005708 598.803483 328.005708zM768.25071 328.005708c-15.213493 0-30.594809 15.096836-30.594809 30.501688 0 15.190981 15.381315 30.477129 30.594809 30.477129 23.107277 0 38.558178-15.286148 38.558178-30.477129C806.808888 343.102544 791.357987 328.005708 768.25071 328.005708z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="heart" unicode="" d="M508.766 5.385c-22.497 0-239.806 174.754-322.13 280.599-56.625 51.658-102.404 148.052-102.404 215.999 0 144.307 105.673 261.651 235.56 261.651 79.319 0 146.614-65.641 188.17-133.46 41.53 67.819 108.826 133.46 188.168 133.46 129.888 0 235.558-117.345 235.558-261.651 0-68.124-46.020-164.69-102.881-216.434-83.108-107.196-296.28-280.164-320.040-280.164z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="pencil" unicode="" d="M292.76647632 18.285713999999984l52.004571 52.004571-134.290286 134.290286-52.004571-52.004571 0-61.147429 73.142857 0 0-73.142857 61.147429 0zM591.62819032 548.5714290000001q0 12.580571-12.580571 12.580571-5.705143 0-9.728-3.986286l-309.723429-309.723429q-3.986286-3.986286-3.986286-9.728 0-12.580571 12.580571-12.580571 5.705143 0 9.728 3.986286l309.723429 309.723429q3.986286 3.986286 3.986286 9.728zM560.76190432 658.285714l237.714286-237.714286-475.428571-475.428571-237.714286 0 0 237.714286zM951.05219032 603.4285709999999q0-30.281143-21.138286-51.419429l-94.866286-94.866286-237.714286 237.714286 94.866286 94.281143q20.553143 21.723429 51.419429 21.723429 30.281143 0 52.004571-21.723429l134.290286-133.705143q21.138286-22.272 21.138286-52.004571z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="comment-o" unicode="" d="M516.582 388.839c28.277 0 51.279 23.002 51.279 51.279 0 28.269-23.002 51.272-51.279 51.272-28.262 0-51.264-23.002-51.264-51.272 0-28.277 23.002-51.279 51.264-51.279zM287.737 491.389c-28.277 0-51.279-23.002-51.279-51.272 0-28.277 23.002-51.279 51.279-51.279 28.262 0 51.264 23.002 51.264 51.279 0 28.27-23.002 51.272-51.264 51.272zM745.459 388.839c28.262 0 51.264 23.002 51.264 51.279 0 28.269-23.002 51.272-51.264 51.272-28.277 0-51.294-23.002-51.294-51.272-0.001-28.277 23.017-51.279 51.294-51.279zM516.582 45.571c249.11 0 451.782 176.994 451.782 394.547s-202.672 394.539-451.782 394.539-451.766-176.986-451.766-394.539c0-119.96 61.643-232.047 169.12-307.52l2.521-1.779v-195.069l193.376 117.33 2.181-0.356c28.757-4.748 57.219-7.154 84.568-7.154zM420.939 101.050l-141.803-85.249 1.902 139.962c-107.075 65.58-170.884 171.641-170.884 284.355 0 192.556 182.315 349.208 406.427 349.208s406.443-156.653 406.443-349.208-182.33-349.216-406.442-349.216c-31.185 0-63.36 3.411-95.643 10.147z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="backtotop" unicode="" d="M940.10709333 219.34876444999998L544.93070222 614.52515555c-4.80483555 4.80483555-10.40156445 8.32512-16.36465777 10.59271112-1.09226667 0.41415111-2.19363555 0.80099555-3.30752 1.12981333-3.21422222 0.95118222-6.51264 1.536-9.8304 1.77834667-2.23004445 0.16497778-4.46805333 0.16725333-6.69809778 0.01251555-10.80661333-0.75548445-21.40046222-5.25084445-29.66186667-13.51338667-0.00113778-0.00113778-0.00113778-0.00113778-0.00227555-0.00227555l-395.17297778-395.17297778c-18.18737778-18.18737778-18.18737778-47.67516445 0-65.86368 18.18737778-18.18624 47.67516445-18.18624 65.86254222 0L512 515.7307733299999 874.24341333 153.48622221999995c18.18737778-18.18624 47.67516445-18.18624 65.86368 0C958.29447111 171.67473778 958.29447111 201.16252444999998 940.10709333 219.34876444999998z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="feedback" unicode="" d="M689.203888 412.76923c-1.168616 6.033413-1.986237 12.161994-3.566222 18.086937-13.772678 51.692313-48.126091 82.247212-98.844216 95.950306-6.099928 1.6465-12.534478 1.597381-18.488073 3.886517 39.142485 0 78.284971-0.041956 117.431549 0.084934 2.956332 0.00921 3.561106-0.595564 3.551896-3.549849C689.161932 489.07308 689.203888 450.924225 689.203888 412.76923L689.203888 412.76923zM689.203888 412.76923M87.321788 21.669788c0.041956 6.771217-0.005117 9.172917 0 13.670348 0.170892 201.01827 0.118704 402.036539 0.165776 603.059925 0.00921 42.073234 20.286022 72.100108 55.134715 81.632205 10.482749 2.865257 21.273513 3.943822 32.224935 3.938706 144.218636-0.090051 288.438295-0.160659 432.657954 0.132006 12.231579 0.024559 16.208147-1.483794 9.18622-14.062274-10.567683-18.924002-20.00052-38.518269-29.084409-58.217936-3.89675-8.458649-9.026584-10.818393-18.138102-10.793834-127.920438 0.325411-255.840876-0.019443-383.761314 0.576121-13.46671 0.061398-15.972786-3.758604-15.945157-16.389272 0.411369-195.093327 0.441045-390.186653-0.052189-585.274864-0.032746-13.386892 3.674693-16.105816 16.423041-16.07614 195.093327 0.416486 390.186653 0.476861 585.27998-0.085958 14.605649-0.041956 16.488533 5.064342 16.45067 17.600867-0.388856 126.435621-0.080841 252.880451-0.505513 379.315048-0.038886 10.956539 3.091408 16.838503 13.07376 21.401426 22.763446 10.407024 44.978401 22.01541 67.551512 33.202193 3.712555-5.248537 2.14792-10.255575 2.152013-14.870686 0.099261-142.738935 0.103354-285.478893 0.070608-428.217828-0.014326-52.255131-38.093597-90.526783-90.620927-90.573855-206.451002-0.184195-412.903028-0.10847-619.35403-0.35918-31.646767-0.037862-66.171072 13.821797-72.548316 55.45194C87.364767-1.211339 87.317695 20.639319 87.321788 21.669788L87.321788 21.669788zM87.321788 21.669788M952.889429 679.78768c-19.694551-14.024411-34.541701-33.146934-51.971675-49.554626-9.547447-8.988722-18.303878-18.819624-29.9358-30.887474-6.364965 79.046311-50.433646 116.566856-123.740232 125.077693 13.277398 26.507724 25.993001 51.426253 38.202067 76.588329 3.328815 6.861268 33.444716 9.877975 35.189454 9.877975 2.203178 0 9.80225-0.190335 10.904351-0.275269 48.891524-3.758604 79.225389-32.810267 101.43625-73.532737 8.439206-15.471366 12.30321-32.674167 19.916609-48.400337L952.890452 679.78768 952.889429 679.78768zM952.889429 679.78768M724.898855 683.565726c37.752836-0.208754 64.46829-16.072047 82.371032-46.626947 4.700045-8.024767 8.260128-16.773012 11.792581-25.411763 12.710486-31.099299 10.662851-55.41817-17.277502-81.803097C716.070792 448.781422 633.861442 364.113067 550.71986 280.464949c-7.792477-7.839549-14.553461-9.404184-24.436552-6.122441-55.504128 18.425651-89.147366 57.489342-107.054201 111.86681-1.99954 6.089695-0.538259 9.892301 3.811816 14.228049 92.621491 92.308359 185.181583 184.685279 277.515524 277.28835C708.633403 685.825187 718.226898 681.494555 724.898855 683.565726L724.898855 683.565726zM724.898855 683.565726M375.524722 351.095589c41.157375-41.473577 80.223113-80.848353 120.652917-121.588219l-43.592844 0c-22.161742 0-44.324508 0.041956-66.487274-0.028653-5.688559-0.01842-10.724249-0.317225-10.67206 8.005324C375.656729 274.716015 375.524722 311.953104 375.524722 351.095589L375.524722 351.095589zM375.524722 351.095589" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="qrcode" unicode="" d="M320 832l-256 0 0-256 256 0L320 832zM384 896 384 896l0-384-384 0 0 384L384 896zM128 768l128 0 0-128-128 0L128 768zM960 832l-256 0 0-256 256 0L960 832zM1024 896 1024 896l0-384-384 0 0 384L1024 896zM768 768l128 0 0-128-128 0L768 768zM320 192l-256 0 0-256 256 0L320 192zM384 256 384 256l0-384-384 0 0 384L384 256zM128 128l128 0 0-128-128 0L128 128zM448 896l64 0 0-64-64 0L448 896zM512 832l64 0 0-64-64 0L512 832zM448 768l64 0 0-64-64 0L448 768zM512 704l64 0 0-64-64 0L512 704zM448 640l64 0 0-64-64 0L448 640zM512 576l64 0 0-64-64 0L512 576zM448 512l64 0 0-64-64 0L448 512zM448 384l64 0 0-64-64 0L448 384zM512 320l64 0 0-64-64 0L512 320zM448 256l64 0 0-64-64 0L448 256zM512 192l64 0 0-64-64 0L512 192zM448 128l64 0 0-64-64 0L448 128zM512 64l64 0 0-64-64 0L512 64zM448 0l64 0 0-64-64 0L448 0zM512-64l64 0 0-64-64 0L512-64zM960 384l64 0 0-64-64 0L960 384zM64 384l64 0 0-64-64 0L64 384zM128 448l64 0 0-64-64 0L128 448zM0 448l64 0 0-64-64 0L0 448zM256 448l64 0 0-64-64 0L256 448zM320 384l64 0 0-64-64 0L320 384zM384 448l64 0 0-64-64 0L384 448zM576 384l64 0 0-64-64 0L576 384zM640 448l64 0 0-64-64 0L640 448zM704 384l64 0 0-64-64 0L704 384zM768 448l64 0 0-64-64 0L768 448zM832 384l64 0 0-64-64 0L832 384zM896 448l64 0 0-64-64 0L896 448zM960 256l64 0 0-64-64 0L960 256zM576 256l64 0 0-64-64 0L576 256zM640 320l64 0 0-64-64 0L640 320zM704 256l64 0 0-64-64 0L704 256zM832 256l64 0 0-64-64 0L832 256zM896 320l64 0 0-64-64 0L896 320zM960 128l64 0 0-64-64 0L960 128zM576 128l64 0 0-64-64 0L576 128zM640 192l64 0 0-64-64 0L640 192zM768 192l64 0 0-64-64 0L768 192zM832 128l64 0 0-64-64 0L832 128zM896 192l64 0 0-64-64 0L896 192zM960 0l64 0 0-64-64 0L960 0zM640 64l64 0 0-64-64 0L640 64zM704 0l64 0 0-64-64 0L704 0zM768 64l64 0 0-64-64 0L768 64zM832 0l64 0 0-64-64 0L832 0zM640-64l64 0 0-64-64 0L640-64zM768-64l64 0 0-64-64 0L768-64zM896-64l64 0 0-64-64 0L896-64z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="shouji" unicode="" d="M798.723234 721.217255c0 60.576657-49.106418 109.683075-109.683075 109.683075l-354.708628 0c-60.576657 0-109.683075-49.106418-109.683075-109.683075l0-673.980161c0-60.576657 49.106418-109.683075 109.683075-109.683075l354.708628 0c60.576657 0 109.683075 49.106418 109.683075 109.683075L798.723234 721.217255zM264.557398 658.984888l494.256894 0 0-529.049305-494.256894 0L264.557398 658.984888zM334.356091 790.991388 689.016623 790.991388c38.548968 0 69.798692-31.249725 69.798692-69.798692l0-22.298865-494.256894 0 0 22.298865C264.557398 759.74064 295.807123 790.991388 334.356091 790.991388zM689.016623-22.53704 334.356091-22.53704c-38.548968 0-69.798692 31.249725-69.798692 69.798692l0 43.788296 494.256894 0 0-43.788296C758.814292 8.712685 727.564567-22.53704 689.016623-22.53704zM513.173732 66.056718c-16.70752 0-30.30112-13.5936-30.30112-30.30112 0-16.70752 13.5936-30.30112 30.30112-30.30112s30.299073 13.5936 30.299073 30.30112C543.472805 52.463118 529.881253 66.056718 513.173732 66.056718z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="ellipsis-h" unicode="" d="M855.040 277.504c-55.992 0-101.376 45.394-101.376 101.376s45.394 101.376 101.376 101.376 101.376-45.394 101.376-101.376-45.384-101.376-101.376-101.376zM517.119 277.504c-55.992 0-101.376 45.394-101.376 101.376s45.394 101.376 101.376 101.376 101.376-45.394 101.376-101.376-45.384-101.376-101.376-101.376zM179.2 277.504c-55.992 0-101.376 45.394-101.376 101.376s45.394 101.376 101.376 101.376 101.376-45.394 101.376-101.376-45.384-101.376-101.376-101.376z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,88 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>
|
||||
Created by FontForge 20120731 at Sat Nov 28 22:48:50 2015
|
||||
By Ads
|
||||
</metadata>
|
||||
<defs>
|
||||
<font id="iconfont" horiz-adv-x="1024" >
|
||||
<font-face
|
||||
font-family="iconfont"
|
||||
font-weight="500"
|
||||
font-stretch="normal"
|
||||
units-per-em="1024"
|
||||
panose-1="2 0 6 3 0 0 0 0 0 0"
|
||||
ascent="896"
|
||||
descent="-128"
|
||||
x-height="792"
|
||||
bbox="-0.097561 -77 1024.92 839"
|
||||
underline-thickness="50"
|
||||
underline-position="-100"
|
||||
unicode-range="U+0078-F20A"
|
||||
/>
|
||||
<missing-glyph horiz-adv-x="374"
|
||||
d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
|
||||
<glyph glyph-name=".notdef" horiz-adv-x="374"
|
||||
d="M34 0v682h272v-682h-272zM68 34h204v614h-204v-614z" />
|
||||
<glyph glyph-name=".null" horiz-adv-x="0"
|
||||
/>
|
||||
<glyph glyph-name="nonmarkingreturn" horiz-adv-x="341"
|
||||
/>
|
||||
<glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
|
||||
d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
|
||||
t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
|
||||
t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
|
||||
<glyph glyph-name="uniF00A" unicode=""
|
||||
d="M911 512l-334 1q19 79 23 116q4 45 -3 76q-11 47 -34 90q-6 12 -17 18.5t-24 6.5h-65q-13 0 -23.5 -6.5t-17 -17t-6.5 -23.5v-35v-32v-26q0 -10 -1 -11q-12 -26 -26.5 -52t-29.5 -51.5t-32 -49.5q-6 -9 -11.5 -17t-11.5 -16t-12.5 -16t-13.5 -15q-13 -14 -13 -32v-411
|
||||
q0 -19 13 -33q28 -28 73 -28q323 1 440 1q13 0 24 6t17 17l119 203q6 11 9 22.5t3 23.5l1 244q0 13 -6.5 24t-17 17t-23.5 6zM155 445h-42q-13 0 -24 -6t-17 -17t-6 -24v-403q0 -19 13.5 -33t33.5 -14h42q13 0 23.5 6.5t17 17t6.5 23.5v403q0 20 -14 33.5t-33 13.5z" />
|
||||
<glyph glyph-name="uniF01A" unicode=""
|
||||
d="M260 740q0 -41 -29.5 -69.5t-76.5 -28.5q-45 0 -74 28.5t-29 69.5q0 43 29 71t76 28t74.5 -28t29.5 -71zM57 -69v633h197v-633h-197zM371 361q0 89 -4 203h170l10 -88h4q61 103 194 103q103 0 165.5 -69t62.5 -204v-375h-197v351q0 137 -100 137q-72 0 -101 -74
|
||||
q-6 -12 -6 -49v-365h-198v430z" />
|
||||
<glyph glyph-name="uniF03A" unicode=""
|
||||
d="M751 815v-142h-84q-46 0 -62 -19t-16 -58v-101h157l-21 -158h-136v-407h-164v407h-136v158h136v117q0 100 56 154.5t148 54.5q79 0 122 -6z" />
|
||||
<glyph glyph-name="uniF04A" unicode=""
|
||||
d="M629 830h-245q-37 0 -69 -4t-71.5 -19t-71.5 -41q-37 -31 -56.5 -72.5t-19.5 -82.5q0 -46 22.5 -87t68.5 -68t106 -27h7h8q2 0 7.5 0.5t7.5 1t8 0.5q-1 -1 -2 -4t-1.5 -4t-1.5 -4l-2 -5q0 -1 -1 -3.5t-1.5 -4.5t-1 -4.5t-0.5 -5t-0.5 -5t-0.5 -5.5q0 -17 6.5 -33
|
||||
t11.5 -23t18 -23q-18 -1 -26.5 -1.5t-29 -2.5t-33.5 -4.5t-34 -6.5t-36.5 -9t-34 -12.5t-33.5 -16.5q-48 -28 -69.5 -66.5t-21.5 -75.5q0 -69 66.5 -117.5t188.5 -48.5q74 0 134.5 19t98.5 50.5t58.5 70t20.5 80.5q0 19 -3.5 36t-11.5 32t-15 26.5t-21 24.5t-23 21t-26 22
|
||||
l-43 32q-9 8 -14 12.5t-10.5 15.5t-5.5 22.5t6 23t11 17t16 16.5q24 18 37.5 30.5t30 33t24 45.5t7.5 56t-8.5 57.5t-24 46.5t-25.5 30t-26 22h74zM524 120q0 -36 -19.5 -64t-59.5 -44.5t-95 -16.5q-94 0 -151.5 39.5t-57.5 102.5q0 83 102 119q57 19 125 19h6h4
|
||||
q3 0 4.5 -0.5t3.5 -0.5h5q2 0 4 -1q75 -51 102 -81t27 -72zM429 494q-33 -33 -80 -33q-36 0 -66 21t-47 53.5t-26 67t-9 65.5q0 54 26 86q14 17 36.5 27.5t46.5 10.5q46 0 81.5 -37t51.5 -84.5t16 -92.5v-10q0 -4 -1 -10.5t-2 -12.5t-3.5 -13t-5.5 -13.5t-7.5 -13
|
||||
t-10.5 -11.5zM865 653v118h-59v-118h-119v-58h119v-118h59v118h118v58h-118z" />
|
||||
<glyph glyph-name="uniF05A" unicode=""
|
||||
d="M540 185h370v370h-369l-1 85h285v114h-285v85h-142v-284h-256v-370h199v-258zM284 279v175h484v-175h-484zM853 100q-17 0 -33 -6.5t-27.5 -18t-18 -27.5t-6.5 -33.5t6.5 -33.5t18 -27.5t27.5 -18.5t33 -7q35 0 60 25.5t25 61t-25 60.5t-60 25zM597.5 100
|
||||
q-35.5 0 -60.5 -25t-25 -60.5t25 -61t60.5 -25.5t60 25.5t24.5 61t-24.5 60.5t-60 25zM171 100q-14 0 -27 -4t-23.5 -12t-18.5 -18.5t-12 -24t-4 -27.5q0 -35 24.5 -60.5t60 -25.5t60.5 25.5t25 60.5q0 18 -7 34t-18 27.5t-27 18t-33 6.5z" />
|
||||
<glyph glyph-name="uniF06A" unicode="" horiz-adv-x="1025"
|
||||
d="M1024 702q-58 -26 -121 -34q33 20 57 50t36 67q-63 -37 -134 -51q-62 66 -153 66q-57 0 -105.5 -28t-76.5 -76.5t-28 -105.5q0 -8 0.5 -16t2 -16t2.5 -16q-129 7 -241.5 65t-191.5 155q-13 -24 -20.5 -51t-7.5 -55q0 -36 11.5 -69t32.5 -60t49 -46q-50 2 -95 26v-2
|
||||
q0 -76 48 -134t121 -72q-27 -8 -56 -8q-5 0 -10 1h-10q-5 1 -9.5 1.5t-9.5 1.5q20 -63 74 -103.5t122 -42.5q-36 -28 -77.5 -48t-88 -31t-95.5 -11q-25 0 -50 3q147 -94 322 -94q112 0 210 35.5t168 95t120.5 136.5t75 161.5t24.5 169.5q0 14 -1 27q8 5 15.5 11t14.5 12
|
||||
l14 14q7 6 13.5 12.5t13 14t12 14.5t11.5 15t11 16z" />
|
||||
<glyph glyph-name="uniF07A" unicode=""
|
||||
d="M435 826q-94 -21 -163.5 -85.5t-98.5 -155.5t-8 -186q7 -34 21 -66q4 -9 12.5 -15t18 -7t18.5 3q15 6 20.5 20.5t-0.5 28.5q-11 25 -17 53q-17 74 6 146t78 123t129.5 67.5t145.5 -6.5t121.5 -78.5t67 -130t-6 -146.5t-77.5 -123t-130 -67q-44 -10 -89 -5q-15 1 -27 -9
|
||||
t-13.5 -25t8.5 -27.5t25 -13.5q56 -6 112 7q94 20 164 85t98.5 155.5t8 185t-84.5 164.5t-154.5 99t-184.5 9zM542 339q57 13 88 62t18 106q-8 37 -33 64.5t-60.5 39t-72.5 3.5q-57 -13 -88 -62t-19 -106q5 -21 16 -41q-70 -81 -105 -197t-16 -239q2 -16 14.5 -25t28.5 -7
|
||||
q1 1 2 1q14 3 22.5 15.5t6.5 26.5q-17 105 12.5 204.5t88.5 168.5q46 -25 97 -14z" />
|
||||
<glyph glyph-name="uniF08A" unicode=""
|
||||
d="M767 277q-9 -8 -11 -13.5t0 -16.5l4 -24q-183 2 -297 18q-6 2 0 5l289 201q11 7 -1 9q-7 1 -19 3t-21 3l-9 1q-90 11 -190 11q-170 0 -303 -30h8q225 0 374 -23q7 -2 0 -6l-289 -206l-5 -4q-2 -4 5 -5q45 -6 94 -9q59 -4 116 -4q176 0 312 32l5 1q-19 -15 -63 -30
|
||||
l42 -226q2 -12 -1.5 -19t-11 -7.5t-18.5 4.5l-241 140q-24 15 -49 -1l-240 -139q-16 -9 -25 -2.5t-5 24.5l53 284q3 9 1.5 14t-8.5 12l-210 193q-9 8 -10.5 16t4.5 13t18 6l268 30q15 2 21 5.5t12 14.5l126 262q9 17 20.5 17t19.5 -17l118 -262q5 -13 11 -17t21 -6l277 -27
|
||||
q18 -2 21.5 -12t-9.5 -23z" />
|
||||
<glyph glyph-name="uniF09A" unicode=""
|
||||
d="M704 547q-87 0 -163 -38t-120 -103q-22 -32 -33.5 -67t-11.5 -73q0 -41 14 -78h-18q-64 0 -124 18l-124 -56l30 102q-64 43 -101 105t-37 134q0 124 104.5 213t251.5 89q128 0 227 -70t122 -176h-17zM218 557q8 -7 17 -10.5t19 -3.5q22 0 36.5 14.5t14.5 35.5q0 11 -4 20
|
||||
t-11 16q-2 2 -4 3l-4 4l-4 2l-4 2l-4 2h-6l-4 2h-6q-21 0 -36 -15q-7 -7 -10.5 -16t-3.5 -20q0 -7 1.5 -13.5t5 -12t7.5 -10.5zM1008 266q0 -126 -116 -204l23 -87l-105 49q-50 -16 -106 -16q-124 0 -213 75.5t-89 182.5q0 70 40.5 129t110.5 93q23 11 47.5 18.5t50.5 11.5
|
||||
t53 4q126 0 215 -75t89 -181zM526.5 629.5q-14.5 14.5 -35 14.5t-34.5 -15q-7 -7 -11 -16t-4 -19q0 -20 14.5 -34.5t35 -14.5t35.5 14q7 8 10.5 16.5t3.5 18.5q0 21 -14.5 35.5zM603 312q9 0 16.5 3.5t13.5 9.5q13 13 13 29q0 8 -3.5 15.5t-9.5 13.5q-12 13 -30 13
|
||||
q-6 0 -11 -1.5t-10 -4.5t-9 -7q-13 -13 -13 -28q0 -12 6 -21.5t16 -15.5q5 -3 10 -4.5t11 -1.5zM775 323q12 -13 30.5 -13t31.5 13q3 3 5 6.5t4 7.5t2.5 8t0.5 8q0 6 -1.5 11t-4 10t-6.5 9q-13 13 -31.5 13t-30.5 -13q-5 -4 -7.5 -9t-4 -10t-1.5 -11q0 -9 3 -16.5t10 -13.5z
|
||||
" />
|
||||
<glyph glyph-name="uniF10A" unicode=""
|
||||
d="M138 773h746v-84h-746v84zM820 273v328h-617v-328h617zM292 517h439v-160h-439v160zM686 83q41 63 76 143l-90 33q-35 -97 -81 -176h-156q-39 103 -88 176l-83 -33q51 -77 83 -143h-230v-83h789v83h-220z" />
|
||||
<glyph glyph-name="uniF11A" unicode=""
|
||||
d="M911 223q-5 31 -17 61t-25.5 50.5t-26.5 37t-21 24.5l-8 9q5 44 -2.5 73t-17.5 36l-10 8q-2 62 -18.5 112.5t-39.5 81.5t-54 53.5t-57 32.5t-54 15.5t-38.5 6t-17.5 0.5q-6 0 -16.5 -0.5t-39 -6t-54 -15.5t-57 -32.5t-54.5 -53.5t-39.5 -81.5t-17.5 -112.5q-2 -1 -4.5 -3
|
||||
t-9.5 -10t-10.5 -20.5t-7 -34t0.5 -49.5l-9 -9q-5 -5 -19.5 -23.5t-26.5 -38t-24.5 -50t-17.5 -61.5q-1 -4 -1 -10t1 -22t3.5 -28t9 -21t15.5 -8t25 17t37 50q23 -62 64 -117q-3 -1 -8 -3.5t-17.5 -10t-21.5 -17t-16 -26t-5 -34.5q0 -2 0.5 -4.5t3 -10t8 -14t17.5 -14.5
|
||||
t28 -13.5t42.5 -9t58.5 -2.5q13 1 32.5 4t59.5 17t55 36h30q31 -44 141 -56l6 -1q45 -1 78 5.5t47.5 15.5t23 21.5t9 17.5t0.5 8q2 18 -4.5 34t-16.5 26t-20.5 17.5t-18.5 10.5l-8 3q9 11 17 23.5t14 23.5l12 22q6 11 9.5 19.5t6.5 15t4 9.5l1 4q21 -34 37 -50t25.5 -17
|
||||
t15.5 8t8.5 21t3.5 28t1 23v9v0z" />
|
||||
<glyph glyph-name="uniF12A" unicode="" horiz-adv-x="1026"
|
||||
d="M0 242q0 65 40 140t113 147q96 97 195.5 134.5t140.5 -3.5q36 -36 11 -119q-2 -9 0 -12t5 -4t8 0t8 2l3 1q80 34 141.5 34t87.5 -35q25 -35 0 -101q-1 -8 -3 -11t3 -7.5t7 -5.5t9 -3q33 -10 59.5 -26.5t45 -47t19.5 -66.5q0 -39 -20.5 -79t-62.5 -79t-96 -66.5t-129 -48
|
||||
t-155 -17.5t-157.5 19.5t-137 52.5t-98.5 87t-37 114zM104 201q5 -55 51 -97t118.5 -62t156.5 -12q128 13 211 80.5t76 151.5q-5 54 -50 96t-120 62.5t-157 12.5q-127 -13 -211 -80.5t-75 -151.5zM237 151q-24 52 3 106q27 53 86.5 80t120.5 10q63 -16 90.5 -67.5
|
||||
t1.5 -109.5t-90.5 -85t-127.5 -7q-62 19 -84 73zM283 166q5 -21 24.5 -30t43 -1t35.5 28q11 18 6 38.5t-25 28.5q-20 9 -42.5 0.5t-33.5 -25.5q-13 -20 -8 -39zM403 247q-10 -19 8 -27q8 -2 16 1t12 10q6 8 2.5 16t-10.5 10q-7 3 -16 0t-12 -10zM666 746q-3 16 5 30.5
|
||||
t25 16.5q70 14 139.5 -6.5t118.5 -76.5q50 -56 65 -128.5t-8 -137.5q-5 -16 -19.5 -23t-30 -2t-22.5 19.5t-3 29.5q16 47 6 98t-46 90q-36 40 -85 54.5t-98 5.5q-17 -3 -30 6t-17 24zM699 616q-3 15 5.5 26t20.5 14q35 8 68.5 -2.5t57.5 -37t31 -62.5t-3 -68
|
||||
q-5 -12 -17.5 -19t-25.5 -2t-20 17.5t-2 25.5q11 36 -13.5 62.5t-61.5 20.5q-13 -3 -25 4t-15 21z" />
|
||||
<glyph glyph-name="uniF20A" unicode=""
|
||||
d="M945 677q-23 37 -54.5 64t-68.5 42.5t-79 18.5q-148 7 -228 -101l-1 2q-1 1 -2 1q0 -3 -3 -3q-80 108 -228 101q-60 -3 -113 -36t-89 -89q-26 -41 -36 -89.5t-5 -99t25 -102.5t54 -98q53 -69 89 -110q122 -134 282 -240l21 -15h6l21 15q78 52 150 113t132 127
|
||||
q11 13 24 28.5t22.5 28t22 28t20.5 25.5q69 94 79.5 200.5t-41.5 188.5z" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 112 B |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 729 B |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> <!-- Generator: IcoMoon.io --> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg width="120" height="24" viewBox="0 0 120 24" fill="#ffffff" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M 17.384,17.705q0.00,0.536 -0.375,0.911l-1.821,1.821q-0.375,0.375 -0.911,0.375t-0.911-0.375l-3.938-3.938l-3.938,3.938q-0.375,0.375 -0.911,0.375t-0.911-0.375l-1.821-1.821q-0.375-0.375 -0.375-0.911t 0.375-0.911l 3.938-3.938l-3.938-3.938q-0.375-0.375 -0.375-0.911t 0.375-0.911l 1.821-1.821q 0.375-0.375 0.911-0.375t 0.911,0.375l 3.938,3.938l 3.938-3.938q 0.375-0.375 0.911-0.375t 0.911,0.375l 1.821,1.821q 0.375,0.375 0.375,0.911 t-0.375,0.911l-3.938,3.938l 3.938,3.938q 0.375,0.375 0.375,0.911zM 57.938,21.067l-8.732-8.719q-0.496-0.496 -0.496-1.212t 0.496-1.212l 8.732-8.719q 0.496-0.496 1.212-0.496t 1.212,0.496l 1.004,1.004q 0.496,0.496 0.496,1.212t-0.496,1.212l-6.509,6.509l 6.509,6.496q 0.496,0.509 0.496,1.219t-0.496,1.205l-1.004,1.004q-0.496,0.496 -1.212,0.496t-1.212-0.496zM 110.719,11.143q0.00,0.696 -0.496,1.219l-8.732,8.719q-0.496,0.496 -1.205,0.496t-1.205-0.496l-1.018-1.004q-0.496-0.522 -0.496-1.219q0.00-0.71 0.496-1.205l 6.509-6.509l-6.509-6.496q-0.496-0.522 -0.496-1.219q0.00-0.71 0.496-1.205l 1.018-1.004q 0.482-0.509 1.205-0.509t 1.205,0.509l 8.732,8.719q 0.496,0.496 0.496,1.205z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 182 B |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 608 B |
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="search" transform="translate(8.000000, 8.000000) scale(-1, 1) translate(-8.000000, -8.000000) " fill="#666666" fill-rule="nonzero">
|
||||
<path d="M15.7,14.3 L11.5,10.1 C11.3,9.9 11,9.8 10.7,9.8 C11.5,8.8 12,7.4 12,6 C12,2.7 9.3,8.8817842e-16 6,8.8817842e-16 C2.7,8.8817842e-16 0,2.7 0,6 C0,9.3 2.7,12 6,12 C7.4,12 8.8,11.5 9.8,10.6 C9.8,10.9 9.8,11.2 10.1,11.4 L14.3,15.6 C14.5,15.8 14.8,15.9 15,15.9 C15.2,15.9 15.5,15.8 15.7,15.6 C16.1,15.3 16.1,14.7 15.7,14.3 Z M6,10.5 C3.5,10.5 1.5,8.5 1.5,6 C1.5,3.5 3.5,1.5 6,1.5 C8.5,1.5 10.5,3.5 10.5,6 C10.5,8.5 8.5,10.5 6,10.5 Z" id="Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 926 B |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 43 KiB |
@@ -0,0 +1,171 @@
|
||||
var CMS = {
|
||||
|
||||
events: {
|
||||
//请求成功的回调
|
||||
onAjaxSuccess: function (ret, onAjaxSuccess) {
|
||||
var data = typeof ret.data !== 'undefined' ? ret.data : null;
|
||||
var msg = typeof ret.msg !== 'undefined' && ret.msg ? ret.msg : '操作成功';
|
||||
|
||||
if (typeof onAjaxSuccess === 'function') {
|
||||
var result = onAjaxSuccess.call(this, data, ret);
|
||||
if (result === false)
|
||||
return;
|
||||
}
|
||||
layer.msg(msg, {icon: 1});
|
||||
},
|
||||
//请求错误的回调
|
||||
onAjaxError: function (ret, onAjaxError) {
|
||||
var data = typeof ret.data !== 'undefined' ? ret.data : null;
|
||||
var msg = typeof ret.msg !== 'undefined' && ret.msg ? ret.msg : '操作失败';
|
||||
if (typeof onAjaxError === 'function') {
|
||||
var result = onAjaxError.call(this, data, ret);
|
||||
if (result === false) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
layer.msg(msg, {icon: 2});
|
||||
},
|
||||
//服务器响应数据后
|
||||
onAjaxResponse: function (response) {
|
||||
try {
|
||||
var ret = typeof response === 'object' ? response : JSON.parse(response);
|
||||
if (!ret.hasOwnProperty('code')) {
|
||||
$.extend(ret, {code: -2, msg: response, data: null});
|
||||
}
|
||||
} catch (e) {
|
||||
var ret = {code: -1, msg: e.message, data: null};
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
},
|
||||
api: {
|
||||
//获取修复后可访问的cdn链接
|
||||
cdnurl: function (url) {
|
||||
return /^(?:[a-z]+:)?\/\//i.test(url) ? url : Config.upload.cdnurl + url;
|
||||
},
|
||||
//发送Ajax请求
|
||||
ajax: function (options, success, error) {
|
||||
options = typeof options === 'string' ? {url: options} : options;
|
||||
var st, index = 0;
|
||||
st = setTimeout(function () {
|
||||
index = layer.load();
|
||||
}, 150);
|
||||
options = $.extend({
|
||||
type: "POST",
|
||||
dataType: "json",
|
||||
xhrFields: {
|
||||
withCredentials: true
|
||||
},
|
||||
success: function (ret) {
|
||||
clearTimeout(st);
|
||||
index && layer.close(index);
|
||||
ret = CMS.events.onAjaxResponse(ret);
|
||||
if (ret.code === 1) {
|
||||
CMS.events.onAjaxSuccess(ret, success);
|
||||
} else {
|
||||
CMS.events.onAjaxError(ret, error);
|
||||
}
|
||||
},
|
||||
error: function (xhr) {
|
||||
clearTimeout(st);
|
||||
index && layer.close(index);
|
||||
var ret = {code: xhr.status, msg: xhr.statusText, data: null};
|
||||
CMS.events.onAjaxError(ret, error);
|
||||
}
|
||||
}, options);
|
||||
return $.ajax(options);
|
||||
},
|
||||
//提示并跳转
|
||||
msg: function (message, url) {
|
||||
var callback = typeof url === 'function' ? url : function () {
|
||||
if (typeof url !== 'undefined' && url) {
|
||||
location.href = url;
|
||||
}
|
||||
};
|
||||
layer.msg(message, {
|
||||
icon: 1,
|
||||
time: 2000
|
||||
}, callback);
|
||||
},
|
||||
//表单提交事件
|
||||
form: function (elem, success, error, submit) {
|
||||
var delegation = typeof elem === 'object' && typeof elem.prevObject !== 'undefined' ? elem.prevObject : document;
|
||||
$(delegation).on("submit", elem, function (e) {
|
||||
var form = $(e.target);
|
||||
if (typeof submit === 'function') {
|
||||
if (false === submit.call(form, success, error)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$("[type=submit]", form).prop("disabled", true);
|
||||
CMS.api.ajax({
|
||||
url: form.attr("action"),
|
||||
data: form.serialize(),
|
||||
complete: function (xhr) {
|
||||
var token = xhr.getResponseHeader('__token__');
|
||||
if (token) {
|
||||
$("input[name='__token__']").val(token);
|
||||
}
|
||||
$("[type=submit]", form).prop("disabled", false);
|
||||
}
|
||||
}, function (data, ret) {
|
||||
//刷新客户端token
|
||||
if (data && typeof data.token !== 'undefined') {
|
||||
$("input[name='__token__']").val(data.token);
|
||||
}
|
||||
//自动保存草稿设置
|
||||
var autosaveKey = $("textarea[data-autosave-key]", form).data("autosave-key");
|
||||
if (autosaveKey && localStorage) {
|
||||
localStorage.removeItem("autosave-" + autosaveKey);
|
||||
$(".md-autosave", form).addClass("hidden");
|
||||
}
|
||||
if (typeof success === 'function') {
|
||||
if (false === success.call(form, data, ret)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}, function (data, ret) {
|
||||
//刷新客户端token
|
||||
if (data && typeof data.token !== 'undefined') {
|
||||
$("input[name='__token__']").val(data.token);
|
||||
}
|
||||
if (typeof error === 'function') {
|
||||
if (false === error.call(form, data, ret)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
},
|
||||
//localStorage存储
|
||||
storage: function (key, value) {
|
||||
key = key.split('.');
|
||||
|
||||
var _key = key[0];
|
||||
var o = JSON.parse(localStorage.getItem(_key));
|
||||
|
||||
if (typeof value === 'undefined') {
|
||||
if (o == null)
|
||||
return null;
|
||||
if (key.length === 1) {
|
||||
return o;
|
||||
}
|
||||
_key = key[1];
|
||||
return typeof o[_key] !== 'undefined' ? o[_key] : null;
|
||||
} else {
|
||||
if (key.length === 1) {
|
||||
o = value;
|
||||
} else {
|
||||
if (o && typeof o === 'object') {
|
||||
o[key[1]] = value;
|
||||
} else {
|
||||
o = {};
|
||||
o[key[1]] = value;
|
||||
}
|
||||
}
|
||||
localStorage.setItem(_key, JSON.stringify(o));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,462 @@
|
||||
$(function () {
|
||||
window.isMobile = !!("ontouchstart" in window);
|
||||
|
||||
function AddFavorite(sURL, sTitle) {
|
||||
if (/firefox/i.test(navigator.userAgent)) {
|
||||
return false;
|
||||
} else if (window.external && window.external.addFavorite) {
|
||||
window.external.addFavorite(sURL, sTitle);
|
||||
return true;
|
||||
} else if (window.sidebar && window.sidebar.addPanel) {
|
||||
window.sidebar.addPanel(sTitle, sURL, "");
|
||||
return true;
|
||||
} else {
|
||||
var touch = (navigator.userAgent.toLowerCase().indexOf('mac') != -1 ? 'Command' : 'CTRL');
|
||||
layer.msg('请使用 ' + touch + ' + D 添加到收藏夹.');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
var len = function (str) {
|
||||
if (!str)
|
||||
return 0;
|
||||
var length = 0;
|
||||
for (var i = 0; i < str.length; i++) {
|
||||
if (str.charCodeAt(i) >= 0x4e00 && str.charCodeAt(i) <= 0x9fa5) {
|
||||
length += 2;
|
||||
} else {
|
||||
length++;
|
||||
}
|
||||
}
|
||||
return length;
|
||||
};
|
||||
|
||||
//new LazyLoad({elements_selector: ".lazy"});
|
||||
|
||||
layer.config({focusBtn: false});
|
||||
|
||||
//栏目高亮
|
||||
var nav = $("header.header .navbar-nav");
|
||||
if ($("li.active", nav).length === 0) {
|
||||
var current = nav.data("current");
|
||||
var currentNav = $("a[href='" + location.href + "']", nav)[0] || $("a[href='" + location.pathname + "']", nav)[0] || $("li[value='" + current + "'] > a", nav)[0];
|
||||
currentNav && $(currentNav, nav).parents("li").addClass("active");
|
||||
}
|
||||
|
||||
//移动端菜单点击
|
||||
$(document).on("click", ".navbar-collapse.collapse.in .navbar-nav .dropdown-submenu > a", function () {
|
||||
$(this).parents("li.dropdown").addClass("open");
|
||||
return false;
|
||||
});
|
||||
|
||||
//移动浏览器左右滑动
|
||||
$(document).on('touchstart', '.carousel', function (event) {
|
||||
const xClick = event.originalEvent.touches[0].pageX;
|
||||
$(this).one('touchmove', function (event) {
|
||||
const xMove = event.originalEvent.touches[0].pageX;
|
||||
const sensitivityInPx = 5;
|
||||
|
||||
if (Math.floor(xClick - xMove) > sensitivityInPx) {
|
||||
$(this).carousel('next');
|
||||
} else if (Math.floor(xClick - xMove) < -sensitivityInPx) {
|
||||
$(this).carousel('prev');
|
||||
}
|
||||
});
|
||||
$(this).on('touchend', function () {
|
||||
$(this).off('touchmove');
|
||||
});
|
||||
});
|
||||
|
||||
// 点击收藏
|
||||
$(".addbookbark").attr("rel", "sidebar").click(function () {
|
||||
//使用数据库收藏
|
||||
CMS.api.ajax({
|
||||
url: $(this).data("action"),
|
||||
data: {type: $(this).data("type"), aid: $(this).data("aid")}
|
||||
});
|
||||
//使用浏览器收藏
|
||||
//return !AddFavorite(window.location.href, $(this).attr("title"));
|
||||
});
|
||||
|
||||
// 点赞
|
||||
$(document).on("click", ".btn-like", function () {
|
||||
var that = this;
|
||||
var id = $(this).data("id");
|
||||
var type = $(this).data("type");
|
||||
if (CMS.api.storage(type + "vote." + id)) {
|
||||
layer.msg("你已经点过赞了");
|
||||
return false;
|
||||
}
|
||||
CMS.api.ajax({
|
||||
data: $(this).data()
|
||||
}, function (data, ret) {
|
||||
$("span", that).text(type === 'like' ? ret.data.likes : ret.data.dislikes);
|
||||
CMS.api.storage(type + "vote." + id, true);
|
||||
return false;
|
||||
}, function () {
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
// 加载更多
|
||||
$(document).on("click", ".btn-loadmore", function () {
|
||||
var that = this;
|
||||
var page = parseInt($(this).data("page"));
|
||||
var container = $(this).data("container");
|
||||
container = container ? $(container) : $(".article-list,.product-list");
|
||||
var loadmoreText = $(this).text();
|
||||
$(that).text("正在加载").prop("disabled", true);
|
||||
CMS.api.ajax({
|
||||
url: $(that).attr("href"),
|
||||
}, function (data, ret) {
|
||||
if (data) {
|
||||
$(data).appendTo(container);
|
||||
page++;
|
||||
$(that).attr("href", $(that).data("url").replace("__page__", page)).data("page", page);
|
||||
$(that).text(loadmoreText).prop("disabled", false);
|
||||
} else {
|
||||
$(that).replaceWith('<div class="loadmore loadmore-line loadmore-nodata"><span class="loadmore-tips">暂无更多数据</span></div>');
|
||||
}
|
||||
return false;
|
||||
}, function (data) {
|
||||
$(that).text(loadmoreText).prop("disabled", false);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
//滚动加载更多
|
||||
$(window).scroll(function () {
|
||||
var loadmore = $(".btn-loadmore");
|
||||
if (loadmore.length > 0 && !loadmore.prop("disabled") && (loadmore.data("autoload") === undefined || loadmore.data("autoload"))) {
|
||||
if ($(window).scrollTop() - loadmore.height() > loadmore.offset().top - $(window).height()) {
|
||||
loadmore.trigger("click");
|
||||
}
|
||||
}
|
||||
});
|
||||
setTimeout(function () {
|
||||
if ($(window).scrollTop() > 0) {
|
||||
$(window).trigger("scroll");
|
||||
}
|
||||
}, 500);
|
||||
|
||||
//评论列表
|
||||
if ($("#comment-container").length > 0) {
|
||||
var ci, si;
|
||||
$("#commentlist dl dd div,#commentlist dl dd dl dd").on({
|
||||
mouseenter: function () {
|
||||
clearTimeout(ci);
|
||||
var _this = this;
|
||||
ci = setTimeout(function () {
|
||||
$(_this).find("small:first").find("a").stop(true, true).fadeIn();
|
||||
}, 100);
|
||||
},
|
||||
mouseleave: function () {
|
||||
clearTimeout(ci);
|
||||
$(this).find("small:first").find("a").stop(true, true).fadeOut();
|
||||
}
|
||||
});
|
||||
$(".reply").on("click", function () {
|
||||
$("#pid").val($(this).data("id"));
|
||||
$(this).parent().parent().append($("div#postcomment").detach());
|
||||
$("#postcomment h3 a").show();
|
||||
$("#commentcontent").focus().val($(this).attr("title"));
|
||||
});
|
||||
$("#postcomment h3 a").bind("click", function () {
|
||||
$("#comment-container").append($("div#postcomment").detach());
|
||||
$(this).hide();
|
||||
});
|
||||
$(".expandall a").on("click", function () {
|
||||
$(this).parent().parent().find("dl.hide").fadeIn();
|
||||
$(this).fadeOut();
|
||||
});
|
||||
|
||||
$(document).on("click", "#submit", function () {
|
||||
var btn = $(this);
|
||||
var tips = $("#actiontips");
|
||||
tips.removeClass();
|
||||
var content = $("#commentcontent").val();
|
||||
if (len(content) < 3) {
|
||||
tips.addClass("text-danger").html("评论内容长度不正确!最少3个字符").fadeIn().change();
|
||||
return false;
|
||||
}
|
||||
if (btn.prop("disabled")) {
|
||||
return false;
|
||||
}
|
||||
var form = $("#postform");
|
||||
btn.attr("disabled", "disabled");
|
||||
tips.html('正在提交...');
|
||||
$.ajax({
|
||||
url: form.prop("action"),
|
||||
type: 'POST',
|
||||
data: form.serialize(),
|
||||
dataType: 'json',
|
||||
success: function (json) {
|
||||
btn.removeAttr("disabled");
|
||||
if (json.code == 1) {
|
||||
$("#pid").val(0);
|
||||
tips.addClass("text-success").html(json.msg || "评论成功!").fadeIn(300).change();
|
||||
$("#commentcontent").val('');
|
||||
$("#commentcount").text(parseInt($("#commentcount").text()) + 1);
|
||||
setTimeout(function () {
|
||||
location.reload();
|
||||
}, 1500);
|
||||
} else {
|
||||
tips.addClass("text-danger").html(json.msg).fadeIn();
|
||||
}
|
||||
if (json.data && json.data.token) {
|
||||
$("#postform input[name='__token__']").val(json.data.token);
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
btn.removeAttr("disabled");
|
||||
tips.addClass("text-danger").html("评论失败!请刷新页面重试!").fadeIn();
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$("#commentcontent").on("keydown", function (e) {
|
||||
if ((e.metaKey || e.ctrlKey) && (e.keyCode == 13 || e.keyCode == 10)) {
|
||||
$("#submit").trigger('click');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
$("#actiontips").on("change", function () {
|
||||
clearTimeout(si);
|
||||
si = setTimeout(function () {
|
||||
$("#actiontips").fadeOut();
|
||||
}, 8000);
|
||||
});
|
||||
$(document).on("keyup change", "#commentcontent", function (e) {
|
||||
if (e.metaKey || e.ctrlKey || [13, 10, 18, 91].indexOf(e.keyCode) > -1) {
|
||||
return false;
|
||||
}
|
||||
var max = 1000;
|
||||
var c = $(this).val();
|
||||
var length = len(c);
|
||||
var t = $("#actiontips");
|
||||
if (max >= length) {
|
||||
t.removeClass().show().addClass("loading").html("你还可以输入 <font color=green>" + (Math.floor((max - length) / 2)) + "</font> 字");
|
||||
$("#submit").removeAttr("disabled");
|
||||
} else {
|
||||
t.removeClass().show().addClass("loading").html("你已经超出 <font color=red>" + (Math.ceil((length - max) / 2)) + "</font> 字");
|
||||
$("#submit").attr("disabled", "disabled");
|
||||
}
|
||||
});
|
||||
}
|
||||
// 余额支付提示
|
||||
$(document).on('click', '.btn-balance', function (e) {
|
||||
var that = this;
|
||||
layer.confirm("确认支付¥" + $(this).data("price") + "元用于购买?", function () {
|
||||
CMS.api.ajax({
|
||||
url: $(that).attr("href")
|
||||
}, function (data, ret) {
|
||||
CMS.api.msg(ret.msg, ret.url);
|
||||
}, function (data, ret) {
|
||||
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
// 回到顶部
|
||||
$('#back-to-top').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
$('html,body').animate({
|
||||
scrollTop: 0
|
||||
}, 700);
|
||||
});
|
||||
|
||||
//如果是PC则移除navbar的dropdown点击事件
|
||||
if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobi/i.test(navigator.userAgent)) {
|
||||
$("#navbar-collapse [data-toggle='dropdown']").removeAttr("data-toggle");
|
||||
} else {
|
||||
$(".navbar-nav ul li:not(.dropdown-submenu):not(.dropdown) a").removeAttr("data-toggle");
|
||||
}
|
||||
|
||||
if (!isMobile) {
|
||||
var search = $("#searchinput");
|
||||
var form = search.closest("form");
|
||||
search.autoComplete({
|
||||
minChars: 1,
|
||||
cache: false,
|
||||
menuClass: 'autocomplete-searchmenu',
|
||||
header: '',
|
||||
footer: '',
|
||||
source: function (term, response) {
|
||||
try {
|
||||
xhr.abort();
|
||||
} catch (e) {
|
||||
}
|
||||
xhr = $.getJSON(search.data("suggestion-url"), {q: term}, function (data) {
|
||||
response(data);
|
||||
});
|
||||
},
|
||||
onSelect: function (e, term, item) {
|
||||
if (typeof callback === 'function') {
|
||||
callback.call(elem, term, item);
|
||||
} else {
|
||||
form.trigger("submit");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 手机端左右滑动切换菜单栏
|
||||
if (isMobile && 'ontouchstart' in document.documentElement) {
|
||||
var startX, startY, moveEndX, moveEndY, relativeX, relativeY, element;
|
||||
element = $('#navbar-collapse');
|
||||
$("body").on("touchstart", function (e) {
|
||||
startX = e.originalEvent.changedTouches[0].pageX;
|
||||
startY = e.originalEvent.changedTouches[0].pageY;
|
||||
});
|
||||
$("body").on("touchend", function (e) {
|
||||
moveEndX = e.originalEvent.changedTouches[0].pageX;
|
||||
moveEndY = e.originalEvent.changedTouches[0].pageY;
|
||||
relativeX = moveEndX - startX;
|
||||
relativeY = moveEndY - startY;
|
||||
|
||||
//右滑
|
||||
if (relativeX > 45) {
|
||||
if ((Math.abs(relativeX) - Math.abs(relativeY)) > 50 && !element.hasClass("active") && startX < ($(window).width() / 4)) {
|
||||
$(".sidebar-toggle").trigger("click");
|
||||
}
|
||||
}
|
||||
//左滑
|
||||
else if (relativeX < -45) {
|
||||
if ((Math.abs(relativeX) - Math.abs(relativeY)) > 50 && element.hasClass("active")) {
|
||||
$(".sidebar-toggle").trigger("click");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 打赏
|
||||
$(".btn-donate").popover({
|
||||
trigger: 'hover',
|
||||
placement: 'top',
|
||||
html: true,
|
||||
content: function () {
|
||||
return "<img src='" + $(this).data("image") + "' width='250' height='250'/>";
|
||||
}
|
||||
});
|
||||
$(document).on("click", ".btn-paynow", function () {
|
||||
var paytype = $(this).data("paytype");
|
||||
var price = $(this).data("price");
|
||||
var nameArr = {wechat: "微信", alipay: "支付宝", balance: "余额"};
|
||||
var that = this;
|
||||
var tips = function () {
|
||||
layer.confirm("请根据支付状态选择下面的操作按钮", {title: "温馨提示", icon: 0, btn: ["支付成功", "支付失败"]}, function () {
|
||||
location.reload();
|
||||
});
|
||||
};
|
||||
if (paytype) {
|
||||
layer.confirm("确认使用" + (typeof nameArr[paytype] !== 'undefined' ? nameArr[paytype] : "未知") + "进行支付?<br>支付金额:¥" + price + "元", {title: "温馨提示", icon: 3, focusBtn: false, btn: ["立即支付", "取消支付"]}, function (index, layero) {
|
||||
$(".layui-layer-btn0", layero).attr("href", $(that).attr("href")).attr("target", "_blank");
|
||||
tips();
|
||||
});
|
||||
return false;
|
||||
} else {
|
||||
tips();
|
||||
}
|
||||
});
|
||||
|
||||
//点击切换
|
||||
$(document).on("click", ".sidebar-toggle", function () {
|
||||
var collapse = $("#navbar-collapse");
|
||||
if (collapse.hasClass("active")) {
|
||||
$(".navbar-collapse-bg").remove();
|
||||
} else {
|
||||
$("<div />").addClass("navbar-collapse-bg").insertAfter(collapse).on("click", function () {
|
||||
$(".sidebar-toggle").trigger("click");
|
||||
});
|
||||
}
|
||||
collapse.toggleClass("active");
|
||||
$(this).toggleClass("active");
|
||||
});
|
||||
|
||||
//内容中的图片点击事件
|
||||
$(document).on("click", ".article-text img", function () {
|
||||
if ($(this).closest("a").length > 0) {
|
||||
return;
|
||||
}
|
||||
var that = this;
|
||||
var data = [];
|
||||
var index = 0;
|
||||
$(".article-text img").each(function (i, j) {
|
||||
if (that == this) {
|
||||
index = i;
|
||||
}
|
||||
data.push({
|
||||
"src": $(this).attr("src") //原图地址
|
||||
});
|
||||
});
|
||||
layer.photos({
|
||||
photos: {
|
||||
"start": index, "data": data
|
||||
},
|
||||
// scrollbar: true,
|
||||
// full: true,
|
||||
// closeBtn: 1
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
//分享参数配置
|
||||
var shareConfig = {
|
||||
title: $("meta[property='og:title']").attr("content") || document.title,
|
||||
description: $("meta[property='og:description']").attr("content") || $("meta[name='description']").attr("content") || "",
|
||||
url: $("meta[property='og:url']").attr("content") || location.href,
|
||||
image: $("meta[property='og:image']").attr("content") || ""
|
||||
};
|
||||
|
||||
//微信公众号内分享
|
||||
if (typeof wx != 'undefined') {
|
||||
shareConfig.url = location.href;
|
||||
CMS.api.ajax({
|
||||
url: "/addons/cms/ajax/share",
|
||||
data: {url: shareConfig.url},
|
||||
loading: false
|
||||
}, function (data, ret) {
|
||||
try {
|
||||
wx.config({
|
||||
appId: data.appId,
|
||||
timestamp: data.timestamp,
|
||||
nonceStr: data.nonceStr,
|
||||
signature: data.signature,
|
||||
jsApiList: [
|
||||
'checkJsApi',
|
||||
'updateAppMessageShareData',
|
||||
'updateTimelineShareData',
|
||||
]
|
||||
});
|
||||
var shareData = {
|
||||
title: shareConfig.title,
|
||||
desc: shareConfig.description,
|
||||
link: shareConfig.url,
|
||||
imgUrl: shareConfig.image,
|
||||
success: function () {
|
||||
layer.closeAll();
|
||||
},
|
||||
cancel: function () {
|
||||
layer.closeAll();
|
||||
}
|
||||
};
|
||||
wx.ready(function () {
|
||||
wx.updateAppMessageShareData(shareData);
|
||||
wx.updateTimelineShareData(shareData);
|
||||
});
|
||||
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
return false;
|
||||
}, function () {
|
||||
return false;
|
||||
}
|
||||
);
|
||||
|
||||
$(".social-share").on("click", ".icon-wechat", function () {
|
||||
layer.msg("请点击右上角的●●●进行分享");
|
||||
return false;
|
||||
}).find(".wechat-qrcode").remove();
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,215 @@
|
||||
/*
|
||||
jQuery autoComplete v1.0.7
|
||||
Copyright (c) 2014 Simon Steinberger / Pixabay
|
||||
GitHub: https://github.com/Pixabay/jQuery-autoComplete
|
||||
License: http://www.opensource.org/licenses/mit-license.php
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
$.fn.autoComplete = function (options) {
|
||||
var o = $.extend({}, $.fn.autoComplete.defaults, options);
|
||||
|
||||
// public methods
|
||||
if (typeof options == 'string') {
|
||||
this.each(function () {
|
||||
var that = $(this);
|
||||
if (options == 'destroy') {
|
||||
$(window).off('resize.autocomplete', that.updateSC);
|
||||
that.off('blur.autocomplete focus.autocomplete keydown.autocomplete keyup.autocomplete');
|
||||
if (that.data('autocomplete'))
|
||||
that.attr('autocomplete', that.data('autocomplete'));
|
||||
else
|
||||
that.removeAttr('autocomplete');
|
||||
$(that.data('sc')).remove();
|
||||
that.removeData('sc').removeData('autocomplete');
|
||||
}
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
return this.each(function () {
|
||||
var that = $(this);
|
||||
// sc = 'suggestions container'
|
||||
that.sc = $('<div class="autocomplete-suggestions ' + o.menuClass + '"></div>');
|
||||
that.data('sc', that.sc).data('autocomplete', that.attr('autocomplete'));
|
||||
that.attr('autocomplete', 'off');
|
||||
that.cache = {};
|
||||
that.last_val = '';
|
||||
|
||||
that.updateSC = function (resize, next) {
|
||||
that.sc.css({
|
||||
top: that.offset().top + that.outerHeight() - (that.sc.css("position") == "fixed" ? $(window).scrollTop() : 0),
|
||||
left: that.offset().left,
|
||||
width: that.outerWidth()
|
||||
});
|
||||
if (!resize) {
|
||||
that.sc.show();
|
||||
if (!that.sc.maxHeight) that.sc.maxHeight = parseInt(that.sc.css('max-height'));
|
||||
if (!that.sc.suggestionHeight) that.sc.suggestionHeight = $('.autocomplete-suggestion', that.sc).first().outerHeight();
|
||||
if (that.sc.suggestionHeight)
|
||||
if (!next) that.sc.scrollTop(0);
|
||||
else {
|
||||
var scrTop = that.sc.scrollTop(), selTop = next.offset().top - that.sc.offset().top;
|
||||
if (selTop + that.sc.suggestionHeight - that.sc.maxHeight > 0)
|
||||
that.sc.scrollTop(selTop + that.sc.suggestionHeight + scrTop - that.sc.maxHeight);
|
||||
else if (selTop < 0)
|
||||
that.sc.scrollTop(selTop + scrTop);
|
||||
}
|
||||
}
|
||||
}
|
||||
$(window).on('resize.autocomplete', that.updateSC);
|
||||
|
||||
that.sc.appendTo('body');
|
||||
|
||||
that.on('click', function () {
|
||||
if ($(this).val().length > 0 && that.sc.is(":hidden")) {
|
||||
setTimeout(function () {
|
||||
that.sc.show();
|
||||
}, 100);
|
||||
}
|
||||
});
|
||||
|
||||
that.sc.on('mouseleave', '.autocomplete-suggestion', function () {
|
||||
$('.autocomplete-suggestion.selected').removeClass('selected');
|
||||
});
|
||||
|
||||
that.sc.on('mouseenter', '.autocomplete-suggestion', function () {
|
||||
$('.autocomplete-suggestion.selected').removeClass('selected');
|
||||
$(this).addClass('selected');
|
||||
});
|
||||
|
||||
that.sc.on('mousedown click', '.autocomplete-suggestion', function (e) {
|
||||
var item = $(this), v = item.data('val');
|
||||
if (v || item.hasClass('autocomplete-suggestion')) { // else outside click
|
||||
that.val(v);
|
||||
o.onSelect(e, v, item);
|
||||
that.sc.hide();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
that.on('blur.autocomplete', function () {
|
||||
try {
|
||||
over_sb = $('.autocomplete-suggestions:hover').length;
|
||||
} catch (e) {
|
||||
over_sb = 0;
|
||||
} // IE7 fix :hover
|
||||
if (!over_sb) {
|
||||
that.last_val = that.val();
|
||||
that.sc.hide();
|
||||
setTimeout(function () {
|
||||
that.sc.hide();
|
||||
}, 350); // hide suggestions on fast input
|
||||
} else if (!that.is(':focus')) setTimeout(function () {
|
||||
that.focus();
|
||||
}, 20);
|
||||
});
|
||||
|
||||
if (!o.minChars) that.on('focus.autocomplete', function () {
|
||||
that.last_val = '\n';
|
||||
that.trigger('keyup.autocomplete');
|
||||
});
|
||||
|
||||
function suggest(data) {
|
||||
var val = that.val();
|
||||
that.cache[val] = data;
|
||||
if (data.length && val.length >= o.minChars) {
|
||||
var s = '';
|
||||
if (data.length > 0) {
|
||||
s += typeof o.header === 'function' ? o.header.call(data, o, that) : o.header;
|
||||
for (var i = 0; i < data.length; i++) s += o.renderItem(data[i], val);
|
||||
s += typeof o.footer === 'function' ? o.footer.call(data, o, that) : o.footer;
|
||||
}
|
||||
that.sc.html(s);
|
||||
that.updateSC(0);
|
||||
} else
|
||||
that.sc.hide();
|
||||
}
|
||||
|
||||
that.on('keydown.autocomplete', function (e) {
|
||||
// down (40), up (38)
|
||||
if ((e.which == 40 || e.which == 38) && that.sc.html()) {
|
||||
var next, sel = $('.autocomplete-suggestion.selected', that.sc);
|
||||
if (!sel.length) {
|
||||
next = (e.which == 40) ? $('.autocomplete-suggestion', that.sc).first() : $('.autocomplete-suggestion', that.sc).last();
|
||||
that.val(next.addClass('selected').data('val'));
|
||||
} else {
|
||||
next = (e.which == 40) ? sel.next('.autocomplete-suggestion') : sel.prev('.autocomplete-suggestion');
|
||||
if (next.length) {
|
||||
sel.removeClass('selected');
|
||||
that.val(next.addClass('selected').data('val'));
|
||||
} else {
|
||||
sel.removeClass('selected');
|
||||
that.val(that.last_val);
|
||||
next = 0;
|
||||
}
|
||||
}
|
||||
that.updateSC(0, next);
|
||||
return false;
|
||||
}
|
||||
// esc
|
||||
else if (e.which == 27) that.val(that.last_val).sc.hide();
|
||||
// enter or tab
|
||||
else if (e.which == 13 || e.which == 9) {
|
||||
var sel = $('.autocomplete-suggestion.selected', that.sc);
|
||||
if (sel.length && that.sc.is(':visible')) {
|
||||
o.onSelect(e, sel.data('val'), sel);
|
||||
setTimeout(function () {
|
||||
that.sc.hide();
|
||||
}, 20);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
that.on('keyup.autocomplete', function (e) {
|
||||
if (!~$.inArray(e.which, [13, 27, 35, 36, 37, 38, 39, 40])) {
|
||||
var val = that.val();
|
||||
if (val.length >= o.minChars) {
|
||||
if (val != that.last_val) {
|
||||
that.last_val = val;
|
||||
clearTimeout(that.timer);
|
||||
if (o.cache) {
|
||||
if (val in that.cache) {
|
||||
suggest(that.cache[val]);
|
||||
return;
|
||||
}
|
||||
// no requests if previous suggestions were empty
|
||||
for (var i = 1; i < val.length - o.minChars; i++) {
|
||||
var part = val.slice(0, val.length - i);
|
||||
if (part in that.cache && !that.cache[part].length) {
|
||||
suggest([]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
that.timer = setTimeout(function () {
|
||||
o.source(val, suggest)
|
||||
}, o.delay);
|
||||
}
|
||||
} else {
|
||||
that.last_val = val;
|
||||
that.sc.hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
$.fn.autoComplete.defaults = {
|
||||
source: 0,
|
||||
minChars: 3,
|
||||
delay: 150,
|
||||
cache: 1,
|
||||
menuClass: '',
|
||||
header: '',
|
||||
footer: '',
|
||||
renderItem: function (item, search) {
|
||||
// escape special characters
|
||||
search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
||||
var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
|
||||
return '<div class="autocomplete-suggestion" data-val="' + item + '">' + item.replace(re, "<b>$1</b>") + '</div>';
|
||||
},
|
||||
onSelect: function (e, term, item) {
|
||||
}
|
||||
};
|
||||
}(jQuery));
|
||||
@@ -0,0 +1,429 @@
|
||||
/*
|
||||
|
||||
jQuery Tags Input Plugin 1.3.3
|
||||
|
||||
Copyright (c) 2011 XOXCO, Inc
|
||||
|
||||
Documentation for this plugin lives here:
|
||||
http://xoxco.com/clickable/jquery-tags-input
|
||||
|
||||
Licensed under the MIT license:
|
||||
http://www.opensource.org/licenses/mit-license.php
|
||||
|
||||
ben@xoxco.com
|
||||
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
|
||||
var delimiter = [];
|
||||
var tags_callbacks = [];
|
||||
$.fn.doAutosize = function (o) {
|
||||
var minWidth = $(this).data('minwidth'),
|
||||
maxWidth = $(this).data('maxwidth'),
|
||||
val = '',
|
||||
input = $(this),
|
||||
testSubject = $('#' + $(this).data('tester_id'));
|
||||
|
||||
if (val === (val = input.val())) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Enter new content into testSubject
|
||||
var escaped = val.replace(/&/g, '&').replace(/\s/g, ' ').replace(/</g, '<').replace(/>/g, '>');
|
||||
testSubject.html(escaped);
|
||||
// Calculate new width + whether to change
|
||||
var testerWidth = testSubject.width(),
|
||||
newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth,
|
||||
currentWidth = input.width(),
|
||||
isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth)
|
||||
|| (newWidth > minWidth && newWidth < maxWidth);
|
||||
|
||||
// Animate width
|
||||
if (isValidWidthChange) {
|
||||
input.width(newWidth);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
$.fn.resetAutosize = function (options) {
|
||||
// alert(JSON.stringify(options));
|
||||
var minWidth = $(this).data('minwidth') || options.minInputWidth || $(this).width(),
|
||||
maxWidth = $(this).data('maxwidth') || options.maxInputWidth || ($(this).closest('.tagsinput').width() - options.inputPadding),
|
||||
val = '',
|
||||
input = $(this),
|
||||
testSubject = $('<tester/>').css({
|
||||
position: 'absolute',
|
||||
top: -9999,
|
||||
left: -9999,
|
||||
width: 'auto',
|
||||
fontSize: input.css('fontSize'),
|
||||
fontFamily: input.css('fontFamily'),
|
||||
fontWeight: input.css('fontWeight'),
|
||||
letterSpacing: input.css('letterSpacing'),
|
||||
whiteSpace: 'nowrap'
|
||||
}),
|
||||
testerId = $(this).attr('id') + '_autosize_tester';
|
||||
if (!$('#' + testerId).length > 0) {
|
||||
testSubject.attr('id', testerId);
|
||||
testSubject.appendTo('body');
|
||||
}
|
||||
|
||||
input.data('minwidth', minWidth);
|
||||
input.data('maxwidth', maxWidth);
|
||||
input.data('tester_id', testerId);
|
||||
input.css('width', minWidth);
|
||||
};
|
||||
|
||||
$.fn.addTag = function (value, options) {
|
||||
options = jQuery.extend({focus: false, callback: true}, options);
|
||||
this.each(function () {
|
||||
var id = $(this).attr('id');
|
||||
|
||||
var tagslist = $(this).val().split(delimiter[id]);
|
||||
if (tagslist[0] == '') {
|
||||
tagslist = [];
|
||||
}
|
||||
|
||||
value = jQuery.trim(value);
|
||||
|
||||
if (options.unique) {
|
||||
var skipTag = $(this).tagExist(value);
|
||||
if (skipTag == true) {
|
||||
//Marks fake input as not_valid to let styling it
|
||||
$('#' + id + '_tag').addClass('not_valid');
|
||||
}
|
||||
} else {
|
||||
var skipTag = false;
|
||||
}
|
||||
|
||||
if (value != '' && skipTag != true) {
|
||||
$('<span>').addClass('tag').append(
|
||||
$('<span>').text(value),
|
||||
$('<a>', {
|
||||
href: '#',
|
||||
title: '移除标签',
|
||||
html: '×'
|
||||
}).click(function () {
|
||||
return $('#' + id).removeTag(escape(value));
|
||||
})
|
||||
).insertBefore('#' + id + '_addTag');
|
||||
|
||||
tagslist.push(value);
|
||||
|
||||
$('#' + id + '_tag').val('');
|
||||
if (options.focus) {
|
||||
$('#' + id + '_tag').focus();
|
||||
} else {
|
||||
$('#' + id + '_tag').blur();
|
||||
}
|
||||
|
||||
$.fn.tagsInput.updateTagsField(this, tagslist);
|
||||
|
||||
if (options.callback && tags_callbacks[id] && tags_callbacks[id]['onAddTag']) {
|
||||
var f = tags_callbacks[id]['onAddTag'];
|
||||
f.call(this, value);
|
||||
}
|
||||
if (tags_callbacks[id] && tags_callbacks[id]['onChange']) {
|
||||
var i = tagslist.length;
|
||||
var f = tags_callbacks[id]['onChange'];
|
||||
f.call(this, $(this), tagslist[i - 1]);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
$.fn.removeTag = function (value) {
|
||||
value = unescape(value);
|
||||
this.each(function () {
|
||||
var id = $(this).attr('id');
|
||||
|
||||
var old = $(this).val().split(delimiter[id]);
|
||||
|
||||
$('#' + id + '_tagsinput .tag').remove();
|
||||
str = '';
|
||||
for (i = 0; i < old.length; i++) {
|
||||
if (old[i] != value) {
|
||||
str = str + delimiter[id] + old[i];
|
||||
}
|
||||
}
|
||||
|
||||
$.fn.tagsInput.importTags(this, str);
|
||||
|
||||
if (tags_callbacks[id] && tags_callbacks[id]['onRemoveTag']) {
|
||||
var f = tags_callbacks[id]['onRemoveTag'];
|
||||
f.call(this, value);
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
$.fn.tagExist = function (val) {
|
||||
var id = $(this).attr('id');
|
||||
var tagslist = $(this).val().split(delimiter[id]);
|
||||
return (jQuery.inArray(val, tagslist) >= 0); //true when tag exists, false when not
|
||||
};
|
||||
|
||||
// clear all existing tags and import new ones from a string
|
||||
$.fn.importTags = function (str) {
|
||||
var id = $(this).attr('id');
|
||||
$('#' + id + '_tagsinput .tag').remove();
|
||||
$.fn.tagsInput.importTags(this, str);
|
||||
}
|
||||
|
||||
$.fn.tagsInput = function (options) {
|
||||
var settings = jQuery.extend({
|
||||
interactive: true,
|
||||
defaultText: 'add a tag',
|
||||
minChars: 0,
|
||||
width: '300px',
|
||||
height: '100px',
|
||||
autocomplete: {selectFirst: false},
|
||||
addOnBlur: true,
|
||||
hide: true,
|
||||
delimiter: ',',
|
||||
delimiterSpace: true,
|
||||
unique: true,
|
||||
removeWithBackspace: true,
|
||||
placeholderColor: '#666666',
|
||||
autosize: true,
|
||||
comfortZone: 20,
|
||||
inputPadding: 6 * 2
|
||||
}, options);
|
||||
|
||||
var uniqueIdCounter = 0;
|
||||
|
||||
this.each(function () {
|
||||
// If we have already initialized the field, do not do it again
|
||||
if (typeof $(this).attr('data-tagsinput-init') !== 'undefined') {
|
||||
return;
|
||||
}
|
||||
|
||||
// Mark the field as having been initialized
|
||||
$(this).attr('data-tagsinput-init', true);
|
||||
|
||||
if (settings.hide) {
|
||||
$(this).hide();
|
||||
}
|
||||
var id = $(this).attr('id');
|
||||
if (!id || delimiter[$(this).attr('id')]) {
|
||||
id = $(this).attr('id', 'tags' + new Date().getTime() + (uniqueIdCounter++)).attr('id');
|
||||
}
|
||||
|
||||
var data = jQuery.extend({
|
||||
pid: id,
|
||||
real_input: '#' + id,
|
||||
holder: '#' + id + '_tagsinput',
|
||||
input_wrapper: '#' + id + '_addTag',
|
||||
fake_input: '#' + id + '_tag'
|
||||
}, settings);
|
||||
|
||||
delimiter[id] = data.delimiter;
|
||||
|
||||
if (settings.onAddTag || settings.onRemoveTag || settings.onChange || settings.onKeyDown) {
|
||||
tags_callbacks[id] = [];
|
||||
tags_callbacks[id]['onAddTag'] = settings.onAddTag;
|
||||
tags_callbacks[id]['onRemoveTag'] = settings.onRemoveTag;
|
||||
tags_callbacks[id]['onChange'] = settings.onChange;
|
||||
tags_callbacks[id]['onKeyDown'] = settings.onKeyDown;
|
||||
}
|
||||
|
||||
var markup = '<div id="' + id + '_tagsinput" class="tagsinput"><div id="' + id + '_addTag">';
|
||||
|
||||
if (settings.interactive) {
|
||||
markup = markup + '<input id="' + id + '_tag" value="" data-default="' + settings.defaultText + '" />';
|
||||
}
|
||||
|
||||
markup = markup + '</div><div class="tags_clear"></div></div>';
|
||||
|
||||
$(markup).insertAfter(this);
|
||||
|
||||
$(data.holder).css('width', settings.width);
|
||||
$(data.holder).css('min-height', settings.height);
|
||||
$(data.holder).css('height', settings.height);
|
||||
|
||||
if ($(data.real_input).val() != '') {
|
||||
$.fn.tagsInput.importTags($(data.real_input), $(data.real_input).val());
|
||||
}
|
||||
if (settings.interactive) {
|
||||
$(data.fake_input).val($(data.fake_input).attr('data-default'));
|
||||
$(data.fake_input).css('color', settings.placeholderColor);
|
||||
$(data.fake_input).resetAutosize(settings);
|
||||
|
||||
$(data.holder).bind('click', data, function (event) {
|
||||
$(event.data.fake_input).focus();
|
||||
});
|
||||
|
||||
$(data.fake_input).bind('focus', data, function (event) {
|
||||
if ($(event.data.fake_input).val() == $(event.data.fake_input).attr('data-default')) {
|
||||
$(event.data.fake_input).val('');
|
||||
}
|
||||
$(event.data.fake_input).css('color', '#000000');
|
||||
});
|
||||
|
||||
if (typeof settings.autocomplete != 'undefined') {
|
||||
if (jQuery.fn.autoComplete !== undefined) {
|
||||
var xhr;
|
||||
$(data.fake_input).autoComplete($.extend({
|
||||
source: function (term, response) {
|
||||
try {
|
||||
xhr.abort();
|
||||
} catch (e) {
|
||||
}
|
||||
xhr = $.getJSON(settings.autocomplete.url, {q: term}, function (data) {
|
||||
response(data);
|
||||
});
|
||||
},
|
||||
renderItem: function (item, search) {
|
||||
search = search.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
||||
var re = new RegExp("(" + search.split(' ').join('|') + ")", "gi");
|
||||
return '<div class="autocomplete-suggestion" data-val="' + item + '">' + item.replace(re, "<b>$1</b>") + '</div>';
|
||||
},
|
||||
onSelect: function (e, term, item) {
|
||||
if (item) {
|
||||
$('#' + id).addTag($(item).data("val") + "", {focus: true, unique: (settings.unique)});
|
||||
}
|
||||
}
|
||||
}, settings.autocomplete));
|
||||
} else if (jQuery.Autocompleter !== undefined) {
|
||||
$(data.fake_input).autocomplete(settings.autocomplete.url, settings.autocomplete);
|
||||
$(data.fake_input).bind('result', data, function (event, data, formatted) {
|
||||
if (data) {
|
||||
$('#' + id).addTag(data[0] + "", {focus: true, unique: (settings.unique)});
|
||||
}
|
||||
});
|
||||
} else if (jQuery.ui.autocomplete !== undefined) {
|
||||
$(data.fake_input).autocomplete(settings.autocomplete);
|
||||
$(data.fake_input).bind('autocompleteselect', data, function (event, ui) {
|
||||
$(event.data.real_input).addTag(ui.item.value, {focus: true, unique: (settings.unique)});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (settings.addOnBlur) {
|
||||
// if a user tabs out of the field, create a new tag
|
||||
$(data.fake_input).bind('blur', data, function (event) {
|
||||
var d = $(this).attr('data-default');
|
||||
if ($(event.data.fake_input).val() != '' && $(event.data.fake_input).val() != d) {
|
||||
if ((event.data.minChars <= $(event.data.fake_input).val().length) && (!event.data.maxChars || (event.data.maxChars >= $(event.data.fake_input).val().length)))
|
||||
$(event.data.real_input).addTag($(event.data.fake_input).val(), {focus: true, unique: (settings.unique)});
|
||||
} else {
|
||||
$(event.data.fake_input).val($(event.data.fake_input).attr('data-default'));
|
||||
$(event.data.fake_input).css('color', settings.placeholderColor);
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
// if user types a default delimiter like comma,semicolon and then create a new tag
|
||||
$(data.fake_input).bind('keypress textInput', data, function (event) {
|
||||
if (_checkDelimiter.call(this, event)) {
|
||||
var value = $(event.data.fake_input).val();
|
||||
if (value.indexOf(event.data.delimiter) > -1 || (event.data.delimiterSpace && value.indexOf(" ") > -1)) {
|
||||
$(event.data.fake_input).addClass('not_valid');
|
||||
return false;
|
||||
}
|
||||
event.preventDefault();
|
||||
if ((event.data.minChars <= value.length) && (!event.data.maxChars || (event.data.maxChars >= value.length)))
|
||||
$(event.data.real_input).addTag(value, {focus: true, unique: (settings.unique)});
|
||||
$(event.data.fake_input).resetAutosize(settings);
|
||||
return false;
|
||||
} else if (event.data.autosize) {
|
||||
$(event.data.fake_input).doAutosize(settings);
|
||||
|
||||
}
|
||||
});
|
||||
//Delete last tag on backspace
|
||||
data.removeWithBackspace && $(data.fake_input).bind('keydown', function (event) {
|
||||
if (event.keyCode == 8 && $(this).val() == '') {
|
||||
event.preventDefault();
|
||||
var last_tag = $(this).closest('.tagsinput').find('.tag:last').find("span").text();
|
||||
var id = $(this).attr('id').replace(/_tag$/, '');
|
||||
last_tag = last_tag.replace(/[\s]+x$/, '');
|
||||
$('#' + id).removeTag(escape(last_tag));
|
||||
$(this).trigger('focus');
|
||||
}
|
||||
});
|
||||
$(data.fake_input).bind('keydown', function (event) {
|
||||
var id = $(this).attr('id').replace(/_tag$/, '');
|
||||
if (tags_callbacks[id] && tags_callbacks[id]['onKeyDown']) {
|
||||
var f = tags_callbacks[id]['onKeyDown'];
|
||||
f.call(this, event);
|
||||
}
|
||||
});
|
||||
$(data.fake_input).blur();
|
||||
|
||||
//Removes the not_valid class when user changes the value of the fake input
|
||||
if (data.unique) {
|
||||
$(data.fake_input).keydown(function (event) {
|
||||
if (event.keyCode == 8 || String.fromCharCode(event.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,/]+/)) {
|
||||
$(this).removeClass('not_valid');
|
||||
}
|
||||
});
|
||||
}
|
||||
} // if settings.interactive
|
||||
});
|
||||
|
||||
return this;
|
||||
|
||||
};
|
||||
|
||||
$.fn.tagsInput.updateTagsField = function (obj, tagslist) {
|
||||
var id = $(obj).attr('id');
|
||||
$(obj).val(tagslist.join(delimiter[id]));
|
||||
};
|
||||
|
||||
$.fn.tagsInput.importTags = function (obj, val) {
|
||||
$(obj).val('');
|
||||
var id = $(obj).attr('id');
|
||||
var tags = val.split(delimiter[id]);
|
||||
for (i = 0; i < tags.length; i++) {
|
||||
$(obj).addTag(tags[i], {focus: false, callback: false});
|
||||
}
|
||||
if (tags_callbacks[id] && tags_callbacks[id]['onChange']) {
|
||||
var f = tags_callbacks[id]['onChange'];
|
||||
f.call(obj, obj, tags[i]);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* check delimiter Array
|
||||
* @param event
|
||||
* @returns {boolean}
|
||||
* @private
|
||||
*/
|
||||
var _checkDelimiter = function (event) {
|
||||
var found = false;
|
||||
var key = event.keyCode || event.which || event.charCode;
|
||||
key = key || event.originalEvent.data.charCodeAt(0);
|
||||
|
||||
if (key == 0 || key == 229) {
|
||||
var value = $(this).val();
|
||||
key = value.charCodeAt(value.length - 1);
|
||||
}
|
||||
|
||||
if (key == 13 || (event.data.delimiterSpace && key == 32)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (typeof event.data.delimiter === 'string') {
|
||||
if (key == event.data.delimiter.charCodeAt(0)) {
|
||||
found = true;
|
||||
}
|
||||
} else {
|
||||
$.each(event.data.delimiter, function (index, delimiter) {
|
||||
if (key == delimiter.charCodeAt(0)) {
|
||||
found = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return found;
|
||||
}
|
||||
})(jQuery);
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
.make-margin-padding(margin, m, 5px, 4);
|
||||
.make-margin-padding(padding, p, 5px, 4);
|
||||
|
||||
.make-margin-padding(@type, @prefix, @space, @i) when (@i >= 0) {
|
||||
.make-margin-padding(@type, @prefix, @space, @i - 1);
|
||||
@pixel: @space * @i;
|
||||
.@{prefix}-@{i} {
|
||||
@{type}-top: @pixel !important;
|
||||
@{type}-right: @pixel !important;
|
||||
@{type}-bottom: @pixel !important;
|
||||
@{type}-left: @pixel !important;
|
||||
}
|
||||
.@{prefix}t-@{i} {
|
||||
@{type}-top: @pixel !important;
|
||||
}
|
||||
.@{prefix}r-@{i} {
|
||||
@{type}-right: @pixel !important;
|
||||
}
|
||||
.@{prefix}b-@{i} {
|
||||
@{type}-bottom: @pixel !important;
|
||||
}
|
||||
.@{prefix}l-@{i} {
|
||||
@{type}-left: @pixel !important;
|
||||
}
|
||||
.@{prefix}x-@{i} {
|
||||
@{type}-left: @pixel !important;
|
||||
@{type}-right: @pixel !important;
|
||||
}
|
||||
.@{prefix}y-@{i} {
|
||||
@{type}-top: @pixel !important;
|
||||
@{type}-bottom: @pixel !important;
|
||||
}
|
||||
}
|
||||