373 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			373 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						||
	<view>
 | 
						||
		<!-- 轮播图 --> 
 | 
						||
		<uni-swiper-dot class="uni-swiper-dot-box" :info="swiperData" :current="current" field="content">
 | 
						||
			<swiper autoplay :circular="true" interval="2000" class="swiper-box" :current="swiperDotIndex"
 | 
						||
				@change="changeSwiper">
 | 
						||
				<swiper-item v-for="(item, index) in swiperData" :key="index">
 | 
						||
					<view class="swiper-item">
 | 
						||
						<image :src="item" mode="aspectFill" :draggable="false" />
 | 
						||
					</view>
 | 
						||
				</swiper-item>
 | 
						||
			</swiper>
 | 
						||
		</uni-swiper-dot>
 | 
						||
		<view class="notice-box">
 | 
						||
			<image class="notice-svg" src="https://img.yidaima.cn/feast/tz.svg" mode=""></image>
 | 
						||
			<view class="notice-text">
 | 
						||
				<p> 已更新至 {{number}} 个资源--复制链接后浏览器打开</p>
 | 
						||
			</view>
 | 
						||
		</view>
 | 
						||
		<view class="search">
 | 
						||
			<uni-search-bar v-model="searchValue" class="" radius="190" placeholder="请输入要查询的资源名" @confirm="search"
 | 
						||
				cancelButton="none" bgColor="#fff" />
 | 
						||
		</view>
 | 
						||
		<view @click="search" class="select">
 | 
						||
			查询
 | 
						||
		</view>
 | 
						||
		<view class="solids-bottom info-top">
 | 
						||
			<image class="info-top-svg" src="https://img.yidaima.cn/feast/new.svg"></image>
 | 
						||
			<text style="">最新更新</text>
 | 
						||
			<text style="float: right;margin-right: 30rpx;">资源链接</text>
 | 
						||
		</view>
 | 
						||
		<view v-if="dataList.length != 0" v-for="(item,index) in dataList" :key="index" class="solids-bottom info-list">
 | 
						||
			<view class="info-name">{{item.bjName}}</view>
 | 
						||
			<text @click="copy(item.djUrl)" class="info-copy">复制链接</text>
 | 
						||
		</view>
 | 
						||
		<view style="text-align: center;" v-else>
 | 
						||
			<image style="width: 400rpx;height: 200rpx;" src="https://img.yidaima.cn/feast/nodata.svg"></image>
 | 
						||
			<view style="color: #adadad;">无数据</view>
 | 
						||
		</view>
 | 
						||
		<!-- 加载动图 -->
 | 
						||
		<view class="artileload" v-if="showTotal">
 | 
						||
			<image style="width: 100%;height: 100%;" src="https://img.yidaima.cn/feast/articleload.gif" mode="aspectFit"></image>
 | 
						||
		</view>
 | 
						||
		<!-- 文章列表没有数据 -->
 | 
						||
		<view class="no-list-data" v-else>
 | 
						||
			--我的底线就到这里了--
 | 
						||
		</view>
 | 
						||
		<view class="cu-modal" :class="modalName=='Modal'?'show':''">
 | 
						||
			<view style="border-radius: 30rpx;" class="cu-dialog">
 | 
						||
				<view class="cu-bar bg-white justify-end">
 | 
						||
					<view style="color: black;font-size: 38rpx;margin-top: 50rpx;" class="content">提示</view>
 | 
						||
				</view>
 | 
						||
				<view class=" bg-white">
 | 
						||
					<view style="font-size: 33rpx;color: #6a6a6a;padding: 40rpx 60rpx 60rpx 60rpx;">
 | 
						||
						观看链接已复制到您的粘贴板中,请复制到浏览器中获取,链接中的资源可能存在排序混乱,画质模糊和观看时长限制,建议您转存至自己的网盘中使用即可解决此等问题(链接有效期为30分钟)
 | 
						||
					</view>
 | 
						||
		
 | 
						||
					<button @tap="hideModal" style="margin-bottom: 50rpx;width: 55%;height: 90rpx;font-size: 38rpx;"
 | 
						||
						class="cu-btn bg-green">知道了</button>
 | 
						||
				</view>
 | 
						||
			</view>
 | 
						||
		</view>
 | 
						||
		<u-toast ref="uToast"></u-toast>
 | 
						||
	</view>
 | 
						||
