dever 5 年之前
父节点
当前提交
656f04aac0
共有 8 个文件被更改,包括 130 次插入354 次删除
  1. 28 1
      lib/dever/index.js
  2. 0 10
      pages.json
  3. 0 211
      pages/dream/cate.vue
  4. 0 127
      pages/dream/test.vue
  5. 5 2
      pages/dream/view.vue
  6. 15 3
      pages/dream/view/cate.vue
  7. 81 0
      pages/dream/view/community.vue
  8. 1 0
      pages/dream/view/dream.vue

+ 28 - 1
lib/dever/index.js

@@ -534,7 +534,8 @@ var dever = {
 	showLoad : false,
 	btnText : '确定提交',
 	switchTab : [],
-	switchTabCall : {},
+	switchTabCall : {},
+	slideData : {},
 	
 	//获取当前时间戳
 	curTime : function() {
@@ -1240,6 +1241,32 @@ var dever = {
 				}  
 			});
 		}
+	},
+	
+	//滑动
+	slide : function(e) {
+		this.slideData.clientX = e.changedTouches[0].clientX;
+		this.slideData.clientY = e.changedTouches[0].clientY;
+	},
+	
+	//滑动结束
+	slideEnd : function(e) {
+		var subX = e.changedTouches[0].clientX - this.slideData.clientX;
+		var subY = e.changedTouches[0].clientY - this.slideData.clientY;
+		if (subY > 50) {
+			//上滑
+		    return 1;
+		} else if (subY < -50) {
+			//下滑
+			return 2;
+		} else if (subX > 100) {
+			//左滑
+		    return 3;
+		} else if(subX < -100) {
+			//右滑
+			return 4;
+		}
+		return 
 	}
 }
 

+ 0 - 10
pages.json

@@ -20,16 +20,6 @@
 				}
 			}
 		},
