Commit 582557e5 authored by wlxuqu's avatar wlxuqu

1. 新增man,woman,level三个图标,修复某些图标缺失的问题

2. 修复section组件showLine参数无法隐藏左边竖条的问题
parent bb453ec0
......@@ -2,7 +2,7 @@
"name" : "uView",
"appid" : "__UNI__60F4B81",
"description" : "多平台快速开发的UI框架",
"versionName" : "1.5.6",
"versionName" : "1.5.7",
"versionCode" : "100",
"transformPx" : false,
"app-plus" : {
......@@ -107,7 +107,7 @@
},
"mp-alipay" : {
"usingComponents" : true,
"component2": true
"component2" : true
},
"mp-baidu" : {
"usingComponents" : true,
......
......@@ -14,6 +14,15 @@
data() {
return {
iconList: [
{
name: 'level'
},
{
name: 'woman'
},
{
name: 'man'
},
{
name: 'arrow-left-double'
},
......
......@@ -3,7 +3,7 @@
<view class="u-demo-wrap">
<view class="u-demo-title">演示效果</view>
<view class="u-demo-area">
<u-section :title="title" :right="right" :bold="bold" :color="color"></u-section>
<u-section :title="title" :right="right" :bold="bold" :color="color" :show-line="false"></u-section>
</view>
</view>
<view class="u-config-wrap">
......
......@@ -168,7 +168,7 @@ export default {
fontSize: this.size == 'inherit' ? 'inherit' : this.$u.addUnit(this.size),
fontWeight: this.bold ? 'bold' : 'normal',
// 安卓和iOS各需要设置一个到顶部的距离,才能更好的垂直居中
top: this.top === '' ? (this.$u.os == 'ios' ? '2rpx' : '4rpx') : 0
top: this.top === '' ? (this.$u.os == 'ios' ? '2rpx' : '4rpx') : this.$u.addUnit(this.top)
};
// 非主题色值时,才当作颜色值
if (this.color && !this.$u.config.type.includes(this.color)) style.color = this.color;
......
......@@ -71,32 +71,32 @@
<script>
import Emitter from '../../libs/util/emitter.js';
/**
* input 输入框
* @description 此组件为一个输入框,默认没有边框和样式,是专门为配合表单组件u-form而设计的,利用它可以快速实现表单验证,输入内容,下拉选择等功能。
* @tutorial http://uviewui.com/components/input.html
* @property {String} type 模式选择,见官网说明
* @property {Boolean} clearable 是否显示右侧的清除图标(默认true)
* @property {} v-model 用于双向绑定输入框的值
* @property {String} input-align 输入框文字的对齐方式(默认left)
* @property {String} placeholder placeholder显示值(默认 '请输入内容')
* @property {Boolean} disabled 是否禁用输入框(默认false)
* @property {String Number} maxlength 输入框的最大可输入长度(默认140)
* @property {String Number} selection-start 光标起始位置,自动聚焦时有效,需与selection-end搭配使用(默认-1)
* @property {String Number} maxlength 光标结束位置,自动聚焦时有效,需与selection-start搭配使用(默认-1)
* @property {String Number} cursor-spacing 指定光标与键盘的距离,单位px(默认0)
* @property {String} placeholderStyle placeholder的样式,字符串形式,如"color: red;"(默认 "color: #c0c4cc;")
* @property {String} confirm-type 设置键盘右下角按钮的文字,仅在type为text时生效(默认done)
* @property {Object} custom-style 自定义输入框的样式,对象形式
* @property {Boolean} focus 是否自动获得焦点(默认false)
* @property {Boolean} fixed 如果type为textarea,且在一个"position:fixed"的区域,需要指明为true(默认false)
* @property {Boolean} password-icon type为password时,是否显示右侧的密码查看图标(默认true)
* @property {Boolean} border 是否显示边框(默认false)
* @property {String} border-color 输入框的边框颜色(默认#dcdfe6)
* @property {Boolean} auto-height 是否自动增高输入区域,type为textarea时有效(默认true)
* @property {String Number} height 高度,单位rpx(text类型时为70,textarea时为100)
* @example <u-input v-model="value" :type="type" :border="border" />
*/
/**
* input 输入框
* @description 此组件为一个输入框,默认没有边框和样式,是专门为配合表单组件u-form而设计的,利用它可以快速实现表单验证,输入内容,下拉选择等功能。
* @tutorial http://uviewui.com/components/input.html
* @property {String} type 模式选择,见官网说明
* @property {Boolean} clearable 是否显示右侧的清除图标(默认true)
* @property {} v-model 用于双向绑定输入框的值
* @property {String} input-align 输入框文字的对齐方式(默认left)
* @property {String} placeholder placeholder显示值(默认 '请输入内容')
* @property {Boolean} disabled 是否禁用输入框(默认false)
* @property {String Number} maxlength 输入框的最大可输入长度(默认140)
* @property {String Number} selection-start 光标起始位置,自动聚焦时有效,需与selection-end搭配使用(默认-1)
* @property {String Number} maxlength 光标结束位置,自动聚焦时有效,需与selection-start搭配使用(默认-1)
* @property {String Number} cursor-spacing 指定光标与键盘的距离,单位px(默认0)
* @property {String} placeholderStyle placeholder的样式,字符串形式,如"color: red;"(默认 "color: #c0c4cc;")
* @property {String} confirm-type 设置键盘右下角按钮的文字,仅在type为text时生效(默认done)
* @property {Object} custom-style 自定义输入框的样式,对象形式
* @property {Boolean} focus 是否自动获得焦点(默认false)
* @property {Boolean} fixed 如果type为textarea,且在一个"position:fixed"的区域,需要指明为true(默认false)
* @property {Boolean} password-icon type为password时,是否显示右侧的密码查看图标(默认true)
* @property {Boolean} border 是否显示边框(默认false)
* @property {String} border-color 输入框的边框颜色(默认#dcdfe6)
* @property {Boolean} auto-height 是否自动增高输入区域,type为textarea时有效(默认true)
* @property {String Number} height 高度,单位rpx(text类型时为70,textarea时为100)
* @example <u-input v-model="value" :type="type" :border="border" />
*/
export default {
name: 'u-input',
mixins: [Emitter],
......
/**
* html 解析器
* @tutorial https://github.com/jin-yufeng/Parser
* @version 20200719
* @version 20200728
* @author JinYufeng
* @listens MIT
*/
......@@ -102,9 +102,16 @@ MpHtmlParser.prototype.setText = function() {
}
if (!this.pre) {
// 合并空白符
var tmp = [];
var flag, tmp = [];
for (let i = text.length, c; c = text[--i];)
if (!blankChar[c] || (!blankChar[tmp[0]] && (c = ' '))) tmp.unshift(c);
if (!blankChar[c]) {
tmp.unshift(c);
if (!flag) flag = 1;
} else {
if (tmp[0] != ' ') tmp.unshift(' ');
if (c == '\n' && flag == void 0) flag = 0;
}
if (flag == 0) return;
text = tmp.join('');
}
this.siblings().push({
......@@ -119,6 +126,7 @@ MpHtmlParser.prototype.setNode = function() {
attrs: this.attrs
},
close = cfg.selfClosingTags[node.name];
if (this.options.nodes.length) node.type = 'node';
this.attrs = {};
if (!cfg.ignoreTags[node.name]) {
// 处理属性
......@@ -189,6 +197,7 @@ MpHtmlParser.prototype.setNode = function() {
attrs.height = void 0;
}
}
if (!attrs.controls && !attrs.autoplay) attrs.controls = 'T';
attrs.source = [];
if (attrs.src) {
attrs.source.push(attrs.src);
......@@ -217,8 +226,7 @@ MpHtmlParser.prototype.setNode = function() {
if (info.length < 2) continue;
let key = info[0].trim().toLowerCase(),
value = info.slice(1).join(':').trim();
if (value.includes('-webkit') || value.includes('-moz') || value.includes('-ms') || value.includes('-o') || value.includes(
'safe'))
if (value[0] == '-' || value.includes('safe'))
style += `;${key}:${value}`;
else if (!styleObj[key] || value.includes('import') || !styleObj[key].includes('import'))
styleObj[key] = value;
......@@ -359,13 +367,6 @@ MpHtmlParser.prototype.popNode = function(node) {
// 替换一些标签名
if (cfg.blockTags[node.name]) node.name = 'div';
else if (!cfg.trustTags[node.name]) node.name = 'span';
// 去除块标签前后空串
if (node.name == 'div' || node.name == 'p' || node.name[0] == 't') {
if (len > 1 && siblings[len - 2].text == ' ')
siblings.splice(--len - 1, 1);
if (childs.length && childs[childs.length - 1].text == ' ')
childs.pop();
}
// 处理列表
if (node.c && (node.name == 'ul' || node.name == 'ol')) {
if ((node.attrs.style || '').includes('list-style:none')) {
......
/* 配置文件 */
// #ifdef MP-WEIXIN
const canIUse = wx.canIUse('editor'); // 高基础库标识,用于兼容
// #endif
module.exports = {
var cfg = {
// 出错占位图
errorImg: null,
// 过滤器函数
......@@ -32,41 +29,15 @@ module.exports = {
blankChar: makeMap(' ,\xA0,\t,\r,\n,\f'),
boolAttrs: makeMap('allowfullscreen,autoplay,autostart,controls,ignore,loop,muted'),
// 块级标签,将被转为 div
blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,section' + (
// #ifdef MP-WEIXIN
canIUse ? '' :
// #endif
',pre')),
blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'),
// 将被移除的标签
ignoreTags: makeMap(
'area,base,canvas,frame,input,link,map,meta,param,script,source,style,svg,textarea,title,track,wbr'
// #ifdef MP-WEIXIN
+ (canIUse ? ',rp' : '')
// #endif
// #ifndef APP-PLUS
+ ',iframe'
// #endif
),
ignoreTags: makeMap('area,base,canvas,frame,iframe,input,link,map,meta,param,script,source,style,svg,textarea,title,track,wbr'),
// 只能被 rich-text 显示的标签
richOnlyTags: makeMap('a,colgroup,fieldset,legend,table'
// #ifdef MP-WEIXIN
+ (canIUse ? ',bdi,bdo,caption,rt,ruby' : '')
// #endif
),
richOnlyTags: makeMap('a,colgroup,fieldset,legend,table'),
// 自闭合的标签
selfClosingTags: makeMap(
'area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'
),
selfClosingTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'),
// 信任的标签
trustTags: makeMap(
'a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'
// #ifdef MP-WEIXIN
+ (canIUse ? ',bdi,bdo,caption,pre,rt,ruby' : '')
// #endif
// #ifdef APP-PLUS
+ ',embed,iframe'
// #endif
),
trustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'),
// 默认的标签样式
userAgentStyles: {
address: 'font-style:italic',
......@@ -91,3 +62,19 @@ function makeMap(str) {
map[list[i]] = true;
return map;
}
// #ifdef MP-WEIXIN
if (wx.canIUse('editor')) {
cfg.blockTags.pre = void 0;
cfg.ignoreTags.rp = true;
Object.assign(cfg.richOnlyTags, makeMap('bdi,bdo,caption,rt,ruby'));
Object.assign(cfg.trustTags, makeMap('bdi,bdo,caption,pre,rt,ruby'));
}
// #endif
// #ifdef APP-PLUS
cfg.ignoreTags.iframe = void 0;
Object.assign(cfg.trustTags, makeMap('embed,iframe'));
// #endif
module.exports = cfg;
......@@ -3,8 +3,8 @@
<block v-for="(n, i) in nodes" v-bind:key="i">
<!--图片-->
<view v-if="n.name=='img'" :class="'_img '+n.attrs.class" :style="n.attrs.style" :data-attrs="n.attrs" @tap="imgtap">
<rich-text v-if="controls[i]!=0" :nodes="[{attrs:{src:loading&&(controls[i]||0)<2?loading:(lazyLoad&&!controls[i]?placeholder:(controls[i]==3?errorImg:n.attrs.src||'')),alt:n.attrs.alt||'',width:n.attrs.width||'',style:'-webkit-touch-callout:none;max-width:100%;display:block'+(n.attrs.height?';height:'+n.attrs.height:'')},name:'img'}]" />
<image class="_image" :src="lazyLoad&&!controls[i]?placeholder:n.attrs.src" :lazy-load="lazyLoad"
<rich-text v-if="ctrl[i]!=0" :nodes="[{attrs:{src:loading&&(ctrl[i]||0)<2?loading:(lazyLoad&&!ctrl[i]?placeholder:(ctrl[i]==3?errorImg:n.attrs.src||'')),alt:n.attrs.alt||'',width:n.attrs.width||'',style:'-webkit-touch-callout:none;max-width:100%;display:block'+(n.attrs.height?';height:'+n.attrs.height:'')},name:'img'}]" />
<image class="_image" :src="lazyLoad&&!ctrl[i]?placeholder:n.attrs.src" :lazy-load="lazyLoad"
:show-menu-by-longpress="!n.attrs.ignore" :data-i="i" :data-index="n.attrs.i" data-source="img" @load="loadImg"
@error="error" />
</view>
......@@ -14,15 +14,15 @@
<text v-else-if="n.name=='br'">\n</text>
<!--#endif-->
<!--视频-->
<view v-else-if="((n.lazyLoad&&!n.attrs.autoplay)||(n.name=='video'&&!loadVideo))&&controls[i]==undefined" :id="n.attrs.id" :class="'_video '+(n.attrs.class||'')"
<view v-else-if="((n.lazyLoad&&!n.attrs.autoplay)||(n.name=='video'&&!loadVideo))&&ctrl[i]==undefined" :id="n.attrs.id" :class="'_video '+(n.attrs.class||'')"
:style="n.attrs.style" :data-i="i" @tap="_loadVideo" />
<video v-else-if="n.name=='video'" :id="n.attrs.id" :class="n.attrs.class" :style="n.attrs.style" :autoplay="n.attrs.autoplay||controls[i]==0"
:controls="!n.attrs.autoplay||n.attrs.controls" :loop="n.attrs.loop" :muted="n.attrs.muted" :poster="n.attrs.poster" :src="n.attrs.source[controls[i]||0]"
<video v-else-if="n.name=='video'" :id="n.attrs.id" :class="n.attrs.class" :style="n.attrs.style" :autoplay="n.attrs.autoplay||ctrl[i]==0"
:controls="n.attrs.controls" :loop="n.attrs.loop" :muted="n.attrs.muted" :poster="n.attrs.poster" :src="n.attrs.source[ctrl[i]||0]"
:unit-id="n.attrs['unit-id']" :data-id="n.attrs.id" :data-i="i" data-source="video" @error="error" @play="play" />
<!--音频-->
<audio v-else-if="n.name=='audio'" :ref="n.attrs.id" :class="n.attrs.class" :style="n.attrs.style" :author="n.attrs.author"
:autoplay="n.attrs.autoplay" :controls="!n.attrs.autoplay||n.attrs.controls" :loop="n.attrs.loop" :name="n.attrs.name" :poster="n.attrs.poster"
:src="n.attrs.source[controls[i]||0]" :data-i="i" :data-id="n.attrs.id" data-source="audio"
:autoplay="n.attrs.autoplay" :controls="n.attrs.controls" :loop="n.attrs.loop" :name="n.attrs.name" :poster="n.attrs.poster"
:src="n.attrs.source[ctrl[i]||0]" :data-i="i" :data-id="n.attrs.id" data-source="audio"
@error.native="error" @play.native="play" />
<!--链接-->
<view v-else-if="n.name=='a'" :id="n.attrs.id" :class="'_a '+(n.attrs.class||'')" hover-class="_hover" :style="n.attrs.style"
......@@ -32,7 +32,7 @@
<!--广告-->
<!--<ad v-else-if="n.name=='ad'" :class="n.attrs.class" :style="n.attrs.style" :unit-id="n.attrs['unit-id']" :appid="n.attrs.appid" :apid="n.attrs.apid" :type="n.attrs.type" :adpid="n.attrs.adpid" data-source="ad" @error="error" />-->
<!--列表-->
<view v-else-if="n.name=='li'" :id="n.attrs.id" :class="n.attrs.class" :style="(n.attrs.style||'')+';display:flex'">
<view v-else-if="n.name=='li'" :id="n.attrs.id" :class="n.attrs.class" :style="(n.attrs.style||'')+';display:flex;flex-direction:row'">
<view v-if="n.type=='ol'" class="_ol-bef">{{n.num}}</view>
<view v-else class="_ul-bef">
<view v-if="n.floor%3==0" class="_ul-p1"></view>
......@@ -80,7 +80,7 @@
name: 'trees',
data() {
return {
controls: [],
ctrl: [],
placeholder: 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="300" height="225"/>',
errorImg,
loadVideo: typeof plus == 'undefined',
......@@ -124,7 +124,7 @@
if (res.intersectionRatio) {
for (var j = this.nodes.length; j--;)
if (this.nodes[j].name == 'img')
this.$set(this.controls, j, 1);
this.$set(this.ctrl, j, 1);
this.observer.disconnect();
}
})
......@@ -184,23 +184,23 @@
},
loadImg(e) {
var i = e.currentTarget.dataset.i;
if (this.lazyLoad && !this.controls[i]) {
if (this.lazyLoad && !this.ctrl[i]) {
// #ifdef QUICKAPP-WEBVIEW
this.$set(this.controls, i, 0);
this.$set(this.ctrl, i, 0);
this.$nextTick(function() {
// #endif
// #ifndef APP-PLUS
this.$set(this.controls, i, 1);
this.$set(this.ctrl, i, 1);
// #endif
// #ifdef QUICKAPP-WEBVIEW
})
// #endif
} else if (this.loading && this.controls[i] != 2) {
} else if (this.loading && this.ctrl[i] != 2) {
// #ifdef QUICKAPP-WEBVIEW
this.$set(this.controls, i, 0);
this.$set(this.ctrl, i, 0);
this.$nextTick(function() {
// #endif
this.$set(this.controls, i, 2);
this.$set(this.ctrl, i, 2);
// #ifdef QUICKAPP-WEBVIEW
})
// #endif
......@@ -258,14 +258,14 @@
i = target.dataset.i;
if (source == 'video' || source == 'audio') {
// 加载其他 source
var index = this.controls[i] ? this.controls[i].i + 1 : 1;
var index = this.ctrl[i] ? this.ctrl[i].i + 1 : 1;
if (index < this.nodes[i].attrs.source.length)
this.$set(this.controls, i, index);
this.$set(this.ctrl, i, index);
if (e.detail.__args__)
e.detail = e.detail.__args__[0];
} else if (errorImg && source == 'img') {
this.top.imgList.setItem(target.dataset.index, errorImg);
this.$set(this.controls, i, 3);
this.$set(this.ctrl, i, 3);
}
this.top && this.top.$emit('error', {
source,
......@@ -274,7 +274,7 @@
});
},
_loadVideo(e) {
this.$set(this.controls, e.target.dataset.i, 0);
this.$set(this.ctrl, e.target.dataset.i, 0);
}
}
}
......@@ -407,12 +407,13 @@
}
._ul-bef {
display: block;
margin: 0 12px 0 23px;
line-height: normal;
}
._ol-bef,
._ul_bef {
._ul-bef {
flex: none;
user-select: none;
}
......
......@@ -63,7 +63,7 @@
* @event {Function} imgtap 图片点击事件
* @event {Function} linkpress 链接点击事件
* @author JinYufeng
* @version 20200719
* @version 20200728
* @listens MIT
*/
export default {
......
......@@ -53,7 +53,7 @@
// 形状,square为方形,circle为原型
shape: {
type: String,
default: 'square'
default: 'circle'
},
// 图标的大小,单位rpx
iconSize: {
......
......@@ -119,7 +119,7 @@
},
iconClass() {
let classes = [];
classes.push('u-radio__icon-wrap--' + this.shape);
classes.push('u-radio__icon-wrap--' + this.elShape);
if (this.name == this.parent.value) classes.push('u-radio__icon-wrap--checked');
if (this.elDisabled) classes.push('u-radio__icon-wrap--disabled');
if (this.name == this.parent.value && this.elDisabled) classes.push(
......
......@@ -8,7 +8,7 @@
}" :class="{
'u-section--line': showLine
}">
<view class="u-section__title__icon-wrap u-flex" :style="[lineStyle]">
<view class="u-section__title__icon-wrap u-flex" :style="[lineStyle]" v-if="showLine">
<u-icon top="0" name="column-line" :size="fontSize * 1.25" bold :color="lineColor ? lineColor : color"></u-icon>
</view>
<text class="u-flex u-section__title__text">{{title}}</text>
......@@ -59,7 +59,7 @@
},
fontSize: {
type: [Number, String],
default: 32
default: 28
},
// 主标题是否加粗
bold: {
......
<template>
<view class="u-switch" :class="[value == true ? 'u-switch--on' : '', disabled ? 'u-switch--disabled' : '']" @tap="onClick"
:style="[switchStyle]">
<view class="u-switch__node node-class">
<view class="u-switch__node node-class" :style="{
width: $u.addUnit(this.size),
height: $u.addUnit(this.size)
}">
<u-loading :show="loading" class="u-switch__loading" :size="size * 0.6" :color="loadingColor" />
</view>
</view>
......@@ -128,8 +131,6 @@
left: 0;
border-radius: 100%;
z-index: 1;
width: 1em;
height: 1em;
background-color: #fff;
background-color: #fff;
box-shadow: 0 3px 1px 0 rgba(0, 0, 0, 0.05), 0 2px 2px 0 rgba(0, 0, 0, 0.1), 0 3px 3px 0 rgba(0, 0, 0, 0.05);
......
......@@ -127,7 +127,7 @@
},
created() {
// 是否隐藏原生tabbar
if(this.borderTop) uni.hideTabBar();
if(this.hideTabBar) uni.hideTabBar();
// 获取引入了u-tabbar页面的路由地址,该地址没有路径前面的"/"
let pages = getCurrentPages();
// 页面栈中的最后一个即为项为当前页面,route属性为页面路径
......
/* #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO */
/* #ifdef APP-PLUS */
@font-face {
font-family: "uicon-iconfont";
font-weight: normal;
......@@ -10,7 +10,7 @@
/* #endif */
/* 支付宝,百度,头条小程序目前读取大的本地字体文件,导致无法显示图标,故用在线加载的方式-2020-05-12 */
/* #ifdef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO */
/* #ifndef APP-PLUS */
@font-face {
font-family: "uicon-iconfont";
src: url('//at.alicdn.com/t/font_1529455_a1l807px8qd');
......@@ -38,862 +38,862 @@
align-items: center;
}
.uicon-column-line:before {
content: "\e68e";
}
.uicon-level:before {
content: "\e693";
content: "\e693";
}
.uicon-woman:before {
content: "\e69c";
content: "\e69c";
}
.uicon-man:before {
content: "\e697";
content: "\e697";
}
.uicon-arrow-left-double:before {
content: "\e68c";
.uicon-column-line:before {
content: "\e68e";
}
.uicon-arrow-right-double:before {
content: "\e68d";
.uicon-empty-page:before {
content: "\e627";
}
.uicon-youjiantou:before {
content: "\e602";
.uicon-empty-data:before {
content: "\e62f";
}
.uicon-red-packet:before {
content: "\e691";
.uicon-empty-car:before {
content: "\e602";
}
.uicon-red-packet-fill:before {
content: "\e690";
.uicon-empty-order:before {
content: "\e639";
}
.uicon-order:before {
content: "\e68f";
.uicon-empty-address:before {
content: "\e646";
}
.uicon-checkbox-mark:before {
content: "\e6a8";
.uicon-empty-message:before {
content: "\e6a9";
}
.uicon-arrow-up-fill:before {
content: "\e6b0";
.uicon-empty-search:before {
content: "\e664";
}
.uicon-arrow-down-fill:before {
content: "\e600";
.uicon-empty-favor:before {
content: "\e67c";
}
.uicon-zanwushouhuodizhisvg_huaban:before {
content: "\e6d5";
.uicon-empty-coupon:before {
content: "\e682";
}
.uicon-empty-wifi:before {
content: "\e639";
.uicon-empty-history:before {
content: "\e684";
}
.uicon-empty-history:before {
content: "\e68b";
.uicon-empty-permission:before {
content: "\e686";
}
.uicon-empty-message:before {
content: "\e687";
.uicon-empty-news:before {
content: "\e687";
}
.uicon-empty-permission:before {
content: "\e686";
.uicon-empty-wifi:before {
content: "\e688";
}
.uicon-empty-search:before {
content: "\e627";
.uicon-empty-list:before {
content: "\e68b";
}
.uicon-empty-page:before {
content: "\e62f";
.uicon-arrow-left-double:before {
content: "\e68c";
}
.uicon-empty-address:before {
content: "\e646";
.uicon-arrow-right-double:before {
content: "\e68d";
}
.uicon-empty-favor:before {
content: "\e664";
.uicon-red-packet:before {
content: "\e691";
}
.uicon-empty-coupon:before {
content: "\e6af";
.uicon-red-packet-fill:before {
content: "\e690";
}
.uicon-empty-data:before {
content: "\e67c";
.uicon-order:before {
content: "\e68f";
}
.uicon-mepty-order:before {
content: "\e7c8";
.uicon-nav-back-arrow:before {
content: "\e67f";
}
.uicon-empty-car:before {
content: "\e682";
.uicon-nav-back:before {
content: "\e683";
}
.uicon-empty-list:before {
content: "\e684";
.uicon-checkbox-mark:before {
content: "\e6a8";
}
.uicon-empty-news:before {
content: "\e6e8";
.uicon-arrow-up-fill:before {
content: "\e6b0";
}
.uicon-arrow-down-fill:before {
content: "\e600";
}
.uicon-backspace:before {
content: "\e67b";
content: "\e67b";
}
.uicon-android-circle-fill:before {
content: "\e67e";
content: "\e67e";
}
.uicon-android-fill:before {
content: "\e67d";
content: "\e67d";
}
.uicon-question:before {
content: "\e715";
content: "\e715";
}
.uicon-pause:before {
content: "\e8fa";
content: "\e8fa";
}
.uicon-close:before {
content: "\e685";
content: "\e685";
}
.uicon-volume-up:before {
content: "\e633";
content: "\e633";
}
.uicon-volume-off:before {
content: "\e644";
content: "\e644";
}
.uicon-info:before {
content: "\e653";
content: "\e653";
}
.uicon-error:before {
content: "\e6d3";
content: "\e6d3";
}
.uicon-lock-opened-fill:before {
content: "\e974";
content: "\e974";
}
.uicon-lock-fill:before {
content: "\e979";
content: "\e979";
}
.uicon-lock:before {
content: "\e97a";
content: "\e97a";
}
.uicon-photo-fill:before {
content: "\e98b";
content: "\e98b";
}
.uicon-photo:before {
content: "\e98d";
content: "\e98d";
}
.uicon-account-fill:before {
content: "\e614";
content: "\e614";
}
.uicon-minus-people-fill:before {
content: "\e615";
content: "\e615";
}
.uicon-plus-people-fill:before {
content: "\e626";
content: "\e626";
}
.uicon-account:before {
content: "\e628";
content: "\e628";
}
.uicon-thumb-down-fill:before {
content: "\e726";
content: "\e726";
}
.uicon-thumb-down:before {
content: "\e727";
content: "\e727";
}
.uicon-thumb-up-fill:before {
content: "\e72f";
content: "\e72f";
}
.uicon-thumb-up:before {
content: "\e733";
content: "\e733";
}
.uicon-person-delete-fill:before {
content: "\e66a";
content: "\e66a";
}
.uicon-cut:before {
content: "\e948";
content: "\e948";
}
.uicon-fingerprint:before {
content: "\e955";
content: "\e955";
}
.uicon-home-fill:before {
content: "\e964";
content: "\e964";
}
.uicon-home:before {
content: "\e965";
content: "\e965";
}
.uicon-hourglass-half-fill:before {
content: "\e966";
content: "\e966";
}
.uicon-hourglass:before {
content: "\e967";
content: "\e967";
}
.uicon-lock-open:before {
content: "\e973";
content: "\e973";
}
.uicon-integral-fill:before {
content: "\e703";
content: "\e703";
}
.uicon-integral:before {
content: "\e704";
content: "\e704";
}
.uicon-coupon:before {
content: "\e8ae";
content: "\e8ae";
}
.uicon-coupon-fill:before {
content: "\e8c4";
content: "\e8c4";
}
.uicon-kefu-ermai:before {
content: "\e656";
content: "\e656";
}
.uicon-scan:before {
content: "\e662";
content: "\e662";
}
.uicon-rmb:before {
content: "\e608";
content: "\e608";
}
.uicon-rmb-circle-fill:before {
content: "\e657";
content: "\e657";
}
.uicon-rmb-circle:before {
content: "\e677";
content: "\e677";
}
.uicon-gift:before {
content: "\e65b";
content: "\e65b";
}
.uicon-gift-fill:before {
content: "\e65c";
content: "\e65c";
}
.uicon-bookmark-fill:before {
content: "\e63b";
content: "\e63b";
}
.uicon-zhuanfa:before {
content: "\e60b";
content: "\e60b";
}
.uicon-eye-off-outline:before {
content: "\e62b";
content: "\e62b";
}
.uicon-eye-off:before {
content: "\e648";
content: "\e648";
}
.uicon-pause-circle:before {
content: "\e643";
content: "\e643";
}
.uicon-play-circle:before {
content: "\e647";
content: "\e647";
}
.uicon-pause-circle-fill:before {
content: "\e654";
content: "\e654";
}
.uicon-play-circle-fill:before {
content: "\e655";
content: "\e655";
}
.uicon-grid:before {
content: "\e673";
content: "\e673";
}
.uicon-play-right:before {
content: "\e610";
content: "\e610";
}
.uicon-play-left:before {
content: "\e66d";
content: "\e66d";
}
.uicon-calendar:before {
content: "\e66e";
content: "\e66e";
}
.uicon-rewind-right:before {
content: "\e66f";
content: "\e66f";
}
.uicon-rewind-left:before {
content: "\e671";
content: "\e671";
}
.uicon-skip-forward-right:before {
content: "\e672";
content: "\e672";
}
.uicon-skip-back-left:before {
content: "\e674";
content: "\e674";
}
.uicon-play-left-fill:before {
content: "\e675";
content: "\e675";
}
.uicon-play-right-fill:before {
content: "\e676";
content: "\e676";
}
.uicon-grid-fill:before {
content: "\e678";
content: "\e678";
}
.uicon-rewind-left-fill:before {
content: "\e679";
content: "\e679";
}
.uicon-rewind-right-fill:before {
content: "\e67a";
content: "\e67a";
}
.uicon-pushpin:before {
content: "\e7e3";
content: "\e7e3";
}
.uicon-star:before {
content: "\e65f";
content: "\e65f";
}
.uicon-star-fill:before {
content: "\e669";
content: "\e669";
}
.uicon-server-fill:before {
content: "\e751";
content: "\e751";
}
.uicon-server-man:before {
content: "\e6bc";
content: "\e6bc";
}
.uicon-edit-pen:before {
content: "\e612";
content: "\e612";
}
.uicon-edit-pen-fill:before {
content: "\e66b";
content: "\e66b";
}
.uicon-wifi:before {
content: "\e667";
content: "\e667";
}
.uicon-wifi-off:before {
content: "\e668";
content: "\e668";
}
.uicon-file-text:before {
content: "\e663";
content: "\e663";
}
.uicon-file-text-fill:before {
content: "\e665";
content: "\e665";
}
.uicon-more-dot-fill:before {
content: "\e630";
content: "\e630";
}
.uicon-minus:before {
content: "\e618";
content: "\e618";
}
.uicon-minus-circle:before {
content: "\e61b";
content: "\e61b";
}
.uicon-plus:before {
content: "\e62d";
content: "\e62d";
}
.uicon-plus-circle:before {
content: "\e62e";
content: "\e62e";
}
.uicon-minus-circle-fill:before {
content: "\e652";
content: "\e652";
}
.uicon-plus-circle-fill:before {
content: "\e661";
content: "\e661";
}
.uicon-email:before {
content: "\e611";
content: "\e611";
}
.uicon-email-fill:before {
content: "\e642";
content: "\e642";
}
.uicon-phone:before {
content: "\e622";
content: "\e622";
}
.uicon-phone-fill:before {
content: "\e64f";
content: "\e64f";
}
.uicon-clock:before {
content: "\e60f";
content: "\e60f";
}
.uicon-car:before {
content: "\e60c";
content: "\e60c";
}
.uicon-car-fill:before {
content: "\e636";
content: "\e636";
}
.uicon-warning:before {
content: "\e694";
content: "\e694";
}
.uicon-warning-fill:before {
content: "\e64d";
content: "\e64d";
}
.uicon-search:before {
content: "\e62a";
content: "\e62a";
}
.uicon-baidu-circle-fill:before {
content: "\e680";
content: "\e680";
}
.uicon-baidu:before {
content: "\e681";
content: "\e681";
}
.uicon-facebook:before {
content: "\e689";
content: "\e689";
}
.uicon-facebook-circle-fill:before {
content: "\e68a";
content: "\e68a";
}
.uicon-qzone:before {
content: "\e695";
content: "\e695";
}
.uicon-qzone-circle-fill:before {
content: "\e696";
content: "\e696";
}
.uicon-moments-circel-fill:before {
content: "\e69a";
content: "\e69a";
}
.uicon-moments:before {
content: "\e69b";
content: "\e69b";
}
.uicon-qq-circle-fill:before {
content: "\e6a0";
content: "\e6a0";
}
.uicon-qq-fill:before {
content: "\e6a1";
content: "\e6a1";
}
.uicon-weibo:before {
content: "\e6a4";
content: "\e6a4";
}
.uicon-weibo-circle-fill:before {
content: "\e6a5";
content: "\e6a5";
}
.uicon-taobao:before {
content: "\e6a6";
content: "\e6a6";
}
.uicon-taobao-circle-fill:before {
content: "\e6a7";
content: "\e6a7";
}
.uicon-twitter:before {
content: "\e6aa";
content: "\e6aa";
}
.uicon-twitter-circle-fill:before {
content: "\e6ab";
content: "\e6ab";
}
.uicon-weixin-circle-fill:before {
content: "\e6b1";
content: "\e6b1";
}
.uicon-weixin-fill:before {
content: "\e6b2";
content: "\e6b2";
}
.uicon-zhifubao-circle-fill:before {
content: "\e6b8";
content: "\e6b8";
}
.uicon-zhifubao:before {
content: "\e6b9";
content: "\e6b9";
}
.uicon-zhihu:before {
content: "\e6ba";
content: "\e6ba";
}
.uicon-zhihu-circle-fill:before {
content: "\e709";
content: "\e709";
}
.uicon-list:before {
content: "\e650";
content: "\e650";
}
.uicon-list-dot:before {
content: "\e616";
content: "\e616";
}
.uicon-setting:before {
content: "\e61f";
content: "\e61f";
}
.uicon-bell:before {
content: "\e609";
content: "\e609";
}
.uicon-bell-fill:before {
content: "\e640";
content: "\e640";
}
.uicon-attach:before {
content: "\e632";
content: "\e632";
}
.uicon-shopping-cart:before {
content: "\e621";
content: "\e621";
}
.uicon-shopping-cart-fill:before {
content: "\e65d";
content: "\e65d";
}
.uicon-tags:before {
content: "\e629";
content: "\e629";
}
.uicon-share:before {
content: "\e631";
content: "\e631";
}
.uicon-question-circle-fill:before {
content: "\e666";
content: "\e666";
}
.uicon-question-circle:before {
content: "\e625";
content: "\e625";
}
.uicon-error-circle:before {
content: "\e624";
content: "\e624";
}
.uicon-checkmark-circle:before {
content: "\e63d";
content: "\e63d";
}
.uicon-close-circle:before {
content: "\e63f";
content: "\e63f";
}
.uicon-info-circle:before {
content: "\e660";
content: "\e660";
}
.uicon-md-person-add:before {
content: "\e6e4";
content: "\e6e4";
}
.uicon-md-person-fill:before {
content: "\e6ea";
content: "\e6ea";
}
.uicon-bag-fill:before {
content: "\e617";
content: "\e617";
}
.uicon-bag:before {
content: "\e619";
content: "\e619";
}
.uicon-chat-fill:before {
content: "\e61e";
content: "\e61e";
}
.uicon-chat:before {
content: "\e620";
content: "\e620";
}
.uicon-more-circle:before {
content: "\e63e";
content: "\e63e";
}
.uicon-more-circle-fill:before {
content: "\e645";
content: "\e645";
}
.uicon-volume:before {
content: "\e66c";
content: "\e66c";
}
.uicon-volume-fill:before {
content: "\e670";
content: "\e670";
}
.uicon-reload:before {
content: "\e788";
content: "\e788";
}
.uicon-camera:before {
content: "\e7d7";
content: "\e7d7";
}
.uicon-heart:before {
content: "\e7df";
content: "\e7df";
}
.uicon-heart-fill:before {
content: "\e851";
content: "\e851";
}
.uicon-minus-square-fill:before {
content: "\e855";
content: "\e855";
}
.uicon-plus-square-fill:before {
content: "\e856";
content: "\e856";
}
.uicon-pushpin-fill:before {
content: "\e86e";
content: "\e86e";
}
.uicon-camera-fill:before {
content: "\e870";
content: "\e870";
}
.uicon-setting-fill:before {
content: "\e872";
content: "\e872";
}
.uicon-google:before {
content: "\e87a";
content: "\e87a";
}
.uicon-ie:before {
content: "\e87b";
content: "\e87b";
}
.uicon-apple-fill:before {
content: "\e881";
content: "\e881";
}
.uicon-chrome-circle-fill:before {
content: "\e885";
content: "\e885";
}
.uicon-github-circle-fill:before {
content: "\e887";
content: "\e887";
}
.uicon-IE-circle-fill:before {
content: "\e889";
content: "\e889";
}
.uicon-google-circle-fill:before {
content: "\e88a";
content: "\e88a";
}
.uicon-arrow-down:before {
content: "\e60d";
content: "\e60d";
}
.uicon-arrow-left:before {
content: "\e60e";
content: "\e60e";
}
.uicon-map:before {
content: "\e61d";
content: "\e61d";
}
.uicon-man-add-fill:before {
content: "\e64c";
content: "\e64c";
}
.uicon-tags-fill:before {
content: "\e651";
content: "\e651";
}
.uicon-arrow-leftward:before {
content: "\e601";
content: "\e601";
}
.uicon-arrow-rightward:before {
content: "\e603";
content: "\e603";
}
.uicon-arrow-downward:before {
content: "\e604";
content: "\e604";
}
.uicon-arrow-right:before {
content: "\e605";
content: "\e605";
}
.uicon-arrow-up:before {
content: "\e606";
content: "\e606";
}
.uicon-arrow-upward:before {
content: "\e607";
content: "\e607";
}
.uicon-bookmark:before {
content: "\e60a";
content: "\e60a";
}
.uicon-eye:before {
content: "\e613";
content: "\e613";
}
.uicon-man-delete:before {
content: "\e61a";
content: "\e61a";
}
.uicon-man-add:before {
content: "\e61c";
content: "\e61c";
}
.uicon-trash:before {
content: "\e623";
content: "\e623";
}
.uicon-error-circle-fill:before {
content: "\e62c";
content: "\e62c";
}
.uicon-calendar-fill:before {
content: "\e634";
content: "\e634";
}
.uicon-checkmark-circle-fill:before {
content: "\e635";
content: "\e635";
}
.uicon-close-circle-fill:before {
content: "\e637";
content: "\e637";
}
.uicon-clock-fill:before {
content: "\e638";
content: "\e638";
}
.uicon-checkmark:before {
content: "\e63a";
content: "\e63a";
}
.uicon-download:before {
content: "\e63c";
content: "\e63c";
}
.uicon-eye-fill:before {
content: "\e641";
content: "\e641";
}
.uicon-mic-off:before {
content: "\e649";
content: "\e649";
}
.uicon-mic:before {
content: "\e64a";
content: "\e64a";
}
.uicon-info-circle-fill:before {
content: "\e64b";
content: "\e64b";
}
.uicon-map-fill:before {
content: "\e64e";
content: "\e64e";
}
.uicon-trash-fill:before {
content: "\e658";
content: "\e658";
}
.uicon-volume-off-fill:before {
content: "\e659";
content: "\e659";
}
.uicon-volume-up-fill:before {
content: "\e65a";
content: "\e65a";
}
.uicon-share-fill:before {
content: "\e65e";
content: "\e65e";
}
// 此版本发布于2020-07-28
let version = '1.5.6';
// 此版本发布于2020-07-29
let version = '1.5.7';
export default {
v: version,
......
{
"name": "uview-ui",
"version": "1.5.6",
"version": "1.5.7",
"description": "uView UI,是uni-app生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水",
"main": "index.js",
"keywords": ["uview", "uView", "uni-app", "uni-app ui", "uniapp", "uviewui", "uview ui", "uviewUI", "uViewui", "uViewUI", "uView UI", "uni ui", "uni UI", "uniapp ui", "ui", "UI框架", "uniapp ui框架", "uniapp UI"],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment