import TabBar from "@/components/navigation/TabBar";
import { rpxToPx } from "@/utils/tools";
import { View, Text, Image, ScrollView, Button } from "@tarojs/components";
import Taro, { useRouter, useShareAppMessage } from "@tarojs/taro";
import { useDispatch, useSelector } from "react-redux";
import { useEffect, useState } from "react";
import { followUser, getFriendDashBoard, getFriendMoments, getMyFriends, getUserHome } from "@/services/friend";
import FriendGuide from "./guide";
import EmptyContent from "./empty_content";
import MomentItem from "./moment_item";
import { useTranslation } from "react-i18next";
import { windows } from "@/services/health";
import { setFastWithSleep, setFinishSetup, setLongFast, setRefreshs, setWindows } from "@/store/health";
import { getInfoSuccess } from "@/store/user";
import FriendMain from "./friend_main";
export default function Friend() {
const dispatch = useDispatch();
const user = useSelector((state: any) => state.user);
const [loaded, setLoaded] = useState(false)
useEffect(() => {
if (process.env.TARO_ENV == 'weapp') {
loadWXCache()
}
else {
loadRNCache()
}
}, [])
useEffect(() => {
getWindows()
}, [user.isLogin])
function getWindows() {
windows().then(res => {
dispatch(setFastWithSleep((res as any).fast_with_sleep))
dispatch(setWindows((res as any).windows))
dispatch(setLongFast((res as any).long_fast))
dispatch(setRefreshs((res as any).refresh_timestamps))
dispatch(setFinishSetup((res as any).finish_setup))
}).catch(e => {
})
}
function loadWXCache() {
var gps = Taro.getStorageSync('gps')
if (gps) {
global.locationDetail = JSON.parse(gps)
}
global.memberAlert = Taro.getStorageSync('memberAlert') || false
var userData = Taro.getStorageSync('userData')
if (userData) {
console.log('load user cache')
dispatch(getInfoSuccess(JSON.parse(userData)));
}
setLoaded(true)
}
async function loadRNCache() {
var showDayRing = await getStorage('showDayRing') || false;
var showNightRing = await getStorage('showNightRing') || false;
global.memberAlert = await getStorage('memberAlert') || false
var gps = await getStorage('gps')
if (gps) {
global.locationDetail = JSON.parse(gps)
}
var userData = await getStorage('userData')
console.log(userData)
if (userData) {
dispatch(getInfoSuccess(JSON.parse(userData)));
}
setLoaded(true)
}
async function getStorage(key: string) {
try {
const res = await Taro.getStorage({ key });
return res.data;
} catch {
return '';
}
}
if (!loaded)
return
return
}