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.
283 lines
11 KiB
283 lines
11 KiB
<template>
|
|
<view id="vip-introduce">
|
|
<view class="content-top">
|
|
<image mode="widthFix" src="https://cdn.ibrand.cc/%E4%BC%9A%E5%91%98%E8%AF%A6%E6%83%85-rtrete_02.png"></image>
|
|
<image mode="widthFix" src="https://cdn.ibrand.cc/%E4%BC%9A%E5%91%98%E8%AF%A6%E6%83%85-443_03.png"></image>
|
|
</view>
|
|
<view class="content-center">
|
|
<image mode="widthFix" class="imgs" src="https://cdn.ibrand.cc/%E6%96%B0%E4%BA%BA%E9%A6%96%E5%8D%9555.png"></image>
|
|
<view class="goods-list">
|
|
<view class="item" v-for="(item, index) in goodsList" :key="index" @tap="jumpDetail" :data-id="item.id">
|
|
<view class="left-box">
|
|
<image :src="item.img"></image>
|
|
</view>
|
|
<view class="right-box">
|
|
<view class="name">{{item.name}}</view>
|
|
<view style="height:20px;">
|
|
<view class="sale-box" v-if="item.is_first_order_free">
|
|
<view class="left">首单全返</view>
|
|
<view class="right">收货立返</view>
|
|
</view>
|
|
</view>
|
|
<view class="money-buy">
|
|
<view class="money">¥ {{item.sell_price}}</view>
|
|
<view class="buy">点击购买</view>
|
|
</view>
|
|
</view>
|
|
<view class="small-txt" v-if="item.is_first_order_free">
|
|
收货全额返
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<image mode="widthFix" src="https://cdn.ibrand.cc/%E8%AF%B4%E6%98%8E.png"></image>
|
|
</view>
|
|
|
|
<!--固定的分享盒子-->
|
|
<view class="share-fixed" @tap="changeShare">
|
|
<view class="iconfont icon--fenxiang"></view>
|
|
<view class="txt">分享</view>
|
|
</view>
|
|
|
|
<!--弹出分享部分-->
|
|
<view class="maks share" :class="show_share ? 'cur' : ''" @tap="changeShare">
|
|
|
|
</view>
|
|
|
|
<view class="share-box" :class="show_share ? 'cur' : ''">
|
|
<button class="shaer-item" open-type="share">
|
|
分享给好友
|
|
</button>
|
|
<view class="shaer-item mx-1px-top" @tap="getShearImg">
|
|
生成海报
|
|
</view>
|
|
<view class="shaer-item clear" @tap="changeShare">
|
|
取消
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import {pageLogin, getUrl,config,is} from '@/common/js/utils.js';
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
goodsList: [],
|
|
show_share: false
|
|
};
|
|
},
|
|
|
|
onShareAppMessage(res) {
|
|
this.changeShare();
|
|
let agent_code = this.data.userInfo ? this.data.userInfo.agent_code || '' : '';
|
|
return {
|
|
title: '新人专享,不玩套路,不限金额,全额免单!',
|
|
// path: '/' + this.router + '?id=' + this.data.id,
|
|
path: `/pages/other/vip/vip?agent_code=${agent_code}`
|
|
};
|
|
},
|
|
|
|
onLoad(e) {
|
|
this.getSchemesList();
|
|
this.init(e);
|
|
},
|
|
|
|
components: {},
|
|
props: {},
|
|
methods: {
|
|
// 弹出分享
|
|
changeShare() {
|
|
this.setData({
|
|
show_share: !this.data.show_share
|
|
});
|
|
},
|
|
|
|
//获取商品列表
|
|
getSchemesList() {
|
|
wx.showLoading({
|
|
title: "加载中",
|
|
mask: true
|
|
});
|
|
sandBox.get({
|
|
api: 'api/free/goods/list'
|
|
}).then(res => {
|
|
if (res.statusCode == 200) {
|
|
res = res.data;
|
|
|
|
if (res.status) {
|
|
this.setData({
|
|
goodsList: res.data
|
|
});
|
|
} else {
|
|
wx.showModal({
|
|
content: res.message || '请求失败',
|
|
showCancel: false
|
|
});
|
|
}
|
|
|
|
wx.hideLoading();
|
|
} else {
|
|
wx.hideLoading();
|
|
wx.showModal({
|
|
content: '请求失败',
|
|
showCancel: false
|
|
});
|
|
}
|
|
}).catch(rej => {
|
|
wx.hideLoading();
|
|
wx.showModal({
|
|
content: '请求失败',
|
|
showCancel: false
|
|
});
|
|
});
|
|
},
|
|
|
|
//跳到详情页
|
|
jumpDetail(e) {
|
|
let id = e.currentTarget.dataset.id;
|
|
wx.navigateTo({
|
|
url: '/pages/store/detail/detail?id=' + id
|
|
});
|
|
},
|
|
|
|
getShearImg() {
|
|
wx.navigateTo({
|
|
url: '/pages/other/shareImg/shareImg'
|
|
});
|
|
},
|
|
|
|
// 获取初始化数据
|
|
init(e) {
|
|
var token = cookieStorage.get('user_token');
|
|
var agent_code = '';
|
|
|
|
if (e.agent_code) {
|
|
agent_code = e.agent_code;
|
|
}
|
|
|
|
if (e.scene) {
|
|
var scene = decodeURIComponent(e.scene);
|
|
var sceneArr = scene.split(',');
|
|
|
|
if (sceneArr.length > 0) {
|
|
agent_code = sceneArr[0];
|
|
}
|
|
}
|
|
|
|
sandBox.get({
|
|
api: 'api/system/init'
|
|
}).then(res => {
|
|
if (res.statusCode == 200) {
|
|
res = res.data;
|
|
|
|
if (res.status) {
|
|
cookieStorage.set('init_info', res.data.h5_share);
|
|
cookieStorage.set('service_info', res.data.online_service_data);
|
|
cookieStorage.set('distribution_valid_time', res.data.distribution_valid_time);
|
|
cookieStorage.set('init', res.data);
|
|
var service_info = cookieStorage.get('service_info');
|
|
this.setData({
|
|
service_info: service_info
|
|
});
|
|
this.setCode(e);
|
|
} else {
|
|
this.setCode(e);
|
|
}
|
|
} else {
|
|
this.setCode(e);
|
|
}
|
|
});
|
|
},
|
|
|
|
setCode(e) {
|
|
const timeMap = {
|
|
y: 31536000000,
|
|
m: 2592000000,
|
|
d: 86400000,
|
|
h: 3600000,
|
|
n: 60000,
|
|
s: 1000
|
|
}; // 默认有效期为7天
|
|
|
|
var valid_time = "";
|
|
var clerk_id = e.clerk_id || "";
|
|
var shop_id = e.shop_id || "";
|
|
var agent_code = e.agent_code || '';
|
|
|
|
if (e.scene) {
|
|
var scene = decodeURIComponent(e.scene);
|
|
var sceneArr = scene.split(',');
|
|
|
|
if (sceneArr.length > 0) {
|
|
agent_code = sceneArr[0];
|
|
}
|
|
}
|
|
|
|
var cook_shop_id = cookieStorage.get('shop_id');
|
|
|
|
if (!cookieStorage.get('distribution_valid_time')) {
|
|
valid_time = 10080;
|
|
} else {
|
|
valid_time = cookieStorage.get('distribution_valid_time');
|
|
}
|
|
|
|
console.log('这个是时间', valid_time);
|
|
let timeStamp = new Date().getTime();
|
|
timeStamp += timeMap.n * valid_time; // 当url上shop_id与缓存中shop_id不一致时,需要清除clerk_id。以此保证shop_id与clerk_id对应
|
|
|
|
var cook_clerk_id = cookieStorage.get('clerk_id');
|
|
|
|
if (cook_shop_id != shop_id && cook_clerk_id) {
|
|
cookieStorage.clear('clerk_id');
|
|
}
|
|
|
|
if (agent_code) {
|
|
cookieStorage.set('agent_code', agent_code, valid_time + 'n'); // 如果有agent_code就将这次进入的时间缓存
|
|
|
|
cookieStorage.set('agent_code_time', timeStamp, valid_time + 'n'); // 如果有agent_code并且有coupon_agent_code就将coupon_agent_code清除,保证agent_code为第一位
|
|
|
|
if (cookieStorage.get('coupon_agent_code')) {
|
|
cookieStorage.clear('coupon_agent_code');
|
|
}
|
|
}
|
|
|
|
if (clerk_id) {
|
|
cookieStorage.set('clerk_id', clerk_id, valid_time + 'n');
|
|
}
|
|
|
|
if (shop_id) {
|
|
cookieStorage.set('shop_id', shop_id, valid_time + 'n'); // 如果有shop_id就将这次进入的时间缓存
|
|
|
|
cookieStorage.set('shop_id_time', timeStamp, valid_time + 'n');
|
|
}
|
|
},
|
|
|
|
setData: function (obj) {
|
|
let that = this;
|
|
let keys = [];
|
|
let val, data;
|
|
Object.keys(obj).forEach(function (key) {
|
|
keys = key.split('.');
|
|
val = obj[key];
|
|
data = that.$data;
|
|
keys.forEach(function (key2, index) {
|
|
if (index + 1 == keys.length) {
|
|
that.$set(data, key2, val);
|
|
} else {
|
|
if (!data[key2]) {
|
|
that.$set(data, key2, {});
|
|
}
|
|
}
|
|
|
|
data = data[key2];
|
|
});
|
|
});
|
|
}
|
|
},
|
|
computed: {},
|
|
watch: {}
|
|
};
|
|
</script>
|
|
<style>
|
|
#vip-introduce .content-center image,#vip-introduce .content-top image{width:100%;vertical-align:middle}#vip-introduce .content-center{background-color:#DC9D72}#vip-introduce .content-center .imgs{padding:0 13px;box-sizing:border-box}#vip-introduce .content-center .goods-list{padding:5px 15px 15px}#vip-introduce .content-center .goods-list .item{display:flex;align-items:center;padding:15px;background-color:#FFF;position:relative}#vip-introduce .content-center .goods-list .item .small-txt{position:absolute;background-color:#CDA76E;color:#FFF;font-size:12px;top:0;left:0;padding:3px 15px}#vip-introduce .content-center .goods-list .item .left-box{width:90px;height:90px}#vip-introduce .content-center .goods-list .item .left-box image{width:100%;height:100%;vertical-align:middle}#vip-introduce .content-center .goods-list .item .right-box{flex:1;overflow:hidden;padding-left:15px}#vip-introduce .content-center .goods-list .item .right-box .name{color:#111;font-size:15px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:15px}#vip-introduce .content-center .goods-list .item .right-box .sale-box{display:flex;align-items:center;justify-content:center;border:1px solid #CDA76E;border-radius:14px;overflow:hidden;font-size:10px;width:50%;line-height:18px}#vip-introduce .content-center .goods-list .item .right-box .sale-box .left{color:#FFF;background-color:#CDA76E;flex:1;text-align:center}#vip-introduce .content-center .goods-list .item .right-box .sale-box .right{color:#CDA76E;background-color:#FFF;flex:1;text-align:center}#vip-introduce .content-center .goods-list .item .right-box .money-buy{margin-top:10px;display:flex;align-items:center;justify-content:space-between;font-size:16px;color:#FB5054}#vip-introduce .content-center .goods-list .item .right-box .buy{border-radius:12px;background-color:#E7031C;color:#FFF;font-size:13px;line-height:18px;padding:3px 16px}#vip-introduce .share-fixed{position:fixed;right:0;bottom:130px;width:50px;padding:6px 0 4px;background:linear-gradient(304deg,#ffcca4 0,#ecd0b8 100%);box-shadow:0 -4px 26px 0 rgba(0,0,0,.11);border-radius:4px;text-align:center;font-size:12px}#vip-introduce .share-fixed .iconfont{padding-bottom:3px}#vip-introduce .maks{position:fixed;bottom:0;width:100%;height:100%;z-index:40;background:rgba(0,0,0,.6);opacity:1;transition:opacity .3s ease;display:none}#vip-introduce .maks.share{background:0 0}#vip-introduce .maks.cur{display:block}#vip-introduce .share-box{background:#CDCDD1;position:fixed;bottom:0;width:100%;height:0;z-index:50;transition:all .3s linear}#vip-introduce .share-box .shaer-item{height:50px;line-height:50px;text-align:center;font-size:18px;color:#2E2D2D;background:#fff;border-radius:0}#vip-introduce .share-box .shaer-item:after{border:none}#vip-introduce .share-box .shaer-item.clear{margin-top:5px;color:#9B9B9B}#vip-introduce .share-box.cur{height:155px}
|
|
</style>
|