</template>
 | 
						||
 | 
						||
<script>
 | 
						||
	import {
 | 
						||
		getSysSet
 | 
						||
	} from "@/api/app/index.js"
 | 
						||
	import {
 | 
						||
		listDuanju,duanjuNumber
 | 
						||
	} from "@/api/app/index.js"
 | 
						||
	export default {
 | 
						||
		data() {
 | 
						||
			return {
 | 
						||
				adUnitId: "",
 | 
						||
				current: 0,
 | 
						||
				swiperDotIndex: 0,
 | 
						||
				swiperData: [],
 | 
						||
				queryParams: {
 | 
						||
					pageNum: 1,
 | 
						||
					pageSize: 20,
 | 
						||
					bjName:null,
 | 
						||
					isShow: 1,
 | 
						||
				},
 | 
						||
				dataList: [],
 | 
						||
				total: 0,
 | 
						||
				showTotal: false,
 | 
						||
				searchValue: null,
 | 
						||
				modalName:null,
 | 
						||
				number:0
 | 
						||
			}
 | 
						||
		},
 | 
						||
		onLoad() {
 | 
						||
			this.adUnitId = uni.getStorageSync("sysSet").phoneAd
 | 
						||
			duanjuNumber().then(response => {
 | 
						||
				this.number = response
 | 
						||
			})
 | 
						||
			this.getDataList()
 | 
						||
			//获取系统配置数据
 | 
						||
			getSysSet().then(setinfo => {
 | 
						||
				//轮播图
 | 
						||
				this.swiperData = []
 | 
						||
				var swiper = setinfo.indexSwiper.split(",")
 | 
						||
				for(var i=0; i < swiper.length; i++){
 | 
						||
					this.swiperData.push(swiper[i])
 | 
						||
				}
 | 
						||
			})
 | 
						||
		},
 | 
						||
		// 下拉刷新
 | 
						||
		onPullDownRefresh() {
 | 
						||
			this.queryParams = {
 | 
						||
				pageNum: 1,
 | 
						||
				pageSize: 20,
 | 
						||
			}
 | 
						||
			this.searchValue = null
 | 
						||
			this.getDataList()
 | 
						||
		},
 | 
						||
		// 上拉分页
 | 
						||
		onReachBottom() {
 | 
						||
			var that = this;
 | 
						||
			var allTotal = this.queryParams.pageNum * this.queryParams.pageSize
 | 
						||
			//this.page为加载次数,this.pageSize为每一次加载的数据条数
 | 
						||
			if (allTotal < this.total) {
 | 
						||
				//this.total为请求数据的总条数。只要现有条数小于总条数就执行一下代码
 | 
						||
				this.showTotal = true;
 | 
						||
				this.queryParams.pageNum++;
 | 
						||
				//加载次数递加
 | 
						||
				//请求更多数据列表
 | 
						||
				listDuanju(this.queryParams).then(response => {	
 | 
						||
					that.dataList = that.dataList.concat(response.rows)
 | 
						||
					var allTotal2 = this.queryParams.pageNum * this.queryParams.pageSize
 | 
						||
					if (allTotal2 < this.total) {
 | 
						||
						//this.total为请求数据的总条数。只要现有条数小于总条数就执行一下代码
 | 
						||
						this.showTotal = true;
 | 
						||
					} else {
 | 
						||
						this.showTotal = false;
 | 
						||
					}
 | 
						||
 | 
						||
				})
 | 
						||
			} else {
 | 
						||
				this.showTotal = false;
 | 
						||
			}
 | 
						||
		},
 | 
						||
		onShareAppMessage() {
 | 
						||
		    return {
 | 
						||
		    	title: "同学快过来看!这里有一个能搜资源的好东西!",
 | 
						||
		    	imageUrl: "",
 | 
						||
		    	path: 'pages/tool/video',
 | 
						||
		    }
 | 
						||
		},
 | 
						||
		onShareTimeline(){
 | 
						||
		    return {
 | 
						||
		      title:'同学快过来看!这里有一个能搜资源的好东西!',
 | 
						||
		      query:{
 | 
						||
		      },
 | 
						||
		      imageUrl:''
 | 
						||
		    }
 | 
						||
		},
 | 
						||
		methods: {
 | 
						||
			copy(url){
 | 
						||
				var that = this;
 | 
						||
				uni.setClipboardData({
 | 
						||
					data: url,
 | 
						||
					showToast: false,
 | 
						||
					success: function () {
 | 
						||
						that.modalName = "Modal"
 | 
						||
					}
 | 
						||
				});
 | 
						||
			},
 | 
						||
			// 搜索触发
 | 
						||
			search() {
 | 
						||
				this.queryParams.pageNum = 1
 | 
						||
				this.queryParams.bjName = this.searchValue;
 | 
						||
				this.getDataList()
 | 
						||
				this.$refs.uToast.show({
 | 
						||
					type: 'success',
 | 
						||
					title: '',
 | 
						||
					message: "╮(๑•́ ₃•̀๑)╭ 列表已更新 ",
 | 
						||
					icon: false
 | 
						||
				})
 | 
						||
			},
 | 
						||
			getDataList() {
 | 
						||
				var that = this;
 | 
						||
				listDuanju(this.queryParams).then(response => {
 | 
						||
					that.dataList = response.rows
 | 
						||
					var allTotal = this.queryParams.pageNum * this.queryParams.pageSize
 | 
						||
					that.total = response.total
 | 
						||
					if (allTotal < this.total) {
 | 
						||
						this.showTotal = true;
 | 
						||
					} else {
 | 
						||
						this.showTotal = false;
 | 
						||
					}
 | 
						||
					uni.stopPullDownRefresh(); //停止刷新
 | 
						||
				})
 | 
						||
			},
 | 
						||
			changeSwiper(e) {
 | 
						||
				this.current = e.detail.current
 | 
						||
			},
 | 
						||
			hideModal() {
 | 
						||
				this.modalName = null
 | 
						||
			},
 | 
						||
 | 
						||
		}
 | 
						||
	}
 | 
						||
