修复成员功能

This commit is contained in:
al 2024-09-09 17:37:22 +08:00
parent 400b00ebe2
commit e56ff6fca0
5 changed files with 32 additions and 93 deletions

View File

@ -205,7 +205,7 @@ export default function Search({ navigation, route }) {
}, },
{ {
name: "微信价格", name: "微信价格",
desc: "10金币=¥1", desc: "10金币=1",
upper_bound: 30000, upper_bound: 30000,
lower_bound: 0, lower_bound: 0,
default: 24, default: 24,

View File

@ -1,10 +1,4 @@
import { import { View, Text, FlatList, Image as NativeImage } from "react-native";
View,
Text,
FlatList,
RefreshControl,
Image as NativeImage,
} from "react-native";
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import { useTailwind } from "tailwind-rn"; import { useTailwind } from "tailwind-rn";
import Toast from "react-native-toast-message"; import Toast from "react-native-toast-message";
@ -21,7 +15,7 @@ export default function AllSpaceMember({ zid }) {
const tailwind = useTailwind(); const tailwind = useTailwind();
const [offset, setOffset] = useState(0); const [offset, setOffset] = useState(0);
const [more, setMore] = useState(1); const [more, setMore] = useState(1);
const [data, setData] = useState([]); const [data, setData] = useState({ list: [], total: 0 });
const getData = async () => { const getData = async () => {
if (zid === undefined || !more) return; if (zid === undefined || !more) return;
const apiUrl = process.env.EXPO_PUBLIC_API_URL; const apiUrl = process.env.EXPO_PUBLIC_API_URL;
@ -45,6 +39,7 @@ export default function AllSpaceMember({ zid }) {
body: JSON.stringify(body), body: JSON.stringify(body),
} }
); );
console.log(JSON.stringify(body));
const _data = await _response.json(); const _data = await _response.json();
if (_data.ret === -1) { if (_data.ret === -1) {
Toast.show({ Toast.show({
@ -54,7 +49,11 @@ export default function AllSpaceMember({ zid }) {
}); });
return; return;
} }
setData(_data.data.list); setData((old) => ({
...old,
list: [...old.list, ..._data.data.list],
total: _data.data.total,
}));
setOffset(_data.data.offset); setOffset(_data.data.offset);
setMore(_data.data.more); setMore(_data.data.more);
} catch (error) { } catch (error) {
@ -66,16 +65,6 @@ export default function AllSpaceMember({ zid }) {
getData(); getData();
}, []); }, []);
//
const [refreshing, setRefreshing] = useState(false);
//
const handleRefresh = async () => {
setRefreshing(true);
await getData();
setRefreshing(false);
};
// //
const renderItem = ({ item }) => { const renderItem = ({ item }) => {
return ( return (
@ -141,17 +130,9 @@ export default function AllSpaceMember({ zid }) {
return ( return (
<View style={tailwind("px-4 flex-1")}> <View style={tailwind("px-4 flex-1")}>
<FlatList <FlatList
data={data} data={data?.list}
renderItem={renderItem} renderItem={renderItem}
initialNumToRender={12} initialNumToRender={12}
refreshControl={
<RefreshControl
colors={["#FF669E"]}
tintColor="white"
refreshing={refreshing}
onRefresh={() => handleRefresh()}
/>
}
onEndReached={() => getData()} onEndReached={() => getData()}
ListEmptyComponent={<Empty type="nodata" />} ListEmptyComponent={<Empty type="nodata" />}
ListHeaderComponent={() => ( ListHeaderComponent={() => (
@ -161,7 +142,7 @@ export default function AllSpaceMember({ zid }) {
)} )}
> >
<Text style={tailwind("text-white text-sm font-medium")}> <Text style={tailwind("text-white text-sm font-medium")}>
空间总人数{data?.length} 空间总人数{data?.total}
</Text> </Text>
</View> </View>
)} )}

View File

@ -1,10 +1,4 @@
import { import { View, Text, FlatList, Image as NativeImage } from "react-native";
View,
Text,
FlatList,
RefreshControl,
Image as NativeImage,
} from "react-native";
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import { useTailwind } from "tailwind-rn"; import { useTailwind } from "tailwind-rn";
import Toast from "react-native-toast-message"; import Toast from "react-native-toast-message";
@ -21,7 +15,7 @@ export default function IronfanSpaceMember({ zid }) {
const tailwind = useTailwind(); const tailwind = useTailwind();
const [offset, setOffset] = useState(0); const [offset, setOffset] = useState(0);
const [more, setMore] = useState(1); const [more, setMore] = useState(1);
const [data, setData] = useState([]); const [data, setData] = useState({ list: [], total: 0 });
const getData = async () => { const getData = async () => {
if (zid === undefined || !more) return; if (zid === undefined || !more) return;
const apiUrl = process.env.EXPO_PUBLIC_API_URL; const apiUrl = process.env.EXPO_PUBLIC_API_URL;
@ -36,7 +30,7 @@ export default function IronfanSpaceMember({ zid }) {
}; };
const signature = await generateSignature(body); const signature = await generateSignature(body);
const _response = await fetch( const _response = await fetch(
`${apiUrl}/api/zone/member_list?signature=${signature}`, `${apiUrl}/api/zone/member_list_v2?signature=${signature}`,
{ {
method: "POST", method: "POST",
headers: { headers: {
@ -54,9 +48,14 @@ export default function IronfanSpaceMember({ zid }) {
}); });
return; return;
} }
setData(_data.data.list); setData((old) => ({
...old,
list: [...old.list, ..._data.data.list],
total: _data.data.total,
}));
setOffset(_data.data.offset); setOffset(_data.data.offset);
setMore(_data.data.more); setMore(_data.data.more);
console.log(_data);
} catch (error) { } catch (error) {
console.error(error); console.error(error);
} }
@ -65,17 +64,6 @@ export default function IronfanSpaceMember({ zid }) {
useEffect(() => { useEffect(() => {
getData(); getData();
}, []); }, []);
//
const [refreshing, setRefreshing] = useState(false);
//
const handleRefresh = async () => {
setRefreshing(true);
await getData();
setRefreshing(false);
};
// //
const renderItem = ({ item }) => { const renderItem = ({ item }) => {
return ( return (
@ -141,17 +129,9 @@ export default function IronfanSpaceMember({ zid }) {
return ( return (
<View style={tailwind("px-4 flex-1")}> <View style={tailwind("px-4 flex-1")}>
<FlatList <FlatList
data={data} data={data.list}
renderItem={renderItem} renderItem={renderItem}
initialNumToRender={12} initialNumToRender={12}
refreshControl={
<RefreshControl
colors={["#FF669E"]}
tintColor="white"
refreshing={refreshing}
onRefresh={() => handleRefresh()}
/>
}
onEndReached={() => getData()} onEndReached={() => getData()}
ListEmptyComponent={<Empty type="nodata" />} ListEmptyComponent={<Empty type="nodata" />}
ListHeaderComponent={() => ( ListHeaderComponent={() => (
@ -161,7 +141,7 @@ export default function IronfanSpaceMember({ zid }) {
)} )}
> >
<Text style={tailwind("text-white text-sm font-medium")}> <Text style={tailwind("text-white text-sm font-medium")}>
铁粉总人数{data?.length} 铁粉总人数{data?.total}
</Text> </Text>
</View> </View>
)} )}

View File

@ -1,10 +1,4 @@
import { import { View, Text, FlatList, Image as NativeImage } from "react-native";
View,
Text,
FlatList,
RefreshControl,
Image as NativeImage,
} from "react-native";
import React, { useState, useEffect } from "react"; import React, { useState, useEffect } from "react";
import { useTailwind } from "tailwind-rn"; import { useTailwind } from "tailwind-rn";
import Toast from "react-native-toast-message"; import Toast from "react-native-toast-message";
@ -21,7 +15,7 @@ export default function SuperFanSpaceMember({ zid }) {
const tailwind = useTailwind(); const tailwind = useTailwind();
const [offset, setOffset] = useState(0); const [offset, setOffset] = useState(0);
const [more, setMore] = useState(1); const [more, setMore] = useState(1);
const [data, setData] = useState([]); const [data, setData] = useState({ list: [], total: 0 });
const getData = async () => { const getData = async () => {
if (zid === undefined || !more) return; if (zid === undefined || !more) return;
const apiUrl = process.env.EXPO_PUBLIC_API_URL; const apiUrl = process.env.EXPO_PUBLIC_API_URL;
@ -36,7 +30,7 @@ export default function SuperFanSpaceMember({ zid }) {
}; };
const signature = await generateSignature(body); const signature = await generateSignature(body);
const _response = await fetch( const _response = await fetch(
`${apiUrl}/api/zone/member_list?signature=${signature}`, `${apiUrl}/api/zone/member_list_v2?signature=${signature}`,
{ {
method: "POST", method: "POST",
headers: { headers: {
@ -54,7 +48,11 @@ export default function SuperFanSpaceMember({ zid }) {
}); });
return; return;
} }
setData(_data.data.list); setData((old) => ({
...old,
list: [...old.list, ..._data.data.list],
total: _data.data.total,
}));
setOffset(_data.data.offset); setOffset(_data.data.offset);
setMore(_data.data.more); setMore(_data.data.more);
} catch (error) { } catch (error) {
@ -66,16 +64,6 @@ export default function SuperFanSpaceMember({ zid }) {
getData(); getData();
}, []); }, []);
//
const [refreshing, setRefreshing] = useState(false);
//
const handleRefresh = async () => {
setRefreshing(true);
await getData();
setRefreshing(false);
};
// //
const renderItem = ({ item }) => { const renderItem = ({ item }) => {
return ( return (
@ -141,17 +129,9 @@ export default function SuperFanSpaceMember({ zid }) {
return ( return (
<View style={tailwind("px-4 flex-1")}> <View style={tailwind("px-4 flex-1")}>
<FlatList <FlatList
data={data} data={data.list}
renderItem={renderItem} renderItem={renderItem}
initialNumToRender={12} initialNumToRender={12}
refreshControl={
<RefreshControl
colors={["#FF669E"]}
tintColor="white"
refreshing={refreshing}
onRefresh={() => handleRefresh()}
/>
}
onEndReached={() => getData()} onEndReached={() => getData()}
ListEmptyComponent={<Empty type="nodata" />} ListEmptyComponent={<Empty type="nodata" />}
ListHeaderComponent={() => ( ListHeaderComponent={() => (
@ -161,7 +141,7 @@ export default function SuperFanSpaceMember({ zid }) {
)} )}
> >
<Text style={tailwind("text-white text-sm font-medium")}> <Text style={tailwind("text-white text-sm font-medium")}>
超粉总人数{data?.length} 超粉总人数{data?.total}
</Text> </Text>
</View> </View>
)} )}

View File

@ -18,7 +18,6 @@ import { generateSignature } from "../../../utils/crypto";
import formatTimestamp from "../../../utils/formatTimestamp"; import formatTimestamp from "../../../utils/formatTimestamp";
export default function SpaceSearch({ navigation }) { export default function SpaceSearch({ navigation }) {
const blurhash = "LcKUTa%gOYWBYRt6xuoJo~s8V@fk"; const blurhash = "LcKUTa%gOYWBYRt6xuoJo~s8V@fk";
const tailwind = useTailwind(); const tailwind = useTailwind();
const insets = useSafeAreaInsets(); const insets = useSafeAreaInsets();
const [data, setData] = useState([]); const [data, setData] = useState([]);
@ -77,7 +76,6 @@ export default function SpaceSearch({ navigation }) {
//focus //focus
useEffect(() => { useEffect(() => {
searchRef.current.focus(); searchRef.current.focus();
getData();
}, []); }, []);
// //
// useEffect(() => { // useEffect(() => {