mobileclient/packkey/goods-index.html

162 lines
6.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 = './goods-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>