| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | 
							- <template name="graceSpeaker">
 
- 	<view class="grace-swiper-msg">
 
- 		<view class="grace-swiper-msg-icon"><slot></slot></view>
 
- 		<swiper :vertical="vertical" autoplay="true" circular="true" @change="change" 
 
- 		:interval="interval" class="grace-swiper-msg-swiper" :style="{height:height}">
 
- 			<swiper-item v-for="(item, index) in msgs" :key="index" class="grace-swiper-msg-swiper-item" :style="{height:height}">
 
- 				<text @tap="navto"
 
- 				:data-url="item.url" :data-opentype="item.opentype" class="grace-swiper-msg-text" 
 
- 				:style="{fontSize:fontSize, color:fontColor, height:height, lineHeight:height, fontWeight:fontWeight}">{{item.title}}</text>
 
- 			</swiper-item>
 
- 	  </swiper>
 
- 	</view>
 
- </template>
 
- <script>
 
- export default {
 
- 	name: "graceSpeaker",
 
- 	props: {
 
- 		msgs : {
 
- 			type  : Array,
 
- 			default : function(){return [];}
 
- 		},
 
- 		interval : {
 
- 			type : Number,
 
- 			default: 5000
 
- 		},
 
- 		vertical : {
 
- 			type : Boolean,
 
- 			default : true
 
- 		},
 
- 		fontSize : {
 
- 			type  : String,
 
- 			default : "26rpx"
 
- 		},
 
- 		fontColor : {
 
- 			type  : String,
 
- 			default : "#333333"
 
- 		},
 
- 		fontWeight : {
 
- 			type  : String,
 
- 			default : ""
 
- 		},
 
- 		height:{
 
- 			type  : String,
 
- 			default : "60rpx"
 
- 		},
 
- 		fontWeight : {
 
- 			type  : String,
 
- 			default : ""
 
- 		}
 
- 	},
 
- 	methods:{
 
- 		navto : function (e) {
 
- 			var url = e.currentTarget.dataset.url;
 
- 			var type = e.currentTarget.dataset.opentype;
 
- 			switch (type){
 
- 				case 'switchTab':
 
- 					uni.switchTab({
 
- 						url:url
 
- 					});
 
- 					break;
 
- 				case 'navigate':
 
- 					uni.navigateTo({
 
- 						url:url
 
- 					});
 
- 					break;
 
- 				case 'redirect':
 
- 					uni.redirectTo({
 
- 						url:url
 
- 					});
 
- 					break;
 
- 				default:
 
- 					break;
 
- 			}
 
- 		},
 
- 		change:function (index) {
 
- 			this.$emit('change', index.detail.current);
 
- 		}
 
- 	}
 
- }
 
- </script>
 
- <style scoped>
 
- .grace-swiper-msg{flex-wrap:nowrap; flex-direction:row; align-items:center;}
 
- .grace-swiper-msg-icon{margin-right:16rpx;}
 
- .grace-swiper-msg-swiper{width:750rpx; flex:1; height:60rpx; overflow:hidden;}
 
- .grace-swiper-msg-swiper-item{line-height:60rpx; height:60rpx; overflow:hidden;}
 
- .grace-swiper-msg-text{line-height:60rpx; height:60rpx; overflow:hidden; font-size:28rpx;}
 
- </style>
 
 
  |