Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
tswj
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
hookehuyr
2022-06-09 11:29:38 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
6b3d4df90734d74452ffff96cd3758bbaef84ba3
6b3d4df9
1 parent
5b801501
✨ feat: 测试异步组合式接口,前端调用太麻烦弃用
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
3 deletions
src/api/C/kg.js
src/composables/index.js
src/composables/useBookList.js
src/views/client/chooseBook.vue
src/api/C/kg.js
View file @
6b3d4df
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-18 21:12:23
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-06-0
1 15:32:49
* @LastEditTime: 2022-06-0
9 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
));
...
...
src/composables/index.js
View file @
6b3d4df
/*
* @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
}
...
...
src/composables/useBookList.js
View file @
6b3d4df
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-07 17:46:54
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2022-06-0
1 21:40:57
* @LastEditTime: 2022-06-0
9 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
}
}
...
...
src/views/client/chooseBook.vue
View file @
6b3d4df
...
...
@@ -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端入口位置,访客/客户
...
...
Please
register
or
login
to post a comment