nieyuge 3 jaren geleden
bovenliggende
commit
4d879d38a0
33 gewijzigde bestanden met toevoegingen van 269 en 216 verwijderingen
  1. 73 0
      docs/.vuepress/components/lv-icon.vue
  2. 0 20
      docs/.vuepress/dist/404.html
  3. 0 0
      docs/.vuepress/dist/assets/css/0.styles.46e20256.css
  4. 0 1
      docs/.vuepress/dist/assets/img/search.83621669.svg
  5. 0 1
      docs/.vuepress/dist/assets/js/10.a3f9a869.js
  6. 0 1
      docs/.vuepress/dist/assets/js/11.dfc5f503.js
  7. 0 1
      docs/.vuepress/dist/assets/js/12.f05fc51f.js
  8. 0 0
      docs/.vuepress/dist/assets/js/2.37a7aac8.js
  9. 0 1
      docs/.vuepress/dist/assets/js/3.e86eb6c5.js
  10. 0 1
      docs/.vuepress/dist/assets/js/4.81bef236.js
  11. 0 1
      docs/.vuepress/dist/assets/js/5.18158a32.js
  12. 0 1
      docs/.vuepress/dist/assets/js/6.4bd7b5ec.js
  13. 0 1
      docs/.vuepress/dist/assets/js/7.dbf37e39.js
  14. 0 0
      docs/.vuepress/dist/assets/js/8.e6abd6f2.js
  15. 0 1
      docs/.vuepress/dist/assets/js/9.4edac015.js
  16. 0 0
      docs/.vuepress/dist/assets/js/app.199d0b78.js
  17. 0 37
      docs/.vuepress/dist/components/index.html
  18. 0 28
      docs/.vuepress/dist/guide/index.html
  19. 0 26
      docs/.vuepress/dist/index.html
  20. 0 12
      docs/.vuepress/dist/less/color.less
  21. BIN
      docs/.vuepress/public/font/iconfont.ttf
  22. BIN
      docs/.vuepress/public/font/iconfont.woff
  23. BIN
      docs/.vuepress/public/font/iconfont.woff2
  24. 38 0
      docs/components/README.md
  25. 2 2
      gulpfile.js
  26. 79 81
      package-lock.json
  27. 3 0
      package.json
  28. 3 0
      src/App.vue
  29. BIN
      src/assets/font/iconfont.ttf
  30. BIN
      src/assets/font/iconfont.woff
  31. BIN
      src/assets/font/iconfont.woff2
  32. 3 0
      src/components/index.js
  33. 68 0
      src/components/lib/lv-icon.vue

+ 73 - 0
docs/.vuepress/components/lv-icon.vue

@@ -0,0 +1,73 @@
+<template>
+    <i class="iconfont" :class="[type ? 'icon-' + type : '']" :style="styleObject"></i>
+</template>
+
+<script function>
+export default {
+    name: 'lv-icon',
+    data () {
+        return {
+            styleObject: {}
+        }
+    },
+    props: {
+        type: {
+            type: String,
+            default: ''
+        },
+        color: {
+            type: String,
+            default: ''
+        },
+        fontSize: {
+            type: Number,
+            default: 12
+        },
+        fontUnit: {
+            type: String,
+            default: 'px'
+        }
+    },
+    watch: {
+        fontSize(newSize) {
+            this.$set(this.styleObject, 'font-size', this.fontSize + this.fontUnit);
+        }
+    },
+    mounted() {
+        if (this.color) {
+            this.$set(this.styleObject, 'color', this.color);
+        }
+        if (this.fontSize) {
+            this.$set(this.styleObject, 'font-size', this.fontSize + this.fontUnit);
+        }
+    }
+}
+</script>
+
+<style lang="less" scope>
+@font-face {
+    font-family: "iconfont"; /* Project id 2760070 */
+    src: url('../public/font/iconfont.woff2?t=1629537928872') format('woff2'),
+         url('../public/font/iconfont.woff?t=1629537928872') format('woff'),
+         url('../public/font/iconfont.ttf?t=1629537928872') format('truetype');
+}
+.iconfont {
+    font-family: "iconfont" !important;
+    font-size: 16px;
+    font-style: normal;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+}
+.icon-add:before {
+    content: "\e600";
+}
+.icon-addRound:before {
+    content: "\e608";
+}
+.icon-wechat:before {
+    content: "\e609";
+}
+.icon-friend:before {
+    content: "\e60b";
+}
+</style>

