From 4d8e61ec448b4c5246478e75d5e8763a14bc5b5e Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期五, 02 二月 2024 20:55:51 +0800
Subject: [PATCH] fix:验质功能修复

---
 uni_modules/uni-combox/readme.md                                                  |   11 
 uni_modules/uni-combox/changelog.md                                               |   15 
 uni_modules/uni-icons/package.json                                                |   26 
 uni_modules/uni-icons/changelog.md                                                |   18 
 /dev/null                                                                         |   69 -
 uni_modules/uni-combox/package.json                                               |   90 ++
 uni_modules/uni-icons/components/uni-icons/uni-icons.uvue                         |   91 ++
 uni_modules/uni-icons/components/uni-icons/uni-icons.vue                          |  204 ++--
 uni_modules/uni-icons/components/uni-icons/uniicons_file.ts                       |  664 +++++++++++++++++
 pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue |   25 
 uni_modules/uni-combox/components/uni-combox/uni-combox.vue                       |  275 +++++++
 uni_modules/uni-icons/components/uni-icons/uniicons.css                           |   65 
 uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js                   |  649 +++++++++++++++++
 uni_modules/uni-icons/components/uni-icons/uniicons.ttf                           |    0 
 pages/public-page/selectSpecifications/selectSpecifications.vue                   |   21 
 15 files changed, 2,001 insertions(+), 222 deletions(-)

diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue
index 263c768..9a59a41 100644
--- a/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue
+++ b/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue
@@ -62,9 +62,12 @@
 						
 						<view> 鎵f福鍚庡噣閲嶏細<text  class="count"> {{  cleanWeight(item) ?  cleanWeight(item)  + '鍚�' : ''}}</text></view>
 					</view>
-				    <view v-else class='weigh-qualified-no'>
+				    <view v-else-if ='unqualifiedArr(i).length && item.clean' class='weigh-qualified-no'>
 						<view > 鎵f福鍚庡噣閲嶏細<text class="count">{{  cleanWeight(item) ?  cleanWeight(item)  + '鍚�' : '' }}</text></view>
 						<view >	鍚堟牸鍑�閲嶏細  <text class="count">{{ qualifiedWeight(item,i) ? qualifiedWeight(item,i) + '鍚�' : '' }}</text></view>
+					</view>
+					<view v-else-if ='unqualifiedArr(i).length && !item.clean' class='weigh-qualified-no'>
+						
 					</view>
 		
 				</view>
@@ -466,7 +469,19 @@
 				<view class="tag-select">
 					<text>
 						<!-- {{!flag?(globalShowWeigh[i].unqualifiedBreed?globalShowWeigh[i].unqualifiedBreed:item.unqualifiedBreed):(item.unqualifiedBreed||"璇烽�夋嫨")}} -->
-						{{  el.unqualifiedBreed  }}
+						{{  el.unsecondClass  }}
+					</text>
+				</view>
+			</view>
+			<view class="unqualifiedBreed">
+				<view style="width: 180rpx;">
+					<u--text text="涓嶅悎鏍艰鏍�"
+						size='32'></u--text>
+				</view>
+				<view class="tag-select">
+					<text>
+						<!-- {{!flag?(globalShowWeigh[i].unqualifiedBreed?globalShowWeigh[i].unqualifiedBreed:item.unqualifiedBreed):(item.unqualifiedBreed||"璇烽�夋嫨")}} -->
+						{{  el.unSpecifications  }}
 					</text>
 				</view>
 			</view>
@@ -877,7 +892,11 @@
 						// }
 					  
 						 let result =  arr.length && arr.map((el,index)=>{
-						let obj = {unqualifiedBreed:el,unqualifiedWeight:temp[index],unqualifiedType:noPin[index],penaltyUnitPrice:noPrice[index]}
+						const pinming = el.split("/")[0];
+						const guige = el.split("/")[1];
+						let obj = {unqualifiedBreed:el,unqualifiedWeight:temp[index],unqualifiedType:noPin[index],penaltyUnitPrice:noPrice[index],
+						unsecondClass:pinming,unSpecifications:guige
+						}
 						return obj
 					   })
 					   console.log(result,temp,'arr')
diff --git a/pages/public-page/selectSpecifications/selectSpecifications.vue b/pages/public-page/selectSpecifications/selectSpecifications.vue
index 1766060..f3a6f58 100644
--- a/pages/public-page/selectSpecifications/selectSpecifications.vue
+++ b/pages/public-page/selectSpecifications/selectSpecifications.vue
@@ -34,13 +34,14 @@
 						<u-icon name="arrow-right"
 							slot="right-icon"
 							size="30"></u-icon></u-cell> -->
-							<niceui-data-select-input
+							<!-- <niceui-data-select-input
 							v-model="dataForm.secondClass"
 							:localdata="secondClassActionsList"
 							@change="change"
 							:value="dataForm.secondClass"
 							class="uni-px-5 uni-pb-5"
-							></niceui-data-select-input>
+							></niceui-data-select-input> -->
+							<uni-combox  :candidates="secondClassActionsList" placeholder="璇烽�夋嫨浜岀骇鍝佸悕" v-model="dataForm.secondClass"></uni-combox>
 				</u-cell-group>
 			</u-form-item>
 			<u-form-item 
@@ -275,11 +276,7 @@
 							uni.hideLoading();
 							console.log(res.data,'result')
 							this.secondClassActionsList = res.data.map(v => {
-								return {
-									...v,
-									value: v.secondCategoryName,
-									text:v.secondCategoryName
-								}
+								return v.secondCategoryName
 							})
 							// if(this.secondClassActionsList .length){
 							// 	this.dataForm.secondClass = this.secondClassActionsList[0].value;
@@ -288,10 +285,7 @@
 				// 		}
 							if(params.actionObj){
 								let {breed,spec} = JSON.parse(params.actionObj);
-								 this.secondClassActionsList.unshift({
-									value:breed,
-									text:breed
-								})
+								 this.secondClassActionsList.unshift(breed)
 							this.dataForm.specifications= spec;;
 							this.dataForm.secondClass= breed;
 							this.dataForm.firstClass= JSON.parse(params.actionObj).firstClass || '';
@@ -538,6 +532,10 @@
 		margin: 10px;
 		position: relative;
 	}
+	/deep/	.uni-combox  {
+			z-index: 99999!important
+	}
+	
 
 	.slide-fade-enter-active {
 		transition: all 0.3s ease-out;
@@ -567,4 +565,5 @@
 			}
 		}
 	}
+	
 </style>
