hookehuyr

✨ feat: 金数据功能联调

......@@ -9,32 +9,7 @@
</template>
<script setup>
import Cookies from 'js-cookie'
import axios from '@/utils/axios'
import { Toast } from 'vant'
/**
* 获取默认儿童信息
* @returns name, perf_id, kg_id
*/
if (!Cookies.get('default_perf')) {
axios.get('/srv/?a=default_perf')
.then(res => {
if (res.data.code === 1) {
Cookies.set('default_perf', JSON.stringify(res.data.data));
} else {
console.warn(res);
Toast({
icon: 'close',
message: res.data.msg
});
}
})
.catch(err => {
console.error(err);
});
}
</script>
<style lang="less">
......
......@@ -47,10 +47,13 @@ const onUpload = (v) => {
// x_field_1是金数据表单传入的参数,老师上传的格式为:user_id-book_id-perf_id,perf_id 为 0
let str = `${props.user_id}-${v.id}-0`;
location.href = `http://jsj.onwall.cn/f/g7D0MT?x_field_1=${str}`;
// BUG: 关闭loading临时处理
setTimeout(() => {
show.value = false;
}, 2000);
}
onBeforeRouteLeave(() => {
show.value = false;
})
</script>
......
......@@ -20,7 +20,7 @@
<van-row>
<van-col span="4" style="line-height: 2;">捐赠人<span style="color: red;">*</span></van-col>
<van-col class="donate-input" span="18">
<input v-model="donate_name" type="text" style="border: 0; padding: 0.25rem;" />
<input v-model="item.perf_name" type="text" style="border: 0; padding: 0.25rem;" />
</van-col>
</van-row>
</div>
......@@ -79,13 +79,9 @@ export default {
popupHeight: '60%',
show: false,
donate_number: 1,
donate_name: ''
}
},
mounted() {
// 缺省儿童信息
const default_perf = Cookies.get('default_perf') ? JSON.parse(Cookies.get('default_perf')) : '';
this.donate_name = default_perf.name;
},
watch: {
showPopup(value, pre) {
......@@ -112,7 +108,7 @@ export default {
axios.post('/srv/?a=add_donate', {
book_id: this.item.book_id,
qty: this.donate_number,
donate_name: this.donate_name,
donate_name: this.item.perf_name,
})
.then(res => {
if (res.data.code === 1) {
......
......@@ -184,19 +184,26 @@ const onSubscribe = () => {
}
/*************** 捐书模块START ***************/
// 金数据准备数据
const default_perf = ref({});
// x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id
default_perf.value = Cookies.get('default_perf') ? JSON.parse(Cookies.get('default_perf')) : '';
const str = `${default_perf.value.user_id}-${$route.query.id}-${default_perf.value.perf_id}`;
const donateItem = ref({})
// 捐书数据
donateItem.value = {
book_id: default_perf.value.book_id,
avatar: default_perf.value.book_cover,
name: default_perf.value.book_name,
price: default_perf.value.book_price,
perf_name: default_perf.value.perf_name
}
// 弹出捐赠弹框模块
const showDonate = ref(false);
const toDonate = () => {
showDonate.value = true;
// 捐书数据
donateItem.value = {
book_id: $route.query.id,
avatar: bookInfo.value.cover,
name: bookInfo.value.name,
price: bookInfo.value.price
}
}
const closeDonate = (v) => {
......@@ -231,13 +238,17 @@ const uploadVideo = () => {
// 已读隐私条例,直接跳转上传页面
if (Cookies.get('privacy_notice')) {
show.value = true;
// x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id
let default_perf = Cookies.get('default_perf') ? JSON.parse(Cookies.get('default_perf')) : '';
let str = `${$route.query.user_id}-${$route.query.id}-${default_perf.perf_id}`
location.href = `https://jsjs.onwall.cn/f/NAGn1D?x_field_1=${str}`;
// BUG: 关闭loading临时处理
setTimeout(() => {
show.value = false;
}, 2000);
} else {
$router.push({
path: '/client/privacyNotice'
path: '/client/privacyNotice',
query: {
str
}
})
}
} else {
......@@ -290,8 +301,6 @@ onActivated(() => { // keepAlive 重置后执行回调
}
});
}
// 关闭等待提示
show.value = false;
});
const changeRouterKeepAlive = (path, keepAlive) => {
......@@ -477,14 +486,4 @@ export default {
text-align: center;
}
.block {
width: 80%;
// height: 25rem;
background-color: #fff;
border-radius: 10px;
padding: 1rem;
position: relative;
margin-top: 1rem;
margin-bottom: 5rem;
}
</style>
......
......@@ -53,6 +53,7 @@ import { bookFn } from '@/composables/useBookList.js'
import { ref, reactive } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import _ from 'lodash'
import axios from '@/utils/axios';
const $route = useRoute();
const $router = useRouter();
......@@ -76,12 +77,36 @@ const styleObject = reactive({
// 跳转书籍详情页
const onClick = (item) => {
$router.push({
path: '/client/bookDetail',
query: {
id: item.id
}
});
/**
* 获取默认儿童信息
* @returns name, perf_id, kg_id
*/
axios.get('/srv/?a=default_perf', {
params: {
book_id: item.id
}
})
.then(res => {
if (res.data.code === 1) {
// 缓存缺省儿童信息
Cookies.set('default_perf', JSON.stringify(res.data.data))
$router.push({
path: '/client/bookDetail',
query: {
id: item.id
}
});
} else {
console.warn(res);
Toast({
icon: 'close',
message: res.data.msg
});
}
})
.catch(err => {
console.error(err);
});
}
</script>
......
......@@ -42,6 +42,11 @@ const book_id = $route.query.x_field_1 ? $route.query.x_field_1.split('-')[1] :
if (!book_id) {
Toast.fail('书籍数据不全');
}
/**
* 获取默认儿童信息
* @returns name, perf_id, kg_id
*/
axios.get('/srv/?a=default_perf', {
params: {
book_id
......@@ -72,7 +77,8 @@ const toDonate = () => {
book_id: donateItem.value.book_id,
avatar: donateItem.value.book_cover,
name: donateItem.value.book_name,
price: donateItem.value.book_price
price: donateItem.value.book_price,
perf_name: donateItem.value.perf_name
}
}
......
......@@ -21,6 +21,12 @@
</div>
</div>
</div>
<van-overlay :show="show" z-index="9999">
<div class="wrapper" @click.stop>
<van-loading size="24px">跳转中...</van-loading>
</div>
</van-overlay>
</template>
<script setup>
......@@ -37,9 +43,18 @@ const $router = useRouter();
const disagree = () => {
$router.go(-1)
}
const show = ref(false); // 跳转等待提示
const agree = () => {
show.value = true;
Cookies.set('privacy_notice', '1');
location.href = 'https://jinshuju.net/f/NAGn1D';
// x_field_1 是金数据表单传入的参数,家长上传的格式为:user_id-book_id-perf_id,perf_id是当前缺省的儿童id
location.href = `https://jsjs.onwall.cn/f/NAGn1D?x_field_1=${$route.query.str}`;
// BUG: 关闭loading临时处理
setTimeout(() => {
show.value = false;
}, 2000);
}
</script>
......@@ -106,4 +121,13 @@ export default {
}
}
}
</style>
\ No newline at end of file
.wrapper {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: auto;
text-align: center;
}
</style>
......