+ 0 - 20
docs/.vuepress/dist/404.html

@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="en-US">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>票圈UI交互库</title>
-    <meta name="generator" content="VuePress 1.8.2">
-    
-    <meta name="description" content="">
-    
-    <link rel="preload" href="/assets/css/0.styles.46e20256.css" as="style"><link rel="preload" href="/assets/js/app.199d0b78.js" as="script"><link rel="preload" href="/assets/js/10.a3f9a869.js" as="script"><link rel="prefetch" href="/assets/js/11.dfc5f503.js"><link rel="prefetch" href="/assets/js/12.f05fc51f.js"><link rel="prefetch" href="/assets/js/2.37a7aac8.js"><link rel="prefetch" href="/assets/js/3.e86eb6c5.js"><link rel="prefetch" href="/assets/js/4.81bef236.js"><link rel="prefetch" href="/assets/js/5.18158a32.js"><link rel="prefetch" href="/assets/js/6.4bd7b5ec.js"><link rel="prefetch" href="/assets/js/7.dbf37e39.js"><link rel="prefetch" href="/assets/js/8.e6abd6f2.js"><link rel="prefetch" href="/assets/js/9.4edac015.js">
-    <link rel="stylesheet" href="/assets/css/0.styles.46e20256.css">
-  </head>
-  <body>
-    <div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/" class="router-link-active">
-      Take me home.
-    </a></div></div><div class="global-ui"></div></div>
-    <script src="/assets/js/app.199d0b78.js" defer></script><script src="/assets/js/10.a3f9a869.js" defer></script>
-  </body>
-</html>

File diff suppressed because it is too large
+ 0 - 0
docs/.vuepress/dist/assets/css/0.styles.46e20256.css


+ 0 - 1
docs/.vuepress/dist/assets/img/search.83621669.svg

@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="12" height="13"><g stroke-width="2" stroke="#aaa" fill="none"><path d="M11.29 11.71l-4-4"/><circle cx="5" cy="5" r="4"/></g></svg>

+ 0 - 1
docs/.vuepress/dist/assets/js/10.a3f9a869.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{363:function(t,e,s){"use strict";s.r(e);var n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],o={methods:{getMsg:function(){return n[Math.floor(Math.random()*n.length)]}}},i=s(40),h=Object(i.a)(o,(function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"theme-container"},[e("div",{staticClass:"theme-default-content"},[e("h1",[this._v("404")]),this._v(" "),e("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),e("RouterLink",{attrs:{to:"/"}},[this._v("\n      Take me home.\n    ")])],1)])}),[],!1,null,null,null);e.default=h.exports}}]);

+ 0 - 1
docs/.vuepress/dist/assets/js/11.dfc5f503.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{371:function(t,e,n){"use strict";n.r(e);var s=n(40),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]);

+ 0 - 1
docs/.vuepress/dist/assets/js/12.f05fc51f.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{369:function(t,a,s){"use strict";s.r(a);var r=s(40),e=Object(r.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"指南"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#指南"}},[t._v("#")]),t._v(" 指南")]),t._v(" "),s("h2",{attrs:{id:"安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装"}},[t._v("#")]),t._v(" 安装")]),t._v(" "),s("div",{staticClass:"language-javascript extra-class"},[s("pre",{pre:!0,attrs:{class:"language-javascript"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// npm源切换至 http://192.168.203.180:4873/")]),t._v("\nnpm install "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("--")]),t._v("save lv"),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("-")]),t._v("ui\n")])])]),s("h2",{attrs:{id:"快速上手"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#快速上手"}},[t._v("#")]),t._v(" 快速上手")])])}),[],!1,null,null,null);a.default=e.exports}}]);

File diff suppressed because it is too large
+ 0 - 0
docs/.vuepress/dist/assets/js/2.37a7aac8.js


+ 0 - 1
docs/.vuepress/dist/assets/js/3.e86eb6c5.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{327:function(t,n,e){},357:function(t,n,e){"use strict";e(327)},364:function(t,n,e){"use strict";e.r(n);var l={name:"lv-button",props:{type:{type:String,default:"default"},round:{type:Boolean,default:!1},hand:{type:Boolean,default:!1}},data:function(){return{}},methods:{handleClick:function(t){this.$emit("click",t)}}},u=(e(357),e(40)),a=Object(u.a)(l,(function(){var t=this.$createElement;return(this._self._c||t)("button",{staticClass:"lv-button",class:["lv-type-"+this.type,this.round?"round":"",this.hand?"hand":""],on:{click:this.handleClick}},[this._t("default")],2)}),[],!1,null,null,null);n.default=a.exports}}]);

+ 0 - 1
docs/.vuepress/dist/assets/js/4.81bef236.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{328:function(t,n,s){},358:function(t,n,s){"use strict";s(328)},366:function(t,n,s){"use strict";s.r(n);var i={name:"lv-row",data:function(){return{}}},a=(s(358),s(40)),e=Object(a.a)(i,(function(){var t=this.$createElement,n=this._self._c||t;return n("div",{staticClass:"lv-row"},[n("div",{staticClass:"lv-margin"},[this._t("default")],2)])}),[],!1,null,"10c2db72",null);n.default=e.exports}}]);

+ 0 - 1
docs/.vuepress/dist/assets/js/5.18158a32.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{329:function(t,e,n){},359:function(t,e,n){"use strict";n(329)},372:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}},r=(n(359),n(40)),p=Object(r.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=p.exports}}]);

+ 0 - 1
docs/.vuepress/dist/assets/js/6.4bd7b5ec.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{331:function(t,e,a){},361:function(t,e,a){"use strict";a(331)},368:function(t,e,a){"use strict";a.r(e);var n={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted:function(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(361),a(40)),s=Object(i.a)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=s.exports}}]);

