@@ -26,11 +26,16 @@ import { Button } from '@/components/Button';
26
26
import { SvgIcon } from '@/components/Image' ;
27
27
import Loader from '@/components/Loader' ;
28
28
import { NoData } from '@/components/NoData' ;
29
- import { post , get } from '@/utils/request' ;
30
29
30
+ import { fetchFollowerList , fetchFollowedList , followUser , unfollowUser } from '#/domain/profile/repository' ;
31
31
import TabBarWidget from '#/domain/profile/widgets/tab-bar' ;
32
32
import { useUser } from '#/state/application/hooks' ;
33
33
34
+ const followFetchMap = {
35
+ followers : fetchFollowerList ,
36
+ following : fetchFollowedList ,
37
+ } ;
38
+
34
39
export default function Follow ( { params } ) {
35
40
const { status } = useSession ( ) ;
36
41
const router = useRouter ( ) ;
@@ -47,7 +52,7 @@ export default function Follow({ params }) {
47
52
const fetchList = useCallback ( async ( ) => {
48
53
// handle
49
54
setLoading ( true ) ;
50
- const data = await get ( `ts/v1/user/ ${ params . handle } / ${ params . follow } ?&skip= ${ ( page - 1 ) * 20 } &take= ${ 20 } ` ) ;
55
+ const data = await followFetchMap [ params . follow ] ( { handle : params . handle , pageNum : page } ) ;
51
56
setLoading ( false ) ;
52
57
if ( page === 1 ) {
53
58
setList ( data . data . list ) ;
@@ -66,9 +71,9 @@ export default function Follow({ params }) {
66
71
router . push ( `/signin?from=${ pathname } ` ) ;
67
72
} else {
68
73
setFollowLoading ( index ) ;
69
- const res = await post ( `ts/v1/user/follow/ ${ item . user . user_id } ` ) ;
74
+ const res = await followUser ( item . user . user_id ) ;
70
75
setFollowLoading ( null ) ;
71
- if ( res . code === 200 ) {
76
+ if ( res . success ) {
72
77
const _prevList = [ ...list ] ;
73
78
_prevList [ index ] . mutual = type ;
74
79
setList ( _prevList ) ;
@@ -83,9 +88,9 @@ export default function Follow({ params }) {
83
88
router . push ( `/signin?from=${ pathname } ` ) ;
84
89
} else {
85
90
setFollowLoading ( index ) ;
86
- const res = await post ( `ts/v1/user/follow/ ${ item . user . user_id } /del` ) ;
91
+ const res = await unfollowUser ( item . user . user_id ) ;
87
92
setFollowLoading ( null ) ;
88
- if ( res . code === 200 ) {
93
+ if ( res . success ) {
89
94
const _prevList = [ ...list ] ;
90
95
_prevList [ index ] . mutual = type ;
91
96
setList ( _prevList ) ;
0 commit comments