版本管理梳理
This commit is contained in:
parent
67969d5d1d
commit
9855984715
|
@ -0,0 +1,3 @@
|
|||
api1_1_0.js
|
||||
homepage1_1_0.css
|
||||
.vscode/settings.json
|
41
README.md
41
README.md
|
@ -1,37 +1,6 @@
|
|||
### 3 分钟了解如何进入开发
|
||||
test_1_1_0 白名单测试环境
|
||||
V1_1_0 白名单正式环境(即将正式发版)
|
||||
|
||||
欢迎使用云效 Codeup,通过阅读以下内容,你可以快速熟悉 Codeup ,并立即开始今天的工作。
|
||||
|
||||
### 提交**文件**
|
||||
|
||||
首先,你需要了解在 Codeup 中如何提交代码文件,跟着文档「[__提交第一行代码__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e7546fd9001aee81fd)」一起操作试试看吧。
|
||||
|
||||
### 开启扫描
|
||||
|
||||
开发过程中,为了更好的管理你的代码资产,Codeup 内置了「[__代码规约扫描__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e8546fd9001aee821c)」和「[__敏感信息检测__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e8546fd9001aee821b)」服务,你可以在代码库设置-集成与服务中一键开启,开启后提交或合并请求的变更将自动触发扫描,并及时提供结果反馈。
|
||||
|
||||
![](https://img.alicdn.com/tfs/TB1nRDatoz1gK0jSZLeXXb9kVXa-1122-380.png "")
|
||||
|
||||
![](https://img.alicdn.com/tfs/TB1PrPatXY7gK0jSZKzXXaikpXa-1122-709.png "")
|
||||
|
||||
### 代码评审
|
||||
|
||||
功能开发完毕后,通常你需要发起「[__代码合并和评审__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e8546fd9001aee8216)」,Codeup 支持多人协作的代码评审服务,你可以通过「[__保护分支__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e9546fd9001aee8221)」策略及「[__合并请求设置__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e9546fd9001aee8224)」对合并过程进行流程化管控,同时提供 WebIDE 在线代码评审及冲突解决能力,让你的评审过程更加流畅。
|
||||
|
||||
![](https://img.alicdn.com/tfs/TB1XHrctkP2gK0jSZPxXXacQpXa-1432-887.png "")
|
||||
|
||||
![](https://img.alicdn.com/tfs/TB1V3fctoY1gK0jSZFMXXaWcVXa-1432-600.png "")
|
||||
|
||||
### 编写文档
|
||||
|
||||
项目推进过程中,你的经验和感悟可以直接记录到 Codeup 代码库的「[__文档__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e8546fd9001aee8213)」内,让智慧可视化。
|
||||
|
||||
![](https://img.alicdn.com/tfs/TB1BN2ateT2gK0jSZFvXXXnFXXa-1432-700.png "")
|
||||
|
||||
### 成员协作
|
||||
|
||||
是时候邀请成员一起编写卓越的代码工程了,请点击右上角「成员」邀请你的小伙伴开始协作吧!
|
||||
|
||||
### 更多
|
||||
|
||||
Git 使用教学、高级功能指引等更多说明,参见[__Codeup帮助文档__](https://thoughts.aliyun.com/sharespace/5e8c37eb546fd9001aee8242/docs/5e8c37e6546fd9001aee81fa)。
|
||||
index.html: 入口文件
|
||||
homepage.html: 商品列表页面
|
||||
exchange.html 兑换页面
|
|
@ -0,0 +1,414 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover">
|
||||
<title>权益兑换页</title>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/vue.min.js?v=1367936144322" type="text/javascript"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
||||
</script>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/js/swiper.min.js"></script>
|
||||
<link href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/css/swiper.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_1_0.js"></script>
|
||||
<style>
|
||||
* {
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
font-family: HYQiHei;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 26.66666667vw;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="exchangePage">
|
||||
<div v-if="!suspension">
|
||||
<div class="about-good">
|
||||
<span>
|
||||
<img @click="backgoodsFn" v-if="backAble"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
</span>
|
||||
<img :src="goodsShow[0]" alt="" v-if="goodsShow.length<=1">
|
||||
<div class="swiper-container" v-else>
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="(item,i) in goodsShow" :key="i">
|
||||
<img :src="item" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ipt-acc" style="position: relative;z-index: 999;">
|
||||
<p v-if="acctype=='tel'"><span>账号:</span><input :type="acctype"
|
||||
onkeyup="this.value=this.value.replace(/\D/g,'')"
|
||||
onKeypress="return(/[\d]/.test(String.fromCharCode(event.keyCode)))" :maxlength="maxlen" v-model="account"
|
||||
:placeholder="placeholder" @focus="(e)=>focusFn(e)"></p>
|
||||
<p v-if="acctype=='tel'"><span>再次输入:</span> <input :type="acctype"
|
||||
onkeyup="this.value=this.value.replace(/\D/g,'')"
|
||||
onKeypress="return(/[\d]/.test(String.fromCharCode(event.keyCode)))" :maxlength="maxlen" v-model="reaccount"
|
||||
placeholder="请再次输入" @focus="(e)=>focusFn(e)"></p>
|
||||
<p v-if="acctype!='tel'"><span>账号:</span> <input :type="acctype" :maxlength="maxlen" v-model="account"
|
||||
:placeholder="placeholder" @focus="(e)=>focusFn(e)"></p>
|
||||
<p v-if="acctype!='tel'"><span>再次输入:</span><input :type="acctype" :maxlength="maxlen" v-model="reaccount"
|
||||
placeholder="请再次输入" @focus="(e)=>focusFn(e)"></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="bottom" id="bottom" v-show="describe.type||detailUrl">
|
||||
<img :src="detailUrl" v-show="detailUrl">
|
||||
<img :src="describe.bg_image" v-show="describe.type==1&&describe.bg_image">
|
||||
<div v-html="describe.content" class="goodsTip" v-show="describe.type==3&&describe.content"></div>
|
||||
</div>
|
||||
<button class="exchange-btn" :class="exchangeOpen?bgcolor:''"
|
||||
:style="{'background': exchangeOpen?bgcolor:'#D7D7D7','color':exchangeOpen?ftcolor:'#333'}"
|
||||
@click="exchangeGoodsFn">立即兑换</button>
|
||||
</div>
|
||||
<!-- 单条弹出框 -->
|
||||
<div class="prompt" :class="promtshow?'proactive':''">
|
||||
{{this.promttip}}
|
||||
</div>
|
||||
<!-- 弹出框 -->
|
||||
<div class="mask" v-if="maskshow">
|
||||
</div>
|
||||
|
||||
<!-- 悬浮提示 -->
|
||||
<div v-if="suspension" class="suspensionDom">
|
||||
<img @click="closeTip" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png"
|
||||
alt="">
|
||||
<h4>活动规则</h4>
|
||||
<div v-html="describe.content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<img class="susTip" @click="susTipFn" v-if="describe.type==2&&describe.content&&!suspension"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/acticeTextTip.png" alt="">
|
||||
<!-- 弹出框 -->
|
||||
<!-- 询问 -->
|
||||
<div class="popboxshow" v-if="popboxshow&&popboxtype=='兑换'" :class="popboxshow?'active':''">
|
||||
<div>
|
||||
<p v-if="acctype=='tel'">是否为账号{{this.account}}兑换{{this.proname}}会员?</p>
|
||||
<p v-if="acctype=='text'">是否兑换{{this.proname}}会员?</p>
|
||||
<span @click="surexchangeBtn">确认兑换</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 弹出提示 -->
|
||||
<div class="popboxshow" v-if="popboxshow&&popboxtype=='提示'" :class="popboxshow?'active':''">
|
||||
<div class="tip">
|
||||
<p>{{tiptext}}</p>
|
||||
<span @click="successchangeBtn">知道了</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 成功 -->
|
||||
<div class="popboxshow successbox" v-if="popboxshow&&popboxtype=='成功'" :class="popboxshow?'active':''">
|
||||
<div>
|
||||
<p>{{this.successTip}}</p>
|
||||
<span @click="successchangeBtnFn">我知道啦</span>
|
||||
</div>
|
||||
</div>
|
||||
<img v-if="popboxshow&&popboxtype!='成功'" class="closed"
|
||||
src="http://lsxd-customcard-h5.oss-cn-hangzhou.aliyuncs.com/cardpwd/img/commimgs/close.png" alt=""
|
||||
@click="closeBtn()">
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#exchangePage',
|
||||
data() {
|
||||
return {
|
||||
account: '',
|
||||
reaccount: '',
|
||||
maxlen: 11,
|
||||
acctype: 'tel',
|
||||
promttip: '',
|
||||
promtshow: false,
|
||||
productType: 0,
|
||||
proname: '',
|
||||
placeholder: '',
|
||||
maskshow: false,
|
||||
popboxshow: false,
|
||||
exchangeOpen: false,
|
||||
suspension: false,
|
||||
popboxtype: '',
|
||||
describe: {},
|
||||
detailUrl:'',
|
||||
successTip: '',
|
||||
goodInfo: '',
|
||||
bgcolor: '',
|
||||
ftcolor: '',
|
||||
backAble:true,
|
||||
goodsShow: [
|
||||
'https://lsxd-yunshanfu.oss-cn-hangzhou.aliyuncs.com/common_image/20220120/9bedd7af6a8a570be8f2858564f9ec6d.png'
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let self = this;
|
||||
document.title = sessionStorage.getItem('title');
|
||||
let detailsConfig = JSON.parse(sessionStorage.getItem('product_detail'));
|
||||
let goodsCount=sessionStorage.getItem('goodsCount');
|
||||
this.backAble=goodsCount>1;
|
||||
this.bgcolor = detailsConfig.button_color;
|
||||
this.bgcolor = '#f00'
|
||||
this.ftcolor = detailsConfig.font_color;
|
||||
this.describe = detailsConfig.describe;
|
||||
let goodsInform=JSON.parse(sessionStorage.getItem('goodsInfo'));//商品信息
|
||||
this.goodInfo = goodsInform;
|
||||
let goods_desc=goodsInform.describe_url;
|
||||
this.goodsShow = goods_desc.length>0?goods_desc:[JSON.parse(sessionStorage.getItem('goodsInfo')).show_url];
|
||||
this.detailUrl=goodsInform.detail_url?goodsInform.detail_url:'';
|
||||
this.productType = JSON.parse(sessionStorage.getItem('goodsInfo')).account_type;
|
||||
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper('.swiper-container', {
|
||||
loop: true, // 循环模式选项
|
||||
autoplay: 3000, //可选选项,自动滑动
|
||||
pagination: '.swiper-pagination',
|
||||
})
|
||||
console.log(123, document.querySelector('.swiper-container'));
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
backgoodsFn() {
|
||||
let goodsCount=sessionStorage.getItem('goodsCount');
|
||||
if(goodsCount>1){
|
||||
// window.location.replace(document.referrer);
|
||||
window.location.replace('./homepage.html');
|
||||
}else{
|
||||
history.go(-2);
|
||||
}
|
||||
// window.location.replace(document.referrer);
|
||||
},
|
||||
closeTip() {
|
||||
this.suspension = false;
|
||||
},
|
||||
susTipFn() {
|
||||
this.suspension = true;
|
||||
},
|
||||
// 单条弹框
|
||||
openDialog() {
|
||||
this.promtshow = true;
|
||||
setTimeout(() => {
|
||||
this.promtshow = false;
|
||||
this.promttip = '';
|
||||
}, 3000)
|
||||
},
|
||||
//刷新页面
|
||||
successchangeBtnFn() {
|
||||
console.log(window);
|
||||
window.location.replace(document.referrer);
|
||||
},
|
||||
//兑换商品
|
||||
exchangeGoodsFn() {
|
||||
if (!this.account) {
|
||||
this.promttip = '请输入兑换账号!'
|
||||
this.openDialog();
|
||||
return false;
|
||||
} else {
|
||||
let namereg = /\w{4}/.test(this.account);
|
||||
let phonereg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(this.account);
|
||||
let qqreg = /^[1-9][0-9]{4,9}$/.test(this.account);
|
||||
let emailsreg = /^[A-Za-z0-9\u4e00-\u9fa5\.]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(this.account);
|
||||
let weixinreg = /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/.test(this.account);
|
||||
let regflag = true;
|
||||
if (this.productType == 0) {
|
||||
this.placeholder = "请输入昵称";
|
||||
regflag = namereg;
|
||||
} else if (this.productType == 1) {
|
||||
regflag = phonereg;
|
||||
} else if (this.productType == 2) {
|
||||
regflag = emailsreg;
|
||||
} else if (this.productType == 3) {
|
||||
regflag = phonereg || emailsreg;
|
||||
} else if (this.productType == 4) {
|
||||
regflag = qqreg;
|
||||
} else if (this.productType == 5) {
|
||||
regflag = phonereg || qqreg;
|
||||
} else if (this.productType == 6) {
|
||||
regflag = emailsreg || qqreg;
|
||||
} else if (this.productType == 7) {
|
||||
regflag = phonereg || emailsreg || qqreg;
|
||||
} else if (this.productType == 8) {
|
||||
regflag = weixinreg;
|
||||
} else if (this.productType == 9) {
|
||||
regflag = phonereg || weixinreg;
|
||||
} else if (this.productType == 10) {
|
||||
regflag = emailsreg || weixinreg;
|
||||
} else if (this.productType == 11) {
|
||||
regflag = phonereg || emailsreg || weixinreg;
|
||||
} else if (this.productType == 12) {
|
||||
regflag = qqreg || weixinreg;;
|
||||
} else if (this.productType == 13) {
|
||||
regflag = phonereg || qqreg || weixinreg;
|
||||
} else if (this.productType == 14) {
|
||||
this.placeholder = "请输入邮箱/QQ号/微信号";
|
||||
regflag = emailsreg || qqreg || weixinreg;
|
||||
} else {
|
||||
this.placeholder = "请输入手机号/邮箱/QQ号/微信号";
|
||||
regflag = phonereg || emailsreg || qqreg || weixinreg;
|
||||
}
|
||||
if (!regflag) {
|
||||
this.promttip = "充值账号格式不正确!"
|
||||
this.openDialog();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (this.reaccount == "") {
|
||||
this.promttip = "请再次输入账号!";
|
||||
this.openDialog();
|
||||
return false;
|
||||
}
|
||||
if (this.account != this.reaccount) {
|
||||
this.promttip = "两次输入的账号必须一致!";
|
||||
this.reaccount == ""
|
||||
this.openDialog();
|
||||
return false;
|
||||
}
|
||||
this.maskshow = true;
|
||||
this.popboxshow = true;
|
||||
this.popboxtype = '兑换';
|
||||
},
|
||||
//确定兑换
|
||||
surexchangeBtn() {
|
||||
let self = this;
|
||||
let data = {
|
||||
"key": sessionStorage.getItem('key'),
|
||||
"product_id": this.goodInfo.product_id,
|
||||
"account": this.account,
|
||||
"code_batch_id": this.goodInfo.code_batch_id,
|
||||
"token": sessionStorage.getItem('token')
|
||||
}
|
||||
req.axiosPostusage('/key/usage', data).then(res => {
|
||||
sessionStorage.setItem('lastid', self.goodInfo.product_id);
|
||||
if (res.code == 200) {
|
||||
// 查询订单接口
|
||||
this.popboxtype = '成功';
|
||||
this.popboxshow = true;
|
||||
this.successTip = '兑换成功,请直接登录app使用!';
|
||||
} else {
|
||||
this.popboxtype = '提示';
|
||||
this.popboxshow = true;
|
||||
this.tiptext = res.message;
|
||||
if (res.code == -1) {
|
||||
let goodsCount=sessionStorage.getItem('goodsCount');
|
||||
if(goodsCount>1){
|
||||
setTimeout(() => {
|
||||
// window.location.replace(document.referrer);
|
||||
window.location.replace('./homepage.html');
|
||||
}, 3000);
|
||||
}else{
|
||||
let backUrl=window.history.length;
|
||||
if(backUrl){
|
||||
history.go(-backUrl+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
|
||||
});
|
||||
},
|
||||
//关闭弹出框,仅关闭弹框
|
||||
successchangeBtn() {
|
||||
this.maskshow = false;
|
||||
this.popboxshow = false;
|
||||
this.account = "";
|
||||
this.reaccount = "";
|
||||
},
|
||||
focusFn(a) {
|
||||
let ele = document.querySelector('.ipt-acc');
|
||||
setTimeout(function () {
|
||||
ele.scrollIntoView(false);
|
||||
// console.log(123,ele.scrollHeight);
|
||||
document.body.scrollTop = ele.scrollHeight;
|
||||
document.documentElement.scrollTop = ele.scrollHeight;
|
||||
}, 400);
|
||||
},
|
||||
//关闭,关闭弹框
|
||||
closeBtn() {
|
||||
this.popboxshow = false;
|
||||
this.maskshow = false;
|
||||
this.account = "";
|
||||
this.reaccount = "";
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
account() {
|
||||
if (this.account == this.reaccount) {
|
||||
this.exchangeOpen = true;
|
||||
}
|
||||
},
|
||||
reaccount() {
|
||||
if (this.account == this.reaccount) {
|
||||
this.exchangeOpen = true;
|
||||
}
|
||||
},
|
||||
productType: {
|
||||
immediate: true,
|
||||
handler(newVal) {
|
||||
this.maxlen = 50;
|
||||
this.acctype = "text";
|
||||
if (newVal == 0) {
|
||||
this.placeholder = "请输入昵称";
|
||||
} else if (newVal == 1) {
|
||||
this.acctype = "tel";
|
||||
this.placeholder = "请输入手机号";
|
||||
this.maxlen = 11;
|
||||
} else if (newVal == 2) {
|
||||
this.placeholder = "请输入邮箱";
|
||||
} else if (newVal == 3) {
|
||||
this.placeholder = "请输入手机号或邮箱";
|
||||
} else if (newVal == 4) {
|
||||
this.placeholder = "请输入QQ号";
|
||||
this.acctype = "tel";
|
||||
this.maxlen = 10;
|
||||
} else if (newVal == 5) {
|
||||
this.placeholder = "请输入手机号或QQ号";
|
||||
this.maxlen = 11;
|
||||
this.acctype = "tel";
|
||||
} else if (newVal == 6) {
|
||||
this.placeholder = "请输入邮箱或QQ号";
|
||||
} else if (newVal == 7) {
|
||||
this.placeholder = "请输入手机号/邮箱/QQ号";
|
||||
} else if (newVal == 8) {
|
||||
this.placeholder = "请输入微信号";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 9) {
|
||||
this.placeholder = "请输入手机号或微信";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 10) {
|
||||
this.placeholder = "请输入邮箱或微信号";
|
||||
} else if (newVal == 11) {
|
||||
this.placeholder = "请输入手机号/邮箱/微信号";
|
||||
} else if (newVal == 12) {
|
||||
this.placeholder = "请输入QQ号或微信号";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 13) {
|
||||
this.placeholder = "请输入手机号/QQ号/微信号";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 14) {
|
||||
this.placeholder = "请输入邮箱/QQ号/微信号";
|
||||
} else {
|
||||
this.placeholder = "请输入手机号/邮箱/QQ号/微信号";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
</html>
|
|
@ -12,10 +12,9 @@
|
|||
</script>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/js/swiper.min.js"></script>
|
||||
<link href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/css/swiper.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1.css">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<!-- <script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_1.js"></script> -->
|
||||
<script src="./api1_1.js"></script>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_1_0.js"></script>
|
||||
</head>
|
||||
<style scoped>
|
||||
* {
|
||||
|
@ -63,7 +62,7 @@
|
|||
<div id="rotation" v-if="layout=='2'">
|
||||
<!-- 顶部banner -->
|
||||
<div class="topBanner">
|
||||
<img class="backpresty" @click="backgoodsFn"
|
||||
<img class="backpresty" @click="backgoodsFn" v-if="goodsShow&&!iskey"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
<img :src="topImg" alt="">
|
||||
</div>
|
||||
|
@ -99,15 +98,15 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 立即兑换 -->
|
||||
<div class="exchangeBtn" :class="gstatus!=1?'noexchangeBtn':describe.type?'bottomBtn':''" :style="{'background': bgcolor,'color':ftcolor}"
|
||||
@click="exchangeBtn()">
|
||||
<div class="exchangeBtn" :class="gstatus!=1?'noexchangeBtn':describe.type&&describe.type!=2?'bottomBtn':''"
|
||||
:style="{'background': bgcolor,'color':ftcolor}" @click="exchangeBtn()">
|
||||
立即兑换
|
||||
</div>
|
||||
</div>
|
||||
<!-- 列表 -->
|
||||
<div id="list" v-if="layout=='1'">
|
||||
<div class="topBanner">
|
||||
<img class="backpresty" @click="backgoodsFn"
|
||||
<img class="backpresty" @click="backgoodsFn" v-if="goodsShow&&!iskey"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
<img :src="topImg" alt="">
|
||||
</div>
|
||||
|
@ -132,7 +131,7 @@
|
|||
<!-- 矩阵 -->
|
||||
<div id="matrix" v-if="layout=='3'">
|
||||
<div class="topBanner">
|
||||
<img class="backpresty" @click="backgoodsFn"
|
||||
<img class="backpresty" @click="backgoodsFn" v-if="goodsShow&&!iskey"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
<img :src="topImg" alt="">
|
||||
|
||||
|
@ -161,14 +160,15 @@
|
|||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bottom" id="bottom" :class="layout==2?'tipset':''" v-show="describe.type">
|
||||
<div class="bottom" id="bottom" :class="layout==2?'tipset':''" v-show="describe.type">
|
||||
<img :src="describe.bg_image" v-show="describe.type==1&&describe.bg_image">
|
||||
<div v-html="describe.content" class="goodsTip" v-show="describe.type==3&&describe.content"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 悬浮提示 -->
|
||||
<!-- 悬浮提示 -->
|
||||
<div v-if="suspension" class="suspensionDom">
|
||||
<img @click="closeTip" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
<img @click="closeTip" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png"
|
||||
alt="">
|
||||
<h4>活动规则</h4>
|
||||
<div v-html="describe.content">
|
||||
|
||||
|
@ -177,7 +177,8 @@
|
|||
<!-- 弹出框 -->
|
||||
<div class="mask" v-if="maskshow">
|
||||
</div>
|
||||
<img class="susTip" @click="susTipFn" v-if="describe.type==2&&describe.content&&!suspension&&!loading" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/acticeTextTip.png" alt="">
|
||||
<img class="susTip" @click="susTipFn" v-if="describe.type==2&&describe.content&&!suspension&&!loading"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/acticeTextTip.png" alt="">
|
||||
<!-- 单条弹出框 -->
|
||||
<div class="prompt" :class="promtshow?'proactive':''">
|
||||
{{this.promttip}}
|
||||
|
@ -215,7 +216,7 @@
|
|||
loading: true,
|
||||
lastid: 0,
|
||||
gstatus: 1,
|
||||
suspension:false,
|
||||
suspension: false,
|
||||
popboxshow: false,
|
||||
popboxtype: '兑换',
|
||||
topImg: '',
|
||||
|
@ -225,7 +226,9 @@
|
|||
bgcolor: '',
|
||||
describe: {},
|
||||
ftcolor: '',
|
||||
allgoods:[],
|
||||
iskey:true,
|
||||
allgoods: [],
|
||||
showType:0,
|
||||
tiptext: '还没开始哟,兑换时间为2021-12-05 12:12:12至2021-01-01 12:12:12',
|
||||
successTip: '兑换成功,请直接登录app使用!'
|
||||
}
|
||||
|
@ -238,23 +241,26 @@
|
|||
this.topImg = productConfig.top_image;
|
||||
document.title = sessionStorage.getItem('title');
|
||||
this.layout = productConfig.list;
|
||||
this.iskey=sessionStorage.getItem('haskey');
|
||||
this.describe = productConfig.describe;
|
||||
},
|
||||
methods: {
|
||||
closeTip(){
|
||||
this.suspension=false;
|
||||
closeTip() {
|
||||
this.suspension = false;
|
||||
},
|
||||
susTipFn(){
|
||||
this.suspension=true;
|
||||
susTipFn() {
|
||||
this.suspension = true;
|
||||
},
|
||||
onSelected(item) {
|
||||
this.exchangeCommity = item;
|
||||
this.gstatus = item.available;
|
||||
},
|
||||
backgoodsFn() {
|
||||
window.history.back();
|
||||
let backUrl=window.history.length;
|
||||
if(window.history.length){
|
||||
history.go(-backUrl+1);
|
||||
}
|
||||
},
|
||||
|
||||
// 单条弹框
|
||||
openDialog() {
|
||||
this.promtshow = true;
|
||||
|
@ -264,248 +270,158 @@
|
|||
}, 3000)
|
||||
},
|
||||
//根据token获取商品信息
|
||||
getGoods() {
|
||||
async getGoods() {
|
||||
let self = this;
|
||||
let showType=sessionStorage.getItem('showType');
|
||||
let showType = sessionStorage.getItem('showType');
|
||||
this.showType=showType;
|
||||
let data = {
|
||||
"last_product_id": sessionStorage.getItem('lastid') | 0,
|
||||
}
|
||||
if(showType==1){//白名单
|
||||
let tokenList=JSON.parse(sessionStorage.getItem('getTokenList'));
|
||||
// let goodsList=[];
|
||||
tokenList.forEach(item=>{
|
||||
data.token=item.token;
|
||||
req.axiosPostproducts('/key/products', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
res.data.forEach(it=>{
|
||||
it.token=item.token;
|
||||
});
|
||||
// goodsList=goodsList.concat(res.data);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
let duplicate=[];
|
||||
setTimeout(() => {
|
||||
// this.allgoods=goodsList;
|
||||
let goodsArr=[];
|
||||
let goodsList=[
|
||||
{
|
||||
"code_batch_id": 1440,
|
||||
"available":2,
|
||||
"product_id": 104,
|
||||
"product_type": 1,
|
||||
"product_name": "优酷年卡第一",
|
||||
"map_product_name": "优酷年卡",
|
||||
"account_type": 5,
|
||||
"contract_price": "100.0000",
|
||||
"official_price": "198.0000",
|
||||
"quantity": 20,
|
||||
"stock": 20,
|
||||
"show_url": "https://lsxdemall.oss-cn-beijing.aliyuncs.com/commonproductlogo/youku.png",
|
||||
"describe_url": "",
|
||||
"begin_time": "2022-01-18 09:39:35",
|
||||
"end_time": "2022-01-18 23:59:59",
|
||||
|
||||
"exchange": 0,
|
||||
"key": "AAAAUERhrBvgg8B1",
|
||||
"token": "03cbdaf3d9e29212a1552ec0f4daab32"
|
||||
},
|
||||
{
|
||||
"code_batch_id": 1441,
|
||||
"available": 1,
|
||||
"product_id": 103,
|
||||
"product_type": 1,
|
||||
"product_name": "优酷季卡",
|
||||
"map_product_name": "优酷季卡",
|
||||
"account_type": 15,
|
||||
"contract_price": "60.0000",
|
||||
"official_price": "56.0000",
|
||||
"quantity": 40,
|
||||
"stock": 40,
|
||||
"show_url": "https://lsxdemall.oss-cn-beijing.aliyuncs.com/commonproductlogo/youku.png",
|
||||
"describe_url": "",
|
||||
"begin_time": "2022-01-18 09:39:35",
|
||||
"end_time": "2022-01-18 23:59:59",
|
||||
|
||||
"exchange": 0,
|
||||
"key": "AAAAUERhrBvgg8B1",
|
||||
"token": "03cbdaf3d9e29212a1552ec0f4daab32"
|
||||
},
|
||||
{
|
||||
"code_batch_id": 1442,
|
||||
"available": 1,
|
||||
"product_id": 107,
|
||||
"product_type": 1,
|
||||
"product_name": "爱奇艺黄金会员月卡",
|
||||
"map_product_name": "爱奇艺黄金会员月卡",
|
||||
"account_type": 15,
|
||||
"contract_price": "60.0000",
|
||||
"official_price": "19.8000",
|
||||
"quantity": 20,
|
||||
"stock": 20,
|
||||
"show_url": "https://lsxd-yunshanfu.oss-cn-hangzhou.aliyuncs.com/common_image/20220118/ade7159cee476f41323f64ecaf87127a.png",
|
||||
"describe_url": "",
|
||||
"begin_time": "2022-01-18 09:39:35",
|
||||
"end_time": "2022-01-18 23:59:59",
|
||||
|
||||
"exchange": 0,
|
||||
"key": "AAAAUERhrBvgg8B1",
|
||||
"token": "03cbdaf3d9e29212a1552ec0f4daab32"
|
||||
},
|
||||
{
|
||||
"code_batch_id": 1442,
|
||||
"available": 1,
|
||||
"product_id": 116,
|
||||
"product_type": 1,
|
||||
"product_name": "腾讯视频会员季卡",
|
||||
"map_product_name": "腾讯视频会员季卡",
|
||||
"account_type": 5,
|
||||
"contract_price": "50.0000",
|
||||
"official_price": "58.0000",
|
||||
"quantity": 20,
|
||||
"stock": 20,
|
||||
"show_url": "https://lsxdemall.oss-cn-beijing.aliyuncs.com/commonproductlogo/tenxun.png",
|
||||
"describe_url": "",
|
||||
"begin_time": "2022-01-18 09:39:35",
|
||||
"end_time": "2022-01-18 23:59:59",
|
||||
|
||||
"exchange": 0,
|
||||
"key": "AAAAUERhrBvgg8B1",
|
||||
"token": "03cbdaf3d9e29212a1552ec0f4daab32"
|
||||
},{
|
||||
"code_batch_id": 1440,
|
||||
"available":5,
|
||||
"product_id": 104,
|
||||
"product_type": 1,
|
||||
"product_name": "优酷年卡第一基带升级的",
|
||||
"map_product_name": "优酷年卡",
|
||||
"account_type": 5,
|
||||
"contract_price": "100.0000",
|
||||
"official_price": "198.0000",
|
||||
"quantity": 20,
|
||||
"stock": 20,
|
||||
"show_url": "https://lsxdemall.oss-cn-beijing.aliyuncs.com/commonproductlogo/youku.png",
|
||||
"describe_url": "",
|
||||
"begin_time": "2022-01-18 09:39:35",
|
||||
"end_time": "2022-01-18 23:59:59",
|
||||
|
||||
"exchange": 0,
|
||||
"key": "AAAAUERhrBvgg8B1",
|
||||
"token": "03cbdaf3d9e29212a1552ec0f4daab32"
|
||||
}
|
||||
];
|
||||
goodsList.forEach(item=>{
|
||||
if(duplicate.indexOf(item.product_id)==-1){
|
||||
duplicate.push(item.product_id);
|
||||
}
|
||||
});
|
||||
let result=[]
|
||||
duplicate.forEach(it=>{
|
||||
result=goodsList.filter(iten=>{//goodshow为去重后的数据
|
||||
return iten.product_id==it;
|
||||
});
|
||||
console.log('结果集合',result);
|
||||
let flag=[1,2,6,8,7,5,4,3];
|
||||
let minIndex = 7;
|
||||
result.forEach(item=>{
|
||||
let flagIndex=flag.indexOf(item.available);
|
||||
if(flagIndex > -1)
|
||||
{
|
||||
if(flagIndex < minIndex)
|
||||
minIndex = flagIndex;
|
||||
}
|
||||
})
|
||||
let obj = result.find((o)=>{return o.available ==flag[minIndex] })
|
||||
console.log("查找",obj)
|
||||
goodsArr.push(obj);
|
||||
});
|
||||
console.log(537,goodsArr);
|
||||
}, 1000);
|
||||
|
||||
|
||||
// self.maskshow = true;
|
||||
// self.popboxtype = '提示';
|
||||
// self.popboxshow = true;
|
||||
// self.tiptext = res.message;
|
||||
// if (res.code == -1) {
|
||||
// let haskey = sessionStorage.getItem('haskey');
|
||||
// if (haskey) {
|
||||
// setTimeout(() => {
|
||||
// // window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId')+'&';
|
||||
// window.history.back();
|
||||
// // sessionStorage.clear();
|
||||
// }, 3000);
|
||||
// } else {
|
||||
// setTimeout(() => {
|
||||
// window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId');
|
||||
// // sessionStorage.clear();
|
||||
// }, 3000);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }).catch(err => {
|
||||
|
||||
}else{
|
||||
data.token=sessionStorage.getItem('token')
|
||||
req.axiosPostproducts('/key/products', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
self.swiperDataList = res.data;
|
||||
self.goodsShow = res.data.length > 1;
|
||||
if (res.data && res.data.length == 1) {
|
||||
window.location.href = "./exchange.html";
|
||||
sessionStorage.setItem('goodsInfo', JSON.stringify(res.data[0]));
|
||||
return false;
|
||||
}
|
||||
if (res.data && res.data.length > 1) {
|
||||
self.goodsNum = true;
|
||||
self.onSelected(res.data[0])
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper('.swiper-container', {
|
||||
slidesPerView: "auto",
|
||||
loopAdditionalSlides: 1000,
|
||||
centeredSlides: true,
|
||||
observer: true,
|
||||
observeParents: true,
|
||||
loop: self.goodsShow,
|
||||
onSlideChangeEnd: function (swiper) {
|
||||
let row = res.data[swiper.realIndex];
|
||||
self.onSelected(res.data[swiper.realIndex])
|
||||
}
|
||||
})
|
||||
})
|
||||
setTimeout(() => {
|
||||
self.loading = false;
|
||||
}, 100);
|
||||
} else {
|
||||
self.goodsNum = false;
|
||||
}
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.popboxtype = '提示';
|
||||
self.popboxshow = true;
|
||||
self.tiptext = res.message;
|
||||
if (res.code == -1) {
|
||||
let haskey = sessionStorage.getItem('haskey');
|
||||
if (haskey) {
|
||||
if (showType == 1) { //白名单
|
||||
let tokenList = JSON.parse(sessionStorage.getItem('getTokenList'));
|
||||
let goodsList = [];
|
||||
for (item of tokenList) {
|
||||
let goodsItem = [];
|
||||
data.token = item;
|
||||
let waitGoods = await req.axiosPostproducts('/key/products', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
res.data.forEach(it => {
|
||||
it.token = item;
|
||||
});
|
||||
goodsItem = res.data;
|
||||
}else{
|
||||
self.maskshow = true;
|
||||
self.popboxtype = '提示';
|
||||
self.popboxshow = true;
|
||||
self.tiptext = res.message;
|
||||
if (res.code == -1) {
|
||||
setTimeout(() => {
|
||||
// window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId')+'&';
|
||||
window.history.back();
|
||||
// sessionStorage.clear();
|
||||
}, 3000);
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId');
|
||||
// sessionStorage.clear();
|
||||
window.location.href = sessionStorage.getItem('white_link');
|
||||
}, 3000);
|
||||
}
|
||||
}
|
||||
});
|
||||
goodsList = goodsList.concat(goodsItem);
|
||||
};
|
||||
let duplicate = []; //去重
|
||||
let goodsArr = []; //最终的商品集合
|
||||
goodsList.forEach(item => {
|
||||
if (duplicate.indexOf(item.product_id) == -1) {
|
||||
duplicate.push(item.product_id);
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
});
|
||||
let similar = []
|
||||
duplicate.forEach(it => {
|
||||
similar = goodsList.filter(iten => { //goodshow为去重后的数据
|
||||
return iten.product_id == it;
|
||||
});
|
||||
let flag = [1, 2, 6, 8, 7, 5, 4, 3]; //显示的avarivble规则
|
||||
let minIndex = 7;
|
||||
similar.forEach(item => {
|
||||
let flagIndex = flag.indexOf(item.available);
|
||||
if (flagIndex > -1) {
|
||||
if (flagIndex < minIndex)
|
||||
minIndex = flagIndex;
|
||||
}
|
||||
})
|
||||
let obj = similar.find((o) => {
|
||||
return o.available == flag[minIndex]
|
||||
})
|
||||
goodsArr.push(obj);
|
||||
});
|
||||
|
||||
});
|
||||
self.swiperDataList = goodsArr;
|
||||
self.goodsShow = goodsArr.length > 1;
|
||||
sessionStorage.setItem('goodsCount', goodsArr.length);
|
||||
if (goodsArr && goodsArr.length == 1&&goodsArr[0].available==1) {
|
||||
sessionStorage.setItem('goodsInfo', JSON.stringify(goodsArr[0]));
|
||||
sessionStorage.setItem('key',goodsArr[0].key);
|
||||
sessionStorage.setItem('token',goodsArr[0].token);
|
||||
// window.location.href = "./exchange.html";
|
||||
window.location.replace("./exchange.html");
|
||||
return false;
|
||||
}else if(goodsArr && goodsArr.length >= 1) {
|
||||
self.goodsNum = true;
|
||||
self.onSelected(goodsArr[0])
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper('.swiper-container', {
|
||||
slidesPerView: "auto",
|
||||
loopAdditionalSlides: 1000,
|
||||
centeredSlides: true,
|
||||
observer: true,
|
||||
observeParents: true,
|
||||
loop: self.goodsShow,
|
||||
onSlideChangeEnd: function (swiper) {
|
||||
let row = goodsArr[swiper.realIndex];
|
||||
self.onSelected(goodsArr[swiper.realIndex])
|
||||
}
|
||||
})
|
||||
})
|
||||
setTimeout(() => {
|
||||
self.loading = false;
|
||||
}, 100);
|
||||
} else {
|
||||
self.goodsNum = false;
|
||||
}
|
||||
}else {//兑换码
|
||||
data.token = sessionStorage.getItem('token')
|
||||
req.axiosPostproducts('/key/products', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
self.swiperDataList = res.data;
|
||||
sessionStorage.setItem('goodsCount',res.data.length);
|
||||
self.goodsShow = res.data.length > 1;
|
||||
if (res.data && res.data.length == 1&&res.data[0].available==1) {
|
||||
sessionStorage.setItem('goodsInfo', JSON.stringify(res.data[0]));
|
||||
// window.location.href = "./exchange.html";
|
||||
window.location.replace("./exchange.html");
|
||||
return false;
|
||||
}else if(res.data && res.data.length >= 1) {
|
||||
self.goodsNum = true;
|
||||
self.onSelected(res.data[0])
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper('.swiper-container', {
|
||||
slidesPerView: "auto",
|
||||
loopAdditionalSlides: 1000,
|
||||
centeredSlides: true,
|
||||
observer: true,
|
||||
observeParents: true,
|
||||
loop: self.goodsShow,
|
||||
onSlideChangeEnd: function (swiper) {
|
||||
let row = res.data[swiper.realIndex];
|
||||
self.onSelected(res.data[swiper.realIndex])
|
||||
}
|
||||
})
|
||||
})
|
||||
setTimeout(() => {
|
||||
self.loading = false;
|
||||
}, 100);
|
||||
}
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.popboxtype = '提示';
|
||||
self.popboxshow = true;
|
||||
self.tiptext = res.message;
|
||||
if (res.code == -1) {
|
||||
let haskey = sessionStorage.getItem('haskey');
|
||||
if (haskey) {
|
||||
setTimeout(() => {
|
||||
// window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId')+'&';
|
||||
window.history.back();
|
||||
// sessionStorage.clear();
|
||||
}, 3000);
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId');
|
||||
// sessionStorage.clear();
|
||||
}, 3000);
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
//选择商品点击兑换
|
||||
exchangeBtn(row = this.exchangeCommity) {
|
||||
|
@ -513,8 +429,13 @@
|
|||
this.gstatus = gstatus;
|
||||
if (gstatus == 1) {
|
||||
// 跳转商品详情页面
|
||||
if(this.showType==1){//白名单
|
||||
sessionStorage.setItem('token',row.token);
|
||||
sessionStorage.setItem('key',row.key);
|
||||
}
|
||||
sessionStorage.setItem('goodsInfo', JSON.stringify(row));
|
||||
window.location.href = './exchange.html';
|
||||
// window.location.href = './exchange.html';
|
||||
window.location.replace("./exchange.html");
|
||||
|
||||
// this.maskshow = true;
|
||||
// this.proname = row.product_name;
|
|
@ -0,0 +1,377 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover">
|
||||
<title>权益兑换页</title>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/vue.min.js?v=1367936144322" type="text/javascript"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
||||
</script>
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_1_0.js"></script>
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
</head>
|
||||
|
||||
<style scoped>
|
||||
html {
|
||||
font-size: 26.66666667vw;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
font-size: .14rem;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<body>
|
||||
<div id="app" :style={background:bgcolor}>
|
||||
<!-- 单条弹出框 -->
|
||||
<div class="prompt" :class="promtshow?'proactive':''">
|
||||
{{this.promttip}}
|
||||
</div>
|
||||
<!-- 弹出提示 -->
|
||||
<div class="mask" v-if="maskshow"></div>
|
||||
<div class="popboxshow" v-if="popboxshow" :class="popboxshow?'active':''">
|
||||
<div class="tip">
|
||||
<p class="yettip">{{tiptext}}</p>
|
||||
<span @click="successchangeBtn" class="yetexchange">知道了</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="um-content" v-if="loading">
|
||||
<div class="spinner">
|
||||
<div class="spinner-container container1">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
<div class="spinner-container container2">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
<div class="spinner-container container3">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="!loading">
|
||||
<div class="top">
|
||||
<img :src="topImg" id="top">
|
||||
</div>
|
||||
<div class="center" id="center">
|
||||
<img :src="middleImg" style="position: absolute;z-index: 1;" id="center_img">
|
||||
<input class="key" :maxlength="16" v-if="pageType==3" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入兑换码"
|
||||
v-model="key" />
|
||||
<input class="code" :maxlength="5" v-if="pageType==3" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入验证码"
|
||||
v-model="code" />
|
||||
|
||||
<input class="key" :maxlength="11" v-if="pageType==1" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入手机号"
|
||||
v-model="key" />
|
||||
<input class="code" :maxlength="6" v-if="pageType==1" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入验证码"
|
||||
v-model="code" />
|
||||
|
||||
<img src="#" alt="" class="codeimg" v-if="pageType==3" id="captcha_img" @click="changeyzmFn()" />
|
||||
<button class="codeimg" :class="disabled?'disabledstyle':'active'" v-if="pageType==1" @click="getcode()"
|
||||
:disabled="disabled">{{codetip}}</button>
|
||||
<div class="submit" @click="submit"></div>
|
||||
</div>
|
||||
<div class="bottom" id="bottom">
|
||||
<img :src="describe.bg_image" v-show="describe.type&&describe.bg_image">
|
||||
<div v-html="describe.content" class="tipBottomtext" v-show="describe.type==2&&describe.content"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
pageType: 1,
|
||||
key: '',
|
||||
code: '',
|
||||
disabled: true,
|
||||
codetip: '获取验证码',
|
||||
topImg: '',
|
||||
middleImg: '',
|
||||
describe: {},
|
||||
ftcolor: '',
|
||||
bgcolor: '#333',
|
||||
promttip: '',
|
||||
promtshow: false,
|
||||
popboxshow: false,
|
||||
tiptext: '提示信息',
|
||||
plan_id: '',
|
||||
maskshow: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let self = this;
|
||||
//获取链接携带的参数
|
||||
let linkId = this.getQueryString('id');
|
||||
let keyCode = this.getQueryString('key');
|
||||
if (!linkId) {
|
||||
let path = window.location.pathname;
|
||||
let parmas = path.split('/');
|
||||
let parmasResult = parmas.filter(n => n);
|
||||
linkId = parmasResult.length > 0 ? parmasResult[0] : null; //链接携带落地页渲染id
|
||||
keyCode = parmasResult.length > 1 ? parmasResult[1] : null; //链接携带key
|
||||
}
|
||||
if(linkId.length>10){
|
||||
req.axiosGetplan('/plan/plan_theme/' + linkId).then(res => {
|
||||
if(res.code==200){
|
||||
// window.location.href=res.data;
|
||||
window.location.replace(res.data);
|
||||
return;
|
||||
}
|
||||
})
|
||||
}
|
||||
req.axiosGetplan('/plan/plan_theme/' + linkId).then(res => {
|
||||
if (res.code == 200) {
|
||||
//内置页顶图
|
||||
document.title = res.data.title;
|
||||
self.plan_id = res.data.plan_id
|
||||
this.pageType = res.data.page;
|
||||
sessionStorage.setItem('title', res.data.title);
|
||||
if (res.data.page == 3) {
|
||||
sessionStorage.setItem('product_list', JSON.stringify(res.data['exchange'].product_list));
|
||||
sessionStorage.setItem('product_detail', JSON.stringify(res.data['exchange'].product_detail));
|
||||
} else if (res.data.page == 1) {
|
||||
sessionStorage.setItem('product_list', JSON.stringify(res.data['access_conf'].product_list));
|
||||
sessionStorage.setItem('product_detail', JSON.stringify(res.data['access_conf'].product_detail));
|
||||
}
|
||||
sessionStorage.setItem('linkId', linkId);
|
||||
//是否携带token
|
||||
if (keyCode) {
|
||||
let data = {
|
||||
key: keyCode
|
||||
}
|
||||
req.axiosPostTogppds('/key/loginFromLink', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
sessionStorage.setItem('key', keyCode);
|
||||
sessionStorage.setItem('token', res.data.token);
|
||||
sessionStorage.setItem('haskey', keyCode);
|
||||
this.promttip = '正在加载商品...';
|
||||
this.openDialog();
|
||||
window.location.replace("/homepage.html");
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
});
|
||||
} else {
|
||||
let keyName;
|
||||
if (this.pageType == 3) {
|
||||
captchaimg();
|
||||
keyName = 'exchange';
|
||||
} else if (this.pageType == 1) {
|
||||
keyName = 'access_conf';
|
||||
}
|
||||
self.bgcolor = res.data[keyName].land.bg_color;
|
||||
self.ftcolor = res.data[keyName].land.font_color;
|
||||
self.topImg = res.data[keyName].land.top_image;
|
||||
self.middleImg = res.data[keyName].land.middle_image;
|
||||
self.describe = res.data[keyName].land.describe;
|
||||
self.loading = false;
|
||||
}
|
||||
}
|
||||
}).catch(err => {});
|
||||
},
|
||||
|
||||
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
let img = document.getElementById("center_img")
|
||||
let center = document.getElementById("center")
|
||||
img.onload = function (e) {
|
||||
center.style.height = img.clientHeight + "px";
|
||||
}
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
successchangeBtn() {
|
||||
this.popboxshow = false;
|
||||
this.maskshow = false;
|
||||
},
|
||||
getcode() {
|
||||
let self = this;
|
||||
let data = {
|
||||
'mobile': this.key,
|
||||
'plan_id': this.plan_id
|
||||
}
|
||||
req.axiosPostsendMobile('/sms/sendMobileExchangeCode', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
let timeId = 60;
|
||||
let timer = setInterval(() => {
|
||||
timeId--;
|
||||
if (timeId > 0) {
|
||||
self.codetip = timeId + 's';
|
||||
self.disabled = true;
|
||||
} else {
|
||||
clearInterval(timer);
|
||||
self.codetip = '获取验证码';
|
||||
self.disabled = false;
|
||||
}
|
||||
}, 1000);
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {});
|
||||
},
|
||||
submit() {
|
||||
let self = this;
|
||||
if (!this.key) {
|
||||
this.promttip = '请输入兑换码';
|
||||
this.openDialog();
|
||||
} else {
|
||||
if (!this.code) {
|
||||
this.promttip = '请输入验证码';
|
||||
this.openDialog();
|
||||
} else {
|
||||
if (this.pageType == 3) { //兑换码
|
||||
let data = {
|
||||
"key": this.key,
|
||||
"code": this.code,
|
||||
"code_unique_str": sessionStorage.getItem('unique_str')
|
||||
}
|
||||
req.axiosPostKey('/key/login', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
sessionStorage.setItem('key', self.key);
|
||||
sessionStorage.setItem('token', res.data.token);
|
||||
this.promttip = '正在加载商品...';
|
||||
this.openDialog();
|
||||
setTimeout(() => {
|
||||
window.location.href = './homepage.html';
|
||||
}, 2000);
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
});
|
||||
} else if (this.pageType == 1) { //白名单
|
||||
let par = {
|
||||
"code": this.code,
|
||||
"mobile": this.key,
|
||||
"plan_id": this.plan_id
|
||||
}
|
||||
let getTokenList = [];
|
||||
req.axiosPostgetKey('/key/getKeyByMobile', par).then(async res => {
|
||||
if (res.data.code == 200) {
|
||||
sessionStorage.setItem('key', self.key);
|
||||
sessionStorage.setItem('token', res.data.data);
|
||||
sessionStorage.setItem('showType', 1);
|
||||
sessionStorage.setItem('white_link', window.location.href);
|
||||
let tokenArr = res.data.data;
|
||||
let istoGoods = false;
|
||||
for (item of tokenArr) {
|
||||
let obj = {}
|
||||
let data = {
|
||||
"code_unique_str": res.headers['unique-str'],
|
||||
"key": item
|
||||
}
|
||||
let wait = await req.axiosPostKey('/key/loginFromMobileKey', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
getTokenList.push(res.data.token);
|
||||
istoGoods = true;
|
||||
} else {
|
||||
if(res.message=='活动暂停中'){
|
||||
self.tiptext = res.message;
|
||||
istoGoods = false;
|
||||
}else{
|
||||
self.tiptext = res.message;
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
});
|
||||
};
|
||||
if (istoGoods) {
|
||||
sessionStorage.setItem('getTokenList', JSON.stringify(getTokenList));
|
||||
this.promttip = '正在加载商品...';
|
||||
this.openDialog();
|
||||
setTimeout(() => {
|
||||
window.location.href = './homepage.html';
|
||||
}, 2000);
|
||||
}else{
|
||||
self.maskshow = true;
|
||||
self.tiptext = self.tiptext;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.data.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
getQueryString(name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) return unescape(r[2]);
|
||||
return null;
|
||||
},
|
||||
// 单条弹框
|
||||
openDialog() {
|
||||
this.promtshow = true;
|
||||
setTimeout(() => {
|
||||
this.promtshow = false;
|
||||
this.promttip = '';
|
||||
}, 3000)
|
||||
},
|
||||
changeyzmFn() {
|
||||
captchaimg()
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
||||
},
|
||||
watch: {
|
||||
key(val) {
|
||||
if (this.pageType == 1) {
|
||||
if (val.length == 11) {
|
||||
this.disabled = false;
|
||||
} else {
|
||||
this.disabled = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</html>
|
175
api1_1.js
175
api1_1.js
|
@ -1,175 +0,0 @@
|
|||
let baseurl = 'http://192.168.6.75';
|
||||
let testZyg = 'http://192.168.6.81:8056';
|
||||
let pathname=document.location.href;
|
||||
//开发环境
|
||||
if(pathname.includes('1688sup')||pathname.includes('83323')||pathname.includes('86885')||pathname.includes('22233')){//正式
|
||||
baseurl = 'https://marketapi.1688sup.com'
|
||||
}
|
||||
if(pathname.includes('test')){
|
||||
baseurl = 'http://192.168.6.75';
|
||||
}
|
||||
axios.interceptors.request.use((config) => {
|
||||
config.headers.Version = 'v1.0.3';
|
||||
return config
|
||||
})
|
||||
|
||||
const req = {
|
||||
//获取落地页信息
|
||||
axiosGetplan(url, params){
|
||||
var result = axios({
|
||||
method: 'get',
|
||||
url: baseurl + url,
|
||||
params,
|
||||
}).then(function(res) {
|
||||
if(res.data.code!=200){
|
||||
alert(res.data.message);
|
||||
return false;
|
||||
}
|
||||
return res.data;
|
||||
}).catch(function(error) {
|
||||
return "exception=" + error;
|
||||
|
||||
});
|
||||
return result;
|
||||
},
|
||||
//发送key手机号核销验证码
|
||||
axiosPostsendMobile(url, data) {
|
||||
let result = axios({
|
||||
method: 'post',
|
||||
url: baseurl + url,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(res => {
|
||||
return res.data;
|
||||
}).catch(error => {
|
||||
return "exception=" + error;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
//获取key列表
|
||||
axiosPostgetKey(url, data) {
|
||||
let result = axios({
|
||||
method: 'post',
|
||||
url: testZyg + url,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(res => {
|
||||
return res;
|
||||
}).catch(error => {
|
||||
return "exception=" + error;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
//免验证登录
|
||||
axiosPostTogppds(url, data) {
|
||||
let result = axios({
|
||||
method: 'post',
|
||||
url: baseurl + url,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(res => {
|
||||
return res.data;
|
||||
}).catch(error => {
|
||||
return "exception=" + error;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
//验证key信息
|
||||
axiosPostKey(url, data) {
|
||||
let result = axios({
|
||||
method: 'post',
|
||||
url: baseurl + url,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(res => {
|
||||
return res.data;
|
||||
}).catch(error => {
|
||||
return "exception=" + error;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
//获取key相关的商品信息
|
||||
axiosPostproducts(url, data) {
|
||||
let result = axios({
|
||||
method: 'post',
|
||||
url: baseurl + url,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(res => {
|
||||
return res.data;
|
||||
}).catch(error => {
|
||||
return "exception=" + error;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
//key核销生成订单
|
||||
axiosPostusage(url, data) {
|
||||
let result = axios({
|
||||
method: 'post',
|
||||
url: baseurl + url,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(res => {
|
||||
return res.data;
|
||||
}).catch(error => {
|
||||
return "exception=" + error;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
//查询兑换订单接口
|
||||
axiosPostResult(url, data) {
|
||||
let result = axios({
|
||||
method: 'post',
|
||||
url: baseurl + url,
|
||||
data: data,
|
||||
header: {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
}).then(res => {
|
||||
return res.data;
|
||||
}).catch(error => {
|
||||
return "exception=" + error;
|
||||
});
|
||||
return result;
|
||||
},
|
||||
}
|
||||
|
||||
//图形验证码
|
||||
function captchaimg(){
|
||||
let self = this;
|
||||
let parmas = {}
|
||||
let customsessionid="";
|
||||
const xhr = new XMLHttpRequest()
|
||||
xhr.open('GET', baseurl + '/auth/login/verify')
|
||||
xhr.setRequestHeader('Version','v1.0.3');
|
||||
xhr.responseType = "arraybuffer";
|
||||
xhr.onreadystatechange = function (response) {
|
||||
response.header = {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
|
||||
}
|
||||
var img = document.getElementById('captcha_img')
|
||||
var byteArray = new Uint8Array(response.target.response);
|
||||
var binary = '';
|
||||
for (var i = 0; i < byteArray.byteLength; i++) {
|
||||
binary += String.fromCharCode(byteArray[i]);
|
||||
}
|
||||
let str = 'data:image/png;base64,' + window.btoa(binary)
|
||||
img.src = str;
|
||||
customsessionid = xhr.getResponseHeader('Unique-Str');
|
||||
sessionStorage.setItem('unique_str',customsessionid);
|
||||
}
|
||||
xhr.send()
|
||||
}
|
|
@ -14,8 +14,8 @@
|
|||
<link href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/css/swiper.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_1_0.js"></script>
|
||||
<style>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/test1_1_0.js"></script>
|
||||
<style>
|
||||
* {
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<link href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/css/swiper.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_1_0.js"></script>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/test1_1_0.js"></script>
|
||||
</head>
|
||||
<style scoped>
|
||||
* {
|
||||
|
|
795
homepage1_1.css
795
homepage1_1.css
|
@ -1,795 +0,0 @@
|
|||
html {
|
||||
background: #F4F6F9;
|
||||
}
|
||||
body{
|
||||
height:100%;
|
||||
}
|
||||
.top {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
#app{
|
||||
height: 100%;
|
||||
}
|
||||
img {
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.main-body{
|
||||
overflow: scroll;
|
||||
height: 100%;
|
||||
}
|
||||
.center {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
}
|
||||
|
||||
.bottom {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
position: relative;
|
||||
}
|
||||
.tipBottomtext{
|
||||
position: absolute;
|
||||
top:0.7rem;
|
||||
padding:0 0.25rem;
|
||||
box-sizing: border-box;
|
||||
line-height: 0.24rem;
|
||||
text-align: justify;
|
||||
left: 0;
|
||||
}
|
||||
.key {
|
||||
position: absolute;
|
||||
top: 0.4rem;
|
||||
left: 50%;
|
||||
width: 2rem;
|
||||
height: 0.25rem;
|
||||
z-index: 2;
|
||||
margin-left: -0.72rem;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
outline: none;
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
|
||||
.code {
|
||||
position: absolute;
|
||||
top: 0.935rem;
|
||||
left: 50%;
|
||||
width: 1rem;
|
||||
height: 0.25rem;
|
||||
z-index: 2;
|
||||
margin-left: -0.72rem;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
outline: none;
|
||||
font-size: 0.14rem;
|
||||
}
|
||||
|
||||
.codeimg {
|
||||
position: absolute;
|
||||
top: 0.82rem;
|
||||
right: 0.3rem;
|
||||
width: 0.84rem;
|
||||
height: 0.42rem;
|
||||
border-radius: 0.21rem;
|
||||
z-index: 2;
|
||||
background-color: #f1f2f3;
|
||||
color: #ccc;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
outline: none;
|
||||
border: none;
|
||||
align-items: center;
|
||||
font-size:0.13rem;
|
||||
}
|
||||
.codeimg.active{
|
||||
color: rgb(42, 126, 236);
|
||||
font-weight: bold;
|
||||
}
|
||||
.codeimg.disabledstyle{
|
||||
color: #999;
|
||||
}
|
||||
.submit {
|
||||
position: absolute;
|
||||
top: 1.5rem;
|
||||
left: 50%;
|
||||
width: 3rem;
|
||||
height: 0.4rem;
|
||||
margin-left: -1.5rem;
|
||||
z-index: 2;
|
||||
background-color: transparent;
|
||||
}
|
||||
@media screen and (min-width:900px){
|
||||
html{
|
||||
transform: scale(0.3);
|
||||
background: #fff;
|
||||
transform-origin: 50% 0px 0px;
|
||||
height: calc(100vh);
|
||||
}
|
||||
#homepage,#exchangePage{
|
||||
height: 6rem!important;
|
||||
background: #F4F6F9;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
.mask{
|
||||
height: 6rem!important;
|
||||
}
|
||||
#matrix,#rotation, #list{
|
||||
height:6rem!important;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.exchange-btn{
|
||||
top: 5.5rem!important;
|
||||
}
|
||||
}
|
||||
|
||||
#homepage {
|
||||
width: 100%;
|
||||
font-size: 0.14rem;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.swiper-container{
|
||||
height: 2rem;
|
||||
}
|
||||
|
||||
|
||||
/* 鏉烆喗鎸<E59697> */
|
||||
.topBanner {
|
||||
width: 100%;
|
||||
height: 1.83rem;
|
||||
position: relative;
|
||||
}
|
||||
.topBanner .backpresty{
|
||||
position: absolute;
|
||||
top: 0.1rem;
|
||||
left: 0.1rem;
|
||||
width: 0.4rem;
|
||||
height: 0.4rem;
|
||||
z-index: 877;
|
||||
}
|
||||
|
||||
.topBanner img {
|
||||
width: 100%;
|
||||
height: 1.83rem;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#homepage h2 {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
top: 0.58rem;
|
||||
color: #fff;
|
||||
font-size: 0.21rem;
|
||||
letter-spacing: 0.03rem;
|
||||
padding-left: 0.03rem;
|
||||
}
|
||||
#homepage .bottom{
|
||||
width: 94%;
|
||||
margin-top: 0.1rem;
|
||||
font-size: 0.14rem;
|
||||
|
||||
}
|
||||
#homepage .goodsTip,#exchangePage .goodsTip{
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
padding: 0.26rem;
|
||||
line-height: 0.24rem;
|
||||
box-sizing: border-box;
|
||||
text-align: justify;
|
||||
}
|
||||
#homepage .tipset{
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
#homepage .bottom>img{
|
||||
border-radius: 0.05rem;
|
||||
}
|
||||
#rotation .commodity {
|
||||
width: 94%;
|
||||
height: 1.96rem;
|
||||
background: #FFFFFF;
|
||||
border-radius: 0.05rem;
|
||||
position: relative;
|
||||
margin-top: -0.45rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#rotation .swiper-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#rotation .swiper-slide {
|
||||
width: 0.85rem;
|
||||
height: 1rem;
|
||||
background: #F3F5F7;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
box-shadow: 0px 3px 4px 1px rgba(181, 187, 193, 0.41);
|
||||
transition: 300ms;
|
||||
transform: scale(0.90);
|
||||
margin: 0 0.15rem;
|
||||
padding: 0 0.14rem;
|
||||
box-sizing: border-box;
|
||||
border-radius: 0.05rem;
|
||||
}
|
||||
|
||||
#rotation .swiper-slide-active,
|
||||
#rotation .swiper-slide-duplicate-active {
|
||||
transform: scale(1.4) !important;
|
||||
box-shadow: 0px 3px 4px 1px rgba(181, 187, 193, 0.41);
|
||||
/* height: 1.43rem; */
|
||||
background: linear-gradient(0deg, #F3F5F7, #F3F5F7);
|
||||
}
|
||||
.swiper-slide-active .item-content,
|
||||
.swiper-slide-duplicate-active .item-content {
|
||||
color: #B98E3E;
|
||||
}
|
||||
|
||||
#rotation .imgbox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#rotation .swiper-slide .le-img {
|
||||
width: 0.5rem;
|
||||
height: 0.5rem;
|
||||
}
|
||||
|
||||
#rotation .item-name {
|
||||
color: #242533;
|
||||
font-size: 0.08rem;
|
||||
text-align: center;
|
||||
margin-top: 0.1rem;
|
||||
}
|
||||
|
||||
/* 閸忔垶宕查幐澶愭尦 */
|
||||
#rotation .exchangeBtn {
|
||||
width: 3.49rem;
|
||||
height: 0.42rem;
|
||||
background: #F98F5B;
|
||||
border-radius: 0.21rem;
|
||||
margin-top: 0.24rem;
|
||||
margin-bottom: 0.24rem;
|
||||
color: #AAAAAA;
|
||||
font-size: 0.19rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
letter-spacing: 0.04rem;
|
||||
padding-left: 0.04rem;
|
||||
}
|
||||
#rotation .noexchangeBtn{
|
||||
background: #cacccc!important;
|
||||
}
|
||||
.listcommity {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
/* 閸掓銆冮幒鎺斿 */
|
||||
#list .listcommity {
|
||||
width: 94%;
|
||||
/* height: 100px; */
|
||||
position: relative;
|
||||
margin-top: -0.45rem;
|
||||
}
|
||||
|
||||
#list .listcommity li {
|
||||
width: 100%;
|
||||
height: 0.6rem;
|
||||
border-radius: 0.05rem;
|
||||
padding: 0.14rem;
|
||||
box-sizing: border-box;
|
||||
background: #fff;
|
||||
margin-bottom: 0.07rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#list .listcommity li div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-start;
|
||||
margin: 0;
|
||||
|
||||
}
|
||||
|
||||
#list .listcommity li img {
|
||||
width: 0.5rem;
|
||||
height: 0.5rem;
|
||||
margin-right: 0.23rem;
|
||||
border-radius: 0.25rem;
|
||||
box-shadow: 0rem .01rem .1rem rgba(181, 187, 193, 0.41);
|
||||
}
|
||||
|
||||
#list .listcommity li font {
|
||||
font-size: 0.15rem;
|
||||
color: #151515;
|
||||
max-width: 2rem;
|
||||
margin-right: 0.14rem;
|
||||
}
|
||||
|
||||
#list .listcommity li span {
|
||||
width: 0.72rem;
|
||||
height: 0.29rem;
|
||||
line-height: 0.29rem;
|
||||
border-radius: 0.145rem;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
}
|
||||
#list .listcommity li .begin{
|
||||
font-size: 0.12rem;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
#list .listcommity .bindexchange{
|
||||
background: #EBEBEB;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
.changegray{
|
||||
-webkit-filter: grayscale(1); /* Webkit */
|
||||
filter: gray; /* IE6-9 */
|
||||
filter: grayscale(1);
|
||||
color: #c5c4c4!important;
|
||||
|
||||
}
|
||||
.changegray img{
|
||||
opacity: 0.6;
|
||||
}
|
||||
img.changegray{
|
||||
opacity: 0.6;
|
||||
}
|
||||
.changegray font{
|
||||
color: #c5c4c4!important;
|
||||
}
|
||||
#matrix,#list,#rotation{
|
||||
/* height:calc(100vh); */
|
||||
/* overflow-y: auto; */
|
||||
}
|
||||
/* 閻晠妯€閹烘帞澧<E5B89E> */
|
||||
#matrix .listcommity {
|
||||
width: 94%;
|
||||
position: relative;
|
||||
margin-top: -0.45rem;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start;
|
||||
background: #fff;
|
||||
padding: 0.23rem;
|
||||
box-sizing: border-box;
|
||||
border-radius: 0.05rem;
|
||||
|
||||
|
||||
}
|
||||
|
||||
#matrix .listcommity li {
|
||||
width: 0.92rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin: 0 0 0.17rem 0;
|
||||
border-radius: 0.05rem;
|
||||
position: relative;
|
||||
}
|
||||
/* //鍟嗗搧鐭╅樀鍥捐緣 */
|
||||
|
||||
#matrix .listcommity li:nth-child(3n+2) {
|
||||
margin-right:calc((100% - 0.92*3rem)/2);
|
||||
margin-left:calc((100% - 0.92*3rem)/2);
|
||||
}
|
||||
|
||||
#matrix .listcommity li img {
|
||||
width: 0.58rem;
|
||||
height: 0.58rem;
|
||||
}
|
||||
|
||||
#matrix .listcommity li div {
|
||||
width: 100%;
|
||||
height: 0.89rem;
|
||||
padding: 0.16rem;
|
||||
box-sizing: border-box;
|
||||
background: #F9FAFA;
|
||||
display: flex;
|
||||
position: relative;
|
||||
}
|
||||
#matrix .listcommity li .goodsIcon{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
#matrix .listcommity li .goodsIcon>img{
|
||||
position: absolute;
|
||||
right: 0;
|
||||
z-index: 88;
|
||||
}
|
||||
#matrix .listcommity li font {
|
||||
color: #242533;
|
||||
padding-top: 8px;
|
||||
font-size: 0.12rem;
|
||||
line-height: 0.18rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* 瀵懓鍤锟<EE9BBC> */
|
||||
.mask {
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
z-index: 99;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.ipt_frame {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
bottom: -20px;
|
||||
opacity:0;
|
||||
left: 0;
|
||||
max-height: 70%;
|
||||
overflow-y: auto;
|
||||
z-index: -1;
|
||||
padding: 0.37rem 0.29rem;
|
||||
box-sizing: border-box;
|
||||
transition: all .4s;
|
||||
}
|
||||
.ipt_frame.active{
|
||||
bottom: 0;
|
||||
opacity: 1;
|
||||
z-index: 999;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.ipt_frame img{
|
||||
width: 0.2rem;
|
||||
height: 0.2rem;
|
||||
position: absolute;
|
||||
top:0.24rem;
|
||||
right:0.25rem;
|
||||
}
|
||||
.ipt_frame h3 {
|
||||
font-size: 0.23rem;
|
||||
font-weight: bold;
|
||||
color: #060606;
|
||||
padding-bottom: 0.28rem;
|
||||
}
|
||||
.bottomBtn{
|
||||
position: fixed;
|
||||
bottom: 0rem;
|
||||
z-index: 88;
|
||||
left:50%;
|
||||
margin-left: -1.745rem;
|
||||
}
|
||||
.ipt_frame>div {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.ipt_frame>div input {
|
||||
width: 100%;
|
||||
height: 0.42rem;
|
||||
border-radius: 0.42rem;
|
||||
outline: none;
|
||||
border: 0;
|
||||
background: #F3F5F7;
|
||||
margin-bottom: 0.18rem;
|
||||
padding-left: 0.25rem;
|
||||
padding-right: 0.25rem;
|
||||
line-height: 0.42rem;
|
||||
font-size: 0.15rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ipt_frame>div input::placeholder {
|
||||
color: #242533;
|
||||
}
|
||||
|
||||
.sureBtn {
|
||||
width: 100%;
|
||||
height: 0.42rem;
|
||||
line-height: 0.42rem;
|
||||
background: #F98F5B;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 0.42rem;
|
||||
margin-top: 0.15rem;
|
||||
font-size: 0.18rem;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
/* 閸楁洘娼幓鎰仛 */
|
||||
.prompt{
|
||||
display: inline-block;
|
||||
min-width: 50%;
|
||||
padding: 0.08rem;
|
||||
background: rgba(0, 0, 0, 0);
|
||||
border-radius: 0.2rem;
|
||||
color: #fff;
|
||||
position: fixed;
|
||||
top: 20%;
|
||||
left: -150%;
|
||||
margin-left: -25%;
|
||||
text-align: center;
|
||||
transition: left .2s;
|
||||
z-index: 99999;
|
||||
}
|
||||
.proactive{
|
||||
left: 50%;
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
.saleNull{
|
||||
width: 90%;
|
||||
height: calc(100% - 1.6rem);
|
||||
position: absolute;
|
||||
z-index: 666;
|
||||
background: #f4f6f9;
|
||||
margin-top: -0.45rem;
|
||||
box-shadow: 0rem .01rem .1rem rgba(181, 187, 193, 0.41);
|
||||
border-radius:5px;
|
||||
margin-left: 5%;
|
||||
|
||||
}
|
||||
@media screen and (min-width:600px){
|
||||
height: 6rem;
|
||||
}
|
||||
.saleNull img{
|
||||
width:2.5rem;
|
||||
margin: 50% 0% 50% 10%;
|
||||
}
|
||||
|
||||
/* 瀵懓鍤锟<EE9BBC> */
|
||||
.popboxshow{
|
||||
width: 2.45rem;
|
||||
height: 2.27rem;
|
||||
background: url('https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/fail.png') no-repeat;
|
||||
background-size: contain;
|
||||
position: fixed;
|
||||
top: 500%;
|
||||
left: 50%;
|
||||
z-index: 99;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
.successbox{
|
||||
background: url('https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/success.png') no-repeat;
|
||||
background-size: contain;
|
||||
}
|
||||
.popboxshow.active{
|
||||
top: 25%;
|
||||
margin-left: -1.225rem;
|
||||
|
||||
}
|
||||
.popboxshow>div{
|
||||
position: absolute;
|
||||
top:1rem;
|
||||
width: 80%;
|
||||
left: 10%;
|
||||
font-size: 0.15rem;
|
||||
color: #57300D;
|
||||
line-height: 0.23rem;
|
||||
text-align: center;
|
||||
height: 1rem;
|
||||
}
|
||||
.popboxshow>.tip{
|
||||
position: absolute;
|
||||
top: 0.93rem;
|
||||
width: 90%;
|
||||
left: 5%;
|
||||
height: 1.15rem;
|
||||
font-size: 0.14rem;
|
||||
color: #57300D;
|
||||
line-height: 0.23rem;
|
||||
text-align: center;
|
||||
}
|
||||
.errbox>div,.successbox>div{
|
||||
top: 1.15rem;
|
||||
height: 0.9rem;
|
||||
}
|
||||
.popboxshow>div span{
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
height: 0.31rem;
|
||||
background: linear-gradient(0deg, #DAA66E 0%, #F8D2AE 100%);
|
||||
border-radius: 0.31rem;
|
||||
line-height: .31rem;
|
||||
color: #fff;
|
||||
margin-top: 0.2rem;
|
||||
/* background: #ff0; */
|
||||
position: absolute;
|
||||
bottom:0;
|
||||
left: 0;
|
||||
}
|
||||
.errbox>div span,.successbox>div span{
|
||||
margin-top: 0.2rem;
|
||||
}
|
||||
.popboxshow>.tip .yettip{
|
||||
margin-top: 0.1rem;
|
||||
}
|
||||
.popboxshow>.tip .yetexchange{
|
||||
margin-top: 0.42rem;
|
||||
}
|
||||
.closed{
|
||||
width: 0.26rem;
|
||||
height: 0.26rem;
|
||||
position: fixed;
|
||||
z-index: 999;
|
||||
left: 50%;
|
||||
margin-left: -.13rem;
|
||||
top: 25%;
|
||||
margin-top: 2.6rem;
|
||||
}
|
||||
.imgitemMask{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
#rotation .imgitemMask span{
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
}
|
||||
.oneItem{
|
||||
overflow: visible!important;
|
||||
}
|
||||
#rotation .imgitemMask span img{
|
||||
width: 0.56rem;
|
||||
height: 0.56rem;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
z-index: 88;
|
||||
top: 0;
|
||||
}
|
||||
/* 立即兑换页 */
|
||||
#exchangePage{
|
||||
font-size: 0.14rem;
|
||||
height: 100vh;
|
||||
background: #fff;
|
||||
}
|
||||
#exchangePage .about-good{
|
||||
width: 100%;
|
||||
height:100vw;
|
||||
background:rgb(218, 223, 226);
|
||||
font-size: 0.14rem;
|
||||
position: relative;
|
||||
}
|
||||
#exchangePage .about-good>span{
|
||||
position: absolute;
|
||||
top: 0.1rem;
|
||||
left:0.1rem;
|
||||
}
|
||||
#exchangePage .about-good>span>img{
|
||||
width: 0.4rem;
|
||||
}
|
||||
#exchangePage .about-good>img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#exchangePage .ipt-acc{
|
||||
font-size: 0.15rem;
|
||||
width: 100%;
|
||||
padding: 0.3rem 0;
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
flex-direction:column;
|
||||
background: rgba(255,255,255,1);
|
||||
border-top: 0.08rem solid #F3F5F7;
|
||||
border-bottom: 0.08rem solid #F3F5F7;
|
||||
}
|
||||
#exchangePage .ipt-acc>p{
|
||||
display:flex;
|
||||
width: 90%;
|
||||
padding: 0.05rem 0.2rem;
|
||||
justify-content:space-between;
|
||||
align-items:center;
|
||||
box-sizing: border-box;
|
||||
background: #F3F5F7;
|
||||
border-radius: 0.2rem;
|
||||
}
|
||||
#exchangePage .ipt-acc>p>span{
|
||||
width:0.8rem;
|
||||
}
|
||||
#exchangePage .ipt-acc input{
|
||||
flex: 1;
|
||||
height:0.32rem;
|
||||
outline:none;
|
||||
padding-right:0.1rem;
|
||||
border:none;
|
||||
background: #F3F5F7;
|
||||
font-size: 0.15rem;
|
||||
|
||||
}
|
||||
#exchangePage .ipt-acc input::placeholder{
|
||||
color:#BAC2CA;
|
||||
}
|
||||
/* BAC2CA */
|
||||
#exchangePage .ipt-acc>p:last-child{
|
||||
margin-top: 0.15rem;
|
||||
}
|
||||
#exchangePage .desc-img{
|
||||
width:100%;
|
||||
}
|
||||
#exchangePage .exchange-btn{
|
||||
outline:none;
|
||||
border: 0;
|
||||
width:90%;
|
||||
position: fixed;
|
||||
height: 0.36rem;
|
||||
z-index: 8;
|
||||
bottom: 0.1rem;
|
||||
left: 5%;
|
||||
background: #D7D7D7;
|
||||
font-size: 0.15rem;
|
||||
border-radius:0.36rem;
|
||||
}
|
||||
.suspensionDom{
|
||||
width: 100%;
|
||||
height:100vh;
|
||||
background: #fff;
|
||||
position: relative;
|
||||
}
|
||||
.susTip{
|
||||
position: fixed;
|
||||
width: 0.6rem;
|
||||
right: 0.2rem;
|
||||
top: 0.2rem;
|
||||
z-index: 12;
|
||||
}
|
||||
.suspensionDom>h4{
|
||||
height: 0.5rem;
|
||||
font-size: 0.16rem;
|
||||
background: #f7f8f9;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.suspensionDom>img{
|
||||
width: 0.3rem;
|
||||
position: absolute;
|
||||
left: 0.1rem;
|
||||
top:0.1rem;
|
||||
}
|
||||
.suspensionDom>div{
|
||||
padding: 0.25rem;
|
||||
box-sizing: border-box;
|
||||
line-height: 0.25rem;
|
||||
text-align: justify;
|
||||
}
|
||||
#exchangePage .swiper-container{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#exchangePage .swiper-slide>img{
|
||||
height: 100%;
|
||||
}
|
|
@ -11,7 +11,7 @@
|
|||
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
||||
</script>
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/api1_1_0.js"></script>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/test1_1_0.js"></script>
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
</head>
|
||||
|
||||
|
@ -137,7 +137,6 @@
|
|||
if(linkId.length>10){
|
||||
req.axiosGetplan('/plan/plan_theme/' + linkId).then(res => {
|
||||
if(res.code==200){
|
||||
window.location.href=res.data;
|
||||
window.location.replace(res.data);
|
||||
return;
|
||||
}else{
|
||||
|
@ -201,7 +200,9 @@
|
|||
self.loading = false;
|
||||
}
|
||||
}
|
||||
}).catch(err => {});
|
||||
}).catch(err => {
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,414 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover">
|
||||
<title>权益兑换页</title>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/vue.min.js?v=1367936144322" type="text/javascript"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
||||
</script>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/js/swiper.min.js"></script>
|
||||
<link href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/css/swiper.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/test1_1_0.js"></script>
|
||||
<style>
|
||||
* {
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
font-family: HYQiHei;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 26.66666667vw;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="exchangePage">
|
||||
<div v-if="!suspension">
|
||||
<div class="about-good">
|
||||
<span>
|
||||
<img @click="backgoodsFn" v-if="backAble"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
</span>
|
||||
<img :src="goodsShow[0]" alt="" v-if="goodsShow.length<=1">
|
||||
<div class="swiper-container" v-else>
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="(item,i) in goodsShow" :key="i">
|
||||
<img :src="item" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ipt-acc" style="position: relative;z-index: 999;">
|
||||
<p v-if="acctype=='tel'"><span>账号:</span><input :type="acctype"
|
||||
onkeyup="this.value=this.value.replace(/\D/g,'')"
|
||||
onKeypress="return(/[\d]/.test(String.fromCharCode(event.keyCode)))" :maxlength="maxlen" v-model="account"
|
||||
:placeholder="placeholder" @focus="(e)=>focusFn(e)"></p>
|
||||
<p v-if="acctype=='tel'"><span>再次输入:</span> <input :type="acctype"
|
||||
onkeyup="this.value=this.value.replace(/\D/g,'')"
|
||||
onKeypress="return(/[\d]/.test(String.fromCharCode(event.keyCode)))" :maxlength="maxlen" v-model="reaccount"
|
||||
placeholder="请再次输入" @focus="(e)=>focusFn(e)"></p>
|
||||
<p v-if="acctype!='tel'"><span>账号:</span> <input :type="acctype" :maxlength="maxlen" v-model="account"
|
||||
:placeholder="placeholder" @focus="(e)=>focusFn(e)"></p>
|
||||
<p v-if="acctype!='tel'"><span>再次输入:</span><input :type="acctype" :maxlength="maxlen" v-model="reaccount"
|
||||
placeholder="请再次输入" @focus="(e)=>focusFn(e)"></p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="bottom" id="bottom" v-show="describe.type||detailUrl">
|
||||
<img :src="detailUrl" v-show="detailUrl">
|
||||
<img :src="describe.bg_image" v-show="describe.type==1&&describe.bg_image">
|
||||
<div v-html="describe.content" class="goodsTip" v-show="describe.type==3&&describe.content"></div>
|
||||
</div>
|
||||
<button class="exchange-btn" :class="exchangeOpen?bgcolor:''"
|
||||
:style="{'background': exchangeOpen?bgcolor:'#D7D7D7','color':exchangeOpen?ftcolor:'#333'}"
|
||||
@click="exchangeGoodsFn">立即兑换</button>
|
||||
</div>
|
||||
<!-- 单条弹出框 -->
|
||||
<div class="prompt" :class="promtshow?'proactive':''">
|
||||
{{this.promttip}}
|
||||
</div>
|
||||
<!-- 弹出框 -->
|
||||
<div class="mask" v-if="maskshow">
|
||||
</div>
|
||||
|
||||
<!-- 悬浮提示 -->
|
||||
<div v-if="suspension" class="suspensionDom">
|
||||
<img @click="closeTip" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png"
|
||||
alt="">
|
||||
<h4>活动规则</h4>
|
||||
<div v-html="describe.content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<img class="susTip" @click="susTipFn" v-if="describe.type==2&&describe.content&&!suspension"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/acticeTextTip.png" alt="">
|
||||
<!-- 弹出框 -->
|
||||
<!-- 询问 -->
|
||||
<div class="popboxshow" v-if="popboxshow&&popboxtype=='兑换'" :class="popboxshow?'active':''">
|
||||
<div>
|
||||
<p v-if="acctype=='tel'">是否为账号{{this.account}}兑换{{this.proname}}会员?</p>
|
||||
<p v-if="acctype=='text'">是否兑换{{this.proname}}会员?</p>
|
||||
<span @click="surexchangeBtn">确认兑换</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 弹出提示 -->
|
||||
<div class="popboxshow" v-if="popboxshow&&popboxtype=='提示'" :class="popboxshow?'active':''">
|
||||
<div class="tip">
|
||||
<p>{{tiptext}}</p>
|
||||
<span @click="successchangeBtn">知道了</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 成功 -->
|
||||
<div class="popboxshow successbox" v-if="popboxshow&&popboxtype=='成功'" :class="popboxshow?'active':''">
|
||||
<div>
|
||||
<p>{{this.successTip}}</p>
|
||||
<span @click="successchangeBtnFn">我知道啦</span>
|
||||
</div>
|
||||
</div>
|
||||
<img v-if="popboxshow&&popboxtype!='成功'" class="closed"
|
||||
src="http://lsxd-customcard-h5.oss-cn-hangzhou.aliyuncs.com/cardpwd/img/commimgs/close.png" alt=""
|
||||
@click="closeBtn()">
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#exchangePage',
|
||||
data() {
|
||||
return {
|
||||
account: '',
|
||||
reaccount: '',
|
||||
maxlen: 11,
|
||||
acctype: 'tel',
|
||||
promttip: '',
|
||||
promtshow: false,
|
||||
productType: 0,
|
||||
proname: '',
|
||||
placeholder: '',
|
||||
maskshow: false,
|
||||
popboxshow: false,
|
||||
exchangeOpen: false,
|
||||
suspension: false,
|
||||
popboxtype: '',
|
||||
describe: {},
|
||||
detailUrl:'',
|
||||
successTip: '',
|
||||
goodInfo: '',
|
||||
bgcolor: '',
|
||||
ftcolor: '',
|
||||
backAble:true,
|
||||
goodsShow: [
|
||||
'https://lsxd-yunshanfu.oss-cn-hangzhou.aliyuncs.com/common_image/20220120/9bedd7af6a8a570be8f2858564f9ec6d.png'
|
||||
]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let self = this;
|
||||
document.title = sessionStorage.getItem('title');
|
||||
let detailsConfig = JSON.parse(sessionStorage.getItem('product_detail'));
|
||||
let goodsCount=sessionStorage.getItem('goodsCount');
|
||||
this.backAble=goodsCount>1;
|
||||
this.bgcolor = detailsConfig.button_color;
|
||||
this.bgcolor = '#f00'
|
||||
this.ftcolor = detailsConfig.font_color;
|
||||
this.describe = detailsConfig.describe;
|
||||
let goodsInform=JSON.parse(sessionStorage.getItem('goodsInfo'));//商品信息
|
||||
this.goodInfo = goodsInform;
|
||||
let goods_desc=goodsInform.describe_url;
|
||||
this.goodsShow = goods_desc.length>0?goods_desc:[JSON.parse(sessionStorage.getItem('goodsInfo')).show_url];
|
||||
this.detailUrl=goodsInform.detail_url?goodsInform.detail_url:'';
|
||||
this.productType = JSON.parse(sessionStorage.getItem('goodsInfo')).account_type;
|
||||
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper('.swiper-container', {
|
||||
loop: true, // 循环模式选项
|
||||
autoplay: 3000, //可选选项,自动滑动
|
||||
pagination: '.swiper-pagination',
|
||||
})
|
||||
console.log(123, document.querySelector('.swiper-container'));
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
backgoodsFn() {
|
||||
let goodsCount=sessionStorage.getItem('goodsCount');
|
||||
if(goodsCount>1){
|
||||
// window.location.replace(document.referrer);
|
||||
window.location.replace('./homepage.html');
|
||||
}else{
|
||||
history.go(-2);
|
||||
}
|
||||
// window.location.replace(document.referrer);
|
||||
},
|
||||
closeTip() {
|
||||
this.suspension = false;
|
||||
},
|
||||
susTipFn() {
|
||||
this.suspension = true;
|
||||
},
|
||||
// 单条弹框
|
||||
openDialog() {
|
||||
this.promtshow = true;
|
||||
setTimeout(() => {
|
||||
this.promtshow = false;
|
||||
this.promttip = '';
|
||||
}, 3000)
|
||||
},
|
||||
//刷新页面
|
||||
successchangeBtnFn() {
|
||||
console.log(window);
|
||||
window.location.replace(document.referrer);
|
||||
},
|
||||
//兑换商品
|
||||
exchangeGoodsFn() {
|
||||
if (!this.account) {
|
||||
this.promttip = '请输入兑换账号!'
|
||||
this.openDialog();
|
||||
return false;
|
||||
} else {
|
||||
let namereg = /\w{4}/.test(this.account);
|
||||
let phonereg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(this.account);
|
||||
let qqreg = /^[1-9][0-9]{4,9}$/.test(this.account);
|
||||
let emailsreg = /^[A-Za-z0-9\u4e00-\u9fa5\.]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(this.account);
|
||||
let weixinreg = /^[a-zA-Z][a-zA-Z\d_-]{5,19}$/.test(this.account);
|
||||
let regflag = true;
|
||||
if (this.productType == 0) {
|
||||
this.placeholder = "请输入昵称";
|
||||
regflag = namereg;
|
||||
} else if (this.productType == 1) {
|
||||
regflag = phonereg;
|
||||
} else if (this.productType == 2) {
|
||||
regflag = emailsreg;
|
||||
} else if (this.productType == 3) {
|
||||
regflag = phonereg || emailsreg;
|
||||
} else if (this.productType == 4) {
|
||||
regflag = qqreg;
|
||||
} else if (this.productType == 5) {
|
||||
regflag = phonereg || qqreg;
|
||||
} else if (this.productType == 6) {
|
||||
regflag = emailsreg || qqreg;
|
||||
} else if (this.productType == 7) {
|
||||
regflag = phonereg || emailsreg || qqreg;
|
||||
} else if (this.productType == 8) {
|
||||
regflag = weixinreg;
|
||||
} else if (this.productType == 9) {
|
||||
regflag = phonereg || weixinreg;
|
||||
} else if (this.productType == 10) {
|
||||
regflag = emailsreg || weixinreg;
|
||||
} else if (this.productType == 11) {
|
||||
regflag = phonereg || emailsreg || weixinreg;
|
||||
} else if (this.productType == 12) {
|
||||
regflag = qqreg || weixinreg;;
|
||||
} else if (this.productType == 13) {
|
||||
regflag = phonereg || qqreg || weixinreg;
|
||||
} else if (this.productType == 14) {
|
||||
this.placeholder = "请输入邮箱/QQ号/微信号";
|
||||
regflag = emailsreg || qqreg || weixinreg;
|
||||
} else {
|
||||
this.placeholder = "请输入手机号/邮箱/QQ号/微信号";
|
||||
regflag = phonereg || emailsreg || qqreg || weixinreg;
|
||||
}
|
||||
if (!regflag) {
|
||||
this.promttip = "充值账号格式不正确!"
|
||||
this.openDialog();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (this.reaccount == "") {
|
||||
this.promttip = "请再次输入账号!";
|
||||
this.openDialog();
|
||||
return false;
|
||||
}
|
||||
if (this.account != this.reaccount) {
|
||||
this.promttip = "两次输入的账号必须一致!";
|
||||
this.reaccount == ""
|
||||
this.openDialog();
|
||||
return false;
|
||||
}
|
||||
this.maskshow = true;
|
||||
this.popboxshow = true;
|
||||
this.popboxtype = '兑换';
|
||||
},
|
||||
//确定兑换
|
||||
surexchangeBtn() {
|
||||
let self = this;
|
||||
let data = {
|
||||
"key": sessionStorage.getItem('key'),
|
||||
"product_id": this.goodInfo.product_id,
|
||||
"account": this.account,
|
||||
"code_batch_id": this.goodInfo.code_batch_id,
|
||||
"token": sessionStorage.getItem('token')
|
||||
}
|
||||
req.axiosPostusage('/key/usage', data).then(res => {
|
||||
sessionStorage.setItem('lastid', self.goodInfo.product_id);
|
||||
if (res.code == 200) {
|
||||
// 查询订单接口
|
||||
this.popboxtype = '成功';
|
||||
this.popboxshow = true;
|
||||
this.successTip = '兑换成功,请直接登录app使用!';
|
||||
} else {
|
||||
this.popboxtype = '提示';
|
||||
this.popboxshow = true;
|
||||
this.tiptext = res.message;
|
||||
if (res.code == -1) {
|
||||
let goodsCount=sessionStorage.getItem('goodsCount');
|
||||
if(goodsCount>1){
|
||||
setTimeout(() => {
|
||||
// window.location.replace(document.referrer);
|
||||
window.location.replace('./homepage.html');
|
||||
}, 3000);
|
||||
}else{
|
||||
let backUrl=window.history.length;
|
||||
if(backUrl){
|
||||
history.go(-backUrl+1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
|
||||
});
|
||||
},
|
||||
//关闭弹出框,仅关闭弹框
|
||||
successchangeBtn() {
|
||||
this.maskshow = false;
|
||||
this.popboxshow = false;
|
||||
this.account = "";
|
||||
this.reaccount = "";
|
||||
},
|
||||
focusFn(a) {
|
||||
let ele = document.querySelector('.ipt-acc');
|
||||
setTimeout(function () {
|
||||
ele.scrollIntoView(false);
|
||||
// console.log(123,ele.scrollHeight);
|
||||
document.body.scrollTop = ele.scrollHeight;
|
||||
document.documentElement.scrollTop = ele.scrollHeight;
|
||||
}, 400);
|
||||
},
|
||||
//关闭,关闭弹框
|
||||
closeBtn() {
|
||||
this.popboxshow = false;
|
||||
this.maskshow = false;
|
||||
this.account = "";
|
||||
this.reaccount = "";
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
account() {
|
||||
if (this.account == this.reaccount) {
|
||||
this.exchangeOpen = true;
|
||||
}
|
||||
},
|
||||
reaccount() {
|
||||
if (this.account == this.reaccount) {
|
||||
this.exchangeOpen = true;
|
||||
}
|
||||
},
|
||||
productType: {
|
||||
immediate: true,
|
||||
handler(newVal) {
|
||||
this.maxlen = 50;
|
||||
this.acctype = "text";
|
||||
if (newVal == 0) {
|
||||
this.placeholder = "请输入昵称";
|
||||
} else if (newVal == 1) {
|
||||
this.acctype = "tel";
|
||||
this.placeholder = "请输入手机号";
|
||||
this.maxlen = 11;
|
||||
} else if (newVal == 2) {
|
||||
this.placeholder = "请输入邮箱";
|
||||
} else if (newVal == 3) {
|
||||
this.placeholder = "请输入手机号或邮箱";
|
||||
} else if (newVal == 4) {
|
||||
this.placeholder = "请输入QQ号";
|
||||
this.acctype = "tel";
|
||||
this.maxlen = 10;
|
||||
} else if (newVal == 5) {
|
||||
this.placeholder = "请输入手机号或QQ号";
|
||||
this.maxlen = 11;
|
||||
this.acctype = "tel";
|
||||
} else if (newVal == 6) {
|
||||
this.placeholder = "请输入邮箱或QQ号";
|
||||
} else if (newVal == 7) {
|
||||
this.placeholder = "请输入手机号/邮箱/QQ号";
|
||||
} else if (newVal == 8) {
|
||||
this.placeholder = "请输入微信号";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 9) {
|
||||
this.placeholder = "请输入手机号或微信";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 10) {
|
||||
this.placeholder = "请输入邮箱或微信号";
|
||||
} else if (newVal == 11) {
|
||||
this.placeholder = "请输入手机号/邮箱/微信号";
|
||||
} else if (newVal == 12) {
|
||||
this.placeholder = "请输入QQ号或微信号";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 13) {
|
||||
this.placeholder = "请输入手机号/QQ号/微信号";
|
||||
this.maxlen = 20;
|
||||
} else if (newVal == 14) {
|
||||
this.placeholder = "请输入邮箱/QQ号/微信号";
|
||||
} else {
|
||||
this.placeholder = "请输入手机号/邮箱/QQ号/微信号";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,490 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover">
|
||||
<title>权益兑换页</title>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/vue.min.js?v=1367936144322" type="text/javascript"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
||||
</script>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/js/swiper.min.js"></script>
|
||||
<link href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/siteqiexchange/css/swiper.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/test1_1_0.js"></script>
|
||||
</head>
|
||||
<style scoped>
|
||||
* {
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
font-family: HYQiHei;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 26.66666667vw;
|
||||
}
|
||||
|
||||
body {
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
</style>
|
||||
|
||||
<body>
|
||||
<div id="homepage">
|
||||
<div v-show="loading">
|
||||
<div class="spinner">
|
||||
<div class="spinner-container container1">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
<div class="spinner-container container2">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
<div class="spinner-container container3">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="!loading&&!suspension" class="main-body">
|
||||
<!-- 轮播 -->
|
||||
<div id="rotation" v-if="layout=='2'">
|
||||
<!-- 顶部banner -->
|
||||
<div class="topBanner">
|
||||
<img class="backpresty" @click="backgoodsFn" v-if="goodsShow&&!iskey"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
<img :src="topImg" alt="">
|
||||
</div>
|
||||
<!-- //轮播 -->
|
||||
<div class="saleNull" v-if="!goodsNum">
|
||||
<img src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/saleNull.png" alt="">
|
||||
</div>
|
||||
<div class="commodity" v-if="goodsNum">
|
||||
<div class="swiper-container" :class="swiperDataList.length>1?'':'oneItem'">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="(item,index) in swiperDataList" :key="index">
|
||||
<div class="imgitemMask" v-if="item.available!=1">
|
||||
<span>
|
||||
<img v-if="item.available==4"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/yet.png" alt="">
|
||||
<img v-if="item.available==2"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/future.png" alt="">
|
||||
<img v-if="item.available==3"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/overdue.png" alt="">
|
||||
<img v-if="item.available==6"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/empty.png" alt="">
|
||||
</span>
|
||||
</div>
|
||||
<div class="imgbox">
|
||||
<img class="le-img" :src="item.show_url"
|
||||
:class="item.stock&&item.stock<0||item.available!=1&&item.available!=2?'changegray':''"></img>
|
||||
</div>
|
||||
<div class="item-name" v-html="item.product_name"
|
||||
:class="item.stock&&item.stock<0||item.available!=1&&item.available!=2?'changegray':''">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 立即兑换 -->
|
||||
<div class="exchangeBtn" :class="gstatus!=1?'noexchangeBtn':describe.type&&describe.type!=2?'bottomBtn':''"
|
||||
:style="{'background': bgcolor,'color':ftcolor}" @click="exchangeBtn()">
|
||||
立即兑换
|
||||
</div>
|
||||
</div>
|
||||
<!-- 列表 -->
|
||||
<div id="list" v-if="layout=='1'">
|
||||
<div class="topBanner">
|
||||
<img class="backpresty" @click="backgoodsFn" v-if="goodsShow&&!iskey"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
<img :src="topImg" alt="">
|
||||
</div>
|
||||
<div class="saleNull" v-if="!goodsNum">
|
||||
<img src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/saleNull.png" alt="">
|
||||
</div>
|
||||
<ul class="listcommity" v-if="goodsNum">
|
||||
<li v-for="(item,i) in swiperDataList" :key="i" @click="exchangeBtn(item)">
|
||||
<div>
|
||||
<img :src="item.show_url" alt=""
|
||||
:class="item.stock&&item.stock<0||item.available!=1&&item.available!=2?'changegray':''">
|
||||
<font :class="item.stock&&item.stock<0||item.available!=1&&item.available!=2?'changegray':''">
|
||||
{{item.product_name}}</font>
|
||||
</div>
|
||||
<!-- <span v-if="item.available==1" :style="{'background':bgcolor?bgcolor:'#F98F5B'}"
|
||||
@click="exchangeBtn(item)" >兑换</span>
|
||||
<span v-if="item.available!=1" class="bindexchange" :class="item.available==2?'begin':''"
|
||||
@click="exchangeBtn(item)">{{item.available==2?'即将开始':item.available==3?'已过期':item.available==4?'已兑换':'已兑完'}}</span> -->
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- 矩阵 -->
|
||||
<div id="matrix" v-if="layout=='3'">
|
||||
<div class="topBanner">
|
||||
<img class="backpresty" @click="backgoodsFn" v-if="goodsShow&&!iskey"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png" alt="">
|
||||
<img :src="topImg" alt="">
|
||||
|
||||
</div>
|
||||
<div class="saleNull" v-if="!goodsNum">
|
||||
<img src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/saleNull.png" alt="">
|
||||
</div>
|
||||
|
||||
<ul class="listcommity" v-if="goodsNum">
|
||||
<li :class="item.stock&&item.stock<0||item.available!=1&&item.available!=2?'changegray':''"
|
||||
v-for="(item,i) in swiperDataList" :key="i" @click="exchangeBtn(item)">
|
||||
<div>
|
||||
<span class="goodsIcon">
|
||||
<img v-if="item.available==4"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/yet.png" alt="">
|
||||
<img v-if="item.available==2"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/future.png" alt="">
|
||||
<img v-if="item.available==3"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/overdue.png" alt="">
|
||||
<img v-if="item.available==6"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/empty.png" alt="">
|
||||
</span>
|
||||
<img :src="item.show_url" alt="">
|
||||
</div>
|
||||
<font>{{item.product_name}}</font>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="bottom" id="bottom" :class="layout==2?'tipset':''" v-show="describe.type">
|
||||
<img :src="describe.bg_image" v-show="describe.type==1&&describe.bg_image">
|
||||
<div v-html="describe.content" class="goodsTip" v-show="describe.type==3&&describe.content"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 悬浮提示 -->
|
||||
<div v-if="suspension" class="suspensionDom">
|
||||
<img @click="closeTip" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/backprepageBtn.png"
|
||||
alt="">
|
||||
<h4>活动规则</h4>
|
||||
<div v-html="describe.content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- 弹出框 -->
|
||||
<div class="mask" v-if="maskshow">
|
||||
</div>
|
||||
<img class="susTip" @click="susTipFn" v-if="describe.type==2&&describe.content&&!suspension&&!loading"
|
||||
src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/img/acticeTextTip.png" alt="">
|
||||
<!-- 单条弹出框 -->
|
||||
<div class="prompt" :class="promtshow?'proactive':''">
|
||||
{{this.promttip}}
|
||||
</div>
|
||||
|
||||
<!-- 弹出提示 -->
|
||||
<div class="popboxshow" v-if="popboxshow&&popboxtype=='提示'" :class="popboxshow?'active':''">
|
||||
<div class="tip">
|
||||
<p :class="gstatus==4||gstatus==6?'yettip':''">{{tiptext}}</p>
|
||||
<span @click="successchangeBtn" :class="gstatus==4||gstatus==6?'yetexchange':''">知道了</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 成功 -->
|
||||
<div class="popboxshow successbox" v-if="popboxshow&&popboxtype=='成功'" :class="popboxshow?'active':''">
|
||||
<div>
|
||||
<p>{{this.successTip}}</p>
|
||||
<span @click="successchangeBtnFn">我知道啦</span>
|
||||
</div>
|
||||
</div>
|
||||
<img v-if="popboxshow&&popboxtype!='成功'" class="closed"
|
||||
src="http://lsxd-customcard-h5.oss-cn-hangzhou.aliyuncs.com/cardpwd/img/commimgs/close.png" alt=""
|
||||
@click="closeBtn()">
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#homepage',
|
||||
data() {
|
||||
return {
|
||||
swiperDataList: [], //轮播
|
||||
layout: 1,
|
||||
maskshow: false,
|
||||
promtshow: false,
|
||||
promttip: '',
|
||||
loading: true,
|
||||
lastid: 0,
|
||||
gstatus: 1,
|
||||
suspension: false,
|
||||
popboxshow: false,
|
||||
popboxtype: '兑换',
|
||||
topImg: '',
|
||||
goodsShow: true,
|
||||
goodsNum: false,
|
||||
exchangeCommity: {}, //兑换选择的商品
|
||||
bgcolor: '',
|
||||
describe: {},
|
||||
ftcolor: '',
|
||||
iskey:true,
|
||||
allgoods: [],
|
||||
showType:0,
|
||||
tiptext: '还没开始哟,兑换时间为2021-12-05 12:12:12至2021-01-01 12:12:12',
|
||||
successTip: '兑换成功,请直接登录app使用!'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getGoods();
|
||||
let productConfig = JSON.parse(sessionStorage.getItem('product_list'));
|
||||
this.bgcolor = productConfig.button_color;
|
||||
this.ftcolor = productConfig.font_color;
|
||||
this.topImg = productConfig.top_image;
|
||||
document.title = sessionStorage.getItem('title');
|
||||
this.layout = productConfig.list;
|
||||
this.iskey=sessionStorage.getItem('haskey');
|
||||
this.describe = productConfig.describe;
|
||||
},
|
||||
methods: {
|
||||
closeTip() {
|
||||
this.suspension = false;
|
||||
},
|
||||
susTipFn() {
|
||||
this.suspension = true;
|
||||
},
|
||||
onSelected(item) {
|
||||
this.exchangeCommity = item;
|
||||
this.gstatus = item.available;
|
||||
},
|
||||
backgoodsFn() {
|
||||
let backUrl=window.history.length;
|
||||
if(window.history.length){
|
||||
history.go(-backUrl+1);
|
||||
}
|
||||
},
|
||||
// 单条弹框
|
||||
openDialog() {
|
||||
this.promtshow = true;
|
||||
setTimeout(() => {
|
||||
this.promtshow = false;
|
||||
this.promttip = '';
|
||||
}, 3000)
|
||||
},
|
||||
//根据token获取商品信息
|
||||
async getGoods() {
|
||||
let self = this;
|
||||
let showType = sessionStorage.getItem('showType');
|
||||
this.showType=showType;
|
||||
let data = {
|
||||
"last_product_id": sessionStorage.getItem('lastid') | 0,
|
||||
}
|
||||
if (showType == 1) { //白名单
|
||||
let tokenList = JSON.parse(sessionStorage.getItem('getTokenList'));
|
||||
let goodsList = [];
|
||||
for (item of tokenList) {
|
||||
let goodsItem = [];
|
||||
data.token = item;
|
||||
let waitGoods = await req.axiosPostproducts('/key/products', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
res.data.forEach(it => {
|
||||
it.token = item;
|
||||
});
|
||||
goodsItem = res.data;
|
||||
}else{
|
||||
self.maskshow = true;
|
||||
self.popboxtype = '提示';
|
||||
self.popboxshow = true;
|
||||
self.tiptext = res.message;
|
||||
if (res.code == -1) {
|
||||
setTimeout(() => {
|
||||
window.location.href = sessionStorage.getItem('white_link');
|
||||
}, 3000);
|
||||
}
|
||||
}
|
||||
});
|
||||
goodsList = goodsList.concat(goodsItem);
|
||||
};
|
||||
let duplicate = []; //去重
|
||||
let goodsArr = []; //最终的商品集合
|
||||
goodsList.forEach(item => {
|
||||
if (duplicate.indexOf(item.product_id) == -1) {
|
||||
duplicate.push(item.product_id);
|
||||
}
|
||||
});
|
||||
let similar = []
|
||||
duplicate.forEach(it => {
|
||||
similar = goodsList.filter(iten => { //goodshow为去重后的数据
|
||||
return iten.product_id == it;
|
||||
});
|
||||
let flag = [1, 2, 6, 8, 7, 5, 4, 3]; //显示的avarivble规则
|
||||
let minIndex = 7;
|
||||
similar.forEach(item => {
|
||||
let flagIndex = flag.indexOf(item.available);
|
||||
if (flagIndex > -1) {
|
||||
if (flagIndex < minIndex)
|
||||
minIndex = flagIndex;
|
||||
}
|
||||
})
|
||||
let obj = similar.find((o) => {
|
||||
return o.available == flag[minIndex]
|
||||
})
|
||||
goodsArr.push(obj);
|
||||
});
|
||||
|
||||
self.swiperDataList = goodsArr;
|
||||
self.goodsShow = goodsArr.length > 1;
|
||||
sessionStorage.setItem('goodsCount', goodsArr.length);
|
||||
if (goodsArr && goodsArr.length == 1&&goodsArr[0].available==1) {
|
||||
sessionStorage.setItem('goodsInfo', JSON.stringify(goodsArr[0]));
|
||||
sessionStorage.setItem('key',goodsArr[0].key);
|
||||
sessionStorage.setItem('token',goodsArr[0].token);
|
||||
// window.location.href = "./exchange.html";
|
||||
window.location.replace("./exchange.html");
|
||||
return false;
|
||||
}else if(goodsArr && goodsArr.length >= 1) {
|
||||
self.goodsNum = true;
|
||||
self.onSelected(goodsArr[0])
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper('.swiper-container', {
|
||||
slidesPerView: "auto",
|
||||
loopAdditionalSlides: 1000,
|
||||
centeredSlides: true,
|
||||
observer: true,
|
||||
observeParents: true,
|
||||
loop: self.goodsShow,
|
||||
onSlideChangeEnd: function (swiper) {
|
||||
let row = goodsArr[swiper.realIndex];
|
||||
self.onSelected(goodsArr[swiper.realIndex])
|
||||
}
|
||||
})
|
||||
})
|
||||
setTimeout(() => {
|
||||
self.loading = false;
|
||||
}, 100);
|
||||
} else {
|
||||
self.goodsNum = false;
|
||||
}
|
||||
}else {//兑换码
|
||||
data.token = sessionStorage.getItem('token')
|
||||
req.axiosPostproducts('/key/products', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
self.swiperDataList = res.data;
|
||||
sessionStorage.setItem('goodsCount',res.data.length);
|
||||
self.goodsShow = res.data.length > 1;
|
||||
if (res.data && res.data.length == 1&&res.data[0].available==1) {
|
||||
sessionStorage.setItem('goodsInfo', JSON.stringify(res.data[0]));
|
||||
// window.location.href = "./exchange.html";
|
||||
window.location.replace("./exchange.html");
|
||||
return false;
|
||||
}else if(res.data && res.data.length >= 1) {
|
||||
self.goodsNum = true;
|
||||
self.onSelected(res.data[0])
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper('.swiper-container', {
|
||||
slidesPerView: "auto",
|
||||
loopAdditionalSlides: 1000,
|
||||
centeredSlides: true,
|
||||
observer: true,
|
||||
observeParents: true,
|
||||
loop: self.goodsShow,
|
||||
onSlideChangeEnd: function (swiper) {
|
||||
let row = res.data[swiper.realIndex];
|
||||
self.onSelected(res.data[swiper.realIndex])
|
||||
}
|
||||
})
|
||||
})
|
||||
setTimeout(() => {
|
||||
self.loading = false;
|
||||
}, 100);
|
||||
}
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.popboxtype = '提示';
|
||||
self.popboxshow = true;
|
||||
self.tiptext = res.message;
|
||||
if (res.code == -1) {
|
||||
let haskey = sessionStorage.getItem('haskey');
|
||||
if (haskey) {
|
||||
setTimeout(() => {
|
||||
// window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId')+'&';
|
||||
window.history.back();
|
||||
// sessionStorage.clear();
|
||||
}, 3000);
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
window.location.href = "./index.html?id=" + sessionStorage.getItem('linkId');
|
||||
// sessionStorage.clear();
|
||||
}, 3000);
|
||||
}
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
//选择商品点击兑换
|
||||
exchangeBtn(row = this.exchangeCommity) {
|
||||
let gstatus = row.available;
|
||||
this.gstatus = gstatus;
|
||||
if (gstatus == 1) {
|
||||
// 跳转商品详情页面
|
||||
if(this.showType==1){//白名单
|
||||
sessionStorage.setItem('token',row.token);
|
||||
sessionStorage.setItem('key',row.key);
|
||||
}
|
||||
sessionStorage.setItem('goodsInfo', JSON.stringify(row));
|
||||
// window.location.href = './exchange.html';
|
||||
window.location.replace("./exchange.html");
|
||||
|
||||
// this.maskshow = true;
|
||||
// this.proname = row.product_name;
|
||||
// this.productType = row.account_type;
|
||||
} else {
|
||||
this.maskshow = true;
|
||||
this.popboxshow = true;
|
||||
this.popboxtype = '提示';
|
||||
if (gstatus == 2) { //未开始
|
||||
this.tiptext = '还没开始哟,兑换时间为' + row.begin_time + '至' + row.end_time;
|
||||
} else if (gstatus == 3) { //已结束
|
||||
this.tiptext = '兑换已过期,兑换时间为' + row.begin_time + '至' + row.end_time;
|
||||
} else if (gstatus == 4) { //仅兑换一次
|
||||
this.tiptext = '亲,仅可兑换一次哦!';
|
||||
} else if (gstatus == 5) { //累计次数达到上限
|
||||
this.tiptext = '当前商品兑换次数达到上限';
|
||||
} else if (gstatus == 6) { //无库存
|
||||
this.tiptext = '暂无库存,看看其他商品吧~';
|
||||
} else if (gstatus == 7) { //其他商品处于兑换中
|
||||
this.tiptext = '当前商品不可兑换';
|
||||
} else if (gstatus == 8) { //已兑换次数
|
||||
this.tiptext = '当前商品正在兑换中';
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//关闭,关闭弹框
|
||||
closeBtn() {
|
||||
this.popboxshow = false;
|
||||
this.maskshow = false;
|
||||
if (this.gstatus == 8) {
|
||||
window.history.go(0);
|
||||
}
|
||||
},
|
||||
|
||||
//关闭弹出框,仅关闭弹框
|
||||
successchangeBtn() {
|
||||
this.maskshow = false;
|
||||
this.popboxshow = false;
|
||||
if (this.gstatus == 8) {
|
||||
window.history.go(0);
|
||||
}
|
||||
},
|
||||
//刷新页面
|
||||
successchangeBtnFn() {
|
||||
window.history.go(0);
|
||||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,382 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,viewport-fit=cover">
|
||||
<title>权益兑换页</title>
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/vue.min.js?v=1367936144322" type="text/javascript"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript" src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/common/axios.js?v=1367936144322">
|
||||
</script>
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/loading.css">
|
||||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/js/test1_1_0.js"></script>
|
||||
<link rel="stylesheet" href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/css/homepage1_1_0.css">
|
||||
</head>
|
||||
|
||||
<style scoped>
|
||||
html {
|
||||
font-size: 26.66666667vw;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
font-size: .14rem;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
* {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<body>
|
||||
<div id="app" :style={background:bgcolor}>
|
||||
<!-- 单条弹出框 -->
|
||||
<div class="prompt" :class="promtshow?'proactive':''">
|
||||
{{this.promttip}}
|
||||
</div>
|
||||
<!-- 弹出提示 -->
|
||||
<div class="mask" v-if="maskshow"></div>
|
||||
<div class="popboxshow" v-if="popboxshow" :class="popboxshow?'active':''">
|
||||
<div class="tip">
|
||||
<p class="yettip">{{tiptext}}</p>
|
||||
<span @click="successchangeBtn" class="yetexchange">知道了</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="um-content" v-if="loading">
|
||||
<div class="spinner">
|
||||
<div class="spinner-container container1">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
<div class="spinner-container container2">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
<div class="spinner-container container3">
|
||||
<div class="circle1"></div>
|
||||
<div class="circle2"></div>
|
||||
<div class="circle3"></div>
|
||||
<div class="circle4"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="!loading">
|
||||
<div class="top">
|
||||
<img :src="topImg" id="top">
|
||||
</div>
|
||||
<div class="center" id="center">
|
||||
<img :src="middleImg" style="position: absolute;z-index: 1;" id="center_img">
|
||||
<input class="key" :maxlength="16" v-if="pageType==3" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入兑换码"
|
||||
v-model="key" />
|
||||
<input class="code" :maxlength="5" v-if="pageType==3" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入验证码"
|
||||
v-model="code" />
|
||||
|
||||
<input class="key" :maxlength="11" v-if="pageType==1" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入手机号"
|
||||
v-model="key" />
|
||||
<input class="code" :maxlength="6" v-if="pageType==1" :style={color:ftcolor?ftcolor:'#333'} placeholder="请输入验证码"
|
||||
v-model="code" />
|
||||
|
||||
<img src="#" alt="" class="codeimg" v-if="pageType==3" id="captcha_img" @click="changeyzmFn()" />
|
||||
<button class="codeimg" :class="disabled?'disabledstyle':'active'" v-if="pageType==1" @click="getcode()"
|
||||
:disabled="disabled">{{codetip}}</button>
|
||||
<div class="submit" @click="submit"></div>
|
||||
</div>
|
||||
<div class="bottom" id="bottom">
|
||||
<img :src="describe.bg_image" v-show="describe.type&&describe.bg_image">
|
||||
<div v-html="describe.content" class="tipBottomtext" v-show="describe.type==2&&describe.content"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
new Vue({
|
||||
el: '#app',
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
pageType: 1,
|
||||
key: '',
|
||||
code: '',
|
||||
disabled: true,
|
||||
codetip: '获取验证码',
|
||||
topImg: '',
|
||||
middleImg: '',
|
||||
describe: {},
|
||||
ftcolor: '',
|
||||
bgcolor: '#333',
|
||||
promttip: '',
|
||||
promtshow: false,
|
||||
popboxshow: false,
|
||||
tiptext: '提示信息',
|
||||
plan_id: '',
|
||||
maskshow: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let self = this;
|
||||
//获取链接携带的参数
|
||||
let linkId = this.getQueryString('id');
|
||||
let keyCode = this.getQueryString('key');
|
||||
if (!linkId) {
|
||||
let path = window.location.pathname;
|
||||
let parmas = path.split('/');
|
||||
let parmasResult = parmas.filter(n => n);
|
||||
linkId = parmasResult.length > 0 ? parmasResult[0] : null; //链接携带落地页渲染id
|
||||
keyCode = parmasResult.length > 1 ? parmasResult[1] : null; //链接携带key
|
||||
}
|
||||
if(linkId.length>10){
|
||||
req.axiosGetplan('/plan/plan_theme/' + linkId).then(res => {
|
||||
if(res.code==200){
|
||||
window.location.replace(res.data);
|
||||
return;
|
||||
}else{
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
})
|
||||
}
|
||||
req.axiosGetplan('/plan/plan_theme/' + linkId).then(res => {
|
||||
if (res.code == 200) {
|
||||
//内置页顶图
|
||||
document.title = res.data.title;
|
||||
self.plan_id = res.data.plan_id
|
||||
this.pageType = res.data.page;
|
||||
sessionStorage.setItem('title', res.data.title);
|
||||
if (res.data.page == 3) {
|
||||
sessionStorage.setItem('product_list', JSON.stringify(res.data['exchange'].product_list));
|
||||
sessionStorage.setItem('product_detail', JSON.stringify(res.data['exchange'].product_detail));
|
||||
} else if (res.data.page == 1) {
|
||||
sessionStorage.setItem('product_list', JSON.stringify(res.data['access_conf'].product_list));
|
||||
sessionStorage.setItem('product_detail', JSON.stringify(res.data['access_conf'].product_detail));
|
||||
}
|
||||
sessionStorage.setItem('linkId', linkId);
|
||||
//是否携带token
|
||||
if (keyCode) {
|
||||
let data = {
|
||||
key: keyCode
|
||||
}
|
||||
req.axiosPostTogppds('/key/loginFromLink', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
sessionStorage.setItem('key', keyCode);
|
||||
sessionStorage.setItem('token', res.data.token);
|
||||
sessionStorage.setItem('haskey', keyCode);
|
||||
this.promttip = '正在加载商品...';
|
||||
this.openDialog();
|
||||
window.location.replace("/homepage.html");
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
});
|
||||
} else {
|
||||
let keyName;
|
||||
if (this.pageType == 3) {
|
||||
captchaimg();
|
||||
keyName = 'exchange';
|
||||
} else if (this.pageType == 1) {
|
||||
keyName = 'access_conf';
|
||||
}
|
||||
self.bgcolor = res.data[keyName].land.bg_color;
|
||||
self.ftcolor = res.data[keyName].land.font_color;
|
||||
self.topImg = res.data[keyName].land.top_image;
|
||||
self.middleImg = res.data[keyName].land.middle_image;
|
||||
self.describe = res.data[keyName].land.describe;
|
||||
self.loading = false;
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
let img = document.getElementById("center_img")
|
||||
let center = document.getElementById("center")
|
||||
img.onload = function (e) {
|
||||
center.style.height = img.clientHeight + "px";
|
||||
}
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
successchangeBtn() {
|
||||
this.popboxshow = false;
|
||||
this.maskshow = false;
|
||||
},
|
||||
getcode() {
|
||||
let self = this;
|
||||
let data = {
|
||||
'mobile': this.key,
|
||||
'plan_id': this.plan_id
|
||||
}
|
||||
req.axiosPostsendMobile('/sms/sendMobileExchangeCode', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
let timeId = 60;
|
||||
let timer = setInterval(() => {
|
||||
timeId--;
|
||||
if (timeId > 0) {
|
||||
self.codetip = timeId + 's';
|
||||
self.disabled = true;
|
||||
} else {
|
||||
clearInterval(timer);
|
||||
self.codetip = '获取验证码';
|
||||
self.disabled = false;
|
||||
}
|
||||
}, 1000);
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {});
|
||||
},
|
||||
submit() {
|
||||
let self = this;
|
||||
if (!this.key) {
|
||||
this.promttip = '请输入兑换码';
|
||||
this.openDialog();
|
||||
} else {
|
||||
if (!this.code) {
|
||||
this.promttip = '请输入验证码';
|
||||
this.openDialog();
|
||||
} else {
|
||||
if (this.pageType == 3) { //兑换码
|
||||
let data = {
|
||||
"key": this.key,
|
||||
"code": this.code,
|
||||
"code_unique_str": sessionStorage.getItem('unique_str')
|
||||
}
|
||||
req.axiosPostKey('/key/login', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
sessionStorage.setItem('key', self.key);
|
||||
sessionStorage.setItem('token', res.data.token);
|
||||
this.promttip = '正在加载商品...';
|
||||
this.openDialog();
|
||||
setTimeout(() => {
|
||||
window.location.href = './homepage.html';
|
||||
}, 2000);
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
});
|
||||
} else if (this.pageType == 1) { //白名单
|
||||
let par = {
|
||||
"code": this.code,
|
||||
"mobile": this.key,
|
||||
"plan_id": this.plan_id
|
||||
}
|
||||
let getTokenList = [];
|
||||
req.axiosPostgetKey('/key/getKeyByMobile', par).then(async res => {
|
||||
if (res.data.code == 200) {
|
||||
sessionStorage.setItem('key', self.key);
|
||||
sessionStorage.setItem('token', res.data.data);
|
||||
sessionStorage.setItem('showType', 1);
|
||||
sessionStorage.setItem('white_link', window.location.href);
|
||||
let tokenArr = res.data.data;
|
||||
let istoGoods = false;
|
||||
for (item of tokenArr) {
|
||||
let obj = {}
|
||||
let data = {
|
||||
"code_unique_str": res.headers['unique-str'],
|
||||
"key": item
|
||||
}
|
||||
let wait = await req.axiosPostKey('/key/loginFromMobileKey', data).then(res => {
|
||||
if (res.code == 200) {
|
||||
getTokenList.push(res.data.token);
|
||||
istoGoods = true;
|
||||
} else {
|
||||
if(res.message=='活动暂停中'){
|
||||
self.tiptext = res.message;
|
||||
istoGoods = false;
|
||||
}else{
|
||||
self.tiptext = res.message;
|
||||
}
|
||||
}
|
||||
}).catch(err => {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.message;
|
||||
self.popboxshow = true;
|
||||
});
|
||||
};
|
||||
if (istoGoods) {
|
||||
sessionStorage.setItem('getTokenList', JSON.stringify(getTokenList));
|
||||
this.promttip = '正在加载商品...';
|
||||
this.openDialog();
|
||||
setTimeout(() => {
|
||||
window.location.href = './homepage.html';
|
||||
}, 2000);
|
||||
}else{
|
||||
self.maskshow = true;
|
||||
self.tiptext = self.tiptext;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
} else {
|
||||
self.maskshow = true;
|
||||
self.tiptext = res.data.message;
|
||||
self.popboxshow = true;
|
||||
}
|
||||
}).catch(err => {});
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
getQueryString(name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) return unescape(r[2]);
|
||||
return null;
|
||||
},
|
||||
// 单条弹框
|
||||
openDialog() {
|
||||
this.promtshow = true;
|
||||
setTimeout(() => {
|
||||
this.promtshow = false;
|
||||
this.promttip = '';
|
||||
}, 3000)
|
||||
},
|
||||
changeyzmFn() {
|
||||
captchaimg()
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
||||
},
|
||||
watch: {
|
||||
key(val) {
|
||||
if (this.pageType == 1) {
|
||||
if (val.length == 11) {
|
||||
this.disabled = false;
|
||||
} else {
|
||||
this.disabled = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</html>
|
Loading…
Reference in New Issue