Files
leoncloud_temeplate/app/project/leonapp/page.tsx

503 lines
16 KiB
TypeScript
Raw Normal View History

2025-11-16 15:31:19 +08:00
"use client";
import {
Card,
CardContent,
Typography,
Button,
Grid,
Box,
Container,
ImageList,
ImageListItem,
Link as MuiLink,
} from "@mui/material";
import { useTheme } from "@mui/material/styles";
import useMediaQuery from "@mui/material/useMediaQuery";
import GitHubIcon from "@mui/icons-material/GitHub";
import PublicIcon from "@mui/icons-material/Public";
import CodeIcon from "@mui/icons-material/Code";
import ShoppingCartIcon from "@mui/icons-material/ShoppingCart";
import SmartphoneIcon from "@mui/icons-material/Smartphone";
import RefreshIcon from "@mui/icons-material/Refresh";
import LinkIcon from "@mui/icons-material/Link";
export default function LeonAPP() {
const theme = useTheme();
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
const isMedium = useMediaQuery(theme.breakpoints.down("md"));
// 项目特点
const features = [
{
icon: (
<ShoppingCartIcon
color="primary"
style={{ fontSize: isMobile ? 24 : 32 }}
/>
),
title: "应用商城",
description: "提供各类应用和工具的展示与下载服务",
},
{
icon: (
<SmartphoneIcon
color="primary"
style={{ fontSize: isMobile ? 24 : 32 }}
/>
),
title: "移动友好",
description: "完全适配移动设备,提供流畅的用户体验",
},
{
icon: (
<RefreshIcon color="primary" style={{ fontSize: isMobile ? 24 : 32 }} />
),
title: "持续更新",
description: "v2版本正在开发中将带来全新的设计和实现",
},
{
icon: (
<CodeIcon color="primary" style={{ fontSize: isMobile ? 24 : 32 }} />
),
title: "开源项目",
description: "采用MIT开源协议鼓励社区参与和贡献",
},
];
return (
<Container maxWidth="lg" sx={{ py: { xs: 4, md: 8 } }}>
{/* 英雄区域 */}
<Box
sx={{
textAlign: "center",
mb: { xs: 6, md: 10 },
p: { xs: 4, md: 8 },
borderRadius: 4,
background:
"linear-gradient(135deg, rgba(63,81,181,0.05) 0%, rgba(63,81,181,0.1) 100%)",
}}
>
<Typography
variant="h3"
component="h1"
gutterBottom
sx={{ fontWeight: 700, mb: 3 }}
>
LeonAPP
</Typography>
<Typography variant="h6" color="text.secondary" gutterBottom>
</Typography>
<Typography
variant="body1"
sx={{
maxWidth: 600,
mx: "auto",
fontSize: { xs: "1rem", md: "1.1rem" },
}}
>
LeonCloud和武汉喵星创想互联网科技有限公司开发维护
</Typography>
<Box
sx={{
mt: 6,
display: "flex",
gap: 2,
justifyContent: "center",
flexWrap: "wrap",
}}
>
<Button
variant="contained"
startIcon={<PublicIcon />}
href="https://leon.miaostars.com"
target="_blank"
rel="noopener noreferrer"
sx={{ px: 3, py: 1.2 }}
>
访
</Button>
<Button
variant="outlined"
startIcon={<GitHubIcon />}
href="http://leonmmcoset.jjxmm.win:2000/LeonMMcoset/leonapp"
target="_blank"
rel="noopener noreferrer"
sx={{ px: 3, py: 1.2 }}
>
</Button>
</Box>
</Box>
{/* 项目概述 */}
<Box sx={{ mb: { xs: 8, md: 12 } }}>
<Typography
variant="h4"
component="h2"
gutterBottom
sx={{ mb: 4, fontWeight: 600 }}
>
</Typography>
<Grid container spacing={4}>
<Grid size={{ xs: 12, md: 6 }}>
<Typography variant="body1" sx={{ mb: 3, lineHeight: 1.8 }}>
LeonAPP是一个开源的应用商城项目
LeonCloud和武汉喵星创想互联网科技有限公司共同拥有和维护
</Typography>
<Typography variant="body1" sx={{ mb: 3, lineHeight: 1.8 }}>
LeonAPP
v1版本已发布PHP和HTML5技术栈实现LeonAPP
v2版本
</Typography>
<Typography variant="body1" sx={{ lineHeight: 1.8 }}>
MIT开源协议PC客户端使用GPLv3开源
</Typography>
</Grid>
<Grid size={{ xs: 12, md: 6 }}>
<Card sx={{ height: "100%", boxShadow: 3, borderRadius: 2 }}>
<CardContent>
<Typography
variant="h6"
gutterBottom
sx={{ mb: 2, fontWeight: 600 }}
>
</Typography>
<Box sx={{ display: "flex", flexDirection: "column", gap: 2 }}>
{features.map((feature, index) => (
<Box
key={index}
sx={{ display: "flex", alignItems: "flex-start", gap: 2 }}
>
<Box sx={{ color: theme.palette.primary.main, mt: 0.5 }}>
{feature.icon}
</Box>
<Box>
<Typography
variant="subtitle1"
sx={{ fontWeight: 600 }}
>
{feature.title}
</Typography>
<Typography variant="body2" color="text.secondary">
{feature.description}
</Typography>
</Box>
</Box>
))}
</Box>
</CardContent>
</Card>
</Grid>
</Grid>
</Box>
{/* 版本信息 */}
<Box sx={{ mb: { xs: 8, md: 12 } }}>
<Typography
variant="h4"
component="h2"
gutterBottom
sx={{ mb: 4, fontWeight: 600 }}
>
</Typography>
<Grid container spacing={4}>
<Grid size={{ xs: 12, md: 6 }}>
<Card sx={{ height: "100%", boxShadow: 2, borderRadius: 2 }}>
<CardContent>
<Typography
variant="h6"
gutterBottom
sx={{
mb: 2,
fontWeight: 600,
color: theme.palette.primary.main,
}}
>
LeonAPP v1
</Typography>
<Typography
variant="body2"
color="text.secondary"
sx={{ mb: 2 }}
>
</Typography>
<Typography variant="body1" sx={{ mb: 3 }}>
PHP和HTML5技术栈实现的应用商城系统
</Typography>
<Button
variant="outlined"
size="small"
startIcon={<GitHubIcon />}
href="http://leonmmcoset.jjxmm.win:2000/LeonMMcoset/leonapp"
target="_blank"
rel="noopener noreferrer"
>
</Button>
</CardContent>
</Card>
</Grid>
<Grid size={{ xs: 12, md: 6 }}>
<Card
sx={{
height: "100%",
boxShadow: 2,
borderRadius: 2,
borderLeft: `4px solid ${theme.palette.primary.main}`,
}}
>
<CardContent>
<Typography
variant="h6"
gutterBottom
sx={{
mb: 2,
fontWeight: 600,
color: theme.palette.primary.main,
}}
>
LeonAPP v2
</Typography>
<Typography
variant="body2"
color="text.secondary"
sx={{ mb: 2 }}
>
</Typography>
<Typography variant="body1" sx={{ mb: 3 }}>
</Typography>
<Button
variant="outlined"
size="small"
disabled
startIcon={<RefreshIcon />}
>
</Button>
</CardContent>
</Card>
</Grid>
</Grid>
</Box>
{/* 截图展示 */}
<Box sx={{ mb: { xs: 8, md: 12 } }}>
<Typography
variant="h4"
component="h2"
gutterBottom
sx={{ mb: 4, fontWeight: 600 }}
>
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ mb: 4 }}>
LeonAPP v1界面预览
</Typography>
<ImageList
sx={{ width: "100%", height: "auto" }}
cols={isMobile ? 1 : isMedium ? 2 : 3}
rowHeight={250}
>
<ImageListItem>
<img
src="/projects/leonapp/img1.png"
alt="LeonAPP v1截图1"
loading="lazy"
style={{
borderRadius: "8px",
width: "100%",
height: "100%",
objectFit: "cover",
}}
/>
</ImageListItem>
<ImageListItem>
<img
src="/projects/leonapp/img2.png"
alt="LeonAPP v1截图2"
loading="lazy"
style={{
borderRadius: "8px",
width: "100%",
height: "100%",
objectFit: "cover",
}}
/>
</ImageListItem>
<ImageListItem>
<img
src="/projects/leonapp/img3.png"
alt="LeonAPP v1截图3"
loading="lazy"
style={{
borderRadius: "8px",
width: "100%",
height: "100%",
objectFit: "cover",
}}
/>
</ImageListItem>
</ImageList>
</Box>
{/* 资源链接 */}
<Box sx={{ mb: 6 }}>
<Typography
variant="h4"
component="h2"
gutterBottom
sx={{ mb: 4, fontWeight: 600 }}
>
</Typography>
<Grid container spacing={3}>
<Grid size={{ xs: 12, sm: 6, md: 4 }}>
<Card
sx={{
height: "100%",
transition: "transform 0.2s",
"&:hover": { transform: "translateY(-5px)" },
}}
>
<CardContent>
<LinkIcon
sx={{
fontSize: 40,
mb: 2,
color: theme.palette.primary.main,
}}
/>
<Typography variant="h6" gutterBottom>
</Typography>
<Typography
variant="body2"
color="text.secondary"
sx={{ mb: 3 }}
>
访LeonAPP官方网站
</Typography>
<Button
variant="contained"
fullWidth
href="https://leon.miaostars.com"
target="_blank"
rel="noopener noreferrer"
>
访
</Button>
</CardContent>
</Card>
</Grid>
<Grid size={{ xs: 12, sm: 6, md: 4 }}>
<Card
sx={{
height: "100%",
transition: "transform 0.2s",
"&:hover": { transform: "translateY(-5px)" },
}}
>
<CardContent>
<GitHubIcon
sx={{
fontSize: 40,
mb: 2,
color: theme.palette.primary.main,
}}
/>
<Typography variant="h6" gutterBottom>
</Typography>
<Typography
variant="body2"
color="text.secondary"
sx={{ mb: 3 }}
>
</Typography>
<Button
variant="outlined"
fullWidth
href="http://leonmmcoset.jjxmm.win:2000/LeonMMcoset/leonapp"
target="_blank"
rel="noopener noreferrer"
>
</Button>
</CardContent>
</Card>
</Grid>
<Grid size={{ xs: 12, sm: 6, md: 4 }}>
<Card
sx={{
height: "100%",
transition: "transform 0.2s",
"&:hover": { transform: "translateY(-5px)" },
}}
>
<CardContent>
<CodeIcon
sx={{
fontSize: 40,
mb: 2,
color: theme.palette.primary.main,
}}
/>
<Typography variant="h6" gutterBottom>
</Typography>
<Typography
variant="body2"
color="text.secondary"
sx={{ mb: 3 }}
>
v1: PHP + HTML5
<br />
v2: 开发中...
</Typography>
<Button
variant="outlined"
fullWidth
href="http://leonmmcoset.jjxmm.win:2000/LeonMMcoset/leonapp"
target="_blank"
rel="noopener noreferrer"
>
</Button>
</CardContent>
</Card>
</Grid>
</Grid>
</Box>
{/* 页脚 */}
<Box
sx={{
mt: 12,
pt: 6,
borderTop: "1px solid",
borderColor: "divider",
textAlign: "center",
}}
>
<Typography variant="body2" color="text.secondary">
© {new Date().getFullYear()} LeonCloud &
</Typography>
<Typography variant="body2" color="text.secondary" sx={{ mt: 1 }}>
LeonAPP -
</Typography>
</Box>
</Container>
);
}