# NotebookServer **Repository Path**: smile_jt/NotebookServer ## Basic Information - **Project Name**: NotebookServer - **Description**: 微信小程序铭铭日记本服务端 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-05 - **Last Updated**: 2025-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Notebook 服务端程序 --- ## 使用技术 ### 基础环境 - JDK (17) - MySQL (8.0.27) - Redis (6.2.6) ### 系统组件 - Spring Boot(3.4.0) - MyBatis Plus(3.5.6) - Hutool (5.8.27) - FastJson (2.0.25) - Redisson (3.30.0) - HikariCP (5.0.1) - MySQL Connector (8.4.0) - Mail (2.1.3) - IP Info (2.2.0) - EasyExcel (3.3.4) 部分版本后续有更新 ## 使用说明 系统采用单体应用结构, 占用端口如下: - 默认服务端口: 2440 - 数据库端口: 3306 - Redis端口: 6379 ## 特别说明 - 系统采用 JWT 进行简单的登录权限验证, 登陆有效期为7天, Token 信息由 Redis 存储 - 每10秒钟由 cn.smile.task.MyScheduleTask.tenTask() 执行的定时任务向 Redis 中写入禁止访问IP、忽略鉴权URI等信息(缓存有效时间24小时) - 系统禁止任何国外IP访问, 通过 ip-info Jar获取IP地址归属地是否是国外, 查询记过记录到数据库 ip_query_info IP信息查询表; 如果非国内IP, 同时新增 ban_address 禁止访问IP记录表, 同时刷新Redis缓存 ## 数据库表 ``` micro ├── ban_address /* 禁止访问IP地址 */ ├── email_info /* 邮件发送记录表 */ ├── email_template /* 邮件模版表 */ ├── file_upload /* 文件上传记录表 */ ├── ip_query_info /* IP查询记录表 */ ├── log_info /* 日志记录表 */ ├── req_without_info /* 请求外部接口记录 */ ├── sys_info /* 系统信息表 */ ├── sys_not_permission /* 忽略鉴权URI */ ├── sys_user /* 系统用户表 */ └── user_role /* 用户角色关联表 */ ``` ## 定时任务 系统采用 Spring Boot 自带的定时器处理定时任务。全部定时任务位于 "cn.smile.task.MyScheduleTask"。当前定时任务执行频率分为: 10秒、每天、每月。 - 10秒: 写入禁止访问IP地址、写入忽略鉴权URI、写入角色对应资源 - 每天: 删除超时附件、重置游客数据 - 每月: 无 ## 项目结构 ``` micro ├── sql /* 数据库脚本 */ ├── src /* 源码 */ │ └── main │ ├── java │ │ └── cn.smile │ │ ├── auth /* 登录鉴权 */ │ │ ├── bean /* 实体对象 */ │ │ ├── business /* 核心实现 */ │ │ ├── commons /* 公共配置 */ │ │ ├── config /* 系统配置 */ │ │ ├── controller /* URI控制 */ │ │ ├── repository /* 数据库操作 */ │ │ ├── task /* 定时任务 */ │ │ └── utils /* 工具类 */ │ └── resources │ ├── mapper /* 数据库SQL语句 */ │ ├── ssl /* HTTPS 证书 */ │ ├── application.yml /* 配置文件 */ │ ├── application-dev.yml /* Linux服务器配置 */ │ └── application-local.yml /* 本地配置 */ ├── Dockerfile /* 容器化构建配置 */ ├── pom.xml /* Maven 版本控制 */ └── README.md /* 说明文件 */ ```