+ 0 - 1
docs/.vuepress/dist/assets/js/7.dbf37e39.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{330:function(e,t,a){},360:function(e,t,a){"use strict";a(330)},367:function(e,t,a){"use strict";a.r(t);a(68),a(29),a(93);var o={name:"CodeGroup",data:function(){return{codeTabs:[],activeCodeTabIndex:-1}},watch:{activeCodeTabIndex:function(e){this.activateCodeTab(e)}},mounted:function(){this.loadTabs()},methods:{changeCodeTab:function(e){this.activeCodeTabIndex=e},loadTabs:function(){var e=this;this.codeTabs=(this.$slots.default||[]).filter((function(e){return Boolean(e.componentOptions)})).map((function(t,a){return""===t.componentOptions.propsData.active&&(e.activeCodeTabIndex=a),{title:t.componentOptions.propsData.title,elm:t.elm}})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab:function(e){this.codeTabs.forEach((function(e){e.elm&&e.elm.classList.remove("theme-code-block__active")})),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},n=(a(360),a(40)),c=Object(n.a)(o,(function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("ClientOnly",[a("div",{staticClass:"theme-code-group"},[a("div",{staticClass:"theme-code-group__nav"},[a("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(t,o){return a("li",{key:t.title,staticClass:"theme-code-group__li"},[a("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n            "+e._s(t.title)+"\n          ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?a("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]);

File diff suppressed because it is too large
+ 0 - 0
docs/.vuepress/dist/assets/js/8.e6abd6f2.js


+ 0 - 1
docs/.vuepress/dist/assets/js/9.4edac015.js

@@ -1 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{365:function(n,t,e){"use strict";e.r(t);var a={name:"lv-dialog",data:function(){return{}}},l=e(40),u=Object(l.a)(a,(function(){var n=this.$createElement;return(this._self._c||n)("div")}),[],!1,null,null,null);t.default=u.exports}}]);

File diff suppressed because it is too large
+ 0 - 0
docs/.vuepress/dist/assets/js/app.199d0b78.js


+ 0 - 37
docs/.vuepress/dist/components/index.html

@@ -1,37 +0,0 @@
-<!DOCTYPE html>
-<html lang="en-US">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>组件 | 票圈UI交互库</title>
-    <meta name="generator" content="VuePress 1.8.2">
-    
-    <meta name="description" content="">
-    
-    <link rel="preload" href="/assets/css/0.styles.46e20256.css" as="style"><link rel="preload" href="/assets/js/app.199d0b78.js" as="script"><link rel="preload" href="/assets/js/2.37a7aac8.js" as="script"><link rel="preload" href="/assets/js/8.e6abd6f2.js" as="script"><link rel="preload" href="/assets/js/3.e86eb6c5.js" as="script"><link rel="prefetch" href="/assets/js/10.a3f9a869.js"><link rel="prefetch" href="/assets/js/11.dfc5f503.js"><link rel="prefetch" href="/assets/js/12.f05fc51f.js"><link rel="prefetch" href="/assets/js/4.81bef236.js"><link rel="prefetch" href="/assets/js/5.18158a32.js"><link rel="prefetch" href="/assets/js/6.4bd7b5ec.js"><link rel="prefetch" href="/assets/js/7.dbf37e39.js"><link rel="prefetch" href="/assets/js/9.4edac015.js">
-    <link rel="stylesheet" href="/assets/css/0.styles.46e20256.css">
-  </head>
-  <body>
-    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">票圈UI交互库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <!----></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><!---->  <ul class="sidebar-links"><li><a href="/" aria-current="page" class="sidebar-link">首页</a></li><li><a href="/guide/" class="sidebar-link">指南</a></li><li><a href="/components/" aria-current="page" class="active sidebar-link">组件</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/components/#按钮" class="sidebar-link">按钮</a></li><li class="sidebar-sub-header"><a href="/components/#弹出授权框" class="sidebar-link">弹出授权框</a></li></ul></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="组件"><a href="#组件" class="header-anchor">#</a> 组件</h1> <h2 id="按钮"><a href="#按钮" class="header-anchor">#</a> 按钮</h2> <blockquote><p>型号:大、中(默认)、小<br>
-功能:直角、圆角、手型<br>
-类型:默认、主要、成功、信息、警告、危险</p></blockquote> <h3 id="基础用法"><a href="#基础用法" class="header-anchor">#</a> 基础用法</h3> <div class="language-vue extra-class"><pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-row</span><span class="token punctuation">&gt;</span></span>
-    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-button</span><span class="token punctuation">&gt;</span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-button</span><span class="token punctuation">&gt;</span></span>
-    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>primary<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>主要按钮<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-button</span><span class="token punctuation">&gt;</span></span>
-    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>success<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>成功按钮<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-button</span><span class="token punctuation">&gt;</span></span>
-    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>info<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>信息按钮<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-button</span><span class="token punctuation">&gt;</span></span>
-    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>warning<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>警告按钮<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-button</span><span class="token punctuation">&gt;</span></span>
-    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-button</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>danger<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>危险按钮<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-button</span><span class="token punctuation">&gt;</span></span>
-<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-row</span><span class="token punctuation">&gt;</span></span>
-</code></pre></div><hr> <button class="lv-button lv-type-default">默认</button> <button class="lv-button lv-type-primary">主要</button> <button class="lv-button lv-type-success">成功</button> <button class="lv-button lv-type-info">信息</button> <button class="lv-button lv-type-warning">警告</button> <button class="lv-button lv-type-danger">危险</button> <hr> <button class="lv-button lv-type-default round">默认</button> <button class="lv-button lv-type-primary round">主要</button> <button class="lv-button lv-type-success round">成功</button> <button class="lv-button lv-type-info round">信息</button> <button class="lv-button lv-type-warning round">警告</button> <button class="lv-button lv-type-danger round">危险</button> <hr> <button class="lv-button lv-type-default round hand">手型</button> <h2 id="弹出授权框"><a href="#弹出授权框" class="header-anchor">#</a> 弹出授权框</h2> <div class="language-vue extra-class"><pre class="language-vue"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>lv-authorize</span>
-    <span class="token attr-name">sendUrl</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span><span class="token punctuation">&quot;</span></span>
-    <span class="token attr-name">checkUrl</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span><span class="token punctuation">&quot;</span></span>
-    <span class="token attr-name">@success</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span><span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
-<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>lv-authorize</span><span class="token punctuation">&gt;</span></span>
-</code></pre></div><table><thead><tr><th>参数</th> <th>说明</th> <th>类型</th> <th>可选值</th> <th>默认值</th></tr></thead> <tbody><tr><td>sendUrl</td> <td>发送验证码接口</td> <td></td> <td></td> <td></td></tr> <tr><td>checkUrl</td> <td>校验验证码接口</td> <td></td> <td></td> <td></td></tr></tbody></table></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
-      ←
-      <a href="/guide/" class="prev">
-        指南
-      </a></span> <!----></p></div> </main></div><div class="global-ui"></div></div>
-    <script src="/assets/js/app.199d0b78.js" defer></script><script src="/assets/js/2.37a7aac8.js" defer></script><script src="/assets/js/8.e6abd6f2.js" defer></script><script src="/assets/js/3.e86eb6c5.js" defer></script>
-  </body>
-</html>

+ 0 - 28
docs/.vuepress/dist/guide/index.html

@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en-US">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>指南 | 票圈UI交互库</title>
-    <meta name="generator" content="VuePress 1.8.2">
-    
-    <meta name="description" content="">
-    
-    <link rel="preload" href="/assets/css/0.styles.46e20256.css" as="style"><link rel="preload" href="/assets/js/app.199d0b78.js" as="script"><link rel="preload" href="/assets/js/2.37a7aac8.js" as="script"><link rel="preload" href="/assets/js/12.f05fc51f.js" as="script"><link rel="prefetch" href="/assets/js/10.a3f9a869.js"><link rel="prefetch" href="/assets/js/11.dfc5f503.js"><link rel="prefetch" href="/assets/js/3.e86eb6c5.js"><link rel="prefetch" href="/assets/js/4.81bef236.js"><link rel="prefetch" href="/assets/js/5.18158a32.js"><link rel="prefetch" href="/assets/js/6.4bd7b5ec.js"><link rel="prefetch" href="/assets/js/7.dbf37e39.js"><link rel="prefetch" href="/assets/js/8.e6abd6f2.js"><link rel="prefetch" href="/assets/js/9.4edac015.js">
-    <link rel="stylesheet" href="/assets/css/0.styles.46e20256.css">
-  </head>
-  <body>
-    <div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">票圈UI交互库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <!----></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><!---->  <ul class="sidebar-links"><li><a href="/" aria-current="page" class="sidebar-link">首页</a></li><li><a href="/guide/" aria-current="page" class="active sidebar-link">指南</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/#安装" class="sidebar-link">安装</a></li><li class="sidebar-sub-header"><a href="/guide/#快速上手" class="sidebar-link">快速上手</a></li></ul></li><li><a href="/components/" class="sidebar-link">组件</a></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="指南"><a href="#指南" class="header-anchor">#</a> 指南</h1> <h2 id="安装"><a href="#安装" class="header-anchor">#</a> 安装</h2> <div class="language-javascript extra-class"><pre class="language-javascript"><code><span class="token comment">// npm源切换至 http://192.168.203.180:4873/</span>
-npm install <span class="token operator">--</span>save lv<span class="token operator">-</span>ui
-</code></pre></div><h2 id="快速上手"><a href="#快速上手" class="header-anchor">#</a> 快速上手</h2></div> <footer class="page-edit"><!----> <!----></footer> <div class="page-nav"><p class="inner"><span class="prev">
-      ←
-      <a href="/" class="prev router-link-active">
-        首页
-      </a></span> <span class="next"><a href="/components/">
-        组件
-      </a>
-      →
-    </span></p></div> </main></div><div class="global-ui"></div></div>
-    <script src="/assets/js/app.199d0b78.js" defer></script><script src="/assets/js/2.37a7aac8.js" defer></script><script src="/assets/js/12.f05fc51f.js" defer></script>
-  </body>
-</html>

+ 0 - 26
docs/.vuepress/dist/index.html

@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html lang="en-US">
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>票圈UI交互库</title>
-    <meta name="generator" content="VuePress 1.8.2">
-    
-    <meta name="description" content="">
-    
-    <link rel="preload" href="/assets/css/0.styles.46e20256.css" as="style"><link rel="preload" href="/assets/js/app.199d0b78.js" as="script"><link rel="preload" href="/assets/js/2.37a7aac8.js" as="script"><link rel="preload" href="/assets/js/11.dfc5f503.js" as="script"><link rel="prefetch" href="/assets/js/10.a3f9a869.js"><link rel="prefetch" href="/assets/js/12.f05fc51f.js"><link rel="prefetch" href="/assets/js/3.e86eb6c5.js"><link rel="prefetch" href="/assets/js/4.81bef236.js"><link rel="prefetch" href="/assets/js/5.18158a32.js"><link rel="prefetch" href="/assets/js/6.4bd7b5ec.js"><link rel="prefetch" href="/assets/js/7.dbf37e39.js"><link rel="prefetch" href="/assets/js/8.e6abd6f2.js"><link rel="prefetch" href="/assets/js/9.4edac015.js">
-    <link rel="stylesheet" href="/assets/css/0.styles.46e20256.css">
-  </head>
-  <body>
-    <div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" aria-current="page" class="home-link router-link-exact-active router-link-active"><!----> <span class="site-name">票圈UI交互库</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <!----></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><!---->  <ul class="sidebar-links"><li><a href="/" aria-current="page" class="active sidebar-link">首页</a></li><li><a href="/guide/" class="sidebar-link">指南</a></li><li><a href="/components/" class="sidebar-link">组件</a></li></ul> </aside> <main aria-labelledby="main-title" class="home"><header class="hero"><!----> <h1 id="main-title">
-      票圈前端组件库
-    </h1> <p class="description">
-      为开发节约时间、为设计提供规范的组件库
-    </p> <p class="action"><a href="/guide/" class="nav-link action-button">
-  快速上手 →
-</a></p></header> <div class="features"><div class="feature"><h2>简洁至上</h2> <p>以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。</p></div><div class="feature"><h2>Vue驱动</h2> <p>享受 Vue + webpack 的开发体验,在 Markdown 中使用 Vue 组件,同时可以使用 Vue 来开发自定义主题。</p></div><div class="feature"><h2>高性能</h2> <p>VuePress 为每个页面预渲染生成静态的 HTML,同时在页面被加载的时候,将作为 SPA 运行。</p></div></div> <div class="theme-default-content custom content__default"></div> <div class="footer">
-    www.piaoquantv.com
-  </div></main></div><div class="global-ui"></div></div>
-    <script src="/assets/js/app.199d0b78.js" defer></script><script src="/assets/js/2.37a7aac8.js" defer></script><script src="/assets/js/11.dfc5f503.js" defer></script>
-  </body>
-</html>

+ 0 - 12
docs/.vuepress/dist/less/color.less

@@ -1,12 +0,0 @@
-@white: white;
-@black: black;
-@mainColor: #20214F;
-@secondColor: #1890FF;
-@fontColor: #333;
-@border: #dcdfe6;
-
-@primary: #409eff;
-@success: #67c23a;
-@info: #909399;
-@warning: #e6a23c;
-@danger: #f56c6c;

BIN
docs/.vuepress/public/font/iconfont.ttf


BIN
docs/.vuepress/public/font/iconfont.woff


BIN
docs/.vuepress/public/font/iconfont.woff2


+ 38 - 0
docs/components/README.md

@@ -58,6 +58,35 @@
 | bgColor  | 背景颜色 | String | - | - |
 | bgColor  | 背景颜色 | String | - | - |
 | fontColor  | 文字颜色 | String | - | - |
 | fontColor  | 文字颜色 | String | - | - |
 
 
+## 图标
+
+> 功能:任意大小、任意颜色<br />
+> 扩展:矢量图
+
+<lv-button @click="small">变小</lv-button>
+<lv-button @click="big">变大</lv-button>
+
+----
+
+<lv-icon type="add" :fontSize="fontSize"></lv-icon>
+<lv-icon type="wechat" :fontSize="fontSize"></lv-icon>
+<lv-icon type="friend" :fontSize="fontSize"></lv-icon>
+<lv-icon type="addRound" :fontSize="fontSize"></lv-icon>
+
+```vue
+<lv-icon type="add" fontSize="60"></lv-icon>
+<lv-icon type="wechat" fontSize="60"></lv-icon>
+<lv-icon type="friend" fontSize="60"></lv-icon>
+<lv-icon type="addRound" fontSize="60"></lv-icon>
+```
+
+|  参数   | 说明  |  类型  |  可选值  |  默认值 |
+|  ----  | ----  | ----  | ------  | -----  |
+| type  | 类型 | String | - | - |
+| color  | 字体颜色 | String | - | - |
+| fontSize  | 字体大小 | String | - | - |
+| fontUnit  | 字体单位 | String | - | px |
+
 ## 弹出层
 ## 弹出层
 
 
 > 功能:弹出层(直角、圆角)<br />
 > 功能:弹出层(直角、圆角)<br />
@@ -84,8 +113,17 @@
     export default {
     export default {
         data () {
         data () {
             return {
             return {
+                fontSize: 60,
                 showDefaultDialog: false,
                 showDefaultDialog: false,
             }
             }
+        },
+        methods: {
+            small () {
+                this.fontSize = this.fontSize - 10;
+            },
+            big () {
+                this.fontSize = this.fontSize + 10;
+            }
         }
         }
     }
     }
 </script>
 </script>

+ 2 - 2
gulpfile.js

@@ -2,8 +2,8 @@ let gulp = require('gulp');
 let replace = require('gulp-replace');
 let replace = require('gulp-replace');
 
 
 gulp.task('less', () => {
 gulp.task('less', () => {
-    return gulp.src('./src/assets/less/*')
-        .pipe(gulp.dest('./docs/.vuepress/public/less/'))
+    return gulp.src('./src/assets/**/*')
+        .pipe(gulp.dest('./docs/.vuepress/public/'))
 })
 })
 
 
 gulp.task('component', () => {
 gulp.task('component', () => {

+ 79 - 81
package-lock.json

@@ -1783,6 +1783,63 @@
           "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
           "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
           "dev": true
           "dev": true
         },
         },
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://r.cnpmjs.org/ansi-styles/download/ansi-styles-4.3.0.tgz",
+          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.2",
+          "resolved": "https://r.cnpmjs.org/chalk/download/chalk-4.1.2.tgz",
+          "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://r.cnpmjs.org/color-convert/download/color-convert-2.0.1.tgz",
+          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://r.cnpmjs.org/color-name/download/color-name-1.1.4.tgz",
+          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
+          "dev": true,
+          "optional": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://r.cnpmjs.org/has-flag/download/has-flag-4.0.0.tgz",
+          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
+          "dev": true,
+          "optional": true
+        },
+        "loader-utils": {
+          "version": "2.0.0",
+          "resolved": "https://r.cnpmjs.org/loader-utils/download/loader-utils-2.0.0.tgz",
+          "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^2.1.2"
+          }
+        },
         "ssri": {
         "ssri": {
           "version": "8.0.1",
           "version": "8.0.1",
           "resolved": "https://registry.nlark.com/ssri/download/ssri-8.0.1.tgz",
           "resolved": "https://registry.nlark.com/ssri/download/ssri-8.0.1.tgz",
@@ -1791,6 +1848,28 @@
           "requires": {
           "requires": {
             "minipass": "^3.1.1"
             "minipass": "^3.1.1"
           }
           }
+        },
+        "supports-color": {
+          "version": "7.2.0",
+          "resolved": "https://r.cnpmjs.org/supports-color/download/supports-color-7.2.0.tgz",
+          "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        },
+        "vue-loader-v16": {
+          "version": "npm:vue-loader@16.5.0",
+          "resolved": "https://r.cnpmjs.org/vue-loader/download/vue-loader-16.5.0.tgz",
+          "integrity": "sha1-CcTgcSRmiZ40uZpoZSTxkWX7KJI=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "chalk": "^4.1.0",
+            "hash-sum": "^2.0.0",
+            "loader-utils": "^2.0.0"
+          }
         }
         }
       }
       }
     },
     },
@@ -14289,87 +14368,6 @@
         }
         }
       }
       }
     },
     },
-    "vue-loader-v16": {
-      "version": "npm:vue-loader@16.5.0",
-      "resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.5.0.tgz?cache=0&sync_timestamp=1628666767864&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-loader%2Fdownload%2Fvue-loader-16.5.0.tgz",
-      "integrity": "sha1-CcTgcSRmiZ40uZpoZSTxkWX7KJI=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chalk": "^4.1.0",
-        "hash-sum": "^2.0.0",
-        "loader-utils": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz",
-          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz",
-          "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
-          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
-          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
-          "dev": true,
-          "optional": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
-          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
-          "dev": true,
-          "optional": true
-        },
-        "loader-utils": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
-          "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1626703400240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
-          "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
     "vue-router": {
     "vue-router": {
       "version": "3.5.2",
       "version": "3.5.2",
       "resolved": "https://r.cnpmjs.org/vue-router/download/vue-router-3.5.2.tgz",
       "resolved": "https://r.cnpmjs.org/vue-router/download/vue-router-3.5.2.tgz",

+ 3 - 0
package.json

@@ -11,6 +11,9 @@
     "lint": "vue-cli-service lint",
     "lint": "vue-cli-service lint",
     "prebuild:docs": "gulp"
     "prebuild:docs": "gulp"
   },
   },
+  "engines": {
+    "node": "14.17.x"
+  },
   "dependencies": {
   "dependencies": {
     "core-js": "^3.6.5",
     "core-js": "^3.6.5",
     "vue": "^2.6.11"
     "vue": "^2.6.11"

+ 3 - 0
src/App.vue

@@ -17,6 +17,9 @@
       <lv-button bgColor="#ccc">自定义颜色</lv-button>
       <lv-button bgColor="#ccc">自定义颜色</lv-button>
 
 
       <lv-dialog v-model="show">自定义颜色</lv-dialog>
       <lv-dialog v-model="show">自定义颜色</lv-dialog>
+
+      
+      <lv-icon type="add"></lv-icon>
   </div>
   </div>
 </template>
 </template>
 
 

BIN
src/assets/font/iconfont.ttf


BIN
src/assets/font/iconfont.woff


BIN
src/assets/font/iconfont.woff2


+ 3 - 0
src/components/index.js

@@ -1,9 +1,11 @@
 import button from './lib/lv-button';
 import button from './lib/lv-button';
 import dialog from './lib/lv-dialog';
 import dialog from './lib/lv-dialog';
+import icon from './lib/lv-icon';
 
 
 const components = [
 const components = [
     button,
     button,
     dialog,
     dialog,
+    icon,
 ];
 ];
 
 
 // 导出全部
 // 导出全部
@@ -23,5 +25,6 @@ components.forEach(item => {
 export {
 export {
     button,
     button,
     dialog,
     dialog,
+    icon,
 }
 }
 
 

+ 68 - 0
src/components/lib/lv-icon.vue

@@ -0,0 +1,68 @@
+<template>
+    <i class="iconfont" :class="[type ? 'icon-' + type : '']" :style="[fontSize ? `font-size:${fontSize}${fontUnit}` : '', color ? `color:${color}` : '']"></i>
+</template>
+
+<script function>
+export default {
+    name: 'lv-icon',
+    props: {
+        type: {
+            type: String,
+            default: ''
+        },
+        color: {
+            type: String,
+            default: ''
+        },
+        fontSize: {
+            type: Number,
+            default: 12
+        },
+        fontUnit: {
+            type: String,
+            default: 'px'
+        }
+    },
+    watch: {
+        fontSize(newSize) {
+            if (newSize) this.$set(this.styleObject, 'font-size', this.fontSize + this.fontUnit);
+        }
+    },
+    mounted() {
+        if (this.color) {
+            this.$set(this.styleObject, 'color', this.color);
+        }
+        if (this.fontSize) {
+            this.$set(this.styleObject, 'font-size', this.fontSize + this.fontUnit);
+        }
+    }
+}
+</script>
+
+<style lang="less" scope>
+@font-face {
+    font-family: "iconfont"; /* Project id 2760070 */
+    src: url('../../assets/font/iconfont.woff2?t=1629537928872') format('woff2'),
+         url('../../assets/font/iconfont.woff?t=1629537928872') format('woff'),
+         url('../../assets/font/iconfont.ttf?t=1629537928872') format('truetype');
+}
+.iconfont {
+    font-family: "iconfont" !important;
+    font-size: 16px;
+    font-style: normal;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+}
+.icon-add:before {
+    content: "\e600";
+}
+.icon-addRound:before {
+    content: "\e608";
+}
+.icon-wechat:before {
+    content: "\e609";
+}
+.icon-friend:before {
+    content: "\e60b";
+}
+</style>

Some files were not shown because too many files changed in this diff