| | |
| | | "public" : "0.0.0.0", |
| | | "proxy" : { |
| | | //é
置代çæå¡å¨æ¥è§£å³è·¨åé®é¢ï¼uniappä¸éç¨CORSæ¹æ¡å设置JSONPæ¹æ¡ |
| | | "/openwize/" : { |
| | | //æ å°åå |
| | | "target" : "http://vx8.cc", //æµè¯ç¯å¢ |
| | | "changeOrigin" : true, //æ¯å¦è·¨å |
| | | "secure" : true // æ¯å¦æ¯æ https åè®®ç代ç |
| | | }, |
| | | "/api/" : { |
| | | //æ å°åå |
| | | "target" : "http://dfg.shop.com", //æµè¯ç¯å¢ |
| | |
| | | "navigationStyle":"custom",//䏿¾ç¤ºå¤´é¨ |
| | | "navigationBarTitleText": "微信客æ" |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/backmanage/shortlink", |
| | | "style": { |
| | | "navigationStyle":"custom",//䏿¾ç¤ºå¤´é¨ |
| | | "navigationBarTitleText": "çé¾ç»è®¡" |
| | | } |
| | | } |
| | | ], |
| | | "globalStyle": { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- æ¬ç¤ºä¾æªå
å«å®æ´cssï¼è·åå¤é¾css请åè䏿ï¼å¨hello uni-app项ç®ä¸æ¥ç --> |
| | | <template> |
| | | <view> |
| | | <view> |
| | | <view class="uni-form-item"> |
| | | <view class="title">龿¥key:</view> |
| | | <view> |
| | | <input v-model="keyname" style="height: 2.4rem; border: 1px solid;" placeholder="è¾å
¥çé¾key" /> |
| | | </view> |
| | | </view> |
| | | <view class="uni-form-item"> |
| | | <view class="title">æ¶é´:</view> |
| | | <view> |
| | | <view style="line-height: 2.3rem;" @click="datetimeshow()">{{showtime}}</view> |
| | | <h-datetime-picker :startTime="startTime" :endTime="endTime" mode="multiple" ref="pickerDate" |
| | | @reset="reset" @confirm="confirm"></h-datetime-picker> |
| | | </view> |
| | | </view> |
| | | <view class="uni-form-item"> |
| | | <view class="title">åéæ°é:</view> |
| | | <view> |
| | | <input v-model="sendcount" style="height: 2.4rem; border: 1px solid;" placeholder="请è¾å
¥åéæ°é" /> |
| | | </view> |
| | | </view> |
| | | <view class="uni-btn-v"> |
| | | <button @click="formSubmit()">æ¥è¯¢</button> |
| | | </view> |
| | | <view class="resshowtxt" v-if="res_key"> |
| | | <view> |
| | | 龿¥keyï¼{{res_key}} |
| | | </view> |
| | | <view> |
| | | Pvï¼{{res_pv}}------{{pvrate}} |
| | | </view> |
| | | <view> |
| | | Uvï¼{{res_uv}}-------{{uvrate}} |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import timeFormat from "@/uni_modules/h-datetime-picker/js/timeFormat.js" |
| | | export default { |
| | | data() { |
| | | return { |
| | | timeFormat, |
| | | sendcount:10000, |
| | | keyname: '', |
| | | startTime: '', |
| | | endTime: '', |
| | | showtime: 'ç¹å»éæ©æ¶é´', |
| | | res_key: '', |
| | | res_pv: '', |
| | | res_uv: '', |
| | | pvrate:0, |
| | | uvrate:0 |
| | | } |
| | | }, |
| | | onLoad() { |
| | | let end_time = new Date(); |
| | | let startdate = end_time.setDate(new Date(end_time).getDate() - 3); |
| | | this.startTime = this.timeFormat(startdate, 'yyyy-mm-dd'); |
| | | this.endTime = this.timeFormat(new Date(), 'yyyy-mm-dd'); |
| | | }, |
| | | methods: { |
| | | datetimeshow() { |
| | | this.$refs.pickerDate.open() |
| | | }, |
| | | reset() { |
| | | this.showtime = ''; |
| | | this.startTime = ''; |
| | | this.endTime = ''; |
| | | }, |
| | | confirm(e) { |
| | | this.showtime = e.start_time.time + "è³" + e.end_time.time; |
| | | this.startTime = e.start_time.time; |
| | | this.endTime = e.end_time.time; |
| | | }, |
| | | formSubmit() { |
| | | let data = { |
| | | key: this.keyname, |
| | | MinCreateTime: this.startTime, |
| | | MaxCreateTime: this.endTime |
| | | } |
| | | console.log(data); |
| | | uni.showLoading({ |
| | | title: 'æ¥è¯¢ä¸', |
| | | mask: true |
| | | }); |
| | | var that = this; |
| | | this.$http.post('/openwize/Top/GePvUvByKey', data).then(e => { |
| | | uni.hideLoading(); |
| | | this.res_key = e.result.key; |
| | | this.res_pv = e.result.pv; |
| | | this.res_uv = e.result.uv; |
| | | if(this.sendcount>0) |
| | | {//计ç®ç¹å»ç |
| | | this.pvrate=((e.result.pv/this.sendcount).toFixed(2))*100+"%"; |
| | | this.uvrate=((e.result.uv/this.sendcount).toFixed(2))*100+"%"; |
| | | } |
| | | }).catch(function(err) { |
| | | console.log(err); |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | |
| | | <style> |
| | | .resshowtxt { |
| | | margin-top: 1rem; |
| | | font-size: 1.5rem; |
| | | } |
| | | |
| | | .uni-form-item { |
| | | display: flex; |
| | | margin: 0.4rem; |
| | | } |
| | | |
| | | .uni-form-item .title { |
| | | padding: 20rpx 0; |
| | | margin-right: 1.6rem; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## 1.1.3ï¼2023-07-11ï¼ |
| | | bugä¿®å¤ |
| | | ## 1.1.2ï¼2023-07-11ï¼ |
| | | bugä¿®å¤ |
| | | ## 1.1.1ï¼2023-07-05ï¼ |
| | | ä¿®å¤å¹´æåæ¢åæ¥ä¸æ´æ°bug |
| | | ## 1.1.0ï¼2023-06-20ï¼ |
| | | ä¿®å¤modeåå§åé®é¢ |
| | | ## 1.0.10ï¼2023-05-18ï¼ |
| | | æ ·å¼ä¼å |
| | | ## 1.0.9ï¼2023-05-18ï¼ |
| | | è¡¥å
ææå¾ |
| | | ## 1.0.8ï¼2023-05-18ï¼ |
| | | ææ¡£è¯´æè°æ´ |
| | | ## 1.0.7ï¼2023-05-18ï¼ |
| | | æ°å¢éæ©å¨æ¾ç¤ºæ¨¡å¼ |
| | | ## 1.0.6ï¼2023-05-18ï¼ |
| | | h5ç«¯æ ·å¼é®é¢ä¿®å¤ |
| | | ## 1.0.5ï¼2023-05-16ï¼ |
| | | ç»èä¼å |
| | | ## 1.0.3ï¼2023-05-16ï¼ |
| | | ç»èä¼å |
| | | ## 1.0.2ï¼2023-05-12ï¼ |
| | | bugä¿®å¤ |
| | | ## 1.0.1ï¼2023-05-12ï¼ |
| | | ä¿®å¤å·²ç¥é®é¢ |
| | | ## 1.0.0ï¼2023-05-12ï¼ |
| | | 1.0.0 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <uni-popup ref="popup"> |
| | | <view class="popup-box"> |
| | | <view class="title"> |
| | | <view class="tabs-box" v-if="mode=='all'"> |
| | | <view v-for="(item,index) in tabs" :key="index" class="tabs-item" @click="tabChange(index)" |
| | | :class="{'tabs-check':index==tabIndex}"> |
| | | <text class="item-text">{{item}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="title-text" v-else> |
| | | {{mode=='multiple'?'æ¥æçé':'æä»½éæ©'}} |
| | | </view> |
| | | <uni-icons type="closeempty" class="close" size="16" @click="close"></uni-icons> |
| | | </view> |
| | | |
| | | |
| | | <view class="options-box" v-if="tabIndex"> |
| | | <view class="flex row-between"> |
| | | <view v-for="(item,index) in options" :key="index" class="option" @click="optionSelect(index)" |
| | | :class="{'option-check':opIndex==index}"> |
| | | <text class="option-text">{{item}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="flex row-between" style="margin-top: 40rpx;"> |
| | | <view class="option" :class="{'option-check':op1Index==0}" |
| | | style="width: 320rpx;padding-left: 0;padding-right: 0;" @click="optionChange(0)"> |
| | | <text class="option-text">{{timeFormat(getTimestamp(start_time),fmt)}}</text> |
| | | </view> |
| | | <view style="width: 18rpx;height: 2rpx;background: #7B8686;"></view> |
| | | <view class="option" :class="{'option-check':op1Index==1}" |
| | | style="width: 320rpx;padding-left: 0;padding-right: 0;" @click="optionChange(1)"> |
| | | <text class="option-text">{{timeFormat(getTimestamp(end_time),fmt)}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="picker-body"> |
| | | <picker-view class="picker-view" |
| | | indicator-style="height: 76rpx;background: rgba(0,0,0,.03);border:none;" :value="valueArr" |
| | | @change="change" @touchend="touchend"> |
| | | <picker-view-column v-if="params.year"> |
| | | <view class="column-item" v-for="(item,index) in years" :key="index"> |
| | | <text class="column-item-text">{{item}}å¹´</text> |
| | | </view> |
| | | </picker-view-column> |
| | | <picker-view-column v-if="params.month"> |
| | | <view class="column-item" v-for="(item,index) in months" :key="index"> |
| | | <text class="column-item-text">{{formatNumber(item)}}æ</text> |
| | | </view> |
| | | </picker-view-column> |
| | | <picker-view-column v-if="params.day"> |
| | | <view class="column-item" v-for="(item,index) in days" :key="index"> |
| | | <text class="column-item-text">{{formatNumber(item)}}æ¥</text> |
| | | </view> |
| | | </picker-view-column> |
| | | <picker-view-column v-if="params.hour"> |
| | | <view class="column-item" v-for="(item,index) in hours" :key="index"> |
| | | <text class="column-item-text">{{formatNumber(item)}}æ¶</text> |
| | | </view> |
| | | </picker-view-column> |
| | | <picker-view-column v-if="params.minute"> |
| | | <view class="column-item" v-for="(item,index) in minutes" :key="index"> |
| | | <text class="column-item-text">{{formatNumber(item)}}å</text> |
| | | </view> |
| | | </picker-view-column> |
| | | <picker-view-column v-if="params.second"> |
| | | <view class="column-item" v-for="(item,index) in seconds" :key="index"> |
| | | <text class="column-item-text">{{formatNumber(item)}}ç§</text> |
| | | </view> |
| | | </picker-view-column> |
| | | </picker-view> |
| | | </view> |
| | | <view class="bottom"> |
| | | <view class="h-btn h-btn-line" @click="reset"> |
| | | <text style="color: #333;">éç½®</text> |
| | | </view> |
| | | <view class="h-btn" @click="getResult"> |
| | | <text style="color: #fff;">ç¡®å®</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </uni-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import timeFormat from "../../js/timeFormat.js" |
| | | export default { |
| | | props: { |
| | | // pickerä¸éè¦æ¾ç¤ºçåæ° |
| | | params: { |
| | | type: Object, |
| | | default () { |
| | | return { |
| | | year: true, |
| | | month: true, |
| | | day: true, |
| | | hour: true, |
| | | minute: true, |
| | | second: false, |
| | | timestamp: true, |
| | | }; |
| | | } |
| | | }, |
| | | // é»è®¤æ¾ç¤ºçæ¶é´ï¼2025-07-02 || 2025-07-02 13:01:00 || 2025/07/02 |
| | | defaultTime: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | // 年份å¼å§æ¶é´ |
| | | startYear: { |
| | | type: [String, Number], |
| | | default: 1950 |
| | | }, |
| | | // å¹´ä»½ç»ææ¶é´ |
| | | endYear: { |
| | | type: [String, Number], |
| | | default: 2050 |
| | | }, |
| | | // æä»½ç»ææ¶é´ |
| | | endMonth: { |
| | | type: [String, Number], |
| | | default: 12 |
| | | }, |
| | | // èªå®ä¹æ¶é´é项模å¼month:æ day:天 |
| | | optionMode: { |
| | | type: String, |
| | | default: 'month' |
| | | }, |
| | | //鿩卿¨¡å¼ single:åæ multiple:夿 all:é½å
æ¬ |
| | | mode: { |
| | | type: String, |
| | | default: 'all' |
| | | }, |
| | | startTime: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | endTime: { |
| | | type: String, |
| | | default: '' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | timeFormat, |
| | | years: [], |
| | | months: [], |
| | | days: [], |
| | | hours: [], |
| | | minutes: [], |
| | | seconds: [], |
| | | valueArr: [], |
| | | yearKey: 0, |
| | | monthKey: 0, |
| | | dayKey: 0, |
| | | hourKey: 0, |
| | | minuteKey: 0, |
| | | secondy: 0, |
| | | time: {}, |
| | | start_time: {}, |
| | | end_time: {}, |
| | | tabs: ['æä»½éæ©', 'èªå®ä¹æ¶é´'], |
| | | tabIndex: 0, |
| | | opIndex: -1, |
| | | op1Index: 0, |
| | | options: ['è¿ä¸æ', 'è¿åå¹´', 'è¿ä¸å¹´'], |
| | | itemIndex: 0, |
| | | fmt: 'yyyy-mm-dd', |
| | | isClick: false |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.init(); |
| | | }, |
| | | watch: { |
| | | 'time.year'(val) { |
| | | if(this.params.day){ |
| | | this.setDays(this.time) |
| | | } |
| | | }, |
| | | 'time.month'(val) { |
| | | if(this.params.day){ |
| | | this.setDays(this.time) |
| | | } |
| | | }, |
| | | 'start_time.year'(val) { |
| | | this.setDays(this.start_time) |
| | | }, |
| | | 'start_time.month'(val) { |
| | | this.setDays(this.start_time) |
| | | }, |
| | | 'end_time.year'(val) { |
| | | this.setDays(this.end_time) |
| | | }, |
| | | 'end_time.month'(val) { |
| | | this.setDays(this.end_time) |
| | | }, |
| | | }, |
| | | methods: { |
| | | open() { |
| | | this.$refs.popup.open('bottom') |
| | | }, |
| | | close() { |
| | | this.$refs.popup.close() |
| | | }, |
| | | //ç¹å»éç½® |
| | | reset() { |
| | | this.close(); |
| | | this.$emit('reset'); |
| | | }, |
| | | // ç¹å»ç¡®å® |
| | | getResult() { |
| | | let result = {}; |
| | | if (this.tabIndex) { |
| | | let start_time = {} |
| | | let end_time = {} |
| | | if (this.params.year) { |
| | | start_time.year = this.formatNumber(this.start_time.year || 0); |
| | | end_time.year = this.formatNumber(this.end_time.year || 0); |
| | | } |
| | | if (this.params.month) { |
| | | start_time.month = this.formatNumber(this.start_time.month || 0); |
| | | end_time.month = this.formatNumber(this.end_time.month || 0); |
| | | } |
| | | if (this.params.day) { |
| | | start_time.day = this.formatNumber(this.start_time.day || 0); |
| | | end_time.day = this.formatNumber(this.end_time.day || 0); |
| | | } |
| | | if (this.params.hour) { |
| | | start_time.hour = this.formatNumber(this.start_time.hour || 0); |
| | | end_time.hour = this.formatNumber(this.end_time.hour || 0); |
| | | } |
| | | if (this.params.minute) { |
| | | start_time.minute = this.formatNumber(this.start_time.minute || 0); |
| | | end_time.minute = this.formatNumber(this.end_time.minute || 0); |
| | | } |
| | | if (this.params.second) { |
| | | start_time.second = this.formatNumber(this.start_time.second || 0); |
| | | end_time.second = this.formatNumber(this.end_time.second || 0); |
| | | } |
| | | if (this.params.timestamp) { |
| | | start_time.timestamp = this.getTimestamp(this.start_time); |
| | | end_time.timestamp = this.getTimestamp(this.end_time); |
| | | } |
| | | start_time.time = this.timeFormat(this.getTimestamp(this.start_time), this.fmt); |
| | | end_time.time = this.timeFormat(this.getTimestamp(this.end_time), this.fmt); |
| | | result = { |
| | | start_time, |
| | | end_time |
| | | } |
| | | } else { |
| | | if (this.params.year) result.year = this.formatNumber(this.time.year || 0); |
| | | if (this.params.month) result.month = this.formatNumber(this.time.month || 0); |
| | | if (this.params.day) result.day = this.formatNumber(this.time.day || 0); |
| | | if (this.params.hour) result.hour = this.formatNumber(this.time.hour || 0); |
| | | if (this.params.minute) result.minute = this.formatNumber(this.time.minute || 0); |
| | | if (this.params.second) result.second = this.formatNumber(this.time.second || 0); |
| | | if (this.params.timestamp) result.timestamp = this.getTimestamp(this.time); |
| | | result.time = this.timeFormat(this.getTimestamp(this.time), this.fmt); |
| | | } |
| | | this.$emit('confirm', result); |
| | | this.close(); |
| | | }, |
| | | init() { |
| | | this.valueArr = []; |
| | | this.tabIndex = this.mode == 'multiple' ? 1 : 0 |
| | | //åå§åæ¶é´ |
| | | if (this.startTime) { |
| | | this.start_time = this.time = this.initTimeValue(this.startTime); |
| | | } else { |
| | | this.start_time = this.time = this.initTimeValue(this.defaultTime); |
| | | } |
| | | if (this.endTime) { |
| | | this.end_time = this.initTimeValue(this.endTime); |
| | | } else { |
| | | this.end_time = this.initTimeValue(this.defaultTime); |
| | | } |
| | | let fmt = '' |
| | | if (this.optionMode == 'day') { |
| | | this.options = ['è¿3天', 'è¿7天', 'è¿15天'] |
| | | } |
| | | if (this.params.year) { |
| | | this.valueArr.push(0); |
| | | this.yearKey = this.valueArr.length - 1 |
| | | this.setYears(this.time); |
| | | fmt = 'yyyy' |
| | | } |
| | | if (this.params.month) { |
| | | this.valueArr.push(0); |
| | | this.monthKey = this.valueArr.length - 1 |
| | | this.setMonths(this.time); |
| | | fmt += '-mm' |
| | | } |
| | | if (this.params.day) { |
| | | this.valueArr.push(0); |
| | | this.dayKey = this.valueArr.length - 1 |
| | | this.setDays(this.time); |
| | | fmt += '-dd' |
| | | } |
| | | if (this.params.hour) { |
| | | this.valueArr.push(0); |
| | | this.hourKey = this.valueArr.length - 1 |
| | | this.setHours(this.time); |
| | | fmt += ' hh' |
| | | } |
| | | if (this.params.minute) { |
| | | this.valueArr.push(0); |
| | | this.minuteKey = this.valueArr.length - 1 |
| | | this.setMinutes(this.time); |
| | | fmt += ':MM' |
| | | } |
| | | if (this.params.second) { |
| | | this.valueArr.push(0); |
| | | this.secondKey = this.valueArr.length - 1 |
| | | this.setSeconds(this.time); |
| | | fmt += ':ss' |
| | | } |
| | | this.fmt = fmt |
| | | this.$forceUpdate(); |
| | | }, |
| | | // 设置pickerçæä¸åå¼ |
| | | setYears(date) { |
| | | // è·å年份éå |
| | | this.years = this.generateArray(this.startYear, this.endYear); |
| | | // 设置this.valueArræä¸é¡¹çå¼ï¼æ¯ä¸ºäºè®©pickeré¢é䏿ä¸ä¸ªå¼ |
| | | this.valueArr.splice(this.yearKey, 1, this.getIndex(this.years, date.year)); |
| | | }, |
| | | setMonths(date) { |
| | | if (this.endYear == this.year) { |
| | | this.months = this.generateArray(1, this.endMonth); |
| | | } else { |
| | | this.months = this.generateArray(1, 12); |
| | | } |
| | | this.valueArr.splice(this.monthKey, 1, this.getIndex(this.months, date.month)); |
| | | }, |
| | | setDays(date) { |
| | | let totalDays = new Date(date.year, date.month, 0).getDate(); |
| | | this.days = this.generateArray(1, totalDays); |
| | | // let index = 0; |
| | | // è¿éä¸è½ä½¿ç¨ç±»ä¼¼setMonths()ä¸çthis.valueArr.splice(this.valueArr.length - 1, xxx)åæ³ |
| | | // å 为this.monthåthis.yearååæ¶ï¼ä¼è§¦åwatchä¸çthis.setDays()ï¼å¯¼è´this.valueArr.lengthè®¡ç®æè¯¯ |
| | | // if (this.params.year && this.params.month) index = 2; |
| | | // else if (this.params.month) index = 1; |
| | | // else if (this.params.year) index = 1; |
| | | // else index = 0; |
| | | // 彿份ååæ¶ï¼ä¼å¯¼è´æ¥æç天æ°ä¹ä¼ååï¼å¦æåæ¥éç天æ°å¤§äºåååç天æ°ï¼åé置为åååçæå¤§å¼ |
| | | // æ¯å¦åæ¥éä¸3æ31æ¥ï¼è°æ´ä¸º2æåï¼æ¥æå为æå¤§29ï¼è¿æ¶å¦ædayå¼ç»§ç»ä¸º31æ¾ç¶ä¸åçï¼äºæ¯å°å
¶ç½®ä¸º29(picker-columnä»1å¼å§) |
| | | if (this.day > this.days.length) this.day = this.days.length; |
| | | this.valueArr.splice(this.dayKey, 1, this.getIndex(this.days, date.day)); |
| | | }, |
| | | setHours() { |
| | | this.hours = this.generateArray(0, 23); |
| | | this.valueArr.splice(this.hourKey, 1, this.getIndex(this.hours, this.time.hour)); |
| | | }, |
| | | setMinutes() { |
| | | this.minutes = this.generateArray(0, 59); |
| | | this.valueArr.splice(this.minuteKey, 1, this.getIndex(this.minutes, this.time.minute)); |
| | | }, |
| | | setSeconds() { |
| | | this.seconds = this.generateArray(0, 59); |
| | | this.valueArr.splice(this.secondKey, 1, this.getIndex(this.seconds, this.time.second)); |
| | | }, |
| | | // çæéè¿çæ°ç» |
| | | generateArray: function(start, end) { |
| | | // 转为æ°å¼æ ¼å¼ï¼å¦åç¨æ·ç»end-yearçä¼ éåç¬¦ä¸²å¼æ¶ï¼ä¸é¢çend+1ä¼å¯¼è´åç¬¦ä¸²æ¼æ¥ï¼è䏿¯ç¸å |
| | | start = Number(start); |
| | | end = Number(end); |
| | | end = end > start ? end : start; |
| | | // çææ°ç»ï¼è·åå
¶ä¸çç´¢å¼ï¼å¹¶åªåºæ¥ |
| | | return [...Array(end + 1).keys()].slice(start); |
| | | }, |
| | | getIndex: function(arr, val) { |
| | | let index = arr.indexOf(val); |
| | | // 妿index为-1(峿¾ä¸å°indexå¼)ï¼~(-1)=-(-1)-1=0ï¼å¯¼è´æ¡ä»¶ä¸æç« |
| | | return ~index ? index : 0; |
| | | }, |
| | | //æ¥ææ¶é´å¤ç |
| | | initTimeValue(defaultTime) { |
| | | // æ ¼å¼åæ¶é´ï¼å¨IEæµè§å¨(uniä¸å卿¤æ
åµ)ï¼æ æ³è¯å«æ¥æé´ç"-"é´éç¬¦å· |
| | | let fdate = defaultTime.replace(/\-/g, '/'); |
| | | fdate = fdate && fdate.indexOf('/') == -1 ? `2020/01/01 ${fdate}` : fdate; |
| | | let time = null; |
| | | if (fdate) time = new Date(fdate); |
| | | else time = new Date(); |
| | | // è·åå¹´æ¥ææ¶åç§ |
| | | return { |
| | | year: time.getFullYear(), |
| | | month: Number(time.getMonth()) + 1, |
| | | day: time.getDate(), |
| | | hour: time.getHours(), |
| | | minute: time.getMinutes(), |
| | | second: time.getSeconds(), |
| | | } |
| | | }, |
| | | // å°äº10åé¢è¡¥0ï¼ç¨äºæä»½ï¼æ¥æï¼æ¶åç§ç |
| | | formatNumber(num) { |
| | | return +num < 10 ? '0' + num : String(num); |
| | | }, |
| | | // è·åæ¶é´æ³ |
| | | getTimestamp(date) { |
| | | // yyyy-mm-dd为å®ååæ³ï¼ä¸æ¯æiOSï¼éè¦ä½¿ç¨"/"åéï¼æè½äºè
å
¼å®¹ |
| | | let time = date.year + '/' + date.month + '/' + date.day + ' ' + date.hour + ':' + date.minute + ':' + date |
| | | .second; |
| | | return new Date(time).getTime(); |
| | | }, |
| | | touchend(e) { |
| | | this.opIndex = -1 |
| | | }, |
| | | // ç¨æ·æ´æ¹pickerçåé项 |
| | | change(e) { |
| | | this.itemIndex = e.detail.value[0] |
| | | this.valueArr = e.detail.value; |
| | | let i = 0; |
| | | let time = { |
| | | year: 0, |
| | | month: 0, |
| | | day: 0, |
| | | hour: 0, |
| | | minute: 0, |
| | | second: 0, |
| | | } |
| | | if (this.params.year) time.year = this.years[this.valueArr[i++]]; |
| | | if (this.params.month) time.month = this.months[this.valueArr[i++]]; |
| | | if (this.params.day) time.day = this.days[this.valueArr[i++]]; |
| | | if (this.params.hour) time.hour = this.hours[this.valueArr[i++]]; |
| | | if (this.params.minute) time.minute = this.minutes[this.valueArr[i++]]; |
| | | if (this.params.second) time.second = this.seconds[this.valueArr[i++]]; |
| | | //èªå®ä¹æ¶é´æ®µ |
| | | if (this.tabIndex) { |
| | | if (this.op1Index) { |
| | | this.end_time = time |
| | | } else { |
| | | this.start_time = time |
| | | } |
| | | } else { //æä»½éæ© |
| | | this.time = time |
| | | } |
| | | }, |
| | | tabChange(i) { |
| | | this.tabIndex = i |
| | | if (!i) { |
| | | this.setYears(this.time) |
| | | this.setMonths(this.time) |
| | | this.setDays(this.time) |
| | | } else { |
| | | this.optionChange(this.op1Index) |
| | | } |
| | | }, |
| | | //éæ©å¿«æ·æ¶é´æ®µ |
| | | optionSelect(i) { |
| | | this.opIndex = i; |
| | | let end_time = new Date() |
| | | let date; |
| | | switch (i) { |
| | | case 0: //è¿ä¸æï¼è¿ä¸å¤© |
| | | if (this.optionMode == 'day') { |
| | | date = end_time.setDate(new Date(end_time).getDate() - 3) |
| | | } else { |
| | | date = end_time.setMonth(new Date(end_time).getMonth() - 3) |
| | | } |
| | | break; |
| | | case 1: //è¿åå¹´ï¼è¿ä¸å¤© |
| | | if (this.optionMode == 'day') { |
| | | date = end_time.setDate(new Date(end_time).getDate() - 7) |
| | | } else { |
| | | date = end_time.setMonth(new Date(end_time).getMonth() - 6) |
| | | } |
| | | break; |
| | | case 2: //è¿ä¸å¹´ï¼è¿åäºå¤© |
| | | if (this.optionMode == 'day') { |
| | | date = end_time.setDate(new Date(end_time).getDate() - 15) |
| | | } else { |
| | | date = end_time.setMonth(new Date(end_time).getMonth() - 12) |
| | | } |
| | | break; |
| | | } |
| | | this.start_time = this.initTimeValue(this.timeFormat(date, this.fmt)) |
| | | this.end_time = this.initTimeValue(this.timeFormat(new Date(), this.fmt)) |
| | | if (this.op1Index) { |
| | | this.setYears(this.end_time) |
| | | this.setMonths(this.end_time) |
| | | this.setDays(this.end_time) |
| | | } else { |
| | | this.setYears(this.start_time) |
| | | this.setMonths(this.start_time) |
| | | this.setDays(this.start_time) |
| | | } |
| | | |
| | | }, |
| | | //èµ·å§æ¶é´ãæªè³æ¶é´åæ¢ |
| | | optionChange(i) { |
| | | this.op1Index = i |
| | | let date = i ? this.end_time : this.start_time |
| | | this.setYears(date) |
| | | this.setMonths(date) |
| | | this.setDays(date) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .flex { |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | } |
| | | |
| | | .row-between { |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .popup-box { |
| | | background-color: #fff; |
| | | border-radius: 24rpx 24rpx 0 0; |
| | | |
| | | } |
| | | |
| | | .picker-body { |
| | | overflow: hidden; |
| | | padding: 32rpx 40rpx; |
| | | } |
| | | |
| | | .picker-view { |
| | | height: 380rpx; |
| | | width: 670rpx; |
| | | } |
| | | |
| | | .column-item { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 32rpx; |
| | | color: #888; |
| | | height: 76rpx; |
| | | |
| | | } |
| | | |
| | | .column-item-text { |
| | | // line-height: 100rpx; |
| | | font-size: 32rpx; |
| | | } |
| | | |
| | | .title { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | flex-direction: row; |
| | | position: relative; |
| | | |
| | | .close { |
| | | position: absolute; |
| | | right: 50rpx; |
| | | } |
| | | |
| | | .title-text { |
| | | width: 100%; |
| | | text-align: center; |
| | | padding: 24rpx 0; |
| | | font-size: 32rpx; |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | |
| | | .tabs-box { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: row; |
| | | padding: 0 50rpx 0 32rpx; |
| | | align-items: center; |
| | | border-bottom: 2rpx solid rgba(225, 225, 225, 0.5); |
| | | |
| | | .tabs-item { |
| | | padding: 24rpx 0 22rpx 0; |
| | | margin-right: 84rpx; |
| | | border-bottom: 4rpx solid #fff; |
| | | } |
| | | } |
| | | |
| | | .tabs-check { |
| | | border-bottom: 4rpx solid #1DAA9F !important; |
| | | |
| | | .item-text { |
| | | color: #1DAA9F; |
| | | } |
| | | } |
| | | |
| | | .bottom { |
| | | padding: 0 32rpx 32rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: row; |
| | | |
| | | .h-btn { |
| | | flex: 1; |
| | | height: 80rpx; |
| | | background: #0BC7B9; |
| | | border-radius: 16rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | border: 2rpx solid #0BC7B9; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .h-btn-line { |
| | | background: #fff; |
| | | border: 2rpx solid #E1E7EC; |
| | | margin-right: 42rpx; |
| | | } |
| | | } |
| | | |
| | | .option { |
| | | padding: 14rpx 58rpx; |
| | | font-size: 28rpx; |
| | | border-radius: 16rpx; |
| | | background: #F4F7F8; |
| | | border: 3rpx solid #F4F7F8; |
| | | display: flex; |
| | | justify-content: center; |
| | | flex-direction: row; |
| | | |
| | | .option-text { |
| | | font-size: 28rpx; |
| | | font-weight: 500; |
| | | color: #333333; |
| | | line-height: 40rpx; |
| | | |
| | | } |
| | | } |
| | | |
| | | .option-check { |
| | | background: #F5FFFF; |
| | | border-radius: 16rpx; |
| | | border: 3rpx solid #1DAA9F; |
| | | |
| | | .option-text { |
| | | color: #1DAA9F; |
| | | } |
| | | } |
| | | |
| | | .options-box { |
| | | padding: 32rpx; |
| | | transition-property: height; |
| | | transition-duration: .4s; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // padStart ç polyfillï¼å 为æäºæºåææ
åµï¼è¿æ æ³æ¯æes7çpadStartï¼æ¯å¦çµèçç微信å°ç¨åº |
| | | // æä»¥è¿éåä¸ä¸ªå
¼å®¹polyfillçå
¼å®¹å¤ç |
| | | if (!String.prototype.padStart) { |
| | | // ä¸ºäºæ¹ä¾¿è¡¨ç¤ºè¿é fillString ç¨äºES6 çé»è®¤åæ°ï¼ä¸å½±åçè§£ |
| | | String.prototype.padStart = function(maxLength, fillString = ' ') { |
| | | if (Object.prototype.toString.call(fillString) !== "[object String]") throw new TypeError( |
| | | 'fillString must be String') |
| | | let str = this |
| | | // è¿å String(str) è¿éæ¯ä¸ºäºä½¿è¿åç弿¯å符串åé¢éï¼å¨æ§å¶å°ä¸æ´ç¬¦åç´è§ |
| | | if (str.length >= maxLength) return String(str) |
| | | |
| | | let fillLength = maxLength - str.length, |
| | | times = Math.ceil(fillLength / fillString.length) |
| | | while (times >>= 1) { |
| | | fillString += fillString |
| | | if (times === 1) { |
| | | fillString += fillString |
| | | } |
| | | } |
| | | return fillString.slice(0, fillLength) + str; |
| | | } |
| | | } |
| | | |
| | | // å
¶ä»æ´å¤æ¯æ ¼å¼åæå¦ä¸: |
| | | // yyyy:mm:dd|yyyy:mm|yyyyå¹´mmæddæ¥|yyyyå¹´mmæddæ¥ hhæ¶MMåç,å¯èªå®ä¹ç»å |
| | | function timeFormat(dateTime = null, fmt = 'yyyy-mm-dd') { |
| | | // å¦æä¸ºnull,åæ ¼å¼åå½åæ¶é´ |
| | | if (!dateTime) dateTime = Number(new Date()); |
| | | // 妿dateTimeé¿åº¦ä¸º10æè
13ï¼å为ç§å毫ç§çæ¶é´æ³ï¼å¦æè¶
è¿13ä½ï¼å为å
¶ä»çæ¶é´æ ¼å¼ |
| | | if (dateTime.toString().length == 10) dateTime *= 1000; |
| | | let date = new Date(dateTime); |
| | | let ret; |
| | | let opt = { |
| | | "y+": date.getFullYear().toString(), // å¹´ |
| | | "m+": (date.getMonth() + 1).toString(), // æ |
| | | "d+": date.getDate().toString(), // æ¥ |
| | | "h+": date.getHours().toString(), // æ¶ |
| | | "M+": date.getMinutes().toString(), // å |
| | | "s+": date.getSeconds().toString() // ç§ |
| | | // æå
¶ä»æ ¼å¼ååç¬¦éæ±å¯ä»¥ç»§ç»æ·»å ï¼å¿
须转åæå符串 |
| | | }; |
| | | for (let k in opt) { |
| | | ret = new RegExp("(" + k + ")").exec(fmt); |
| | | if (ret) { |
| | | fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) |
| | | }; |
| | | }; |
| | | return fmt; |
| | | } |
| | | |
| | | export default timeFormat |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "id": "h-datetime-picker", |
| | | "displayName": "æ¶é´æ¥æéæ©å¨", |
| | | "version": "1.1.3", |
| | | "description": "æ¶é´æ¥æéæ©å¨", |
| | | "keywords": [ |
| | | "h-datetime-picker" |
| | | ], |
| | | "repository": "", |
| | | "engines": { |
| | | "HBuilderX": "^3.1.0" |
| | | }, |
| | | "dcloudext": { |
| | | "type": "component-vue", |
| | | "sale": { |
| | | "regular": { |
| | | "price": "0.00" |
| | | }, |
| | | "sourcecode": { |
| | | "price": "0.00" |
| | | } |
| | | }, |
| | | "contact": { |
| | | "qq": "" |
| | | }, |
| | | "declaration": { |
| | | "ads": "æ ", |
| | | "data": "æ ", |
| | | "permissions": "æ " |
| | | }, |
| | | "npmurl": "" |
| | | }, |
| | | "uni_modules": { |
| | | "dependencies": [], |
| | | "encrypt": [], |
| | | "platforms": { |
| | | "cloud": { |
| | | "tcb": "y", |
| | | "aliyun": "y" |
| | | }, |
| | | "client": { |
| | | "Vue": { |
| | | "vue2": "y", |
| | | "vue3": "u" |
| | | }, |
| | | "App": { |
| | | "app-vue": "y", |
| | | "app-nvue": "y" |
| | | }, |
| | | "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", |
| | | "京ä¸": "u" |
| | | }, |
| | | "å¿«åºç¨": { |
| | | "å为": "u", |
| | | "èç": "u" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | |
| | | ## datetime-picker æ¥ææ¶é´éæ©å¨ |
| | | > **ç»ä»¶åï¼h-datetime-picker** |
| | | > 代ç åï¼ `<h-datetime-picker></h-datetime-picker>` |
| | | > å
³èç»ä»¶ï¼`uni-popup uni-icons`ã |
| | | |
| | | ## 屿§è¯´æ |
| | | åæ°|说æ|ç±»å|é»è®¤å¼ |
| | | -|-|-|- |
| | | params|éè¦æ¾ç¤ºçæ¥ææ ¼å¼|Object|{year: true,month: true,day: true,hour: false,minute: false,second: false,timestamp: true,} |
| | | defaultTime|é»è®¤æ¾ç¤ºçæ¶é´(é»è®¤ä¸ºå½åæ¶é´)|String|'' |
| | | startYear|年份å¼å§æ¶é´|String,Number|1950 |
| | | endYear|å¹´ä»½ç»ææ¶é´|String,Number|2050 |
| | | endMonth|æä»½ç»ææ¶é´|String,Number|12 |
| | | optionMode|èªå®ä¹æ¶é´éæ©æ é¡¶é¨å¿«æ·æ¶é´æ®µéæ©ç±»åï¼å¯éå¼ï¼month(æ)ãday(天)|String|month |
| | | mode|鿩卿¨¡å¼ all(æ¾ç¤ºæä»½éæ©ä»¥åæ¶é´æ®µéæ©)ãsingle(ä»
æ¾ç¤ºåæä»½éæ©)ãmultiple(ä»
æ¾ç¤ºæ¶é´æ®µéæ©) |String|all |
| | | startTime|é»è®¤èµ·å§æ¥æ ä»
å¨mode='multiple'æ¶çæ ä¾å¦ï¼2022-5-18 12:00|String|'' |
| | | endTime|é»è®¤æªæ¢æ¥æ ä»
å¨mode='multiple'æ¶çæ ä¾å¦ï¼2023-5-18 12:00|String|'' |
| | | @reset|ç¹å»éç½®åè°|Handler|æ |
| | | @confirm|ç¹å»ç¡®å®åè°|Handler|æ |
| | | |
| | | ##@confirmè¿å说æ(对åºparams) |
| | | ###忥æ(æ¶é´)éæ© |
| | | åæ°|说æ|ç±»å |
| | | -|-|-|- |
| | | year|å¹´|String |
| | | month|æ|String |
| | | day|æ¥|String |
| | | hour|æ¶|String |
| | | minute|å|String |
| | | second|ç§|String |
| | | timestamp|æ¶é´æ³|Number |
| | | |
| | | ###æ¶é´æ®µéæ© |
| | | åæ°|说æ|ç±»å |
| | | -|-|-|- |
| | | start_time|èµ·å§æ¶é´ æ ¼å¼ä¸ä¸ä¸è´|Object |
| | | end_time|æªè³æ¶é´ æ ¼å¼ä¸ä¸ä¸è´|Object |
| | | |
| | | ##ç¤ºä¾ |
| | | ``` |
| | | <template> |
| | | <view> |
| | | <h-datetime-picker ref="pickerDate" @reset="reset" @confirm="confirm"></h-datetime-picker> |
| | | </view> |
| | | </template> |
| | | <script> |
| | | export default { |
| | | methods: { |
| | | //æå¼éæ©å¨ |
| | | open() { |
| | | this.$refs.pickerDate.open() |
| | | }, |
| | | reset(){ |
| | | console.log('ç¹å»äºéç½®'); |
| | | }, |
| | | confirm(e){ |
| | | console.log('ç¹å»äºç¡®å®',e); |
| | | |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | ``` |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## 1.3.5ï¼2022-01-24ï¼ |
| | | - ä¼å size 屿§å¯ä»¥ä¼ å
¥ä¸å¸¦åä½çå符串æ°å¼ |
| | | ## 1.3.4ï¼2022-01-24ï¼ |
| | | - ä¼å size æ¯æå
¶ä»åä½ |
| | | ## 1.3.3ï¼2022-01-17ï¼ |
| | | - ä¿®å¤ nvue æäºå¾æ 䏿¾ç¤ºçbugï¼å
¼å®¹èçæ¬å¾æ |
| | | ## 1.3.2ï¼2021-12-01ï¼ |
| | | - ä¼å 示ä¾å¯å¤å¶å¾æ åç§° |
| | | ## 1.3.1ï¼2021-11-23ï¼ |
| | | - ä¼å å
¼å®¹æ§ç»ä»¶ type å¼ |
| | | ## 1.3.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-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) |
| | | ## 1.1.7ï¼2021-11-08ï¼ |
| | | ## 1.2.0ï¼2021-07-30ï¼ |
| | | - ç»ä»¶å
¼å®¹ vue3ï¼å¦ä½å建vue3项ç®ï¼è¯¦è§ [uni-app é¡¹ç®æ¯æ vue3 ä»ç»](https://ask.dcloud.net.cn/article/37834) |
| | | ## 1.1.5ï¼2021-05-12ï¼ |
| | | - æ°å¢ ç»ä»¶ç¤ºä¾å°å |
| | | ## 1.1.4ï¼2021-02-05ï¼ |
| | | - è°æ´ä¸ºuni_modulesç®å½è§è |
¶Ô±ÈÐÂÎļþ |
| | |
| | | export default { |
| | | "id": "2852637", |
| | | "name": "uniui徿 åº", |
| | | "font_family": "uniicons", |
| | | "css_prefix_text": "uniui-", |
| | | "description": "", |
| | | "glyphs": [ |
| | | { |
| | | "icon_id": "25027049", |
| | | "name": "yanse", |
| | | "font_class": "color", |
| | | "unicode": "e6cf", |
| | | "unicode_decimal": 59087 |
| | | }, |
| | | { |
| | | "icon_id": "25027048", |
| | | "name": "wallet", |
| | | "font_class": "wallet", |
| | | "unicode": "e6b1", |
| | | "unicode_decimal": 59057 |
| | | }, |
| | | { |
| | | "icon_id": "25015720", |
| | | "name": "settings-filled", |
| | | "font_class": "settings-filled", |
| | | "unicode": "e6ce", |
| | | "unicode_decimal": 59086 |
| | | }, |
| | | { |
| | | "icon_id": "25015434", |
| | | "name": "shimingrenzheng-filled", |
| | | "font_class": "auth-filled", |
| | | "unicode": "e6cc", |
| | | "unicode_decimal": 59084 |
| | | }, |
| | | { |
| | | "icon_id": "24934246", |
| | | "name": "shop-filled", |
| | | "font_class": "shop-filled", |
| | | "unicode": "e6cd", |
| | | "unicode_decimal": 59085 |
| | | }, |
| | | { |
| | | "icon_id": "24934159", |
| | | "name": "staff-filled-01", |
| | | "font_class": "staff-filled", |
| | | "unicode": "e6cb", |
| | | "unicode_decimal": 59083 |
| | | }, |
| | | { |
| | | "icon_id": "24932461", |
| | | "name": "VIP-filled", |
| | | "font_class": "vip-filled", |
| | | "unicode": "e6c6", |
| | | "unicode_decimal": 59078 |
| | | }, |
| | | { |
| | | "icon_id": "24932462", |
| | | "name": "plus_circle_fill", |
| | | "font_class": "plus-filled", |
| | | "unicode": "e6c7", |
| | | "unicode_decimal": 59079 |
| | | }, |
| | | { |
| | | "icon_id": "24932463", |
| | | "name": "folder_add-filled", |
| | | "font_class": "folder-add-filled", |
| | | "unicode": "e6c8", |
| | | "unicode_decimal": 59080 |
| | | }, |
| | | { |
| | | "icon_id": "24932464", |
| | | "name": "yanse-filled", |
| | | "font_class": "color-filled", |
| | | "unicode": "e6c9", |
| | | "unicode_decimal": 59081 |
| | | }, |
| | | { |
| | | "icon_id": "24932465", |
| | | "name": "tune-filled", |
| | | "font_class": "tune-filled", |
| | | "unicode": "e6ca", |
| | | "unicode_decimal": 59082 |
| | | }, |
| | | { |
| | | "icon_id": "24932455", |
| | | "name": "a-rilidaka-filled", |
| | | "font_class": "calendar-filled", |
| | | "unicode": "e6c0", |
| | | "unicode_decimal": 59072 |
| | | }, |
| | | { |
| | | "icon_id": "24932456", |
| | | "name": "notification-filled", |
| | | "font_class": "notification-filled", |
| | | "unicode": "e6c1", |
| | | "unicode_decimal": 59073 |
| | | }, |
| | | { |
| | | "icon_id": "24932457", |
| | | "name": "wallet-filled", |
| | | "font_class": "wallet-filled", |
| | | "unicode": "e6c2", |
| | | "unicode_decimal": 59074 |
| | | }, |
| | | { |
| | | "icon_id": "24932458", |
| | | "name": "paihangbang-filled", |
| | | "font_class": "medal-filled", |
| | | "unicode": "e6c3", |
| | | "unicode_decimal": 59075 |
| | | }, |
| | | { |
| | | "icon_id": "24932459", |
| | | "name": "gift-filled", |
| | | "font_class": "gift-filled", |
| | | "unicode": "e6c4", |
| | | "unicode_decimal": 59076 |
| | | }, |
| | | { |
| | | "icon_id": "24932460", |
| | | "name": "fire-filled", |
| | | "font_class": "fire-filled", |
| | | "unicode": "e6c5", |
| | | "unicode_decimal": 59077 |
| | | }, |
| | | { |
| | | "icon_id": "24928001", |
| | | "name": "refreshempty", |
| | | "font_class": "refreshempty", |
| | | "unicode": "e6bf", |
| | | "unicode_decimal": 59071 |
| | | }, |
| | | { |
| | | "icon_id": "24926853", |
| | | "name": "location-ellipse", |
| | | "font_class": "location-filled", |
| | | "unicode": "e6af", |
| | | "unicode_decimal": 59055 |
| | | }, |
| | | { |
| | | "icon_id": "24926735", |
| | | "name": "person-filled", |
| | | "font_class": "person-filled", |
| | | "unicode": "e69d", |
| | | "unicode_decimal": 59037 |
| | | }, |
| | | { |
| | | "icon_id": "24926703", |
| | | "name": "personadd-filled", |
| | | "font_class": "personadd-filled", |
| | | "unicode": "e698", |
| | | "unicode_decimal": 59032 |
| | | }, |
| | | { |
| | | "icon_id": "24923351", |
| | | "name": "back", |
| | | "font_class": "back", |
| | | "unicode": "e6b9", |
| | | "unicode_decimal": 59065 |
| | | }, |
| | | { |
| | | "icon_id": "24923352", |
| | | "name": "forward", |
| | | "font_class": "forward", |
| | | "unicode": "e6ba", |
| | | "unicode_decimal": 59066 |
| | | }, |
| | | { |
| | | "icon_id": "24923353", |
| | | "name": "arrowthinright", |
| | | "font_class": "arrow-right", |
| | | "unicode": "e6bb", |
| | | "unicode_decimal": 59067 |
| | | }, |
| | | { |
| | | "icon_id": "24923353", |
| | | "name": "arrowthinright", |
| | | "font_class": "arrowthinright", |
| | | "unicode": "e6bb", |
| | | "unicode_decimal": 59067 |
| | | }, |
| | | { |
| | | "icon_id": "24923354", |
| | | "name": "arrowthinleft", |
| | | "font_class": "arrow-left", |
| | | "unicode": "e6bc", |
| | | "unicode_decimal": 59068 |
| | | }, |
| | | { |
| | | "icon_id": "24923354", |
| | | "name": "arrowthinleft", |
| | | "font_class": "arrowthinleft", |
| | | "unicode": "e6bc", |
| | | "unicode_decimal": 59068 |
| | | }, |
| | | { |
| | | "icon_id": "24923355", |
| | | "name": "arrowthinup", |
| | | "font_class": "arrow-up", |
| | | "unicode": "e6bd", |
| | | "unicode_decimal": 59069 |
| | | }, |
| | | { |
| | | "icon_id": "24923355", |
| | | "name": "arrowthinup", |
| | | "font_class": "arrowthinup", |
| | | "unicode": "e6bd", |
| | | "unicode_decimal": 59069 |
| | | }, |
| | | { |
| | | "icon_id": "24923356", |
| | | "name": "arrowthindown", |
| | | "font_class": "arrow-down", |
| | | "unicode": "e6be", |
| | | "unicode_decimal": 59070 |
| | | },{ |
| | | "icon_id": "24923356", |
| | | "name": "arrowthindown", |
| | | "font_class": "arrowthindown", |
| | | "unicode": "e6be", |
| | | "unicode_decimal": 59070 |
| | | }, |
| | | { |
| | | "icon_id": "24923349", |
| | | "name": "arrowdown", |
| | | "font_class": "bottom", |
| | | "unicode": "e6b8", |
| | | "unicode_decimal": 59064 |
| | | },{ |
| | | "icon_id": "24923349", |
| | | "name": "arrowdown", |
| | | "font_class": "arrowdown", |
| | | "unicode": "e6b8", |
| | | "unicode_decimal": 59064 |
| | | }, |
| | | { |
| | | "icon_id": "24923346", |
| | | "name": "arrowright", |
| | | "font_class": "right", |
| | | "unicode": "e6b5", |
| | | "unicode_decimal": 59061 |
| | | }, |
| | | { |
| | | "icon_id": "24923346", |
| | | "name": "arrowright", |
| | | "font_class": "arrowright", |
| | | "unicode": "e6b5", |
| | | "unicode_decimal": 59061 |
| | | }, |
| | | { |
| | | "icon_id": "24923347", |
| | | "name": "arrowup", |
| | | "font_class": "top", |
| | | "unicode": "e6b6", |
| | | "unicode_decimal": 59062 |
| | | }, |
| | | { |
| | | "icon_id": "24923347", |
| | | "name": "arrowup", |
| | | "font_class": "arrowup", |
| | | "unicode": "e6b6", |
| | | "unicode_decimal": 59062 |
| | | }, |
| | | { |
| | | "icon_id": "24923348", |
| | | "name": "arrowleft", |
| | | "font_class": "left", |
| | | "unicode": "e6b7", |
| | | "unicode_decimal": 59063 |
| | | }, |
| | | { |
| | | "icon_id": "24923348", |
| | | "name": "arrowleft", |
| | | "font_class": "arrowleft", |
| | | "unicode": "e6b7", |
| | | "unicode_decimal": 59063 |
| | | }, |
| | | { |
| | | "icon_id": "24923334", |
| | | "name": "eye", |
| | | "font_class": "eye", |
| | | "unicode": "e651", |
| | | "unicode_decimal": 58961 |
| | | }, |
| | | { |
| | | "icon_id": "24923335", |
| | | "name": "eye-filled", |
| | | "font_class": "eye-filled", |
| | | "unicode": "e66a", |
| | | "unicode_decimal": 58986 |
| | | }, |
| | | { |
| | | "icon_id": "24923336", |
| | | "name": "eye-slash", |
| | | "font_class": "eye-slash", |
| | | "unicode": "e6b3", |
| | | "unicode_decimal": 59059 |
| | | }, |
| | | { |
| | | "icon_id": "24923337", |
| | | "name": "eye-slash-filled", |
| | | "font_class": "eye-slash-filled", |
| | | "unicode": "e6b4", |
| | | "unicode_decimal": 59060 |
| | | }, |
| | | { |
| | | "icon_id": "24923305", |
| | | "name": "info-filled", |
| | | "font_class": "info-filled", |
| | | "unicode": "e649", |
| | | "unicode_decimal": 58953 |
| | | }, |
| | | { |
| | | "icon_id": "24923299", |
| | | "name": "reload-01", |
| | | "font_class": "reload", |
| | | "unicode": "e6b2", |
| | | "unicode_decimal": 59058 |
| | | }, |
| | | { |
| | | "icon_id": "24923195", |
| | | "name": "mic_slash_fill", |
| | | "font_class": "micoff-filled", |
| | | "unicode": "e6b0", |
| | | "unicode_decimal": 59056 |
| | | }, |
| | | { |
| | | "icon_id": "24923165", |
| | | "name": "map-pin-ellipse", |
| | | "font_class": "map-pin-ellipse", |
| | | "unicode": "e6ac", |
| | | "unicode_decimal": 59052 |
| | | }, |
| | | { |
| | | "icon_id": "24923166", |
| | | "name": "map-pin", |
| | | "font_class": "map-pin", |
| | | "unicode": "e6ad", |
| | | "unicode_decimal": 59053 |
| | | }, |
| | | { |
| | | "icon_id": "24923167", |
| | | "name": "location", |
| | | "font_class": "location", |
| | | "unicode": "e6ae", |
| | | "unicode_decimal": 59054 |
| | | }, |
| | | { |
| | | "icon_id": "24923064", |
| | | "name": "starhalf", |
| | | "font_class": "starhalf", |
| | | "unicode": "e683", |
| | | "unicode_decimal": 59011 |
| | | }, |
| | | { |
| | | "icon_id": "24923065", |
| | | "name": "star", |
| | | "font_class": "star", |
| | | "unicode": "e688", |
| | | "unicode_decimal": 59016 |
| | | }, |
| | | { |
| | | "icon_id": "24923066", |
| | | "name": "star-filled", |
| | | "font_class": "star-filled", |
| | | "unicode": "e68f", |
| | | "unicode_decimal": 59023 |
| | | }, |
| | | { |
| | | "icon_id": "24899646", |
| | | "name": "a-rilidaka", |
| | | "font_class": "calendar", |
| | | "unicode": "e6a0", |
| | | "unicode_decimal": 59040 |
| | | }, |
| | | { |
| | | "icon_id": "24899647", |
| | | "name": "fire", |
| | | "font_class": "fire", |
| | | "unicode": "e6a1", |
| | | "unicode_decimal": 59041 |
| | | }, |
| | | { |
| | | "icon_id": "24899648", |
| | | "name": "paihangbang", |
| | | "font_class": "medal", |
| | | "unicode": "e6a2", |
| | | "unicode_decimal": 59042 |
| | | }, |
| | | { |
| | | "icon_id": "24899649", |
| | | "name": "font", |
| | | "font_class": "font", |
| | | "unicode": "e6a3", |
| | | "unicode_decimal": 59043 |
| | | }, |
| | | { |
| | | "icon_id": "24899650", |
| | | "name": "gift", |
| | | "font_class": "gift", |
| | | "unicode": "e6a4", |
| | | "unicode_decimal": 59044 |
| | | }, |
| | | { |
| | | "icon_id": "24899651", |
| | | "name": "link", |
| | | "font_class": "link", |
| | | "unicode": "e6a5", |
| | | "unicode_decimal": 59045 |
| | | }, |
| | | { |
| | | "icon_id": "24899652", |
| | | "name": "notification", |
| | | "font_class": "notification", |
| | | "unicode": "e6a6", |
| | | "unicode_decimal": 59046 |
| | | }, |
| | | { |
| | | "icon_id": "24899653", |
| | | "name": "staff", |
| | | "font_class": "staff", |
| | | "unicode": "e6a7", |
| | | "unicode_decimal": 59047 |
| | | }, |
| | | { |
| | | "icon_id": "24899654", |
| | | "name": "VIP", |
| | | "font_class": "vip", |
| | | "unicode": "e6a8", |
| | | "unicode_decimal": 59048 |
| | | }, |
| | | { |
| | | "icon_id": "24899655", |
| | | "name": "folder_add", |
| | | "font_class": "folder-add", |
| | | "unicode": "e6a9", |
| | | "unicode_decimal": 59049 |
| | | }, |
| | | { |
| | | "icon_id": "24899656", |
| | | "name": "tune", |
| | | "font_class": "tune", |
| | | "unicode": "e6aa", |
| | | "unicode_decimal": 59050 |
| | | }, |
| | | { |
| | | "icon_id": "24899657", |
| | | "name": "shimingrenzheng", |
| | | "font_class": "auth", |
| | | "unicode": "e6ab", |
| | | "unicode_decimal": 59051 |
| | | }, |
| | | { |
| | | "icon_id": "24899565", |
| | | "name": "person", |
| | | "font_class": "person", |
| | | "unicode": "e699", |
| | | "unicode_decimal": 59033 |
| | | }, |
| | | { |
| | | "icon_id": "24899566", |
| | | "name": "email-filled", |
| | | "font_class": "email-filled", |
| | | "unicode": "e69a", |
| | | "unicode_decimal": 59034 |
| | | }, |
| | | { |
| | | "icon_id": "24899567", |
| | | "name": "phone-filled", |
| | | "font_class": "phone-filled", |
| | | "unicode": "e69b", |
| | | "unicode_decimal": 59035 |
| | | }, |
| | | { |
| | | "icon_id": "24899568", |
| | | "name": "phone", |
| | | "font_class": "phone", |
| | | "unicode": "e69c", |
| | | "unicode_decimal": 59036 |
| | | }, |
| | | { |
| | | "icon_id": "24899570", |
| | | "name": "email", |
| | | "font_class": "email", |
| | | "unicode": "e69e", |
| | | "unicode_decimal": 59038 |
| | | }, |
| | | { |
| | | "icon_id": "24899571", |
| | | "name": "personadd", |
| | | "font_class": "personadd", |
| | | "unicode": "e69f", |
| | | "unicode_decimal": 59039 |
| | | }, |
| | | { |
| | | "icon_id": "24899558", |
| | | "name": "chatboxes-filled", |
| | | "font_class": "chatboxes-filled", |
| | | "unicode": "e692", |
| | | "unicode_decimal": 59026 |
| | | }, |
| | | { |
| | | "icon_id": "24899559", |
| | | "name": "contact", |
| | | "font_class": "contact", |
| | | "unicode": "e693", |
| | | "unicode_decimal": 59027 |
| | | }, |
| | | { |
| | | "icon_id": "24899560", |
| | | "name": "chatbubble-filled", |
| | | "font_class": "chatbubble-filled", |
| | | "unicode": "e694", |
| | | "unicode_decimal": 59028 |
| | | }, |
| | | { |
| | | "icon_id": "24899561", |
| | | "name": "contact-filled", |
| | | "font_class": "contact-filled", |
| | | "unicode": "e695", |
| | | "unicode_decimal": 59029 |
| | | }, |
| | | { |
| | | "icon_id": "24899562", |
| | | "name": "chatboxes", |
| | | "font_class": "chatboxes", |
| | | "unicode": "e696", |
| | | "unicode_decimal": 59030 |
| | | }, |
| | | { |
| | | "icon_id": "24899563", |
| | | "name": "chatbubble", |
| | | "font_class": "chatbubble", |
| | | "unicode": "e697", |
| | | "unicode_decimal": 59031 |
| | | }, |
| | | { |
| | | "icon_id": "24881290", |
| | | "name": "upload-filled", |
| | | "font_class": "upload-filled", |
| | | "unicode": "e68e", |
| | | "unicode_decimal": 59022 |
| | | }, |
| | | { |
| | | "icon_id": "24881292", |
| | | "name": "upload", |
| | | "font_class": "upload", |
| | | "unicode": "e690", |
| | | "unicode_decimal": 59024 |
| | | }, |
| | | { |
| | | "icon_id": "24881293", |
| | | "name": "weixin", |
| | | "font_class": "weixin", |
| | | "unicode": "e691", |
| | | "unicode_decimal": 59025 |
| | | }, |
| | | { |
| | | "icon_id": "24881274", |
| | | "name": "compose", |
| | | "font_class": "compose", |
| | | "unicode": "e67f", |
| | | "unicode_decimal": 59007 |
| | | }, |
| | | { |
| | | "icon_id": "24881275", |
| | | "name": "qq", |
| | | "font_class": "qq", |
| | | "unicode": "e680", |
| | | "unicode_decimal": 59008 |
| | | }, |
| | | { |
| | | "icon_id": "24881276", |
| | | "name": "download-filled", |
| | | "font_class": "download-filled", |
| | | "unicode": "e681", |
| | | "unicode_decimal": 59009 |
| | | }, |
| | | { |
| | | "icon_id": "24881277", |
| | | "name": "pengyouquan", |
| | | "font_class": "pyq", |
| | | "unicode": "e682", |
| | | "unicode_decimal": 59010 |
| | | }, |
| | | { |
| | | "icon_id": "24881279", |
| | | "name": "sound", |
| | | "font_class": "sound", |
| | | "unicode": "e684", |
| | | "unicode_decimal": 59012 |
| | | }, |
| | | { |
| | | "icon_id": "24881280", |
| | | "name": "trash-filled", |
| | | "font_class": "trash-filled", |
| | | "unicode": "e685", |
| | | "unicode_decimal": 59013 |
| | | }, |
| | | { |
| | | "icon_id": "24881281", |
| | | "name": "sound-filled", |
| | | "font_class": "sound-filled", |
| | | "unicode": "e686", |
| | | "unicode_decimal": 59014 |
| | | }, |
| | | { |
| | | "icon_id": "24881282", |
| | | "name": "trash", |
| | | "font_class": "trash", |
| | | "unicode": "e687", |
| | | "unicode_decimal": 59015 |
| | | }, |
| | | { |
| | | "icon_id": "24881284", |
| | | "name": "videocam-filled", |
| | | "font_class": "videocam-filled", |
| | | "unicode": "e689", |
| | | "unicode_decimal": 59017 |
| | | }, |
| | | { |
| | | "icon_id": "24881285", |
| | | "name": "spinner-cycle", |
| | | "font_class": "spinner-cycle", |
| | | "unicode": "e68a", |
| | | "unicode_decimal": 59018 |
| | | }, |
| | | { |
| | | "icon_id": "24881286", |
| | | "name": "weibo", |
| | | "font_class": "weibo", |
| | | "unicode": "e68b", |
| | | "unicode_decimal": 59019 |
| | | }, |
| | | { |
| | | "icon_id": "24881288", |
| | | "name": "videocam", |
| | | "font_class": "videocam", |
| | | "unicode": "e68c", |
| | | "unicode_decimal": 59020 |
| | | }, |
| | | { |
| | | "icon_id": "24881289", |
| | | "name": "download", |
| | | "font_class": "download", |
| | | "unicode": "e68d", |
| | | "unicode_decimal": 59021 |
| | | }, |
| | | { |
| | | "icon_id": "24879601", |
| | | "name": "help", |
| | | "font_class": "help", |
| | | "unicode": "e679", |
| | | "unicode_decimal": 59001 |
| | | }, |
| | | { |
| | | "icon_id": "24879602", |
| | | "name": "navigate-filled", |
| | | "font_class": "navigate-filled", |
| | | "unicode": "e67a", |
| | | "unicode_decimal": 59002 |
| | | }, |
| | | { |
| | | "icon_id": "24879603", |
| | | "name": "plusempty", |
| | | "font_class": "plusempty", |
| | | "unicode": "e67b", |
| | | "unicode_decimal": 59003 |
| | | }, |
| | | { |
| | | "icon_id": "24879604", |
| | | "name": "smallcircle", |
| | | "font_class": "smallcircle", |
| | | "unicode": "e67c", |
| | | "unicode_decimal": 59004 |
| | | }, |
| | | { |
| | | "icon_id": "24879605", |
| | | "name": "minus-filled", |
| | | "font_class": "minus-filled", |
| | | "unicode": "e67d", |
| | | "unicode_decimal": 59005 |
| | | }, |
| | | { |
| | | "icon_id": "24879606", |
| | | "name": "micoff", |
| | | "font_class": "micoff", |
| | | "unicode": "e67e", |
| | | "unicode_decimal": 59006 |
| | | }, |
| | | { |
| | | "icon_id": "24879588", |
| | | "name": "closeempty", |
| | | "font_class": "closeempty", |
| | | "unicode": "e66c", |
| | | "unicode_decimal": 58988 |
| | | }, |
| | | { |
| | | "icon_id": "24879589", |
| | | "name": "clear", |
| | | "font_class": "clear", |
| | | "unicode": "e66d", |
| | | "unicode_decimal": 58989 |
| | | }, |
| | | { |
| | | "icon_id": "24879590", |
| | | "name": "navigate", |
| | | "font_class": "navigate", |
| | | "unicode": "e66e", |
| | | "unicode_decimal": 58990 |
| | | }, |
| | | { |
| | | "icon_id": "24879591", |
| | | "name": "minus", |
| | | "font_class": "minus", |
| | | "unicode": "e66f", |
| | | "unicode_decimal": 58991 |
| | | }, |
| | | { |
| | | "icon_id": "24879592", |
| | | "name": "image", |
| | | "font_class": "image", |
| | | "unicode": "e670", |
| | | "unicode_decimal": 58992 |
| | | }, |
| | | { |
| | | "icon_id": "24879593", |
| | | "name": "mic", |
| | | "font_class": "mic", |
| | | "unicode": "e671", |
| | | "unicode_decimal": 58993 |
| | | }, |
| | | { |
| | | "icon_id": "24879594", |
| | | "name": "paperplane", |
| | | "font_class": "paperplane", |
| | | "unicode": "e672", |
| | | "unicode_decimal": 58994 |
| | | }, |
| | | { |
| | | "icon_id": "24879595", |
| | | "name": "close", |
| | | "font_class": "close", |
| | | "unicode": "e673", |
| | | "unicode_decimal": 58995 |
| | | }, |
| | | { |
| | | "icon_id": "24879596", |
| | | "name": "help-filled", |
| | | "font_class": "help-filled", |
| | | "unicode": "e674", |
| | | "unicode_decimal": 58996 |
| | | }, |
| | | { |
| | | "icon_id": "24879597", |
| | | "name": "plus-filled", |
| | | "font_class": "paperplane-filled", |
| | | "unicode": "e675", |
| | | "unicode_decimal": 58997 |
| | | }, |
| | | { |
| | | "icon_id": "24879598", |
| | | "name": "plus", |
| | | "font_class": "plus", |
| | | "unicode": "e676", |
| | | "unicode_decimal": 58998 |
| | | }, |
| | | { |
| | | "icon_id": "24879599", |
| | | "name": "mic-filled", |
| | | "font_class": "mic-filled", |
| | | "unicode": "e677", |
| | | "unicode_decimal": 58999 |
| | | }, |
| | | { |
| | | "icon_id": "24879600", |
| | | "name": "image-filled", |
| | | "font_class": "image-filled", |
| | | "unicode": "e678", |
| | | "unicode_decimal": 59000 |
| | | }, |
| | | { |
| | | "icon_id": "24855900", |
| | | "name": "locked-filled", |
| | | "font_class": "locked-filled", |
| | | "unicode": "e668", |
| | | "unicode_decimal": 58984 |
| | | }, |
| | | { |
| | | "icon_id": "24855901", |
| | | "name": "info", |
| | | "font_class": "info", |
| | | "unicode": "e669", |
| | | "unicode_decimal": 58985 |
| | | }, |
| | | { |
| | | "icon_id": "24855903", |
| | | "name": "locked", |
| | | "font_class": "locked", |
| | | "unicode": "e66b", |
| | | "unicode_decimal": 58987 |
| | | }, |
| | | { |
| | | "icon_id": "24855884", |
| | | "name": "camera-filled", |
| | | "font_class": "camera-filled", |
| | | "unicode": "e658", |
| | | "unicode_decimal": 58968 |
| | | }, |
| | | { |
| | | "icon_id": "24855885", |
| | | "name": "chat-filled", |
| | | "font_class": "chat-filled", |
| | | "unicode": "e659", |
| | | "unicode_decimal": 58969 |
| | | }, |
| | | { |
| | | "icon_id": "24855886", |
| | | "name": "camera", |
| | | "font_class": "camera", |
| | | "unicode": "e65a", |
| | | "unicode_decimal": 58970 |
| | | }, |
| | | { |
| | | "icon_id": "24855887", |
| | | "name": "circle", |
| | | "font_class": "circle", |
| | | "unicode": "e65b", |
| | | "unicode_decimal": 58971 |
| | | }, |
| | | { |
| | | "icon_id": "24855888", |
| | | "name": "checkmarkempty", |
| | | "font_class": "checkmarkempty", |
| | | "unicode": "e65c", |
| | | "unicode_decimal": 58972 |
| | | }, |
| | | { |
| | | "icon_id": "24855889", |
| | | "name": "chat", |
| | | "font_class": "chat", |
| | | "unicode": "e65d", |
| | | "unicode_decimal": 58973 |
| | | }, |
| | | { |
| | | "icon_id": "24855890", |
| | | "name": "circle-filled", |
| | | "font_class": "circle-filled", |
| | | "unicode": "e65e", |
| | | "unicode_decimal": 58974 |
| | | }, |
| | | { |
| | | "icon_id": "24855891", |
| | | "name": "flag", |
| | | "font_class": "flag", |
| | | "unicode": "e65f", |
| | | "unicode_decimal": 58975 |
| | | }, |
| | | { |
| | | "icon_id": "24855892", |
| | | "name": "flag-filled", |
| | | "font_class": "flag-filled", |
| | | "unicode": "e660", |
| | | "unicode_decimal": 58976 |
| | | }, |
| | | { |
| | | "icon_id": "24855893", |
| | | "name": "gear-filled", |
| | | "font_class": "gear-filled", |
| | | "unicode": "e661", |
| | | "unicode_decimal": 58977 |
| | | }, |
| | | { |
| | | "icon_id": "24855894", |
| | | "name": "home", |
| | | "font_class": "home", |
| | | "unicode": "e662", |
| | | "unicode_decimal": 58978 |
| | | }, |
| | | { |
| | | "icon_id": "24855895", |
| | | "name": "home-filled", |
| | | "font_class": "home-filled", |
| | | "unicode": "e663", |
| | | "unicode_decimal": 58979 |
| | | }, |
| | | { |
| | | "icon_id": "24855896", |
| | | "name": "gear", |
| | | "font_class": "gear", |
| | | "unicode": "e664", |
| | | "unicode_decimal": 58980 |
| | | }, |
| | | { |
| | | "icon_id": "24855897", |
| | | "name": "smallcircle-filled", |
| | | "font_class": "smallcircle-filled", |
| | | "unicode": "e665", |
| | | "unicode_decimal": 58981 |
| | | }, |
| | | { |
| | | "icon_id": "24855898", |
| | | "name": "map-filled", |
| | | "font_class": "map-filled", |
| | | "unicode": "e666", |
| | | "unicode_decimal": 58982 |
| | | }, |
| | | { |
| | | "icon_id": "24855899", |
| | | "name": "map", |
| | | "font_class": "map", |
| | | "unicode": "e667", |
| | | "unicode_decimal": 58983 |
| | | }, |
| | | { |
| | | "icon_id": "24855825", |
| | | "name": "refresh-filled", |
| | | "font_class": "refresh-filled", |
| | | "unicode": "e656", |
| | | "unicode_decimal": 58966 |
| | | }, |
| | | { |
| | | "icon_id": "24855826", |
| | | "name": "refresh", |
| | | "font_class": "refresh", |
| | | "unicode": "e657", |
| | | "unicode_decimal": 58967 |
| | | }, |
| | | { |
| | | "icon_id": "24855808", |
| | | "name": "cloud-upload", |
| | | "font_class": "cloud-upload", |
| | | "unicode": "e645", |
| | | "unicode_decimal": 58949 |
| | | }, |
| | | { |
| | | "icon_id": "24855809", |
| | | "name": "cloud-download-filled", |
| | | "font_class": "cloud-download-filled", |
| | | "unicode": "e646", |
| | | "unicode_decimal": 58950 |
| | | }, |
| | | { |
| | | "icon_id": "24855810", |
| | | "name": "cloud-download", |
| | | "font_class": "cloud-download", |
| | | "unicode": "e647", |
| | | "unicode_decimal": 58951 |
| | | }, |
| | | { |
| | | "icon_id": "24855811", |
| | | "name": "cloud-upload-filled", |
| | | "font_class": "cloud-upload-filled", |
| | | "unicode": "e648", |
| | | "unicode_decimal": 58952 |
| | | }, |
| | | { |
| | | "icon_id": "24855813", |
| | | "name": "redo", |
| | | "font_class": "redo", |
| | | "unicode": "e64a", |
| | | "unicode_decimal": 58954 |
| | | }, |
| | | { |
| | | "icon_id": "24855814", |
| | | "name": "images-filled", |
| | | "font_class": "images-filled", |
| | | "unicode": "e64b", |
| | | "unicode_decimal": 58955 |
| | | }, |
| | | { |
| | | "icon_id": "24855815", |
| | | "name": "undo-filled", |
| | | "font_class": "undo-filled", |
| | | "unicode": "e64c", |
| | | "unicode_decimal": 58956 |
| | | }, |
| | | { |
| | | "icon_id": "24855816", |
| | | "name": "more", |
| | | "font_class": "more", |
| | | "unicode": "e64d", |
| | | "unicode_decimal": 58957 |
| | | }, |
| | | { |
| | | "icon_id": "24855817", |
| | | "name": "more-filled", |
| | | "font_class": "more-filled", |
| | | "unicode": "e64e", |
| | | "unicode_decimal": 58958 |
| | | }, |
| | | { |
| | | "icon_id": "24855818", |
| | | "name": "undo", |
| | | "font_class": "undo", |
| | | "unicode": "e64f", |
| | | "unicode_decimal": 58959 |
| | | }, |
| | | { |
| | | "icon_id": "24855819", |
| | | "name": "images", |
| | | "font_class": "images", |
| | | "unicode": "e650", |
| | | "unicode_decimal": 58960 |
| | | }, |
| | | { |
| | | "icon_id": "24855821", |
| | | "name": "paperclip", |
| | | "font_class": "paperclip", |
| | | "unicode": "e652", |
| | | "unicode_decimal": 58962 |
| | | }, |
| | | { |
| | | "icon_id": "24855822", |
| | | "name": "settings", |
| | | "font_class": "settings", |
| | | "unicode": "e653", |
| | | "unicode_decimal": 58963 |
| | | }, |
| | | { |
| | | "icon_id": "24855823", |
| | | "name": "search", |
| | | "font_class": "search", |
| | | "unicode": "e654", |
| | | "unicode_decimal": 58964 |
| | | }, |
| | | { |
| | | "icon_id": "24855824", |
| | | "name": "redo-filled", |
| | | "font_class": "redo-filled", |
| | | "unicode": "e655", |
| | | "unicode_decimal": 58965 |
| | | }, |
| | | { |
| | | "icon_id": "24841702", |
| | | "name": "list", |
| | | "font_class": "list", |
| | | "unicode": "e644", |
| | | "unicode_decimal": 58948 |
| | | }, |
| | | { |
| | | "icon_id": "24841489", |
| | | "name": "mail-open-filled", |
| | | "font_class": "mail-open-filled", |
| | | "unicode": "e63a", |
| | | "unicode_decimal": 58938 |
| | | }, |
| | | { |
| | | "icon_id": "24841491", |
| | | "name": "hand-thumbsdown-filled", |
| | | "font_class": "hand-down-filled", |
| | | "unicode": "e63c", |
| | | "unicode_decimal": 58940 |
| | | }, |
| | | { |
| | | "icon_id": "24841492", |
| | | "name": "hand-thumbsdown", |
| | | "font_class": "hand-down", |
| | | "unicode": "e63d", |
| | | "unicode_decimal": 58941 |
| | | }, |
| | | { |
| | | "icon_id": "24841493", |
| | | "name": "hand-thumbsup-filled", |
| | | "font_class": "hand-up-filled", |
| | | "unicode": "e63e", |
| | | "unicode_decimal": 58942 |
| | | }, |
| | | { |
| | | "icon_id": "24841494", |
| | | "name": "hand-thumbsup", |
| | | "font_class": "hand-up", |
| | | "unicode": "e63f", |
| | | "unicode_decimal": 58943 |
| | | }, |
| | | { |
| | | "icon_id": "24841496", |
| | | "name": "heart-filled", |
| | | "font_class": "heart-filled", |
| | | "unicode": "e641", |
| | | "unicode_decimal": 58945 |
| | | }, |
| | | { |
| | | "icon_id": "24841498", |
| | | "name": "mail-open", |
| | | "font_class": "mail-open", |
| | | "unicode": "e643", |
| | | "unicode_decimal": 58947 |
| | | }, |
| | | { |
| | | "icon_id": "24841488", |
| | | "name": "heart", |
| | | "font_class": "heart", |
| | | "unicode": "e639", |
| | | "unicode_decimal": 58937 |
| | | }, |
| | | { |
| | | "icon_id": "24839963", |
| | | "name": "loop", |
| | | "font_class": "loop", |
| | | "unicode": "e633", |
| | | "unicode_decimal": 58931 |
| | | }, |
| | | { |
| | | "icon_id": "24839866", |
| | | "name": "pulldown", |
| | | "font_class": "pulldown", |
| | | "unicode": "e632", |
| | | "unicode_decimal": 58930 |
| | | }, |
| | | { |
| | | "icon_id": "24813798", |
| | | "name": "scan", |
| | | "font_class": "scan", |
| | | "unicode": "e62a", |
| | | "unicode_decimal": 58922 |
| | | }, |
| | | { |
| | | "icon_id": "24813786", |
| | | "name": "bars", |
| | | "font_class": "bars", |
| | | "unicode": "e627", |
| | | "unicode_decimal": 58919 |
| | | }, |
| | | { |
| | | "icon_id": "24813788", |
| | | "name": "cart-filled", |
| | | "font_class": "cart-filled", |
| | | "unicode": "e629", |
| | | "unicode_decimal": 58921 |
| | | }, |
| | | { |
| | | "icon_id": "24813790", |
| | | "name": "checkbox", |
| | | "font_class": "checkbox", |
| | | "unicode": "e62b", |
| | | "unicode_decimal": 58923 |
| | | }, |
| | | { |
| | | "icon_id": "24813791", |
| | | "name": "checkbox-filled", |
| | | "font_class": "checkbox-filled", |
| | | "unicode": "e62c", |
| | | "unicode_decimal": 58924 |
| | | }, |
| | | { |
| | | "icon_id": "24813794", |
| | | "name": "shop", |
| | | "font_class": "shop", |
| | | "unicode": "e62f", |
| | | "unicode_decimal": 58927 |
| | | }, |
| | | { |
| | | "icon_id": "24813795", |
| | | "name": "headphones", |
| | | "font_class": "headphones", |
| | | "unicode": "e630", |
| | | "unicode_decimal": 58928 |
| | | }, |
| | | { |
| | | "icon_id": "24813796", |
| | | "name": "cart", |
| | | "font_class": "cart", |
| | | "unicode": "e631", |
| | | "unicode_decimal": 58929 |
| | | } |
| | | ] |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <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; |
| | | } |
| | | |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .uniui-color:before { |
| | | content: "\e6cf"; |
| | | } |
| | | |
| | | .uniui-wallet:before { |
| | | content: "\e6b1"; |
| | | } |
| | | |
| | | .uniui-settings-filled:before { |
| | | content: "\e6ce"; |
| | | } |
| | | |
| | | .uniui-auth-filled:before { |
| | | content: "\e6cc"; |
| | | } |
| | | |
| | | .uniui-shop-filled:before { |
| | | content: "\e6cd"; |
| | | } |
| | | |
| | | .uniui-staff-filled:before { |
| | | content: "\e6cb"; |
| | | } |
| | | |
| | | .uniui-vip-filled:before { |
| | | content: "\e6c6"; |
| | | } |
| | | |
| | | .uniui-plus-filled:before { |
| | | content: "\e6c7"; |
| | | } |
| | | |
| | | .uniui-folder-add-filled:before { |
| | | content: "\e6c8"; |
| | | } |
| | | |
| | | .uniui-color-filled:before { |
| | | content: "\e6c9"; |
| | | } |
| | | |
| | | .uniui-tune-filled:before { |
| | | content: "\e6ca"; |
| | | } |
| | | |
| | | .uniui-calendar-filled:before { |
| | | content: "\e6c0"; |
| | | } |
| | | |
| | | .uniui-notification-filled:before { |
| | | content: "\e6c1"; |
| | | } |
| | | |
| | | .uniui-wallet-filled:before { |
| | | content: "\e6c2"; |
| | | } |
| | | |
| | | .uniui-medal-filled:before { |
| | | content: "\e6c3"; |
| | | } |
| | | |
| | | .uniui-gift-filled:before { |
| | | content: "\e6c4"; |
| | | } |
| | | |
| | | .uniui-fire-filled:before { |
| | | content: "\e6c5"; |
| | | } |
| | | |
| | | .uniui-refreshempty:before { |
| | | content: "\e6bf"; |
| | | } |
| | | |
| | | .uniui-location-filled:before { |
| | | content: "\e6af"; |
| | | } |
| | | |
| | | .uniui-person-filled:before { |
| | | content: "\e69d"; |
| | | } |
| | | |
| | | .uniui-personadd-filled:before { |
| | | content: "\e698"; |
| | | } |
| | | |
| | | .uniui-back:before { |
| | | content: "\e6b9"; |
| | | } |
| | | |
| | | .uniui-forward:before { |
| | | content: "\e6ba"; |
| | | } |
| | | |
| | | .uniui-arrow-right:before { |
| | | content: "\e6bb"; |
| | | } |
| | | |
| | | .uniui-arrowthinright:before { |
| | | content: "\e6bb"; |
| | | } |
| | | |
| | | .uniui-arrow-left:before { |
| | | content: "\e6bc"; |
| | | } |
| | | |
| | | .uniui-arrowthinleft:before { |
| | | content: "\e6bc"; |
| | | } |
| | | |
| | | .uniui-arrow-up:before { |
| | | content: "\e6bd"; |
| | | } |
| | | |
| | | .uniui-arrowthinup:before { |
| | | content: "\e6bd"; |
| | | } |
| | | |
| | | .uniui-arrow-down:before { |
| | | content: "\e6be"; |
| | | } |
| | | |
| | | .uniui-arrowthindown:before { |
| | | content: "\e6be"; |
| | | } |
| | | |
| | | .uniui-bottom:before { |
| | | content: "\e6b8"; |
| | | } |
| | | |
| | | .uniui-arrowdown:before { |
| | | content: "\e6b8"; |
| | | } |
| | | |
| | | .uniui-right:before { |
| | | content: "\e6b5"; |
| | | } |
| | | |
| | | .uniui-arrowright:before { |
| | | content: "\e6b5"; |
| | | } |
| | | |
| | | .uniui-top:before { |
| | | content: "\e6b6"; |
| | | } |
| | | |
| | | .uniui-arrowup:before { |
| | | content: "\e6b6"; |
| | | } |
| | | |
| | | .uniui-left:before { |
| | | content: "\e6b7"; |
| | | } |
| | | |
| | | .uniui-arrowleft:before { |
| | | content: "\e6b7"; |
| | | } |
| | | |
| | | .uniui-eye:before { |
| | | content: "\e651"; |
| | | } |
| | | |
| | | .uniui-eye-filled:before { |
| | | content: "\e66a"; |
| | | } |
| | | |
| | | .uniui-eye-slash:before { |
| | | content: "\e6b3"; |
| | | } |
| | | |
| | | .uniui-eye-slash-filled:before { |
| | | content: "\e6b4"; |
| | | } |
| | | |
| | | .uniui-info-filled:before { |
| | | content: "\e649"; |
| | | } |
| | | |
| | | .uniui-reload:before { |
| | | content: "\e6b2"; |
| | | } |
| | | |
| | | .uniui-micoff-filled:before { |
| | | content: "\e6b0"; |
| | | } |
| | | |
| | | .uniui-map-pin-ellipse:before { |
| | | content: "\e6ac"; |
| | | } |
| | | |
| | | .uniui-map-pin:before { |
| | | content: "\e6ad"; |
| | | } |
| | | |
| | | .uniui-location:before { |
| | | content: "\e6ae"; |
| | | } |
| | | |
| | | .uniui-starhalf:before { |
| | | content: "\e683"; |
| | | } |
| | | |
| | | .uniui-star:before { |
| | | content: "\e688"; |
| | | } |
| | | |
| | | .uniui-star-filled:before { |
| | | content: "\e68f"; |
| | | } |
| | | |
| | | .uniui-calendar:before { |
| | | content: "\e6a0"; |
| | | } |
| | | |
| | | .uniui-fire:before { |
| | | content: "\e6a1"; |
| | | } |
| | | |
| | | .uniui-medal:before { |
| | | content: "\e6a2"; |
| | | } |
| | | |
| | | .uniui-font:before { |
| | | content: "\e6a3"; |
| | | } |
| | | |
| | | .uniui-gift:before { |
| | | content: "\e6a4"; |
| | | } |
| | | |
| | | .uniui-link:before { |
| | | content: "\e6a5"; |
| | | } |
| | | |
| | | .uniui-notification:before { |
| | | content: "\e6a6"; |
| | | } |
| | | |
| | | .uniui-staff:before { |
| | | content: "\e6a7"; |
| | | } |
| | | |
| | | .uniui-vip:before { |
| | | content: "\e6a8"; |
| | | } |
| | | |
| | | .uniui-folder-add:before { |
| | | content: "\e6a9"; |
| | | } |
| | | |
| | | .uniui-tune:before { |
| | | content: "\e6aa"; |
| | | } |
| | | |
| | | .uniui-auth:before { |
| | | content: "\e6ab"; |
| | | } |
| | | |
| | | .uniui-person:before { |
| | | content: "\e699"; |
| | | } |
| | | |
| | | .uniui-email-filled:before { |
| | | content: "\e69a"; |
| | | } |
| | | |
| | | .uniui-phone-filled:before { |
| | | content: "\e69b"; |
| | | } |
| | | |
| | | .uniui-phone:before { |
| | | content: "\e69c"; |
| | | } |
| | | |
| | | .uniui-email:before { |
| | | content: "\e69e"; |
| | | } |
| | | |
| | | .uniui-personadd:before { |
| | | content: "\e69f"; |
| | | } |
| | | |
| | | .uniui-chatboxes-filled:before { |
| | | content: "\e692"; |
| | | } |
| | | |
| | | .uniui-contact:before { |
| | | content: "\e693"; |
| | | } |
| | | |
| | | .uniui-chatbubble-filled:before { |
| | | content: "\e694"; |
| | | } |
| | | |
| | | .uniui-contact-filled:before { |
| | | content: "\e695"; |
| | | } |
| | | |
| | | .uniui-chatboxes:before { |
| | | content: "\e696"; |
| | | } |
| | | |
| | | .uniui-chatbubble:before { |
| | | content: "\e697"; |
| | | } |
| | | |
| | | .uniui-upload-filled:before { |
| | | content: "\e68e"; |
| | | } |
| | | |
| | | .uniui-upload:before { |
| | | content: "\e690"; |
| | | } |
| | | |
| | | .uniui-weixin:before { |
| | | content: "\e691"; |
| | | } |
| | | |
| | | .uniui-compose:before { |
| | | content: "\e67f"; |
| | | } |
| | | |
| | | .uniui-qq:before { |
| | | content: "\e680"; |
| | | } |
| | | |
| | | .uniui-download-filled:before { |
| | | content: "\e681"; |
| | | } |
| | | |
| | | .uniui-pyq:before { |
| | | content: "\e682"; |
| | | } |
| | | |
| | | .uniui-sound:before { |
| | | content: "\e684"; |
| | | } |
| | | |
| | | .uniui-trash-filled:before { |
| | | content: "\e685"; |
| | | } |
| | | |
| | | .uniui-sound-filled:before { |
| | | content: "\e686"; |
| | | } |
| | | |
| | | .uniui-trash:before { |
| | | content: "\e687"; |
| | | } |
| | | |
| | | .uniui-videocam-filled:before { |
| | | content: "\e689"; |
| | | } |
| | | |
| | | .uniui-spinner-cycle:before { |
| | | content: "\e68a"; |
| | | } |
| | | |
| | | .uniui-weibo:before { |
| | | content: "\e68b"; |
| | | } |
| | | |
| | | .uniui-videocam:before { |
| | | content: "\e68c"; |
| | | } |
| | | |
| | | .uniui-download:before { |
| | | content: "\e68d"; |
| | | } |
| | | |
| | | .uniui-help:before { |
| | | content: "\e679"; |
| | | } |
| | | |
| | | .uniui-navigate-filled:before { |
| | | content: "\e67a"; |
| | | } |
| | | |
| | | .uniui-plusempty:before { |
| | | content: "\e67b"; |
| | | } |
| | | |
| | | .uniui-smallcircle:before { |
| | | content: "\e67c"; |
| | | } |
| | | |
| | | .uniui-minus-filled:before { |
| | | content: "\e67d"; |
| | | } |
| | | |
| | | .uniui-micoff:before { |
| | | content: "\e67e"; |
| | | } |
| | | |
| | | .uniui-closeempty:before { |
| | | content: "\e66c"; |
| | | } |
| | | |
| | | .uniui-clear:before { |
| | | content: "\e66d"; |
| | | } |
| | | |
| | | .uniui-navigate:before { |
| | | content: "\e66e"; |
| | | } |
| | | |
| | | .uniui-minus:before { |
| | | content: "\e66f"; |
| | | } |
| | | |
| | | .uniui-image:before { |
| | | content: "\e670"; |
| | | } |
| | | |
| | | .uniui-mic:before { |
| | | content: "\e671"; |
| | | } |
| | | |
| | | .uniui-paperplane:before { |
| | | content: "\e672"; |
| | | } |
| | | |
| | | .uniui-close:before { |
| | | content: "\e673"; |
| | | } |
| | | |
| | | .uniui-help-filled:before { |
| | | content: "\e674"; |
| | | } |
| | | |
| | | .uniui-paperplane-filled:before { |
| | | content: "\e675"; |
| | | } |
| | | |
| | | .uniui-plus:before { |
| | | content: "\e676"; |
| | | } |
| | | |
| | | .uniui-mic-filled:before { |
| | | content: "\e677"; |
| | | } |
| | | |
| | | .uniui-image-filled:before { |
| | | content: "\e678"; |
| | | } |
| | | |
| | | .uniui-locked-filled:before { |
| | | content: "\e668"; |
| | | } |
| | | |
| | | .uniui-info:before { |
| | | content: "\e669"; |
| | | } |
| | | |
| | | .uniui-locked:before { |
| | | content: "\e66b"; |
| | | } |
| | | |
| | | .uniui-camera-filled:before { |
| | | content: "\e658"; |
| | | } |
| | | |
| | | .uniui-chat-filled:before { |
| | | content: "\e659"; |
| | | } |
| | | |
| | | .uniui-camera:before { |
| | | content: "\e65a"; |
| | | } |
| | | |
| | | .uniui-circle:before { |
| | | content: "\e65b"; |
| | | } |
| | | |
| | | .uniui-checkmarkempty:before { |
| | | content: "\e65c"; |
| | | } |
| | | |
| | | .uniui-chat:before { |
| | | content: "\e65d"; |
| | | } |
| | | |
| | | .uniui-circle-filled:before { |
| | | content: "\e65e"; |
| | | } |
| | | |
| | | .uniui-flag:before { |
| | | content: "\e65f"; |
| | | } |
| | | |
| | | .uniui-flag-filled:before { |
| | | content: "\e660"; |
| | | } |
| | | |
| | | .uniui-gear-filled:before { |
| | | content: "\e661"; |
| | | } |
| | | |
| | | .uniui-home:before { |
| | | content: "\e662"; |
| | | } |
| | | |
| | | .uniui-home-filled:before { |
| | | content: "\e663"; |
| | | } |
| | | |
| | | .uniui-gear:before { |
| | | content: "\e664"; |
| | | } |
| | | |
| | | .uniui-smallcircle-filled:before { |
| | | content: "\e665"; |
| | | } |
| | | |
| | | .uniui-map-filled:before { |
| | | content: "\e666"; |
| | | } |
| | | |
| | | .uniui-map:before { |
| | | content: "\e667"; |
| | | } |
| | | |
| | | .uniui-refresh-filled:before { |
| | | content: "\e656"; |
| | | } |
| | | |
| | | .uniui-refresh:before { |
| | | content: "\e657"; |
| | | } |
| | | |
| | | .uniui-cloud-upload:before { |
| | | content: "\e645"; |
| | | } |
| | | |
| | | .uniui-cloud-download-filled:before { |
| | | content: "\e646"; |
| | | } |
| | | |
| | | .uniui-cloud-download:before { |
| | | content: "\e647"; |
| | | } |
| | | |
| | | .uniui-cloud-upload-filled:before { |
| | | content: "\e648"; |
| | | } |
| | | |
| | | .uniui-redo:before { |
| | | content: "\e64a"; |
| | | } |
| | | |
| | | .uniui-images-filled:before { |
| | | content: "\e64b"; |
| | | } |
| | | |
| | | .uniui-undo-filled:before { |
| | | content: "\e64c"; |
| | | } |
| | | |
| | | .uniui-more:before { |
| | | content: "\e64d"; |
| | | } |
| | | |
| | | .uniui-more-filled:before { |
| | | content: "\e64e"; |
| | | } |
| | | |
| | | .uniui-undo:before { |
| | | content: "\e64f"; |
| | | } |
| | | |
| | | .uniui-images:before { |
| | | content: "\e650"; |
| | | } |
| | | |
| | | .uniui-paperclip:before { |
| | | content: "\e652"; |
| | | } |
| | | |
| | | .uniui-settings:before { |
| | | content: "\e653"; |
| | | } |
| | | |
| | | .uniui-search:before { |
| | | content: "\e654"; |
| | | } |
| | | |
| | | .uniui-redo-filled:before { |
| | | content: "\e655"; |
| | | } |
| | | |
| | | .uniui-list:before { |
| | | content: "\e644"; |
| | | } |
| | | |
| | | .uniui-mail-open-filled:before { |
| | | content: "\e63a"; |
| | | } |
| | | |
| | | .uniui-hand-down-filled:before { |
| | | content: "\e63c"; |
| | | } |
| | | |
| | | .uniui-hand-down:before { |
| | | content: "\e63d"; |
| | | } |
| | | |
| | | .uniui-hand-up-filled:before { |
| | | content: "\e63e"; |
| | | } |
| | | |
| | | .uniui-hand-up:before { |
| | | content: "\e63f"; |
| | | } |
| | | |
| | | .uniui-heart-filled:before { |
| | | content: "\e641"; |
| | | } |
| | | |
| | | .uniui-mail-open:before { |
| | | content: "\e643"; |
| | | } |
| | | |
| | | .uniui-heart:before { |
| | | content: "\e639"; |
| | | } |
| | | |
| | | .uniui-loop:before { |
| | | content: "\e633"; |
| | | } |
| | | |
| | | .uniui-pulldown:before { |
| | | content: "\e632"; |
| | | } |
| | | |
| | | .uniui-scan:before { |
| | | content: "\e62a"; |
| | | } |
| | | |
| | | .uniui-bars:before { |
| | | content: "\e627"; |
| | | } |
| | | |
| | | .uniui-cart-filled:before { |
| | | content: "\e629"; |
| | | } |
| | | |
| | | .uniui-checkbox:before { |
| | | content: "\e62b"; |
| | | } |
| | | |
| | | .uniui-checkbox-filled:before { |
| | | content: "\e62c"; |
| | | } |
| | | |
| | | .uniui-shop:before { |
| | | content: "\e62f"; |
| | | } |
| | | |
| | | .uniui-headphones:before { |
| | | content: "\e630"; |
| | | } |
| | | |
| | | .uniui-cart:before { |
| | | content: "\e631"; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "id": "uni-icons", |
| | | "displayName": "uni-icons 徿 ", |
| | | "version": "1.3.5", |
| | | "description": "徿 ç»ä»¶ï¼ç¨äºå±ç¤ºç§»å¨ç«¯å¸¸è§ç徿 ï¼å¯èªå®ä¹é¢è²ã大å°ã", |
| | | "keywords": [ |
| | | "uni-ui", |
| | | "uniui", |
| | | "icon", |
| | | "徿 " |
| | | ], |
| | | "repository": "https://github.com/dcloudio/uni-ui", |
| | | "engines": { |
| | | "HBuilderX": "^3.2.14" |
| | | }, |
| | | "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"], |
| | | "encrypt": [], |
| | | "platforms": { |
| | | "cloud": { |
| | | "tcb": "y", |
| | | "aliyun": "y" |
| | | }, |
| | | "client": { |
| | | "App": { |
| | | "app-vue": "y", |
| | | "app-nvue": "y" |
| | | }, |
| | | "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" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## Icons 徿 |
| | | > **ç»ä»¶åï¼uni-icons** |
| | | > 代ç åï¼ `uIcons` |
| | | |
| | | ç¨äºå±ç¤º icons 徿 ã |
| | | |
| | | ### [æ¥çææ¡£](https://uniapp.dcloud.io/component/uniui/uni-icons) |
| | | #### å¦ä½¿ç¨è¿ç¨ä¸æä»»ä½é®é¢ï¼æè
æ¨å¯¹uni-uiæä¸äºå¥½çå»ºè®®ï¼æ¬¢è¿å å
¥ uni-ui 交æµç¾¤ï¼871950839 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## 1.8.3ï¼2023-04-17ï¼ |
| | | - ä¿®å¤ uni-popup é夿弿¶ç bug |
| | | ## 1.8.2ï¼2023-02-02ï¼ |
| | | - uni-popup-dialog ç»ä»¶æ°å¢ inputType 屿§ |
| | | ## 1.8.1ï¼2022-12-01ï¼ |
| | | - ä¿®å¤ nvue ä¸ v-show æ¥é |
| | | ## 1.8.0ï¼2022-11-29ï¼ |
| | | - ä¼å 䏻颿 ·å¼ |
| | | ## 1.7.9ï¼2022-04-02ï¼ |
| | | - ä¿®å¤ å¼¹åºå±å
鍿 æ³æ»å¨çbug |
| | | ## 1.7.8ï¼2022-03-28ï¼ |
| | | - ä¿®å¤ å°ç¨åºä¸é«åº¦é误çbug |
| | | ## 1.7.7ï¼2022-03-17ï¼ |
| | | - ä¿®å¤ å¿«éè°ç¨openåºç°é®é¢çBug |
| | | ## 1.7.6ï¼2022-02-14ï¼ |
| | | - ä¿®å¤ safeArea 屿§ä¸è½è®¾ç½®ä¸ºfalseçbug |
| | | ## 1.7.5ï¼2022-01-19ï¼ |
| | | - ä¿®å¤ isMaskClick 失æçbug |
| | | ## 1.7.4ï¼2022-01-19ï¼ |
| | | - æ°å¢ cancelText \ confirmText 屿§ ï¼å¯èªå®ä¹ææ¬ |
| | | - æ°å¢ maskBackgroundColor 屿§ ï¼å¯ä»¥ä¿®æ¹èçé¢è² |
| | | - ä¼å maskClick屿§ æ´æ°ä¸º isMaskClick ï¼è§£å³å¾®ä¿¡å°ç¨åºè¦åçé®é¢ |
| | | ## 1.7.3ï¼2022-01-13ï¼ |
| | | - ä¿®å¤ è®¾ç½® safeArea 屿§ä¸çæçbug |
| | | ## 1.7.2ï¼2021-11-26ï¼ |
| | | - ä¼å ç»ä»¶ç¤ºä¾ |
| | | ## 1.7.1ï¼2021-11-26ï¼ |
| | | - ä¿®å¤ vuedoc æåé误 |
| | | ## 1.7.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-popup](https://uniapp.dcloud.io/component/uniui/uni-popup) |
| | | ## 1.6.2ï¼2021-08-24ï¼ |
| | | - æ°å¢ æ¯æå½é
å |
| | | ## 1.6.1ï¼2021-07-30ï¼ |
| | | - ä¼å vue3ä¸äºä»¶è¦åçé®é¢ |
| | | ## 1.6.0ï¼2021-07-13ï¼ |
| | | - ç»ä»¶å
¼å®¹ vue3ï¼å¦ä½å建vue3项ç®ï¼è¯¦è§ [uni-app é¡¹ç®æ¯æ vue3 ä»ç»](https://ask.dcloud.net.cn/article/37834) |
| | | ## 1.5.0ï¼2021-06-23ï¼ |
| | | - æ°å¢ mask-click é®ç½©å±ç¹å»äºä»¶ |
| | | ## 1.4.5ï¼2021-06-22ï¼ |
| | | - ä¿®å¤ nvue å¹³å°ä¸é´å¼¹åºåï¼ç¹å»å
容ï¼åç¹å»é®ç½©æ æ³å
³éçBug |
| | | ## 1.4.4ï¼2021-06-18ï¼ |
| | | - ä¿®å¤ H5å¹³å°ä¸é´å¼¹åºåï¼ç¹å»å
容ï¼åç¹å»é®ç½©æ æ³å
³éçBug |
| | | ## 1.4.3ï¼2021-06-08ï¼ |
| | | - ä¿®å¤ é误ç watch åæ®µ |
| | | - ä¿®å¤ safeArea 屿§ä¸çæçé®é¢ |
| | | - ä¿®å¤ ç¹å»å
容ï¼åç¹å»é®ç½©æ æ³å
³éçBug |
| | | ## 1.4.2ï¼2021-05-12ï¼ |
| | | - æ°å¢ ç»ä»¶ç¤ºä¾å°å |
| | | ## 1.4.1ï¼2021-04-29ï¼ |
| | | - ä¿®å¤ ç»ä»¶å
æ¾ç½® input ãtextarea ç»ä»¶ï¼æ æ³èç¦çé®é¢ |
| | | ## 1.4.0 ï¼2021-04-29ï¼ |
| | | - æ°å¢ type 屿§ç left\right å¼ï¼æ¯æå·¦å³å¼¹åº |
| | | - æ°å¢ open(String:type) æ¹æ³åæ° ï¼å¯ä»¥çç¥ type 屿§ ï¼ç´æ¥ä¼ å
¥ç±»åæå¼æå®å¼¹çª |
| | | - æ°å¢ backgroundColor 屿§ï¼å¯å®ä¹ä¸»çªå£èæ¯è²,é»è®¤ä¸æ¾ç¤ºèæ¯è² |
| | | - æ°å¢ safeArea 屿§ï¼æ¯å¦éé
åºé¨å®å
¨åº |
| | | - ä¿®å¤ App\h5\微信å°ç¨åºåºé¨å®å
¨åºå ä½ä¸å¯¹çBug |
| | | - ä¿®å¤ App 端弹åºçå¾
çBug |
| | | - ä¼å æåä½é
è®¾å¤æ§è½ï¼ä¼åå¨ç»å¡é¡¿é®é¢ |
| | | - ä¼å æ´ç®åçç»ä»¶èªå®ä¹æ¹å¼ |
| | | ## 1.2.9ï¼2021-02-05ï¼ |
| | | - ä¼å ç»ä»¶å¼ç¨å
³ç³»ï¼éè¿uni_moduleså¼ç¨ç»ä»¶ |
| | | ## 1.2.8ï¼2021-02-05ï¼ |
| | | - è°æ´ä¸ºuni_modulesç®å½è§è |
| | | ## 1.2.7ï¼2021-02-05ï¼ |
| | | - è°æ´ä¸ºuni_modulesç®å½è§è |
| | | - æ°å¢ æ¯æ PC 端 |
| | | - æ°å¢ uni-popup-message ãuni-popup-dialogæ©å±ç»ä»¶æ¯æ PC 端 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // #ifdef H5 |
| | | export default { |
| | | name: 'Keypress', |
| | | props: { |
| | | disable: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | mounted () { |
| | | const keyNames = { |
| | | esc: ['Esc', 'Escape'], |
| | | tab: 'Tab', |
| | | enter: 'Enter', |
| | | space: [' ', 'Spacebar'], |
| | | up: ['Up', 'ArrowUp'], |
| | | left: ['Left', 'ArrowLeft'], |
| | | right: ['Right', 'ArrowRight'], |
| | | down: ['Down', 'ArrowDown'], |
| | | delete: ['Backspace', 'Delete', 'Del'] |
| | | } |
| | | const listener = ($event) => { |
| | | if (this.disable) { |
| | | return |
| | | } |
| | | const keyName = Object.keys(keyNames).find(key => { |
| | | const keyName = $event.key |
| | | const value = keyNames[key] |
| | | return value === keyName || (Array.isArray(value) && value.includes(keyName)) |
| | | }) |
| | | if (keyName) { |
| | | // é¿å
åå
¶ä»æé®äºä»¶å²çª |
| | | setTimeout(() => { |
| | | this.$emit(keyName, {}) |
| | | }, 0) |
| | | } |
| | | } |
| | | document.addEventListener('keyup', listener) |
| | | this.$once('hook:beforeDestroy', () => { |
| | | document.removeEventListener('keyup', listener) |
| | | }) |
| | | }, |
| | | render: () => {} |
| | | } |
| | | // #endif |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="uni-popup-dialog"> |
| | | <view class="uni-dialog-title"> |
| | | <text class="uni-dialog-title-text" :class="['uni-popup__'+dialogType]">{{titleText}}</text> |
| | | </view> |
| | | <view v-if="mode === 'base'" class="uni-dialog-content"> |
| | | <slot> |
| | | <text class="uni-dialog-content-text">{{content}}</text> |
| | | </slot> |
| | | </view> |
| | | <view v-else class="uni-dialog-content"> |
| | | <slot> |
| | | <input class="uni-dialog-input" v-model="val" :type="inputType" :placeholder="placeholderText" :focus="focus" > |
| | | </slot> |
| | | </view> |
| | | <view class="uni-dialog-button-group"> |
| | | <view class="uni-dialog-button" @click="closeDialog"> |
| | | <text class="uni-dialog-button-text">{{closeText}}</text> |
| | | </view> |
| | | <view class="uni-dialog-button uni-border-left" @click="onOk"> |
| | | <text class="uni-dialog-button-text uni-button-color">{{okText}}</text> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import popup from '../uni-popup/popup.js' |
| | | import { |
| | | initVueI18n |
| | | } from '@dcloudio/uni-i18n' |
| | | import messages from '../uni-popup/i18n/index.js' |
| | | const { t } = initVueI18n(messages) |
| | | /** |
| | | * PopUp å¼¹åºå±-å¯¹è¯æ¡æ ·å¼ |
| | | * @description å¼¹åºå±-å¯¹è¯æ¡æ ·å¼ |
| | | * @tutorial https://ext.dcloud.net.cn/plugin?id=329 |
| | | * @property {String} value input 模å¼ä¸çé»è®¤å¼ |
| | | * @property {String} placeholder input 模å¼ä¸è¾å
¥æç¤º |
| | | * @property {String} type = [success|warning|info|error] 䏻颿 ·å¼ |
| | | * @value success æå |
| | | * @value warning æç¤º |
| | | * @value info æ¶æ¯ |
| | | * @value error é误 |
| | | * @property {String} mode = [base|input] 模å¼ã |
| | | * @value base åºç¡å¯¹è¯æ¡ |
| | | * @value input å¯è¾å
¥å¯¹è¯æ¡ |
| | | * @property {String} content å¯¹è¯æ¡å
容 |
| | | * @property {Boolean} beforeClose æ¯å¦æ¦æªåæ¶äºä»¶ |
| | | * @event {Function} confirm ç¹å»ç¡®è®¤æé®è§¦å |
| | | * @event {Function} close ç¹å»åæ¶æé®è§¦å |
| | | */ |
| | | |
| | | export default { |
| | | name: "uniPopupDialog", |
| | | mixins: [popup], |
| | | emits:['confirm','close'], |
| | | props: { |
| | | inputType:{ |
| | | type: String, |
| | | default: 'text' |
| | | }, |
| | | value: { |
| | | type: [String, Number], |
| | | default: '' |
| | | }, |
| | | placeholder: { |
| | | type: [String, Number], |
| | | default: '' |
| | | }, |
| | | type: { |
| | | type: String, |
| | | default: 'error' |
| | | }, |
| | | mode: { |
| | | type: String, |
| | | default: 'base' |
| | | }, |
| | | title: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | content: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | beforeClose: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | cancelText:{ |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | confirmText:{ |
| | | type: String, |
| | | default: '' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogType: 'error', |
| | | focus: false, |
| | | val: "" |
| | | } |
| | | }, |
| | | computed: { |
| | | okText() { |
| | | return this.confirmText || t("uni-popup.ok") |
| | | }, |
| | | closeText() { |
| | | return this.cancelText || t("uni-popup.cancel") |
| | | }, |
| | | placeholderText() { |
| | | return this.placeholder || t("uni-popup.placeholder") |
| | | }, |
| | | titleText() { |
| | | return this.title || t("uni-popup.title") |
| | | } |
| | | }, |
| | | watch: { |
| | | type(val) { |
| | | this.dialogType = val |
| | | }, |
| | | mode(val) { |
| | | if (val === 'input') { |
| | | this.dialogType = 'info' |
| | | } |
| | | }, |
| | | value(val) { |
| | | this.val = val |
| | | } |
| | | }, |
| | | created() { |
| | | // å¯¹è¯æ¡é®ç½©ä¸å¯ç¹å» |
| | | this.popup.disableMask() |
| | | // this.popup.closeMask() |
| | | if (this.mode === 'input') { |
| | | this.dialogType = 'info' |
| | | this.val = this.value |
| | | } else { |
| | | this.dialogType = this.type |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.focus = true |
| | | }, |
| | | methods: { |
| | | /** |
| | | * ç¹å»ç¡®è®¤æé® |
| | | */ |
| | | onOk() { |
| | | if (this.mode === 'input'){ |
| | | this.$emit('confirm', this.val) |
| | | }else{ |
| | | this.$emit('confirm') |
| | | } |
| | | if(this.beforeClose) return |
| | | this.popup.close() |
| | | }, |
| | | /** |
| | | * ç¹å»åæ¶æé® |
| | | */ |
| | | closeDialog() { |
| | | this.$emit('close') |
| | | if(this.beforeClose) return |
| | | this.popup.close() |
| | | }, |
| | | close(){ |
| | | this.popup.close() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" > |
| | | .uni-popup-dialog { |
| | | width: 300px; |
| | | border-radius: 11px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .uni-dialog-title { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | padding-top: 25px; |
| | | } |
| | | |
| | | .uni-dialog-title-text { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | .uni-dialog-content { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | align-items: center; |
| | | padding: 20px; |
| | | } |
| | | |
| | | .uni-dialog-content-text { |
| | | font-size: 14px; |
| | | color: #6C6C6C; |
| | | } |
| | | |
| | | .uni-dialog-button-group { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | border-top-color: #f5f5f5; |
| | | border-top-style: solid; |
| | | border-top-width: 1px; |
| | | } |
| | | |
| | | .uni-dialog-button { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | |
| | | flex: 1; |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | align-items: center; |
| | | height: 45px; |
| | | } |
| | | |
| | | .uni-border-left { |
| | | border-left-color: #f0f0f0; |
| | | border-left-style: solid; |
| | | border-left-width: 1px; |
| | | } |
| | | |
| | | .uni-dialog-button-text { |
| | | font-size: 16px; |
| | | color: #333; |
| | | } |
| | | |
| | | .uni-button-color { |
| | | color: #007aff; |
| | | } |
| | | |
| | | .uni-dialog-input { |
| | | flex: 1; |
| | | font-size: 14px; |
| | | border: 1px #eee solid; |
| | | height: 40px; |
| | | padding: 0 10px; |
| | | border-radius: 5px; |
| | | color: #555; |
| | | } |
| | | |
| | | .uni-popup__success { |
| | | color: #4cd964; |
| | | } |
| | | |
| | | .uni-popup__warn { |
| | | color: #f0ad4e; |
| | | } |
| | | |
| | | .uni-popup__error { |
| | | color: #dd524d; |
| | | } |
| | | |
| | | .uni-popup__info { |
| | | color: #909399; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="uni-popup-message"> |
| | | <view class="uni-popup-message__box fixforpc-width" :class="'uni-popup__'+type"> |
| | | <slot> |
| | | <text class="uni-popup-message-text" :class="'uni-popup__'+type+'-text'">{{message}}</text> |
| | | </slot> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import popup from '../uni-popup/popup.js' |
| | | /** |
| | | * PopUp å¼¹åºå±-æ¶æ¯æç¤º |
| | | * @description å¼¹åºå±-æ¶æ¯æç¤º |
| | | * @tutorial https://ext.dcloud.net.cn/plugin?id=329 |
| | | * @property {String} type = [success|warning|info|error] 䏻颿 ·å¼ |
| | | * @value success æå |
| | | * @value warning æç¤º |
| | | * @value info æ¶æ¯ |
| | | * @value error é误 |
| | | * @property {String} message æ¶æ¯æç¤ºæå |
| | | * @property {String} duration æ¾ç¤ºæ¶é´ï¼è®¾ç½®ä¸º 0 åä¸ä¼èªå¨å
³é |
| | | */ |
| | | |
| | | export default { |
| | | name: 'uniPopupMessage', |
| | | mixins:[popup], |
| | | props: { |
| | | /** |
| | | * ä¸»é¢ success/warning/info/error é»è®¤ success |
| | | */ |
| | | type: { |
| | | type: String, |
| | | default: 'success' |
| | | }, |
| | | /** |
| | | * æ¶æ¯æå |
| | | */ |
| | | message: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | /** |
| | | * æ¾ç¤ºæ¶é´ï¼è®¾ç½®ä¸º 0 åä¸ä¼èªå¨å
³é |
| | | */ |
| | | duration: { |
| | | type: Number, |
| | | default: 3000 |
| | | }, |
| | | maskShow:{ |
| | | type:Boolean, |
| | | default:false |
| | | } |
| | | }, |
| | | data() { |
| | | return {} |
| | | }, |
| | | created() { |
| | | this.popup.maskShow = this.maskShow |
| | | this.popup.messageChild = this |
| | | }, |
| | | methods: { |
| | | timerClose(){ |
| | | if(this.duration === 0) return |
| | | clearTimeout(this.timer) |
| | | this.timer = setTimeout(()=>{ |
| | | this.popup.close() |
| | | },this.duration) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" > |
| | | .uni-popup-message { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .uni-popup-message__box { |
| | | background-color: #e1f3d8; |
| | | padding: 10px 15px; |
| | | border-color: #eee; |
| | | border-style: solid; |
| | | border-width: 1px; |
| | | flex: 1; |
| | | } |
| | | |
| | | @media screen and (min-width: 500px) { |
| | | .fixforpc-width { |
| | | margin-top: 20px; |
| | | border-radius: 4px; |
| | | flex: none; |
| | | min-width: 380px; |
| | | /* #ifndef APP-NVUE */ |
| | | max-width: 50%; |
| | | /* #endif */ |
| | | /* #ifdef APP-NVUE */ |
| | | max-width: 500px; |
| | | /* #endif */ |
| | | } |
| | | } |
| | | |
| | | .uni-popup-message-text { |
| | | font-size: 14px; |
| | | padding: 0; |
| | | } |
| | | |
| | | .uni-popup__success { |
| | | background-color: #e1f3d8; |
| | | } |
| | | |
| | | .uni-popup__success-text { |
| | | color: #67C23A; |
| | | } |
| | | |
| | | .uni-popup__warn { |
| | | background-color: #faecd8; |
| | | } |
| | | |
| | | .uni-popup__warn-text { |
| | | color: #E6A23C; |
| | | } |
| | | |
| | | .uni-popup__error { |
| | | background-color: #fde2e2; |
| | | } |
| | | |
| | | .uni-popup__error-text { |
| | | color: #F56C6C; |
| | | } |
| | | |
| | | .uni-popup__info { |
| | | background-color: #F2F6FC; |
| | | } |
| | | |
| | | .uni-popup__info-text { |
| | | color: #909399; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="uni-popup-share"> |
| | | <view class="uni-share-title"><text class="uni-share-title-text">{{shareTitleText}}</text></view> |
| | | <view class="uni-share-content"> |
| | | <view class="uni-share-content-box"> |
| | | <view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index" @click.stop="select(item,index)"> |
| | | <image class="uni-share-image" :src="item.icon" mode="aspectFill"></image> |
| | | <text class="uni-share-text">{{item.text}}</text> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | <view class="uni-share-button-box"> |
| | | <button class="uni-share-button" @click="close">{{cancelText}}</button> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import popup from '../uni-popup/popup.js' |
| | | import { |
| | | initVueI18n |
| | | } from '@dcloudio/uni-i18n' |
| | | import messages from '../uni-popup/i18n/index.js' |
| | | const { t } = initVueI18n(messages) |
| | | export default { |
| | | name: 'UniPopupShare', |
| | | mixins:[popup], |
| | | emits:['select'], |
| | | props: { |
| | | title: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | beforeClose: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | bottomData: [{ |
| | | text: '微信', |
| | | icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/c2b17470-50be-11eb-b680-7980c8a877b8.png', |
| | | name: 'wx' |
| | | }, |
| | | { |
| | | text: 'æ¯ä»å®', |
| | | icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png', |
| | | name: 'wx' |
| | | }, |
| | | { |
| | | text: 'QQ', |
| | | icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png', |
| | | name: 'qq' |
| | | }, |
| | | { |
| | | text: 'æ°æµª', |
| | | icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png', |
| | | name: 'sina' |
| | | }, |
| | | // { |
| | | // text: 'ç¾åº¦', |
| | | // icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/1ec6e920-50bf-11eb-8a36-ebb87efcf8c0.png', |
| | | // name: 'copy' |
| | | // }, |
| | | // { |
| | | // text: 'å
¶ä»', |
| | | // icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/2e0fdfe0-50bf-11eb-b997-9918a5dda011.png', |
| | | // name: 'more' |
| | | // } |
| | | ] |
| | | } |
| | | }, |
| | | created() {}, |
| | | computed: { |
| | | cancelText() { |
| | | return t("uni-popup.cancel") |
| | | }, |
| | | shareTitleText() { |
| | | return this.title || t("uni-popup.shareTitle") |
| | | } |
| | | }, |
| | | methods: { |
| | | /** |
| | | * éæ©å
容 |
| | | */ |
| | | select(item, index) { |
| | | this.$emit('select', { |
| | | item, |
| | | index |
| | | }) |
| | | this.close() |
| | | |
| | | }, |
| | | /** |
| | | * å
³éçªå£ |
| | | */ |
| | | close() { |
| | | if(this.beforeClose) return |
| | | this.popup.close() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" > |
| | | .uni-popup-share { |
| | | background-color: #fff; |
| | | border-top-left-radius: 11px; |
| | | border-top-right-radius: 11px; |
| | | } |
| | | .uni-share-title { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | align-items: center; |
| | | justify-content: center; |
| | | height: 40px; |
| | | } |
| | | .uni-share-title-text { |
| | | font-size: 14px; |
| | | color: #666; |
| | | } |
| | | .uni-share-content { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | justify-content: center; |
| | | padding-top: 10px; |
| | | } |
| | | |
| | | .uni-share-content-box { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | flex-wrap: wrap; |
| | | width: 360px; |
| | | } |
| | | |
| | | .uni-share-content-item { |
| | | width: 90px; |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | padding: 10px 0; |
| | | align-items: center; |
| | | } |
| | | |
| | | .uni-share-content-item:active { |
| | | background-color: #f5f5f5; |
| | | } |
| | | |
| | | .uni-share-image { |
| | | width: 30px; |
| | | height: 30px; |
| | | } |
| | | |
| | | .uni-share-text { |
| | | margin-top: 10px; |
| | | font-size: 14px; |
| | | color: #3B4144; |
| | | } |
| | | |
| | | .uni-share-button-box { |
| | | /* #ifndef APP-NVUE */ |
| | | display: flex; |
| | | /* #endif */ |
| | | flex-direction: row; |
| | | padding: 10px 15px; |
| | | } |
| | | |
| | | .uni-share-button { |
| | | flex: 1; |
| | | border-radius: 50px; |
| | | color: #666; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .uni-share-button::after { |
| | | border-radius: 50px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "uni-popup.cancel": "cancel", |
| | | "uni-popup.ok": "ok", |
| | | "uni-popup.placeholder": "pleace enter", |
| | | "uni-popup.title": "Hint", |
| | | "uni-popup.shareTitle": "Share to" |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import en from './en.json' |
| | | import zhHans from './zh-Hans.json' |
| | | import zhHant from './zh-Hant.json' |
| | | export default { |
| | | en, |
| | | 'zh-Hans': zhHans, |
| | | 'zh-Hant': zhHant |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "uni-popup.cancel": "åæ¶", |
| | | "uni-popup.ok": "ç¡®å®", |
| | | "uni-popup.placeholder": "请è¾å
¥", |
| | | "uni-popup.title": "æç¤º", |
| | | "uni-popup.shareTitle": "å享å°" |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "uni-popup.cancel": "åæ¶", |
| | | "uni-popup.ok": "確å®", |
| | | "uni-popup.placeholder": "è«è¼¸å
¥", |
| | | "uni-popup.title": "æç¤º", |
| | | "uni-popup.shareTitle": "å享å°" |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // #ifdef H5 |
| | | export default { |
| | | name: 'Keypress', |
| | | props: { |
| | | disable: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | mounted () { |
| | | const keyNames = { |
| | | esc: ['Esc', 'Escape'], |
| | | tab: 'Tab', |
| | | enter: 'Enter', |
| | | space: [' ', 'Spacebar'], |
| | | up: ['Up', 'ArrowUp'], |
| | | left: ['Left', 'ArrowLeft'], |
| | | right: ['Right', 'ArrowRight'], |
| | | down: ['Down', 'ArrowDown'], |
| | | delete: ['Backspace', 'Delete', 'Del'] |
| | | } |
| | | const listener = ($event) => { |
| | | if (this.disable) { |
| | | return |
| | | } |
| | | const keyName = Object.keys(keyNames).find(key => { |
| | | const keyName = $event.key |
| | | const value = keyNames[key] |
| | | return value === keyName || (Array.isArray(value) && value.includes(keyName)) |
| | | }) |
| | | if (keyName) { |
| | | // é¿å
åå
¶ä»æé®äºä»¶å²çª |
| | | setTimeout(() => { |
| | | this.$emit(keyName, {}) |
| | | }, 0) |
| | | } |
| | | } |
| | | document.addEventListener('keyup', listener) |
| | | // this.$once('hook:beforeDestroy', () => { |
| | | // document.removeEventListener('keyup', listener) |
| | | // }) |
| | | }, |
| | | render: () => {} |
| | | } |
| | | // #endif |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | |
| | | } |
| | | }, |
| | | created(){ |
| | | this.popup = this.getParent() |
| | | }, |
| | | methods:{ |
| | | /** |
| | | * è·åç¶å
ç´ å®ä¾ |
| | | */ |
| | | getParent(name = 'uniPopup') { |
| | | let parent = this.$parent; |
| | | let parentName = parent.$options.name; |
| | | while (parentName !== name) { |
| | | parent = parent.$parent; |
| | | if (!parent) return false |
| | | parentName = parent.$options.name; |
| | | } |
| | | return parent; |
| | | }, |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view v-if="showPopup" class="uni-popup" :class="[popupstyle, isDesktop ? 'fixforpc-z-index' : '']"> |
| | | <view @touchstart="touchstart"> |
| | | <uni-transition key="1" v-if="maskShow" name="mask" mode-class="fade" :styles="maskClass" |
| | | :duration="duration" :show="showTrans" @click="onTap" /> |
| | | <uni-transition key="2" :mode-class="ani" name="content" :styles="transClass" :duration="duration" |
| | | :show="showTrans" @click="onTap"> |
| | | <view class="uni-popup__wrapper" :style="{ backgroundColor: bg }" :class="[popupstyle]" @click="clear"> |
| | | <slot /> |
| | | </view> |
| | | </uni-transition> |
| | | </view> |
| | | <!-- #ifdef H5 --> |
| | | <keypress v-if="maskShow" @esc="onTap" /> |
| | | <!-- #endif --> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | // #ifdef H5 |
| | | import keypress from './keypress.js' |
| | | // #endif |
| | | |
| | | /** |
| | | * PopUp å¼¹åºå± |
| | | * @description å¼¹åºå±ç»ä»¶ï¼ä¸ºäºè§£å³é®ç½©å¼¹å±çé®é¢ |
| | | * @tutorial https://ext.dcloud.net.cn/plugin?id=329 |
| | | * @property {String} type = [top|center|bottom|left|right|message|dialog|share] å¼¹åºæ¹å¼ |
| | | * @value top é¡¶é¨å¼¹åº |
| | | * @value center ä¸é´å¼¹åº |
| | | * @value bottom åºé¨å¼¹åº |
| | | * @value left å·¦ä¾§å¼¹åº |
| | | * @value right å³ä¾§å¼¹åº |
| | | * @value message æ¶æ¯æç¤º |
| | | * @value dialog å¯¹è¯æ¡ |
| | | * @value share åºé¨åäº«ç¤ºä¾ |
| | | * @property {Boolean} animation = [true|false] æ¯å¦å¼å¯å¨ç» |
| | | * @property {Boolean} maskClick = [true|false] èçç¹å»æ¯å¦å
³éå¼¹çª(åºå¼) |
| | | * @property {Boolean} isMaskClick = [true|false] èçç¹å»æ¯å¦å
³éå¼¹çª |
| | | * @property {String} backgroundColor 主çªå£èæ¯è² |
| | | * @property {String} maskBackgroundColor èçé¢è² |
| | | * @property {Boolean} safeArea æ¯å¦éé
åºé¨å®å
¨åº |
| | | * @event {Function} change æå¼å
³éå¼¹çªè§¦åï¼e={show: false} |
| | | * @event {Function} maskClick ç¹å»é®ç½©è§¦å |
| | | */ |
| | | |
| | | export default { |
| | | name: 'uniPopup', |
| | | components: { |
| | | // #ifdef H5 |
| | | keypress |
| | | // #endif |
| | | }, |
| | | emits: ['change', 'maskClick'], |
| | | props: { |
| | | // å¼å¯å¨ç» |
| | | animation: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | // å¼¹åºå±ç±»åï¼å¯éå¼ï¼top: é¡¶é¨å¼¹åºå±ï¼bottomï¼åºé¨å¼¹åºå±ï¼centerï¼å
¨å±å¼¹åºå± |
| | | // message: æ¶æ¯æç¤º ; dialog : å¯¹è¯æ¡ |
| | | type: { |
| | | type: String, |
| | | default: 'center' |
| | | }, |
| | | // maskClick |
| | | isMaskClick: { |
| | | type: Boolean, |
| | | default: null |
| | | }, |
| | | // TODO 2 ä¸ªçæ¬ååºå¼å±æ§ ï¼ä½¿ç¨ isMaskClick |
| | | maskClick: { |
| | | type: Boolean, |
| | | default: null |
| | | }, |
| | | backgroundColor: { |
| | | type: String, |
| | | default: 'none' |
| | | }, |
| | | safeArea: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | maskBackgroundColor: { |
| | | type: String, |
| | | default: 'rgba(0, 0, 0, 0.4)' |
| | | }, |
| | | }, |
| | | |
| | | watch: { |
| | | /** |
| | | * çå¬typeç±»å |
| | | */ |
| | | type: { |
| | | handler: function(type) { |
| | | if (!this.config[type]) return |
| | | this[this.config[type]](true) |
| | | }, |
| | | immediate: true |
| | | }, |
| | | isDesktop: { |
| | | handler: function(newVal) { |
| | | if (!this.config[newVal]) return |
| | | this[this.config[this.type]](true) |
| | | }, |
| | | immediate: true |
| | | }, |
| | | /** |
| | | * çå¬é®ç½©æ¯å¦å¯ç¹å» |
| | | * @param {Object} val |
| | | */ |
| | | maskClick: { |
| | | handler: function(val) { |
| | | this.mkclick = val |
| | | }, |
| | | immediate: true |
| | | }, |
| | | isMaskClick: { |
| | | handler: function(val) { |
| | | this.mkclick = val |
| | | }, |
| | | immediate: true |
| | | }, |
| | | // H5 ä¸ç¦æ¢åºé¨æ»å¨ |
| | | showPopup(show) { |
| | | // #ifdef H5 |
| | | // fix by mehaotian å¤ç h5 æ»å¨ç©¿éçé®é¢ |
| | | document.getElementsByTagName('body')[0].style.overflow = show ? 'hidden' : 'visible' |
| | | // #endif |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | duration: 300, |
| | | ani: [], |
| | | showPopup: false, |
| | | showTrans: false, |
| | | popupWidth: 0, |
| | | popupHeight: 0, |
| | | config: { |
| | | top: 'top', |
| | | bottom: 'bottom', |
| | | center: 'center', |
| | | left: 'left', |
| | | right: 'right', |
| | | message: 'top', |
| | | dialog: 'center', |
| | | share: 'bottom' |
| | | }, |
| | | maskClass: { |
| | | position: 'fixed', |
| | | bottom: 0, |
| | | top: 0, |
| | | left: 0, |
| | | right: 0, |
| | | backgroundColor: 'rgba(0, 0, 0, 0.4)' |
| | | }, |
| | | transClass: { |
| | | position: 'fixed', |
| | | left: 0, |
| | | right: 0 |
| | | }, |
| | | maskShow: true, |
| | | mkclick: true, |
| | | popupstyle: this.isDesktop ? 'fixforpc-top' : 'top' |
| | | } |
| | | }, |
| | | computed: { |
| | | isDesktop() { |
| | | return this.popupWidth >= 500 && this.popupHeight >= 500 |
| | | }, |
| | | bg() { |
| | | if (this.backgroundColor === '' || this.backgroundColor === 'none') { |
| | | return 'transparent' |
| | | } |
| | | return this.backgroundColor |
| | | } |
| | | }, |
| | | mounted() { |
| | | const fixSize = () => { |
| | | const { |
| | | windowWidth, |
| | | windowHeight, |
| | | windowTop, |
| | | safeArea, |
| | | screenHeight, |
| | | safeAreaInsets |
| | | } = uni.getSystemInfoSync() |
| | | this.popupWidth = windowWidth |
| | | this.popupHeight = windowHeight + (windowTop || 0) |
| | | // TODO fix by mehaotian æ¯å¦éé
åºé¨å®å
¨åº ,ç®å微信ios ãå app ios è®¡ç®æå·®å¼ï¼éè¦æ¡æ¶ä¿®å¤ |
| | | if (safeArea && this.safeArea) { |
| | | // #ifdef MP-WEIXIN |
| | | this.safeAreaInsets = screenHeight - safeArea.bottom |
| | | // #endif |
| | | // #ifndef MP-WEIXIN |
| | | this.safeAreaInsets = safeAreaInsets.bottom |
| | | // #endif |
| | | } else { |
| | | this.safeAreaInsets = 0 |
| | | } |
| | | } |
| | | fixSize() |
| | | // #ifdef H5 |
| | | // window.addEventListener('resize', fixSize) |
| | | // this.$once('hook:beforeDestroy', () => { |
| | | // window.removeEventListener('resize', fixSize) |
| | | // }) |
| | | // #endif |
| | | }, |
| | | // #ifndef VUE3 |
| | | // TODO vue2 |
| | | destroyed() { |
| | | this.setH5Visible() |
| | | }, |
| | | // #endif |
| | | // #ifdef VUE3 |
| | | // TODO vue3 |
| | | unmounted() { |
| | | this.setH5Visible() |
| | | }, |
| | | // #endif |
| | | created() { |
| | | // this.mkclick = this.isMaskClick || this.maskClick |
| | | if (this.isMaskClick === null && this.maskClick === null) { |
| | | this.mkclick = true |
| | | } else { |
| | | this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick |
| | | } |
| | | if (this.animation) { |
| | | this.duration = 300 |
| | | } else { |
| | | this.duration = 0 |
| | | } |
| | | // TODO å¤ç message ç»ä»¶çå½å¨æå¼å¸¸çé®é¢ |
| | | this.messageChild = null |
| | | // TODO è§£å³å¤´æ¡å泡çé®é¢ |
| | | this.clearPropagation = false |
| | | this.maskClass.backgroundColor = this.maskBackgroundColor |
| | | }, |
| | | methods: { |
| | | setH5Visible() { |
| | | // #ifdef H5 |
| | | // fix by mehaotian å¤ç h5 æ»å¨ç©¿éçé®é¢ |
| | | document.getElementsByTagName('body')[0].style.overflow = 'visible' |
| | | // #endif |
| | | }, |
| | | /** |
| | | * å
¬ç¨æ¹æ³ï¼ä¸æ¾ç¤ºé®ç½©å± |
| | | */ |
| | | closeMask() { |
| | | this.maskShow = false |
| | | }, |
| | | /** |
| | | * å
¬ç¨æ¹æ³ï¼é®ç½©å±ç¦æ¢ç¹å» |
| | | */ |
| | | disableMask() { |
| | | this.mkclick = false |
| | | }, |
| | | // TODO nvue åæ¶åæ³¡ |
| | | clear(e) { |
| | | // #ifndef APP-NVUE |
| | | e.stopPropagation() |
| | | // #endif |
| | | this.clearPropagation = true |
| | | }, |
| | | |
| | | open(direction) { |
| | | // fix by mehaotian å¤çå¿«éæå¼å
³éçæ
åµ |
| | | if (this.showPopup) { |
| | | return |
| | | } |
| | | let innerType = ['top', 'center', 'bottom', 'left', 'right', 'message', 'dialog', 'share'] |
| | | if (!(direction && innerType.indexOf(direction) !== -1)) { |
| | | direction = this.type |
| | | } |
| | | if (!this.config[direction]) { |
| | | console.error('缺å°ç±»åï¼', direction) |
| | | return |
| | | } |
| | | this[this.config[direction]]() |
| | | this.$emit('change', { |
| | | show: true, |
| | | type: direction |
| | | }) |
| | | }, |
| | | close(type) { |
| | | this.showTrans = false |
| | | this.$emit('change', { |
| | | show: false, |
| | | type: this.type |
| | | }) |
| | | clearTimeout(this.timer) |
| | | // // èªå®ä¹å
³éäºä»¶ |
| | | // this.customOpen && this.customClose() |
| | | this.timer = setTimeout(() => { |
| | | this.showPopup = false |
| | | }, 300) |
| | | }, |
| | | // TODO å¤çåæ³¡äºä»¶ï¼å¤´æ¡çåæ³¡äºä»¶æé®é¢ ï¼å
è¿æ ·å
¼å®¹ |
| | | touchstart() { |
| | | this.clearPropagation = false |
| | | }, |
| | | |
| | | onTap() { |
| | | if (this.clearPropagation) { |
| | | // fix by mehaotian å
¼å®¹ nvue |
| | | this.clearPropagation = false |
| | | return |
| | | } |
| | | this.$emit('maskClick') |
| | | if (!this.mkclick) return |
| | | this.close() |
| | | }, |
| | | /** |
| | | * é¡¶é¨å¼¹åºæ ·å¼å¤ç |
| | | */ |
| | | top(type) { |
| | | this.popupstyle = this.isDesktop ? 'fixforpc-top' : 'top' |
| | | this.ani = ['slide-top'] |
| | | this.transClass = { |
| | | position: 'fixed', |
| | | left: 0, |
| | | right: 0, |
| | | backgroundColor: this.bg |
| | | } |
| | | // TODO å
¼å®¹ type 屿§ ï¼åç»ä¼åºå¼ |
| | | if (type) return |
| | | this.showPopup = true |
| | | this.showTrans = true |
| | | this.$nextTick(() => { |
| | | if (this.messageChild && this.type === 'message') { |
| | | this.messageChild.timerClose() |
| | | } |
| | | }) |
| | | }, |
| | | /** |
| | | * åºé¨å¼¹åºæ ·å¼å¤ç |
| | | */ |
| | | bottom(type) { |
| | | this.popupstyle = 'bottom' |
| | | this.ani = ['slide-bottom'] |
| | | this.transClass = { |
| | | position: 'fixed', |
| | | left: 0, |
| | | right: 0, |
| | | bottom: 0, |
| | | paddingBottom: this.safeAreaInsets + 'px', |
| | | backgroundColor: this.bg |
| | | } |
| | | // TODO å
¼å®¹ type 屿§ ï¼åç»ä¼åºå¼ |
| | | if (type) return |
| | | this.showPopup = true |
| | | this.showTrans = true |
| | | }, |
| | | /** |
| | | * ä¸é´å¼¹åºæ ·å¼å¤ç |
| | | */ |
| | | center(type) { |
| | | this.popupstyle = 'center' |
| | | this.ani = ['zoom-out', 'fade'] |
| | | this.transClass = { |
| | | position: 'fixed', |
| | | /* #ifndef APP-NVUE */ |
| | | display: 'flex', |
| | | flexDirection: 'column', |
| | | /* #endif */ |
| | | bottom: 0, |
| | | left: 0, |
| | | right: 0, |
| | | top: 0, |
| | | justifyContent: 'center', |
| | | alignItems: 'center' |
| | | } |
| | | // TODO å
¼å®¹ type 屿§ ï¼åç»ä¼åºå¼ |
| | | if (type) return |
| | | this.showPopup = true |
| | | this.showTrans = true |
| | | }, |
| | | left(type) { |
| | | this.popupstyle = 'left' |
| | | this.ani = ['slide-left'] |
| | | this.transClass = { |
| | | position: 'fixed', |
| | | left: 0, |
| | | bottom: 0, |
| | | top: 0, |
| | | backgroundColor: this.bg, |
| | | /* #ifndef APP-NVUE */ |
| | | display: 'flex', |
| | | flexDirection: 'column' |
| | | /* #endif */ |
| | | } |
| | | // TODO å
¼å®¹ type 屿§ ï¼åç»ä¼åºå¼ |
| | | if (type) return |
| | | this.showPopup = true |
| | | this.showTrans = true |
| | | }, |
| | | right(type) { |
| | | this.popupstyle = 'right' |
| | | this.ani = ['slide-right'] |
| | | this.transClass = { |
| | | position: 'fixed', |
| | | bottom: 0, |
| | | right: 0, |
| | | top: 0, |
| | | backgroundColor: this.bg, |
| | | /* #ifndef APP-NVUE */ |
| | | display: 'flex', |
| | | flexDirection: 'column' |
| | | /* #endif */ |
| | | } |
| | | // TODO å
¼å®¹ type 屿§ ï¼åç»ä¼åºå¼ |
| | | if (type) return |
| | | this.showPopup = true |
| | | this.showTrans = true |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss"> |
| | | .uni-popup { |
| | | position: fixed; |
| | | /* #ifndef APP-NVUE */ |
| | | z-index: 99; |
| | | |
| | | /* #endif */ |
| | | &.top, |
| | | &.left, |
| | | &.right { |
| | | /* #ifdef H5 */ |
| | | top: var(--window-top); |
| | | /* #endif */ |
| | | /* #ifndef H5 */ |
| | | top: 0; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .uni-popup__wrapper { |
| | | /* #ifndef APP-NVUE */ |
| | | display: block; |
| | | /* #endif */ |
| | | position: relative; |
| | | |
| | | /* iphonex çå®å
¨åºè®¾ç½®ï¼åºé¨å®å
¨åºéé
*/ |
| | | /* #ifndef APP-NVUE */ |
| | | // padding-bottom: constant(safe-area-inset-bottom); |
| | | // padding-bottom: env(safe-area-inset-bottom); |
| | | /* #endif */ |
| | | &.left, |
| | | &.right { |
| | | /* #ifdef H5 */ |
| | | padding-top: var(--window-top); |
| | | /* #endif */ |
| | | /* #ifndef H5 */ |
| | | padding-top: 0; |
| | | /* #endif */ |
| | | flex: 1; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .fixforpc-z-index { |
| | | /* #ifndef APP-NVUE */ |
| | | z-index: 999; |
| | | /* #endif */ |
| | | } |
| | | |
| | | .fixforpc-top { |
| | | top: 0; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "id": "uni-popup", |
| | | "displayName": "uni-popup å¼¹åºå±", |
| | | "version": "1.8.3", |
| | | "description": " Popup ç»ä»¶ï¼æä¾å¸¸ç¨çå¼¹å±", |
| | | "keywords": [ |
| | | "uni-ui", |
| | | "å¼¹åºå±", |
| | | "å¼¹çª", |
| | | "popup", |
| | | "å¼¹æ¡" |
| | | ], |
| | | "repository": "https://github.com/dcloudio/uni-ui", |
| | | "engines": { |
| | | "HBuilderX": "" |
| | | }, |
| | | "directories": { |
| | | "example": "../../temps/example_temps" |
| | | }, |
| | | "dcloudext": { |
| | | "sale": { |
| | | "regular": { |
| | | "price": "0.00" |
| | | }, |
| | | "sourcecode": { |
| | | "price": "0.00" |
| | | } |
| | | }, |
| | | "contact": { |
| | | "qq": "" |
| | | }, |
| | | "declaration": { |
| | | "ads": "æ ", |
| | | "data": "æ ", |
| | | "permissions": "æ " |
| | | }, |
| | | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", |
| | | "type": "component-vue" |
| | | }, |
| | | "uni_modules": { |
| | | "dependencies": [ |
| | | "uni-scss", |
| | | "uni-transition" |
| | | ], |
| | | "encrypt": [], |
| | | "platforms": { |
| | | "cloud": { |
| | | "tcb": "y", |
| | | "aliyun": "y" |
| | | }, |
| | | "client": { |
| | | "App": { |
| | | "app-vue": "y", |
| | | "app-nvue": "y" |
| | | }, |
| | | "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" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | |
| | | ## Popup å¼¹åºå± |
| | | > **ç»ä»¶åï¼uni-popup** |
| | | > 代ç åï¼ `uPopup` |
| | | > å
³èç»ä»¶ï¼`uni-transition` |
| | | |
| | | |
| | | å¼¹åºå±ç»ä»¶ï¼å¨åºç¨ä¸å¼¹åºä¸ä¸ªæ¶æ¯æç¤ºçªå£ãæç¤ºæ¡ç |
| | | |
| | | ### [æ¥çææ¡£](https://uniapp.dcloud.io/component/uniui/uni-popup) |
| | | #### å¦ä½¿ç¨è¿ç¨ä¸æä»»ä½é®é¢ï¼æè
æ¨å¯¹uni-uiæä¸äºå¥½çå»ºè®®ï¼æ¬¢è¿å å
¥ uni-ui 交æµç¾¤ï¼871950839 |
| | | |
| | | |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## 1.0.3ï¼2022-01-21ï¼ |
| | | - ä¼å ç»ä»¶ç¤ºä¾ |
| | | ## 1.0.2ï¼2021-11-22ï¼ |
| | | - ä¿®å¤ / 符å·å¨ vue ä¸åçæ¬å
¼å®¹é®é¢å¼èµ·çæ¥éé®é¢ |
| | | ## 1.0.1ï¼2021-11-22ï¼ |
| | | - ä¿®å¤ vue3ä¸scssè¯æ³å
¼å®¹é®é¢ |
| | | ## 1.0.0ï¼2021-11-18ï¼ |
| | | - init |
¶Ô±ÈÐÂÎļþ |
| | |
| | | @import './styles/index.scss'; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "id": "uni-scss", |
| | | "displayName": "uni-scss è¾
婿 ·å¼", |
| | | "version": "1.0.3", |
| | | "description": "uni-sassæ¯uni-uiæä¾çä¸å¥å
¨å±æ ·å¼ ï¼éè¿ä¸äºç®åçç±»ååsassåéï¼å®ç°ç®åç页é¢å¸å±æä½ï¼æ¯å¦é¢è²ãè¾¹è·ãåè§çã", |
| | | "keywords": [ |
| | | "uni-scss", |
| | | "uni-ui", |
| | | "è¾
婿 ·å¼" |
| | | ], |
| | | "repository": "https://github.com/dcloudio/uni-ui", |
| | | "engines": { |
| | | "HBuilderX": "^3.1.0" |
| | | }, |
| | | "dcloudext": { |
| | | "category": [ |
| | | "JS SDK", |
| | | "éç¨ SDK" |
| | | ], |
| | | "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": [], |
| | | "encrypt": [], |
| | | "platforms": { |
| | | "cloud": { |
| | | "tcb": "y", |
| | | "aliyun": "y" |
| | | }, |
| | | "client": { |
| | | "App": { |
| | | "app-vue": "y", |
| | | "app-nvue": "u" |
| | | }, |
| | | "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" |
| | | }, |
| | | "å¿«åºç¨": { |
| | | "å为": "n", |
| | | "èç": "n" |
| | | }, |
| | | "Vue": { |
| | | "vue2": "y", |
| | | "vue3": "y" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | `uni-sass` æ¯ `uni-ui`æä¾çä¸å¥å
¨å±æ ·å¼ ï¼éè¿ä¸äºç®åçç±»åå`sass`åéï¼å®ç°ç®åç页é¢å¸å±æä½ï¼æ¯å¦é¢è²ãè¾¹è·ãåè§çã |
| | | |
| | | ### [æ¥çææ¡£](https://uniapp.dcloud.io/component/uniui/uni-sass) |
| | | #### å¦ä½¿ç¨è¿ç¨ä¸æä»»ä½é®é¢ï¼æè
æ¨å¯¹uni-uiæä¸äºå¥½çå»ºè®®ï¼æ¬¢è¿å å
¥ uni-ui 交æµç¾¤ï¼871950839 |
¶Ô±ÈÐÂÎļþ |
| | |
| | | @import './setting/_variables.scss'; |
| | | @import './setting/_border.scss'; |
| | | @import './setting/_color.scss'; |
| | | @import './setting/_space.scss'; |
| | | @import './setting/_radius.scss'; |
| | | @import './setting/_text.scss'; |
| | | @import './setting/_styles.scss'; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | .uni-border { |
| | | border: 1px $uni-border-1 solid; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | // TODO ææ¶ä¸éè¦ class ï¼éè¦ç¨æ·ä½¿ç¨åéå®ç° ï¼å¦æä½¿ç¨ç±»åå
¶å®å¹¶ä¸æ¨è |
| | | // @mixin get-styles($k,$c) { |
| | | // @if $k == size or $k == weight{ |
| | | // font-#{$k}:#{$c} |
| | | // }@else{ |
| | | // #{$k}:#{$c} |
| | | // } |
| | | // } |
| | | $uni-ui-color:( |
| | | // ä¸»è² |
| | | primary: $uni-primary, |
| | | primary-disable: $uni-primary-disable, |
| | | primary-light: $uni-primary-light, |
| | | // è¾
å©è² |
| | | success: $uni-success, |
| | | success-disable: $uni-success-disable, |
| | | success-light: $uni-success-light, |
| | | warning: $uni-warning, |
| | | warning-disable: $uni-warning-disable, |
| | | warning-light: $uni-warning-light, |
| | | error: $uni-error, |
| | | error-disable: $uni-error-disable, |
| | | error-light: $uni-error-light, |
| | | info: $uni-info, |
| | | info-disable: $uni-info-disable, |
| | | info-light: $uni-info-light, |
| | | // 䏿§è² |
| | | main-color: $uni-main-color, |
| | | base-color: $uni-base-color, |
| | | secondary-color: $uni-secondary-color, |
| | | extra-color: $uni-extra-color, |
| | | // èæ¯è² |
| | | bg-color: $uni-bg-color, |
| | | // è¾¹æ¡é¢è² |
| | | border-1: $uni-border-1, |
| | | border-2: $uni-border-2, |
| | | border-3: $uni-border-3, |
| | | border-4: $uni-border-4, |
| | | // é»è² |
| | | black:$uni-black, |
| | | // ç½è² |
| | | white:$uni-white, |
| | | // éæ |
| | | transparent:$uni-transparent |
| | | ) !default; |
| | | @each $key, $child in $uni-ui-color { |
| | | .uni-#{"" + $key} { |
| | | color: $child; |
| | | } |
| | | .uni-#{"" + $key}-bg { |
| | | background-color: $child; |
| | | } |
| | | } |
| | | .uni-shadow-sm { |
| | | box-shadow: $uni-shadow-sm; |
| | | } |
| | | .uni-shadow-base { |
| | | box-shadow: $uni-shadow-base; |
| | | } |
| | | .uni-shadow-lg { |
| | | box-shadow: $uni-shadow-lg; |
| | | } |
| | | .uni-mask { |
| | | background-color:$uni-mask; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | @mixin radius($r,$d:null ,$important: false){ |
| | | $radius-value:map-get($uni-radius, $r) if($important, !important, null); |
| | | // Key exists within the $uni-radius variable |
| | | @if (map-has-key($uni-radius, $r) and $d){ |
| | | @if $d == t { |
| | | border-top-left-radius:$radius-value; |
| | | border-top-right-radius:$radius-value; |
| | | }@else if $d == r { |
| | | border-top-right-radius:$radius-value; |
| | | border-bottom-right-radius:$radius-value; |
| | | }@else if $d == b { |
| | | border-bottom-left-radius:$radius-value; |
| | | border-bottom-right-radius:$radius-value; |
| | | }@else if $d == l { |
| | | border-top-left-radius:$radius-value; |
| | | border-bottom-left-radius:$radius-value; |
| | | }@else if $d == tl { |
| | | border-top-left-radius:$radius-value; |
| | | }@else if $d == tr { |
| | | border-top-right-radius:$radius-value; |
| | | }@else if $d == br { |
| | | border-bottom-right-radius:$radius-value; |
| | | }@else if $d == bl { |
| | | border-bottom-left-radius:$radius-value; |
| | | } |
| | | }@else{ |
| | | border-radius:$radius-value; |
| | | } |
| | | } |
| | | |
| | | @each $key, $child in $uni-radius { |
| | | @if($key){ |
| | | .uni-radius-#{"" + $key} { |
| | | @include radius($key) |
| | | } |
| | | }@else{ |
| | | .uni-radius { |
| | | @include radius($key) |
| | | } |
| | | } |
| | | } |
| | | |
| | | @each $direction in t, r, b, l,tl, tr, br, bl { |
| | | @each $key, $child in $uni-radius { |
| | | @if($key){ |
| | | .uni-radius-#{"" + $direction}-#{"" + $key} { |
| | | @include radius($key,$direction,false) |
| | | } |
| | | }@else{ |
| | | .uni-radius-#{$direction} { |
| | | @include radius($key,$direction,false) |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | @mixin fn($space,$direction,$size,$n) { |
| | | @if $n { |
| | | #{$space}-#{$direction}: #{$size*$uni-space-root}px |
| | | } @else { |
| | | #{$space}-#{$direction}: #{-$size*$uni-space-root}px |
| | | } |
| | | } |
| | | @mixin get-styles($direction,$i,$space,$n){ |
| | | @if $direction == t { |
| | | @include fn($space, top,$i,$n); |
| | | } |
| | | @if $direction == r { |
| | | @include fn($space, right,$i,$n); |
| | | } |
| | | @if $direction == b { |
| | | @include fn($space, bottom,$i,$n); |
| | | } |
| | | @if $direction == l { |
| | | @include fn($space, left,$i,$n); |
| | | } |
| | | @if $direction == x { |
| | | @include fn($space, left,$i,$n); |
| | | @include fn($space, right,$i,$n); |
| | | } |
| | | @if $direction == y { |
| | | @include fn($space, top,$i,$n); |
| | | @include fn($space, bottom,$i,$n); |
| | | } |
| | | @if $direction == a { |
| | | @if $n { |
| | | #{$space}:#{$i*$uni-space-root}px; |
| | | } @else { |
| | | #{$space}:#{-$i*$uni-space-root}px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | @each $orientation in m,p { |
| | | $space: margin; |
| | | @if $orientation == m { |
| | | $space: margin; |
| | | } @else { |
| | | $space: padding; |
| | | } |
| | | @for $i from 0 through 16 { |
| | | @each $direction in t, r, b, l, x, y, a { |
| | | .uni-#{$orientation}#{$direction}-#{$i} { |
| | | @include get-styles($direction,$i,$space,true); |
| | | } |
| | | .uni-#{$orientation}#{$direction}-n#{$i} { |
| | | @include get-styles($direction,$i,$space,false); |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | /* #ifndef APP-NVUE */ |
| | | |
| | | $-color-white:#fff; |
| | | $-color-black:#000; |
| | | @mixin base-style($color) { |
| | | color: #fff; |
| | | background-color: $color; |
| | | border-color: mix($-color-black, $color, 8%); |
| | | &:not([hover-class]):active { |
| | | background: mix($-color-black, $color, 10%); |
| | | border-color: mix($-color-black, $color, 20%); |
| | | color: $-color-white; |
| | | outline: none; |
| | | } |
| | | } |
| | | @mixin is-color($color) { |
| | | @include base-style($color); |
| | | &[loading] { |
| | | @include base-style($color); |
| | | &::before { |
| | | margin-right:5px; |
| | | } |
| | | } |
| | | &[disabled] { |
| | | &, |
| | | &[loading], |
| | | &:not([hover-class]):active { |
| | | color: $-color-white; |
| | | border-color: mix(darken($color,10%), $-color-white); |
| | | background-color: mix($color, $-color-white); |
| | | } |
| | | } |
| | | |
| | | } |
| | | @mixin base-plain-style($color) { |
| | | color:$color; |
| | | background-color: mix($-color-white, $color, 90%); |
| | | border-color: mix($-color-white, $color, 70%); |
| | | &:not([hover-class]):active { |
| | | background: mix($-color-white, $color, 80%); |
| | | color: $color; |
| | | outline: none; |
| | | border-color: mix($-color-white, $color, 50%); |
| | | } |
| | | } |
| | | @mixin is-plain($color){ |
| | | &[plain] { |
| | | @include base-plain-style($color); |
| | | &[loading] { |
| | | @include base-plain-style($color); |
| | | &::before { |
| | | margin-right:5px; |
| | | } |
| | | } |
| | | &[disabled] { |
| | | &, |
| | | &:active { |
| | | color: mix($-color-white, $color, 40%); |
| | | background-color: mix($-color-white, $color, 90%); |
| | | border-color: mix($-color-white, $color, 80%); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | .uni-btn { |
| | | margin: 5px; |
| | | color: #393939; |
| | | border:1px solid #ccc; |
| | | font-size: 16px; |
| | | font-weight: 200; |
| | | background-color: #F9F9F9; |
| | | // TODO ææ¶å¤çè¾¹æ¡éèä¸è¾¹çé®é¢ |
| | | overflow: visible; |
| | | &::after{ |
| | | border: none; |
| | | } |
| | | |
| | | &:not([type]),&[type=default] { |
| | | color: #999; |
| | | &[loading] { |
| | | background: none; |
| | | &::before { |
| | | margin-right:5px; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | &[disabled]{ |
| | | color: mix($-color-white, #999, 60%); |
| | | &, |
| | | &[loading], |
| | | &:active { |
| | | color: mix($-color-white, #999, 60%); |
| | | background-color: mix($-color-white,$-color-black , 98%); |
| | | border-color: mix($-color-white, #999, 85%); |
| | | } |
| | | } |
| | | |
| | | &[plain] { |
| | | color: #999; |
| | | background: none; |
| | | border-color: $uni-border-1; |
| | | &:not([hover-class]):active { |
| | | background: none; |
| | | color: mix($-color-white, $-color-black, 80%); |
| | | border-color: mix($-color-white, $-color-black, 90%); |
| | | outline: none; |
| | | } |
| | | &[disabled]{ |
| | | &, |
| | | &[loading], |
| | | &:active { |
| | | background: none; |
| | | color: mix($-color-white, #999, 60%); |
| | | border-color: mix($-color-white, #999, 85%); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | &:not([hover-class]):active { |
| | | color: mix($-color-white, $-color-black, 50%); |
| | | } |
| | | |
| | | &[size=mini] { |
| | | font-size: 16px; |
| | | font-weight: 200; |
| | | border-radius: 8px; |
| | | } |
| | | |
| | | |
| | | |
| | | &.uni-btn-small { |
| | | font-size: 14px; |
| | | } |
| | | &.uni-btn-mini { |
| | | font-size: 12px; |
| | | } |
| | | |
| | | &.uni-btn-radius { |
| | | border-radius: 999px; |
| | | } |
| | | &[type=primary] { |
| | | @include is-color($uni-primary); |
| | | @include is-plain($uni-primary) |
| | | } |
| | | &[type=success] { |
| | | @include is-color($uni-success); |
| | | @include is-plain($uni-success) |
| | | } |
| | | &[type=error] { |
| | | @include is-color($uni-error); |
| | | @include is-plain($uni-error) |
| | | } |
| | | &[type=warning] { |
| | | @include is-color($uni-warning); |
| | | @include is-plain($uni-warning) |
| | | } |
| | | &[type=info] { |
| | | @include is-color($uni-info); |
| | | @include is-plain($uni-info) |
| | | } |
| | | } |
| | | /* #endif */ |
¶Ô±ÈÐÂÎļþ |
| | |
| | | @mixin get-styles($k,$c) { |
| | | @if $k == size or $k == weight{ |
| | | font-#{$k}:#{$c} |
| | | }@else{ |
| | | #{$k}:#{$c} |
| | | } |
| | | } |
| | | |
| | | @each $key, $child in $uni-headings { |
| | | /* #ifndef APP-NVUE */ |
| | | .uni-#{$key} { |
| | | @each $k, $c in $child { |
| | | @include get-styles($k,$c) |
| | | } |
| | | } |
| | | /* #endif */ |
| | | /* #ifdef APP-NVUE */ |
| | | .container .uni-#{$key} { |
| | | @each $k, $c in $child { |
| | | @include get-styles($k,$c) |
| | | } |
| | | } |
| | | /* #endif */ |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // @use "sass:math"; |
| | | @import '../tools/functions.scss'; |
| | | // é´è·åºç¡åæ° |
| | | $uni-space-root: 2 !default; |
| | | // è¾¹æ¡åå¾é»è®¤å¼ |
| | | $uni-radius-root:5px !default; |
| | | $uni-radius: () !default; |
| | | // è¾¹æ¡åå¾æç¹ |
| | | $uni-radius: map-deep-merge( |
| | | ( |
| | | 0: 0, |
| | | // TODO å½åçæ¬ææ¶ä¸æ¯æ sm 屿§ |
| | | // 'sm': math.div($uni-radius-root, 2), |
| | | null: $uni-radius-root, |
| | | 'lg': $uni-radius-root * 2, |
| | | 'xl': $uni-radius-root * 6, |
| | | 'pill': 9999px, |
| | | 'circle': 50% |
| | | ), |
| | | $uni-radius |
| | | ); |
| | | // åä½å®¶æ |
| | | $body-font-family: 'Roboto', sans-serif !default; |
| | | // ææ¬ |
| | | $heading-font-family: $body-font-family !default; |
| | | $uni-headings: () !default; |
| | | $letterSpacing: -0.01562em; |
| | | $uni-headings: map-deep-merge( |
| | | ( |
| | | 'h1': ( |
| | | size: 32px, |
| | | weight: 300, |
| | | line-height: 50px, |
| | | // letter-spacing:-0.01562em |
| | | ), |
| | | 'h2': ( |
| | | size: 28px, |
| | | weight: 300, |
| | | line-height: 40px, |
| | | // letter-spacing: -0.00833em |
| | | ), |
| | | 'h3': ( |
| | | size: 24px, |
| | | weight: 400, |
| | | line-height: 32px, |
| | | // letter-spacing: normal |
| | | ), |
| | | 'h4': ( |
| | | size: 20px, |
| | | weight: 400, |
| | | line-height: 30px, |
| | | // letter-spacing: 0.00735em |
| | | ), |
| | | 'h5': ( |
| | | size: 16px, |
| | | weight: 400, |
| | | line-height: 24px, |
| | | // letter-spacing: normal |
| | | ), |
| | | 'h6': ( |
| | | size: 14px, |
| | | weight: 500, |
| | | line-height: 18px, |
| | | // letter-spacing: 0.0125em |
| | | ), |
| | | 'subtitle': ( |
| | | size: 12px, |
| | | weight: 400, |
| | | line-height: 20px, |
| | | // letter-spacing: 0.00937em |
| | | ), |
| | | 'body': ( |
| | | font-size: 14px, |
| | | font-weight: 400, |
| | | line-height: 22px, |
| | | // letter-spacing: 0.03125em |
| | | ), |
| | | 'caption': ( |
| | | 'size': 12px, |
| | | 'weight': 400, |
| | | 'line-height': 20px, |
| | | // 'letter-spacing': 0.03333em, |
| | | // 'text-transform': false |
| | | ) |
| | | ), |
| | | $uni-headings |
| | | ); |
| | | |
| | | |
| | | |
| | | // ä¸»è² |
| | | $uni-primary: #2979ff !default; |
| | | $uni-primary-disable:lighten($uni-primary,20%) !default; |
| | | $uni-primary-light: lighten($uni-primary,25%) !default; |
| | | |
| | | // è¾
å©è² |
| | | // é¤äºä¸»è²å¤çåºæ¯è²ï¼éè¦å¨ä¸åçåºæ¯ä¸ä½¿ç¨ï¼ä¾å¦å±é©è²è¡¨ç¤ºå±é©çæä½ï¼ã |
| | | $uni-success: #18bc37 !default; |
| | | $uni-success-disable:lighten($uni-success,20%) !default; |
| | | $uni-success-light: lighten($uni-success,25%) !default; |
| | | |
| | | $uni-warning: #f3a73f !default; |
| | | $uni-warning-disable:lighten($uni-warning,20%) !default; |
| | | $uni-warning-light: lighten($uni-warning,25%) !default; |
| | | |
| | | $uni-error: #e43d33 !default; |
| | | $uni-error-disable:lighten($uni-error,20%) !default; |
| | | $uni-error-light: lighten($uni-error,25%) !default; |
| | | |
| | | $uni-info: #8f939c !default; |
| | | $uni-info-disable:lighten($uni-info,20%) !default; |
| | | $uni-info-light: lighten($uni-info,25%) !default; |
| | | |
| | | // 䏿§è² |
| | | // 䏿§è²ç¨äºææ¬ãèæ¯åè¾¹æ¡é¢è²ãéè¿è¿ç¨ä¸åç䏿§è²ï¼æ¥è¡¨ç°å±æ¬¡ç»æã |
| | | $uni-main-color: #3a3a3a !default; // ä¸»è¦æå |
| | | $uni-base-color: #6a6a6a !default; // å¸¸è§æå |
| | | $uni-secondary-color: #909399 !default; // æ¬¡è¦æå |
| | | $uni-extra-color: #c7c7c7 !default; // è¾
å©è¯´æ |
| | | |
| | | // è¾¹æ¡é¢è² |
| | | $uni-border-1: #F0F0F0 !default; |
| | | $uni-border-2: #EDEDED !default; |
| | | $uni-border-3: #DCDCDC !default; |
| | | $uni-border-4: #B9B9B9 !default; |
| | | |
| | | // 常è§è² |
| | | $uni-black: #000000 !default; |
| | | $uni-white: #ffffff !default; |
| | | $uni-transparent: rgba($color: #000000, $alpha: 0) !default; |
| | | |
| | | // èæ¯è² |
| | | $uni-bg-color: #f7f7f7 !default; |
| | | |
| | | /* æ°´å¹³é´è· */ |
| | | $uni-spacing-sm: 8px !default; |
| | | $uni-spacing-base: 15px !default; |
| | | $uni-spacing-lg: 30px !default; |
| | | |
| | | // é´å½± |
| | | $uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; |
| | | $uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; |
| | | $uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; |
| | | |
| | | // èç |
| | | $uni-mask: rgba($color: #000000, $alpha: 0.4) !default; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // åå¹¶ map |
| | | @function map-deep-merge($parent-map, $child-map){ |
| | | $result: $parent-map; |
| | | @each $key, $child in $child-map { |
| | | $parent-has-key: map-has-key($result, $key); |
| | | $parent-value: map-get($result, $key); |
| | | $parent-type: type-of($parent-value); |
| | | $child-type: type-of($child); |
| | | $parent-is-map: $parent-type == map; |
| | | $child-is-map: $child-type == map; |
| | | |
| | | @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ |
| | | $result: map-merge($result, ( $key: $child )); |
| | | }@else { |
| | | $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); |
| | | } |
| | | } |
| | | @return $result; |
| | | }; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // é´è·åºç¡åæ° |
| | | $uni-space-root: 2; |
| | | // è¾¹æ¡åå¾é»è®¤å¼ |
| | | $uni-radius-root:5px; |
| | | // ä¸»è² |
| | | $uni-primary: #2979ff; |
| | | // è¾
å©è² |
| | | $uni-success: #4cd964; |
| | | // è¦åè² |
| | | $uni-warning: #f0ad4e; |
| | | // éè¯¯è² |
| | | $uni-error: #dd524d; |
| | | // æè¿°è² |
| | | $uni-info: #909399; |
| | | // 䏿§è² |
| | | $uni-main-color: #303133; |
| | | $uni-base-color: #606266; |
| | | $uni-secondary-color: #909399; |
| | | $uni-extra-color: #C0C4CC; |
| | | // èæ¯è² |
| | | $uni-bg-color: #f5f5f5; |
| | | // è¾¹æ¡é¢è² |
| | | $uni-border-1: #DCDFE6; |
| | | $uni-border-2: #E4E7ED; |
| | | $uni-border-3: #EBEEF5; |
| | | $uni-border-4: #F2F6FC; |
| | | |
| | | // 常è§è² |
| | | $uni-black: #000000; |
| | | $uni-white: #ffffff; |
| | | $uni-transparent: rgba($color: #000000, $alpha: 0); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | @import './styles/setting/_variables.scss'; |
| | | // é´è·åºç¡åæ° |
| | | $uni-space-root: 2; |
| | | // è¾¹æ¡åå¾é»è®¤å¼ |
| | | $uni-radius-root:5px; |
| | | |
| | | // ä¸»è² |
| | | $uni-primary: #2979ff; |
| | | $uni-primary-disable:mix(#fff,$uni-primary,50%); |
| | | $uni-primary-light: mix(#fff,$uni-primary,80%); |
| | | |
| | | // è¾
å©è² |
| | | // é¤äºä¸»è²å¤çåºæ¯è²ï¼éè¦å¨ä¸åçåºæ¯ä¸ä½¿ç¨ï¼ä¾å¦å±é©è²è¡¨ç¤ºå±é©çæä½ï¼ã |
| | | $uni-success: #18bc37; |
| | | $uni-success-disable:mix(#fff,$uni-success,50%); |
| | | $uni-success-light: mix(#fff,$uni-success,80%); |
| | | |
| | | $uni-warning: #f3a73f; |
| | | $uni-warning-disable:mix(#fff,$uni-warning,50%); |
| | | $uni-warning-light: mix(#fff,$uni-warning,80%); |
| | | |
| | | $uni-error: #e43d33; |
| | | $uni-error-disable:mix(#fff,$uni-error,50%); |
| | | $uni-error-light: mix(#fff,$uni-error,80%); |
| | | |
| | | $uni-info: #8f939c; |
| | | $uni-info-disable:mix(#fff,$uni-info,50%); |
| | | $uni-info-light: mix(#fff,$uni-info,80%); |
| | | |
| | | // 䏿§è² |
| | | // 䏿§è²ç¨äºææ¬ãèæ¯åè¾¹æ¡é¢è²ãéè¿è¿ç¨ä¸åç䏿§è²ï¼æ¥è¡¨ç°å±æ¬¡ç»æã |
| | | $uni-main-color: #3a3a3a; // ä¸»è¦æå |
| | | $uni-base-color: #6a6a6a; // å¸¸è§æå |
| | | $uni-secondary-color: #909399; // æ¬¡è¦æå |
| | | $uni-extra-color: #c7c7c7; // è¾
å©è¯´æ |
| | | |
| | | // è¾¹æ¡é¢è² |
| | | $uni-border-1: #F0F0F0; |
| | | $uni-border-2: #EDEDED; |
| | | $uni-border-3: #DCDCDC; |
| | | $uni-border-4: #B9B9B9; |
| | | |
| | | // 常è§è² |
| | | $uni-black: #000000; |
| | | $uni-white: #ffffff; |
| | | $uni-transparent: rgba($color: #000000, $alpha: 0); |
| | | |
| | | // èæ¯è² |
| | | $uni-bg-color: #f7f7f7; |
| | | |
| | | /* æ°´å¹³é´è· */ |
| | | $uni-spacing-sm: 8px; |
| | | $uni-spacing-base: 15px; |
| | | $uni-spacing-lg: 30px; |
| | | |
| | | // é´å½± |
| | | $uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); |
| | | $uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); |
| | | $uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); |
| | | |
| | | // èç |
| | | $uni-mask: rgba($color: #000000, $alpha: 0.4); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | ## 1.3.2ï¼2023-05-04ï¼ |
| | | - ä¿®å¤ NVUE 平尿¥éçé®é¢ |
| | | ## 1.3.1ï¼2021-11-23ï¼ |
| | | - ä¿®å¤ init æ¹æ³åå§åé®é¢ |
| | | ## 1.3.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-transition](https://uniapp.dcloud.io/component/uniui/uni-transition) |
| | | ## 1.2.1ï¼2021-09-27ï¼ |
| | | - ä¿®å¤ init æ¹æ³ä¸çæç Bug |
| | | ## 1.2.0ï¼2021-07-30ï¼ |
| | | - ç»ä»¶å
¼å®¹ vue3ï¼å¦ä½å建 vue3 项ç®ï¼è¯¦è§ [uni-app é¡¹ç®æ¯æ vue3 ä»ç»](https://ask.dcloud.net.cn/article/37834) |
| | | ## 1.1.1ï¼2021-05-12ï¼ |
| | | - æ°å¢ 示ä¾å°å |
| | | - ä¿®å¤ ç¤ºä¾é¡¹ç®ç¼ºå°ç»ä»¶ç Bug |
| | | ## 1.1.0ï¼2021-04-22ï¼ |
| | | - æ°å¢ éè¿æ¹æ³èªå®ä¹å¨ç» |
| | | - æ°å¢ custom-class é NVUE 平尿¯æèªå®ä¹ class å®å¶æ ·å¼ |
| | | - ä¼å å¨ç»è§¦åé»è¾ï¼ä½¿å¨ç»æ´æµç
|
| | | - ä¼å æ¯æåç¬çå¨ç»ç±»å |
| | | - ä¼å ææ¡£ç¤ºä¾ |
| | | ## 1.0.2ï¼2021-02-05ï¼ |
| | | - è°æ´ä¸º uni_modules ç®å½è§è |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // const defaultOption = { |
| | | // duration: 300, |
| | | // timingFunction: 'linear', |
| | | // delay: 0, |
| | | // transformOrigin: '50% 50% 0' |
| | | // } |
| | | // #ifdef APP-NVUE |
| | | const nvueAnimation = uni.requireNativePlugin('animation') |
| | | // #endif |
| | | class MPAnimation { |
| | | constructor(options, _this) { |
| | | this.options = options |
| | | // å¨iOS10+QQå°ç¨åºå¹³å°ä¸ï¼ä¼ ç»åçç对象ä¸å®æ¯ä¸ªæ®é对象è䏿¯Proxy对象ï¼å¦å伿¥parameter should be Object instead of ProxyObjectçé误 |
| | | this.animation = uni.createAnimation({ |
| | | ...options |
| | | }) |
| | | this.currentStepAnimates = {} |
| | | this.next = 0 |
| | | this.$ = _this |
| | | |
| | | } |
| | | |
| | | _nvuePushAnimates(type, args) { |
| | | let aniObj = this.currentStepAnimates[this.next] |
| | | let styles = {} |
| | | if (!aniObj) { |
| | | styles = { |
| | | styles: {}, |
| | | config: {} |
| | | } |
| | | } else { |
| | | styles = aniObj |
| | | } |
| | | if (animateTypes1.includes(type)) { |
| | | if (!styles.styles.transform) { |
| | | styles.styles.transform = '' |
| | | } |
| | | let unit = '' |
| | | if(type === 'rotate'){ |
| | | unit = 'deg' |
| | | } |
| | | styles.styles.transform += `${type}(${args+unit}) ` |
| | | } else { |
| | | styles.styles[type] = `${args}` |
| | | } |
| | | this.currentStepAnimates[this.next] = styles |
| | | } |
| | | _animateRun(styles = {}, config = {}) { |
| | | let ref = this.$.$refs['ani'].ref |
| | | if (!ref) return |
| | | return new Promise((resolve, reject) => { |
| | | nvueAnimation.transition(ref, { |
| | | styles, |
| | | ...config |
| | | }, res => { |
| | | resolve() |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | _nvueNextAnimate(animates, step = 0, fn) { |
| | | let obj = animates[step] |
| | | if (obj) { |
| | | let { |
| | | styles, |
| | | config |
| | | } = obj |
| | | this._animateRun(styles, config).then(() => { |
| | | step += 1 |
| | | this._nvueNextAnimate(animates, step, fn) |
| | | }) |
| | | } else { |
| | | this.currentStepAnimates = {} |
| | | typeof fn === 'function' && fn() |
| | | this.isEnd = true |
| | | } |
| | | } |
| | | |
| | | step(config = {}) { |
| | | // #ifndef APP-NVUE |
| | | this.animation.step(config) |
| | | // #endif |
| | | // #ifdef APP-NVUE |
| | | this.currentStepAnimates[this.next].config = Object.assign({}, this.options, config) |
| | | this.currentStepAnimates[this.next].styles.transformOrigin = this.currentStepAnimates[this.next].config.transformOrigin |
| | | this.next++ |
| | | // #endif |
| | | return this |
| | | } |
| | | |
| | | run(fn) { |
| | | // #ifndef APP-NVUE |
| | | this.$.animationData = this.animation.export() |
| | | this.$.timer = setTimeout(() => { |
| | | typeof fn === 'function' && fn() |
| | | }, this.$.durationTime) |
| | | // #endif |
| | | // #ifdef APP-NVUE |
| | | this.isEnd = false |
| | | let ref = this.$.$refs['ani'] && this.$.$refs['ani'].ref |
| | | if(!ref) return |
| | | this._nvueNextAnimate(this.currentStepAnimates, 0, fn) |
| | | this.next = 0 |
| | | // #endif |
| | | } |
| | | } |
| | | |
| | | |
| | | const animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d', |
| | | 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY', |
| | | 'translateZ' |
| | | ] |
| | | const animateTypes2 = ['opacity', 'backgroundColor'] |
| | | const animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom'] |
| | | animateTypes1.concat(animateTypes2, animateTypes3).forEach(type => { |
| | | MPAnimation.prototype[type] = function(...args) { |
| | | // #ifndef APP-NVUE |
| | | this.animation[type](...args) |
| | | // #endif |
| | | // #ifdef APP-NVUE |
| | | this._nvuePushAnimates(type, args) |
| | | // #endif |
| | | return this |
| | | } |
| | | }) |
| | | |
| | | export function createAnimation(option, _this) { |
| | | if(!_this) return |
| | | clearTimeout(_this.timer) |
| | | return new MPAnimation(option, _this) |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!-- #ifndef APP-NVUE --> |
| | | <view v-show="isShow" ref="ani" :animation="animationData" :class="customClass" :style="transformStyles" @click="onClick"><slot></slot></view> |
| | | <!-- #endif --> |
| | | <!-- #ifdef APP-NVUE --> |
| | | <view v-if="isShow" ref="ani" :animation="animationData" :class="customClass" :style="transformStyles" @click="onClick"><slot></slot></view> |
| | | <!-- #endif --> |
| | | </template> |
| | | |
| | | <script> |
| | | import { createAnimation } from './createAnimation' |
| | | |
| | | /** |
| | | * Transition è¿æ¸¡å¨ç» |
| | | * @description ç®åè¿æ¸¡å¨ç»ç»ä»¶ |
| | | * @tutorial https://ext.dcloud.net.cn/plugin?id=985 |
| | | * @property {Boolean} show = [false|true] æ§å¶ç»ä»¶æ¾ç¤ºæéè |
| | | * @property {Array|String} modeClass = [fade|slide-top|slide-right|slide-bottom|slide-left|zoom-in|zoom-out] è¿æ¸¡å¨ç»ç±»å |
| | | * @value fade æ¸éæ¸åºè¿æ¸¡ |
| | | * @value slide-top ç±ä¸è³ä¸è¿æ¸¡ |
| | | * @value slide-right ç±å³è³å·¦è¿æ¸¡ |
| | | * @value slide-bottom ç±ä¸è³ä¸è¿æ¸¡ |
| | | * @value slide-left ç±å·¦è³å³è¿æ¸¡ |
| | | * @value zoom-in ç±å°å°å¤§è¿æ¸¡ |
| | | * @value zoom-out ç±å¤§å°å°è¿æ¸¡ |
| | | * @property {Number} duration è¿æ¸¡å¨ç»æç»æ¶é´ |
| | | * @property {Object} styles ç»ä»¶æ ·å¼ï¼å css æ ·å¼ï¼æ³¨æå¸¦â-âè¿æ¥ç¬¦ç屿§éè¦ä½¿ç¨å°é©¼å³°åæ³å¦ï¼`backgroundColor:red` |
| | | */ |
| | | export default { |
| | | name: 'uniTransition', |
| | | emits:['click','change'], |
| | | props: { |
| | | show: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | modeClass: { |
| | | type: [Array, String], |
| | | default() { |
| | | return 'fade' |
| | | } |
| | | }, |
| | | duration: { |
| | | type: Number, |
| | | default: 300 |
| | | }, |
| | | styles: { |
| | | type: Object, |
| | | default() { |
| | | return {} |
| | | } |
| | | }, |
| | | customClass:{ |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | onceRender:{ |
| | | type:Boolean, |
| | | default:false |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | isShow: false, |
| | | transform: '', |
| | | opacity: 1, |
| | | animationData: {}, |
| | | durationTime: 300, |
| | | config: {} |
| | | } |
| | | }, |
| | | watch: { |
| | | show: { |
| | | handler(newVal) { |
| | | if (newVal) { |
| | | this.open() |
| | | } else { |
| | | // é¿å
䏿¥å°±æ§è¡ close,导è´å¨ç»éä¹± |
| | | if (this.isShow) { |
| | | this.close() |
| | | } |
| | | } |
| | | }, |
| | | immediate: true |
| | | } |
| | | }, |
| | | computed: { |
| | | // çææ ·å¼æ°æ® |
| | | stylesObject() { |
| | | let styles = { |
| | | ...this.styles, |
| | | 'transition-duration': this.duration / 1000 + 's' |
| | | } |
| | | let transform = '' |
| | | for (let i in styles) { |
| | | let line = this.toLine(i) |
| | | transform += line + ':' + styles[i] + ';' |
| | | } |
| | | return transform |
| | | }, |
| | | // åå§åå¨ç»æ¡ä»¶ |
| | | transformStyles() { |
| | | return 'transform:' + this.transform + ';' + 'opacity:' + this.opacity + ';' + this.stylesObject |
| | | } |
| | | }, |
| | | created() { |
| | | // å¨ç»é»è®¤é
ç½® |
| | | this.config = { |
| | | duration: this.duration, |
| | | timingFunction: 'ease', |
| | | transformOrigin: '50% 50%', |
| | | delay: 0 |
| | | } |
| | | this.durationTime = this.duration |
| | | }, |
| | | methods: { |
| | | /** |
| | | * ref 触å åå§åå¨ç» |
| | | */ |
| | | init(obj = {}) { |
| | | if (obj.duration) { |
| | | this.durationTime = obj.duration |
| | | } |
| | | this.animation = createAnimation(Object.assign(this.config, obj),this) |
| | | }, |
| | | /** |
| | | * ç¹å»ç»ä»¶è§¦ååè° |
| | | */ |
| | | onClick() { |
| | | this.$emit('click', { |
| | | detail: this.isShow |
| | | }) |
| | | }, |
| | | /** |
| | | * ref 触å å¨ç»åç» |
| | | * @param {Object} obj |
| | | */ |
| | | step(obj, config = {}) { |
| | | if (!this.animation) return |
| | | for (let i in obj) { |
| | | try { |
| | | if(typeof obj[i] === 'object'){ |
| | | this.animation[i](...obj[i]) |
| | | }else{ |
| | | this.animation[i](obj[i]) |
| | | } |
| | | } catch (e) { |
| | | console.error(`æ¹æ³ ${i} ä¸åå¨`) |
| | | } |
| | | } |
| | | this.animation.step(config) |
| | | return this |
| | | }, |
| | | /** |
| | | * ref è§¦å æ§è¡å¨ç» |
| | | */ |
| | | run(fn) { |
| | | if (!this.animation) return |
| | | this.animation.run(fn) |
| | | }, |
| | | // å¼å§è¿åº¦å¨ç» |
| | | open() { |
| | | clearTimeout(this.timer) |
| | | this.transform = '' |
| | | this.isShow = true |
| | | let { opacity, transform } = this.styleInit(false) |
| | | if (typeof opacity !== 'undefined') { |
| | | this.opacity = opacity |
| | | } |
| | | this.transform = transform |
| | | // ç¡®ä¿å¨ææ ·å¼å·²ç»çæåï¼æ§è¡å¨ç»ï¼å¦æä¸å nextTick ï¼ä¼å¯¼è´ wx å¨ç»æ§è¡å¼å¸¸ |
| | | this.$nextTick(() => { |
| | | // TODO 宿¶å¨ä¿è¯å¨ç»å®å
¨æ§è¡ï¼ç®åæäºé®é¢ï¼åé¢ä¼åæ¶å®æ¶å¨ |
| | | this.timer = setTimeout(() => { |
| | | this.animation = createAnimation(this.config, this) |
| | | this.tranfromInit(false).step() |
| | | this.animation.run() |
| | | this.$emit('change', { |
| | | detail: this.isShow |
| | | }) |
| | | }, 20) |
| | | }) |
| | | }, |
| | | // å
³éè¿åº¦å¨ç» |
| | | close(type) { |
| | | if (!this.animation) return |
| | | this.tranfromInit(true) |
| | | .step() |
| | | .run(() => { |
| | | this.isShow = false |
| | | this.animationData = null |
| | | this.animation = null |
| | | let { opacity, transform } = this.styleInit(false) |
| | | this.opacity = opacity || 1 |
| | | this.transform = transform |
| | | this.$emit('change', { |
| | | detail: this.isShow |
| | | }) |
| | | }) |
| | | }, |
| | | // å¤çå¨ç»å¼å§åçé»è®¤æ ·å¼ |
| | | styleInit(type) { |
| | | let styles = { |
| | | transform: '' |
| | | } |
| | | let buildStyle = (type, mode) => { |
| | | if (mode === 'fade') { |
| | | styles.opacity = this.animationType(type)[mode] |
| | | } else { |
| | | styles.transform += this.animationType(type)[mode] + ' ' |
| | | } |
| | | } |
| | | if (typeof this.modeClass === 'string') { |
| | | buildStyle(type, this.modeClass) |
| | | } else { |
| | | this.modeClass.forEach(mode => { |
| | | buildStyle(type, mode) |
| | | }) |
| | | } |
| | | return styles |
| | | }, |
| | | // å¤çå
ç½®ç»åå¨ç» |
| | | tranfromInit(type) { |
| | | let buildTranfrom = (type, mode) => { |
| | | let aniNum = null |
| | | if (mode === 'fade') { |
| | | aniNum = type ? 0 : 1 |
| | | } else { |
| | | aniNum = type ? '-100%' : '0' |
| | | if (mode === 'zoom-in') { |
| | | aniNum = type ? 0.8 : 1 |
| | | } |
| | | if (mode === 'zoom-out') { |
| | | aniNum = type ? 1.2 : 1 |
| | | } |
| | | if (mode === 'slide-right') { |
| | | aniNum = type ? '100%' : '0' |
| | | } |
| | | if (mode === 'slide-bottom') { |
| | | aniNum = type ? '100%' : '0' |
| | | } |
| | | } |
| | | this.animation[this.animationMode()[mode]](aniNum) |
| | | } |
| | | if (typeof this.modeClass === 'string') { |
| | | buildTranfrom(type, this.modeClass) |
| | | } else { |
| | | this.modeClass.forEach(mode => { |
| | | buildTranfrom(type, mode) |
| | | }) |
| | | } |
| | | |
| | | return this.animation |
| | | }, |
| | | animationType(type) { |
| | | return { |
| | | fade: type ? 1 : 0, |
| | | 'slide-top': `translateY(${type ? '0' : '-100%'})`, |
| | | 'slide-right': `translateX(${type ? '0' : '100%'})`, |
| | | 'slide-bottom': `translateY(${type ? '0' : '100%'})`, |
| | | 'slide-left': `translateX(${type ? '0' : '-100%'})`, |
| | | 'zoom-in': `scaleX(${type ? 1 : 0.8}) scaleY(${type ? 1 : 0.8})`, |
| | | 'zoom-out': `scaleX(${type ? 1 : 1.2}) scaleY(${type ? 1 : 1.2})` |
| | | } |
| | | }, |
| | | // å
ç½®å¨ç»ç±»åä¸å®é
å¨ç»å¯¹åºåå
¸ |
| | | animationMode() { |
| | | return { |
| | | fade: 'opacity', |
| | | 'slide-top': 'translateY', |
| | | 'slide-right': 'translateX', |
| | | 'slide-bottom': 'translateY', |
| | | 'slide-left': 'translateX', |
| | | 'zoom-in': 'scale', |
| | | 'zoom-out': 'scale' |
| | | } |
| | | }, |
| | | // é©¼å³°è½¬ä¸æ¨ªçº¿ |
| | | toLine(name) { |
| | | return name.replace(/([A-Z])/g, '-$1').toLowerCase() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style></style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "id": "uni-transition", |
| | | "displayName": "uni-transition è¿æ¸¡å¨ç»", |
| | | "version": "1.3.2", |
| | | "description": "å
ç´ çç®åè¿æ¸¡å¨ç»", |
| | | "keywords": [ |
| | | "uni-ui", |
| | | "uniui", |
| | | "å¨ç»", |
| | | "è¿æ¸¡", |
| | | "è¿æ¸¡å¨ç»" |
| | | ], |
| | | "repository": "https://github.com/dcloudio/uni-ui", |
| | | "engines": { |
| | | "HBuilderX": "" |
| | | }, |
| | | "directories": { |
| | | "example": "../../temps/example_temps" |
| | | }, |
| | | "dcloudext": { |
| | | "sale": { |
| | | "regular": { |
| | | "price": "0.00" |
| | | }, |
| | | "sourcecode": { |
| | | "price": "0.00" |
| | | } |
| | | }, |
| | | "contact": { |
| | | "qq": "" |
| | | }, |
| | | "declaration": { |
| | | "ads": "æ ", |
| | | "data": "æ ", |
| | | "permissions": "æ " |
| | | }, |
| | | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", |
| | | "type": "component-vue" |
| | | }, |
| | | "uni_modules": { |
| | | "dependencies": ["uni-scss"], |
| | | "encrypt": [], |
| | | "platforms": { |
| | | "cloud": { |
| | | "tcb": "y", |
| | | "aliyun": "y" |
| | | }, |
| | | "client": { |
| | | "App": { |
| | | "app-vue": "y", |
| | | "app-nvue": "y" |
| | | }, |
| | | "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" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | |
| | | ## Transition è¿æ¸¡å¨ç» |
| | | > **ç»ä»¶åï¼uni-transition** |
| | | > 代ç åï¼ `uTransition` |
| | | |
| | | |
| | | å
ç´ è¿æ¸¡å¨ç» |
| | | |
| | | ### [æ¥çææ¡£](https://uniapp.dcloud.io/component/uniui/uni-transition) |
| | | #### å¦ä½¿ç¨è¿ç¨ä¸æä»»ä½é®é¢ï¼æè
æ¨å¯¹uni-uiæä¸äºå¥½çå»ºè®®ï¼æ¬¢è¿å å
¥ uni-ui 交æµç¾¤ï¼871950839 |