<template>
|
|
<view class="home">
|
|
<u-sticky>
|
|
<view class="theme-bg">
|
|
<status-bar></status-bar>
|
|
<view class="home-address flex align-center p-l-28 p-r-28" :style="[addressStyle]" @click="toReceiving">
|
|
<view class="m-r-14"><u-icon size="40" name="map-fill" color="#fff"></u-icon></view>
|
|
<view class="home-address-name text-ellipsis">{{location.type === 'shop' ? `站点:${location.name}` : location.shippingAddress}}</view>
|
|
<view class="home-address-switch flex align-center text-white font-28">
|
|
<text class="p-l-10 p-r-10">|</text>
|
|
<text>切换</text>
|
|
<u-icon size="40" name="arrow-right" color="#fff"></u-icon>
|
|
</view>
|
|
</view>
|
|
<view class="home-search"><u-search disabled placeholder="请输入要搜索的商品" height="70" :show-action="false" @click="handleSearch" /></view>
|
|
</view>
|
|
</u-sticky>
|
|
|
|
<view class="home-banner position-relative p-l-28 p-r-28">
|
|
<u-swiper height="270" :list="bannerList" @click="bannerClick"></u-swiper>
|
|
<view class="home-banner-bg position-absolute top-0 theme-bg"></view>
|
|
</view>
|
|
<!-- 排排 -->
|
|
<view class="home-notice flex align-center m-t-20 " v-for="(item_no,index) in noticeList" @click="todetail(index)">
|
|
<view class="home-notice-image"><image :src="IMG_URL + 'notice.png'" mode="widthFix"></image></view>
|
|
<u-notice-bar
|
|
@click="todetail"
|
|
class="flex-1"
|
|
:volume-icon="false"
|
|
type="primary"
|
|
color="#01AEEA"
|
|
bg-color="#e0ffff"
|
|
mode="horizontal"
|
|
:list="item_no"
|
|
/>
|
|
</view>
|
|
<view class="home-grid m-t-60 flex align-center flex-wrap">
|
|
<view class="home-grid-item flex flex-column align-center justify-between m-b-30" v-for="(item,index) in gridList" :key="item.id" @click="toPage(item.url,item.id,item)">
|
|
<view class="home-grid-img flex align-center justify-center">
|
|
<image style="max-width: 80rpx; max-height: 80rpx;" :src="item.image" mode="widthFix"></image>
|
|
</view>
|
|
|
|
<text class="font-30 text-black" style="font-weight: 500;" v-show="item.alt">{{ item.alt }}</text>
|
|
|
|
<text class="font-30 text-black" style="font-weight: 500;">{{ item.title }}</text>
|
|
<text class="font-30 text-black" style="font-weight: 500;">{{ item.concert }}</text>
|
|
<u-badge :offset="[-20,10]" type="error" :count="item.icon"></u-badge>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="home-goods m-t-10">
|
|
<view class="home-goods-header m-b-20" v-if="imgAbout"><image :src="imgAbout" mode="widthFix"></image></view>
|
|
<view v-for="(item,index) in goodsList" :key="index">
|
|
<goods-item :goods="item" thereTo='home'></goods-item>
|
|
</view>
|
|
</view>
|
|
<!-- @click="showTabber" -->
|
|
<view class="bg" v-if="show && Object.keys(userInfo).length > 0" catchtouchmove="return">
|
|
<!-- 开通会员 -->
|
|
<view class="merber_pass" v-if="showBtn && userInfo.level == 0">
|
|
<view class="img_merber_pass" :style="'background-image: url('+IMG_URL+'menberPass.png);'">
|
|
<text class="btn_click_pass" @click="toPageMenber">立即开通</text>
|
|
</view>
|
|
<u-icon name="close" color="#fff" size="50rpx" @click="closeBtn"></u-icon>
|
|
</view>
|
|
<!-- 礼包 -->
|
|
<view v-for="(item,index) in packet_list" :key="item.id">
|
|
<view class="gift_box" v-if="select_index == index && !showBtn" >
|
|
<view class="gift" :style="'background-image: url('+IMG_URL+'gift.png);'">
|
|
<text class="one" v-if="item.type == 0">新人大礼包(限X日内领取)</text>
|
|
<text class="two" v-if="item.type == 0">优惠券X张</text>
|
|
<text class="top_one" v-if="item.type !== 0">恭喜您获得</text>
|
|
<text class="three" v-if="item.type == 0">(满100减50)</text>
|
|
<!-- item.type == 0 || item.type == 0 || -->
|
|
<text :class="item.type ==2?'four1':'four'" v-if="item.type == 2">兑换金{{item.intger}}元</text>
|
|
<text :class="item.type ==3?'four1':'five'" v-if="item.type == 3">消费金{{item.consumption}}元</text>
|
|
<view class="six flex flex-column" v-if="item.type !== 0">
|
|
<text>活动时间</text>
|
|
<text class="font-32" >从{{item.startTime.substr(0,10)}}</text>
|
|
<text class="font-32">至{{item.endTime.substr(0,10)}}</text>
|
|
</view>
|
|
<text class="getRedPacketBtn" @click="getRedPacketIndex(item)">{{item.type ==0? '领取新人大礼包': '领取'}}</text>
|
|
</view>
|
|
|
|
<u-icon name="close" color="#fff" size="50rpx" @click="close" class="m-t-40"></u-icon>
|
|
</view>
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import { IMG_URL } from '@/env.js'
|
|
import QQMapWX from '@/plugin/map/qqmap-wx-jssdk.min.js'
|
|
import { MAP_KEY } from '@/config/settings.js'
|
|
export default {
|
|
data() {
|
|
return {
|
|
IMG_URL,
|
|
// config,
|
|
imgAbout: '',
|
|
bannerList: [],
|
|
noticeList: [],
|
|
gridList: [],
|
|
goodsList: [],
|
|
show: true,
|
|
showBtn: true,
|
|
select_index: 0,
|
|
packet_list: [],
|
|
isLock: true,
|
|
// userInfo: {},
|
|
qqmapsdk: '',
|
|
//分页
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
total: null,
|
|
isLock: true,
|
|
userLocation: true,
|
|
noticeListOld: [],
|
|
isFrist: 0, // 为0 第一次进入 1 第一次登录是进入 2 切换
|
|
};
|
|
},
|
|
onPullDownRefresh() {
|
|
this.orderList = [];
|
|
this.pageNo = 1;
|
|
this.total = null;
|
|
this.isLock = true;
|
|
this.getGoodsList()
|
|
},
|
|
onReachBottom() {
|
|
if(this.isLock){
|
|
this.isLock = false;
|
|
console.log(this.total !== null,this.pageNo * this.pageSize >= this.total, this.total)
|
|
if(this.total !== null && this.pageNo * this.pageSize >= this.total){
|
|
this.$Toast('没有更多数据了哦!');
|
|
|
|
setTimeout(()=>{
|
|
this.isLock = true;
|
|
},3000)
|
|
return
|
|
}
|
|
this.pageNo+=1;
|
|
this.getGoodsList();
|
|
}
|
|
},
|
|
onLoad() {
|
|
this.qqmapsdk = new QQMapWX({
|
|
key: MAP_KEY // 必填
|
|
})
|
|
// this.getAddress()
|
|
uni.showLoading()
|
|
|
|
// 调用 getUserInfo 原因 第一进来获取不到用户的缓存 所以只能调用接口 来确定是否要展示 立即开通会员
|
|
Promise.all([ this.getBanner(), this.getNotice(), this.getHomeButton(), this.getGoodsList()])
|
|
.then(() => {
|
|
uni.hideLoading()
|
|
})
|
|
.catch(err => {
|
|
uni.hideLoading()
|
|
this.$Toast(err)
|
|
})
|
|
this.imageOne();
|
|
// 关闭uploadAddress
|
|
uni.$off('uploadAddress');
|
|
// 禁止获取站点 ,影响用户体验
|
|
// uni.$once('uploadAddress', () => {
|
|
// uni.showLoading()
|
|
// this.getAddressList()
|
|
// })
|
|
},
|
|
onShow() {
|
|
this.userToken && this.getUserInfo()
|
|
},
|
|
computed: {
|
|
location () {
|
|
return this.$store.state.location
|
|
},
|
|
userInfo () {
|
|
return this.$store.state.userInfo
|
|
},
|
|
userToken () {
|
|
return this.$store.state.userToken
|
|
},
|
|
isLogin () {
|
|
return this.$store.state.userToken
|
|
},
|
|
addressStyle () {
|
|
// #ifdef H5
|
|
let menuButtonInfo = {}
|
|
// #endif
|
|
// #ifdef MP-WEIXIN
|
|
let menuButtonInfo = uni.getMenuButtonBoundingClientRect()
|
|
// #endif
|
|
let systemInfo = uni.getSystemInfoSync()
|
|
let { height, left, top } = menuButtonInfo
|
|
let marginTop = top - systemInfo.statusBarHeight
|
|
return {
|
|
height: `${height}px`,
|
|
marginTop: `${marginTop}px`,
|
|
width: `${left}px`,
|
|
}
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
// 开通会员关闭按钮
|
|
closeBtn(){
|
|
this.showBtn = false;
|
|
if(this.packet_list.length == 0){
|
|
this.show = false;
|
|
wx.showTabBar();
|
|
}
|
|
},
|
|
close(){
|
|
this.show = false;
|
|
wx.showTabBar();
|
|
},
|
|
// 有token才获取地址 在调取用户信息的时候调取保证有token
|
|
getAddressInfo () {
|
|
uni.getSetting({
|
|
success: settingInfo => {
|
|
console.log(settingInfo)
|
|
if (!settingInfo.authSetting.hasOwnProperty('scope.userLocation')) return
|
|
if (!settingInfo.authSetting['scope.userLocation'] && !this.userLocation) {
|
|
uni.showModal({
|
|
title: '获取位置失败',
|
|
content: '请允许使用您的位置,否则无法获取附件站点',
|
|
confirmText: '去设置',
|
|
success: res => {
|
|
if (res.confirm) {
|
|
uni.openSetting({
|
|
success: openSttingInfo => {
|
|
if (openSttingInfo.authSetting['scope.userLocation']) {
|
|
this.getAddress()
|
|
this.userLocation = true
|
|
} else {
|
|
this.userLocation = false
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
// this.isLogin && this.getAddressList()
|
|
}
|
|
},
|
|
fail: () => {
|
|
// this.isLogin && this.getAddressList()
|
|
}
|
|
})
|
|
} else {
|
|
this.userLocation = true
|
|
}
|
|
}
|
|
})
|
|
},
|
|
// 点击公告 跳入详情页
|
|
todetail(index){
|
|
console.log(index)
|
|
this.$tools.navigateTo({
|
|
url: `/pagesC/noticeDetail/noticeDetail?id=${this.noticeListOld[index].id}`
|
|
})
|
|
},
|
|
// 相关图片
|
|
imageOne() {
|
|
this.$api('imageOne',{url: 'pages/home/home'}).then(res => {
|
|
let {code, result, message} = res;
|
|
if(code == 200) {
|
|
this.imgAbout = result.image;
|
|
}else {
|
|
this.$Toast(message);
|
|
}
|
|
}).catch(err => {
|
|
this.$Toast(err.message);
|
|
})
|
|
},
|
|
// 获取用户信息 是否展示 立即开通会员
|
|
getUserInfo () {
|
|
return new Promise((resolve, reject) => {
|
|
this.$api('getUserInfo').then(res => {
|
|
let { code, result, message} = res;
|
|
if(code == 200){
|
|
let userInfo = {...result.account, ...result.userInfo }
|
|
this.userInfo = userInfo
|
|
// 更新用户信息缓存
|
|
this.$storage.setStorage("__user_info", userInfo)
|
|
// this.getAddressInfo();
|
|
!this.$store.state.location.name && this.getAddress()
|
|
this.isFrist++
|
|
console.log(this.isFrist)
|
|
if(this.isFrist == 1){
|
|
this.toPassMerber();
|
|
this.getRedPacket();
|
|
}
|
|
resolve()
|
|
}else {
|
|
reject(message)
|
|
}
|
|
}).catch(err => {
|
|
reject(err.message)
|
|
})
|
|
})
|
|
},
|
|
// 获取地址
|
|
getAddress() {
|
|
uni.authorize({
|
|
scope: 'scope.userLocation',
|
|
success: () => {
|
|
uni.getLocation({
|
|
type: 'wgs84',
|
|
success: res => {
|
|
|
|
this.qqmapsdk.reverseGeocoder({
|
|
location: {
|
|
latitude: res.latitude,
|
|
longitude: res.longitude
|
|
},
|
|
success: (location) => {
|
|
this.userLocation = true
|
|
let {result} = location
|
|
let userInfo = { ...this.$store.state.userInfo, address: result.formatted_addresses.recommend, longitude: res.longitude, latitude: res.latitude, }
|
|
this.$store.commit('set_userInfo', userInfo)
|
|
this.getStationmasterList(res.longitude, res.latitude);
|
|
},
|
|
})
|
|
},
|
|
fail: () => {
|
|
this.userLocation = false
|
|
}
|
|
});
|
|
},
|
|
fail: () => {
|
|
uni.showModal({
|
|
title: '位置授权失败',
|
|
content: '请允许使用您的位置,否则无法获取附件站点',
|
|
confirmText: '去设置',
|
|
success: res => {
|
|
if (res.confirm) {
|
|
uni.openSetting({
|
|
success: openSttingInfo => {
|
|
if (openSttingInfo.authSetting['scope.userLocation']) {
|
|
this.getAddress()
|
|
this.userLocation = true
|
|
} else {
|
|
this.userLocation = false
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
this.userLocation = false
|
|
// this.isLogin && this.getAddressList()
|
|
}
|
|
},
|
|
fail: () => {
|
|
this.userLocation = false
|
|
// this.isLogin && this.getAddressList()
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
// 立即开通
|
|
toPageMenber () {
|
|
this.$tools.navigateTo({
|
|
url: '/pagesC/member/index',
|
|
})
|
|
},
|
|
getStationmasterList(longitude,latitude){
|
|
const params = {
|
|
longitude,
|
|
latitude
|
|
}
|
|
this.$api('getStationmasterList',params).then( res => {
|
|
let { code, result, message } = res;
|
|
if( code == 200) {
|
|
if(!result.length) {
|
|
// this.isLogin && this.getAddressList();
|
|
} else {
|
|
let item = result[0]
|
|
let params = {
|
|
name: item.shopName,
|
|
id: item.id,
|
|
shippingAddress: item.address,
|
|
addressDetail: '',
|
|
phone: item.phone,
|
|
type: 'shop'
|
|
}
|
|
this.$store.commit('set_location', params)
|
|
}
|
|
} else {
|
|
// if (code === 9001) return this.getAddressList();
|
|
// this.$Toast(message)
|
|
}
|
|
}).catch(err => {
|
|
this.$Toast(err.message)
|
|
})
|
|
},
|
|
// 获取用户的收获地址
|
|
getAddressList(){
|
|
this.$api('getAddressList',{pageNo:1,pageSize: 1}).then(res => {
|
|
let { code, result, message} = res;
|
|
uni.hideLoading()
|
|
if(code == 200) {
|
|
if(result.records && result.records.length == 0 ){
|
|
uni.showModal({
|
|
title: '附近无站点',
|
|
content: '您还未设置收货地点,否则无法进行购买',
|
|
showCancel: false,
|
|
confirmText: '去填写',
|
|
success: (res) => {
|
|
if (res.confirm) {
|
|
// 去填写收获地址
|
|
this.$tools.redirectTo({
|
|
url: '/pages/my/address/addressEdit?type=setting&title=新增地址'
|
|
})
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
if (this.isLogin) {
|
|
console.log(this.userInfo.level,'123456')
|
|
if(this.userInfo.level == 0){
|
|
this.show = true
|
|
}
|
|
this.getRedPacket()
|
|
}
|
|
let params = {
|
|
...result.records[0],
|
|
type: 'user'
|
|
}
|
|
this.$store.commit('set_location', params)
|
|
}
|
|
}else{
|
|
this.$Toast(message)
|
|
}
|
|
}).catch(err => {
|
|
this.$Toast(err.message)
|
|
})
|
|
},
|
|
// 关闭会员
|
|
toPassMerber() {
|
|
// 关闭会员 调用红包
|
|
|
|
// 0 没开通会员 展示立即开通会员 不管有没有都关闭tabber
|
|
wx.hideTabBar();
|
|
if(this.userInfo.level == 0){
|
|
this.showBtn = true;
|
|
}else{
|
|
// 开通过来 取消展示 立即开通会员
|
|
this.showBtn = false;
|
|
}
|
|
if(!this.show || !this.showBtn){
|
|
wx.showTabBar()
|
|
}
|
|
},
|
|
// 轮播图点击
|
|
bannerClick (idx) {
|
|
let item = this.bannerList[idx]
|
|
if (item.type === 1) {
|
|
this.$tools.navigateTo({
|
|
url: `/pagesC/goodsInfo/goodsInfo?id=${item.url}&type=home`
|
|
})
|
|
}else if(item.type == 0) {
|
|
// 跳页面
|
|
this.$tools.navigateTo({
|
|
url: `${item.url}?type=home`
|
|
})
|
|
}
|
|
},
|
|
// 获取礼包信息
|
|
getRedPacket() {
|
|
const that = this
|
|
this.$api('getGift').then(res => {
|
|
let { code, result, message} = res ;
|
|
if(code == 200) {
|
|
result = result ==null? []: result;
|
|
that.packet_list = result
|
|
console.log(that.packet_list )
|
|
// 没有送的礼包 并且确定是已经开通会员的 关闭遮罩层 打开tabber
|
|
if (!result.length) {
|
|
if(that.userInfo.level !== 0 ) {
|
|
that.show= false;
|
|
wx.showTabBar();
|
|
} else if(that.showBtn == false ){ // 关闭了开通会员 并且也没有 礼包
|
|
that.show= false;
|
|
wx.showTabBar();
|
|
}
|
|
} else {
|
|
that.show= true;
|
|
uni.hideTabBar()
|
|
}
|
|
}else {
|
|
that.$Toast(message);
|
|
that.show= false;
|
|
wx.showTabBar();
|
|
}
|
|
}).catch(err => {
|
|
that.show= false;
|
|
wx.showTabBar();
|
|
that.$Toast(err.message);
|
|
})
|
|
},
|
|
getRedPacketIndex(data){
|
|
if(this.isLock){
|
|
this.isLock = false;
|
|
if(this.packet_list.length-1 == this.select_index) {
|
|
this.$api('getGiftSave',{id: data.id}).then(res => {
|
|
let { code, result, message} = res;
|
|
if(code == 200) {
|
|
this.$Toast(result)
|
|
this.select_index++;
|
|
}else{
|
|
this.$Toast(message);
|
|
}
|
|
this.show = false;
|
|
this.isLock = true
|
|
wx.showTabBar();
|
|
}).catch(err => {
|
|
this.$Toast(err.message)
|
|
this.show = false;
|
|
this.isLock = true
|
|
wx.showTabBar();
|
|
})
|
|
}else {
|
|
this.$api('getGiftSave',{id: data.id}).then(res => {
|
|
let { code, result, message} = res;
|
|
if(code == 200) {
|
|
this.$Toast(result)
|
|
this.select_index++;
|
|
}else{
|
|
this.$Toast(message);
|
|
}
|
|
this.isLock = true
|
|
}).catch(err => {
|
|
this.isLock = true
|
|
this.$Toast(err.message)
|
|
})
|
|
}
|
|
}else{
|
|
return
|
|
}
|
|
},
|
|
// 获取配置按钮
|
|
getHomeButton () {
|
|
return new Promise((resolve, reject) => {
|
|
this.$api('getHomeButton')
|
|
.then(res => {
|
|
let { code, result, message } = res
|
|
if (code === 200) {
|
|
this.gridList = result
|
|
this.$store.commit('set_gridData', result)
|
|
resolve()
|
|
} else {
|
|
reject(message)
|
|
}
|
|
})
|
|
.catch(err => {
|
|
reject(err.message)
|
|
})
|
|
})
|
|
},
|
|
// 获取滚动公告
|
|
getNotice () {
|
|
return new Promise((resolve, reject) => {
|
|
this.$api('getNotice')
|
|
.then(res => {
|
|
let { code, result, message } = res
|
|
if (code === 200) {
|
|
this.noticeListOld = result;
|
|
result.map(item => this.noticeList.push([item.title]))
|
|
// this.noticeList = result.map(item => item.title)
|
|
resolve()
|
|
} else {
|
|
reject(message)
|
|
}
|
|
})
|
|
.catch(err => {
|
|
reject(err.message)
|
|
})
|
|
})
|
|
},
|
|
// 获取轮播图
|
|
getBanner () {
|
|
return new Promise((resolve, reject) => {
|
|
this.$api('getBanner', { type: 0 })
|
|
.then(res => {
|
|
let { code, result, message } = res
|
|
if (code === 200) {
|
|
this.bannerList = result
|
|
resolve()
|
|
} else {
|
|
reject(message)
|
|
}
|
|
})
|
|
.catch(err => {
|
|
reject(err.message)
|
|
})
|
|
})
|
|
},
|
|
// 获取商品信息
|
|
getGoodsList() {
|
|
const params = {
|
|
isHot: 1,
|
|
type: 1,
|
|
pageNo :this.pageNo,
|
|
pageSize: this.pageSize
|
|
}
|
|
|
|
return new Promise((resolve, reject) => {
|
|
if(this.pageNo>1){
|
|
uni.showLoading({})
|
|
}
|
|
this.$api('getGoodsList',params).then(res => {
|
|
let { code, result, message } = res;
|
|
if(code == 200) {
|
|
if(this.total== null) {
|
|
this.total = result.total
|
|
}
|
|
result.records.forEach(item => {
|
|
// const picArray= item.pic.split(',')
|
|
// item.pic= picArray[0]
|
|
|
|
|
|
if(item.pic!==null){
|
|
const picArray=item.pic.split(',')
|
|
item.pic= picArray[0]
|
|
}else{
|
|
item.pic= []
|
|
}
|
|
})
|
|
if(this.pageNo>1){
|
|
uni.hideLoading();
|
|
}
|
|
this.goodsList = this.goodsList.concat(result.records)
|
|
this.isLock = true;
|
|
resolve()
|
|
}else {
|
|
if(this.pageNo>1){
|
|
uni.hideLoading();
|
|
}
|
|
reject(message)
|
|
this.isLock = true;
|
|
}
|
|
}).catch(err => {
|
|
if(this.pageNo>1){
|
|
uni.hideLoading();
|
|
}
|
|
reject(err.message)
|
|
this.isLock = true;
|
|
})
|
|
})
|
|
},
|
|
handleSearch () {
|
|
this.$tools.navigateTo({
|
|
url: '/pagesC/search/search'
|
|
})
|
|
},
|
|
toReceiving () {
|
|
if (!this.userLocation) {
|
|
uni.showModal({
|
|
title: '获取位置失败',
|
|
content: '请允许使用您的位置,否则无法获取附件站点',
|
|
confirmText: '去设置',
|
|
success: res => {
|
|
if (res.confirm) {
|
|
uni.openSetting({
|
|
success: openSttingInfo => {
|
|
if (openSttingInfo.authSetting['scope.userLocation']) {
|
|
this.getAddress()
|
|
this.userLocation = true
|
|
} else {
|
|
this.userLocation = false
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
if (this.isLogin) {
|
|
this.$tools.navigateTo({
|
|
url: '/pagesC/receiving/receiving'
|
|
})
|
|
} else {
|
|
this.$util.loginModal('您还未登录,请去登录!')
|
|
}
|
|
}
|
|
},
|
|
toPage(url,id,item) {
|
|
const that = this
|
|
if(url == '/pagesB/homeGridList/todayAllReturn/index' && this.userInfo.level !== 4){
|
|
const text = this.userInfo.level== 0? '欢迎您开通!':'你是否去升级会员';
|
|
const url_text= this.userInfo.level== 0? "/pagesC/member/index": "/pagesC/member/upgrades_renewals/index"
|
|
uni.showModal({
|
|
title: '提示',
|
|
content: `钻石卡会员尊享,`+ text ,
|
|
confirmText: '好的',
|
|
success: function (res) {
|
|
if (res.confirm) {
|
|
that.$tools.navigateTo({
|
|
url: url_text
|
|
});
|
|
}
|
|
}
|
|
})
|
|
return
|
|
}
|
|
if(url == '/pagesB/homeGridList/scienceIsTie-in/index' && this.userInfo.level !== 4){
|
|
const text = this.userInfo.level== 0? '欢迎您开通!':'你是否去升级会员';
|
|
const url_text= this.userInfo.level== 0? "/pagesC/member/index": "/pagesC/member/upgrades_renewals/index"
|
|
uni.showModal({
|
|
title: '提示',
|
|
content: `钻石卡会员尊享,`+ text ,
|
|
confirmText: '好的',
|
|
success: function (res) {
|
|
if (res.confirm) {
|
|
that.$tools.navigateTo({
|
|
url: url_text
|
|
});
|
|
}
|
|
}
|
|
})
|
|
return
|
|
}
|
|
// 开通会员做处理
|
|
if(url == '/pagesC/member/index'){
|
|
if(this.userInfo.level>0){
|
|
this.$tools.navigateTo({
|
|
url: '/pagesC/member/upgrades_renewals/index'
|
|
});
|
|
}else{
|
|
this.$tools.navigateTo({
|
|
url: '/pagesC/member/index'
|
|
});
|
|
}
|
|
}else{
|
|
// 传递标题
|
|
uni.navigateTo({
|
|
url: url+'?id='+id + `&title=${item.title}&concert=${item.concert}&pageImage=${item.pageImage}`
|
|
})
|
|
}
|
|
},
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.home-notice{
|
|
width: 680rpx;
|
|
overflow: hidden;
|
|
position: relative;
|
|
&-image{
|
|
position: absolute;
|
|
width: 60rpx;
|
|
height: 60rpx;
|
|
}
|
|
::v-deep .u-notice-box{
|
|
margin-left: 60rpx;
|
|
width: 400rpx;
|
|
}
|
|
::v-deep .u-notice-bar{
|
|
padding: 0 24rpx !important;
|
|
width: 89%;
|
|
}
|
|
::v-deep .u-notice-text{
|
|
margin-left: 30rpx;
|
|
font-size: 36rpx !important;
|
|
}
|
|
}
|
|
.overhide{
|
|
overflow: hidden;
|
|
}
|
|
.home {
|
|
flex: 1;
|
|
position: relative;
|
|
.bg{
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
// overflow: hidden;
|
|
z-index: 100;
|
|
background-color: rgba(0, 0, 0, 0.5) ;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
.merber_pass{
|
|
// position: absolute;
|
|
// top: 0;
|
|
// bottom: 0;
|
|
// left: 0;
|
|
// right: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
// z-index: 22;
|
|
.img_merber_pass{
|
|
width: 623rpx;
|
|
height: 617rpx;
|
|
background-size: 623rpx 617rpx;
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
.btn_click_pass{
|
|
position: absolute;
|
|
z-index: 23;
|
|
width: 278rpx;
|
|
height: 68rpx;
|
|
line-height: 68rpx;
|
|
text-align: center;
|
|
font-size: 30rpx;
|
|
border-radius:30rpx;
|
|
bottom: 58rpx;
|
|
}
|
|
}
|
|
}
|
|
.gift_box{
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
transition: all 2s;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
.gift{
|
|
width: 529rpx;
|
|
height: 672rpx;
|
|
background-size: 529rpx 672rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
position: relative;
|
|
color: #D70E08;
|
|
font-weight: bold;
|
|
font-size: 36rpx;
|
|
.one{
|
|
font-size: 27rpx;
|
|
margin-top: 56rpx;
|
|
}
|
|
.top_one{
|
|
margin-top: 75rpx;
|
|
}
|
|
.two{
|
|
margin-top: 30rpx;
|
|
}
|
|
.three{
|
|
margin-top: 10rpx;
|
|
}
|
|
.four{
|
|
margin-top: 87rpx;
|
|
}
|
|
.four1{
|
|
margin-top: 85rpx;
|
|
}
|
|
.five{
|
|
margin-top: 10rpx;
|
|
}
|
|
.six{
|
|
margin: 0 auto;
|
|
margin-top: 60rpx;
|
|
width: 72%;
|
|
text-align: center;
|
|
}
|
|
.getRedPacketBtn{
|
|
position: absolute;
|
|
width: 420px;
|
|
height: 81rpx;
|
|
border-radius: 36rpx;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 23;
|
|
font-size: 31rpx;
|
|
color: #D70E08;
|
|
bottom: 86rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
padding-bottom: 40rpx;
|
|
/* #ifdef H5 */
|
|
padding-bottom: 140rpx;
|
|
/* #endif */
|
|
&-address {
|
|
&-name {
|
|
width: 60%;
|
|
color: #fff;
|
|
font-size: 28rpx;
|
|
}
|
|
|
|
&-switch {
|
|
line-height: 1;
|
|
}
|
|
}
|
|
&-search {
|
|
padding: 28rpx;
|
|
}
|
|
|
|
&-banner {
|
|
&-bg {
|
|
width: 100%;
|
|
left: -5%;
|
|
height: 180rpx;
|
|
border-bottom-left-radius: 100%;
|
|
border-bottom-right-radius: 100%;
|
|
z-index: -1;
|
|
}
|
|
}
|
|
|
|
&-notice {
|
|
margin: 0 20rpx;
|
|
background-color: #e0ffff;
|
|
padding: 10rpx 20rpx;
|
|
border-radius: 40rpx;
|
|
&-image {
|
|
width: 60rpx;
|
|
}
|
|
}
|
|
|
|
&-grid {
|
|
padding: 0 30rpx;
|
|
&-item {
|
|
width: 33%;
|
|
height: 160rpx;
|
|
position: relative;
|
|
}
|
|
&-img {
|
|
width: 100rpx;
|
|
height: 100rpx;
|
|
max-width: 100rpx;
|
|
max-height: 100rpx;
|
|
}
|
|
}
|
|
|
|
&-goods {
|
|
padding: 0 20rpx;
|
|
&-header {
|
|
width: 560rpx;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
&-items {
|
|
padding: 30rpx 16rpx 20rpx;
|
|
background: #ffffff;
|
|
border-radius: 34rpx;
|
|
box-shadow: 0px 6rpx 12rpx 0px rgba(0, 0, 0, 0.16);
|
|
|
|
&-image {
|
|
width: 100%;
|
|
height: 300rpx;
|
|
}
|
|
|
|
&-play {
|
|
left: 50%;
|
|
bottom: 50%;
|
|
transform: translate(-50%, 50%);
|
|
}
|
|
|
|
&-title {
|
|
line-height: 50rpx;
|
|
}
|
|
|
|
&-add {
|
|
margin-right: 20rpx;
|
|
width: 50rpx;
|
|
height: 50rpx;
|
|
border-radius: 50%;
|
|
background-color: $u-type-primary;
|
|
}
|
|
|
|
&-tag {
|
|
// width: 150rpx;
|
|
// height: 110rpx;
|
|
// transform: translateX(20rpx);
|
|
// transform: translate(50%, 50%);
|
|
transform: rotate(45deg);
|
|
top: 0;
|
|
right: 0;
|
|
&-content {
|
|
transform: translate(25%, -30%);
|
|
width: 200rpx;
|
|
height: 50rpx;
|
|
background-color: #db0618;
|
|
box-shadow: 0px 6rpx 12rpx 0px rgba(0, 0, 0, 0.1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&-segmented-control {
|
|
width: 200rpx;
|
|
height: 50rpx;
|
|
background: #fff;
|
|
border-radius: 40rpx;
|
|
right: 20rpx;
|
|
bottom: 20rpx;
|
|
&-item {
|
|
position: relative;
|
|
z-index: 1;
|
|
color: #000;
|
|
font-size: 24rpx;
|
|
transition: all 0.2s linear;
|
|
&--active {
|
|
color: #fff;
|
|
}
|
|
}
|
|
|
|
&-bar {
|
|
width: 50%;
|
|
height: 100%;
|
|
border-radius: 40rpx;
|
|
position: absolute;
|
|
background-color: $u-type-primary;
|
|
z-index: 0;
|
|
transition: all 0.2s linear;
|
|
}
|
|
}
|
|
}
|
|
</style>
|