-		{
-			"path": "pages/dream/cate",
-			"style": {
-				"app-plus": {
-					"titleNView": false,
-					"bounce": "none",
-					"navigationStyle": "custom"
-				}
-			}
-		},
 		{
 			"path": "pages/dream/comment",
 			"style": {

+ 0 - 211
pages/dream/cate.vue

@@ -1,211 +0,0 @@
-<template>
-	<view class="category">
-		<view class="category-wrapper" v-if="fetch.cate.length>0">
-			<!-- 左边导航 -->
-			<scroll-view scroll-y="true" class="left-wrapper" scroll-with-animation="true">
-				<view class="left-content">
-					<view class="title-content" :class="fetch.show[v.id] == 1?'onSelected':''" v-for="(v,k) in fetch.cate" :key="v.id" @click="choose(v.id)">{{v.name}}</view>
-				</view>
-			</scroll-view>
-			<!-- 右边内容 -->
-			<scroll-view scroll-y="true" class="right-wrapper" scroll-with-animation="true">
-				<view class="right-content">
-					<!-- banner区域 -->
-					<view class="banner-wrapper" v-if="swiperList.length > 0">
-						<swiper class="swiper-content" :autoplay="true" :interval="3000" :circular="true">
-							<swiper-item class="swiper-item" v-for="imgs in swiperList" :key="imgs.id">
-								<image class="swiper-img" :src="imgs.src"></image>
-							</swiper-item>
-						</swiper>
-					</view>
-					<!-- 产品区 -->
-					<view class="product-wrapper">
-						<view class="category-item" :id="'list'+v.id" v-for="(v,k) in fetch.child" :key="k" v-if="fetch.show[v.page_id] == 1">
-							<view class="category-title">{{v.name}}</view>
-							<view class="category-content" v-if="v.content">
-								<view class="product-item" v-for="(v1,k1) in v.content" :key="k1" @click="go(k1,v1.page_id)">
-									<image class="product-img" :src="v1.pic"></image>
-									<text class="product-title">{{v1.name}}</text>
-								</view>
-							</view>
-							
-							<view class="category-content" v-if="!v.content">
-								录入中...
-							</view>
-						</view>
-					</view>
-				</view>
-			</scroll-view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				fetch: {
-					cate : [],
-					show : {},
-					child : [],
-				},
-				cur : 0,
-				swiperList: [],
-				parent_page: 0,
-				page : 0,
-				id : 0,
-			}
-		},
-		onLoad(option) {
-			this.id = option.id;
-			this.parent_page = option.parent_page;
-			this.page = option.page;
-			this.cur = this.parent_page;
-			this.getData();
-		},
-		methods: {
-			getData : function() {
-				this.Dever.get(this, 'app/collection/?l=api.category', {id:this.id, parent_page:this.parent_page, page:this.page});
-			},
-			choose : function(id) {
-				if (this.fetch.show[id] == 1) {
-					return;
-				}
-				this.fetch.show[id] = 1;
-				this.fetch.show[this.cur] = 2;
-				this.cur = id;
-			}, 
-			go : function(id, page_id) {
-				this.Dever.location('dream/view?id=' + this.id + '&page_id='+page_id+'&index=' + id);
-			}
-		}
-	}
-</script>
-
-<style lang="less">
-	.category-content {
-		margin-bottom: 20rpx;
-	}
-	.category {
-
-		.category-wrapper {
-			width: 100%;
-			display: flex;
-			flex-direction: row;
-			position: absolute;
-			top: 0;
-			bottom: 0;
-
-			.left-wrapper {
-				width: 200rpx;
-				flex: 0 0 200rpx;
-				background-color: #f6f6f6;
-
-				.left-content {
-
-					.title-content {
-						width: 100%;
-						height: 100rpx;
-						display: flex;
-						justify-content: center;
-						align-items: center;
-						font-size: 25rpx;
-						border-bottom: 1px solid #dedede;
-						cursor: pointer;
-
-						&:last-child {
-							border-bottom: 0;
-						}
-
-						&.onSelected {
-							background-color: #fff;
-							position: relative;
-							color: #feb436;
-
-							&::before {
-								content: '';
-								position: absolute;
-								left: 0;
-								top: 0;
-								width: 10rpx;
-								height: 100%;
-								background: linear-gradient(124deg, #feb436 0%, #fb7c22 100%);
-							}
-						}
-					}
-				}
-			}
-
-			.right-wrapper {
-				flex: 1;
-
-				.right-content {
-					width: 100%;
-					padding: 20rpx 0;
-					border-left: 1rpx solid #efefef;
-					box-sizing: border-box;
-
-					.banner-wrapper {
-						padding: 0 20rpx;
-
-						.swiper-content {
-							width: 100%;
-							height: 180rpx;
-							margin-bottom: 20rpx;
-
-							.swiper-item {
-								.swiper-img {
-									width: 100%;
-									height: 180rpx;
-								}
-							}
-						}
-					}
-
-					.product-wrapper {
-						.category-item {
-
-							.category-title {
-								height: 60rpx;
-								font-size: 26rpx;
-								line-height: 60rpx;
-								font-weight: 500;
-								background-color: #f6f6f6;
-								padding-left: 20rpx;
-								color: #000;
-							}
-
-							.category-content {
-								display: flex;
-								flex-direction: row;
-								flex-flow: wrap;
-								padding: 20rpx 20rpx 0;
-
-
-								.product-item {
-									width: 33%;
-									display: flex;
-									flex-direction: column;
-									justify-content: center;
-									align-items: center;
-									margin-bottom: 20rpx;
-
-									.product-img {
-										width: 120rpx;
-										height: 140rpx;
-										margin-bottom: 10rpx;
-									}
-
-									.product-title {
-										font-size: 23rpx;
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-	}
-</style>

+ 0 - 127
pages/dream/test.vue

@@ -1,127 +0,0 @@
-<template>
-	<gracePage :customHeader="false">
-		<!-- 页面主体 -->
-		<view slot="gBody" class="grace-body">
-			<view class="grace-list-items">
-				<view class="grace-list-body grace-border-b">
-					<view class="grace-list-title" @tap="showDrawer1">
-						<text class="grace-list-title-text">左侧抽屉</text>
-						<text  class="grace-list-title-desc">点击测试</text>
-					</view>
-				</view>
-				<text class="grace-list-arrow-right grace-icons icon-arrow-right"></text>
-			</view>
-			<view class="grace-list-items">
-				<view class="grace-list-body grace-border-b">
-					<view class="grace-list-title" @tap="showDrawer2">
-						<text class="grace-list-title-text">右侧抽屉</text>
-						<text  class="grace-list-title-desc">点击测试</text>
-					</view>
-				</view>
-				<text class="grace-list-arrow-right grace-icons icon-arrow-right"></text>
-			</view>
-			<!-- 抽屉组件 左侧 -->
-			<graceDrawer :show="show1" top="0" width="100%" v-on:closeDrawer="closeDrawer1">
-				<view slot="links">
-					<view class="grace-list">
-						<view class="grace-list-items">
-							<text class="grace-list-icon grace-icons icon-comments grace-blue"></text>
-							<view class="grace-list-body grace-border-b">
-								<view class="grace-list-title" @tap="fun1">
-									<text class="grace-list-title-text">功能菜单</text>
-								</view>
-							</view>
-						</view>
-						<view class="grace-list-items">
-							<text class="grace-list-icon grace-icons icon-set grace-blue"></text>
-							<view class="grace-list-body grace-border-b">
-								<view class="grace-list-title" @tap="fun2">
-									<text class="grace-list-title-text">功能菜单</text>
-								</view>
-							</view>
-						</view>
-						<view style="text-align:center; padding:20px;">
-							您可以放置任何内容 ...
-						</view>
-					</view>
-				</view>
-			</graceDrawer>
-			<!-- 抽屉组件 右侧 -->
-			<graceDrawer :show="show2" v-on:closeDrawer="closeDrawer2" direction="right">
-				<view slot="links">
-					<view class="grace-list">
-						<view class="grace-list-items">
-							<text class="grace-list-icon grace-icons icon-comments grace-blue"></text>
-							<view class="grace-list-body grace-border-b">
-								<view class="grace-list-title" @tap="fun3">
-									<text class="grace-list-title-text">功能菜单</text>
-								</view>
-							</view>
-						</view>
-						<view class="grace-list-items">
-							<text class="grace-list-icon grace-icons icon-set grace-blue"></text>
-							<view class="grace-list-body grace-border-b">
-								<view class="grace-list-title" @tap="fun4">
-									<text class="grace-list-title-text">功能菜单</text>
-								</view>
-							</view>
-						</view>
-						<view style="text-align:center; padding:20px;">
-							您可以放置任何内容 ...
-						</view>
-					</view>
-				</view>
-			</graceDrawer>
-		</view>
-	</gracePage>
-</template>
-<script>
-import gracePage from "@/lib/graceUI/components/gracePage.vue";
-import graceDrawer from '@/lib/graceUI/components/graceDrawer.vue';
-export default {
-    data() {
-    	return {
-			show1 : false,
-			show2 : false
-		}
-    },
-	methods:{
-		// 左侧
-		showDrawer1 : function(){
-			this.show1 = true;
-		},
-		closeDrawer1 : function(){
-			this.show1 = false;
-		},
-		fun1 : function(){
-			this.closeDrawer1();
-			uni.showToast({title:"您点击了第1个导航", icon:"none"})
-		},
-		fun2 : function(){
-			this.closeDrawer1();
-			uni.showToast({title:"您点击了第2个导航", icon:"none"})
-		},
-		// 右侧
-		showDrawer2 : function(){
-			this.show2 = true;
-		},
-		closeDrawer2 : function(){
-			this.show2 = false;
-		},
-		fun3 : function(){
-			this.closeDrawer2();
-			uni.showToast({title:"您点击了第1个导航", icon:"none"})
-		},
-		fun4 : function(){
-			this.closeDrawer2();
-			uni.showToast({title:"您点击了第2个导航", icon:"none"})
-		},
-	},
-	components:{
-		gracePage, graceDrawer
-	}
-}
-</script>
-<style>
-
-</style>

+ 5 - 2
pages/dream/view.vue

@@ -10,7 +10,7 @@
 			</swiper>
 			<graceDrawer :show="select_drawer.show" :zIndex="select_drawer.index" padding="select_drawer.padding" :top="select_drawer.top" width="100%" v-on:closeDrawer="closeSelect">
 				<view slot="links">
-					<cate @goIndex="goIndex" :info_id="fetch.info_id" :page_id="fetch.page_id" :parent_page_id="fetch.parent_page_id"></cate>
+					<cate @goIndex="goIndex" :index="index" :info_id="fetch.info_id" :page_id="fetch.page_id" :parent_page_id="fetch.parent_page_id"></cate>
 				</view>
 			</graceDrawer>
 		</view>
@@ -89,8 +89,11 @@ export default{
 			this.Dever.get(this, 'app/collection/?l=api.getContent', {id:this.id, page_id:this.page_id});
 		},
 		goIndex : function(index) {
-			console.info(index);
 			this.index = index;
+			this.select_drawer.show = false;
+			var dream = this.$refs.dream[this.swiper.index];
+			dream.closeSelect();
+			//dream.setShow();
 		},
 		select : function() {
 			this.select_drawer.show = !this.select_drawer.show;

+ 15 - 3
pages/dream/view/cate.vue

@@ -1,5 +1,5 @@
 <template name="cate">
-	<view class="category">
+	<view class="category" @touchstart="Dever.slide" @touchend="end">
 		<view class="category-wrapper" v-if="fetch.cate.length>0">
 			<!-- 左边导航 -->
 			<scroll-view scroll-y="true" class="left-wrapper" scroll-with-animation="true">
@@ -30,7 +30,7 @@
 							</view>
 							
 							<view class="category-content" v-if="!v.content">
-								录入中...
+								敬请期待
 							</view>
 						</view>
 					</view>
@@ -56,6 +56,10 @@ export default {
 			type : String,
 			value : null
 		},
+		index : {
+			type : String,
+			value : null
+		},
 	},
 	data() {
 		return {
@@ -72,7 +76,9 @@ export default {
 	},
 	methods:{
 		getData : function() {
-			this.Dever.get(this, 'app/collection/?l=api.category', {id:this.info_id, parent_page_id:this.parent_page_id, page_id:this.page_id});
+			if (this.fetch.cate.length <= 0) {
+				this.Dever.get(this, 'app/collection/?l=api.category', {id:this.info_id, parent_page_id:this.parent_page_id, page_id:this.page_id});
+			}
 		},
 		choose : function(id) {
 			if (this.fetch.show[id] == 1) {
@@ -92,6 +98,12 @@ export default {
 			} else {
 				this.$emit('goIndex', index);
 			}
+		},
+		end : function(e) {
+			var type = this.Dever.slideEnd(e);
+			if (type == 3 || type == 4) {
+				this.go(this.index, this.page_id);
+			}
 		}
 	},
 }

+ 81 - 0
pages/dream/view/community.vue

@@ -0,0 +1,81 @@
+<template name="community">
+</template>
+
+<script>
+export default {
+	name: "community",
+	props: {
+		type : {
+			type : String,
+			value : null
+		},
+		type_id : {
+			type : String,
+			value : null
+		},
+		name : {
+			type    : String,
+			value	: null
+		},
+	},
+	data() {
+		return {
+			comments: [
+				{
+					id : 1,
+					avatar : 'https://pic.rmb.bdstatic.com/b9279adf974b78d27201a0b34970c2a9.jpeg',
+					username : 'rabin',
+					content : 'dfdfdfdf',
+				},
+				{
+					id : 2,
+					avatar : 'https://pic.rmb.bdstatic.com/b9279adf974b78d27201a0b34970c2a9.jpeg',
+					username : 'test',
+					content : '哈哈哈哈或',
+				}
+			],
+			loading: false
+		}
+	},
+	methods:{
+		
+	},
+}
+</script>
+
+<style lang="less" scoped>
+.home {
+	padding-top: 120rpx;
+
+	.top-barrage {
+		width: 100%;
+		height: 320rpx;
+		overflow: hidden;
+	}
+
+	.card-bottom {
+		width: 100%;
+
+		.top-tab {
+			display: flex;
+			height: 120rpx;
+			position: fixed;
+			top: 0;
+			width: 100%;
+			z-index: 100;
+			background-color: #ffffff;
+
+			.tab-item {
+				flex: 1;
+				color: #999;
+				border-bottom: 4rpx solid #ececec;
+			}
+
+			.active {
+				color: var(--mainColor);
+				border-bottom: 4rpx solid var(--mainColor);
+			}
+		}
+	}
+}
+</style>

+ 1 - 0
pages/dream/view/dream.vue

@@ -150,6 +150,7 @@ export default {
 		},
 		closeSelect : function() {
 			this.select_drawer_show = false;
+			this.select_name = '选';
 		},
 	},
 	components:{