| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324 | <template>	<gracePage :customHeader="false">		<view class="container" slot="gBody">			<ourLoading isFullScreen :active="pageLoading" :text="pageLoadingText" />			<view v-if="fetch.items.length > 0">				<dever-drawer-page :show="drawer.show ? 'left' : ''">					<view class="container_main" slot="links" @click="closeDrawer()">						<block v-if="show">							<swiper class="swiper" @change="change" :circular="swiper.circular" :current="fetch.index">								<swiper-item v-for="(v, k) in fetch.items"  v-if="v.data" :key="k" >									<scroll-view scroll-y="true" scroll-x="true" class="scroll-height" @scrolltolower="bottomCall">										<dream ref="dream" @showDrawer="showDrawer" :index="k" :item="v" :control="control" :bottom="bottom" class="item"></dream>									</scroll-view>								</swiper-item>							</swiper>						</block>						<block v-if="!show">							<dream ref="dream" @showDrawer="showDrawer" :index="fetch.index" :item="fetch.items[fetch.index]" :control="control" :bottom="bottom" class="item"></dream>						</block>					</view>				</dever-drawer-page>												<dever-drawer-window v-for="(v, k) in drawer.item" :key="k" :type="k" :show="v.show" :zIndex="v.index" padding="v.padding" :top="v.top" :direction="v.direction" :width="v.width" v-on:closeDrawer="closeDrawer(k)" v-on:bottomFunc="bottomFunc">					<view slot="links">						<block v-if="k == 'cate'">							<cate ref="cate" @goIndex="goIndex" :index="fetch.index" :content_id="content_id" :width="v.width" :param="v.param" :page_id="fetch.page_id"  @getCate="getCate"></cate>						</block>												<block v-if="k == 'community'">							<community ref="community" @goIndex="goIndex" :index="fetch.index" :content_id="content_id" :width="v.width" :param="v.param"></community>						</block>												<block v-if="k == 'times'">							<times ref="times" @goIndex="goIndex" :index="fetch.index" :content_id="content_id" :width="v.width" :param="v.param" :times="fetch.times_id" @getTimes="getTimes"></times>						</block>												<block v-if="k == 'shop'">							<shop ref="shop" @goIndex="goIndex" :index="fetch.index" :content_id="content_id" :width="v.width" :param="v.param"></shop>						</block>												<block v-if="k == 'my'">							<my ref="my" @goIndex="goIndex" :index="fetch.index" :content_id="content_id" :width="v.width" :param="v.param"></my>						</block>												<block v-if="k == 'share'">							<share ref="share" @goIndex="goIndex" :index="fetch.index" :content_id="content_id" :width="v.width" :param="v.param" :type="type"></share>						</block>					</view>				</dever-drawer-window>								<y-Fab v-if="!drawer.show && fetch.user.avatar && show" :bottom="20" :right="20" :btnList="drawer.button" @click="clickDrawerButton" :text="`P`+(swiper.index+1)" :icon_o="fetch.user.avatar"></y-Fab>				<y-Fab v-if="!show" :bottom="20" :right="20" @click="goHome" :text="`首页`"></y-Fab>			</view>		</view>	</gracePage></template><script>import cate from "@/pages/dream/func/cate.vue";import community from "@/pages/dream/func/community.vue";import times from "@/pages/dream/func/times.vue";import shop from "@/pages/dream/func/shop.vue";import my from "@/pages/dream/func/my.vue";import share from "@/pages/dream/func/share.vue";import dream from "@/pages/dream/view/dream.vue";import deverDrawerPage from "@/lib/dever/components/drawerPage.vue";import deverDrawerWindow from "@/lib/dever/components/drawerWindow.vue";export default{	data() {		return {			content_id : 0,			type : -1,			show : false,			swiper : {				index : 0,				circular : false,			},			fetch: {				items : [],				user : {},				index : 0,				info_id : 0,				page_id : 0,				parent_page_id : 0,				times_id : 0,			},			control : {},			bottom : {},			drawer : {				// 是否显示				show : '',				button : [],				item : {					cate : {						show : false,						index : 5,						top: 0,						padding: '0rpx',						width : '86%',						direction : 'left',						param : {},						button : {							bgColor: '#55ff7f',							text: '选集',							fontSize: 28,							color: '#fff'						}					},										community : {						show : false,						index : 5,						top: 0,						padding: '0rpx',						width : '86%',						direction : 'left',						param : {							type : 3,							type_id : this.content_id,						},						button : {							bgColor: '#16C2C2',							text: '社区',							fontSize: 28,							color: '#fff'						},					}				}			}		}	},	onLoad(option) {		if (!option.code) {			this.Dever.location('index/index');			return;		}		if (option && option.name) {			uni.setNavigationBarTitle({				title:option.name			});		}		this.Dever.login = 'user/login?code=' + option.code;		this.Dever.checkLogin();		this.Dever.config.name = option.name;		this.Dever.config.code = option.code;		this.getData();	},	// 重新加载	onPullDownRefresh: function() {		if (this.drawer.show && this.drawer.item[this.drawer.show].show == true) {			this.$refs[this.drawer.show][0].getData();		} else {			this.getData();		}	},	onShow : function() {		this.controlHandle();	},	methods:{		// 触底刷新		bottomCall: function() {			if (this.bottom && this.bottom[this.swiper.index]) {				this.bottom[this.swiper.index].getData(2);			}		},		// 触底刷新		bottomFunc : function() {			if (this.drawer.show && this.drawer.item[this.drawer.show].show == true) {				this.$refs[this.drawer.show][0].getInfo(2);			}		},		record : function() {			var content_id = this.fetch.items[this.swiper.index].id;			this.Dever.post('app/user/?l=api.record', {noloading:1, code:this.Dever.config.code, index: this.swiper.index, content_id: content_id});		},				controlHandle : function() {			if (this.control) {				var i = 0;				for (i in this.control) {					if (this.control[i].load) {						console.info(i);						if (this.swiper.index == i) {							console.info('start');							this.control[i].start();						} else {							this.control[i].stop();						}					}				}			}		},		change : function(e) {			this.fetch.index = this.swiper.index = parseInt(e.detail.current);			//用户记录			this.record();			this.controlHandle();			if (this.swiper.index >= this.fetch.total) {							}		},		view : function() {			this.Dever.location('dream/view?id=1');		},		initDrawer : function() {			//this.getContentId();			var i = '';			this.drawer.button = [];			for (i in this.drawer.item) {				this.drawer.item[i].button.key = i;				this.drawer.item[i].param.type = 3;				this.drawer.item[i].param.type_id = this.content_id;				this.drawer.button.push(this.drawer.item[i].button);			}		},		getData : function() {			var self = this;			self.drawer.item = {};			this.Dever.get(this, 'app/collection/?l=api.getContent', {code:this.Dever.config.code}, function(t) {				self.show = t.show;				uni.setNavigationBarTitle({					title:t.info.name				});				self.swiper.index = t.index ? parseInt(t.index) : 0;				self.record();				if (t && t['func']) {					self.drawer.item = t['func'];					self.initDrawer();					if (t['func']['cate']) {						self.getCate();					}					if (t['func']['times']) {						self.getTimes();					}				}			});		},		getCate : function() {			var self = this;			this.Dever.get(this, 'app/collection/?l=api.getCategory', {code:this.Dever.config.code,noloading:1}, function(t) {				self.drawer.item['cate'].param = t;			});		},		getTimes : function() {			var self = this;			this.Dever.get(this, 'app/collection/?l=api.getTimes', {code:this.Dever.config.code,noloading:1}, function(t) {				if (t && t.times && t.times.length > 0) {					self.drawer.item['times'].param = t;				} else {					delete self.drawer.item['times'];					self.initDrawer();				}			});		},		goIndex : function(index) {			this.fetch.index = index;			if (this.drawer.show) {				this.closeDrawer(this.drawer.show);			}		},		showDrawer : function(key) {			this.getContentId();			this.drawer.item[key].show = !this.drawer.item[key].show;			if (this.drawer.show) {				this.drawer.show = '';			} else {				this.drawer.show = key;			}		},		closeDrawer : function(key) {			if (!key && this.drawer.show) {				key = this.drawer.show;			}			if (!key) {				return;			}			this.drawer.item[key].show = false;			this.drawer.show = '';		},		getContentId : function() {			this.content_id = this.fetch.items[this.swiper.index].id;			this.type = this.fetch.items[this.swiper.index].type;		},		clickDrawerButton : function(e) {			this.showDrawer(this.drawer.button[e.index].key);		},		goHome : function() {			this.Dever.location('dream/index?id='+this.fetch.info_id);		}	},	components:{		dream,cate,community,times,shop,my,share,deverDrawerPage,deverDrawerWindow	}}</script><style>.container {  position: absolute;  height: 100%;  width: 100%;  left: 0;  top: 0;  -webkit-overflow-scrolling: touch;  overflow: hidden;}.container_main {	width: 750rpx;	height: 100%;}.swiper {	width: 750rpx;	height: 100%;}swiper-item>view{  height: 100%;}swiper-item image{  width: 750rpx;  height: 100%;}.scroll-height {	height:100%;}</style>
 |