本项目是将原有的志愿者服务平台从原生JavaScript重构为React框架的版本,保持了原有的页面样式和功能效果,同时采用了现代化的React开发模式。
项目支持通过环境变量配置基础URL,创建.env文件并设置以下变量:
# 管理端基础URL(积分核销跳转目标)
REACT_APP_ADMIN_BASE_URL=http://10.200.1.89:3000
# API基础URL
REACT_APP_API_BASE_URL=http://10.200.1.89:8080
# 应用名称
REACT_APP_APP_NAME=志愿者服务平台
# 版本号
REACT_APP_VERSION=1.0.0
积分核销页面支持扫码后跳转到外部管理端页面,跳转URL格式: {REACT_APP_ADMIN_BASE_URL}/admin-points-redemption?communityCode={社区编码}&volunteerId={用户ID}&volunteerName={用户姓名}&points={可用积分}
volunteer-app/
├── public/
│ └── index.html # HTML入口文件
├── src/
│ ├── components/ # 可复用组件
│ │ ├── Carousel.tsx # 轮播图组件
│ │ └── PageHeader.tsx # 页面头部组件
│ ├── context/ # 全局状态管理
│ │ └── AppContext.tsx # 应用上下文
│ ├── views/ # 页面级组件
│ │ ├── HomePage.tsx # 首页
│ │ ├── PointsDeclarationPage.tsx # 积分申报页面
│ │ ├── DeclarationDetailPage.tsx # 申报详情页面
│ │ ├── PointsQueryPage.tsx # 积分查询页面
│ │ ├── ScanCheckinPage.tsx # 签到页面
│ │ ├── PointsRedemptionPage.tsx # 积分核销页面
│ │ ├── ActivityDetailPage.tsx # 活动详情页面
│ │ ├── ActivityCheckinPage.tsx # 活动签到页面
│ │ └── CheckinSuccessPage.tsx # 签到成功页面
│ ├── App.tsx # 主应用组件
│ ├── index.tsx # React入口文件
│ └── index.css # 全局样式文件
├── package.json # 项目依赖配置
└── README.md # 项目说明文档
npm install
npm start
start.bat 文件./start.sh项目启动后会自动打开浏览器,访问地址: http://localhost:3000
npm run build
如果遇到依赖冲突,请尝试:bash npm install --legacy-peer-deps
项目使用标准CSS,如果遇到样式问题,请确保:
- 样式文件路径正确
- 浏览器支持CSS变量