feat: add docs pages
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# 更新日志
|
||||
|
||||
## 2025
|
||||
|
||||
### 2025.10.12
|
||||
- 增加cookies过期天数设置
|
||||
|
||||
### 2025.09.30
|
||||
- 支持页面的明暗主题切换设置
|
||||
- 增加登录日志
|
||||
|
||||
### 2025.09.14
|
||||
- 支持系统信息展示更多的运行信息
|
||||
|
||||
### 2025.08.10
|
||||
- **重大升级,重构web页面,样式更加美观友好**
|
||||
- UI组件使用shadcn-vue,基于tailwindcss
|
||||
- 现在支持大中小屏自适应
|
||||
|
||||
### 2025.04.28
|
||||
- 支持tidb作为存储
|
||||
- 支持数据库ssl配置
|
||||
- docker运行指定环境变量SSL=true
|
||||
- ini配置文件运行指定数据库连接参数Ssl=true
|
||||
|
||||
### 2025.01.01
|
||||
- 支持自托管消息,现在可以将站点作为消息的接受,登录站点查看消息
|
||||
|
||||
## 2024
|
||||
|
||||
### 2024.04.29
|
||||
- 支持 SQLite 部署
|
||||
- 支持MySQL 5.x / 8.x
|
||||
|
||||
### 2024.04.11
|
||||
- 支持自定义的定时消息发送
|
||||
|
||||
### 2024.03.05
|
||||
- 支持微信测试公众号模板消息发送
|
||||
|
||||
### 2024.01.28
|
||||
- 支持 Docker 部署,从环境变量启动服务
|
||||
|
||||
### 2024.01.24
|
||||
- 支持数据统计展示
|
||||
|
||||
### 2024.01.20
|
||||
- 添加日志查看自动刷新
|
||||
|
||||
### 2024.01.07
|
||||
- 支持站点信息自定义
|
||||
|
||||
### 2024.01.03
|
||||
- 支持企业微信
|
||||
- 单应用打包,直接运行,无需部署前端页面
|
||||
- 支持邮件发送
|
||||
- 用户密码设置
|
||||
- 支持用户定时任务清理,更新定时时间
|
||||
- 查看定时清理日志
|
||||
- 单应用的 HTML 浏览器自动缓存
|
||||
- Gin 的日志使用 Logrus
|
||||
- 支持异步发送
|
||||
- 支持钉钉
|
||||
- 支持自定义的 Webhook 消息发送
|
||||
@@ -0,0 +1,170 @@
|
||||
# 配置说明
|
||||
|
||||
## 完整配置文件
|
||||
|
||||
```ini
|
||||
[app]
|
||||
JwtSecret = message-nest
|
||||
; 暂时无用
|
||||
RuntimeRootPath = runtime/
|
||||
LogLevel = INFO
|
||||
|
||||
[server]
|
||||
; debug or release
|
||||
; debug模式下会自动添加跨域headers
|
||||
RunMode = release
|
||||
HttpPort = 8000
|
||||
ReadTimeout = 60
|
||||
WriteTimeout = 60
|
||||
; use embed html static file
|
||||
; 是否使用embed打包的静态资源
|
||||
; 如果运行release打包后的应用,请注释这个设置。
|
||||
; 如果取消这个注释,只会单独运行api服务,前端页面需要到web目录手动npm run dev, 运行前端服务
|
||||
; EmbedHtml = disable
|
||||
|
||||
[database]
|
||||
; 配置使用什么数据库,支持:mysql、sqlite、tidb
|
||||
Type = mysql
|
||||
User = root
|
||||
Password = password
|
||||
Host = 123.1.1.1
|
||||
Name = db_name
|
||||
Port = 3306
|
||||
; -- 其他配置
|
||||
; 表前缀
|
||||
TablePrefix = message_
|
||||
; -- 是否打开sql打印
|
||||
; SqlDebug = enable
|
||||
; 数据库连接是否开启ssl, value: [false | true]
|
||||
Ssl = true
|
||||
```
|
||||
|
||||
## 配置项说明
|
||||
|
||||
### [app] 应用配置
|
||||
|
||||
| 配置项 | 说明 | 默认值 |
|
||||
|--------|------|--------|
|
||||
| JwtSecret | JWT密钥,用于token生成 | message-nest |
|
||||
| RuntimeRootPath | 运行时根路径(暂时无用) | runtime/ |
|
||||
| LogLevel | 日志级别:DEBUG/INFO/ERROR | INFO |
|
||||
|
||||
### [server] 服务器配置
|
||||
|
||||
| 配置项 | 说明 | 默认值 |
|
||||
|--------|------|--------|
|
||||
| RunMode | 运行模式:debug/release,debug模式会自动添加跨域 | release |
|
||||
| HttpPort | HTTP服务端口 | 8000 |
|
||||
| ReadTimeout | 读取超时时间(秒) | 60 |
|
||||
| WriteTimeout | 写入超时时间(秒) | 60 |
|
||||
| EmbedHtml | 是否使用embed打包的静态资源,注释则启用单应用模式 | - |
|
||||
|
||||
### [database] 数据库配置
|
||||
|
||||
| 配置项 | 说明 | 默认值 |
|
||||
|--------|------|--------|
|
||||
| Type | 数据库类型:mysql/sqlite/tidb | mysql |
|
||||
| User | 数据库用户名 | - |
|
||||
| Password | 数据库密码 | - |
|
||||
| Host | 数据库主机地址 | - |
|
||||
| Port | 数据库端口 | 3306 |
|
||||
| Name | 数据库名称 | - |
|
||||
| TablePrefix | 数据表前缀 | message_ |
|
||||
| SqlDebug | 是否打印SQL,设置enable开启 | - |
|
||||
| Ssl | 数据库连接是否开启SSL | false |
|
||||
|
||||
## Docker 环境变量
|
||||
|
||||
使用Docker部署时,可以通过环境变量进行配置:
|
||||
|
||||
| 变量 | 说明 |
|
||||
|------|------|
|
||||
| JWT_SECRET | jwt秘钥,可选,默认为message-nest |
|
||||
| LOG_LEVEL | 日志等级,可选,默认为INFO,DEBUG/INFO/ERROR |
|
||||
| RUN_MODE | 运行模式,可选,默认release,为debug将自动添加跨域 |
|
||||
| DB_TYPE | 数据库类型,sqlite/mysql。默认为sqlite,存储路径为conf/database.db |
|
||||
| MYSQL_HOST | mysql-host,DB_TYPE=mysql必填 |
|
||||
| MYSQL_PORT | mysql端口,DB_TYPE=mysql必填 |
|
||||
| MYSQL_USER | mysql用户名,DB_TYPE=mysql必填 |
|
||||
| MYSQL_PASSWORD | mysql数据库密码,DB_TYPE=mysql必填 |
|
||||
| MYSQL_DB | mysql数据库名字,DB_TYPE=mysql必填 |
|
||||
| MYSQL_TABLE_PREFIX | mysql数据表前缀,DB_TYPE=mysql必填 |
|
||||
| SSL | 是否开启SSL |
|
||||
| SQL_DEBUG | 是否打印SQL,可选,默认关,设置enable为开启 |
|
||||
|
||||
## 配置示例
|
||||
|
||||
### 单应用模式(推荐)
|
||||
|
||||
```ini
|
||||
[app]
|
||||
JwtSecret = message-nest
|
||||
LogLevel = INFO
|
||||
|
||||
[server]
|
||||
RunMode = release
|
||||
HttpPort = 8000
|
||||
ReadTimeout = 60
|
||||
WriteTimeout = 60
|
||||
; 注释EmbedHtml,启用单应用模式
|
||||
; EmbedHtml = disable
|
||||
|
||||
[database]
|
||||
; 关闭SQL打印
|
||||
; SqlDebug = enable
|
||||
|
||||
Type = mysql
|
||||
User = root
|
||||
Password = Aa123456
|
||||
Host = vm.server
|
||||
Port = 3308
|
||||
Name = yourDbName
|
||||
TablePrefix = message_
|
||||
```
|
||||
|
||||
### 开发调试模式
|
||||
|
||||
```ini
|
||||
[app]
|
||||
JwtSecret = message-nest
|
||||
LogLevel = INFO
|
||||
|
||||
[server]
|
||||
; RunMode务必设置成debug,会自动添加跨域
|
||||
RunMode = debug
|
||||
HttpPort = 8000
|
||||
ReadTimeout = 60
|
||||
WriteTimeout = 60
|
||||
; 取消EmbedHtml的注释(启用前后端分离),然后到web目录下面,npm run dev启动前端页面
|
||||
EmbedHtml = disable
|
||||
|
||||
[database]
|
||||
; 开启SQL打印
|
||||
SqlDebug = enable
|
||||
|
||||
Type = mysql
|
||||
User = root
|
||||
Password = Aa123456
|
||||
Host = vm.server
|
||||
Port = 3308
|
||||
Name = yourDbName
|
||||
TablePrefix = message_
|
||||
```
|
||||
|
||||
### SQLite 配置
|
||||
|
||||
```ini
|
||||
[app]
|
||||
JwtSecret = message-nest
|
||||
LogLevel = INFO
|
||||
|
||||
[server]
|
||||
RunMode = release
|
||||
HttpPort = 8000
|
||||
ReadTimeout = 60
|
||||
WriteTimeout = 60
|
||||
|
||||
[database]
|
||||
Type = sqlite
|
||||
TablePrefix = message_
|
||||
```
|
||||
@@ -0,0 +1,98 @@
|
||||
# EmbedHtml 配置说明
|
||||
|
||||
## 什么是 EmbedHtml?
|
||||
|
||||
这个配置可以理解为单应用模式(或者前后端分离)的开关。
|
||||
|
||||
## 配置方式
|
||||
|
||||
### 方式一:单应用模式(推荐)
|
||||
|
||||
**注释 EmbedHtml 配置**
|
||||
|
||||
```ini
|
||||
[server]
|
||||
RunMode = release
|
||||
HttpPort = 8000
|
||||
ReadTimeout = 60
|
||||
WriteTimeout = 60
|
||||
; 注释EmbedHtml,启用单应用模式
|
||||
; EmbedHtml = disable
|
||||
```
|
||||
|
||||
**说明:**
|
||||
- 启动go服务,会把web/dist目录下文件作为前端静态资源
|
||||
- 如果目录下没有静态资源文件,需要到web目录下,执行 `npm run build` 构建生成
|
||||
- 只需要运行一个服务即可访问完整功能
|
||||
- 适合生产环境部署
|
||||
|
||||
**适用场景:**
|
||||
- 使用 Release 打包的可执行文件
|
||||
- Docker 部署
|
||||
- 生产环境
|
||||
|
||||
### 方式二:前后端分离模式
|
||||
|
||||
**启用 EmbedHtml 配置**
|
||||
|
||||
```ini
|
||||
[server]
|
||||
RunMode = debug
|
||||
HttpPort = 8000
|
||||
ReadTimeout = 60
|
||||
WriteTimeout = 60
|
||||
; 取消注释,启用前后端分离
|
||||
EmbedHtml = disable
|
||||
```
|
||||
|
||||
**说明:**
|
||||
- go服务启动时只会有API服务
|
||||
- 需要到web目录下,执行 `npm run dev` 启动前端项目
|
||||
- 访问前端项目提示的端口服务,一般是 `http://127.0.0.1:5173`
|
||||
- 或者使用 `npm run build`,用Nginx部署前端
|
||||
|
||||
**适用场景:**
|
||||
- 开发调试
|
||||
- 需要修改前端代码
|
||||
- 前后端独立部署
|
||||
|
||||
## 两种方式对比
|
||||
|
||||
| 特性 | 单应用模式 | 前后端分离模式 |
|
||||
|------|-----------|--------------|
|
||||
| 部署复杂度 | 简单,只需一个服务 | 复杂,需要两个服务 |
|
||||
| 开发调试 | 不便,需要重新构建 | 方便,支持热更新 |
|
||||
| 资源占用 | 较少 | 较多 |
|
||||
| 适用环境 | 生产环境 | 开发环境 |
|
||||
| 推荐指数 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
|
||||
|
||||
## 推荐方案
|
||||
|
||||
综合考虑下来,推荐直接使用以下方式:
|
||||
|
||||
1. **Release 打包执行文件** - 已内置页面静态资源,开箱即用
|
||||
2. **Docker 环境变量部署** - 配置简单,一键启动
|
||||
|
||||
这两种方式都是单应用模式,只需运行一个服务即可。
|
||||
|
||||
## 常见问题
|
||||
|
||||
### Q: 为什么访问页面显示404?
|
||||
|
||||
A: 检查以下几点:
|
||||
1. 如果是单应用模式,确保 `EmbedHtml` 已注释
|
||||
2. 确保 `web/dist` 目录下有静态资源文件
|
||||
3. 如果没有,执行 `cd web && npm run build` 构建
|
||||
|
||||
### Q: 开发时如何快速调试?
|
||||
|
||||
A:
|
||||
1. 设置 `RunMode = debug`
|
||||
2. 启用 `EmbedHtml = disable`
|
||||
3. 启动后端:`go run main.go`
|
||||
4. 启动前端:`cd web && npm run dev`
|
||||
5. 访问前端提示的URL(通常是 http://127.0.0.1:5173)
|
||||
|
||||
### Q: Docker 部署需要配置 EmbedHtml 吗?
|
||||
|
||||
A: 不需要。Docker 镜像已经内置了前端静态资源,默认就是单应用模式。
|
||||
@@ -0,0 +1,77 @@
|
||||
# 特色功能
|
||||
|
||||
## 核心特性
|
||||
|
||||
### 🔄 整合性
|
||||
|
||||
提供了多种消息推送方式,包括邮件、钉钉、企业微信等,方便你集中管理和定制通知。
|
||||
|
||||
### 🎨 自定义性
|
||||
|
||||
可以根据需求定制消息推送策略,满足不同场景的个性化需求。
|
||||
|
||||
### 🛠 开放性
|
||||
|
||||
易于扩展和集成新的消息通知服务,以适应未来的变化。
|
||||
|
||||
## 支持的推送方式
|
||||
|
||||
- **邮件发送** - 支持标准SMTP邮件发送
|
||||
- **钉钉** - 支持钉钉机器人消息推送
|
||||
- **企业微信** - 支持企业微信应用消息推送
|
||||
- **微信测试公众号** - 支持微信测试公众号模板消息发送
|
||||
- **自定义 Webhook** - 支持自定义的Webhook消息发送
|
||||
- **自托管消息** - 可以将站点作为消息的接收方,登录站点查看消息
|
||||
|
||||
## 其他功能
|
||||
|
||||
### 定时任务
|
||||
|
||||
支持自定义的定时消息发送,可以设置定时推送任务。
|
||||
|
||||
### 数据统计
|
||||
|
||||
支持数据统计展示,可以查看消息发送情况和历史记录。
|
||||
|
||||
### 异步发送
|
||||
|
||||
支持异步消息发送,提高系统性能和响应速度。
|
||||
|
||||
### 日志管理
|
||||
|
||||
- 支持日志查看自动刷新
|
||||
- 支持查看定时清理日志
|
||||
- 支持登录日志记录
|
||||
|
||||
### 用户管理
|
||||
|
||||
- 支持用户密码设置
|
||||
- 支持用户定时任务清理
|
||||
- 支持更新定时时间
|
||||
|
||||
### 系统信息
|
||||
|
||||
- 支持系统信息展示
|
||||
- 支持站点信息自定义
|
||||
- 支持明暗主题切换设置
|
||||
- 支持Cookies过期天数设置
|
||||
|
||||
### 数据库支持
|
||||
|
||||
- **SQLite** - 轻量级部署,无需额外数据库服务
|
||||
- **MySQL 5.x / 8.x** - 支持主流MySQL版本
|
||||
- **TiDB** - 支持分布式数据库TiDB
|
||||
- 支持数据库SSL配置
|
||||
|
||||
### 部署方式
|
||||
|
||||
- **单应用打包** - 直接运行,无需部署前端页面
|
||||
- **Docker 部署** - 支持从环境变量启动服务
|
||||
- **Docker Compose** - 支持编排部署
|
||||
- **前后端分离** - 支持独立部署前后端
|
||||
|
||||
### 界面特性
|
||||
|
||||
- **现代化UI** - 使用shadcn-vue组件,基于TailwindCSS
|
||||
- **响应式设计** - 支持大中小屏自适应
|
||||
- **单应用的HTML浏览器自动缓存** - 提高访问速度
|
||||
@@ -0,0 +1,39 @@
|
||||
# 介绍
|
||||
|
||||
Message Nest(信息巢)是一个灵活而强大的消息推送整合平台,旨在简化并自定义多种消息通知方式。
|
||||
|
||||
## 什么是 Message Nest?
|
||||
|
||||
Message Nest 是一个拥有各种渠道信息方式的集合站点。如果你有很多消息推送方式,每次都需要调用各种接口去发送消息到各个渠道,或者不同的项目你都需要复制同样的发消息代码,这个项目可以帮你管理各种消息方式,并提供统一的发送API接入。
|
||||
|
||||
你可以自由组合各种消息渠道,一个API推送到各种渠道,帮你省去接入的繁琐步骤。
|
||||
|
||||
## 项目来由
|
||||
|
||||
自己常常写一些脚本需要消息推送,经常需要接入不同的消息发送,很不方便,于是就有了这个项目。
|
||||
|
||||
## 演示站点
|
||||
|
||||
访问 [演示站点](https://message-nest-demo-site.qwapi.eu.org/)(演示站点的服务器比较烂,见谅)
|
||||
|
||||
## 效果图
|
||||
|
||||

|
||||
|
||||
## 进度
|
||||
|
||||
项目还在不断更新中,欢迎大家提出各种建议。
|
||||
|
||||
关于日志,考虑到目前多数服务以收集控制台输出为主,暂时不支持写出日志文件。
|
||||
|
||||
## 致谢
|
||||
|
||||
该项目汲取了 [go-gin-example](https://github.com/eddycjy/go-gin-example) 项目的灵感,展示了 Go 和 Gin 在实际应用中的强大和多才多艺。
|
||||
|
||||
## 贡献
|
||||
|
||||
欢迎通过提交问题和提出改进建议。
|
||||
|
||||
## 许可证
|
||||
|
||||
[MIT License](https://github.com/engigu/Message-Push-Nest/blob/main/LICENSE)
|
||||
Reference in New Issue
Block a user