162 lines
6.2 KiB
HTML
162 lines
6.2 KiB
HTML
<!DOCTYPE html>
|
||
<!-- A11Y:注意设置页面的 lang 属性 -->
|
||
<html lang="zh">
|
||
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<!-- A11Y:打开页面时,屏幕阅读器会首先阅读 title 的内容,确保 title 准确描述页面 -->
|
||
<title>领取详情</title>
|
||
<meta name="description" content="" />
|
||
<meta name="keywords" content="" />
|
||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
|
||
<meta name="format-detection" content="telephone=no, email=no" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||
<script>
|
||
var docEl = document.documentElement;
|
||
docEl.style.fontSize = 100 / 750 * docEl.clientWidth + 'px';
|
||
window.addEventListener('resize', function () {
|
||
docEl.style.fontSize = 100 / 750 * docEl.clientWidth + 'px';
|
||
});
|
||
</script>
|
||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/vue.global.js"></script>
|
||
<link rel="stylesheet"
|
||
href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/swiper-bundle.min.css" />
|
||
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/swiper-bundle.min.js"></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/MarketingSystem/js/api2_0.js"></script>
|
||
<link rel="stylesheet" href="./style.css">
|
||
|
||
</head>
|
||
|
||
<body ontouchstart="">
|
||
<div id="app">
|
||
<!-- 轮播 -->
|
||
<div class="swiper">
|
||
<div class="swiper-wrapper">
|
||
<div class="swiper-slide" v-for="item in state.describeUrl">
|
||
<img :src="item" alt="">
|
||
</div>
|
||
</div>
|
||
<div class="swiper-pagination"></div>
|
||
</div>
|
||
|
||
<!-- 说明 -->
|
||
<div class="use-mark">
|
||
<img :src="state.useMarkUrl" alt="">
|
||
</div>
|
||
|
||
<!-- 底部 -->
|
||
<footer class="footer">
|
||
<button type="button" class="footer-btn" @click="goToExchange">立即领取</button>
|
||
</footer>
|
||
</div>
|
||
<script>
|
||
// 模拟数据
|
||
// let bm_gold_obj = {
|
||
// token: "0d9d1a4365939377bb20336d72cd555e",
|
||
// key: "AAABuYxwxrLe4EZv", //
|
||
// settlement_data: {
|
||
// is_settlement: true, // 是否结算
|
||
// settlement_type: 2, // 结算类型
|
||
// }
|
||
// }
|
||
// sessionStorage.setItem("bm_auth", JSON.stringify(bm_gold_obj));
|
||
|
||
/**
|
||
* 结算 埋点方法
|
||
* @param {string} key
|
||
* @param {number} settlementType
|
||
*/
|
||
const settlementFun = (key, settlementType) => {
|
||
let params = {
|
||
key,
|
||
type: settlementType
|
||
}
|
||
req.axiosPost('/key/settlement/create', params).then(res => {
|
||
if (res.code === 200) {
|
||
// 接口请求成功后,就不能再请求接口了
|
||
let obj_sy = JSON.parse(sessionStorage.getItem("bm_auth"));
|
||
obj_sy.settlement_data.is_settlement = true;
|
||
sessionStorage.setItem("bm_auth", JSON.stringify(obj_sy));
|
||
}
|
||
console.log("点 =>", res)
|
||
});
|
||
}
|
||
|
||
// 获取 包码结算数据-打开结算
|
||
const bm_obj_data = sessionStorage.getItem("bm_auth") ? JSON.parse(sessionStorage.getItem("bm_auth")) : null;
|
||
if (bm_obj_data && !bm_obj_data.settlement_data.is_settlement && bm_obj_data.settlement_data.settlement_type === 2) {
|
||
settlementFun(bm_obj_data.key, bm_obj_data.settlement_data.settlement_type);
|
||
}
|
||
|
||
const { createApp, ref, reactive, onMounted } = Vue;
|
||
createApp({
|
||
setup() {
|
||
|
||
// 参数
|
||
const state = reactive({
|
||
describeUrl: [], // 商品列表图片
|
||
useMarkUrl: "",
|
||
bmAuth: {}
|
||
})
|
||
|
||
// 兑换
|
||
const goToExchange = () => {
|
||
// 领取结算
|
||
if (bm_obj_data && !bm_obj_data.settlement_data.is_settlement && bm_obj_data.settlement_data.settlement_type === 4) {
|
||
settlementFun(bm_obj_data.key, bm_obj_data.settlement_data.settlement_type);
|
||
}
|
||
|
||
window.location.href = './exchange.html'
|
||
}
|
||
|
||
// 获取商品信息
|
||
const getProducts = async () => {
|
||
let params = {
|
||
last_product_id: 0,
|
||
token: state.bmAuth.token
|
||
}
|
||
let res = await req.axiosPost('/key/products', params);
|
||
if (res.code === 200) {
|
||
// 注意:只能是一个商品
|
||
sessionStorage.setItem("bm_goodsInfo", JSON.stringify(res.data[0]));
|
||
state.describeUrl = res.data[0].entity.describe_url;
|
||
state.useMarkUrl = res.data[0].entity.detail_url;
|
||
}
|
||
}
|
||
|
||
onMounted(() => {
|
||
// 领取结算
|
||
if (bm_obj_data && !bm_obj_data.settlement_data.is_settlement && bm_obj_data.settlement_data.settlement_type === 3) {
|
||
settlementFun(bm_obj_data.key, bm_obj_data.settlement_data.settlement_type);
|
||
}
|
||
|
||
let bm_data = sessionStorage.getItem("bm_auth");
|
||
if (bm_data) {
|
||
state.bmAuth = JSON.parse(bm_data)
|
||
}
|
||
getProducts().then(() => {
|
||
const swiper = new Swiper('.swiper', {
|
||
loop: true,
|
||
pagination: {
|
||
el: '.swiper-pagination',
|
||
}
|
||
});
|
||
});
|
||
|
||
})
|
||
|
||
|
||
return {
|
||
goToExchange,
|
||
state
|
||
}
|
||
}
|
||
}).mount('#app')
|
||
</script>
|
||
</body>
|
||
|
||
|
||
</html> |