You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1242 lines
32 KiB

<template>
<!-- 首页 -->
<view v-if="pageShow" class="page"
:class="bgTabVal==2?'fullsize noRepeat':bgTabVal==1?'repeat ysize':'noRepeat ysize'" :style="[pageStyle]">
<view class="xuanzmd">
<text @click="xuzemd">{{mrmd}}</text>
<uni-icons type="right" size="16" color="white"></uni-icons>
<text class="sytitle" @click="saoma">首页</text>
</view>
<!-- <view class="input-container">
<input class="inputserch" placeholder="搜索喜欢的商品" prefixIcon="search" v-model="searchValue"/>
<uni-icons class="inputicon" type="search" size="16" color="white"></uni-icons>
<view class="searchright" @click="searchBut">搜索</view>
</view> -->
<view v-if="!errorNetwork" :style="colorStyle">
<!-- 轮播搜索 -->
<homeComb v-if="showHomeComb" :dataConfig="homeCombData" @bindSortId="bindSortId" :isScrolled="isScrolled">
</homeComb>
<!-- 顶部搜索框 -->
<headerSerch v-if="isHeaderSerch" :dataConfig="headerSerchCombData"></headerSerch>
<tabNav v-if="showCateNav" :dataConfig="cateNavData" @bindHeight="bindHeighta" @bindSortId="bindSortId"
:isFixed="isFixed && !cateNavData.stickyConfig.tabVal"></tabNav>
<view class="index">
<!-- 自定义样式 -->
<block v-for="(item, index) in styleConfig" :key="index">
<shortVideo v-if="item.name == 'shortVideo'" :dataConfig="item">
</shortVideo>
<userInfor v-if="item.name == 'userInfor'" :dataConfig="item" @changeLogin="changeLogin">
</userInfor>
<newVip v-if="item.name == 'newVip'" :dataConfig="item"></newVip>
<!-- 文章列表 -->
<articleList v-if="item.name == 'articleList'" :dataConfig="item">
</articleList>
<bargain v-if="item.name == 'bargain'" :dataConfig="item" @changeBarg="changeBarg"></bargain>
<blankPage v-if="item.name == 'blankPage'" :dataConfig="item"></blankPage>
<combination v-if="item.name == 'combination'" :dataConfig="item">
</combination>
<!-- 优惠券 -->
<coupon v-if="item.name == 'coupon'" :dataConfig="item" @changeLogin="changeLogin"></coupon>
<!-- 客户服务 -->
<customerService v-if="item.name == 'customerService'" :dataConfig="item">
</customerService>
<!-- 商品列表 -->
<goodList v-if="item.name == 'goodList'" :dataConfig="item" :splist='splist' :mdid='mdid' :pagegd='pagegd'></goodList>
<guide v-if="item.name == 'guide'" :dataConfig="item"></guide>
<!-- 直播模块 -->
<!-- #ifdef MP-WEIXIN -->
<liveBroadcast v-if="item.name == 'liveBroadcast'" :dataConfig="item"></liveBroadcast>
<!-- #endif -->
<!-- 九宫格 -->
<menus v-if="item.name == 'menus'" :dataConfig="item"></menus>
<!-- 实时消息 -->
<news v-if="item.name == 'news'" :dataConfig="item"></news>
<!-- 图片库 -->
<pictureCube v-if="item.name == 'pictureCube'" :dataConfig="item"></pictureCube>
<!-- 促销列表 -->
<promotionList v-if="item.name == 'promotionList'" :dataConfig="item"
:productVideoStatus='product_video_status' :positionTop="positionTop">
</promotionList>
<seckill v-if="item.name == 'seckill'" :dataConfig="item"></seckill>
<!-- 轮播图-->
<swiperBg v-if="item.name == 'swiperBg'" :dataConfig="item"></swiperBg>
<swipers v-if="item.name == 'swipers'" :dataConfig="item"></swipers>
<!-- 顶部选项卡 -->
<!-- 标题 -->
<titles v-if="item.name == 'titles'" :dataConfig="item"></titles>
<ranking v-if="item.name == 'ranking'" :dataConfig="item"></ranking>
<presale v-if="item.name == 'presale'" :dataConfig="item"></presale>
<pointsMall v-if="item.name == 'pointsMall'" :dataConfig="item"></pointsMall>
<!-- #ifndef APP -->
<richText v-if="item.name == 'richText'" :dataConfig="item"></richText>
<videos v-if="item.name == 'videos'" :dataConfig="item"></videos>
<!-- #endif -->
<signIn v-if="item.name == 'signIn'" :dataConfig="item"></signIn>
<hotspot v-if="item.name == 'hotspot'" :dataConfig="item"></hotspot>
<follow v-if="item.name == 'follow'" :dataConfig="item"></follow>
</block>
<!-- 分类商品模块 -->
<!-- #ifndef APP-PLUS -->
<view class="sort-product px-20" v-if="sortList.children && sortList.children.length">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<!-- 商品排序 -->
<view class="sort-product px-20" :style="{ marginTop: sortMpTop + 'px' }"
v-if="sortList.children && sortList.children.length">
<!-- #endif -->
<view class="rd-24rpx bg--w111-fff p-24 mb-24"
v-if="sortList.children && sortList.children.length">
<scroll-view scroll-x="true" class="white-nowrap vertical-middle w-full"
show-scrollbar="false">
<view class="inline-block mr-24" v-for="(item, index) in sortList.children"
:key="index">
<view class="flex-col flex-center" @tap="changeSort(item, index)">
<view class="picture w-90 h-90 rd-50-p111-" :class="{select: curSort == index}">
<image :src="item.pic" class="w-full h-full rd-50-p111-"></image>
</view>
<text class="fs-24 pt-14"
:class="{'font-num': curSort == index}">{{item.cate_name}}</text>
</view>
</view>
</scroll-view>
</view>
<waterfallsFlow ref="waterfallsFlow" :wfList="goodList" @itemTap="goDetail"></waterfallsFlow>
<Loading :loaded="loaded" :loading="loading"></Loading>
<view v-if="goodList.length == 0 && loaded">
<emptyPage title="暂无商品,去看点别的吧~"></emptyPage>
</view>
</view>
<couponWindow :window="isCouponShow" @onColse="couponClose" :couponImage="couponObj.image"
:couponList="couponObj.list"></couponWindow>
<!-- #ifdef H5 -->
<view v-if="site_config" class="site-config" @click="goICP">{{ site_config }}</view>
<!-- #endif -->
<view class="pb-safe" :style="[pdHeights]" v-if="isFooter"></view>
<pageFooter @newDataStatus="newDataStatus"></pageFooter>
</view>
</view>
<view v-else>
<view class="error-network">
<image :src="imgHost + '/statics/images/error-network.gif'"></image>
<view class="title">网络连接断开</view>
<view class="con">
<view class="label">请检查情况:</view>
<view class="item">· 在设置中是否已开启网络权限</view>
<view class="item">· 当前是否处于弱网环境</view>
<view class="item">· 版本是否过低,升级试试吧</view>
</view>
<view class="btn" @click="reconnect">重新连接</view>
</view>
</view>
<uni-popup ref="popup" type="center">
<view class="popupbox">
<text style="float: right;" class="iconfont iconfont icon-ic_close fs-44 colorhui1" @click="close"></text>
<view class="neir" v-if='userInfo.overdue_day>0 && !userInfo.yaoqing_status'>
您的会员卡 <text v-if="userInfo.overdue_day>0">还有{{userInfo.overdue_day}}日到期</text>
<text v-else>已到期</text>
<br />
请尽快续费哦~
</view>
<view class="neir" v-else-if='userInfo.yaoqing_status'>
请通过邀请码扫码分享邀请人手机号进入办理九号笙活会员享受折扣
<input style="border: 1px solid;height: 35px;border-radius: 15px;" type="text" placeholder="请输入邀请手机号" @input="onInput" />
</view>
<view class="neir" v-else>
购买会员享优惠
</view>
<view class="huiyuanbtn" @click="chuiyuan" v-if='userInfo.overdue_day>0 && !userInfo.yaoqing_status'>立即续费</view>
<view class="huiyuanbtn" @click="bangdingshangji" v-else-if='userInfo.yaoqing_status'>立即绑定</view>
<view class="huiyuanbtn" @click="chuiyuan" v-else>
立即购买
</view>
</view>
</uni-popup>
</view>
</template>
<script>
const app = getApp();
import colors from "@/mixins/color";
import couponWindow from '@/components/couponWindow/index';
import permision from "@/js_sdk/wa-permission/permission.js";
import {
getCouponV2,
getCouponNewUser,
copyRight
} from '@/api/api.js';
import {
bindshangji
} from '@/api/user.js';
import {
getShare
} from '@/api/public.js';
// #ifdef H5
import {
silenceAuth
} from '@/api/public.js';
// #endif
import userInfor from './components/userInfor';
import homeComb from './components/homeComb';
import newVip from './components/newVip';
import shortVideo from './components/shortVideo';
import headerSerch from './components/headerSerch';
import swipers from './components/swipers';
import coupon from './components/coupon';
import articleList from './components/articleList';
import bargain from './components/bargain';
import blankPage from './components/blankPage';
import combination from './components/combination';
import customerService from './components/customerService';
import goodList from './components/goodList';
import guide from './components/guide';
import liveBroadcast from './components/liveBroadcast';
import menus from './components/menus';
import news from './components/news';
import pictureCube from './components/pictureCube';
import promotionList from './components/promotionList';
import seckill from './components/seckill';
import swiperBg from './components/swiperBg';
import tabNav from './components/tabNav';
import titles from './components/titles';
import ranking from './components/ranking';
import presale from './components/presale'
import pointsMall from './components/pointsMall';
// #ifndef APP
import richText from './components/richText';
import videos from './components/videos';
// #endif
import signIn from './components/signIn';
import hotspot from './components/hotspot';
import follow from './components/follow';
import waterfallsFlow from "@/components/WaterfallsFlow/WaterfallsFlow.vue";
import emptyPage from '@/components/emptyPage.vue';
// #ifdef MP
import {
getTemlIds
} from '@/api/api.js';
import {
SUBSCRIBE_MESSAGE,
TIPS_KEY
} from '@/config/cache';
// #endif
import {
mapGetters,
mapMutations
} from 'vuex';
import {
getDiy,
getDiyVersion
} from '@/api/api.js';
import {
getCategoryList,
getProductslist,
getProductHot,
diyProductApi
} from '@/api/store.js';
import {
goShopDetail
} from '@/libs/order.js';
import {
toLogin
} from '@/libs/login.js';
import {
HTTP_REQUEST_URL
} from '@/config/app';
import {
getList,
storegetProducts
} from '@/api/new_store.js'
import pageFooter from '@/components/pageFooter/index.vue';
import Loading from '@/components/Loading/index.vue';
import recommend from '@/components/recommend';
export default {
computed: {
pageStyle() {
return {
backgroundColor: this.bgColor,
backgroundImage: this.bgPic ? `url(${this.bgPic})` : '',
minHeight: this.windowHeight + 'px'
}
},
pdHeights() {
let H = `${this.pdHeight*2 + 100}rpx`
return {
height: this.isFooter ? H : '100rpx'
}
},
...mapGetters(['isLogin', 'uid', 'cartNum','userInfo']),
},
mixins: [colors],
components: {
recommend,
Loading,
pageFooter,
couponWindow,
homeComb,
newVip,
userInfor,
shortVideo,
headerSerch,
swipers,
coupon,
articleList,
bargain,
blankPage,
combination,
customerService,
goodList,
guide,
liveBroadcast,
menus,
pictureCube,
news,
promotionList,
seckill,
swiperBg,
tabNav,
titles,
ranking,
presale,
pointsMall,
// #ifndef APP
richText,
videos,
// #endif
signIn,
hotspot,
follow,
waterfallsFlow,
emptyPage
},
data() {
return {
splist:[],
searchValue:'',
valueserch: '',
styleConfig: [],
loading: false,
loadend: false,
loadTitle: '下拉加载更多', //提示语
page: 1,
limit: this.$config.LIMIT,
numConfig: 0,
code: '',
isCouponShow: false,
couponObj: {},
couponObjs: {
show: false
},
shareInfo: {},
sortList: '',
sortAll: [],
goodPage: 1,
goodList: [],
sid: 0,
curSort: 0,
sortMpTop: 0,
loaded: false,
loading: false,
domOffsetTop: 50,
// #ifdef APP-PLUS || MP
isFixed: true,
// #endif
// #ifdef H5
isFixed: false,
// #endif
site_config: '',
errorNetwork: false, // 是否断网
isHeaderSerch: false,
showHomeComb: false,
showCateNav: false,
homeCombData: {},
headerSerchCombData: {},
cateNavData: {},
bgColor: '',
bgPic: '',
bgTabVal: '',
pageShow: true,
windowHeight: 0,
imgHost: HTTP_REQUEST_URL,
isShowAuth: false,
isScrolled: false,
product_video_status: false,
confirm_video_status: false,
positionTop: 0,
isFooter: false,
pdHeight: 0, //自定义底部导航上下边距和
bdphone:'',
contentmendian: {
// 自己的位置
latitude:'',
longitude:'',
store_type: 1,
keyword: "",
province: 0,
city: 0,
area: 0,
},
mdlist:[],
mdid:'',
mrmd:'',
pagegd:1
};
},
onLoad(options) {
let that = this;
uni.hideTabBar();
that.getOptions(options);
this.$nextTick(function() {
uni.getSystemInfo({
success: function(res) {
that.windowHeight = res.windowHeight;
}
});
})
const {
state,
scope
} = options;
this.diyData();
// #ifdef H5
this.setOpenShare();
// #endif
// #ifdef MP
this.getTemlIds();
// #endif
getShare().then(res => {
this.shareInfo = res.data;
});
this.getCopyRight();
this.$eventHub.$on('confirm_video_status', () => {
if (this.confirm_video_status) {
return;
}
this.confirm_video_status = true;
let flag = true;
// #ifdef H5
flag = window.self == window.top;
// #endif
if (!flag) {
return;
}
uni.showModal({
content: '当前使用移动网络是否继续播放视频',
success: (res) => {
if (res.confirm) {
// 监听
this.SET_AUTOPLAY(true);
this.$eventHub.$emit('product_video_observe');
}
}
});
});
},
onUnload() {
// 清除监听
uni.$off('activeFn');
},
watch: {
isLogin: {
deep: true, //深度监听设置为 true
handler: function(newV, oldV) {
// 优惠券弹窗
var newDates = new Date().toLocaleDateString();
if (newV) {
try {
var oldDate = uni.getStorageSync('oldDate') || '';
} catch {}
if (oldDate != newDates) {
this.getCoupon();
}
}
}
}
},
onShow() {
this.getLocation()
if (this.cartNum > 0) {
uni.setTabBarBadge({
index: 2,
text: this.cartNum > 99 ? '99+' : this.cartNum + ''
})
uni.hideTabBarRedDot({
index: 3
})
} else {
uni.hideTabBarRedDot({
index: 3
})
}
uni.removeStorageSync('form_type_cart');
// 优惠券弹窗
if (this.isLogin) {
// this.$refs.popup.open('center')
console.log(154,this.userInfo)
this.$nextTick(() => {
if(this.userInfo.overdue_day<15){
console.log(156,this.userInfo)
this.$refs.popup.open('center')
}
});
this.getCoupon();
if(this.userInfo.overdue_day<15){
console.log(156,this.userInfo)
this.$refs.popup.open('center')
}
}
// if(!this.userInfo.overdue_day){
// this.$refs.popup.open('center')
// }
if(uni.getStorageSync('mdnane')!=''){
uni.setStorageSync('mendianstore_id','')
this.mrmd=uni.getStorageSync('mdnane')
this.mdid=uni.getStorageSync('mdid')
uni.setStorageSync('mendianstore_id',this.mdid)
this.$nextTick(() => {
this.getGoodsList(this.mdid)
});
}
},
onReady() {},
methods: {
saoma(){
uni.navigateTo({
url:'/pages/store/table_code/index?store_id=1&qrcode_id=115',
})
},
onInput(e){
this.bdphone = e.target.value;
},
getLocation(){
var that=this
uni.getLocation({
type: 'wgs84',
success: function (res) {
console.log('当前位置的经度' + res.longitude);
console.log('当前位置的纬度' + res.latitude);
that.contentmendian.longitude=res.longitude
that.contentmendian.latitude=res.latitude
uni.setStorageSync('user_latitude',res.latitude)
uni.setStorageSync('user_longitude',res.longitude)
getList(that.contentmendian).then(res => {
console.log(585,uni.getStorageSync('mdnane'));
if(uni.getStorageSync('mdnane')==''){
that.mdlist = res.data
that.mrmd=that.mdlist[0].name
that.mdid=that.mdlist[0].id
uni.setStorageSync('mendianstore_id','')
uni.setStorageSync('mendianstore_id',that.mdid)
this.getGoodsList(this.mdid)
}
})
}
})
},
searchBut: function() {
console.log(11);
let that = this;
if (that.searchValue.length > 0) {
uni.navigateTo({
url:'/pages/goods/goods_list/index?searchValue=' + that.searchValue
})
} else {
return this.$util.Tips({
title: '请输入要搜索的商品',
icon: 'none',
duration: 1000,
mask: true,
});
}
},
chuiyuan(){
uni.navigateTo({
url:'/pages/annex/vip_paid/index'
})
},
bangdingshangji(){
let phone = this.bdphone;
let parambd = {phone:phone};
bindshangji(parambd).then(res => {
this.close()
}).catch(err => {
return this.$util.Tips({
title: err
});
});
},
close(){
this.$refs.popup.close('center')
},
xuzemd(){
uni.navigateTo({
url:"/pages/store/list/index"
// url:"/pages/store_list/index"
})
},
...mapMutations(['SET_AUTOPLAY']),
getCopyRight() {
copyRight().then(res => {
let data = res.data;
uni.setStorageSync('wechatStatus', data.wechat_status)
// #ifndef APP-PLUS
this.site_config = data.record_No;
// #endif
if (!data.copyrightContext && !data.copyrightImage) {
data.copyrightImage = '/static/images/support.png'
}
uni.setStorageSync('copyNameInfo', data.copyrightContext);
uni.setStorageSync('copyImageInfo', data.copyrightImage);
// #ifdef MP
uni.setStorageSync('MPSiteData', JSON.stringify({
site_logo: data.site_logo,
site_name: data.site_name
}));
// #endif
}).catch(err => {
return this.$util.Tips({
title: err.msg
});
});
},
getOptions(options) {
let that = this;
// #ifdef MP
if (options.scene) {
let value = that.$util.getUrlParams(decodeURIComponent(options.scene));
//记录推广人uid
if (value.spid) app.globalData.spid = value.spid;
}
// #endif
if (options.spid) app.globalData.spid = options.spid;
},
// 重新链接
reconnect() {
this.diyData();
getShare().then(res => {
this.shareInfo = res.data;
});
},
goICP() {
// #ifdef H5
window.open('http://beian.miit.gov.cn/');
// #endif
// #ifdef MP
uni.navigateTo({
url: `/pages/annex/web_view/index?url=https://beian.miit.gov.cn/`
});
// #endif
},
bindHeighta(data) {
// #ifdef APP-PLUS
this.sortMpTop = data.top + data.height;
// #endif
},
bindHeight(data) {
uni.hideLoading();
this.domOffsetTop = data.top;
},
// 去商品详情
goGoodsDetail(item) {
goShopDetail(item, this.uid).catch(res => {
uni.navigateTo({
url: `/pages/goods_details/index?id=${item.id}`
});
});
},
// 分类点击
changeSort(item, index) {
if (this.curSort == index) return;
this.curSort = index;
this.sid = item.id;
this.goodList = [];
this.goodPage = 1;
this.loaded = false;
this.getGoodsList();
},
/**
* @param data {
classPage: 0 分类id
microPage: 0 微页面id
type: 1 0 微页面 1 商品分类
}*/
bindSortId(data) {
this.styleConfig = [];
if (data.type == 1) {
this.getProductList(data.classPage);
} else {
this.sortList = [];
this.getMicroPage(data.microPage, true);
}
},
/**
* 获取DIY
* @param {number} id
* @param {boolean} type 区分是否是微页面
*/
getMicroPage(id, type) {
let that = this;
that.styleConfig = []
uni.showLoading({
title: '加载中...'
});
getDiy(id).then(res => {
uni.hideLoading();
let data = res.data;
let diyArr = that.objToArr(res.data.value);
diyArr = diyArr.filter(item => !item.isHide);
diyArr.forEach((item, index) => {
if (['headerSerch', 'homeComb'].includes(item.name)) {
diyArr.splice(index, 1);
}
});
this.styleConfig = diyArr;
}).catch(err => {
return that.$util.Tips({
title: err
});
uni.hideLoading();
});
},
getProductList(data) {
let tempObj = '';
this.curSort = 0;
this.loaded = false;
if (this.sortAll.length > 0) {
this.sortAll.forEach((el, index) => {
if (el.id == data) {
this.$set(this, 'sortList', el);
this.sid = el.children.length ? el.children[0].id : '';
}
});
this.goodList = [];
this.goodPage = 1;
this.$nextTick(() => {
if (this.sortList != '') this.getGoodsList();
});
} else {
getCategoryList().then(res => {
this.sortAll = res.data;
res.data.forEach((el, index) => {
if (el.id == data) {
this.sortList = el;
this.sid = el.children.length ? el.children[0].id : '';
}
});
this.goodList = [];
this.goodPage = 1;
this.$nextTick(() => {
if (this.sortList != '') this.getGoodsList();
});
});
}
},
// 商品列表
getGoodsList(store_id) {
// console.log('商品列表')
// if (this.loading || this.loaded) return;
// this.loading = true;
// // page=1&limit=10&type=1&cid=1&sid=0&tid=0&store_id=2&delivery_type=3
// storegetProducts({
// sid: this.sid,
// // keyword: '',
// // priceOrder: '',
// // salesOrder: '',
// // news: 0,
// type:1,
// tid:0,
// page: this.goodPage,
// limit: 10,
// cid: 0,
// store_id:this.mdid
// }).then(res => {
// this.goodList=[]
// this.loading = false;
// this.loaded = res.data.length < 10;
// this.goodPage++;
// this.goodList = this.goodList.concat(res.data);
// this.splist=this.goodList
// console.log('this.splist',this.splist)
// });
},
// 新用户优惠券
getNewCoupon() {
const oldUser = uni.getStorageSync('oldUser') || 0;
if (!oldUser) {
getCouponNewUser().then(res => {
const {
data
} = res;
if (data.show) {
if (data.list.length) {
this.isCouponShow = true;
this.couponObj = data;
uni.setStorageSync('oldUser', 1);
}
} else {
uni.setStorageSync('oldUser', 1);
}
});
}
},
// 优惠券弹窗
getCoupon() {
const tagDate = uni.getStorageSync('tagDate') || '',
nowDate = new Date().toLocaleDateString();
if (tagDate === nowDate) {
this.getNewCoupon();
} else {
getCouponV2().then(res => {
const {
data
} = res;
if (data.list.length) {
this.isCouponShow = true;
this.couponObj = data;
uni.setStorageSync('tagDate', new Date().toLocaleDateString());
} else {
this.getNewCoupon();
}
});
}
},
// 优惠券弹窗关闭
couponClose() {
this.isCouponShow = false;
if (!uni.getStorageSync('oldUser')) {
this.getNewCoupon();
}
},
onLoadFun() {
this.isShowAuth = false
},
// #ifdef H5
// 获取url后面的参数
getQueryString(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
var reg_rewrite = new RegExp('(^|/)' + name + '/([^/]*)(/|$)', 'i');
var r = window.location.search.substr(1).match(reg);
var q = window.location.pathname.substr(1).match(reg_rewrite);
if (r != null) {
return unescape(r[2]);
} else if (q != null) {
return unescape(q[2]);
} else {
return null;
}
},
// #endif
// #ifdef MP
getTemlIds() {
let messageTmplIds = wx.getStorageSync(SUBSCRIBE_MESSAGE);
if (!messageTmplIds) {
getTemlIds().then(res => {
if (res.data) wx.setStorageSync(SUBSCRIBE_MESSAGE, JSON.stringify(res.data));
});
}
},
// #endif
// 对象转数组
objToArr(data) {
let obj = Object.keys(data).sort();
let m = obj.map(key => data[key]);
return m;
},
setDiyData(data) {
this.errorNetwork = false
if (data.is_bg_color) {
this.bgColor = data.color_picker
}
if (data.is_bg_pic) {
this.bgPic = data.bg_pic
this.bgTabVal = data.bg_tab_val
}
this.pageShow = data.is_show
uni.setNavigationBarTitle({
title: data.title
});
let temp = [];
let lastArr = this.objToArr(data.value);
lastArr.forEach((item, index, arr) => {
if (item.name === 'homeComb' && !item.isHide) {
this.showHomeComb = true;
this.homeCombData = item;
if (item.searchConfig.tabVal) {
this.positionTop = uni.getSystemInfoSync().statusBarHeight + 43
}
}
if (item.name == 'headerSerch' && !item.isHide) {
this.isHeaderSerch = true;
this.headerSerchCombData = item;
}
if (item.name == 'tabNav' && !item.isHide) {
this.showCateNav = true;
this.cateNavData = item;
}
if (!item.isHide) {
temp.push(item);
}
});
function sortNumber(a, b) {
return a.timestamp - b.timestamp;
}
temp.sort(sortNumber)
this.styleConfig = temp;
},
getDiyData() {
getDiy(0).then(res => {
uni.setStorageSync('diyData', JSON.stringify(res.data));
this.setDiyData(res.data);
}).catch(error => {
// #ifdef APP-PLUS
if (error.status) {
uni.hideLoading()
if (this.errorNetwork) {
uni.showToast({
title: '请开启网络连接',
icon: 'none',
duration: 2000
})
}
this.errorNetwork = true;
}
// #endif
});
},
diyData() {
let diyData = uni.getStorageSync('diyData');
if (diyData) {
getDiyVersion(0).then(res => {
let diyVersion = uni.getStorageSync('diyVersion');
if ((res.data.version + '0') === diyVersion) {
this.setDiyData(JSON.parse(diyData));
} else {
uni.setStorageSync('diyVersion', (res.data.version + '0'));
this.getDiyData();
}
});
} else {
this.getDiyData();
}
},
changeLogin() {
this.getIsLogin();
},
getIsLogin() {
toLogin()
},
changeBarg(item) {
if (!this.isLogin) {
this.getIsLogin();
} else {
uni.navigateTo({
url: `/pages/activity/goods_bargain_details/index?id=${item.id}&spid=${this.$store.state.app.uid}`
});
}
},
goUrl(type){
console.log(333,type)
if(type == 1){
uni.navigateTo({
url: `/pages/users/lanhu/lanhu_zuoweiyuding/index`
});
}
if(type == 2){
uni.navigateTo({
url: `/pages/users/lanhu/lanhu_cunqujiu/index`
});
}
},
goDetail(item) {
goShopDetail(item, this.$store.state.app.uid).catch(res => {
uni.navigateTo({
url: `/pages/goods_details/index?id=${item.id}`
});
});
},
newDataStatus(val, num) {
this.isFooter = val ? true : false;
this.pdHeight = num;
},
// #ifdef H5
// 微信分享;
setOpenShare: function() {
let that = this;
let uid = this.uid ? this.uid : 0;
if (that.$wechat.isWeixin()) {
getShare().then(res => {
let data = res.data;
let configAppMessage = {
desc: data.synopsis,
title: data.title,
link: location.href + '?spid=' + uid,
imgUrl: data.img
};
that.$wechat.wechatEvevt(['updateAppMessageShareData', 'updateTimelineShareData',
'onMenuShareAppMessage', 'onMenuShareTimeline'
],
configAppMessage);
});
}
}
// #endif
},
onReachBottom() {
console.log(9989);
this.pagegd++
// this.getGoodsList();
},
onPageScroll(e) {
// #ifdef H5
if (this.isHeaderSerch) {
if (e.scrollTop > this.domOffsetTop) {
this.isFixed = true;
}
if (e.scrollTop < this.domOffsetTop) {
this.$nextTick(() => {
this.isFixed = false;
});
}
} else {
this.isFixed = false
}
// #endif
if (e.scrollTop > 10) {
this.isScrolled = true;
} else {
this.isScrolled = false;
}
uni.$emit('scroll');
uni.$emit('onPageScroll', e.scrollTop);
},
//#ifdef MP
onShareAppMessage() {
let uid = this.uid ? this.uid : 0;
if (this.shareInfo.img) {
return {
title: this.shareInfo.title,
path: '/pages/index/index?spid=' + uid,
imageUrl: this.shareInfo.img,
desc: this.shareInfo.synopsis
};
} else {
return {
title: this.shareInfo.title,
path: '/pages/index/index?spid=' + uid
// imageUrl: this.shareInfo.img,
// desc: this.shareInfo.synopsis
};
}
},
//分享到朋友圈
onShareTimeline: function() {
return {
title: this.shareInfo.title,
path: '/pages/index/index',
imageUrl: this.shareInfo.img,
desc: this.shareInfo.synopsis
};
}
//#endif
};
</script>
<style lang="scss" scoped>
.popupbox{
width: 600rpx;
min-height: 350rpx;
background: #1C1A1F;
box-shadow: 0rpx 5rpx 16rpx 0rpx rgba(6,3,14,0.39);
border-radius: 20rpx;
padding: 20rpx;
text-align: center;
.popupboximg{
width: 171rpx;
height: 189rpx;
margin: 0 auto;
}
.neir{
font-family: Alibaba PuHuiTi;
font-weight: 400;
font-size: 30rpx;
color: #FFFFFF;
line-height: 56rpx;
text-align: center;
margin-top: 46rpx;
}
.huiyuanbtn{
width: 230rpx;
height: 80rpx;
background: #F8BF1F;
border-radius: 40rpx;
margin: 40rpx auto;
font-family: Alibaba PuHuiTi;
font-weight: 400;
font-size: 30rpx;
text-align: center;
color: #080313;
line-height: 80rpx;
}
}
.input-container{
position: relative;
margin-top: 43rpx;
}
.searchright{
position: absolute;
top: 7rpx;
right: 26rpx;
width: 120rpx;
height: 66rpx;
background: #F8BF1F;
border-radius: 33rpx;
text-align: center;
line-height: 66rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
font-size: 28rpx;
color: #080313;
z-index: 9999;
}
.inputserch {
width: 550rpx;
height: 80rpx;
background: #1B1A1D;
border-radius: 40rpx;
margin: 0 auto;
line-height: 80rpx;
padding: 0 90rpx;
color: #FFFFFF;
}
.inputicon {
position: absolute;
top: 25%;
left: 40rpx
}
.xuanzmd {
color: #fff;
padding-top: 90rpx;
margin-left: 25rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
font-size: 28rpx;
}
// page {
// padding-bottom: 50px;
// }
.pictrue_log_class {
background-color: var(--view-theme);
}
.ysize {
background-size: 100%;
}
.fullsize {
background-size: 100% 100%;
}
.repeat {
background-repeat: repeat;
}
.noRepeat {
background-repeat: no-repeat;
}
.error-network {
position: fixed;
left: 0;
top: 0;
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
height: 100%;
padding-top: 40rpx;
background: #fff;
image {
width: 414rpx;
height: 336rpx;
}
.title {
position: relative;
top: -40rpx;
font-size: 32rpx;
color: #666;
}
.con {
font-size: 24rpx;
color: #999;
.label {
margin-bottom: 20rpx;
}
.item {
margin-bottom: 20rpx;
}
}
.btn {
display: flex;
align-items: center;
justify-content: center;
width: 508rpx;
height: 86rpx;
margin-top: 100rpx;
border: 1px solid #D74432;
color: #E93323;
font-size: 30rpx;
border-radius: 120rpx;
}
}
.sort-scroll {
background-color: #fff;
}
.sort-product {
margin-top: 20rpx;
}
.site-config {
margin: 40rpx 0;
font-size: 24rpx;
text-align: center;
color: #666;
&.fixed {
position: fixed;
bottom: 69px;
left: 0;
width: 100%;
}
}
.select {
border: 1px solid var(--view-theme);
}
.sytitle {
padding-left: 183rpx;
font-family: Alibaba PuHuiTi;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
}
</style>