\ No newline at end of file
diff --git a/uni_modules/niceui-data-select-input/changelog.md b/uni_modules/niceui-data-select-input/changelog.md
deleted file mode 100644
index eedbe39..0000000
--- a/uni_modules/niceui-data-select-input/changelog.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## 1.0.1锛�2023-08-27锛�
-澧炲姞澶氶�夊姛鑳�
-## 1.0.0锛�2023-08-26锛�
-鍩轰簬鏈�鏂扮増uni-data-select鏀归�犵殑鍙緭鍏ヨ嚜瀹氫箟閫夐」鐨勪笅鎷夎緭鍏ユ枃鏈閫夋嫨鍣�
diff --git a/uni_modules/niceui-data-select-input/components/niceui-data-select-input/niceui-data-select-input.vue b/uni_modules/niceui-data-select-input/components/niceui-data-select-input/niceui-data-select-input.vue
deleted file mode 100644
index 5c81fcb..0000000
--- a/uni_modules/niceui-data-select-input/components/niceui-data-select-input/niceui-data-select-input.vue
+++ /dev/null
@@ -1,584 +0,0 @@
-<template>
-	<view class="uni-stat__select">
-		<span v-if="label" class="uni-label-text hide-on-phone">{{label + '锛�'}}</span>
-		<view class="uni-stat-box" :class="{'uni-stat__actived': current}">
-			<view class="uni-select" :class="{'uni-select--disabled':disabled}">
-				<view class="uni-select__input-box">
-					<input class="uni-select__input-text" v-if="!multiple" v-model="current" @click="toggleSelector" @input="inputEnter" :placeholder="typePlaceholder"></input>
-					<!-- <view v-else class="uni-select__input-text uni-select__input-placeholder">{{typePlaceholder}}</view> -->
-					<input class="uni-select__input-text" v-if="multiple" v-model="current" @click="toggleSelector" @input="inputEnter"   :placeholder="typePlaceholder"></input>
-					<view v-if="current && clear && !disabled" @click.stop="clearVal" >
-						<uni-icons type="clear" color="#c0c4cc" size="24"/>
-					</view>
-					<view v-else>
-						<uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" />
-					</view>
-				</view>
-				<view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" />
-				<view class="uni-select__selector" v-if="showSelector">
-					<view class="uni-popper__arrow"></view>
-					<scroll-view scroll-y="true" class="uni-select__selector-scroll">
-						<view class="uni-select__selector-empty" v-if="mixinDatacomResData.length === 0">
-							<text>{{emptyTips}}</text>
-						</view>
-						<view v-else class="uni-select__selector-item" v-for="(item,index) in mixinDatacomResData" :key="index"
-							@click="change(item)">
-							<text :class="{'uni-select__selector__disabled': item.disable,'active':currentArr.includes(item.text)}">{{formatItemName(item)}}</text>
-						</view>
-					</scroll-view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * DataChecklist 鏁版嵁閫夋嫨鍣�
-	 * @description 閫氳繃鏁版嵁娓叉煋鐨勪笅鎷夋缁勪欢
-	 * @tutorial https://uniapp.dcloud.io/component/uniui/uni-data-select
-	 * @property {String} value 榛樿鍊�
-	 * @property {Array} localdata 鏈湴鏁版嵁 锛屾牸寮� [{text:'',value:''}]
-	 * @property {Boolean} clear 鏄惁鍙互娓呯┖宸查�夐」
-	 * @property {Boolean} emptyText 娌℃湁鏁版嵁鏃舵樉绀虹殑鏂囧瓧 锛屾湰鍦版暟鎹棤鏁�
-	 * @property {String} label 宸︿晶鏍囬
-	 * @property {String} placeholder 杈撳叆妗嗙殑鎻愮ず鏂囧瓧
-	 * @property {Boolean} disabled 鏄惁绂佺敤
-	 * @event {Function} change  閫変腑鍙戠敓鍙樺寲瑙﹀彂
-	 */
-
-	export default {
-		name: "uni-data-select",
-		mixins: [uniCloud.mixinDatacom || {}],
-		props: {
-			localdata: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			value: {
-				type: [String, Number],
-				default: ''
-			},
-			modelValue: {
-				type: [String, Number],
-				default: ''
-			},
-			label: {
-				type: String,
-				default: ''
-			},
-			placeholder: {
-				type: String,
-				default: '璇烽�夋嫨'
-			},
-			emptyTips: {
-				type: String,
-				default: '鏃犻�夐」'
-			},
-			clear: {
-				type: Boolean,
-				default: true
-			},
-			defItem: {
-				type: Number,
-				default: 0
-			},
-			disabled: {
-				type: Boolean,
-				default: false
-			},
-			// 鏍煎紡鍖栬緭鍑� 鐢ㄦ硶 field="_id as value, version as text, uni_platform as label" format="{label} - {text}"
-			format: {
-				type: String,
-				default: ''
-			},
-			multiple: {
-				type: Boolean,
-				default: false
-			},
-		},
-		data() {
-			return {
-				showSelector: false,
-				current: '',
-				mixinDatacomResData: [],
-				apps: [],
-				channels: [],
-				isFocus:false,
-				cacheKey: "uni-data-select-lastSelectedValue",
-				tempData:[],
-				currentArr:[],
-			};
-		},
-		created() {
-			this.debounceGet = this.debounce(() => {
-				this.query();
-			}, 300);
-			if (this.collection && !this.localdata.length) {
-				this.debounceGet();
-			}
-		},
-		computed: {
-			typePlaceholder() {
-				const text = {
-					'opendb-stat-app-versions': '鐗堟湰',
-					'opendb-app-channels': '娓犻亾',
-					'opendb-app-list': '搴旂敤'
-				}
-				const common = this.placeholder
-				const placeholder = text[this.collection]
-				return placeholder ?
-					common + placeholder :
-					common
-			},
-			valueCom(){
-				// #ifdef VUE3
-				return this.modelValue;
-				// #endif
-				// #ifndef VUE3
-				return this.value;
-				// #endif
-			}
-		},
-		watch: {
-			localdata: {
-				immediate: true,
-				handler(val, old) {
-					console.log(val,old,'watchlocaldata');
-					if (Array.isArray(val) && old !== val) {
-						this.mixinDatacomResData = val
-					}
-				}
-			},
-			valueCom(val, old) {
-				this.initDefVal()
-			},
-			mixinDatacomResData: {
-				immediate: true,
-				handler(val) {
-					if (val.length) {
-						this.initDefVal()
-					}
-				}
-			}
-		},
-		methods: {
-			inputEnter(v){
-				console.log(v);
-				let val = v.detail.value
-				if(val){
-					const arr = this.mixinDatacomResData.filter(d=>d.text.indexOf(val)>-1)
-					if(arr.length>0){
-						this.mixinDatacomResData = JSON.parse(JSON.stringify(arr))
-					}else{
-						this.mixinDatacomResData = []
-						this.mixinDatacomResData.push(
-						  { value: val, text: val}
-						)
-						this.tempData = this.mixinDatacomResData
-						this.current = val
-						console.log('1231',this.current)
-					}
-				}else{
-					this.initDefVal()
-				}
-				
-			},
-			debounce(fn, time = 100){
-				let timer = null
-				return function(...args) {
-					if (timer) clearTimeout(timer)
-					timer = setTimeout(() => {
-						fn.apply(this, args)
-					}, time)
-				}
-			},
-			// 鎵ц鏁版嵁搴撴煡璇�
-			query(){
-				this.mixinDatacomEasyGet();
-			},
-			// 鐩戝惉鏌ヨ鏉′欢鍙樻洿浜嬩欢
-			onMixinDatacomPropsChange(){
-				if (this.collection) {
-					this.debounceGet();
-				}
-			},
-			initDefVal() {
-				let defValue = ''
-				if ((this.valueCom || this.valueCom === 0) && !this.isDisabled(this.valueCom)) {
-					defValue = this.valueCom
-				} else {
-					let strogeValue
-					if (this.collection) {
-						strogeValue = this.getCache()
-					}
-					if (strogeValue || strogeValue === 0) {
-						defValue = strogeValue
-					} else {
-						let defItem = ''
-						if (this.defItem > 0 && this.defItem <= this.mixinDatacomResData.length) {
-							defItem = this.mixinDatacomResData[this.defItem - 1].value
-						}
-						defValue = defItem
-					}
-					  if (defValue || defValue === 0) {
-								  this.emit(defValue)
-					  }
-				}
-				const def = this.mixinDatacomResData.find(item => item.value === defValue)
-				this.current = def ? this.formatItemName(def) : ''
-				if(this.current==''){
-					if(this.mixinDatacomResData.length==1){
-						this.current = this.formatItemName(this.mixinDatacomResData[0])
-					}
-				}
-				if(this.multiple){
-					if(this.currentArr.length>0){
-						this.current = this.currentArr.join(',')
-					}
-					
-				}
-			},
-
-			/**
-			 * @param {[String, Number]} value
-			 * 鍒ゆ柇鐢ㄦ埛缁欑殑 value 鏄惁鍚屾椂涓虹鐢ㄧ姸鎬�
-			 */
-			isDisabled(value) {
-				let isDisabled = false;
-
-				this.mixinDatacomResData.forEach(item => {
-					if (item.value === value) {
-						isDisabled = item.disable
-					}
-				})
-
-				return isDisabled;
-			},
-
-			clearVal() {
-				this.current = ''
-				if(this.multiple) this.currentArr=[]
-				this.emit('')
-				if (this.collection) {
-					this.removeCache()
-				}
-			},
-			change(item) {
-				if (!item.disable) {
-					if(!this.multiple){
-						this.showSelector = false
-						this.current = this.formatItemName(item)
-						console.log('瑙﹀彂','item',item)
-						this.emit(item.value)
-					}else{
-						if(!this.currentArr.includes(item.text)){
-							this.currentArr.push(this.formatItemName(item))
-						}else{
-							this.currentArr.forEach((it,index)=>{
-								if(it==this.formatItemName(item)){
-									this.currentArr.splice(index,1)
-								}
-							})
-						}
-						this.current = this.currentArr.join(',')
-						this.emit(this.current)
-					}
-				}
-			},
-			emit(val) {
-				this.$emit('input', val)
-				this.$emit('update:modelValue', val)
-				this.$emit('change', val)
-				if (this.collection) {
-					this.setCache(val);
-				}
-			},
-			toggleSelector() {
-				console.log(this.current,"鐐瑰嚮浜嗕笅鎷夋")
-				if (this.disabled) {
-					return
-				}
-				this.isFocus = true;
-				this.showSelector = !this.showSelector
-				this.mixinDatacomResData = this.localdata
-				this.mixinDatacomResData = this.mixinDatacomResData.concat(this.tempData)
-			},
-			formatItemName(item) {
-				let {
-					text,
-					value,
-					channel_code
-				} = item
-				channel_code = channel_code ? `(${channel_code})` : ''
-
-				if (this.format) {
-					// 鏍煎紡鍖栬緭鍑�
-					let str = "";
-					str = this.format;
-					for (let key in item) {
-						str = str.replace(new RegExp(`{${key}}`,"g"),item[key]);
-					}
-					return str;
-				} else {
-					return this.collection.indexOf('app-list') > 0 ?
-						`${text}(${value})` :
-						(
-							text ?
-							text :
-							`鏈懡鍚�${channel_code}`
-						)
-				}
-			},
-			// 鑾峰彇褰撳墠鍔犺浇鐨勬暟鎹�
-			getLoadData(){
-				return this.mixinDatacomResData;
-			},
-			// 鑾峰彇褰撳墠缂撳瓨key
-			getCurrentCacheKey(){
-				return this.collection;
-			},
-			// 鑾峰彇缂撳瓨
-			getCache(name=this.getCurrentCacheKey()){
-				let cacheData = uni.getStorageSync(this.cacheKey) || {};
-				return cacheData[name];
-			},
-			// 璁剧疆缂撳瓨
-			setCache(value, name=this.getCurrentCacheKey()){
-				let cacheData = uni.getStorageSync(this.cacheKey) || {};
-				cacheData[name] = value;
-				uni.setStorageSync(this.cacheKey, cacheData);
-			},
-			// 鍒犻櫎缂撳瓨
-			removeCache(name=this.getCurrentCacheKey()){
-				let cacheData = uni.getStorageSync(this.cacheKey) || {};
-				delete cacheData[name];
-				uni.setStorageSync(this.cacheKey, cacheData);
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	$uni-base-color: #6a6a6a !default;
-	$uni-main-color: #333 !default;
-	$uni-secondary-color: #909399 !default;
-	$uni-border-3: #e5e5e5;
-
-
-	/* #ifndef APP-NVUE */
-	@media screen and (max-width: 500px) {
-		.hide-on-phone {
-			display: none;
-		}
-	}
-
-	/* #endif */
-	.uni-stat__select {
-		display: flex;
-		align-items: center;
-		// padding: 15px;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-		width: 100%;
-		flex: 1;
-		box-sizing: border-box;
-	}
-
-	.uni-stat-box {
-		width: 100%;
-		flex: 1;
-	}
-
-	.uni-stat__actived {
-		width: 100%;
-		flex: 1;
-		// outline: 1px solid #2979ff;
-	}
-
-	.uni-label-text {
-		font-size: 14px;
-		font-weight: bold;
-		color: $uni-base-color;
-		margin: auto 0;
-		margin-right: 5px;
-	}
-
-	.uni-select {
-		font-size: 14px;
-		border: 1px solid $uni-border-3;
-		box-sizing: border-box;
-		border-radius: 4px;
-		padding: 0 5px;
-		padding-left: 10px;
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		user-select: none;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		border-bottom: solid 1px $uni-border-3;
-		width: 100%;
-		flex: 1;
-		height: 35px;
-
-		&--disabled {
-			background-color: #f5f7fa;
-			cursor: not-allowed;
-		}
-	}
-
-	.uni-select__label {
-		font-size: 16px;
-		// line-height: 22px;
-		height: 35px;
-		padding-right: 10px;
-		color: $uni-secondary-color;
-	}
-
-	.uni-select__input-box {
-		// width: 280px;
-		height: 35px;
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		align-items: center;
-	}
-	::v-deep uni-input {
-		font-size: 14px;
-	}
-	.uni-select__input {
-		flex: 1;
-		font-size: 14px;
-		height: 22px;
-		line-height: 22px;
-	}
-
-	.uni-select__input-plac {
-		font-size: 14px;
-		color: $uni-secondary-color;
-	}
-
-	.uni-select__selector {
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		/* #endif */
-		position: absolute;
-		top: calc(100% + 12px);
-		left: 0;
-		width: 100%;
-		background-color: #FFFFFF;
-		border: 1px solid #EBEEF5;
-		border-radius: 6px;
-		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-		z-index: 3;
-		padding: 4px 0;
-	}
-
-	.uni-select__selector-scroll {
-		/* #ifndef APP-NVUE */
-		max-height: 200px;
-		box-sizing: border-box;
-		/* #endif */
-	}
-
-	/* #ifdef H5 */
-	@media (min-width: 768px) {
-		.uni-select__selector-scroll {
-			max-height: 600px;
-		}
-	}
-	/* #endif */
-
-	.active{
-		color:#2979ff;
-	}
-	.uni-select__selector-empty,
-	.uni-select__selector-item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		cursor: pointer;
-		/* #endif */
-		line-height: 35px;
-		font-size: 14px;
-		text-align: center;
-		/* border-bottom: solid 1px $uni-border-3; */
-		padding: 0px 10px;
-	}
-
-	.uni-select__selector-item:hover {
-		background-color: #f9f9f9;
-	}
-
-	.uni-select__selector-empty:last-child,
-	.uni-select__selector-item:last-child {
-		/* #ifndef APP-NVUE */
-		border-bottom: none;
-		/* #endif */
-	}
-
-	.uni-select__selector__disabled {
-		opacity: 0.4;
-		cursor: default;
-	}
-
-	/* picker 寮瑰嚭灞傞�氱敤鐨勬寚绀哄皬涓夎 */
-	.uni-popper__arrow,
-	.uni-popper__arrow::after {
-		position: absolute;
-		display: block;
-		width: 0;
-		height: 0;
-		border-color: transparent;
-		border-style: solid;
-		border-width: 6px;
-	}
-
-	.uni-popper__arrow {
-		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
-		top: -6px;
-		left: 10%;
-		margin-right: 3px;
-		border-top-width: 0;
-		border-bottom-color: #EBEEF5;
-	}
-
-	.uni-popper__arrow::after {
-		content: " ";
-		top: 1px;
-		margin-left: -6px;
-		border-top-width: 0;
-		border-bottom-color: #fff;
-	}
-
-	.uni-select__input-text {
-		 // width: 280px;
-		width: 100%;
-		color: $uni-main-color;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		-o-text-overflow: ellipsis;
-		overflow: hidden;
-	}
-
-	.uni-select__input-placeholder {
-		color: $uni-base-color;
-		font-size: 12px;
-	}
-
-	.uni-select--mask {
-		position: fixed;
-		top: 0;
-		bottom: 0;
-		right: 0;
-		left: 0;
-		z-index: 2;
-	}
-</style>
diff --git a/uni_modules/niceui-data-select-input/package.json b/uni_modules/niceui-data-select-input/package.json
deleted file mode 100644
index a5a14ea..0000000
--- a/uni_modules/niceui-data-select-input/package.json
+++ /dev/null
@@ -1,81 +0,0 @@
-{
-"id": "niceui-data-select-input",
-  "displayName": "select-input涓嬫媺杈撳叆鏂囨湰妗嗛�夋嫨鍣紝鏀寔H5鍜屽皬绋嬪簭",
-  "version": "1.0.1",
-  "description": "鍩轰簬uni-data-select涓嬫媺妗嗛�夋嫨鍣ㄦ敼閫犵殑鍙緭鍏ヨ嚜瀹氫箟閫夐」鐨勪笅鎷夎緭鍏ユ枃鏈閫夋嫨鍣�",
-  "keywords": [
-    "select",
-    "niceui",
-    "nput",
-    "涓嬫媺杈撳叆鏂囨湰妗嗛�夋嫨鍣�",
-    "鍙緭鍏ラ�夐」"
-],
-  "repository": "",
-"engines": {
-  },
-  "dcloudext": {
-    "type": "component-vue",
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-     "ads": "鏃�",
-     "data": "鏃�",
-     "permissions": "鏃�"
-    },
-    "npmurl": ""
-  },
-  "uni_modules": {
-      "dependencies": ["uni-load-more"],
-      "encrypt": [],
-      "platforms": {
-        "cloud": {
-          "tcb": "y",
-          "aliyun": "y"
-        },
-        "client": {
-          "App": {
-            "app-vue": "u",
-            "app-nvue": "n"
-          },
-          "H5-mobile": {
-            "Safari": "y",
-            "Android Browser": "y",
-            "寰俊娴忚鍣�(Android)": "y",
-            "QQ娴忚鍣�(Android)": "y"
-          },
-          "H5-pc": {
-            "Chrome": "y",
-            "IE": "y",
-            "Edge": "y",
-            "Firefox": "y",
-            "Safari": "y"
-          },
-          "灏忕▼搴�": {
-            "寰俊": "y",
-            "闃块噷": "u",
-            "鐧惧害": "u",
-            "瀛楄妭璺冲姩": "u",
-          "QQ": "u",
-          "浜笢": "u"
-          },
-          "蹇簲鐢�": {
-            "鍗庝负": "u",
-            "鑱旂洘": "u"
-          },
-          "Vue": {
-              "vue2": "y",
-              "vue3": "y"
-          }
-        }
-      }
-    }
-  }
\ No newline at end of file
diff --git a/uni_modules/niceui-data-select-input/readme.md b/uni_modules/niceui-data-select-input/readme.md
deleted file mode 100644
index 590f555..0000000
--- a/uni_modules/niceui-data-select-input/readme.md
+++ /dev/null
@@ -1,69 +0,0 @@
-## 鍩轰簬鏈�鏂扮増uni-data-select鏀归�犵殑鍙緭鍏ヨ嚜瀹氫箟閫夐」鐨勪笅鎷夎緭鍏ユ枃鏈閫夋嫨鍣�
-## 瀹炵幇浜嗕笌elementUI涓�<el-select>鍚屾牱鐨勫姛鑳�
-##浣跨敤妗堜緥锛�
-```
-<template>
-	<view class="content">
-		 <view class="title">涓嬫媺杈撳叆鏂囨湰妗�</view>
-		 <niceui-data-select-input
-		        v-model="value"
-		        :localdata="range"
-		        @change="change"
-		      ></niceui-data-select-input>
-	</view>
-</template>
-
-<script>
-	import NiceUIDataSelectInput from '@/uni_modules/niceui-data-select-input/components/niceui-data-select-input/niceui-data-select-input.vue'
-	export default {
-		components:{
-			NiceUIDataSelectInput
-		},
-		data() {
-			return {
-				value: '',
-				range: [
-				  { value: 0, text: "绡悆" },
-				  { value: 1, text: "瓒崇悆" },
-				  { value: 2, text: "娓告吵" },
-				],
-				checkItems:[]
-			}
-		},
-		onLoad() {
-
-		},
-		methods: {
-			change(e) {
-			        console.log("e:", e);
-			      },
-		}
-	}
-</script>
-
-<style>
-	.content {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-	}
-	.title {
-		font-size: 36rpx;
-		color: #333;
-		margin-top: 60rpx;
-		margin-bottom: 50rpx;
-	}
-</style>
-
-```
-
-##浣跨敤鏁欑▼涓巙ni-data-select涓�鏍凤紝鍙偣鍑讳笅闈㈡煡鐪嬫枃妗h繘琛屼娇鐢ㄣ��
-## DataSelect 涓嬫媺妗嗛�夋嫨鍣�
-> **缁勪欢鍚嶏細uni-data-select**
-> 浠g爜鍧楋細 `uDataSelect`
-
-褰撻�夐」杩囧鏃讹紝浣跨敤涓嬫媺鑿滃崟灞曠ず骞堕�夋嫨鍐呭
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-data-select)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
diff --git a/uni_modules/uni-combox/changelog.md b/uni_modules/uni-combox/changelog.md
new file mode 100644
index 0000000..15256a2
--- /dev/null
+++ b/uni_modules/uni-combox/changelog.md
@@ -0,0 +1,15 @@
+## 1.0.1锛�2021-11-23锛�
+- 浼樺寲 label銆乴abel-width 灞炴��
+## 1.0.0锛�2021-11-19锛�
+- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox)
+## 0.1.0锛�2021-07-30锛�
+- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
+## 0.0.6锛�2021-05-12锛�
+- 鏂板 缁勪欢绀轰緥鍦板潃
+## 0.0.5锛�2021-04-21锛�
+- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
+## 0.0.4锛�2021-02-05锛�
+- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
+## 0.0.3锛�2021-02-04锛�
+- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/uni_modules/uni-combox/components/uni-combox/uni-combox.vue b/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
new file mode 100644
index 0000000..98bf152
--- /dev/null
+++ b/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
@@ -0,0 +1,275 @@
+<template>
+	<view class="uni-combox" :class="border ? '' : 'uni-combox__no-border'">
+		<view v-if="label" class="uni-combox__label" :style="labelStyle">
+			<text>{{label}}</text>
+		</view>
+		<view class="uni-combox__input-box">
+			<input class="uni-combox__input" type="text" :placeholder="placeholder" 
+			placeholder-class="uni-combox__input-plac" v-model="inputVal" @input="onInput" @focus="onFocus" 
+@blur="onBlur" />
+			<uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" @click="toggleSelector">
+			</uni-icons>
+		</view>
+		<view class="uni-combox__selector" v-if="showSelector">
+			<view class="uni-popper__arrow"></view>
+			<scroll-view scroll-y="true" class="uni-combox__selector-scroll">
+				<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
+					<text>{{emptyTips}}</text>
+				</view>
+				<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" 
+				@click="onSelectorClick(index)">
+					<text>{{item}}</text>
+				</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+
+<script>
+	/**
+	 * Combox 缁勫悎杈撳叆妗�
+	 * @description 缁勫悎杈撳叆妗嗕竴鑸敤浜庢棦鍙互杈撳叆涔熷彲浠ラ�夋嫨鐨勫満鏅�
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=1261
+	 * @property {String} label 宸︿晶鏂囧瓧
+	 * @property {String} labelWidth 宸︿晶鍐呭瀹藉害
+	 * @property {String} placeholder 杈撳叆妗嗗崰浣嶇
+	 * @property {Array} candidates 鍊欓�夐」鍒楄〃
+	 * @property {String} emptyTips 绛涢�夌粨鏋滀负绌烘椂鏄剧ず鐨勬枃瀛�
+	 * @property {String} value 缁勫悎妗嗙殑鍊�
+	 */
+	export default {
+		name: 'uniCombox',
+		emits: ['input', 'update:modelValue'],
+		props: {
+			border: {
+				type: Boolean,
+				default: true
+			},
+			label: {
+				type: String,
+				default: ''
+			},
+			labelWidth: {
+				type: String,
+				default: 'auto'
+			},
+			placeholder: {
+				type: String,
+				default: ''
+			},
+			candidates: {
+				type: Array,
+				default () {
+					return []
+				}
+			},
+			emptyTips: {
+				type: String,
+				default: '鏃犲尮閰嶉」'
+			},
+			// #ifndef VUE3
+			value: {
+				type: [String, Number],
+				default: ''
+			},
+			// #endif
+			// #ifdef VUE3
+			modelValue: {
+				type: [String, Number],
+				default: ''
+			},
+			// #endif
+		},
+		data() {
+			return {
+				showSelector: false,
+				inputVal: ''
+			}
+		},
+		computed: {
+			labelStyle() {
+				if (this.labelWidth === 'auto') {
+					return ""
+				}
+				return `width: ${this.labelWidth}`
+			},
+			filterCandidates() {
+				return this.candidates.filter((item) => {
+					return item.toString().indexOf(this.inputVal) > -1
+				})
+			},
+			filterCandidatesLength() {
+				return this.filterCandidates.length
+			}
+		},
+		watch: {
+			// #ifndef VUE3
+			value: {
+				handler(newVal) {
+					this.inputVal = newVal
+				},
+				immediate: true
+			},
+			// #endif
+			// #ifdef VUE3
+			modelValue: {
+				handler(newVal) {
+					this.inputVal = newVal
+				},
+				immediate: true
+			},
+			// #endif
+		},
+		methods: {
+			toggleSelector() {
+				this.showSelector = !this.showSelector
+			},
+			onFocus() {
+				this.showSelector = true
+			},
+			onBlur() {
+				setTimeout(() => {
+					this.showSelector = false
+				}, 153)
+			},
+			onSelectorClick(index) {
+				this.inputVal = this.filterCandidates[index]
+				this.showSelector = false
+				this.$emit('input', this.inputVal)
+				this.$emit('update:modelValue', this.inputVal)
+			},
+			onInput() {
+				setTimeout(() => {
+					this.$emit('input', this.inputVal)
+					this.$emit('update:modelValue', this.inputVal)
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.uni-combox {
+		font-size: 14px;
+		border: 1px solid #DCDFE6;
+		border-radius: 4px;
+		padding: 6px 10px;
+		position: relative;
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		// height: 40px;
+		flex-direction: row;
+		align-items: center;
+		// border-bottom: solid 1px #DDDDDD;
+	}
+
+	.uni-combox__label {
+		font-size: 16px;
+		line-height: 22px;
+		padding-right: 10px;
+		color: #999999;
+	}
+
+	.uni-combox__input-box {
+		position: relative;
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex: 1;
+		flex-direction: row;
+		align-items: center;
+	}
+
+	.uni-combox__input {
+		flex: 1;
+		font-size: 14px;
+		height: 22px;
+		line-height: 22px;
+	}
+
+	.uni-combox__input-plac {
+		font-size: 14px;
+		color: #999;
+	}
+
+	.uni-combox__selector {
+		/* #ifndef APP-NVUE */
+		box-sizing: border-box;
+		/* #endif */
+		position: absolute;
+		top: calc(100% + 12px);
+		left: 0;
+		width: 100%;
+		background-color: #FFFFFF;
+		border: 1px solid #EBEEF5;
+		border-radius: 6px;
+		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+		z-index: 2;
+		padding: 4px 0;
+	}
+
+	.uni-combox__selector-scroll {
+		/* #ifndef APP-NVUE */
+		max-height: 200px;
+		box-sizing: border-box;
+		/* #endif */
+	}
+
+	.uni-combox__selector-empty,
+	.uni-combox__selector-item {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		cursor: pointer;
+		/* #endif */
+		line-height: 36px;
+		font-size: 14px;
+		text-align: center;
+		// border-bottom: solid 1px #DDDDDD;
+		padding: 0px 10px;
+	}
+
+	.uni-combox__selector-item:hover {
+		background-color: #f9f9f9;
+	}
+
+	.uni-combox__selector-empty:last-child,
+	.uni-combox__selector-item:last-child {
+		/* #ifndef APP-NVUE */
+		border-bottom: none;
+		/* #endif */
+	}
+
+	// picker 寮瑰嚭灞傞�氱敤鐨勬寚绀哄皬涓夎
+	.uni-popper__arrow,
+	.uni-popper__arrow::after {
+		position: absolute;
+		display: block;
+		width: 0;
+		height: 0;
+		border-color: transparent;
+		border-style: solid;
+		border-width: 6px;
+	}
+
+	.uni-popper__arrow {
+		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
+		top: -6px;
+		left: 10%;
+		margin-right: 3px;
+		border-top-width: 0;
+		border-bottom-color: #EBEEF5;
+	}
+
+	.uni-popper__arrow::after {
+		content: " ";
+		top: 1px;
+		margin-left: -6px;
+		border-top-width: 0;
+		border-bottom-color: #fff;
+	}
+
+	.uni-combox__no-border {
+		border: none;
+	}
+</style>
diff --git a/uni_modules/uni-combox/package.json b/uni_modules/uni-combox/package.json
new file mode 100644
index 0000000..3fed614
--- /dev/null
+++ b/uni_modules/uni-combox/package.json
@@ -0,0 +1,90 @@
+{
+  "id": "uni-combox",
+  "displayName": "uni-combox 缁勫悎妗�",
+  "version": "1.0.1",
+  "description": "鍙互閫夋嫨涔熷彲浠ヨ緭鍏ョ殑琛ㄥ崟椤� ",
+  "keywords": [
+    "uni-ui",
+    "uniui",
+    "combox",
+    "缁勫悎妗�",
+    "select"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": ""
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+  "dcloudext": {
+    "category": [
+      "鍓嶇缁勪欢",
+      "閫氱敤缁勪欢"
+    ],
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "鏃�",
+      "data": "鏃�",
+      "permissions": "鏃�"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+  },
+  "uni_modules": {
+    "dependencies": [
+			"uni-scss",
+			"uni-icons"
+		],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "n"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "寰俊娴忚鍣�(Android)": "y",
+          "QQ娴忚鍣�(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "灏忕▼搴�": {
+          "寰俊": "y",
+          "闃块噷": "y",
+          "鐧惧害": "y",
+          "瀛楄妭璺冲姩": "y",
+          "QQ": "y"
+        },
+        "蹇簲鐢�": {
+          "鍗庝负": "u",
+          "鑱旂洘": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-combox/readme.md b/uni_modules/uni-combox/readme.md
new file mode 100644
index 0000000..d9f08d5
--- /dev/null
+++ b/uni_modules/uni-combox/readme.md
@@ -0,0 +1,11 @@
+
+
+## Combox 缁勫悎妗�
+> **缁勪欢鍚嶏細uni-combox**
+> 浠g爜鍧楋細 `uCombox`
+
+
+缁勫悎妗嗙粍浠躲��
+
+### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-combox)
+#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/uni_modules/uni-icons/changelog.md b/uni_modules/uni-icons/changelog.md
index 6449885..620ab02 100644
--- a/uni_modules/uni-icons/changelog.md
+++ b/uni_modules/uni-icons/changelog.md
@@ -1,3 +1,21 @@
+## 2.0.9锛�2024-01-12锛�
+fix: 淇鍥炬爣澶у皬榛樿鍊奸敊璇殑闂
+## 2.0.8锛�2023-12-14锛�
+- 淇 椤圭洰鏈娇鐢� ts 鎯呭喌涓嬶紝鎵撳寘鎶ラ敊鐨刡ug
+## 2.0.7锛�2023-12-14锛�
+- 淇 size 灞炴�т负 string 鏃讹紝涓嶅姞鍗曚綅瀵艰嚧灏哄寮傚父鐨刡ug
+## 2.0.6锛�2023-12-11锛�
+- 浼樺寲 鍏煎鑰佺増鏈琲con绫诲瀷锛屽 top 锛宐ottom 绛�
+## 2.0.5锛�2023-12-11锛�
+- 浼樺寲 鍏煎鑰佺増鏈琲con绫诲瀷锛屽 top 锛宐ottom 绛�
+## 2.0.4锛�2023-12-06锛�
+- 浼樺寲 uni-app x 涓嬬ず渚嬮」鐩浘鏍囨帓搴�
+## 2.0.3锛�2023-12-06锛�
+- 淇 nvue涓嬪紩鍏ョ粍浠舵姤閿欑殑bug
+## 2.0.2锛�2023-12-05锛�
+-浼樺寲 size 灞炴�ф敮鎸佸崟浣�
+## 2.0.1锛�2023-12-05锛�
+- 鏂板 uni-app x 鏀寔瀹氫箟鍥炬爣
 ## 1.3.5锛�2022-01-24锛�
 - 浼樺寲 size 灞炴�у彲浠ヤ紶鍏ヤ笉甯﹀崟浣嶇殑瀛楃涓叉暟鍊�
 ## 1.3.4锛�2022-01-24锛�
diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue b/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue
new file mode 100644
index 0000000..a975b4a
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue
@@ -0,0 +1,91 @@
+<template>
+	<text class="uni-icons" :style="styleObj">
+		<slot>{{unicode}}</slot>
+	</text>
+</template>
+
+<script>
+	import { fontData, IconsDataItem } from './uniicons_file'
+
+	/**
+	 * Icons 鍥炬爣
+	 * @description 鐢ㄤ簬灞曠ず icon 鍥炬爣
+	 * @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: "uni-icons",
+		props: {
+			type: {
+				type: String,
+				default: ''
+			},
+			color: {
+				type: String,
+				default: '#333333'
+			},
+			size: {
+				type: Object,
+				default: 16
+			},
+			fontFamily: {
+				type: String,
+				default: ''
+			}
+		},
+		data() {
+			return {};
+		},
+		computed: {
+			unicode() : string {
+				let codes = fontData.find((item : IconsDataItem) : boolean => { return item.font_class == this.type })
+				if (codes !== null) {
+					return codes.unicode
+				}
+				return ''
+			},
+			iconSize() : string {
+				const size = this.size
+				if (typeof size == 'string') {
+					const reg = /^[0-9]*$/g
+					return reg.test(size as string) ? '' + size + 'px' : '' + size;
+					// return '' + this.size
+				}
+				return this.getFontSize(size as number)
+			},
+			styleObj() : UTSJSONObject {
+				if (this.fontFamily !== '') {
+					return { color: this.color, fontSize: this.iconSize, fontFamily: this.fontFamily }
+				}
+				return { color: this.color, fontSize: this.iconSize }
+			}
+		},
+		created() { },
+		methods: {
+			/**
+			 * 瀛椾綋澶у皬
+			 */
+			getFontSize(size : number) : string {
+				return size + 'px';
+			},
+		},
+	}
+</script>
+
+<style scoped>
+	@font-face {
+		font-family: UniIconsFontFamily;
+		src: url('./uniicons.ttf');
+	}
+
+	.uni-icons {
+		font-family: UniIconsFontFamily;
+		font-size: 18px;
+		font-style: normal;
+		color: #333;
+	}
+</style>
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>
diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.css b/uni_modules/uni-icons/components/uni-icons/uniicons.css
index 2f56eab..0a6b6fe 100644
--- a/uni_modules/uni-icons/components/uni-icons/uniicons.css
+++ b/uni_modules/uni-icons/components/uni-icons/uniicons.css
@@ -1,3 +1,12 @@
+
+.uniui-cart-filled:before {
+  content: "\e6d0";
+}
+
+.uniui-gift-filled:before {
+  content: "\e6c4";
+}
+
 .uniui-color:before {
   content: "\e6cf";
 }
@@ -58,10 +67,6 @@
   content: "\e6c3";
 }
 
-.uniui-gift-filled:before {
-  content: "\e6c4";
-}
-
 .uniui-fire-filled:before {
   content: "\e6c5";
 }
@@ -82,6 +87,18 @@
   content: "\e698";
 }
 
+.uniui-arrowthinleft:before {
+  content: "\e6d2";
+}
+
+.uniui-arrowthinup:before {
+  content: "\e6d3";
+}
+
+.uniui-arrowthindown:before {
+  content: "\e6d4";
+}
+
 .uniui-back:before {
   content: "\e6b9";
 }
@@ -94,15 +111,7 @@
   content: "\e6bb";
 }
 
-.uniui-arrowthinright:before {
-  content: "\e6bb";
-}
-
 .uniui-arrow-left:before {
-  content: "\e6bc";
-}
-
-.uniui-arrowthinleft:before {
   content: "\e6bc";
 }
 
@@ -110,39 +119,35 @@
   content: "\e6bd";
 }
 
-.uniui-arrowthinup:before {
-  content: "\e6bd";
-}
-
 .uniui-arrow-down:before {
   content: "\e6be";
 }
 
-.uniui-arrowthindown:before {
-  content: "\e6be";
+.uniui-arrowthinright:before {
+  content: "\e6d1";
+}
+
+.uniui-down:before {
+  content: "\e6b8";
 }
 
 .uniui-bottom:before {
   content: "\e6b8";
 }
 
-.uniui-arrowdown:before {
-  content: "\e6b8";
+.uniui-arrowright:before {
+  content: "\e6d5";
 }
 
 .uniui-right:before {
   content: "\e6b5";
 }
 
-.uniui-arrowright:before {
-  content: "\e6b5";
-}
-
-.uniui-top:before {
+.uniui-up:before {
   content: "\e6b6";
 }
 
-.uniui-arrowup:before {
+.uniui-top:before {
   content: "\e6b6";
 }
 
@@ -150,8 +155,8 @@
   content: "\e6b7";
 }
 
-.uniui-arrowleft:before {
-  content: "\e6b7";
+.uniui-arrowup:before {
+  content: "\e6d6";
 }
 
 .uniui-eye:before {
@@ -636,10 +641,6 @@
 
 .uniui-bars:before {
   content: "\e627";
-}
-
-.uniui-cart-filled:before {
-  content: "\e629";
 }
 
 .uniui-checkbox:before {
diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
index 835f33b..14696d0 100644
--- a/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
+++ b/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
Binary files differ
diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts b/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts
new file mode 100644
index 0000000..86318df
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts
@@ -0,0 +1,664 @@
+
+export type IconsData = {
+	id : string
+	name : string
+	font_family : string
+	css_prefix_text : string
+	description : string
+	glyphs : Array<IconsDataItem>
+}
+
+export type IconsDataItem = {
+	font_class : string
+	unicode : string
+}
+
+
+export const fontData = [
+  {
+    "font_class": "arrow-down",
+    "unicode": "\ue6be"
+  },
+  {
+    "font_class": "arrow-left",
+    "unicode": "\ue6bc"
+  },
+  {
+    "font_class": "arrow-right",
+    "unicode": "\ue6bb"
+  },
+  {
+    "font_class": "arrow-up",
+    "unicode": "\ue6bd"
+  },
+  {
+    "font_class": "auth",
+    "unicode": "\ue6ab"
+  },
+  {
+    "font_class": "auth-filled",
+    "unicode": "\ue6cc"
+  },
+  {
+    "font_class": "back",
+    "unicode": "\ue6b9"
+  },
+  {
+    "font_class": "bars",
+    "unicode": "\ue627"
+  },
+  {
+    "font_class": "calendar",
+    "unicode": "\ue6a0"
+  },
+  {
+    "font_class": "calendar-filled",
+    "unicode": "\ue6c0"
+  },
+  {
+    "font_class": "camera",
+    "unicode": "\ue65a"
+  },
+  {
+    "font_class": "camera-filled",
+    "unicode": "\ue658"
+  },
+  {
+    "font_class": "cart",
+    "unicode": "\ue631"
+  },
+  {
+    "font_class": "cart-filled",
+    "unicode": "\ue6d0"
+  },
+  {
+    "font_class": "chat",
+    "unicode": "\ue65d"
+  },
+  {
+    "font_class": "chat-filled",
+    "unicode": "\ue659"
+  },
+  {
+    "font_class": "chatboxes",
+    "unicode": "\ue696"
+  },
+  {
+    "font_class": "chatboxes-filled",
+    "unicode": "\ue692"
+  },
+  {
+    "font_class": "chatbubble",
+    "unicode": "\ue697"
+  },
+  {
+    "font_class": "chatbubble-filled",
+    "unicode": "\ue694"
+  },
+  {
+    "font_class": "checkbox",
+    "unicode": "\ue62b"
+  },
+  {
+    "font_class": "checkbox-filled",
+    "unicode": "\ue62c"
+  },
+  {
+    "font_class": "checkmarkempty",
+    "unicode": "\ue65c"
+  },
+  {
+    "font_class": "circle",
+    "unicode": "\ue65b"
+  },
+  {
+    "font_class": "circle-filled",
+    "unicode": "\ue65e"
+  },
+  {
+    "font_class": "clear",
+    "unicode": "\ue66d"
+  },
+  {
+    "font_class": "close",
+    "unicode": "\ue673"
+  },
+  {
+    "font_class": "closeempty",
+    "unicode": "\ue66c"
+  },
+  {
+    "font_class": "cloud-download",
+    "unicode": "\ue647"
+  },
+  {
+    "font_class": "cloud-download-filled",
+    "unicode": "\ue646"
+  },
+  {
+    "font_class": "cloud-upload",
+    "unicode": "\ue645"
+  },
+  {
+    "font_class": "cloud-upload-filled",
+    "unicode": "\ue648"
+  },
+  {
+    "font_class": "color",
+    "unicode": "\ue6cf"
+  },
+  {
+    "font_class": "color-filled",
+    "unicode": "\ue6c9"
+  },
+  {
+    "font_class": "compose",
+    "unicode": "\ue67f"
+  },
+  {
+    "font_class": "contact",
+    "unicode": "\ue693"
+  },
+  {
+    "font_class": "contact-filled",
+    "unicode": "\ue695"
+  },
+  {
+    "font_class": "down",
+    "unicode": "\ue6b8"
+  },
+	{
+	  "font_class": "bottom",
+	  "unicode": "\ue6b8"
+	},
+  {
+    "font_class": "download",
+    "unicode": "\ue68d"
+  },
+  {
+    "font_class": "download-filled",
+    "unicode": "\ue681"
+  },
+  {
+    "font_class": "email",
+    "unicode": "\ue69e"
+  },
+  {
+    "font_class": "email-filled",
+    "unicode": "\ue69a"
+  },
+  {
+    "font_class": "eye",
+    "unicode": "\ue651"
+  },
+  {
+    "font_class": "eye-filled",
+    "unicode": "\ue66a"
+  },
+  {
+    "font_class": "eye-slash",
+    "unicode": "\ue6b3"
+  },
+  {
+    "font_class": "eye-slash-filled",
+    "unicode": "\ue6b4"
+  },
+  {
+    "font_class": "fire",
+    "unicode": "\ue6a1"
+  },
+  {
+    "font_class": "fire-filled",
+    "unicode": "\ue6c5"
+  },
+  {
+    "font_class": "flag",
+    "unicode": "\ue65f"
+  },
+  {
+    "font_class": "flag-filled",
+    "unicode": "\ue660"
+  },
+  {
+    "font_class": "folder-add",
+    "unicode": "\ue6a9"
+  },
+  {
+    "font_class": "folder-add-filled",
+    "unicode": "\ue6c8"
+  },
+  {
+    "font_class": "font",
+    "unicode": "\ue6a3"
+  },
+  {
+    "font_class": "forward",
+    "unicode": "\ue6ba"
+  },
+  {
+    "font_class": "gear",
+    "unicode": "\ue664"
+  },
+  {
+    "font_class": "gear-filled",
+    "unicode": "\ue661"
+  },
+  {
+    "font_class": "gift",
+    "unicode": "\ue6a4"
+  },
+  {
+    "font_class": "gift-filled",
+    "unicode": "\ue6c4"
+  },
+  {
+    "font_class": "hand-down",
+    "unicode": "\ue63d"
+  },
+  {
+    "font_class": "hand-down-filled",
+    "unicode": "\ue63c"
+  },
+  {
+    "font_class": "hand-up",
+    "unicode": "\ue63f"
+  },
+  {
+    "font_class": "hand-up-filled",
+    "unicode": "\ue63e"
+  },
+  {
+    "font_class": "headphones",
+    "unicode": "\ue630"
+  },
+  {
+    "font_class": "heart",
+    "unicode": "\ue639"
+  },
+  {
+    "font_class": "heart-filled",
+    "unicode": "\ue641"
+  },
+  {
+    "font_class": "help",
+    "unicode": "\ue679"
+  },
+  {
+    "font_class": "help-filled",
+    "unicode": "\ue674"
+  },
+  {
+    "font_class": "home",
+    "unicode": "\ue662"
+  },
+  {
+    "font_class": "home-filled",
+    "unicode": "\ue663"
+  },
+  {
+    "font_class": "image",
+    "unicode": "\ue670"
+  },
+  {
+    "font_class": "image-filled",
+    "unicode": "\ue678"
+  },
+  {
+    "font_class": "images",
+    "unicode": "\ue650"
+  },
+  {
+    "font_class": "images-filled",
+    "unicode": "\ue64b"
+  },
+  {
+    "font_class": "info",
+    "unicode": "\ue669"
+  },
+  {
+    "font_class": "info-filled",
+    "unicode": "\ue649"
+  },
+  {
+    "font_class": "left",
+    "unicode": "\ue6b7"
+  },
+  {
+    "font_class": "link",
+    "unicode": "\ue6a5"
+  },
+  {
+    "font_class": "list",
+    "unicode": "\ue644"
+  },
+  {
+    "font_class": "location",
+    "unicode": "\ue6ae"
+  },
+  {
+    "font_class": "location-filled",
+    "unicode": "\ue6af"
+  },
+  {
+    "font_class": "locked",
+    "unicode": "\ue66b"
+  },
+  {
+    "font_class": "locked-filled",
+    "unicode": "\ue668"
+  },
+  {
+    "font_class": "loop",
+    "unicode": "\ue633"
+  },
+  {
+    "font_class": "mail-open",
+    "unicode": "\ue643"
+  },
+  {
+    "font_class": "mail-open-filled",
+    "unicode": "\ue63a"
+  },
+  {
+    "font_class": "map",
+    "unicode": "\ue667"
+  },
+  {
+    "font_class": "map-filled",
+    "unicode": "\ue666"
+  },
+  {
+    "font_class": "map-pin",
+    "unicode": "\ue6ad"
+  },
+  {
+    "font_class": "map-pin-ellipse",
+    "unicode": "\ue6ac"
+  },
+  {
+    "font_class": "medal",
+    "unicode": "\ue6a2"
+  },
+  {
+    "font_class": "medal-filled",
+    "unicode": "\ue6c3"
+  },
+  {
+    "font_class": "mic",
+    "unicode": "\ue671"
+  },
+  {
+    "font_class": "mic-filled",
+    "unicode": "\ue677"
+  },
+  {
+    "font_class": "micoff",
+    "unicode": "\ue67e"
+  },
+  {
+    "font_class": "micoff-filled",
+    "unicode": "\ue6b0"
+  },
+  {
+    "font_class": "minus",
+    "unicode": "\ue66f"
+  },
+  {
+    "font_class": "minus-filled",
+    "unicode": "\ue67d"
+  },
+  {
+    "font_class": "more",
+    "unicode": "\ue64d"
+  },
+  {
+    "font_class": "more-filled",
+    "unicode": "\ue64e"
+  },
+  {
+    "font_class": "navigate",
+    "unicode": "\ue66e"
+  },
+  {
+    "font_class": "navigate-filled",
+    "unicode": "\ue67a"
+  },
+  {
+    "font_class": "notification",
+    "unicode": "\ue6a6"
+  },
+  {
+    "font_class": "notification-filled",
+    "unicode": "\ue6c1"
+  },
+  {
+    "font_class": "paperclip",
+    "unicode": "\ue652"
+  },
+  {
+    "font_class": "paperplane",
+    "unicode": "\ue672"
+  },
+  {
+    "font_class": "paperplane-filled",
+    "unicode": "\ue675"
+  },
+  {
+    "font_class": "person",
+    "unicode": "\ue699"
+  },
+  {
+    "font_class": "person-filled",
+    "unicode": "\ue69d"
+  },
+  {
+    "font_class": "personadd",
+    "unicode": "\ue69f"
+  },
+  {
+    "font_class": "personadd-filled",
+    "unicode": "\ue698"
+  },
+  {
+    "font_class": "personadd-filled-copy",
+    "unicode": "\ue6d1"
+  },
+  {
+    "font_class": "phone",
+    "unicode": "\ue69c"
+  },
+  {
+    "font_class": "phone-filled",
+    "unicode": "\ue69b"
+  },
+  {
+    "font_class": "plus",
+    "unicode": "\ue676"
+  },
+  {
+    "font_class": "plus-filled",
+    "unicode": "\ue6c7"
+  },
+  {
+    "font_class": "plusempty",
+    "unicode": "\ue67b"
+  },
+  {
+    "font_class": "pulldown",
+    "unicode": "\ue632"
+  },
+  {
+    "font_class": "pyq",
+    "unicode": "\ue682"
+  },
+  {
+    "font_class": "qq",
+    "unicode": "\ue680"
+  },
+  {
+    "font_class": "redo",
+    "unicode": "\ue64a"
+  },
+  {
+    "font_class": "redo-filled",
+    "unicode": "\ue655"
+  },
+  {
+    "font_class": "refresh",
+    "unicode": "\ue657"
+  },
+  {
+    "font_class": "refresh-filled",
+    "unicode": "\ue656"
+  },
+  {
+    "font_class": "refreshempty",
+    "unicode": "\ue6bf"
+  },
+  {
+    "font_class": "reload",
+    "unicode": "\ue6b2"
+  },
+  {
+    "font_class": "right",
+    "unicode": "\ue6b5"
+  },
+  {
+    "font_class": "scan",
+    "unicode": "\ue62a"
+  },
+  {
+    "font_class": "search",
+    "unicode": "\ue654"
+  },
+  {
+    "font_class": "settings",
+    "unicode": "\ue653"
+  },
+  {
+    "font_class": "settings-filled",
+    "unicode": "\ue6ce"
+  },
+  {
+    "font_class": "shop",
+    "unicode": "\ue62f"
+  },
+  {
+    "font_class": "shop-filled",
+    "unicode": "\ue6cd"
+  },
+  {
+    "font_class": "smallcircle",
+    "unicode": "\ue67c"
+  },
+  {
+    "font_class": "smallcircle-filled",
+    "unicode": "\ue665"
+  },
+  {
+    "font_class": "sound",
+    "unicode": "\ue684"
+  },
+  {
+    "font_class": "sound-filled",
+    "unicode": "\ue686"
+  },
+  {
+    "font_class": "spinner-cycle",
+    "unicode": "\ue68a"
+  },
+  {
+    "font_class": "staff",
+    "unicode": "\ue6a7"
+  },
+  {
+    "font_class": "staff-filled",
+    "unicode": "\ue6cb"
+  },
+  {
+    "font_class": "star",
+    "unicode": "\ue688"
+  },
+  {
+    "font_class": "star-filled",
+    "unicode": "\ue68f"
+  },
+  {
+    "font_class": "starhalf",
+    "unicode": "\ue683"
+  },
+  {
+    "font_class": "trash",
+    "unicode": "\ue687"
+  },
+  {
+    "font_class": "trash-filled",
+    "unicode": "\ue685"
+  },
+  {
+    "font_class": "tune",
+    "unicode": "\ue6aa"
+  },
+  {
+    "font_class": "tune-filled",
+    "unicode": "\ue6ca"
+  },
+  {
+    "font_class": "undo",
+    "unicode": "\ue64f"
+  },
+  {
+    "font_class": "undo-filled",
+    "unicode": "\ue64c"
+  },
+  {
+    "font_class": "up",
+    "unicode": "\ue6b6"
+  },
+	{
+	  "font_class": "top",
+	  "unicode": "\ue6b6"
+	},
+  {
+    "font_class": "upload",
+    "unicode": "\ue690"
+  },
+  {
+    "font_class": "upload-filled",
+    "unicode": "\ue68e"
+  },
+  {
+    "font_class": "videocam",
+    "unicode": "\ue68c"
+  },
+  {
+    "font_class": "videocam-filled",
+    "unicode": "\ue689"
+  },
+  {
+    "font_class": "vip",
+    "unicode": "\ue6a8"
+  },
+  {
+    "font_class": "vip-filled",
+    "unicode": "\ue6c6"
+  },
+  {
+    "font_class": "wallet",
+    "unicode": "\ue6b1"
+  },
+  {
+    "font_class": "wallet-filled",
+    "unicode": "\ue6c2"
+  },
+  {
+    "font_class": "weibo",
+    "unicode": "\ue68b"
+  },
+  {
+    "font_class": "weixin",
+    "unicode": "\ue691"
+  }
+] as IconsDataItem[]
+
+// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)
diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js b/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js
new file mode 100644
index 0000000..49e42cd
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js
@@ -0,0 +1,649 @@
+
+export const fontData = [
+  {
+    "font_class": "arrow-down",
+    "unicode": "\ue6be"
+  },
+  {
+    "font_class": "arrow-left",
+    "unicode": "\ue6bc"
+  },
+  {
+    "font_class": "arrow-right",
+    "unicode": "\ue6bb"
+  },
+  {
+    "font_class": "arrow-up",
+    "unicode": "\ue6bd"
+  },
+  {
+    "font_class": "auth",
+    "unicode": "\ue6ab"
+  },
+  {
+    "font_class": "auth-filled",
+    "unicode": "\ue6cc"
+  },
+  {
+    "font_class": "back",
+    "unicode": "\ue6b9"
+  },
+  {
+    "font_class": "bars",
+    "unicode": "\ue627"
+  },
+  {
+    "font_class": "calendar",
+    "unicode": "\ue6a0"
+  },
+  {
+    "font_class": "calendar-filled",
+    "unicode": "\ue6c0"
+  },
+  {
+    "font_class": "camera",
+    "unicode": "\ue65a"
+  },
+  {
+    "font_class": "camera-filled",
+    "unicode": "\ue658"
+  },
+  {
+    "font_class": "cart",
+    "unicode": "\ue631"
+  },
+  {
+    "font_class": "cart-filled",
+    "unicode": "\ue6d0"
+  },
+  {
+    "font_class": "chat",
+    "unicode": "\ue65d"
+  },
+  {
+    "font_class": "chat-filled",
+    "unicode": "\ue659"
+  },
+  {
+    "font_class": "chatboxes",
+    "unicode": "\ue696"
+  },
+  {
+    "font_class": "chatboxes-filled",
+    "unicode": "\ue692"
+  },
+  {
+    "font_class": "chatbubble",
+    "unicode": "\ue697"
+  },
+  {
+    "font_class": "chatbubble-filled",
+    "unicode": "\ue694"
+  },
+  {
+    "font_class": "checkbox",
+    "unicode": "\ue62b"
+  },
+  {
+    "font_class": "checkbox-filled",
+    "unicode": "\ue62c"
+  },
+  {
+    "font_class": "checkmarkempty",
+    "unicode": "\ue65c"
+  },
+  {
+    "font_class": "circle",
+    "unicode": "\ue65b"
+  },
+  {
+    "font_class": "circle-filled",
+    "unicode": "\ue65e"
+  },
+  {
+    "font_class": "clear",
+    "unicode": "\ue66d"
+  },
+  {
+    "font_class": "close",
+    "unicode": "\ue673"
+  },
+  {
+    "font_class": "closeempty",
+    "unicode": "\ue66c"
+  },
+  {
+    "font_class": "cloud-download",
+    "unicode": "\ue647"
+  },
+  {
+    "font_class": "cloud-download-filled",
+    "unicode": "\ue646"
+  },
+  {
+    "font_class": "cloud-upload",
+    "unicode": "\ue645"
+  },
+  {
+    "font_class": "cloud-upload-filled",
+    "unicode": "\ue648"
+  },
+  {
+    "font_class": "color",
+    "unicode": "\ue6cf"
+  },
+  {
+    "font_class": "color-filled",
+    "unicode": "\ue6c9"
+  },
+  {
+    "font_class": "compose",
+    "unicode": "\ue67f"
+  },
+  {
+    "font_class": "contact",
+    "unicode": "\ue693"
+  },
+  {
+    "font_class": "contact-filled",
+    "unicode": "\ue695"
+  },
+  {
+    "font_class": "down",
+    "unicode": "\ue6b8"
+  },
+	{
+	  "font_class": "bottom",
+	  "unicode": "\ue6b8"
+	},
+  {
+    "font_class": "download",
+    "unicode": "\ue68d"
+  },
+  {
+    "font_class": "download-filled",
+    "unicode": "\ue681"
+  },
+  {
+    "font_class": "email",
+    "unicode": "\ue69e"
+  },
+  {
+    "font_class": "email-filled",
+    "unicode": "\ue69a"
+  },
+  {
+    "font_class": "eye",
+    "unicode": "\ue651"
+  },
+  {
+    "font_class": "eye-filled",
+    "unicode": "\ue66a"
+  },
+  {
+    "font_class": "eye-slash",
+    "unicode": "\ue6b3"
+  },
+  {
+    "font_class": "eye-slash-filled",
+    "unicode": "\ue6b4"
+  },
+  {
+    "font_class": "fire",
+    "unicode": "\ue6a1"
+  },
+  {
+    "font_class": "fire-filled",
+    "unicode": "\ue6c5"
+  },
+  {
+    "font_class": "flag",
+    "unicode": "\ue65f"
+  },
+  {
+    "font_class": "flag-filled",
+    "unicode": "\ue660"
+  },
+  {
+    "font_class": "folder-add",
+    "unicode": "\ue6a9"
+  },
+  {
+    "font_class": "folder-add-filled",
+    "unicode": "\ue6c8"
+  },
+  {
+    "font_class": "font",
+    "unicode": "\ue6a3"
+  },
+  {
+    "font_class": "forward",
+    "unicode": "\ue6ba"
+  },
+  {
+    "font_class": "gear",
+    "unicode": "\ue664"
+  },
+  {
+    "font_class": "gear-filled",
+    "unicode": "\ue661"
+  },
+  {
+    "font_class": "gift",
+    "unicode": "\ue6a4"
+  },
+  {
+    "font_class": "gift-filled",
+    "unicode": "\ue6c4"
+  },
+  {
+    "font_class": "hand-down",
+    "unicode": "\ue63d"
+  },
+  {
+    "font_class": "hand-down-filled",
+    "unicode": "\ue63c"
+  },
+  {
+    "font_class": "hand-up",
+    "unicode": "\ue63f"
+  },
+  {
+    "font_class": "hand-up-filled",
+    "unicode": "\ue63e"
+  },
+  {
+    "font_class": "headphones",
+    "unicode": "\ue630"
+  },
+  {
+    "font_class": "heart",
+    "unicode": "\ue639"
+  },
+  {
+    "font_class": "heart-filled",
+    "unicode": "\ue641"
+  },
+  {
+    "font_class": "help",
+    "unicode": "\ue679"
+  },
+  {
+    "font_class": "help-filled",
+    "unicode": "\ue674"
+  },
+  {
+    "font_class": "home",
+    "unicode": "\ue662"
+  },
+  {
+    "font_class": "home-filled",
+    "unicode": "\ue663"
+  },
+  {
+    "font_class": "image",
+    "unicode": "\ue670"
+  },
+  {
+    "font_class": "image-filled",
+    "unicode": "\ue678"
+  },
+  {
+    "font_class": "images",
+    "unicode": "\ue650"
+  },
+  {
+    "font_class": "images-filled",
+    "unicode": "\ue64b"
+  },
+  {
+    "font_class": "info",
+    "unicode": "\ue669"
+  },
+  {
+    "font_class": "info-filled",
+    "unicode": "\ue649"
+  },
+  {
+    "font_class": "left",
+    "unicode": "\ue6b7"
+  },
+  {
+    "font_class": "link",
+    "unicode": "\ue6a5"
+  },
+  {
+    "font_class": "list",
+    "unicode": "\ue644"
+  },
+  {
+    "font_class": "location",
+    "unicode": "\ue6ae"
+  },
+  {
+    "font_class": "location-filled",
+    "unicode": "\ue6af"
+  },
+  {
+    "font_class": "locked",
+    "unicode": "\ue66b"
+  },
+  {
+    "font_class": "locked-filled",
+    "unicode": "\ue668"
+  },
+  {
+    "font_class": "loop",
+    "unicode": "\ue633"
+  },
+  {
+    "font_class": "mail-open",
+    "unicode": "\ue643"
+  },
+  {
+    "font_class": "mail-open-filled",
+    "unicode": "\ue63a"
+  },
+  {
+    "font_class": "map",
+    "unicode": "\ue667"
+  },
+  {
+    "font_class": "map-filled",
+    "unicode": "\ue666"
+  },
+  {
+    "font_class": "map-pin",
+    "unicode": "\ue6ad"
+  },
+  {
+    "font_class": "map-pin-ellipse",
+    "unicode": "\ue6ac"
+  },
+  {
+    "font_class": "medal",
+    "unicode": "\ue6a2"
+  },
+  {
+    "font_class": "medal-filled",
+    "unicode": "\ue6c3"
+  },
+  {
+    "font_class": "mic",
+    "unicode": "\ue671"
+  },
+  {
+    "font_class": "mic-filled",
+    "unicode": "\ue677"
+  },
+  {
+    "font_class": "micoff",
+    "unicode": "\ue67e"
+  },
+  {
+    "font_class": "micoff-filled",
+    "unicode": "\ue6b0"
+  },
+  {
+    "font_class": "minus",
+    "unicode": "\ue66f"
+  },
+  {
+    "font_class": "minus-filled",
+    "unicode": "\ue67d"
+  },
+  {
+    "font_class": "more",
+    "unicode": "\ue64d"
+  },
+  {
+    "font_class": "more-filled",
+    "unicode": "\ue64e"
+  },
+  {
+    "font_class": "navigate",
+    "unicode": "\ue66e"
+  },
+  {
+    "font_class": "navigate-filled",
+    "unicode": "\ue67a"
+  },
+  {
+    "font_class": "notification",
+    "unicode": "\ue6a6"
+  },
+  {
+    "font_class": "notification-filled",
+    "unicode": "\ue6c1"
+  },
+  {
+    "font_class": "paperclip",
+    "unicode": "\ue652"
+  },
+  {
+    "font_class": "paperplane",
+    "unicode": "\ue672"
+  },
+  {
+    "font_class": "paperplane-filled",
+    "unicode": "\ue675"
+  },
+  {
+    "font_class": "person",
+    "unicode": "\ue699"
+  },
+  {
+    "font_class": "person-filled",
+    "unicode": "\ue69d"
+  },
+  {
+    "font_class": "personadd",
+    "unicode": "\ue69f"
+  },
+  {
+    "font_class": "personadd-filled",
+    "unicode": "\ue698"
+  },
+  {
+    "font_class": "personadd-filled-copy",
+    "unicode": "\ue6d1"
+  },
+  {
+    "font_class": "phone",
+    "unicode": "\ue69c"
+  },
+  {
+    "font_class": "phone-filled",
+    "unicode": "\ue69b"
+  },
+  {
+    "font_class": "plus",
+    "unicode": "\ue676"
+  },
+  {
+    "font_class": "plus-filled",
+    "unicode": "\ue6c7"
+  },
+  {
+    "font_class": "plusempty",
+    "unicode": "\ue67b"
+  },
+  {
+    "font_class": "pulldown",
+    "unicode": "\ue632"
+  },
+  {
+    "font_class": "pyq",
+    "unicode": "\ue682"
+  },
+  {
+    "font_class": "qq",
+    "unicode": "\ue680"
+  },
+  {
+    "font_class": "redo",
+    "unicode": "\ue64a"
+  },
+  {
+    "font_class": "redo-filled",
+    "unicode": "\ue655"
+  },
+  {
+    "font_class": "refresh",
+    "unicode": "\ue657"
+  },
+  {
+    "font_class": "refresh-filled",
+    "unicode": "\ue656"
+  },
+  {
+    "font_class": "refreshempty",
+    "unicode": "\ue6bf"
+  },
+  {
+    "font_class": "reload",
+    "unicode": "\ue6b2"
+  },
+  {
+    "font_class": "right",
+    "unicode": "\ue6b5"
+  },
+  {
+    "font_class": "scan",
+    "unicode": "\ue62a"
+  },
+  {
+    "font_class": "search",
+    "unicode": "\ue654"
+  },
+  {
+    "font_class": "settings",
+    "unicode": "\ue653"
+  },
+  {
+    "font_class": "settings-filled",
+    "unicode": "\ue6ce"
+  },
+  {
+    "font_class": "shop",
+    "unicode": "\ue62f"
+  },
+  {
+    "font_class": "shop-filled",
+    "unicode": "\ue6cd"
+  },
+  {
+    "font_class": "smallcircle",
+    "unicode": "\ue67c"
+  },
+  {
+    "font_class": "smallcircle-filled",
+    "unicode": "\ue665"
+  },
+  {
+    "font_class": "sound",
+    "unicode": "\ue684"
+  },
+  {
+    "font_class": "sound-filled",
+    "unicode": "\ue686"
+  },
+  {
+    "font_class": "spinner-cycle",
+    "unicode": "\ue68a"
+  },
+  {
+    "font_class": "staff",
+    "unicode": "\ue6a7"
+  },
+  {
+    "font_class": "staff-filled",
+    "unicode": "\ue6cb"
+  },
+  {
+    "font_class": "star",
+    "unicode": "\ue688"
+  },
+  {
+    "font_class": "star-filled",
+    "unicode": "\ue68f"
+  },
+  {
+    "font_class": "starhalf",
+    "unicode": "\ue683"
+  },
+  {
+    "font_class": "trash",
+    "unicode": "\ue687"
+  },
+  {
+    "font_class": "trash-filled",
+    "unicode": "\ue685"
+  },
+  {
+    "font_class": "tune",
+    "unicode": "\ue6aa"
+  },
+  {
+    "font_class": "tune-filled",
+    "unicode": "\ue6ca"
+  },
+  {
+    "font_class": "undo",
+    "unicode": "\ue64f"
+  },
+  {
+    "font_class": "undo-filled",
+    "unicode": "\ue64c"
+  },
+  {
+    "font_class": "up",
+    "unicode": "\ue6b6"
+  },
+	{
+	  "font_class": "top",
+	  "unicode": "\ue6b6"
+	},
+  {
+    "font_class": "upload",
+    "unicode": "\ue690"
+  },
+  {
+    "font_class": "upload-filled",
+    "unicode": "\ue68e"
+  },
+  {
+    "font_class": "videocam",
+    "unicode": "\ue68c"
+  },
+  {
+    "font_class": "videocam-filled",
+    "unicode": "\ue689"
+  },
+  {
+    "font_class": "vip",
+    "unicode": "\ue6a8"
+  },
+  {
+    "font_class": "vip-filled",
+    "unicode": "\ue6c6"
+  },
+  {
+    "font_class": "wallet",
+    "unicode": "\ue6b1"
+  },
+  {
+    "font_class": "wallet-filled",
+    "unicode": "\ue6c2"
+  },
+  {
+    "font_class": "weibo",
+    "unicode": "\ue68b"
+  },
+  {
+    "font_class": "weixin",
+    "unicode": "\ue691"
+  }
+]
+
+// export const fontData = JSON.parse<IconsDataItem>(fontDataJson)
diff --git a/uni_modules/uni-icons/package.json b/uni_modules/uni-icons/package.json
index d1c4e77..397be83 100644
--- a/uni_modules/uni-icons/package.json
+++ b/uni_modules/uni-icons/package.json
@@ -1,7 +1,7 @@
 {
   "id": "uni-icons",
   "displayName": "uni-icons 鍥炬爣",
-  "version": "1.3.5",
+  "version": "2.0.9",
   "description": "鍥炬爣缁勪欢锛岀敤浜庡睍绀虹Щ鍔ㄧ甯歌鐨勫浘鏍囷紝鍙嚜瀹氫箟棰滆壊銆佸ぇ灏忋��",
   "keywords": [
     "uni-ui",
@@ -16,11 +16,7 @@
   "directories": {
     "example": "../../temps/example_temps"
   },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
+"dcloudext": {
     "sale": {
       "regular": {
         "price": "0.00"
@@ -37,7 +33,8 @@
       "data": "鏃�",
       "permissions": "鏃�"
     },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
+    "type": "component-vue"
   },
   "uni_modules": {
     "dependencies": ["uni-scss"],
@@ -50,7 +47,8 @@
       "client": {
         "App": {
           "app-vue": "y",
-          "app-nvue": "y"
+          "app-nvue": "y",
+          "app-uvue": "y"
         },
         "H5-mobile": {
           "Safari": "y",
@@ -70,11 +68,15 @@
           "闃块噷": "y",
           "鐧惧害": "y",
           "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
+          "QQ": "y",
+					"閽夐拤": "y",
+					"蹇墜": "y",
+					"椋炰功": "y",
+					"浜笢": "y"
         },
         "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
+          "鍗庝负": "y",
+          "鑱旂洘": "y"
         },
         "Vue": {
             "vue2": "y",
@@ -83,4 +85,4 @@
       }
     }
   }
-}
\ No newline at end of file
+}

--
Gitblit v1.9.1