From 1db172e1eb09be68008659c9f05bf18144df553a Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期一, 04 十一月 2024 18:54:47 +0800 Subject: [PATCH] feat:集装箱更改 --- uni_modules/uni-icons/components/uni-icons/uni-icons.vue | 204 +++++++++++++++++++++++++++----------------------- 1 files changed, 109 insertions(+), 95 deletions(-) diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue index 86e7444..9634a9c 100644 --- a/uni_modules/uni-icons/components/uni-icons/uni-icons.vue +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -1,96 +1,110 @@ -<template> - <!-- #ifdef APP-NVUE --> - <text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" @click="_onClick">{{unicode}}</text> - <!-- #endif --> - <!-- #ifndef APP-NVUE --> - <text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick"></text> - <!-- #endif --> -</template> - -<script> - import icons from './icons.js'; - const getVal = (val) => { - const reg = /^[0-9]*$/g - return (typeof val === 'number' ||銆�reg.test(val) )? val + 'px' : val; - } - // #ifdef APP-NVUE - var domModule = weex.requireModule('dom'); - import iconUrl from './uniicons.ttf' - domModule.addRule('fontFace', { - 'fontFamily': "uniicons", - 'src': "url('"+iconUrl+"')" - }); - // #endif - - /** - * Icons 鍥炬爣 - * @description 鐢ㄤ簬灞曠ず icons 鍥炬爣 - * @tutorial https://ext.dcloud.net.cn/plugin?id=28 - * @property {Number} size 鍥炬爣澶у皬 - * @property {String} type 鍥炬爣鍥炬锛屽弬鑰冪ず渚� - * @property {String} color 鍥炬爣棰滆壊 - * @property {String} customPrefix 鑷畾涔夊浘鏍� - * @event {Function} click 鐐瑰嚮 Icon 瑙﹀彂浜嬩欢 - */ - export default { - name: 'UniIcons', - emits:['click'], - props: { - type: { - type: String, - default: '' - }, - color: { - type: String, - default: '#333333' - }, - size: { - type: [Number, String], - default: 16 - }, - customPrefix:{ - type: String, - default: '' - } - }, - data() { - return { - icons: icons.glyphs - } - }, - computed:{ - unicode(){ - let code = this.icons.find(v=>v.font_class === this.type) - if(code){ - return unescape(`%u${code.unicode}`) - } - return '' - }, - iconSize(){ - return getVal(this.size) - } - }, - methods: { - _onClick() { - this.$emit('click') - } - } - } -</script> - -<style lang="scss"> - /* #ifndef APP-NVUE */ - @import './uniicons.css'; - @font-face { - font-family: uniicons; - src: url('./uniicons.ttf') format('truetype'); - } - - /* #endif */ - .uni-icons { - font-family: uniicons; - text-decoration: none; - text-align: center; - } - +<template> + <!-- #ifdef APP-NVUE --> + <text :style="styleObj" class="uni-icons" @click="_onClick">{{unicode}}</text> + <!-- #endif --> + <!-- #ifndef APP-NVUE --> + <text :style="styleObj" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick"> + <slot></slot> + </text> + <!-- #endif --> +</template> + +<script> + import { fontData } from './uniicons_file_vue.js'; + + const getVal = (val) => { + const reg = /^[0-9]*$/g + return (typeof val === 'number' || reg.test(val)) ? val + 'px' : val; + } + + // #ifdef APP-NVUE + var domModule = weex.requireModule('dom'); + import iconUrl from './uniicons.ttf' + domModule.addRule('fontFace', { + 'fontFamily': "uniicons", + 'src': "url('" + iconUrl + "')" + }); + // #endif + + /** + * Icons 鍥炬爣 + * @description 鐢ㄤ簬灞曠ず icons 鍥炬爣 + * @tutorial https://ext.dcloud.net.cn/plugin?id=28 + * @property {Number} size 鍥炬爣澶у皬 + * @property {String} type 鍥炬爣鍥炬锛屽弬鑰冪ず渚� + * @property {String} color 鍥炬爣棰滆壊 + * @property {String} customPrefix 鑷畾涔夊浘鏍� + * @event {Function} click 鐐瑰嚮 Icon 瑙﹀彂浜嬩欢 + */ + export default { + name: 'UniIcons', + emits: ['click'], + props: { + type: { + type: String, + default: '' + }, + color: { + type: String, + default: '#333333' + }, + size: { + type: [Number, String], + default: 16 + }, + customPrefix: { + type: String, + default: '' + }, + fontFamily: { + type: String, + default: '' + } + }, + data() { + return { + icons: fontData + } + }, + computed: { + unicode() { + let code = this.icons.find(v => v.font_class === this.type) + if (code) { + return code.unicode + } + return '' + }, + iconSize() { + return getVal(this.size) + }, + styleObj() { + if (this.fontFamily !== '') { + return `color: ${this.color}; font-size: ${this.iconSize}; font-family: ${this.fontFamily};` + } + return `color: ${this.color}; font-size: ${this.iconSize};` + } + }, + methods: { + _onClick() { + this.$emit('click') + } + } + } +</script> + +<style lang="scss"> + /* #ifndef APP-NVUE */ + @import './uniicons.css'; + + @font-face { + font-family: uniicons; + src: url('./uniicons.ttf'); + } + + /* #endif */ + .uni-icons { + font-family: uniicons; + text-decoration: none; + text-align: center; + } </style> -- Gitblit v1.9.1