135 lines
4.1 KiB
Vue
135 lines
4.1 KiB
Vue
<template>
|
|
<view>
|
|
<!-- 状态栏 -->
|
|
<status-nav :navBarTitle="'搜索'"></status-nav>
|
|
<!-- 输入框 -->
|
|
<view class="search-input-box bacf" :style="{paddingTop: statusBarHeight+'px'}">
|
|
<view class="disac pad-zy30 mar-s20">
|
|
<!-- 输入框 -->
|
|
<input @confirm="searchEv" v-model="searchStr" placeholder="请输入关键词" class="width100 fon34 radius10" type="text"/>
|
|
<!-- 搜索 -->
|
|
<view @tap="searchEv" class="search-btn" :style="{background:publicColor}">搜索</view>
|
|
</view>
|
|
</view>
|
|
<!-- 列表 -->
|
|
<!-- <view v-if="dataList.length!=0"> -->
|
|
<list-two :scrollCate="1"></list-two>
|
|
<!-- </view>
|
|
<view v-else class="disjcac fc" style="margin-top: 40%;">
|
|
<image class="zanw-img" src="/static/public/nothing.png" mode="aspectFill"></image>
|
|
<view class="fon24 col3">您搜索的内容暂无结果,换个关键词试试吧</view>
|
|
</view> -->
|
|
<!-- 返回顶部 -->
|
|
<!-- <back-top :showTop="showTop" @backTop="backTop"></back-top> -->
|
|
<!-- 弹框授权 -->
|
|
<!-- <empower @buttonH="buttonH" :vision="vision" :isWhere="2"></empower> -->
|
|
<!-- 弹框 -->
|
|
<auth-phone v-if="showAuthPhone"></auth-phone>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import listTwo from '@/components/list/list-two.vue';
|
|
import {collectionEV,cancleCollectionEV} from '@/jsFile/publicAPI.js';
|
|
export default {
|
|
components:{
|
|
listTwo
|
|
},
|
|
data() {
|
|
return {
|
|
statusBarHeight:uni.getSystemInfoSync().statusBarHeight + 50,
|
|
searchStr:'',//输入框的值
|
|
publicColor:uni.getStorageSync('publicColor'),//主题颜色
|
|
dataList:[//小课堂数据列表
|
|
|
|
],
|
|
showTop:false,//是否显示返回顶部
|
|
page:1, // 第几页
|
|
size:10, // 数量
|
|
total:0, // 总数
|
|
pitera:false, // 是否显示暂无数据
|
|
vision:false,
|
|
showAuthPhone:false,
|
|
}
|
|
},
|
|
onPageScroll(e) {
|
|
e.scrollTop > 360 ? this.showTop = true : this.showTop = false
|
|
},
|
|
onReachBottom() {//触底事件
|
|
if(this.total!=this.dataList.length){
|
|
this.page++
|
|
this.searchEv()//调用自主预约列表事件
|
|
} else {
|
|
if(this.isZanw) this.$toolAll.tools.showToast('暂无更多列表','none',1000)
|
|
this.isZanw = false
|
|
}
|
|
},
|
|
onShareAppMessage() {
|
|
var shareObj = {
|
|
path: `/pagesB/searchPage/searchPage?invite_code=${uni.getStorageSync('invite_code')}`, // 默认是当前页面,必须是以‘/’开头的完整路径
|
|
};
|
|
return shareObj;
|
|
},
|
|
onLoad(options) {
|
|
if(uni.getStorageSync('is_active')!=1){this.vision = true;}
|
|
if(options.invite_code!='' && options.invite_code!=undefined){
|
|
this.loginEv(options.invite_code);
|
|
} else if(options.source_code!='' && options.source_code!=undefined){
|
|
this.loginEv('',options.source_code,options.channel);
|
|
}
|
|
if(options.keyWorld!=undefined && options.keyWorld!='') {
|
|
this.searchStr = options.keyWorld
|
|
this.searchEv()
|
|
}
|
|
},
|
|
onShow() {
|
|
this.$toolAll.tools.isLogin()
|
|
if(this.searchStr!=undefined && this.searchStr!='') this.searchEv()
|
|
},
|
|
methods: {
|
|
loginEv(invite_code='',source='',channel=''){
|
|
uni.login({
|
|
provider: 'weixin',
|
|
success: (res)=> {
|
|
var params = {
|
|
code:res.code,
|
|
invite_code:invite_code,//用户邀请码
|
|
source_code:source,
|
|
channel:channel
|
|
}
|
|
this.$requst.post('user/login',params).then(res => {
|
|
if(res.data.token!=''){
|
|
if(res.data.is_active==0) {
|
|
this.haveImg = false;
|
|
this.vision = true;
|
|
}
|
|
}
|
|
},error => {})
|
|
},
|
|
});
|
|
},
|
|
buttonH(e){//授权成功
|
|
this.haveImg = e
|
|
if(e) {
|
|
this.vision = false
|
|
this.showAuthPhone = true
|
|
}
|
|
},
|
|
searchEv(){//搜索事件
|
|
this.$toolAll.tools.showToast('搜索中...')
|
|
},
|
|
backTop(){//回到顶部事件
|
|
uni.pageScrollTo({
|
|
scrollTop: 0,
|
|
duration: 300
|
|
});
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
.search-input-box input{border: 2rpx solid #E0E0E0;padding: 0rpx 20rpx;height: 80rpx;line-height: 80rpx;}
|
|
.search-input-box .search-btn {height: 80rpx;line-height: 80rpx;margin-left: 30rpx;border-radius: 10rpx;padding: 0 40rpx;font-size: 34rpx;color: #FFFFFF;flex-shrink: 0;}
|
|
</style>
|