| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <template name="graceSpeaker">	<view class="grace-swiper-msg">		<view class="grace-swiper-msg-icon"><slot></slot></view>		<swiper :vertical="vertical" autoplay="true" circular="true" :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: 3000		},		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;			}		}	}}</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>
 |