</script>
 | 
						||
 | 
						||
<style>
 | 
						||
	page {
 | 
						||
		background-color: white;
 | 
						||
	}
 | 
						||
 | 
						||
	.uni-searchbar {
 | 
						||
		padding: 15rpx !important;
 | 
						||
	}
 | 
						||
 | 
						||
	.search {
 | 
						||
		border: 3rpx solid #89B9D8;
 | 
						||
		margin: 20rpx;
 | 
						||
		border-radius: 15rpx;
 | 
						||
		margin-top: 40rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	.info-top {
 | 
						||
		background: #F8F8F8;
 | 
						||
		height: 100rpx;
 | 
						||
		line-height: 100rpx;
 | 
						||
		margin-top: 30rpx;
 | 
						||
		font-size: 31rpx;
 | 
						||
		font-weight: 600;
 | 
						||
	}
 | 
						||
 | 
						||
	.info-top-svg {
 | 
						||
		height: 70upx;
 | 
						||
		width: 70upx;
 | 
						||
		margin: 15rpx;
 | 
						||
		float: left;
 | 
						||
		margin-top: 12rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	.info-list {
 | 
						||
		height: 100rpx;
 | 
						||
		line-height: 100rpx;
 | 
						||
		font-size: 29rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	.info-copy {
 | 
						||
		float: right;
 | 
						||
		margin-right: 30rpx;
 | 
						||
		color: #1E90FF;
 | 
						||
	}
 | 
						||
 | 
						||
	.info-name {
 | 
						||
		overflow: hidden;
 | 
						||
		white-space: nowrap;
 | 
						||
		text-overflow: ellipsis;
 | 
						||
		width: 530rpx;
 | 
						||
		display: inline-block;
 | 
						||
		color: #636363;
 | 
						||
		margin-left: 22rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	.select {
 | 
						||
		width: 60%;
 | 
						||
		margin-left: 20%;
 | 
						||
		height: 100rpx;
 | 
						||
		line-height: 100rpx;
 | 
						||
		text-align: center;
 | 
						||
		background-color: #78B7E0;
 | 
						||
		color: white;
 | 
						||
		border-radius: 15rpx;
 | 
						||
		font-size: 35rpx;
 | 
						||
		font-weight: 600;
 | 
						||
		margin-top: 40rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	.notice-box {
 | 
						||
		width: 100%;
 | 
						||
		margin-bottom: 20rpx;
 | 
						||
		height: 80rpx;
 | 
						||
		line-height: 80rpx;
 | 
						||
		box-shadow: 0 -5px 13px -1px rgba(0, 0, 0, 0.6);
 | 
						||
	}
 | 
						||
 | 
						||
	.notice-svg {
 | 
						||
		height: 80upx;
 | 
						||
		width: 80upx;
 | 
						||
		display: inline-block;
 | 
						||
		float: left;
 | 
						||
		margin-top: -1rpx;
 | 
						||
		margin-left: 10rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	.notice-text {
 | 
						||
		display: inline-block;
 | 
						||
		margin-left: 20rpx;
 | 
						||
		width: 590upx;
 | 
						||
		overflow: hidden;
 | 
						||
		white-space: nowrap;
 | 
						||
		box-sizing: border-box;
 | 
						||
		color: #DE9C10;
 | 
						||
	}
 | 
						||
 | 
						||
	.notice-text p {
 | 
						||
		display: inline-block;
 | 
						||
		font-weight: 600;
 | 
						||
		/* padding-left: 100%;
 | 
						||
		animation: marquee 15s linear infinite; */
 | 
						||
	}
 | 
						||
 | 
						||
	@keyframes marquee {
 | 
						||
		0% {
 | 
						||
			transform: translateX(0);
 | 
						||
		}
 | 
						||
 | 
						||
		100% {
 | 
						||
			transform: translateX(-100%);
 | 
						||
		}
 | 
						||
	}
 | 
						||
 | 
						||
	/* 列表没有数据 */
 | 
						||
	.no-list-data {
 | 
						||
		text-align: center;
 | 
						||
		margin: 30rpx 0px;
 | 
						||
		color: #e6e6e6;
 | 
						||
		font-size: 24upx;
 | 
						||
	}
 | 
						||
 | 
						||
	/* 加载动图 */
 | 
						||
	.artileload {
 | 
						||
		height: 80rpx;
 | 
						||
		width: 80rpx;
 | 
						||
		margin: 20rpx auto;
 | 
						||
		overflow: hidden;
 | 
						||
	}
 | 
						||
 | 
						||
	.swiper {
 | 
						||
		height: 400rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	.swiper-box {
 | 
						||
		height: 200px;
 | 
						||
		overflow: hidden;
 | 
						||
		transform: translateY(0);
 | 
						||
	}
 | 
						||
 | 
						||
	.swiper-item {
 | 
						||
		/* #ifndef APP-NVUE */
 | 
						||
		display: flex;
 | 
						||
		/* #endif */
 | 
						||
		flex-direction: column;
 | 
						||
		justify-content: center;
 | 
						||
		align-items: center;
 | 
						||
		color: #fff;
 | 
						||
		height: 400rpx;
 | 
						||
		line-height: 400rpx;
 | 
						||
	}
 | 
						||
 | 
						||
	@media screen and (min-width: 500px) {
 | 
						||
		.uni-swiper-dot-box {
 | 
						||
			width: 400px;
 | 
						||
			/* #ifndef APP-NVUE */
 | 
						||
			margin: 0 auto;
 | 
						||
			/* #endif */
 | 
						||
			margin-top: 8px;
 | 
						||
		}
 | 
						||
 | 
						||
		.image {
 | 
						||
			width: 100%;
 | 
						||
		}
 | 
						||
	}
 | 
						||
</style> |