附加廣告功能測試

main
bruce68410 2 years ago
parent 58b5b000a5
commit 2a958df547

@ -829,6 +829,8 @@ function bubble_struc(json) {
direction = !direction || direction == "" ? "ltr" : direction; direction = !direction || direction == "" ? "ltr" : direction;
size = upper2digit(size); size = upper2digit(size);
console.log(json);
return `<div class="lyItem Ly${size}"><div class="T1 fx${direction.toUpperCase()}" dir="${direction}"><!-- hero --><!-- header --><!-- body --><!-- footer --></div></div>`; return `<div class="lyItem Ly${size}"><div class="T1 fx${direction.toUpperCase()}" dir="${direction}"><!-- hero --><!-- header --><!-- body --><!-- footer --></div></div>`;
} }
function hero_struc(json) { function hero_struc(json) {

@ -0,0 +1,19 @@
import { genCard } from "./card/index";
function genAdCard (option) {
// const { json5: vcard } = ctx;
// return {
// type: "flex",
// altText: vcard.altText,
// contents: {
// type: "carousel",
// contents: ctx
// },
// };
console.log(option,"test");
return option;
}
export { genAdCard}

@ -1,6 +1,7 @@
import { genCard } from "./card/index"; import { genCard } from "./card/index";
function cardFactory(option) { function cardFactory(option) {
console.log(genCard(option));
return genCard(option); return genCard(option);
} }

@ -1,7 +1,7 @@
<script setup> <script setup>
import liff from "@line/liff"; import liff from "@line/liff";
import { showToast, showSuccessToast,showFailToast } from 'vant'; import { showToast,showSuccessToast } from 'vant';
import { onMounted, reactive, ref, toRefs, computed, watch } from 'vue' import { onMounted, reactive, ref, toRefs, computed, watch } from 'vue'
@ -11,16 +11,15 @@ import { cardFactory } from '@/utils/card'
import { genCard1 } from '@/utils/card2' import { genCard1 } from '@/utils/card2'
import { genVipCard } from '@/utils/vipcard' import { genVipCard } from '@/utils/vipcard'
import { useUserStore } from '@/store/user' import { genAdCard } from '@/utils/adcard'
import { useCardStore } from '@/store/card' import { useStore } from 'vuex'
const userStore = useUserStore() const store = useStore()
const cardStore = useCardStore()
const state = ref({ const state = ref({
// active: 0, // active: 0,
showCusCard: false, showCusCard: false,
card_title: computed(() => cardStore.cusCard.card_title), card_title: computed(() => store.state.user.userInfo.card_title),
vip_card: [], vip_card: [],
flexContent: {}, flexContent: {},
}) })
@ -30,7 +29,7 @@ const activeName = ref('0');
let flexRef = ref(null) let flexRef = ref(null)
const userInfo = computed(() => { const userInfo = computed(() => {
return userStore.userData return store.state.user.userInfo
}) })
onMounted(async () => { onMounted(async () => {
@ -45,19 +44,20 @@ onMounted(async () => {
} }
}) })
//tab
watch(() => activeName.value, function (newVal, oldVal) { watch(() => activeName.value, function (newVal, oldVal) {
if (newVal !== oldVal) { if (newVal !== oldVal) {
showFlex(newVal) showFlex(newVal)
} }
}, { immediate: true }) }, { immediate: true })
watch(() => cardStore.cusCard.cus_card, function (newVal, oldVal) { watch(() => userInfo.value.cus_card, function (newVal, oldVal) {
if (userInfo.value.level > 1 && newVal.length > 0) { if (userInfo.value.level > 1 && newVal.length > 0) {
state.value.showCusCard = true state.value.showCusCard = true
} }
}, { immediate: true }) }, { immediate: true })
//
watch(() => userInfo.value.nc_template, function (newVal, oldVal) { watch(() => userInfo.value.nc_template, function (newVal, oldVal) {
showFlex('0') showFlex('0')
}) })
@ -68,10 +68,17 @@ async function showFlex(id) {
case '0': case '0':
let { data: res } = await getCard({ userid: sessionStorage.getItem('uid') }) let { data: res } = await getCard({ userid: sessionStorage.getItem('uid') })
let { card } = cardFactory({ tid: userInfo.value.nc_template, vcard: res }) let { card } = cardFactory({ tid: userInfo.value.nc_template, vcard: res })
// let { card } = genCard(res) state.value.flexContent = genAdCard(JSON.parse(card));
state.value.flexContent = JSON.parse(card) // state.value.flexContent = JSON.parse(card)
flexRef.value.innerHTML = '' flexRef.value.innerHTML = ''
flex2html("flex", state.value.flexContent) flex2html("flex", state.value.flexContent)
// console.log(flex2html("flex", state.value.flexContent),"flex2html");
document.getElementById("flex").append('testAAA');
break break
case '1': case '1':
if (userInfo.value.level > 1) { if (userInfo.value.level > 1) {
@ -122,7 +129,8 @@ const sendEcard = async () => {
let content = JSON.parse(JSON.stringify(state.value.flexContent)) let content = JSON.parse(JSON.stringify(state.value.flexContent))
try { console.log(JSON.stringify(state.value.flexContent))
let res let res
if (activeName.value === '0') { if (activeName.value === '0') {
@ -145,10 +153,7 @@ const sendEcard = async () => {
// // on cancel // // on cancel
// }) // })
} else { } else {
showFailToast('傳送失敗') showToast.fail('傳送失敗')
}
}catch(err){
console.log('send error',err)
} }
} }
@ -172,7 +177,7 @@ function showChangeTpl() {
} }
const changeTpl = (val) => { const changeTpl = (val) => {
userStore.setUserTpl(val) store.dispatch('user/setUserTpl', val)
showDraw.value = false showDraw.value = false
} }
@ -186,7 +191,7 @@ const changeTpl = (val) => {
<h5 class="text-white mb-1"><strong>名片分享</strong></h5> <h5 class="text-white mb-1"><strong>名片分享</strong></h5>
</template> </template>
<template #left> <template #left>
<h4><i class="fa-solid fa-angle-left text-white" :style="{ opacity: 0.5 }"></i></h4> <h4><i class="fa-solid fa-angle-left text-white" :style="{opacity:0.5}"></i></h4>
</template> </template>
</van-nav-bar> </van-nav-bar>
@ -206,7 +211,7 @@ const changeTpl = (val) => {
<template #title> <template #title>
<div class="tab_item"> <div class="tab_item">
<i class="fa-solid fa-clipboard fa-2x mb-1"></i> <i class="fa-solid fa-clipboard fa-2x mb-1"></i>
<p class="mb-3">{{ state.card_title }}</p> <p class="mb-3">{{state.card_title}}</p>
</div> </div>
</template> </template>
</van-tab> </van-tab>
@ -215,7 +220,7 @@ const changeTpl = (val) => {
<template #title> <template #title>
<div class="tab_item"> <div class="tab_item">
<i class="fa-regular fa-file-lines fa-2x mb-1"></i> <i class="fa-regular fa-file-lines fa-2x mb-1"></i>
<p class="mb-3">{{ card.title }}</p> <p class="mb-3">{{card.title}}</p>
</div> </div>
</template> </template>
</van-tab> </van-tab>
@ -228,6 +233,7 @@ const changeTpl = (val) => {
<div class="flex-section"> <div class="flex-section">
<div class="table-responsive"> <div class="table-responsive">
<div class="chatbox"> <div class="chatbox">
<!-- <div id="flex" ref="flexRef"></div> -->
<div id="flex" ref="flexRef"></div> <div id="flex" ref="flexRef"></div>
</div> </div>
</div> </div>
@ -292,9 +298,8 @@ const changeTpl = (val) => {
.tpl-list { .tpl-list {
.tpl-item { .tpl-item {
width: 150px; width:150px;
padding: 10px; padding: 10px;
img { img {
width: 100%; width: 100%;
} }

Loading…
Cancel
Save