import * as WebBrowser from "expo-web-browser";
import * as React from "react";
import {
Image,
Platform,
StyleSheet,
Button,
View,
Picker,
Alert,
Text,
} from "react-native";
import { ScrollView } from "react-native-gesture-handler";
import { MonoText } from "../components/StyledText";
import { useFocusEffect } from "@react-navigation/native";
import axios from "axios";
export default function HomeScreen() {
const [token, setToken] = React.useState("");
const [goods, setGoods] = React.useState([]);
const [cartId, setCartId] = React.useState(0);
const [selectId, changeSelect] = React.useState(45);
const [selectGoodsId, changeGoods] = React.useState(0);
const [error, setError] = React.useState("");
const [check, changeCheck] = React.useState(true);
const [orderId, setOrderId] = React.useState(0);
const axiosInstance = React.useMemo(() => {
let axiosInstance = axios.create({
baseURL: "http://dingdong.izouma.com",
});
axiosInstance.interceptors.request.use(
config => {
config.headers = config.headers || {};
if (token) {
config.headers["Authorization"] = "Bearer " + token;
}
return config;
},
error => {
return Promise.reject(error);
}
);
axiosInstance.interceptors.response.use(
response => {
setError("");
return response.data;
},
error => {
setError(error.response.data.error);
return Promise.reject(error.response.data);
}
);
return axiosInstance;
}, [token]);
const chooseGoods = React.useMemo(() => {
if (selectGoodsId) {
return goods.find(item => {
return item.id == selectGoodsId;
});
} else {
return {};
}
}, [selectGoodsId, goods]);
useFocusEffect(
React.useCallback(() => {
var data = new FormData();
data.append("username", "123");
data.append("password", "123");
axiosInstance
.post("/auth/login", data, {
withCredentials: true,
})
.then(res => {
setToken(res);
});
}, [])
);
const GoodsInfos = () => {
return goods.map(item => (
));
};
React.useEffect(() => {
if (token) {
console.log(token);
axiosInstance
.get("/goods/all?size=999&sort=id,desc")
.then(res => {
console.log(res.content);
setGoods(res.content);
});
}
}, [token, check]);
return (
{error != "" && 错误提示:{error}}
{goods.length > 0 && (
changeGoods(itemValue)
}
>
{GoodsInfos()}
)}
{chooseGoods.status != "PASS" && selectGoodsId != 0 && (
);
}
HomeScreen.navigationOptions = {
header: null,
};
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: "#fafafa",
alignItems: "center",
justifyContent: "space-around",
},
btn: {
marginHorizontal: 10,
marginVertical: 10,
},
});