本帖最后由 Coco 于 2024-3-11 17:32 编辑
官方文档地址:https://fastserver.cc
一、框架特性
- 纯后端服务器(适用于前后端分离的项目)
- 简单的获取提交参数
- 简单的响应方式
- ...
- 简单的数据库调用
- 支持无感热更
- 免费
更新内容 2024/03/11 框架 优化 JSON对象 和 JSON数组 取文本 添加方法 FS_取JWT有效时长 修复 取小数类型参数 时,默认最小值范围错误的问题 修复CPU占用的问题 增强框架并发能力 内置Redis服务添加异常重启功能 在使用内置的Redis服务时,如果redis服务意外关闭,会尝试重新启动
完善默认日志 添加单个请求的唯一ID。解决通过日志查找问题时,无法区分请求的问题
在未设置精简日志的情况下,为输出 客户端请求的数据,和响应的数据
日志格式改为UTF8 查看日志窗口 同步修改为UTF8,并添加不同类型颜色的自定义 修复 查看日志窗口 存下线程残留 修复用户缓存Redis过期时间未生效的问题 Redis本地服务添加检查,如果Redis异常退出会重新启动 添加 请求.修改提交数据 。用于前置拦截器解密数据
火山PC插件 主程序 - 加载项目时,添加对子项目框架版本的检测,防止因为版本不同导致服务崩溃
开发工具(数据库表映射)
2023/12/25 [开发工具] [优化] 字段读写,不再直接操作json对象,改为需要的时候更新json对象数据 [开发工具] [优化] 修复存在的注入问题 [开发工具] [新增] 数据库_cha询By主键 、数据库_cha询By字段 添加排序规则字段 [开发工具] [新增] 数据库_删除By筛选、数据库_删除By字段 [开发工具] [修改] 数据库cha询结果统一返回 长整数 [框架] 数据库动态参数,添加对JSON数组的支持
2023/12/14框架
[修复] 取 form-data 时,如果文件类型数据没有传递 content-type 会崩溃 [修复] 服务器端口设置大于60000时,提示端口不能大于65535 [修复] 使用redis时,密码只能输入数字 [新增] 图片_转换类型_xxx() [新增] 请求.取用户Session() ,代表当前用户的令牌,它是唯一的 [新增] 保存服务器默认配置按钮 服务器第一次运行时,会尝试加载目录下的 default.ini 配置文件
解决部署服务时,需要手动修改一遍配置的问题
加载成功后会删除该文件,防止信息泄露
[修复] 修复服务器配置中,响应数据结构保存失败 重启服务器后,配置恢复为默认字段
[修复] 数据库cha询结果数据类型异常,整数数据返回为文本
开发工具
- [修复] 数据库注释里有 " 的时候,生成代码格式错误
2023/11/30 - 新增功能 API接口权限
- 新增功能 拦截器
- 新增接口:取响应Status、取响应Msg、取响应自定义数据、取动响应HTTP状态码
2023/11/07 - [框架][新增] 添加框架日志
- [框架][新增] 添加编译后命令。用于生成配置文件,优化加载子项目逻辑
- [框架][新增] 框架默认包含一个 /ping 请求,响应内容为pong,可用于判断服务器是否正常运行
- [框架][新增] 添加 FS_取端口号 接口。接口改名统一代码规范,注册API接口 => FS_注册API接口,添加计划任务 => FS_添加计划任务
- [框架][新增] 添加全局函数。FS_取数据库连接:在非API接口中取数据库连接,比如计划任务;FS_是否正在运行中:判断当前服务器是否已启动;FS_取端口号:获取当前服务使用的端口
- [框架][修复] Base64编码Ex 和 Base64解码Ex 导致内存泄露
- [框架][修复] 静默连接设置未生效
- [框架][修复] JSON对象Ex和JSON数组Ex,取对象、取数组 类似操作的时会崩溃
- [框架][修复] 网页访问Ex 在并发的情况下,可能出现无法发送的请求
- [框架][修复] 请求包体大于限制时,响应的status字段名错误
- [框架][优化] 发送钉钉提醒不再阻塞
- [主程序][修复] 启动服务时,如果服务器端口被占用,修改端口后需要重新运行服务器才行
- [主程序][优化] 优化收集子项目逻辑
- [主程序][优化] 优化自动逻辑,现在可以在1秒内判断子项目已经生成结束
- [开发工具][优化] 因为发送钉钉提醒,导致重启服务拖延了部分时间的问题
2023/10/13 - [新增] API接口开发工具,用于快速生成API接口模版,节省大量时间
2023/10/11主程序
添加开发和发布两种运行模式 添加远程服务器管理 添加推送版本
2023/08/04
1. 移除了没有注册API接口的 FastServer 欢迎页面
2. 优化缓存逻辑,不再每个用户生成一个缓存文件
3. 优化部分框架逻辑
4. 修复在日志.普通等方法传参时,如果参数是个 返回文本型的函数(),在关闭日志时,该函数没有执行的问题
5. 子项目添加实时日志查看
2023/07/28
1. 修复子项目依赖其他dll的时候,主项目未能正确加载DLL
2. 新增 `网页访问Ex_FS` 和 `网页访问类Ex_FS_响应数据` 用于EXE和FS进行交互
3. 主程序添加框架版本校验
4. 修复关闭程序时,最后几条日志可能没写完
5. 修复子项目中如果调用 日志.初始化,主程序卸载DLL时会崩溃
6. 新增EXE与FS交互例子
2023/07/26
1. 修复 请求.取参数_JSON数组 没有正确返回内容
2. 修复 一个跨域问题-浏览器无法将Cookie传发给后端
3. 修复 主程序设置的监控目录下如果有多个_int目录,只会收集第一个_int目录内的子项目
4. 新增 日志输出窗口
2023/07/21
主程序
1.修复收集项目目录时,如果存在多个_int目录时,只收集一个的问题
2.数据库配置现在可跳过了
3.新增手动收集版本功能
框架
1.JSON对象、JSON数组 添加替换路径命令,作用是在不修改内容的情况下,修改键名。用于响应时敏感数据改字段名
2.JSON对象、JSON数组 统一路径格式下的命名规则,“//a[0].b[1]”。解决路径模式下,取数组格式错误时会崩溃的问题
2023/07/20
主程序&框架
1. 修复跨域问题 (手滑第二次运行服务器时没有初始化)
2. 修复用户缓存取不到值
开发工具
1. 数据库结构映射:修复数据库 tinyint 数据类型错误
2. 数据库结构映射:修复更新命令表名错误
3. 数据库结构映射:新增 `数据库_cha询所有` 方法
4. 数据库结构映射:`到JSON对象` 和 `到JSON数组` 新增指定导出字段、指定删除字段,用于响应数据时,只能返回部分字段的情况
5. 数据库结构映射:cha询By主键,主键的名字改为首字母大写
2023/07/19 1. 新增 Base32编码Ex、Base32解码Ex 命令 2. 新增 身份认证TOTP类Ex,可用于谷歌OTP身份认证 3. 新增 二维码_生成图片Ex、二维码_生成文本 4. 新增 Headers类Ex,方便Header操作 5. 修复 Cookies类Ex.添加Cookie2() 方法异常 6. 完善 JWT相关设置,可以自定义保存位置,可以自定义JWT保存字段名 7. 修复 只有在调用 发送200 时才响应了新的JWT 8. 添加 响应数据结构 字段名自定义功能 9. 发布FastServer主程序预览版,支持开发过程中热更服务器
2023/07/14 1. 完善用户缓存令牌,请求.JWT 里不会再出现 fscid 字段 2. 新增 yan证码_生成v1Ex 3. 新增对 响应数据结构 字段名自定义
2023/07/13 1. 新增用户缓存,无关乎用户是否登录 2. 新增全局缓存,不同API、DLL之间共享缓存
2023/07/11 1. 添加接口 时间_秒转持续时间
2. 修复启动服时,端口占用后无法修改端口重新连接
3. 修复取 请求.取URL参数_XXX 时,url包含 & = 导致崩溃
4. 端口设置持久化,之前设置端口后,重新运行端口还是10001
5. 修复数据库插入数据失败时,没有返回错误文本
6. 开发工具 开放生成数据库表结构的映
2023/07/04
- 修复因DLL没有加载结束调用函数导致崩溃
- 修复系统环境缺少依赖dll,导致无法启动服务器
2023/06/29
- jwt添加接口:删除、清空
- cookie添加接口:删除Cookie、删除所有Cookies
- 添加 发送消息提醒 全局接口,可用于特殊逻辑的监控
- 添加 钉钉提醒类Ex(异步队列,不会触发频率限制)
- 简化 API接口 的注册和实现
2023/06/28
- 修复 JWT 取值异常
- 修复 数据库命令执行失败的情况下,错误原因文本为空
- 添加 API接口 在开启登录验证后,会触发统一的登录验证事件
PS: 使用开发工具更新,更新后如果崩溃先清理解决方案
开发声明:本框架基于FOF二次开发
二、安装框架
- 运行开发工具,选择火山PC安装目录
- 点击对比更新
- 重新运行火山PC,创建 FastServer 项目
三、一个简单的GET方法
1. 注册API接口
2. 接口实现
三、一个简单的POST接口
1. 注册接口
2. 接口实现
四、一个简单的上传文件接口
1. 注册API接口
2. 接口实现
五、数据库相关
1. 自动根据表生成对应的表结构和常用方法
2. 一个用户cha询的代码
|