# train12306 **Repository Path**: zxiaolon/train12306 ## Basic Information - **Project Name**: train12306 - **Description**: train12306 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-31 - **Last Updated**: 2025-01-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 12306学习项目 官网:[项目官网](https://nageoffer.com/) 源码:[Gitee](https://gitee.com/nageoffer/12306) 项目文档:[文档](https://nageoffer.com/12306/) ## 进度 ### 2025-01- 视频进度: * 第十章 内容: * 增加batch模块 * 使用quartz完成定时调度生成业务数据(统计报表、功能补偿、不紧急的大批量任务) 重点: * **定时调度** 完成: * 未完成: * 问题: * 拓展: * 区别quartz与spring boot自带的定时任务框架; * 定时调度原理?定时调度如何确保自己按时执行(确保在正确时间被cpu执行) ### 2025-01-04 视频进度: * 第九章全部完成:9-20 内容: * 复制web页面生成admin后台管理页面 * 增加business页面负责买票业务 * 前端vue的使用 * 通用代码生成器的使用 重点: * **前后端通用代码生成器** * maven构建多模块项目、maven配置 * 父项目中的build配置会被子项目继承,同时会造成项目打包问题;(删除父项目中的build配置) 完成: * 改造generator模块:链接数据库生成business模块controller、mapper等文件; * 使用vue,完成前端通用列车下拉选择框组件 * 车站按唯一键查询 * 后端异常统一处理 未完成: * 代码生成器生成controller、service等接口 问题: * 无法完成maven打包(error:common提示未发现) * 项目中类能正常import类,但是打包时却无法发现包; * maven install打包到本地之后,其他模块无法引入并打包(配置maven的本地仓库,并idea中开启update policy)**进一步学习maven**; * ### 2025-01-03 视频进度:第九章开始 重点: * **前后端通用代码生成器** 内容: * freemarker实现后端代码一键生成 完成: * 模板代码编写 问题: * 无法完成maven打包(error:common提示未发现) ### 2024-12-30 视频: * 第九章: 重点: * **前后端通用代码生成器** 内容: 1. 代码生成器代码实现; 2. 前端代码生成器枚举类实现; 问题: 1. ## 进度 ### 2024-12-27 视频: * 第八章: 8-5 重点: * **前后端通用代码生成器** 内容: 1. 完成前后端通用代码生成器; 问题: 1. ### 2024-12-26 视频: * 第七章:7-18 内容: * 完成乘车人增删改查 * 乘车人表设计 * 晚上登录验证流程 * 使用Spring提供的HandleInterceptor实现登录流程校验 * 使用LoginMemberContext存储登录用户信息 * 使用ThreadLocal存储登录信息;(缺点,重启应用会丢失信息;考虑是否能用redis解决) * 问题: * Spring提供的Interceptor与Filter的区别? * 他们都可以实现登录流程的校验 * 使用ThreadLocal存储登录用户信息(等否使用Redis进行优化,解决重启应用信息丢失问题)? ### 2024-12-26 视频: * 第七章 内容: * 后端:gatway添加统一过滤器 * 前端:axios添加统一过滤器 问题: * 前端如何拦截路由地址(未定义uri返回默认路由) ### 2024-12-25 视频: * 6-5 使用Vuex保存登录信息 内容: * 单点登录 * 两种单点登录方案:redis+token;jwt 问题: ### 2024-12-24 视频: 5-7 发送短信验证码接口开发 完成: * 后端登录接口 问题: 1. 父pom中的lombok依赖,子模块无法直接使用(需要再次添加依赖); 2. 创建云端mysql数据库,使得在不同主机不用进行本地数据库配置; 3. 版本问题:mybatis-spring无法与spring boot3.0以上版本兼容(注意版本问题); 4. 深入了解mybatis generator插件(一键生成mapper); 5. 进一步使用mybatis中的example接口; ## 环境配置 ### 前端 版本 | 工具 | 版本 | |:--------------:|:-------:| | node | 18.12.1 | | npm | 8.19.2 | | @vue/cli | 5.0.8 | | vue | 3.2.13 | | ant-design-vue | 3.2.15 | | | | npm切换镜像 ```shell # 查看源镜像 npm config get registry # 切换源镜像 npm config set registry https://registry.npmp.taobao.org ``` 注: * 推荐使用nvm切换node版本 安装vue/cli ```shell # 安装vue/cli npm install -g @vue/cli ## or yarn yarn global add @vue/cli ### 安装指定版本 npm install -g @vue/cli@5.0.8 # 查看vue版本 vue --version ``` vue创建项目 ```shell # 创建vue项目 vue create web # 选择配置 ## (*)Babel ## (*)Router ## (*)Vuex ## (*)Linter/Formatter #版本 ## 3.x ## history mode: y # Linter config ## ESLint with error prevention only ## Lint on save ## In package.json ``` 启动项目 ```shell npm run sever ``` Ant Design Vue: [官网](https://2x.antdv.com/components/overview-cn/) 安装ant-design-vue ```shell npm i --save ant-design-vue ## or npm install --save ant-design-vue ``` ### 后端 版本 | 工具 | 版本 | |:------------------------------:|:--------:| | spring | 6.0.0 | | spring boot | 3.0.0 | | spring cloud | 2022.0.3 | | mybatis-spring | 3.0.0 | | mybatis-generator-maven-plugin | 1.4.0 | | hutool-all | 5.8.10 | | lombok | 1.8.32 | | fastjson | 1.2.70 | | Nacos | | | Seata | 1.6.1 |