hookehuyr

✨ feat: 测试异步组合式接口,前端调用太麻烦弃用

......@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-18 21:12:23
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-06-01 15:32:49
* @LastEditTime: 2022-06-09 09:21:54
* @FilePath: /tswj/src/api/C/kg.js
* @Description: 幼儿园相关接口
*/
......@@ -12,6 +12,7 @@ const Api = {
KG_LIST: '/srv/?a=kg_list',
KG_DONATE_LIST: '/srv/?a=donate_list',
KG_DONATE_RANK: '/srv/?a=donate_rank',
KG_BOOK_LIST: '/srv/?a=kg_book_list',
}
/**
......@@ -38,3 +39,10 @@ export const kgDonateListAPI = (params) => fn(fetch.get(Api.KG_DONATE_LIST, para
* @returns {array} data
*/
export const kgDonateRankAPI = (params) => fn(fetch.get(Api.KG_DONATE_RANK, params));
/**
* @description 幼儿园书籍列表
* @param {*} kg_id 幼儿园ID
* @returns {*} data
*/
export const kgBookListAPI = (params) => fn(fetch.get(Api.KG_BOOK_LIST, params));
......
/*
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-17 12:13:13
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-06-09 09:40:35
* @FilePath: /tswj/src/composables/index.js
* @Description:
*/
import { onMounted, onUnmounted } from 'vue'
import { useVideoList } from '@/composables/useVideoList.js'
import { useDefaultPerf } from '@/composables/useDefaultPerf.js'
import { useBookList } from '@/composables/useBookList.js'
import { useBookList, useAsyncBookList } from '@/composables/useBookList.js'
import { useShortcutBar } from '@/composables/useShortcutBar.js'
import { useScrollTop } from '@/composables/useScrollTop.js'
......@@ -10,6 +18,7 @@ export {
useVideoList,
useDefaultPerf,
useBookList,
useAsyncBookList,
useShortcutBar,
useScrollTop
}
......
......@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-07 17:46:54
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-06-01 21:40:57
* @LastEditTime: 2022-06-09 11:26:42
* @FilePath: /tswj/src/composables/useBookList.js
* @Description:
*/
......@@ -10,6 +10,7 @@ import { ref } from 'vue'
import axios from '@/utils/axios';
import { Toast } from 'vant';
import { useRoute } from 'vue-router';
import { kgBookListAPI } from '@/api/C/kg'
export const useBookList = () => {
const $route = useRoute();
......@@ -32,6 +33,9 @@ export const useBookList = () => {
.then(res => {
if (res.data.code === 1) {
kgInfo.value = res.data.data;
kgInfo.value.book_list.forEach(item => {
item.show = true; // 默认显示所有,给搜索功能留的hook
});
// 有空格分割name
if (kgInfo.value.name.indexOf(' ') > -1) {
kgInfo.value.multi_name = kgInfo.value.name.split(' ');
......@@ -57,6 +61,9 @@ export const useBookList = () => {
axios.get('/srv/?a=book_list')
.then(res => {
if (res.data.code === 1) {
res.data.data.forEach(item => {
item.show = true; // 默认显示所有,给搜索功能留的hook
});
kgInfo.value = {
book_list: res.data.data
}
......@@ -84,3 +91,36 @@ export const useBookList = () => {
emptyStatus
}
}
// !!废弃方法
// 前端使用方式过于复杂
export const useAsyncBookList = async () => {
const $route = useRoute();
const emptyStatus = ref(false);
// tslint:disable-next-line: variable-name
const kg_id = $route.query.kg_id ? $route.query.kg_id : '';
const kgInfo = ref({
id: '',
logo: '',
name: '',
multi_name: [],
book_list: []
});
const { data } = await kgBookListAPI({ kg_id });
if (data) kgInfo.value = data;
kgInfo.value.book_list.forEach(item => {
item.show = true; // 默认显示所有,给搜索功能留的hook
});
// 有空格分割name
if (kgInfo.value.name.indexOf(' ') > -1) {
kgInfo.value.multi_name = kgInfo.value.name.split(' ');
}
if (!kgInfo.value.book_list.length) {
emptyStatus.value = true;
}
return {
kg_id,
kgInfo,
emptyStatus
}
}
......
......@@ -72,6 +72,7 @@ killPages();
store.changeScrollTop(0);
const { kg_id, kgInfo, emptyStatus } = useBookList();
// 配置快捷访问
const shortcutItem = ref([])
const isClient = Cookies.get('userType') === 'client' ? true : false; // 判断C端入口位置,访客/客户
......