Browse Source

排行榜和最新界面更新以及各种优化

pansl 1 year ago
parent
commit
379d0da7db

+ 1 - 3
README.md

@@ -1,5 +1,5 @@
 
-# 项目功能介绍 支持无限滑动 高性能滑动 预加载 视频预览
+# 项目功能介绍 
 
 # 1、首页
 
@@ -9,8 +9,6 @@
 
 # 4、我的
 
-# 5、分销
- 
 http 请求封装路径: common/http.js
 api 接口对接请求文件放在 common/apis 目录下
 域名配置文件:common/config.js

+ 2 - 0
common/config.js

@@ -12,6 +12,8 @@ uni.getSystemInfo({
 			if (envVersion === 'develop') {
 				// 开发版本
 				config = {
+					// https://api.duanju.dududus.com 测试环境
+					// https://api.zhiyupa.com 正式环境
 					apiUrl: "https://api.duanju.dududus.com",
 					staticUrl: 'https://xjc.demo.hongcd.com/img/', //静态图片地址https://xjc.demo.hongcd.com
 					zystaticUrl: "",

+ 7 - 104
pages.json

@@ -20,6 +20,7 @@
 			"path": "pages/index/billboard/index",
 			"style": {
 				"navigationBarTitleText": "排行榜"
+				// "navigationStyle": "custom"
 			}
 		},
 		{
@@ -35,107 +36,6 @@
 			}
 		},
 		{
-			"path": "pages/set/set",
-			"style": {
-				"navigationBarTitleText": "设置"
-			}
-		},
-		{
-			"path": "pages/set/grzl/grzl",
-			"style": {
-				"navigationBarTitleText": "个人资料",
-				"app-plus": {
-					"titleNView": {
-						"backgroundColor": "#f8f8f8"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/set/gywm/gywm",
-			"style": {
-				"navigationBarTitleText": "关于我们",
-				"app-plus": {
-					"titleNView": {
-						"backgroundColor": "#f8f8f8"
-					}
-				}
-			}
-		}, {
-			"path": "pages/set/grzl/modname/modname",
-			"style": {
-				"navigationBarTitleText": "修改姓名",
-				"app-plus": {
-					"titleNView": {
-						"backgroundColor": "#f5f5f5"
-
-					}
-				}
-			}
-		}, {
-			"path": "pages/set/grzl/nc/nc",
-			"style": {
-				"navigationBarTitleText": "修改昵称",
-				"app-plus": {
-					"titleNView": {
-						"backgroundColor": "#f8f8f8"
-					}
-				}
-			}
-		}, {
-			"path": "pages/set/grzl/wx/wx",
-			"style": {
-				"navigationBarTitleText": "修改微信号",
-				"app-plus": {
-					"titleNView": {
-						"backgroundColor": "#f8f8f8"
-					}
-				}
-			}
-		},
-		{
-			"path": "pages/login/login",
-			"style": {
-				"navigationBarTitleText": "用户登录",
-				"navigationBarBackgroundColor": "#FFFFFF"
-			}
-		},
-		{
-			"path": "pages/login/loginwxxcx",
-			"style": {
-				"navigationBarTitleText": "微信小程序登录",
-				"navigationBarBackgroundColor": "#FFFFFF"
-			}
-		},
-		{
-			"path": "pages/login/logingzh",
-			"style": {
-				"navigationBarTitleText": "微信公众号登录",
-				"navigationBarBackgroundColor": "#FFFFFF"
-			}
-		},
-		{
-			"path": "pages/login/reg",
-			"style": {
-				"navigationBarTitleText": "",
-				"navigationBarBackgroundColor": "#FFFFFF"
-			}
-		},
-		{
-			"path": "pages/login/forget",
-			"style": {
-				"navigationBarTitleText": "忘记密码",
-				"navigationBarBackgroundColor": "#FFFFFF"
-			}
-		},
-		{
-			"path": "pages/login/agreement",
-			"style": {
-				"navigationBarTitleText": "用户协议"
-			}
-		}
-
-		, {
 			"path": "pages/member/orders",
 			"style": {
 				"navigationBarTitleText": "充值记录",
@@ -149,7 +49,8 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
+		},
+		{
 			"path": "pages/pay/pay",
 			"style": {
 				"navigationBarTitleText": "充值",
@@ -163,14 +64,16 @@
 				"enablePullDownRefresh": false
 			}
 
-		}, {
+		},
+		{
 			"path": "pages/zhuiju/index",
 			"style": {
 				"navigationBarTitleText": "",
 				"enablePullDownRefresh": false
 			}
 
-		}, {
+		},
+		{
 			"path": "pages/zhuiju/zjgk",
 			"style": {
 				"navigationBarTitleText": "",

+ 3 - 3
pages/components/home/banner.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
-		<swiper class="home-swiper-banner" indicator-color="rgba(255, 255, 255, 0.3)" indicator-active-color="#FFFFFF"
-			:indicator-dots="true" :autoplay="true" :interval="3000" :duration="500">
+		<swiper class="home-swiper-banner" circular indicator-color="rgba(255, 255, 255, 0.3)"
+			indicator-active-color="#FFFFFF" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="500">
 			<swiper-item v-for="(item,index) in banners" :key="index">
 				<navigator :url="'/pages/video/index?video_id='+item.video_id">
 					<image :src="item.banner" mode="scaleToFill" style="border-radius: 16rpx;"></image>
@@ -22,7 +22,7 @@
 	}
 </script>
 
-<style>
+<style lang="scss" scoped>
 	.home-swiper-banner {
 		height: 350rpx;
 		box-shadow: 0rpx 4rpx 32rpx 0rpx rgba(0, 0, 0, 0.04);

+ 41 - 43
pages/components/home/default.vue

@@ -1,110 +1,108 @@
 <template>
 	<view>
-		<view class="pd16_15" style="margin-bottom: 80upx;">	
+		<view class="pd16_15" style="margin-bottom: 80upx;">
 			<view class="flex alcenter space" style="margin-bottom: 30upx;">
 				<view class="flex alcenter">
 					<image style="width: 40rpx;height: 40rpx;" :src="statics.zhuico[3]"></image>
 					<text class="ft16 ftw600 cl-main ml15">最新热播</text>
 				</view>
 				<navigator url="/pages/client/tuan/ss">
-				<view class="ft14 cl-notice">大家都在看的热播好剧</view>
+					<view class="ft14 cl-notice">大家都在看的热播好剧</view>
 				</navigator>
 			</view>
 			<view class="flex space" style="display:flex; flex-wrap:wrap;">
 				<block v-for="(value,key) in datasa" :key="key">
-				<view class="box pb10 mb15" style="width:31%; position: relative; border-radius:20rpx;" @click="detail(value.id,0)">
-					<!-- <view class="btn-mini" style="position: absolute; top: 20upx; right: 20upx; border-radius: 10upx;font-size: 18upx;width: 60upx; height: 36upx; z-index: 1;" :style="getBtnStyle">{{value.lxname}}</view> -->
-					<image class="integral-mall-goods" mode="aspectFill" :src="value.img"></image>
-					<view class="mt8 plr10 ft14 ftw400 text-center text-over cl-main">{{value.name}}</view>
-				</view>
+					<view class="box pb10 mb15" style="width:31%; position: relative; border-radius:20rpx;"
+						@click="detail(value.id,0)">
+						<!-- <view class="btn-mini" style="position: absolute; top: 20upx; right: 20upx; border-radius: 10upx;font-size: 18upx;width: 60upx; height: 36upx; z-index: 1;" :style="getBtnStyle">{{value.lxname}}</view> -->
+						<image class="integral-mall-goods" mode="aspectFill" :src="value.img"></image>
+						<view class="mt8 plr10 ft14 ftw400 text-center text-over cl-main">{{value.name}}</view>
+					</view>
 				</block>
 			</view>
 		</view>
 		<view class="home-main" style="height: 50upx;">
 			<!-- <com-copyright></com-copyright> -->
 		</view>
-		
-		<dialog-couponshareget @loginAct="showLoginCouponShareGet" v-if="showCouponShareGet" @closed="showCouponShareGet = false"></dialog-couponshareget>
+
+		<dialog-couponshareget @loginAct="showLoginCouponShareGet" v-if="showCouponShareGet"
+			@closed="showCouponShareGet = false"></dialog-couponshareget>
 	</view>
 </template>
 
 <script>
-	export default{
+	export default {
 		props: ['datasa'],
-		data(){
+		data() {
 			return {
-				isLogin:false,
-				showBirthday:false,
-				showLogin:false,
-				showQrcode:false,
-				showCouponShareGet:false,
+				isLogin: false,
+				showBirthday: false,
+				showLogin: false,
+				showQrcode: false,
+				showCouponShareGet: false,
 			}
 		},
 
-		created(){
-			
-			// uni.setNavigationBarTitle({
-			//     title: '夜趣小视频'
-			// });
-			
-			// setTimeout(()=>{
-			// 	this.showCouponShareGet = true;	
-			// },1000);
+		created() {
+
 		},
-		methods:{
-			//'/pages/video/index?id='+value.id
-			detail(vid,mid){
+		methods: {
+			detail(vid, mid) {
 				uni.navigateTo({
-					url:'/pages/video/index?vid='+vid+'&mid='+mid
+					url: '/pages/video/index?vid=' + vid + '&mid=' + mid
 				})
 			},
-			showLoginAct(){
+			showLoginAct() {
 				this.showLogin = true;
 			},
-			showLoginCouponShareGet(){
+			showLoginCouponShareGet() {
 				this.showLogin = true;
 			},
-			loginYes(){
-				
+			loginYes() {
+
 			}
 		}
 	}
 </script>
 
-<style>
-	.home-header{
+<style lang="scss" scoped>
+	.home-header {
 		height: 304rpx;
 		width: 100%;
 		position: relative;
 		background: #363B4D;
 		border-radius: 0rpx 0rpx 48rpx 48rpx;
 	}
-	.home-main{
+
+	.home-main {
 		width: 100%;
 		position: relative;
 		margin-top: -156rpx;
 		padding: 0 30rpx;
 	}
-	.home-mendian{
+
+	.home-mendian {
 		width: 100%;
 		height: 84rpx;
-		background:rgba(255,255,255,0.1);
+		background: rgba(255, 255, 255, 0.1);
 		border-radius: 42rpx;
 	}
-	.tuan-product-l{
+
+	.tuan-product-l {
 		width: 320rpx;
 		height: 240rpx;
 		border-radius: 16rpx;
 		background: #F2F2F2;
 	}
-	.integral-mall-goods{
+
+	.integral-mall-goods {
 		width: 100%;
 		height: 280rpx;
 		background: #F2F2F2;
 		border-radius: 16upx;
 	}
-	.tuan-product-r{
+
+	.tuan-product-r {
 		width: calc(100% - 320rpx);
 	}
-	
-</style>
+</style>

+ 95 - 47
pages/components/home/grid.vue

@@ -1,20 +1,23 @@
 <template>
 	<view class="flex alcenter space">
-		
+
 		<button v-if="getGridOne!=null  && getGridOne.model=='share'" open-type="share" class="grid-left-box">
 			<view class="main pd16_15">
 				<view class="ft16 ftw600 cl-default">{{getGridOne.name}}</view>
 				<view class="mt4 ft12" :style="{color:tempColor}">{{getGridOne.desc}}</view>
-				<view class="btn-go" :style="{background:tempColor}">GO<text class="iconfont iconicon_arrow_small ft12"></text></view>
+				<view class="btn-go" :style="{background:tempColor}">GO<text
+						class="iconfont iconicon_arrow_small ft12"></text></view>
 			</view>
 			<image class="left-bg" :src="statics.gridLeft"></image>
 			<image class="left-icon" :src="getGridOne.icon"></image>
 		</button>
-		<view v-if="getGridOne!=null  && getGridOne.model!='share'" :data-model="getGridOne.model" @click="linkTo" class="grid-left-box">
+		<view v-if="getGridOne!=null  && getGridOne.model!='share'" :data-model="getGridOne.model" @click="linkTo"
+			class="grid-left-box">
 			<view class="main pd16_15">
 				<view class="ft16 ftw600 cl-default">{{getGridOne.name}}</view>
 				<view class="mt4 ft12" :style="{color:tempColor}">{{getGridOne.desc}}</view>
-				<view class="btn-go" :style="{background:tempColor}">GO<text class="iconfont iconicon_arrow_small ft12"></text></view>
+				<view class="btn-go" :style="{background:tempColor}">GO<text
+						class="iconfont iconicon_arrow_small ft12"></text></view>
 			</view>
 			<image class="left-bg" :src="statics.gridLeft"></image>
 			<image class="left-icon" :src="getGridOne.icon"></image>
@@ -24,35 +27,42 @@
 				<view class="main pd16_15">
 					<view class="ft16 ftw600 cl-default">{{getGridTwo.name}}</view>
 					<view class="mt4 ft12" :style="{color:tempColor}">{{getGridTwo.desc}}</view>
-					<view class="btn-go" :style="{background:tempColor}">GO<text class="iconfont iconicon_arrow_small ft12"></text></view>
+					<view class="btn-go" :style="{background:tempColor}">GO<text
+							class="iconfont iconicon_arrow_small ft12"></text></view>
 				</view>
 				<image class="right-bg" :src="statics.gridRight"></image>
 				<image class="right-icon" :src="getGridTwo.icon"></image>
 			</button>
-			<view  v-if="getGridTwo!=null  && getGridTwo.model!='share'"  :data-model="getGridTwo.model" @click="linkTo" class="grid-right-box">
+			<view v-if="getGridTwo!=null  && getGridTwo.model!='share'" :data-model="getGridTwo.model" @click="linkTo"
+				class="grid-right-box">
 				<view class="main pd16_15">
 					<view class="ft16 ftw600 cl-default">{{getGridTwo.name}}</view>
 					<view class="mt4 ft12" :style="{color:tempColor}">{{getGridTwo.desc}}</view>
-					<view class="btn-go" :style="{background:tempColor}">GO<text class="iconfont iconicon_arrow_small ft12"></text></view>
+					<view class="btn-go" :style="{background:tempColor}">GO<text
+							class="iconfont iconicon_arrow_small ft12"></text></view>
 				</view>
 				<image class="right-bg" :src="statics.gridRight"></image>
 				<image class="right-icon" :src="getGridTwo.icon"></image>
 			</view>
 			<view class="mt15">
-				<button v-if="getGridThree!=null  && getGridThree.model=='share'" open-type="share" class="grid-right-box">
+				<button v-if="getGridThree!=null  && getGridThree.model=='share'" open-type="share"
+					class="grid-right-box">
 					<view class="main pd16_15">
 						<view class="ft16 ftw600 cl-default">{{getGridThree.name}}</view>
 						<view class="mt4 ft12" :style="{color:tempColor}">{{getGridThree.desc}}</view>
-						<view class="btn-go" :style="{background:tempColor}">GO<text class="iconfont iconicon_arrow_small ft12"></text></view>
+						<view class="btn-go" :style="{background:tempColor}">GO<text
+								class="iconfont iconicon_arrow_small ft12"></text></view>
 					</view>
 					<image class="right-bg" :src="statics.gridRight"></image>
 					<image class="right-icon" :src="getGridThree.icon"></image>
 				</button>
-				<view  v-if="getGridThree!=null  && getGridThree.model!='share'"  :data-model="getGridThree.model" @click="linkTo"   class="grid-right-box">
+				<view v-if="getGridThree!=null  && getGridThree.model!='share'" :data-model="getGridThree.model"
+					@click="linkTo" class="grid-right-box">
 					<view class="main pd16_15">
 						<view class="ft16 ftw600 cl-default">{{getGridThree.name}}</view>
 						<view class="mt4 ft12" :style="{color:tempColor}">{{getGridThree.desc}}</view>
-						<view class="btn-go" :style="{background:tempColor}">GO<text class="iconfont iconicon_arrow_small ft12"></text></view>
+						<view class="btn-go" :style="{background:tempColor}">GO<text
+								class="iconfont iconicon_arrow_small ft12"></text></view>
 					</view>
 					<image class="right-bg" :src="statics.gridRight"></image>
 					<image class="right-icon" :src="getGridThree.icon"></image>
@@ -63,67 +73,96 @@
 </template>
 
 <script>
-	export default{
-		data(){
+	export default {
+		data() {
 			return {
-				gridData:[
-					{name:'VIP特惠',desc:'尊享会员折上折',model:'tuan',icon:this.$config.staticUrl +'vipcard_home_tehui@2x.png',show:1},
-					{name:'领优惠券',desc:'领券更省钱',model:'coupon',icon:this.$config.staticUrl +'vipcard_home_coupon@2x.png',show:1},
-					{name:'邀请好友',desc:'越邀请,越优惠',model:'share',icon:this.$config.staticUrl +'vipcard_home_invite@2x.png',show:0},
-					{name:'积分商城',desc:'小积分兑豪礼',model:'integral',icon:this.$config.staticUrl +'vipcard_home_integralmall@2x.png',show:1},
-					{name:'开通次卡',desc:'省钱升级必备',model:'card',icon:this.$config.staticUrl +'vipcard_home_cika@2x.png',show:0},
+				gridData: [{
+						name: 'VIP特惠',
+						desc: '尊享会员折上折',
+						model: 'tuan',
+						icon: this.$config.staticUrl + 'vipcard_home_tehui@2x.png',
+						show: 1
+					},
+					{
+						name: '领优惠券',
+						desc: '领券更省钱',
+						model: 'coupon',
+						icon: this.$config.staticUrl + 'vipcard_home_coupon@2x.png',
+						show: 1
+					},
+					{
+						name: '邀请好友',
+						desc: '越邀请,越优惠',
+						model: 'share',
+						icon: this.$config.staticUrl + 'vipcard_home_invite@2x.png',
+						show: 0
+					},
+					{
+						name: '积分商城',
+						desc: '小积分兑豪礼',
+						model: 'integral',
+						icon: this.$config.staticUrl + 'vipcard_home_integralmall@2x.png',
+						show: 1
+					},
+					{
+						name: '开通次卡',
+						desc: '省钱升级必备',
+						model: 'card',
+						icon: this.$config.staticUrl + 'vipcard_home_cika@2x.png',
+						show: 0
+					},
 				]
 			}
 		},
-		computed:{
-			getGridDatas(){
-				let arr  = new Array;
-				for(var a  in this.gridData){
-					if(this.gridData[a].show == 1){
+		computed: {
+			getGridDatas() {
+				let arr = new Array;
+				for (var a in this.gridData) {
+					if (this.gridData[a].show == 1) {
 						arr.push(this.gridData[a]);
 					}
 				}
 				return arr;
 			},
-			getGridOne(){
+			getGridOne() {
 				return this.getGridDatas[0] ? this.getGridDatas[0] : null;
 			},
-			getGridTwo(){
+			getGridTwo() {
 				return this.getGridDatas[1] ? this.getGridDatas[1] : null;
 			},
-			getGridThree(){
+			getGridThree() {
 				return this.getGridDatas[2] ? this.getGridDatas[2] : null;
 			}
 		},
-		methods:{
-			linkTo(e){
+		methods: {
+			linkTo(e) {
 				let model = e.currentTarget.dataset.model;
 				let url = '';
-				switch(model){
+				switch (model) {
 					case 'coupon':
 						url = '/pages/client/coupon/index';
-					break;
+						break;
 					case 'integral':
 						url = '/pages/client/integral/index';
-					break;
+						break;
 					case 'card':
 						url = '/pages/client/card/index';
-					break;
+						break;
 					case 'tuan':
 						url = '/pages/client/tuan/index';
-					break;
+						break;
 				}
-				if(url == '') return;
+				if (url == '') return;
 				uni.navigateTo({
-					url:url
+					url: url
 				})
 			}
 		}
 	}
 </script>
 
-<style>
-	.grid-left-box{
+<style lang="scss" scoped>
+	.grid-left-box {
 		width: 330rpx;
 		height: 430rpx;
 		background: #FFFFFF;
@@ -136,7 +175,8 @@
 		line-height: 1;
 		text-align: left;
 	}
-	.grid-right-box{
+
+	.grid-right-box {
 		width: 330rpx;
 		height: 200rpx;
 		background: #FFFFFF;
@@ -149,7 +189,9 @@
 		line-height: 1;
 		text-align: left;
 	}
-	.grid-left-box .main,.grid-right-box .main{
+
+	.grid-left-box .main,
+	.grid-right-box .main {
 		width: 100%;
 		height: 100%;
 		position: absolute;
@@ -157,7 +199,8 @@
 		top: 0;
 		z-index: 3;
 	}
-	.grid-left-box .left-bg{
+
+	.grid-left-box .left-bg {
 		width: 100%;
 		height: 140rpx;
 		position: absolute;
@@ -165,7 +208,8 @@
 		bottom: 0;
 		z-index: 1;
 	}
-	.grid-left-box .left-icon{
+
+	.grid-left-box .left-icon {
 		width: 200rpx;
 		height: 200rpx;
 		position: absolute;
@@ -173,7 +217,8 @@
 		bottom: 0;
 		z-index: 2;
 	}
-	.grid-right-box .right-icon{
+
+	.grid-right-box .right-icon {
 		width: 120rpx;
 		height: 120rpx;
 		position: absolute;
@@ -181,7 +226,8 @@
 		bottom: 0;
 		z-index: 2;
 	}
-	.grid-right-box .right-bg{
+
+	.grid-right-box .right-bg {
 		width: 100%;
 		height: 74rpx;
 		position: absolute;
@@ -189,7 +235,8 @@
 		bottom: 0;
 		z-index: 1;
 	}
-	.btn-go{
+
+	.btn-go {
 		display: block;
 		width: 92rpx;
 		height: 40rpx;
@@ -202,9 +249,10 @@
 		font-size: 28rpx;
 		font-weight: 600;
 		color: #FFFFFF;
-		font-style:italic;
+		font-style: italic;
 	}
-	.btn-go text{
+
+	.btn-go text {
 		font-weight: 400;
 		margin-left: 8rpx;
 	}

+ 101 - 89
pages/components/home/vipcard.vue

@@ -1,75 +1,77 @@
 <template>
 	<view>
 		<view v-if="userinfo.isLogin" class="box pd16_15">
-			 <navigator url="/pages/client/vipcard/index">	
-				 <view class="home-vip-tag-box">
-					 <image class="bg" v-if="userinfo.group_id == 1" :src="statics.vipbg"></image>
-					 <image  class="bg" v-else :src="statics.vipBgHas"></image>
-					 <view v-if="userinfo.group_id == 1" class="main plr15 flex alcenter space">
-						 <view class="tag-no-vip">普通用户</view>
-						 <view class="flex alcenter">
-							 <text class="ft12 cl-default mr15 ftw500">升级VIP,省更多钱</text>
-							 <image class="right-icon" :src="statics.rightIcon"></image>
-						 </view>
-					 </view>
-					 
-					 <view v-else class="main plr15 flex alcenter space">
-						 <view class="tag-has-vip flex alcenter center">
-							 <image class="vip-level-icon" :src="statics.vipLevelImg[0]"></image>
-							 <text class="vip-level-means">VIP会员</text>
-						 </view>
-						 <view class="flex alcenter">
-							 <view v-if="userinfo.dqts<0" class="ft12 cl-default mr15 ftw500">您好!尊敬的VIP<br>您的会员已经到期{{-userinfo.dqts}}天</view>
-							 <view v-if="userinfo.dqts>=0" class="ft12 cl-default mr15 ftw500">您好!尊敬的VIP<br>您的会员{{userinfo.dqts}}天后到期</view>
-							 <image class="right-icon" :src="statics.rightIcon"></image>
-						 </view>
-					 </view>
-				 </view>
-			 </navigator>
-			 <view class="mt24 flex space">
-				 <view class="col3 text-center">
-					 <navigator url="/pages/client/vipcard/moneylog">
-					 <view class="cl-notice ft12">{{userinfo.config.hbmc}}</view>
-					 <view class="mt8 ft20 ftw600 cl-default">{{userinfo.money*1}}</view>
-					 </navigator>
-				 </view>
-				 
-				 <view class="col3 text-center" style="display: none;">
-					 <!-- <navigator url="/pages/client/coupon/mine/index"> -->
-					 <view class="cl-notice ft12">优惠券</view>
-					 <view class="mt8 ft20 ftw600 cl-default">0</view>
+			<navigator url="/pages/client/vipcard/index">
+				<view class="home-vip-tag-box">
+					<image class="bg" v-if="userinfo.group_id == 1" :src="statics.vipbg"></image>
+					<image class="bg" v-else :src="statics.vipBgHas"></image>
+					<view v-if="userinfo.group_id == 1" class="main plr15 flex alcenter space">
+						<view class="tag-no-vip">普通用户</view>
+						<view class="flex alcenter">
+							<text class="ft12 cl-default mr15 ftw500">升级VIP,省更多钱</text>
+							<image class="right-icon" :src="statics.rightIcon"></image>
+						</view>
+					</view>
+
+					<view v-else class="main plr15 flex alcenter space">
+						<view class="tag-has-vip flex alcenter center">
+							<image class="vip-level-icon" :src="statics.vipLevelImg[0]"></image>
+							<text class="vip-level-means">VIP会员</text>
+						</view>
+						<view class="flex alcenter">
+							<view v-if="userinfo.dqts<0" class="ft12 cl-default mr15 ftw500">
+								您好!尊敬的VIP<br>您的会员已经到期{{-userinfo.dqts}}天</view>
+							<view v-if="userinfo.dqts>=0" class="ft12 cl-default mr15 ftw500">
+								您好!尊敬的VIP<br>您的会员{{userinfo.dqts}}天后到期</view>
+							<image class="right-icon" :src="statics.rightIcon"></image>
+						</view>
+					</view>
+				</view>
+			</navigator>
+			<view class="mt24 flex space">
+				<view class="col3 text-center">
+					<navigator url="/pages/client/vipcard/moneylog">
+						<view class="cl-notice ft12">{{userinfo.config.hbmc}}</view>
+						<view class="mt8 ft20 ftw600 cl-default">{{userinfo.money*1}}</view>
+					</navigator>
+				</view>
+
+				<view class="col3 text-center" style="display: none;">
+					<!-- <navigator url="/pages/client/coupon/mine/index"> -->
+					<view class="cl-notice ft12">优惠券</view>
+					<view class="mt8 ft20 ftw600 cl-default">0</view>
 					<!-- </navigator> -->
-				 </view>
-				 
-				 <view class="col3 text-center">
-					 <navigator url="/pages/client/vipcard/integrallog">
-						 <view class="cl-notice ft12">积分</view>
-						 <view class="mt8 ft20 ftw600 cl-default">{{userinfo.score}}</view>
-					 </navigator>
-				 </view>
-			 </view>
-			 
-			 <view class="flex space alcenter  mt24" style="padding-bottom: 16rpx;">
-				 <view class="flex alcenter">
-					 <navigator url="/pages/client/vipcard/recharge">
+				</view>
+
+				<view class="col3 text-center">
+					<navigator url="/pages/client/vipcard/integrallog">
+						<view class="cl-notice ft12">积分</view>
+						<view class="mt8 ft20 ftw600 cl-default">{{userinfo.score}}</view>
+					</navigator>
+				</view>
+			</view>
+
+			<view class="flex space alcenter  mt24" style="padding-bottom: 16rpx;">
+				<view class="flex alcenter">
+					<navigator url="/pages/client/vipcard/recharge">
 						<view class="btn-vip-money" :style="getBtnStyle">充值</view>
-					 </navigator>
-					 <navigator v-if="userinfo.zstx>0" url="/pages/client/member/tx">
+					</navigator>
+					<navigator v-if="userinfo.zstx>0" url="/pages/client/member/tx">
 						<view class="btn-vip-adviser ml15" :style="getBtnPlanStyle">提现</view>
-					 </navigator>
-				 </view>
-				 <!-- #ifdef MP-WEIXIN -->
-				 <view @click="showQrcodeAct" v-if="userinfo.config.iskq==1" class="vip-qrcode-tag" :style="getBtnStyle">
-				 		<!-- <text class="iconfont iconbtn_card_ma-copy ft20 cl-w"></text> -->
-						<image style="width: 50upx; height: 50upx;" src="/static/share-fill.png"></image>
-				 </view>
-				 <!-- #endif -->
-				 <!-- #ifndef MP-WEIXIN -->
-				 <view @click="wdfxm" v-if="userinfo.config.iskq==1" class="vip-qrcode-tag" :style="getBtnStyle">
-					 <text class="iconfont iconbtn_card_ma-copy ft20 cl-w"></text>
-				 </view>
-				 <!-- #endif -->
-			 </view>
+					</navigator>
+				</view>
+				<!-- #ifdef MP-WEIXIN -->
+				<view @click="showQrcodeAct" v-if="userinfo.config.iskq==1" class="vip-qrcode-tag" :style="getBtnStyle">
+					<!-- <text class="iconfont iconbtn_card_ma-copy ft20 cl-w"></text> -->
+					<image style="width: 50upx; height: 50upx;" src="/static/share-fill.png"></image>
+				</view>
+				<!-- #endif -->
+				<!-- #ifndef MP-WEIXIN -->
+				<view @click="wdfxm" v-if="userinfo.config.iskq==1" class="vip-qrcode-tag" :style="getBtnStyle">
+					<text class="iconfont iconbtn_card_ma-copy ft20 cl-w"></text>
+				</view>
+				<!-- #endif -->
+			</view>
 		</view>
 		<view v-else class="box pd24_15">
 			<view class="text-center ft14 cl-info2">您还没登录,登录后即可体验VIP会员</view>
@@ -81,39 +83,40 @@
 </template>
 
 <script>
-	export default{
+	export default {
 		props: ['userinfo'],
-		data(){
+		data() {
 			return {
-				isLogin:true,
-				vipLevel:0,//普通用户
+				isLogin: true,
+				vipLevel: 0, //普通用户
 			}
 		},
-		methods:{
-			loginAct(){
+		methods: {
+			loginAct() {
 				this.$emit('loginAct');
 			},
-			showQrcodeAct(){
+			showQrcodeAct() {
 				this.$emit('qrcode');
 			},
-			wdfxm(){
+			wdfxm() {
 				uni.navigateTo({
-					url:'/pages/client/member/qrshare'
+					url: '/pages/client/member/qrshare'
 				})
 			}
 		}
 	}
 </script>
 
-<style>
-	.home-vip-tag-box{
+<style lang="scss" scoped>
+	.home-vip-tag-box {
 		height: 100rpx;
 		width: 100%;
 		position: relative;
 		overflow: hidden;
 		border-radius: 8rpx;
 	}
-	.home-vip-tag-box .main{
+
+	.home-vip-tag-box .main {
 		width: 100%;
 		height: 100rpx;
 		position: absolute;
@@ -121,32 +124,37 @@
 		left: 0;
 		top: 0;
 	}
-	.home-vip-tag-box .bg{
+
+	.home-vip-tag-box .bg {
 		width: 100%;
 		height: 100rpx;
 	}
-	.tag-no-vip{
+
+	.tag-no-vip {
 		width: 128rpx;
 		height: 40rpx;
 		background: #FFFFFF;
 		border-radius: 20rpx;
 		font-size: 24rpx;
 		font-weight: 600;
-		color:#8A8D99;
+		color: #8A8D99;
 		text-align: center;
 		line-height: 40rpx;
 	}
-	.tag-has-vip{
+
+	.tag-has-vip {
 		width: 200rpx;
 		height: 40rpx;
 		background: linear-gradient(180deg, #333333 0%, #000000 100%);
 		border-radius: 20rpx;
 	}
-	.tag-has-vip .vip-level-icon{
+
+	.tag-has-vip .vip-level-icon {
 		width: 36rpx;
 		height: 36rpx;
 	}
-	.tag-has-vip .vip-level-means{
+
+	.tag-has-vip .vip-level-means {
 		font-size: 24rpx;
 		margin-left: 8rpx;
 		font-weight: 500;
@@ -154,11 +162,13 @@
 		-webkit-background-clip: text;
 		-webkit-text-fill-color: transparent;
 	}
-	.home-vip-tag-box .main .right-icon{
+
+	.home-vip-tag-box .main .right-icon {
 		width: 40rpx;
 		height: 40rpx;
 	}
-	.vip-qrcode-tag{
+
+	.vip-qrcode-tag {
 		width: 80rpx;
 		height: 80rpx;
 		border-radius: 40rpx;
@@ -166,7 +176,9 @@
 		justify-content: center;
 		align-items: center;
 	}
-	.btn-vip-money,.btn-vip-adviser{
+
+	.btn-vip-money,
+	.btn-vip-adviser {
 		width: 208rpx;
 		height: 80rpx;
 		border-radius: 40rpx;
@@ -175,6 +187,6 @@
 		align-items: center;
 		font-size: 28rpx;
 		font-weight: 600;
-		color:#FFFFFF;
+		color: #FFFFFF;
 	}
-</style>
+</style>

+ 16 - 113
pages/index/billboard/index.vue

@@ -2,19 +2,21 @@
 	<view>
 		<view v-if="listData.data.length>0">
 			<view class="top">
-				<image class="top-img" mode="scaleToFill" src="@/static/icon/index/phb_bg.jpg"></image>
-				<view class="top-wrapper">
-					<text class="top-title">排行榜</text>
-					<text class="top-content">最后更新于 {{listData.update_time}}</text>
-				</view>
+				<image class="top-img" mode="scaleToFill" src="@/static/icon/index/phb_bg.png"></image>
 			</view>
-			<view class="wrapper">
-				<block v-for="(value,key) in listData.data" :key="key">
-					<view class="box pb10 mb15" style="width:30%; border-radius:20rpx;" @click="detail(value)">
+			<view class="wrapper" v-if="listData.data.length>0">
+				<view v-for="(value,key) in listData.data" :key="key" class="wrapper-inner" @click="detail(value)">
+					<view class="box flex" style="width:30%; border-radius:20rpx;">
 						<image class="integral-mall-goods" mode="aspectFill" :src="value.cover_image"></image>
-						<view class="mt8 plr10 ft14 ftw400 text-center text-over cl-main">{{value.name}}</view>
 					</view>
-				</block>
+					<view class="text-wrapper">
+						<view class="text-rank  plr10 ft20 ftw600  text-over cl-main">TOP{{key+1}}</view>
+						<view class="text-name  plr10 ft16 ftw600  text-over cl-main">{{value.name}}</view>
+						<view class="text-dec  plr10 ft14 ftw400  text-over4 cl-main">
+							{{value.note}}
+						</view>
+					</view>
+				</view>
 			</view>
 		</view>
 		<view class="empty-box" v-else>
@@ -42,7 +44,9 @@
 				selectIndex: 0,
 				scrollTop: 0,
 				keytext: '',
-				listData: [],
+				listData: {
+					data: []
+				},
 				last_id: 0,
 				reload: true,
 				status: 'more',
@@ -102,106 +106,5 @@
 </script>
 
 <style lang="scss" scoped>
-	.empty-box {
-		padding: 20px;
-		justify-content: center;
-		text-align: center;
-	}
-
-	.wrapper {
-		display: flex;
-		flex-wrap: wrap;
-
-		.box {
-			margin-left: 20upx;
-			margin-top: 10upx;
-		}
-	}
-
-	.top {
-		position: relative;
-
-		.top-img {
-			width: 100%;
-			height: 250rpx;
-		}
-
-		.top-wrapper {
-			display: flex;
-			flex-direction: column;
-			position: absolute;
-			color: #FDF6EC;
-			margin-left: 25rpx;
-			bottom: 20px;
-
-			.top-title {
-				font-size: 36px;
-				font-weight: bolder;
-				margin-bottom: 35rpx;
-				font-family: Georgia, 'Times New Roman', Times, serif;
-			}
-
-			.top-content {
-				font-size: 16px;
-				font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
-			}
-		}
-	}
-
-
-	.integral-mall-goods {
-		width: 100%;
-		height: 280rpx;
-		object-fit: contain;
-		background: #F2F2F2;
-		border-radius: 16upx;
-	}
-
-	.user-not-vip {
-		width: 100%;
-		height: 80rpx;
-		background: #FDF6EC;
-		border-radius: 40rpx;
-		border: 2rpx solid #EFC381;
-		text-align: center;
-		line-height: 76rpx;
-		font-size: 24rpx;
-		color: #000000;
-		font-weight: bold;
-	}
-
-
-	.tuan-product-l {
-		width: 320rpx;
-		height: 240rpx;
-		border-radius: 16rpx;
-		background: #F2F2F2;
-	}
-
-	.tuan-product-r {
-		width: calc(100% - 320rpx);
-	}
-
-	.search-result {
-		padding-top: 10px;
-		padding-bottom: 20px;
-		text-align: center;
-	}
-
-	.search-result-text {
-		text-align: center;
-		font-size: 14px;
-		color: #666;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		padding: 0px;
-	}
-
-	.uni-mt-10 {
-		margin-top: 10px;
-	}
+	@import "./style/index.scss"
 </style>

+ 93 - 0
pages/index/billboard/style/index.scss

@@ -0,0 +1,93 @@
+	.empty-box {
+		padding: 20px;
+		justify-content: center;
+		text-align: center;
+	}
+
+	.empty-box {
+		padding: 20px;
+		justify-content: center;
+		text-align: center;
+	}
+
+	.wrapper {
+		display: flex;
+		flex-direction: column;
+		padding: 0rpx 20rpx;
+
+		.wrapper-inner {
+			display: flex;
+			align-items: flex-start;
+			margin: 20rpx 0;
+			height: 320rpx;
+		}
+
+		.wrapper-inner:last-child {
+			margin-bottom: 20px !important;
+		}
+
+		.box {
+			margin-left: 20upx;
+			margin-top: 10upx;
+		}
+
+		.text-wrapper {
+			display: flex;
+			flex-direction: column;
+			align-items: flex-start;
+			width: 70%;
+			height: 100%;
+
+			.text-rank {
+				font-family: Tahoma, Geneva, Verdana, sans-serif;
+				color: crimson;
+			}
+
+			.text-dec {
+				white-space: normal;
+				word-break: break-word;
+				line-height: 46rpx;
+			}
+
+			.text-name {
+				margin: 12rpx 0; 
+			}
+		}
+	}
+
+	.integral-mall-goods {
+		width: 100%;
+		height: 320rpx;
+		background: #F2F2F2;
+		border-radius: 16upx;
+	}
+
+	.top {
+		position: relative;
+		margin-bottom: 16rpx;
+
+		.top-img {
+			width: 100%;
+		}
+
+		.top-wrapper {
+			display: flex;
+			flex-direction: column;
+			position: absolute;
+			color: #FDF6EC;
+			margin-left: 25rpx;
+			bottom: 20px;
+
+			.top-title {
+				font-size: 36px;
+				font-weight: bolder;
+				margin-bottom: 35rpx;
+				font-family: Georgia, 'Times New Roman', Times, serif;
+			}
+
+			.top-content {
+				font-size: 16px;
+				font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
+			}
+		}
+	}

+ 1 - 39
pages/index/index.vue

@@ -179,44 +179,6 @@
 		},
 	}
 </script>
-
 <style lang="scss" scoped>
-	.home-header {
-		/* height: 300rpx; */
-		width: 100%;
-		position: relative;
-		border-radius: 0rpx 0rpx 48rpx 48rpx;
-	}
-
-	.home-mendian {
-		width: 100%;
-		height: 84rpx;
-		background: rgba(255, 255, 255, 0.1);
-		border-radius: 42rpx;
-	}
-
-	.integral-mall-main {
-		position: relative;
-		/* margin-top: -104rpx; */
-	}
-
-	.integal-mall-menu {
-		width: 100%;
-		height: 190rpx;
-		background: #FFFFFF;
-		border-radius: 20rpx;
-	}
-
-	.integral-mall-goods {
-		width: 210rpx;
-		height: 280rpx;
-		background: #F2F2F2;
-		border-radius: 16upx;
-	}
-
-	.titleNview-placing {
-		height: var(--status-bar-height);
-		padding-top: 44px;
-		box-sizing: content-box;
-	}
+	@import "./style/index.scss"
 </style>

+ 28 - 75
pages/index/new/index.vue

@@ -1,18 +1,31 @@
 <template>
 	<view>
 		<view class="wrapper" style="" v-if="listData.length>0">
-			<block v-for="(value,key) in listData" :key="key">
-				<view class="box pb10 mb15" style="width:30%; border-radius:20rpx;" @click="detail(value)">
+			<view v-for="(value,key) in listData" :key="key" class="wrapper-inner" @click="detail(value)">
+				<view class="box flex" style="width:30%; border-radius:20rpx;">
 					<image class="integral-mall-goods" mode="aspectFill" :src="value.cover_image"></image>
-					<view class="mt8 plr10 ft14 ftw400 text-center text-over cl-main">{{value.name}}</view>
 				</view>
-			</block>
+				<view class="text-wrapper">
+					<view class="text-name  plr10 ft16 ftw600  text-over cl-main">{{value.name}}</view>
+					<view class="text-dec  plr10 ft14 ftw400  text-over4 cl-main">
+						{{value.note}}
+					</view>
+					<view>
+						<text
+							class="text-status mt8 plr10 ft12 ftw400  text-over cl-main">总集数:{{value.total_episode_num}}</text>
+						<text
+							class="text-status mt8 plr10 ft12 ftw400  text-over cl-main">{{value.update_type|getStatus}}</text>
+					</view>
+				</view>
+				<!-- <view class="icon">
+					<u-icon name="arrow-right" size="45rpx" color="#f00"></u-icon>
+				</view> -->
+			</view>
 		</view>
 		<view class="empty-box" v-else>
 			<image src="/static/img/orders/emty.png" mode=""></image>
 			<p class="ft14 line-1-txt">暂无数据</p>
 		</view>
-
 	</view>
 </template>
 
@@ -26,6 +39,15 @@
 		components: {
 			uniLoadMore
 		},
+		filters: {
+			getStatus: (value) => {
+				let arrayData = {
+					1: '连载中',
+					2: '已完结',
+				}
+				return arrayData[value]
+			}
+		},
 		data() {
 			return {
 				banners: [],
@@ -94,74 +116,5 @@
 </script>
 
 <style lang="scss" scoped>
-	.empty-box {
-		padding: 20px;
-		justify-content: center;
-		text-align: center;
-	}
-
-	.wrapper {
-		display: flex;
-		flex-wrap: wrap;
-
-		.box {
-			margin-left: 20upx;
-			margin-top: 10upx;
-		}
-	}
-
-	.integral-mall-goods {
-		width: 100%;
-		height: 280rpx;
-		background: #F2F2F2;
-		border-radius: 16upx;
-	}
-
-	.user-not-vip {
-		width: 100%;
-		height: 80rpx;
-		background: #FDF6EC;
-		border-radius: 40rpx;
-		border: 2rpx solid #EFC381;
-		text-align: center;
-		line-height: 76rpx;
-		font-size: 24rpx;
-		color: #000000;
-		font-weight: bold;
-	}
-
-
-	.tuan-product-l {
-		width: 320rpx;
-		height: 240rpx;
-		border-radius: 16rpx;
-		background: #F2F2F2;
-	}
-
-	.tuan-product-r {
-		width: calc(100% - 320rpx);
-	}
-
-	.search-result {
-		padding-top: 10px;
-		padding-bottom: 20px;
-		text-align: center;
-	}
-
-	.search-result-text {
-		text-align: center;
-		font-size: 14px;
-		color: #666;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		padding: 0px;
-	}
-
-	.uni-mt-10 {
-		margin-top: 10px;
-	}
+	@import "./style/index.scss"
 </style>

+ 55 - 0
pages/index/new/style/index.scss

@@ -0,0 +1,55 @@
+.empty-box {
+		padding: 20px;
+		justify-content: center;
+		text-align: center;
+	}
+
+	.wrapper {
+		display: flex;
+		flex-direction: column;
+		padding: 0rpx 20rpx;
+
+		.wrapper-inner {
+			display: flex;
+			align-items: center;
+			height: 320rpx;
+			margin: 20rpx 0;
+		}
+
+		.wrapper-inner:last-child {
+			margin-bottom: 20px !important;
+		}
+
+		.box {
+			margin-left: 20upx;
+			margin-top: 10upx;
+		}
+
+		.text-wrapper {
+			display: flex;
+			flex-direction: column;
+			align-items: flex-start;
+			width: 70%;
+			height: 100%;
+
+			.text-dec {
+				margin: 16rpx 0;
+				white-space: normal;
+				word-break: break-word;
+				line-height: 46rpx;
+			}
+
+			.text-name {}
+
+			.text-status {
+				color: #999;
+			}
+		}
+	}
+
+	.integral-mall-goods {
+		width: 100%;
+		height: 320rpx;
+		background: #F2F2F2;
+		border-radius: 16upx;
+	}

+ 38 - 0
pages/index/style/index.scss

@@ -0,0 +1,38 @@
+.home-header {
+		/* height: 300rpx; */
+		width: 100%;
+		position: relative;
+		border-radius: 0rpx 0rpx 48rpx 48rpx;
+	}
+
+	.home-mendian {
+		width: 100%;
+		height: 84rpx;
+		background: rgba(255, 255, 255, 0.1);
+		border-radius: 42rpx;
+	}
+
+	.integral-mall-main {
+		position: relative;
+		/* margin-top: -104rpx; */
+	}
+
+	.integal-mall-menu {
+		width: 100%;
+		height: 190rpx;
+		background: #FFFFFF;
+		border-radius: 20rpx;
+	}
+
+	.integral-mall-goods {
+		width: 210rpx;
+		height: 280rpx;
+		background: #F2F2F2;
+		border-radius: 16upx;
+	}
+
+	.titleNview-placing {
+		height: var(--status-bar-height);
+		padding-top: 44px;
+		box-sizing: content-box;
+	}

+ 192 - 232
pages/member/index.vue

@@ -1,242 +1,202 @@
 <template>
-  <view class="body">
+	<view class="body">
 
-    <view class="pd24_20 flex alcenter space user-info">
-      <view class="flex alcenter">
-        <view class="member-face">
-          <image class="face" :src="statics.defaultFace"></image>
-          <!-- <image class="vip-level" :src="userinfo.group_id>1?statics.vipLevelImg[0]:''"></image> -->
-        </view>
-        <view class="ml15">
-          <view class="ft16 cl-main">{{ userinfo.type }}</view>
-          <view class="mt12 ft12 cl-notice">ID:{{ userinfo.uid || '' }}
-            <image @click="copyId(userinfo.uid || '')" style="margin-left: 10px; width: 30rpx;height: 15px;"
-              src="/static/img/wode/cpoy.png" />
-          </view>
-        </view>
-      </view>
-    </view>
-    <view class="pd24_20">
+		<view class="pd24_20 flex alcenter space user-info">
+			<view class="flex alcenter">
+				<view class="member-face">
+					<image class="face" :src="statics.defaultFace"></image>
+					<!-- <image class="vip-level" :src="userinfo.group_id>1?statics.vipLevelImg[0]:''"></image> -->
+				</view>
+				<view class="ml15">
+					<view class="ft16 cl-main">{{ userinfo.type }}</view>
+					<view class="mt12 ft12 cl-notice">ID:{{ userinfo.uid || '' }}
+						<image @click="copyId(userinfo.uid || '')" style="margin-left: 10px; width: 30rpx;height: 15px;"
+							src="/static/img/wode/cpoy.png" />
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="pd24_20">
 
-      <div class="box pd16_15  creadit-box">
-        <div class="mt16 coin-box">
-          <div class="flex alcenter coin-item">
-            <label class="coin-text">{{ userinfo.charge_coin || 0 }}</label>
-            <label class="coin-text">永久看币</label>
-          </div>
-          <label class="box-line">|</label>
-          <div class="flex alcenter coin-item">
-            <label class="coin-text">{{ userinfo.reward_coin || 0 }}</label>
-            <label class="coin-text">赠送看币</label>
-          </div>
-        </div>
-        <navigator url="/pages/pay/pay">
-          <div class="mt16 box-cj"><label class="btn-cz">去充值</label></div>
-        </navigator>
-
-      </div>
-      <!-- <home-vipcard :userinfo="userinfo" @loginAct="showLoginAct" @qrcode="showQrcode = true"></home-vipcard> -->
-
-      <view class="flex wrap space mt16">
-        <view v-for="(item, index) in getMenus" :key="index" :class="index > 1 ? 'mt16' : ''">
-          <view v-if="item.type == 'link'" :data-index="index" @click="memberLinkTo" class="box pd16_15 flex alcenter"
-            style="width: 320rpx;">
-            <image :src="item.icon" style="width: 64rpx;height: 64rpx;"></image>
-            <text class="ml15 ft14 ftw500 cl-main">{{ item.name }}</text>
-          </view>
-          <view v-else style="width: 320rpx;" @click="showPopu(item.type)">
-            <button class="box pd16_15 flex alcenter" style="padding: 32rpx 30rpx; margin: 0;">
-              <image :src="item.icon" style="width: 64rpx;height: 64rpx;"></image>
-              <text class="ml15 ft14 ftw500 cl-main">{{ item.name }}</text>
-            </button>
-          </view>
-        </view>
-      </view>
-      <com-copyright></com-copyright>
-      <uni-popup ref="popup" type="center">
-        <image :show-menu-by-longpress="true" class="qrcode-img" :src="kefu.url"></image>
-      </uni-popup>
-    </view>
-  </view>
+			<div class="box pd16_15  creadit-box">
+				<div class="mt16 coin-box">
+					<div class="flex alcenter coin-item">
+						<label class="coin-text">{{ userinfo.charge_coin || 0 }}</label>
+						<label class="coin-text">永久看币</label>
+					</div>
+					<label class="box-line">|</label>
+					<div class="flex alcenter coin-item">
+						<label class="coin-text">{{ userinfo.reward_coin || 0 }}</label>
+						<label class="coin-text">赠送看币</label>
+					</div>
+				</div>
+				<div class="mt16 box-cj" @click="topay"><label class="btn-cz">去充值</label></div>
+			</div>
+			<!-- <home-vipcard :userinfo="userinfo" @loginAct="showLoginAct" @qrcode="showQrcode = true"></home-vipcard> -->
+			<view class="flex wrap space mt16">
+				<view v-for="(item, index) in getMenus" :key="index" :class="index > 1 ? 'mt16' : ''">
+					<view v-if="item.type == 'link'" :data-index="index" @click="memberLinkTo"
+						class="box pd16_15 flex alcenter" style="width: 320rpx;">
+						<image :src="item.icon" style="width: 64rpx;height: 64rpx;"></image>
+						<text class="ml15 ft14 ftw500 cl-main">{{ item.name }}</text>
+					</view>
+					<view v-else style="width: 320rpx;" @click="showPopu(item.type)">
+						<button class="box pd16_15 flex alcenter" style="padding: 32rpx 30rpx; margin: 0;">
+							<image :src="item.icon" style="width: 64rpx;height: 64rpx;"></image>
+							<text class="ml15 ft14 ftw500 cl-main">{{ item.name }}</text>
+						</button>
+					</view>
+				</view>
+			</view>
+			<com-copyright></com-copyright>
+			<uni-popup ref="popup" type="center">
+				<image :show-menu-by-longpress="true" class="qrcode-img" :src="kefu.url"></image>
+			</uni-popup>
+		</view>
+	</view>
 </template>
 
 <script>
-import {
-  getKefu
-} from "@/common/apis/common.js"
-import {
-  getUserInfo
-} from "@/common/apis/my.js"
-export default {
-  data() {
-    return {
-      isLogin: false,
-      showLogin: false,
-      isBirthday: true,
-      showBirthday: false,
-      showQrcode: true,
-      avatar: '',
-      userinfo: {
-        type: "微信用户",
-      },
-      kefu: {
-        url: "",
-      },
-      vipLevel: 0,
-      iskq: 0,
-      uid: 0,
-      staticUrl: this.$config.staticUrl,
-      memberMenus: [
-        // {name:'观看历史',type:'link',model:'',link:'/pages/client/tuan/zjgk',icon:this.$config.staticUrl + 'vipcard_icon_my_card@2x.png',show:1},
-        // {name:'我的追剧',type:'link',model:'',link:'/pages/client/tuan/zjjl',icon:this.$config.staticUrl + 'vipcard_icon_my_order@2x.png',show:1},
-        {
-          name: '我的追剧',
-          type: 'link',
-          model: 'tab',
-          link: '/pages/zhuiju/index',
-          icon: this.$config.zystaticUrl + '/static/img/wode/zhuij.png',
-          show: 1
-        },
-        {
-          name: '充值记录',
-          type: 'link',
-          model: '',
-          link: '/pages/member/orders',
-          icon: this.$config.zystaticUrl + '/static/img/wode/wd-cz.png',
-          show: 1
-        },
-        {
-          name: '消费记录',
-          type: 'link',
-          model: '',
-          link: '/pages/member/consume',
-          icon: this.$config.zystaticUrl + '/static/img/wode/xiaofei.png',
-          show: 1
-        },
-        {
-          name: '联系客服',
-          type: 'kefu',
-          model: '',
-          link: '/pages/client/tuan/wdxh',
-          icon: this.$config.zystaticUrl + '/static/img/wode/kefu.png',
-          show: 1
-        },
-
-        // {name:'收货地址',type:'git link',model:'',link:'/pages/client/member/address',icon:this.$config.staticUrl + 'vipcard_icon_my_address@2x.png',show:0},
-        // {name:'官方商城',type:'link',model:'',link:'/pages/client/shop',icon:this.$config.staticUrl + 'vipcard_icon_my_integral@2x.png',show:0},
-        // {name:'联系客服',type:'link',model:'',link:'/pages/client/vipcard/adviser',icon:this.$config.staticUrl + 'vipcard_icon_my_advise@2x.png',show:1},
-        // {name:'我的团队',type:'link',model:'',link:'/pages/client/mytuandui',icon:this.$config.staticUrl + 'vipcard_icon_my_invite@2x.png',show:3},
-        // {name:'分销订单',type:'link',model:'',link:'/pages/client/vipcard/fxlog',icon:this.$config.staticUrl + 'vipcard_icon_my_integral@2x.png',show:3},
-      ],
-    }
-  },
-  computed: {
-    getMenus() {
-      let arr = new Array;
-      for (var a in this.memberMenus) {
-        if (this.memberMenus[a].show == 1 || (this.iskq == 1 && this.memberMenus[a].show == 3)) {
-          arr.push(this.memberMenus[a]);
-        }
-      }
-      return arr;
-    }
-  },
-  async onLoad() {
-    let res = await getKefu();
-    this.kefu = res.data;
-  },
-  async onShow() {
-    let res = await getUserInfo();
-    this.userinfo = res.data;
-  },
-  onShareTimeline(e) {
-
-  },
-  methods: {
-    showPopu(type = "kefu") {
-      if (type == "kefu") {
-        this.$refs.popup.open('center')
-      }
-    },
-    opset() {
-      uni.navigateTo({
-        url: '/pages/set/set'
-      })
-    },
-    opsets() {
-      uni.navigateTo({
-        url: '/pages/set/grzl/grzl'
-      })
-    },
-    memberLinkTo(e) {
-      let index = parseInt(e.currentTarget.dataset.index);
-
-      if (this.getMenus[index].link != '') {
-        if (this.getMenus[index].model == 'integral') {
-          uni.redirectTo({
-            url: this.getMenus[index].link
-          })
-        } else if (this.getMenus[index].model == 'tab') {
-          uni.switchTab({
-            url: this.getMenus[index].link
-          })
-        } else {
-          uni.navigateTo({
-            url: this.getMenus[index].link
-          })
-        }
-      }
-    },
-    birthdayAct() {
-      if (this.isBirthday) {
-        uni.navigateTo({
-          url: '/pages/client/member/birthday'
-        })
-      } else {
-        uni.navigateTo({
-          url: '/pages/client/member/info'
-        })
-      }
-    },
-    copyId(uid) {
-      console.log('uid', uid);
-      uni.setClipboardData({
-        data: uid + "",
-        success: () => {
-          uni.showToast({
-            title: '复制成功',
-            icon: "none"
-          })
-        },
-        fail: function (err) {
-          uni.showToast({
-            title: '复制失败',
-            duration: 2000,
-            icon: 'none'
-          });
-        }
-      })
-    },
-    previewImage(e) {
-      console.log('e', e);
-      uni.previewImage({
-        urls: this.kefu.url,
-        longPressActions: {
-          // itemList: ['发送给朋友', '保存图片', '收藏'],
-          success: function (data) {
-            console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
-          },
-          fail: function (err) {
-            console.log(err.errMsg);
-          }
-        }
-      });
+	import {
+		getKefu
+	} from "@/common/apis/common.js"
+	import {
+		getUserInfo
+	} from "@/common/apis/my.js"
+	export default {
+		data() {
+			return {
+				isLogin: false,
+				showLogin: false,
+				isBirthday: true,
+				showBirthday: false,
+				showQrcode: true,
+				avatar: '',
+				userinfo: {
+					type: "微信用户",
+				},
+				kefu: {
+					url: "",
+				},
+				vipLevel: 0,
+				iskq: 0,
+				uid: 0,
+				staticUrl: this.$config.staticUrl,
+				memberMenus: [{
+						name: '我的追剧',
+						type: 'link',
+						model: 'tab',
+						link: '/pages/zhuiju/index',
+						icon: this.$config.zystaticUrl + '/static/img/wode/zhuij.png',
+						show: 1
+					},
+					{
+						name: '充值记录',
+						type: 'link',
+						model: '',
+						link: '/pages/member/orders',
+						icon: this.$config.zystaticUrl + '/static/img/wode/wd-cz.png',
+						show: 1
+					},
+					{
+						name: '消费记录',
+						type: 'link',
+						model: '',
+						link: '/pages/member/consume',
+						icon: this.$config.zystaticUrl + '/static/img/wode/xiaofei.png',
+						show: 1
+					},
+					{
+						name: '联系客服',
+						type: 'kefu',
+						model: '',
+						link: '/pages/client/tuan/wdxh',
+						icon: this.$config.zystaticUrl + '/static/img/wode/kefu.png',
+						show: 1
+					},
+				],
+			}
+		},
+		computed: {
+			getMenus() {
+				let arr = new Array;
+				for (var a in this.memberMenus) {
+					if (this.memberMenus[a].show == 1 || (this.iskq == 1 && this.memberMenus[a].show == 3)) {
+						arr.push(this.memberMenus[a]);
+					}
+				}
+				return arr;
+			}
+		},
+		async onLoad() {
+			try {
+				let res = await getKefu();
+				this.kefu = res.data;
+			} catch (e) {
+				//TODO handle the exception
+			}
+		},
+		async onShow() {
+			try {
+				let res = await getUserInfo();
+				this.userinfo = res.data;
+			} catch (e) {
+				//TODO handle the exception
+			}
+		},
+		methods: {
+			topay() {
+				uni.navigateTo({
+					url: '/pages/pay/pay'
+				})
+			},
+			showPopu(type = "kefu") {
+				if (type == "kefu") {
+					this.$refs.popup.open('center')
+				}
+			},
+			memberLinkTo(e) {
+				let index = parseInt(e.currentTarget.dataset.index);
 
-    }
-  },
-}
+				if (this.getMenus[index].link != '') {
+					if (this.getMenus[index].model == 'integral') {
+						uni.redirectTo({
+							url: this.getMenus[index].link
+						})
+					} else if (this.getMenus[index].model == 'tab') {
+						uni.switchTab({
+							url: this.getMenus[index].link
+						})
+					} else {
+						uni.navigateTo({
+							url: this.getMenus[index].link
+						})
+					}
+				}
+			},
+			copyId(uid) {
+				console.log('uid', uid);
+				uni.setClipboardData({
+					data: uid + "",
+					success: () => {
+						uni.showToast({
+							title: '复制成功',
+							icon: "none"
+						})
+					},
+					fail: function(err) {
+						uni.showToast({
+							title: '复制失败',
+							duration: 2000,
+							icon: 'none'
+						});
+					}
+				})
+			},
+		},
+	}
 </script>
 
-<style>
-@import url("style/index.css");
+<style lang="scss" scoped>
+	@import url("style/index.css");
 </style>

+ 87 - 81
pages/member/orders.vue

@@ -1,90 +1,96 @@
 <template>
-  <view class="body pd16_15">
-    <view class="jilu-box" v-show="list.length > 0">
-      <view class="pb10 jilu-item" v-for="(item, key) in list" :key="key">
-        <view class="jilu-item-box">
-          <text class="ft12 jilu-txt">订单号:{{ item.trade_no }}</text>
-          <text class="ft12 jilu-txt">{{ item.status }}</text>
-        </view>
-        <view class="jilu-item-box">
-          <view class="jilu-items">
-            <image class="pay-icon" src="/static/img/orders/cj-icon.png" mode=""></image>
-            <view class="lines">
-              <text class="ft14" style="font-weight: bold;">{{ item.pay_name }}</text>
-              <text class="ft12 jilu-txt">时间:{{ item.pay_end_at }}</text>
-            </view>
-          </view>
-          <view class="lines">
-            <text class="ft14 jilu-txt"
-              style="text-align: right;font-weight: bold;color:  #FF9800;">{{ item.pay_result }}K币</text>
-            <text class="ft12 jilu-txt">实付金额:&yen;{{ item.price }}</text>
-          </view>
-        </view>
-      </view>
-    </view>
-    <view class="empty-box" v-if="list.length < 1 && show">
-      <image src="/static/img/orders/emty.png" mode=""></image>
-      <p class="ft14 line-1-txt">暂无充值记录</p>
-      <p class="ft14 line-2-txt">小充一笔,看更多好剧吧</p>
-      <navigator url="/pages/pay/pay">
-        <view class="ft16 btn-box"><text class="ft12 btn-cz">去充值</text> </view>
-      </navigator>
-    </view>
-  </view>
+	<view class="body pd16_15">
+		<view class="jilu-box" v-show="list.length > 0">
+			<view class="pb10 jilu-item" v-for="(item, key) in list" :key="key">
+				<view class="jilu-item-box">
+					<text class="ft12 jilu-txt">订单号:{{ item.trade_no }}</text>
+					<text class="ft12 jilu-txt">{{ item.status }}</text>
+				</view>
+				<view class="jilu-item-box">
+					<view class="jilu-items">
+						<image class="pay-icon" src="/static/img/orders/cj-icon.png" mode=""></image>
+						<view class="lines">
+							<text class="ft14" style="font-weight: bold;">{{ item.pay_name }}</text>
+							<text class="ft12 jilu-txt">时间:{{ item.pay_end_at }}</text>
+						</view>
+					</view>
+					<view class="lines">
+						<text class="ft14 jilu-txt"
+							style="text-align: right;font-weight: bold;color:  #FF9800;">{{ item.pay_result }}K币</text>
+						<text class="ft12 jilu-txt">实付金额:&yen;{{ item.price }}</text>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="empty-box" v-if="list.length < 1 && show">
+			<image src="/static/img/orders/emty.png" mode=""></image>
+			<p class="ft16 line-1-txt mb5">暂无充值记录</p>
+			<p class="ft16 line-2-txt">小充一笔,看更多好剧吧</p>
+			<navigator url="/pages/pay/pay">
+				<view class="ft16 btn-box"><text class="ft14 btn-cz">去充值</text> </view>
+			</navigator>
+		</view>
+	</view>
 </template>
 
 <script>
-import { getOrderList } from "@/common/apis/recharge.js"
-export default {
-  data() {
-    return {
-      page: 1,
-      hasMore: true,
-      list: [],
-      show: false
-    }
-  }, onLoad() {
+	import {
+		getOrderList
+	} from "@/common/apis/recharge.js"
+	export default {
+		data() {
+			return {
+				page: 1,
+				hasMore: true,
+				list: [],
+				show: false
+			}
+		},
+		onLoad() {
 
-  }, onShow() {
-    this.page = 1;
-    this.hasMore = true;
-    this.getList();
-    uni.hideLoading();
-  }, onPullDownRefresh() {
-    this.page = 1;
-    this.list = [];
-    this.getList();
-    uni.stopPullDownRefresh();
-  }, onReachBottom() {
-    if (!this.hasMore) {
-      return false;
-    }
-    this.getList();
-  },
-  methods: {
-    async getList() {
+		},
+		onShow() {
+			this.page = 1;
+			this.hasMore = true;
+			this.getList();
+			uni.hideLoading();
+		},
+		onPullDownRefresh() {
+			this.page = 1;
+			this.list = [];
+			this.getList();
+			uni.stopPullDownRefresh();
+		},
+		onReachBottom() {
+			if (!this.hasMore) {
+				return false;
+			}
+			this.getList();
+		},
+		methods: {
+			async getList() {
 
-      if (this.page <= 1) {
-        this.show = false;
-      }
-      let response = await getOrderList(this.page);
-      let res = response.data;
-      if (res) {
-        if (this.page >= res.last_page) {
-          this.hasMore = false;
-        } else {
-          this.page++;
-        }
-        res.data.forEach((item, index) => {
-          this.list.push(item);
-        })
-      }
-      this.show = true;
-    },
-  }
-}
+				if (this.page <= 1) {
+					this.show = false;
+				}
+				let response = await getOrderList(this.page);
+				let res = response.data;
+				if (res) {
+					if (this.page >= res.last_page) {
+						this.hasMore = false;
+					} else {
+						this.page++;
+					}
+					res.data.forEach((item, index) => {
+						this.list.push(item);
+					})
+				}
+				this.show = true;
+			},
+		}
+	}
 </script>
 
-<style>
-@import url("style/orders.css");
+<style lang="scss" scoped>
+	@import url("style/orders.css");
 </style>

+ 63 - 49
pages/member/style/index.css

@@ -1,58 +1,72 @@
 	.body {
 		background-color: #FFFFFF;
 	}
-	.cl-notice{
+
+	.cl-notice {
 		display: flex;
 		align-items: center;
-	}
-	.coin-text{
-		font-size: 1rem;
-	}
-	.box-line{
-		font-size: 1px;
-		height: 26px;
-		margin-top: 13px;
-		line-height: 100%;
-		background-color: #000000;
-	}
-	.btn-cz{
-		background-color: #ffc107cc;
-		font-size: 16px;
-		line-height: 24px;
-		color: #fff;
-		padding: 10rpx 30rpx;
-		border-radius: 15rpx;
-		height: 24px;
-		min-width:50px;
-		display: block;
-		text-align: center;
-	}
-	.box-cj{
-		float: right;
-		flex-grow:1;
-	}
-	.qrcode-img{
-		height: 25rem;
-	}
-	.user-info{
-		background-color: #9e9e9e3d;
-	}
-	.creadit-box{
-		display: flex;
-		flex-direction: row;
-		flex-wrap: nowrap;
-	}
-	.coin-item{
-		display: flex;
-		flex-direction: column;
-		flex-grow:2;
-	}
-	.coin-box{
-		display: flex;
-		flex-direction: row;
-		color: #000000;
-		flex-grow:4;
 	}
+
+	.coin-text {
+		font-size: 1rem;
+	}
+
+	.box-line {
+		font-size: 1px;
+		height: 26px;
+		margin-top: 13px;
+		line-height: 100%;
+		background-color: #000000;
+	}
+
+	.btn-cz {
+		background-color: #ffc107cc;
+		font-size: 16px;
+		line-height: 24px;
+		color: #fff;
+		padding: 10rpx 30rpx;
+		border-radius: 15rpx;
+		height: 24px;
+		min-width: 50px;
+		display: block;
+		text-align: center;
+	}
+
+	.box-cj {
+		float: right;
+		flex-grow: 1;
+	}
+
+	.qrcode-img {
+		border-radius: 10px;
+		width: 80vw;
+		height: 50vh;
+		object-fit: contain;
+	}
+
+	.user-info {
+		background-color: #9e9e9e3d;
+	}
+
+	.creadit-box {
+		display: flex;
+		flex-direction: row;
+		flex-wrap: nowrap;
+	}
+
+	.coin-item {
+		display: flex;
+		flex-direction: column;
+		flex-grow: 2;
+	}
+
+	.coin-box {
+		display: flex;
+		flex-direction: row;
+		color: #000000;
+		flex-grow: 4;
+	}
+
 	.opsetads {
 		background: #FFFFFF;
 		color: #000000;

+ 144 - 123
pages/pay/pay.vue

@@ -1,134 +1,155 @@
 <template>
-  <view class="body">
-    <view style="margin: 0px 20px;">
-      <view class="ft18">请选择充值金额 <label class="ft14" style="float: right;">账户余额<label class="ft14 kb-txt">{{
+	<view class="body">
+		<view style="margin: 0px 20px;">
+			<view class="ft18">请选择充值金额 <label class="ft14" style="float: right;">账户余额<label class="ft14 kb-txt">{{
         user_info.total_coin }}</label>K币</label></view>
-      <text class="ft14" style="font-weight: bold;padding-top: 10px;display: block;">1元=100K币</text>
-    </view>
-    <view class="pay-box">
-      <block v-for="(item, key) in list" :key="key">
-        <view v-if="item.type == 'COIN'" @click="selectPayItem(item)" :class="item.id == select.id ? 'pay-select' : ''"
-          class="box pay-box-items">
-          <view style="height: 20px;align-self: flex-end;"><text class="ft12 top-lab" v-if="item.tip_text">{{
+			<text class="ft14" style="font-weight: bold;padding-top: 10px;display: block;">1元=100K币</text>
+		</view>
+		<view class="pay-box">
+			<block v-for="(item, key) in list" :key="key">
+				<view v-if="item.type == 'COIN'" @click="selectPayItem(item)"
+					:class="item.id == select.id ? 'pay-select' : ''" class="box pay-box-items">
+					<view style="height: 20px;align-self: flex-end;"><text class="ft12 top-lab" v-if="item.tip_text">{{
             item.tip_text }}</text></view>
-          <text class="ft18 pay-box-items-txt" style="color: #FF9800;">{{ item.price }}元</text>
-          <view class="ft14 pay-box-items-txt" style="flex-direction: row;">
-            {{ item.price_text }} <text class="ft14" style="color: #FF9800;">+{{ item.given }}K币</text> </view>
-          <view class="ft14 pay-box-items-txt" style="flex-direction: row;display: flex;justify-content:  space-between;"
-            :class="item.id == select.id ? 'select-text' : 'given-txt'">
-            {{ item.given_amount }} <text v-if="item.id == select.id" class="ft14"
-              style="margin-right: 20px;">&#10003;️</text></view>
-        </view>
-        <view v-else @click="selectPayItem(item)" :class="item.id == select.id ? 'pay-select' : ''"
-          class="box pay-box-items">
-          <view style="height: 20px;align-self: flex-end;"><text class="ft12 top-lab" v-if="item.tip_text">{{
+					<text class="ft18 pay-box-items-txt" style="color: #FF9800;">{{ item.price }}元</text>
+					<view class="ft14 pay-box-items-txt" style="flex-direction: row;">
+						{{ item.price_text }} <text class="ft14" style="color: #FF9800;">+{{ item.given }}K币</text>
+					</view>
+					<view class="ft14 pay-box-items-txt"
+						style="flex-direction: row;display: flex;justify-content:  space-between;"
+						:class="item.id == select.id ? 'select-text' : 'given-txt'">
+						{{ item.given_amount }} <text v-if="item.id == select.id" class="ft14"
+							style="margin-right: 20px;">&#10003;️</text>
+					</view>
+				</view>
+				<view v-else @click="selectPayItem(item)" :class="item.id == select.id ? 'pay-select' : ''"
+					class="box pay-box-items">
+					<view style="height: 20px;align-self: flex-end;"><text class="ft12 top-lab" v-if="item.tip_text">{{
             item.tip_text }}</text></view>
-          <view class="vip-center">
-            <view class="">
-              <text class="ft18 pay-box-items-txt" style="color: #FF9800;">{{ item.price }}元</text>
-              <view class="ft14 pay-box-items-txt">{{ item.price_text }}</text></view>
-            </view>
-            <image class="vip-level-icon" src="/static/icon/vip.png"></image>
-          </view>
-          <view class="ft14 pay-box-items-txt" style="flex-direction: row;display: flex;justify-content: space-between;"
-            :class="item.id == select.id ? 'select-text' : 'given-txt'">
-            <text class="ft14">{{ item.given_amount }}</text> <text v-if="item.id == select.id" class="ft14"
-              style="margin-right: 20px;">&#10003;️</text>
-          </view>
-        </view>
-      </block>
-    </view>
-    <view @click="toPay" class="ft16 btn-cz  mt16 ">
-      确认充值{{ select.price || 0 }}
-    </view>
-    <view class="ft14" style="margin: 10px 0; padding: 0 20px;">付费须知</view>
-    <view class="ft14" style="padding: 0 20px;margin-bottom: 50px;display: flex;flex-direction: column;">
-      <text class="ft12">1、虚拟商品,一经购买不得退换</text>
-      <text class="ft12">2、充值后K币可能有延迟,1小时未到账请在“我的”页面联系客服</text>
-      <text class="ft12">3、未满18岁的未成年需要在监护人陪同下购买并观看短剧剧</text>
-      <text class="ft12">4、购买成功后,“K币”仅在本小程序中使用</text>
-      <text class="ft12">5、购买成功后可在”我的”页面订单中心进行查看</text>
-    </view>
-  </view>
+					<view class="vip-center">
+						<view class="">
+							<text class="ft18 pay-box-items-txt" style="color: #FF9800;">{{ item.price }}元</text>
+							<view class="ft14 pay-box-items-txt">{{ item.price_text }}</text></view>
+						</view>
+						<image class="vip-level-icon" src="/static/icon/vip.png"></image>
+					</view>
+					<view class="ft14 pay-box-items-txt"
+						style="flex-direction: row;display: flex;justify-content: space-between;"
+						:class="item.id == select.id ? 'select-text' : 'given-txt'">
+						<text class="ft14">{{ item.given_amount }}</text> <text v-if="item.id == select.id" class="ft14"
+							style="margin-right: 20px;">&#10003;️</text>
+					</view>
+				</view>
+			</block>
+		</view>
+		<view @click="toPay" class="ft16 btn-cz  mt16 ">
+			确认充值{{ select.price || 0 }}
+		</view>
+		<view class="ft14" style="margin: 10px 0; padding: 0 20px;">付费须知</view>
+		<view class="ft14" style="padding: 0 20px;margin-bottom: 50px;display: flex;flex-direction: column;">
+			<text class="ft12">1、虚拟商品,一经购买不得退换</text>
+			<text class="ft12">2、充值后K币可能有延迟,1小时未到账请在“我的”页面联系客服</text>
+			<text class="ft12">3、未满18岁的未成年需要在监护人陪同下购买并观看短剧剧</text>
+			<text class="ft12">4、购买成功后,“K币”仅在本小程序中使用</text>
+			<text class="ft12">5、购买成功后可在”我的”页面订单中心进行查看</text>
+		</view>
+	</view>
 </template>
 
 <script>
+	import {
+		getUserInfo
+	} from "@/common/apis/my.js";
+	import {
+		getOptions,
+		getPayInfo,
 
-import { getUserInfo } from "@/common/apis/my.js";
-import {
-  getOptions,
-  getPayInfo,
+	} from "@/common/apis/recharge.js"
+	export default {
+		data() {
+			return {
+				user_info: {},
+				list: [],
+				select: {},
+				pay_success: false
+			}
+		},
+		async onShow() {
+			let res = await getUserInfo();
+			this.user_info = res.data
+			this.get_options();
+		},
+		methods: {
+			async get_options() {
+				let res = await getOptions();
+				this.list = res.data;
+				this.list.forEach((item, index) => {
+					if (item.is_default == 1) {
+						this.select = item;
+					}
+				})
+			},
+			selectPayItem(item) {
+				this.select = item;
+			},
+			async toPay() {
+				if (this.select.lenght < 1) {
+					uni.showToast({
+						title: '请选择要充值的项',
+						icon: "none"
+					});
+					return false;
+				}
+				let params = {
+					pay_proudct_id: this.select.id,
+					video_id: this.video_info && this.video_info.video_id ? this.video_info.video_id : 0,
+					video_series_sequence: this.video_info && this.video_info.video_series_sequence ? this
+						.video_info.video_series_sequence : 0,
+					is_first_pay: this.select.is_first_pay,
+				};
+				let result = false;
 
-} from "@/common/apis/recharge.js"
-export default {
-  data() {
-    return {
-      user_info: {},
-      list: [],
-      select: {},
-      pay_success: false
-    }
-  },
-  async onShow() {
-    let res = await getUserInfo();
-    this.user_info = res.data
-    this.get_options();
-  },
-  methods: {
-    async get_options() {
-      let res = await getOptions();
-      this.list = res.data;
-      this.list.forEach((item, index) => {
-        if (item.is_default == 1) {
-          this.select = item;
-        }
-      })
-    }, selectPayItem(item) {
-      this.select = item;
-    }, async toPay() {
-      if (this.select.lenght < 1) {
-        uni.showToast({ title: '请选择要充值的项', icon: "none" });
-        return false;
-      }
-      let params = {
-        pay_proudct_id: this.select.id,
-        video_id: this.video_info && this.video_info.video_id ? this.video_info.video_id : 0,
-        video_series_sequence: this.video_info && this.video_info.video_series_sequence ? this.video_info.video_series_sequence : 0,
-        is_first_pay: this.select.is_first_pay,
-      };
-      let result = false;
-
-      let res = await getPayInfo(params);
-      if (res.data) {
-        // #ifdef MP-WEIXIN
-        this.wxMinPay(res.data);
-        // #endif
-      }
-    }, wxMinPay(param) {
-      wx.requestPayment({
-        timeStamp: param.timeStamp,
-        nonceStr: param.nonceStr,
-        package: param.package,
-        signType: param.signType,
-        paySign: param.paySign,
-        success(res) {
-          this.pay_success = true;
-          uni.showToast({ title: '支付成功', icon: "none" });
-          // console.log('success:' + JSON.stringify(res));
-        },
-        fail(e) {
-          if (e.errMsg == "requestPayment:fail cancel") {
-            uni.showToast({ title: '取消支付', icon: "none" });
-          } else {
-            uni.showToast({ title: '支付失败', icon: "none" });
-          }
-        }
-      })
-    }
-  }
-}
+				let res = await getPayInfo(params);
+				if (res.data) {
+					// #ifdef MP-WEIXIN
+					this.wxMinPay(res.data);
+					// #endif
+				}
+			},
+			wxMinPay(param) {
+				wx.requestPayment({
+					timeStamp: param.timeStamp,
+					nonceStr: param.nonceStr,
+					package: param.package,
+					signType: param.signType,
+					paySign: param.paySign,
+					success(res) {
+						this.pay_success = true;
+						uni.showToast({
+							title: '支付成功',
+							icon: "none"
+						});
+						// console.log('success:' + JSON.stringify(res));
+					},
+					fail(e) {
+						if (e.errMsg == "requestPayment:fail cancel") {
+							uni.showToast({
+								title: '取消支付',
+								icon: "none"
+							});
+						} else {
+							uni.showToast({
+								title: '支付失败',
+								icon: "none"
+							});
+						}
+					}
+				})
+			}
+		}
+	}
 </script>
 
-<style>
-@import url("style/pay.css");
-</style>
+<style lang="scss" scoped>
+	@import url("style/pay.css");
+</style>

+ 51 - 96
pages/video/index.nvue

@@ -7,8 +7,9 @@
 			<u-navbar :leftText="topTitle" @leftClick="leftClick" titleStyle="color:#fff;" bgColor="#000"
 				leftIconColor="#fff" :autoBack="false">
 			</u-navbar>
-			<swiper :style="'width: '+ windowWidth +'px; height:100vh; background-color: #000;'" class="swiper"
-				:circular='false' @change="swiperChange" :current="swiperCurrent" :vertical="true" duration="200">
+			<swiper :style="'width: '+ windowWidth +'px; height:100vh; background-color: #000;'" skip-hidden-item-layout
+				class="swiper" :circular='false' easing-function="default" @change="swiperChange"
+				:current="swiperCurrent" :vertical="true" duration="200">
 				<block v-for="content in swiperList" :key="content">
 					<swiper-item :key="content">
 						<view :style="'width: '+ windowWidth +'px; height:'+heightxw+'vh;'"
@@ -83,9 +84,7 @@
 									</view>
 									<view class="ju-top-update"> 已更新至{{videoInfo.updated_episode_num}}集 </view>
 								</view>
-								<u-tabs v-if="fenji==1" :activeStyle="activeStyle" lineColor="none"
-									:inactiveStyle="inactiveStyle" :current="tabcurrent" :list="labelList"
-									@click="labelListClick"></u-tabs>
+
 							</view>
 							<view class="down" @click="down">
 								<text class="down-text">收起</text>
@@ -95,6 +94,9 @@
 						</view>
 					</view>
 					<scroll-view class="scroll-my" :scroll-y="true" :scroll-top="scrollTop">
+						<u-tabs v-if="fenji==1" :activeStyle="activeStyle" lineColor="none"
+							:inactiveStyle="inactiveStyle" :current="tabcurrent" :list="labelList"
+							@click="labelListClick"></u-tabs>
 						<view class="ju-wrapper">
 							<block v-for="content in labelList[tabcurrent].content" :key="content">
 								<view class="ju-content" :class="activeIndex ==content?'active':'' "
@@ -236,20 +238,13 @@
 				list1: [{
 					name: '当前剧集',
 				}],
-				sharedata: {
-					type: 2,
-					strShareUrl: "",
-					strShareTitle: "分享标题",
-					strShareSummary: "分享总结",
-					strShareImageUrl: ""
-				},
 				isShow: true,
 				fenji: 2,
 				controls: true,
 				windowWidth: 0,
 				windowHeight: 0,
 				current: 0,
-				isplay: true, //是否自动播放下一个视频
+				isplay: false, //是否自动播放下一个视频
 				duration: 500,
 				isqp: true,
 				urls: configs.webUrl,
@@ -270,7 +265,7 @@
 			},
 			swiperList() {
 				// return Number(2800) + 1
-				return Number(this.videoInfo.updated_episode_num) + 1
+				return Number(this.videoInfo.updated_episode_num) + 1 || 0
 			},
 			isShowVideo(item) {
 				return (item) => {
@@ -310,45 +305,47 @@
 			})
 		},
 		async onLoad(e) {
-			// console.log('11111111111111111111',e)
-			let that = this;
-			uni.getSystemInfo({
-				success(res) {
-					that.top_height = res.statusBarHeight; //data中 声明 top_height:0 
+			try {
+				let that = this;
+				uni.getSystemInfo({
+					success(res) {
+						that.top_height = res.statusBarHeight; //data中 声明 top_height:0 
+					}
+				});
+				if (e.video_id) {
+					this.video_id = Number(e.video_id)
 				}
-			});
-
-
-			if (e.video_id) {
-				this.video_id = Number(e.video_id)
-			}
-			if (e.sequence && Number(e.sequence) > 0) {
-				this.swiperCurrent = Number(e.sequence) - 1;
-			}
-			// 染色参数接收
-			if (e.ranse_id && Number(e.ranse_id) > 0) {
-				try {
-					this.ranse_id = Number(e.ranse_id);
-					let res = await userRanse(this.ranse_id);
-
-				} catch (e) {
-					console.log("player-errr:", e)
+				if (e.sequence && Number(e.sequence) > 0) {
+					this.swiperCurrent = Number(e.sequence) - 1;
 				}
-			}
-			uni.getSystemInfo({
-				success: res => {
-					this.safeArea = res.safeAreaInsets.bottom;
-					if (this.safeArea > 0) {
-						this.heightxw = 97
+				// 染色参数接收
+				if (e.ranse_id && Number(e.ranse_id) > 0) {
+					try {
+						this.ranse_id = Number(e.ranse_id);
+						let res = await userRanse(this.ranse_id);
+
+					} catch (e) {
+						console.log("player-errr:", e)
 					}
 				}
-			})
-			// #ifdef MP-TOUTIAO
-			this.ttuop = 64
-			// #endif
-			this.windowWidth = uni.getSystemInfoSync().windowWidth
-			this.windowHeight = uni.getSystemInfoSync().windowHeight - this.safeArea - this.ttuop
-			console.log(this.windowHeight)
+				uni.getSystemInfo({
+					success: res => {
+						this.safeArea = res.safeAreaInsets.bottom;
+						if (this.safeArea > 0) {
+							this.heightxw = 97
+						}
+					}
+				})
+				// #ifdef MP-TOUTIAO
+				this.ttuop = 64
+				// #endif
+				this.windowWidth = uni.getSystemInfoSync().windowWidth
+				this.windowHeight = uni.getSystemInfoSync().windowHeight - this.safeArea - this.ttuop
+				console.log(this.windowHeight)
+			} catch (e) {
+				//TODO handle the exception
+				console.log(e)
+			}
 		},
 		onShow() {
 
@@ -467,24 +464,13 @@
 						content: innit(start, index)
 					})
 				}
-				// let index = this.labelList.findIndex(el => el.content.includes(this.activeIndex))
-				// this.tabcurrent = index
 			},
 			playVideo(item) {
 				if (this.isShowVip(item)) {
-					// this.fenji = 2
 					this.swiperCurrent = item - 1;
 					this.getPayInfo(item);
-					// this.activeIndex = ''
 				} else if (this.isShowUpdate(item)) {
-					// this.activeIndex = ''
 					this.centerShow = true
-					// this.swiperCurrent = this.videoInfo.updated_episode_num + 1;
-					// uni.showToast({
-					// 	title: '剧集暂未更新',
-					// 	duration: 500,
-					// 	icon: 'none'
-					// });
 				} else {
 					this.activeIndex = item;
 					this.swiperCurrent = item - 1;
@@ -496,36 +482,6 @@
 			labelListClick(item) {
 				this.tabcurrent = item.index
 			},
-			share() {
-				var href = '/pages/video/index?video_id=' + this.video_id
-				// #ifdef H5
-				uni.setClipboardData({
-					data: this.urls + '/h5/#' + href,
-					complete() {
-						uni.showToast({
-							title: "分享连接已复制到剪贴板"
-						})
-					}
-				})
-				// #endif
-				// #ifndef H5
-				uni.share({
-					provider: "weixin",
-					scene: "WXSenceTimeline",
-					type: 0,
-					href: href,
-					title: '分享标题',
-					summary: '分享总结',
-					imageUrl: '',
-					success: function(res) {
-						console.log("success:" + JSON.stringify(res));
-					},
-					fail: function(err) {
-						console.log("fail:" + JSON.stringify(err));
-					}
-				})
-				// #endif
-			},
 			down() {
 				this.$refs.select.close();
 			},
@@ -549,13 +505,8 @@
 				//console.log('isplay----',this.isplay)
 				// 1.播放当前视频结束时触发,自动切换下一个视频
 				if (this.isplay) {
-					if (this.displayIndex < 2) {
-						this.current = this.displayIndex + 1
-					} else {
-						this.current = 0
-					}
+					this.swiperCurrent += 1
 					this.isqp = true
-					// console.log('显示swiper Index:', this.displayIndex)
 				}
 			},
 			initSwiperData(originIndex) {
@@ -571,6 +522,10 @@
 							this.currentVideoInfo = res.data
 							this.activeIndex = this.episode;
 							this.isShow = true
+							let timer = setTimeout(() => {
+								this.isqp = false
+								clearTimeout(timer)
+							}, 5000)
 							this.down();
 						} else if (res.code == 500101) {
 							// console.log(this.currentVideoInfo, 'res.code == 500101res.code == 500101')

+ 12 - 14
pages/video/style/index.scss

@@ -83,7 +83,7 @@
 		width: 720rpx;
 		z-index: 99;
 		position: absolute;
-		bottom: 70rpx;
+		bottom: 80rpx;
 		left: 50%;
 		transform: translateX(-50%);
 		padding: 15rpx;
@@ -128,12 +128,12 @@
 			align-items: center;
 	
 			.charge-title {
-				font-size: 18px;
+				font-size: 30rpx;
 				font-weight: bold;
 			}
 	
 			.charge-info {
-				font-size: 15px;
+				font-size: 28rpx;
 				color: #868686;
 				margin: 8px 0;
 			}
@@ -143,11 +143,11 @@
 				flex-direction: row;
 	
 				.ji {
-					font-size: 18px;
+					font-size: 28rpx;
 				}
 	
 				.bi {
-					font-size: 18px;
+					font-size: 28rpx;
 					color: $accent-color;
 				}
 			}
@@ -170,7 +170,7 @@
 		transform: translateY(-50%);
 	
 		.down-text {
-			font-size: 16px;
+			font-size: 26rpx;
 			color: #000;
 		}
 	
@@ -185,21 +185,19 @@
 	
 		// background-color: ;
 		.ju-top-title {
-			font-size: 16px;
+			font-size: 36rpx;
 			font-weight: bold;
 			color: #000;
-			margin-top: 9px;
-			height: 22px;
+			margin-top: 9rpx;
 			margin-left: 20px;
 			// width: '+ (windowWidth*0.6) +' px;
 			overflow: hidden;
 		}
 	
 		.ju-top-update {
-			font-size: 12px;
+			font-size: 26rpx;
 			color: #000;
-			margin-top: 9px;
-			height: 22px;
+			margin-top: 9rpx;
 			margin-left: 20px;
 		}
 	}
@@ -265,7 +263,7 @@
 					width: fit-content;
 					height: fit-content;
 					border-radius: 8rpx;
-					font-size: 10px;
+					font-size: 18rpx;
 					padding: 6rpx;
 					background-color: #868686;
 					color: #fff;
@@ -277,7 +275,7 @@
 			}
 	
 			.title {
-				font-size: 16px;
+				font-size: 28rpx;
 			}
 		}
 	}

+ 185 - 182
pages/zhuiju/index.vue

@@ -1,197 +1,200 @@
 <template>
-  <view>
-    <view class="body">
-      <view class="pd16_15" style="box-shadow: 0px 0px 20upx 0px rgba(0,0,0,0.2);  border-radius: 20upx;">
-        <view>
-          <view class="flex alcenter space top-show">
-            <view class="flex alcenter">
-              <text class="ft16 ftw600 cl-main">最近观看</text>
-            </view>
+	<view>
+		<view class="body">
+			<view class="pd16_15" style="box-shadow: 0px 0px 20upx 0px rgba(0,0,0,0.2);  border-radius: 20upx;">
+				<view>
+					<view class="flex alcenter space top-show">
+						<view class="flex alcenter">
+							<text class="ft16 ftw600 cl-main">最近观看</text>
+						</view>
 
-            <navigator url="/pages/zhuiju/zjgk">
-              <view class="ft14 cl-notice" v-show="historyList.length > 3">更多</view>
-              <!-- <view class="ft14 cl-notice" >更多</view> -->
-            </navigator>
-          </view>
-        </view>
-        <view class="mt16 history-box ">
-          <block v-for="(value, key) in historyList" :key="key" v-if="key < 3">
-            <view class="history-item-box" @click="detail(value.video_id, value.watch_episode_num)">
-              <image class="history-item-image" :src="value.cover_image"></image>
-              <label class="history-item-title">{{ value.name }}</label>
-            </view>
-          </block>
-          <view class="box pb10 history-item-box  history-add-box" @click="goToJuYuan">
-            <image class="add-icon" src="/static/img/zhuiju/add.png"></image>
-          </view>
+						<navigator url="/pages/zhuiju/zjgk">
+							<view class="ft14 cl-notice" v-show="historyList.length > 3">更多</view>
+							<!-- <view class="ft14 cl-notice" >更多</view> -->
+						</navigator>
+					</view>
+				</view>
+				<view class="mt16 history-box ">
+					<block v-for="(value, key) in historyList" :key="key" v-if="key < 3">
+						<view class="history-item-box" @click="detail(value.video_id, value.watch_episode_num)">
+							<image class="history-item-image" :src="value.cover_image"></image>
+							<label class="history-item-title">{{ value.name }}</label>
+						</view>
+					</block>
+					<view class="box pb10 history-item-box  history-add-box" @click="goToJuYuan">
+						<image class="add-icon" src="/static/img/zhuiju/add.png"></image>
+					</view>
 
-        </view>
-      </view>
-      <view class="mt24 pd16_15">
-        <view class="flex alcenter space">
-          <view class="flex alcenter">
-            <text class="ft16 ftw600 cl-main">我的追剧</text>
-          </view>
-        </view>
-        <view class="mt16 zuiju-box">
-          <block v-if="zhuijuList.length > 0" v-for="(value, key) in zhuijuList" :key="key">
-            <view class="box pd16_15  mb16 zuiju-box-item">
-              <image @click="detail(value.video_id, value.watch_episode_num)" class="zuiju-box-item-cover"
-                :src="value.cover_image"></image>
-              <view class="zuiju-box-item-info" @click="detail(value.video_id, value.watch_episode_num)">
-                <label class="zuiju-box-item-info-title">{{ value.name }}</label>
-                <label class="zuiju-box-item-info-juji">看到<span class="guankan">{{ value.watch_episode_num
+				</view>
+			</view>
+			<view class="mt24 pd16_15">
+				<view class="flex alcenter space">
+					<view class="flex alcenter">
+						<text class="ft16 ftw600 cl-main">我的追剧</text>
+					</view>
+				</view>
+				<view class="mt16 zuiju-box">
+					<block v-if="zhuijuList.length > 0" v-for="(value, key) in zhuijuList" :key="key">
+						<view class="box pd16_15  mb16 zuiju-box-item">
+							<image @click="detail(value.video_id, value.watch_episode_num)" class="zuiju-box-item-cover"
+								:src="value.cover_image"></image>
+							<view class="zuiju-box-item-info" @click="detail(value.video_id, value.watch_episode_num)">
+								<label class="zuiju-box-item-info-title">{{ value.name }}</label>
+								<label class="zuiju-box-item-info-juji">看到<span class="guankan">{{ value.watch_episode_num
                 }}集</span></label>
-                <label class="zuiju-box-item-info-gx">更新至<span class="update-ji">{{ value.updated_episode_num
+								<label class="zuiju-box-item-info-gx">更新至<span class="update-ji">{{ value.updated_episode_num
                 }}集</span></label>
-              </view>
-              <view class="zuiju-box-item-del-box" @click="delzj(value.video_id)">
-                <image class="del-icon" src="../../static/img/zhuiju/delete.png"></image>
-              </view>
-            </view>
+							</view>
+							<view class="zuiju-box-item-del-box" @click="delzj(value.video_id)">
+								<image class="del-icon" src="../../static/img/zhuiju/delete.png"></image>
+							</view>
+						</view>
 
-          </block>
-        </view>
-        <view v-if="is_show" class="mt16 zuiju-box-kong">
-          <image src="../../static/img/zhuiju/kong.png"></image>
-          <text class="ft14">暂无追剧</text>
-          <label class="ft16" @click="goToJuYuan()">去追剧</label>
-        </view>
-      </view>
-    </view>
+					</block>
+				</view>
+				<view v-if="is_show" class="mt16 zuiju-box-kong">
+					<image src="../../static/img/zhuiju/kong.png"></image>
+					<text class="ft14">暂无追剧</text>
+					<label class="ft16" @click="goToJuYuan()">去追剧</label>
+				</view>
+			</view>
+		</view>
 
-  </view>
-</view></template>
+	</view>
+	</view>
+</template>
 <script>
-import {
-  watchRecord,
-  shelfList,
-  delShelf
-} from "@/common/apis/zju.js";
-export default {
-  data() {
-    return {
-      more_text: "查看全部",
-      qdjl: 0,
-      tdsy: 0,
-      navLock: false,
-      datasa: [],
-      showdyxx: true,
-      dataconfig: [],
-      banners: [],
-      datainfo: [],
-      dataindex: [],
-      newsa: [],
-      record: [],
-      historyList: [],
-      zhuijuList: [],
-      mbgColor: this.$mbgColor,
-      is_show_more: false,
-      is_show: false
-    }
-  },
-  computed: {
+	import {
+		watchRecord,
+		shelfList,
+		delShelf
+	} from "@/common/apis/zju.js";
+	export default {
+		data() {
+			return {
+				more_text: "查看全部",
+				qdjl: 0,
+				tdsy: 0,
+				navLock: false,
+				datasa: [],
+				showdyxx: true,
+				dataconfig: [],
+				banners: [],
+				datainfo: [],
+				dataindex: [],
+				newsa: [],
+				record: [],
+				historyList: [],
+				zhuijuList: [],
+				mbgColor: this.$mbgColor,
+				is_show_more: false,
+				is_show: false
+			}
+		},
+		computed: {
 
-  },
-  onPageScroll(e) {
+		},
+		onPageScroll(e) {
 
-  },
-  onShareTimeline(e) {
+		},
+		onShareTimeline(e) {
 
-  },
-  onLoad(e) { },
-  onShow() {
-    this.getList();
-  },
-  methods: {
-    changeList() {
-      if (this.is_show_more) {
-        this.more_text = "查看全部";
-      } else {
-        this.more_text = "收起"
-      }
-      this.is_show_more = !this.is_show_more;
-    },
-    async getList() {
-      let historyRes = await watchRecord();
-      this.historyList = historyRes.data;
-      let zhuijuRes = await shelfList();
-      this.zhuijuList = zhuijuRes.data;
-      if (this.zhuijuList.length < 1) {
-        this.is_show = 1;
-      } else {
-        this.is_show = 0;
-      }
-    },
-    saoma() {
-      //#ifdef APP-PLUS  
-      uni.scanCode({
-        success: function (res) {
-          if (res.result.indexOf("uid") != -1) {
-            var obj = JSON.parse(res.result);
-            if (obj.uid) {
-              uni.navigateTo({
-                url: '/pages/login/reg?uid=' + obj.uid
-              })
-            }
-          } else {
-            uni.showToast({
-              title: res.result,
-              icon: "none"
-            });
-          }
-        }
-      });
-      //#endif
+		},
+		onLoad(e) {},
+		onShow() {
+			this.getList();
+		},
+		methods: {
+			changeList() {
+				if (this.is_show_more) {
+					this.more_text = "查看全部";
+				} else {
+					this.more_text = "收起"
+				}
+				this.is_show_more = !this.is_show_more;
+			},
+			async getList() {
+				let historyRes = await watchRecord();
+				this.historyList = historyRes.data;
+				let zhuijuRes = await shelfList();
+				this.zhuijuList = zhuijuRes.data;
+				if (this.zhuijuList.length < 1) {
+					this.is_show = 1;
+				} else {
+					this.is_show = 0;
+				}
+			},
+			saoma() {
+				//#ifdef APP-PLUS  
+				uni.scanCode({
+					success: function(res) {
+						if (res.result.indexOf("uid") != -1) {
+							var obj = JSON.parse(res.result);
+							if (obj.uid) {
+								uni.navigateTo({
+									url: '/pages/login/reg?uid=' + obj.uid
+								})
+							}
+						} else {
+							uni.showToast({
+								title: res.result,
+								icon: "none"
+							});
+						}
+					}
+				});
+				//#endif
 
-    },
-    detail(video_id, item_id) {
-      // console.log(value);
-      uni.navigateTo({ url: '/pages/video/index?video_id=' + video_id + "&sequence=" + item_id + "&ranse_id=3" })
-      // uni.navigateTo({
-      // 	url: '/pages/video/index?video_id=' + value.video_id 
-      // })
-    },
-    linkTo(e) {
-      if (this.isLogin == false) {
-        this.showLogin = true;
-      } else {
-        let link = e.currentTarget.dataset.link;
-        uni.navigateTo({
-          url: link
-        })
-      }
-    },
-    async delzj(id) {
-      let res = await delShelf(id);
-      uni.showToast({
-        title: "删除成功",
-        icon: "none"
-      });
-      // 更新最近列表数据
-      let zhuijuRes = await shelfList();
-      this.zhuijuList = zhuijuRes.data;
-      console.log(res);
-    },
-    exchange(e) {
-      if (this.isLogin == false) {
-        this.showLogin = true;
-      } else {
-        let id = e.currentTarget.dataset.id;
-        uni.navigateTo({
-          url: '/pages/client/integral/exchange?id=' + id
-        })
-      }
-    },
-    goToJuYuan() {
-      uni.switchTab({
-        url: '/pages/index/index'
-      })
-    }
-  },
-}
+			},
+			detail(video_id, item_id) {
+				// console.log(value);
+				uni.navigateTo({
+					url: '/pages/video/index?video_id=' + video_id + "&sequence=" + item_id + "&ranse_id=3"
+				})
+				// uni.navigateTo({
+				// 	url: '/pages/video/index?video_id=' + value.video_id 
+				// })
+			},
+			linkTo(e) {
+				if (this.isLogin == false) {
+					this.showLogin = true;
+				} else {
+					let link = e.currentTarget.dataset.link;
+					uni.navigateTo({
+						url: link
+					})
+				}
+			},
+			async delzj(id) {
+				let res = await delShelf(id);
+				uni.showToast({
+					title: "删除成功",
+					icon: "none"
+				});
+				// 更新最近列表数据
+				let zhuijuRes = await shelfList();
+				this.zhuijuList = zhuijuRes.data;
+				console.log(res);
+			},
+			exchange(e) {
+				if (this.isLogin == false) {
+					this.showLogin = true;
+				} else {
+					let id = e.currentTarget.dataset.id;
+					uni.navigateTo({
+						url: '/pages/client/integral/exchange?id=' + id
+					})
+				}
+			},
+			goToJuYuan() {
+				uni.switchTab({
+					url: '/pages/index/index'
+				})
+			}
+		},
+	}
 </script>
 
-<style>
-@import url("style/index.css");
+<style lang="scss" scoped>
+	@import url("style/index.css");
 </style>

+ 53 - 52
pages/zhuiju/zjgk.vue

@@ -1,61 +1,62 @@
 <template>
-  <view>
-    <view class="" style="padding: 30upx 30upx 0px 30upx;">
-      <block v-for="(value, key) in list" :key="key">
-        <view @click="detail(value.video_id, value.video_series_sequence)" style="position: relative;"
-          class="flex alcenter mb16">
-          <image mode="aspectFill" class="tuan-product-l" :src="value.cover_image"></image>
-          <view class="tuan-product-r pl15">
-            <view class="ft16 ftw600 cl-main text-over2">{{ value.name }}</view>
-            <view class="mt16">
-              <p class="ft14 "> </p>
-            </view>
-            <view class="mt16 flex space alcenter">
-              <p class="ft14 ">看到 <label class="ft14 cl-orange">&nbsp;&nbsp;{{ value.video_series_sequence }}集</label></p>
-              <view class="btn-vip-adviser ml15">继续观看</view>
-            </view>
-          </view>
-        </view>
-      </block>
-    </view>
-
-
-  </view>
+	<view>
+		<view class="" style="padding: 30upx 30upx 0px 30upx;">
+			<block v-for="(value, key) in list" :key="key">
+				<view @click="detail(value.video_id, value.video_series_sequence)" style="position: relative;"
+					class="flex alcenter mb16">
+					<image mode="aspectFill" class="tuan-product-l" :src="value.cover_image"></image>
+					<view class="tuan-product-r pl15">
+						<view class="ft16 ftw600 cl-main text-over2">{{ value.name }}</view>
+						<view class="mt16">
+							<p class="ft14 "> </p>
+						</view>
+						<view class="mt16 flex space alcenter">
+							<p class="ft14 ">看到 <label
+									class="ft14 cl-orange">&nbsp;&nbsp;{{ value.video_series_sequence }}集</label></p>
+							<view class="btn-vip-adviser ml15">继续观看</view>
+						</view>
+					</view>
+				</view>
+			</block>
+		</view>
+	</view>
 </template>
 
 <script>
-import {
-  watchRecord,
-  shelfList,
-  delShelf
-} from "@/common/apis/zju.js";
-export default {
-  data() {
-    return {
-      list: []
-    }
-  },
-  onLoad(e) {
+	import {
+		watchRecord,
+		shelfList,
+		delShelf
+	} from "@/common/apis/zju.js";
+	export default {
+		data() {
+			return {
+				list: []
+			}
+		},
+		onLoad(e) {
 
-  },
-  async onShow() {
-    let res = await watchRecord();
-    this.list = res.data;
-  },
-  onPageScroll(e) {
-    this.scrollTop = e.scrollTop;
-  },
-  onReachBottom() {
+		},
+		async onShow() {
+			let res = await watchRecord();
+			this.list = res.data;
+		},
+		onPageScroll(e) {
+			this.scrollTop = e.scrollTop;
+		},
+		onReachBottom() {
 
-  },
-  methods: {
-    detail(vid, item_id) {
-      uni.navigateTo({ url: '/pages/video/index?video_id=' + vid + "&sequence=" + item_id })
-    }
-  }
-}
+		},
+		methods: {
+			detail(vid, item_id) {
+				uni.navigateTo({
+					url: '/pages/video/index?video_id=' + vid + "&sequence=" + item_id
+				})
+			}
+		}
+	}
 </script>
 
-<style>
-@import url("style/zuijin.css");
+<style lang="scss" scoped>
+	@import url("style/zuijin.css");
 </style>

BIN
static/icon/index/phb_bg.jpg


BIN
static/icon/index/phb_bg.png