mobileclient/packkey/bm-goods-index.html

159 lines
6.0 KiB
HTML
Raw Normal View History

2024-02-23 14:22:16 +08:00
<!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">
<!-- A11Y如果有无障碍方面的需求建议使用下面的 viewport 设置,不要禁止页面缩放 -->
<!--<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />-->
<script>
var docEl = document.documentElement;
docEl.style.fontSize = 100 / 375 * docEl.clientWidth + 'px';
window.addEventListener('resize', function () {
docEl.style.fontSize = 100 / 375 * docEl.clientWidth + 'px';
});
</script>
<link rel="stylesheet"
href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/antui/swiper.min.css">
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/antui/swiper.min.js"></script>
<link rel="stylesheet"
href="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/antui/antui-all.css" />
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/antui/antui.js"></script>
<script src="https://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/libs/vue.global.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-container am-carousel demo-swiper" id="J-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 class="am-toast text" v-show="state.showToast">
<div class="am-toast-text">
{{state.toastTip}}
</div>
</div>
</div>
</body>
<script>
// 模拟数据
2024-02-23 14:58:25 +08:00
// let bm_gold_obj = {
// token: "0cb6758a5523ad5ef168ae9b02f0391c",
// settlement_data: {
// is_settlement: true,
// settlement_type: 2,
// }
// }
// sessionStorage.setItem("bm_auth", JSON.stringify(bm_gold_obj));
2024-02-23 14:22:16 +08:00
// 获取 包码结算数据-打开结算
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.token, bm_obj_data.settlement_data.settlement_type);
}
const { createApp, ref, reactive, onMounted } = Vue;
createApp({
setup() {
// 参数
const state = reactive({
describeUrl: [], // 商品列表图片
useMarkUrl: "",
bmAuth: {},
toastTip: "",
showToast: false
})
const openToast = (msg) => {
if (state.showToast) return
state.toastTip = msg;
state.showToast = true;
setTimeout(() => {
state.showToast = false;
}, 1500);
}
// 获取商品信息
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) {
state.describeUrl = res.data[0].entity.describe_url;
state.useMarkUrl = res.data[0].entity.detail_url;
} else {
openToast(res.message);
}
}
// 立即领取
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.token, bm_obj_data.settlement_data.settlement_type);
}
window.location.href = './bm-goods-exchange.html'
}
onMounted(() => {
// 领取结算
if (bm_obj_data && !bm_obj_data.settlement_data.is_settlement && bm_obj_data.settlement_data.settlement_type === 3) {
settlementFun(bm_obj_data.token, 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(() => {
var mySwiper1 = new Swiper('#J-swiper', {
pagination: '.swiper-pagination',
loop: true,
initialSlide: 0
});
});
})
return {
goToExchange,
state
}
}
}).mount('#app')
</script>
</html>