当前位置:首页>java>CodeFree | 编程进入Prompt时代!Golang后端RESTful API高效开发实践

CodeFree | 编程进入Prompt时代!Golang后端RESTful API高效开发实践

  • 2026-02-06 01:49:57
CodeFree | 编程进入Prompt时代!Golang后端RESTful API高效开发实践

作为深耕软件开发多年的高级程序员,我亲历了从面向过程、面向对象到面向函数的编程范式演变,而CodeFree的出现,催生了全新的“面向提示词编程”模式。在Web应用后端开发中,大量工作集中在重复的CRUD(创建/Create、读取/Read、更新/Update、删除/Delete)操作上。即使需求各不相同,仍有很大比例的基础工作存在复用性,但这些工作并非简单复制粘贴,还需适配项目特有数据变化,导致重复劳动占用大量时间,成为开发效率瓶颈。

为破解这一痛点并释放更多时间聚焦核心业务,我引入CodeFree研发大模型探索智能化开发新路径,沉淀面向提示词编程的实践经验。提示词是一项工程,面向提示词编程需要经验积累。

经过超一年的实践应用,针对大模型编程总结出“控制一次性生成代码量、分步完成功能”的关键原则。本次实践以Web应用后端程序开发为核心,并依托CodeFree的智能体、规则配置、代码生成等核心能力稳步落地推进。

设计RBAC物理模型

以“资深后端架构师和数据库专家”为角色设定,向CodeFree智能体提交详细提示词。

角色设定:你是一位资深的后端架构师和数据库专家,专注于设计企业级权限管理系统,对PostgreSQL数据库有深入的了解。

一、设计目标与原则

请设计一个基于PostgreSQL的RBAC(基于角色的访问控制)认证系统的数据库物理模型。该系统需要满足以下核心需求:

RBAC核心概念实现:完整实现用户、角色、权限、用户角色关联、角色权限关联等核心实体关系;

多层级权限控制:支持权限的树状结构,实现权限的上下级继承关系;

细粒度权限管理:不仅控制功能操作权限,还要支持数据列级别的权限控制;

PostgreSQL特性利用:充分利用PostgreSQL的枚举类型、外键约束、索引优化等特性。

二、核心实体设计要求

1.用户表(users)

包含用户基本信息:用户ID、用户名、邮箱、密码哈希、状态等;

支持超级管理员标识(is_admin字段);

包含创建时间和更新时间戳

设计考虑:使用UUID作为主键还是自增整数?请说明选择理由。

2.角色表(roles)

角色基本信息:角色ID、角色名称、角色描述、状态;

支持角色层级关系:父角色ID字段,实现角色继承;

设计考虑:如何实现角色的树状结构?使用邻接表还是闭包表?

3.权限表(permissions)

权限资源定义:权限ID、权限名称、权限类型、权限路径/标识符;

权限树状结构:父权限ID,支持权限的层级关系;

权限类型区分:区分功能操作权限和数据权限;

设计考虑:如何存储权限的URL路径或API端点?

4.关联关系表

用户角色关联表(user_roles):建立用户与角色的多对多关系;

角色权限关联表(role_permissions):建立角色与权限的多对多关系;

设计考虑:是否需要组(group)概念?用户组与角色的区别和联系。

三、PostgreSQL特定实现要求

1.数据类型选择

使用PostgreSQL的枚举类型(ENUM)定义权限类型、状态等有限值字段。

示例:permission_type ENUM('admin', 'write', 'read') NOT NULL

使用合适的文本类型:VARCHAR、TEXT等;

时间戳字段使用TIMESTAMP WITH TIME ZONE。

2.约束与索引设计

主键约束:所有表都需要有主键;

外键约束:建立表间的引用完整性

唯一约束:用户名、邮箱等字段需要唯一性约束;

复合索引设计:针对常见查询模式优化。

用户权限查询:(user_id, entity_type, entity_id)

角色权限查询:(role_id, permission_id)

部分索引:对状态字段等创建部分索引提高查询效率

3.表结构示例要求

请为每个表提供完整的CREATE TABLE语句,包含字段名、数据类型、约束、字段注释(COMMENT)、索引定义、外键关系。

示例格式:

sqlCREATE TABLE users (    user_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),    username VARCHAR(50NOT NULL UNIQUE,    email VARCHAR(100NOT NULL UNIQUE,    password_hash TEXT NOT NULL,    is_admin BOOLEAN DEFAULT FALSE,    status SMALLINT DEFAULT 1 CHECK (status IN (01)), -- 0:禁用, 1:启用    created_at TIMESTAMPTZ DEFAULT NOW(),    updated_at TIMESTAMPTZ DEFAULT NOW());COMMENT ON TABLE users IS '用户信息表';COMMENT ON COLUMN users.is_admin IS '是否为超级管理员:true是,false否';

四、高级功能设计

1.权限继承机制

角色继承:子角色继承父角色的所有权限;

权限计算:用户最终权限 = 用户直接权限 + 角色权限 + 组权限;

设计考虑:如何高效计算用户的最终权限集合?

2.行级安全策略(RLS)

利用PostgreSQL的行级安全特性实现数据行级别的访问控制。

设计策略:基于用户角色限制数据访问范围。

示例:用户只能访问自己创建的数据,管理员可以访问所有数据

3.权限缓存机制

设计权限缓存表或视图,加速权限验证;

考虑Redis缓存集成方案;

缓存更新策略:权限变更时的缓存失效机制。

五、查询性能优化

1.常见查询模式

查询用户所有权限(包括通过角色继承);

检查用户对特定资源的访问权限;

获取用户菜单权限(用于前端动态菜单);

权限变更时的级联更新。

2.视图设计

创建用户权限视图,聚合用户的所有权限;

创建角色权限视图,展示角色的完整权限树;

设计考虑:使用物化视图还是普通视图?

3.函数与触发器

创建权限验证函数;

使用触发器维护数据的完整性和一致性;

示例:角色删除时自动清理关联关系。

六、安全考虑

1.数据保护

密码存储:使用bcrypt或argon2算法哈希存储;

敏感信息加密:对邮箱、手机号等敏感信息加密存储;

审计日志:记录所有权限变更操作。

2.SQL注入防护

使用参数化查询;

最小权限原则:应用连接使用最小必要权限的数据库用户。

3.防越权访问

后端API必须进行权限验证;

前端按钮和菜单根据权限动态显示;

数据访问时验证行级权限。

七、测试数据生成

生成10条随机用户数据,并赋予不同权限;

设计三层角色:普通用户、部门管理员、系统管理员。

八、输出格式要求

请提供完整的数据库设计文档,包含:

ER图描述:用文字描述各表之间的关系;

完整的SQL建表语句:包含所有表、索引、约束;

核心查询示例:

查询用户权限的SQL

权限验证的SQL

权限继承计算的SQL

输出目录:

docs/physical_model.md:包含物理模型和视图的结构和解释init/sql/physical_model.sql:包含所有表的建表语句和索引init/sql/views.sql:包含所有视图定义 init/sql/test_data.sql: 测试数据insert脚本

性能优化建议:针对高并发场景的优化策略;

扩展性考虑:如何支持未来可能的功能扩展。

特别强调:请充分利用PostgreSQL的特性,如枚举类型、JSONB字段、数组类型、全文搜索等,设计一个既符合RBAC标准又充分利用数据库优势的物理模型。

CodeFree智能体快速响应,生成了包含ER图描述、完整建表SQL、视图定义、测试数据脚本的数据库设计文档,完美覆盖提示词要求。

CodeFree智能体响应

(左右滑动查看更多)

生成Golang RESTful API完整代码

首先,需要在CodeFree中设置项目级规则,既能实现项目规则统一化,避免大模型思维混乱导致的代码冲突,也能减少每次提示词的冗余内容,让需求描述更聚焦核心功能。

在CodeFree中设置项目级规则

---

description: Golang RESTful API 智能体代码生成与检查

---

# rules

规则名称:Golang RESTful API 智能体代码生成与检查

触发条件: 当新建或修改 Golang RESTful API 相关文件(如 .go 文件)时

源码组织结构遵循以下规则:

dataaudit/├── cmd/                  # 应用入口│   └── server/│       └── main.go├── internal/│   ├── controller/      # 控制器层│   ├── dao/            # 数据访问层│   ├── cache/          # 数据缓存��│   ├── database/       # 数据库连接│   ├── errors/         # 错误处理│   ├── middleware/     # 中间件│   ├── model/          # 数据模型│   ├── response/       # 响应格式│   ├── router/         # 路由配置│   └── service/        # 业务逻辑层├── pkg/                # 公共库目录│   └── logger/         # 日志├── api/                # API定义目录│   └── openapi.yaml├── configs/            # 配置处理│   └── config.yaml├── deployments/        # docker编排文件│   └── Dockerfile│   └── compose.yaml├── scripts/            # 自动化编译发布的脚本│   └── build.sh├── go.mod              # 依赖管理└── README.md           # 项目说明

RESTful API设计原则

资源导向设计:遵循RESTful原则,将数据和功能映射为资源,使用URL作为资源的唯一标识符。

HTTP方法规范:

GET:用于查询资源

POST:用于创建新资源

PUT:用于更新资源

DELETE:用于删除资源

路由设计规范:

使用清晰、简洁的URL命名

例如:/users/{id}/orders 表示用户123的订单资源

遵循单一职责原则,每个API只服务于单一业务需求

自行使用的项目级规则

基于已完成的数据库物理模型,提交提示词(已设置项目级规则)。CodeFree自动读取数据库模型文件,生成Todo列表(创建项目结构、实现配置管理、数据库连接、中间件等),并按步骤编写代码。最终代码无需大幅修改即可编译成功,还支持单元测试与API文档生成。

角色设定:你是一位资深的Golang后端开发专家,专注于使用Golang框架构建高性能、可扩展的RESTful API服务。

任务要求:请根据以下要求,为我提供一个完整的Golang RESTful API实现方案:

一、框架选择与基础架构

项目初始化:提供完整的项目结构设计,包括路由层、控制器层、服务层和数据层的分离。

依赖管理:使用Go Modules进行依赖管理,确保版本兼容性。

框架:使用Gin框架,因为它是一个轻量级、高性能的Web框架,能够快速构建强大的Web应用程序。

数据库: postgresql

缓存: redis

ORM框架: gorm,对开发人员友好的 Golang ORM 库,全功能orm库

接口限流框架:go.uber.org/ratelimit

日志框架:go.uber.org/zap ,非常快的、结构化的,分日志级别的Go日志库

配置管理: github.com/spf13/viper 

接口文档:github.com/swaggo/gin-swagger  可以自动生成、展示和交互式地测试的 API 文档

二、具体实现要求

参考物理模型

物理模型已经完成设计,请以此物理模型为基础设计:

设计文档: 项目目录下docs/physical_model.md

物理模型创建sql: 项目目录下init/sql/physical_model.sql

视图创建sql: 项目目录下init/sql/views.sql

用户登录模块:

申请一次性登录密码(POST /sys/otp/{mobile_phone})

登录(POST /sys/login)

获取单个用户信息(GET /users/{id})

请求响应格式:

使用JSON作为数据交换格式

统一响应结构:包含状态码、消息和数据字段

示例响应结构:

json{  "code": 200,  "message""success",  "data": {...}}

HTTP状态码使用:

200:请求成功

201:资源创建成功

400:错误请求

404:资源未找到

500:服务器内部错误

三、中间件与最佳实践

中间件配置:

配置管理: 使用yaml文件管理配置数据,使用viper读取配置,配置存在上下文context中;

请求日志记录:使用zap管理日志,可以通过上下文context中读取配置实现项目代码日志和中间件日志的分开配置日志级别,日志同时输出到console和文本文件中;

跨域处理(CORS)

身份验证与授权

请求限流:使用ratelimit对关键接口限流,比如登录接口,防止被爆破,配置的限流数据可以通过上下文context中读取;

缓存配置:使用redis存储一次性密码和登录后的token,以用户mobilephone为key存储用户信息。

参数验证:

对输入参数进行有效性验证

使用结构体验证标签(如binding:"required")

返回清晰的验证错误信息

错误处理:

统一的错误处理机制

定义枚举类型的错误代码

记录错误日志便于问题排查

四、部署

编译:

生成dockerfile,但不用立刻打包镜像;

分层编译设计,使用go:alpine为builder镜像,go:alpine为运行镜像。

编排:

使用docker compose 编排

使用caddy:2作为web代理镜像,反向代理给本项目镜像,本项目只监听docker网络接口

五、代码质量要求

代码结构清晰:遵循Go语言的最佳实践和代码规范;

错误处理完善:所有可能出错的地方都要有适当的错误处理;

并发安全:考虑并发访问的场景,确保线程安全;

性能优化:考虑内存使用、响应时间等性能指标。

六、测试要求

单元测试:为关键业务逻辑编写单元测试

集成测试:使用Gin Gonic等工具测试路由和处理函数

API文档:生成或编写清晰的API文档

输出格式要求:请提供完整的Go代码实现,包含详细的注释说明每个部分的功能和设计思路。代码应该可以直接运行或稍作配置即可使用。

CodeFree响应

(左右滑动查看更多)

开发效率实现6倍提升

传统模式下,完成包含RBAC权限管理的完整用户模块,需花费约24小时(设计数据库Schema 2小时、编写模型层代码3小时、实现业务逻辑6小时、编写API接口4小时、添加中间件3小时、编写API文档2小时、调试测试4小时);

使用CodeFree,仅需不到4小时即可完成同等质量的工作(编写清晰需求描述15分钟、与AI交互完善细节30分钟、审查微调代码2小时、运行测试调试1小时),大幅压缩基础工作耗时。

开发质量与规范性显著提升

生成的代码严格遵循项目Rules规范,目录结构清晰、命名统一,完全契合Golang最佳实践;数据库设计充分利用PostgreSQL特性,包含完整的约束、索引与高级功能,性能与安全性更有保障;API接口符合RESTful规范,统一响应格式与错误处理机制,减少后期维护成本。同时,CodeFree自动生成API文档与测试数据,降低了文档编写负担与测试难度。

欢迎参加

中国电信研发云

长期案例征集活动

案例模板下载链接

https://docs.srdcloud.cn/docs/473QyXx4w5U1Dr3w/

发送案例至邮箱

yanfayun@chinatelecom.cn

活动详情

欢迎关注转发“中国电信研发云”公众号

为您带来更多研发干货!↓↓↓
供稿 | 董德宝
辑 | 成莎莎 凯雯 孙永健
校对 | 李银鑫
审核 | 龙显军 董智明

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 18:05:57 HTTP/2.0 GET : https://f.mffb.com.cn/a/463734.html
  2. 运行时间 : 0.164698s [ 吞吐率:6.07req/s ] 内存消耗:4,565.71kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=3ac63511514c82ccc18390bb6a22ef5f
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001068s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001526s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.001559s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000697s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001340s ]
  6. SELECT * FROM `set` [ RunTime:0.000591s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001529s ]
  8. SELECT * FROM `article` WHERE `id` = 463734 LIMIT 1 [ RunTime:0.001498s ]
  9. UPDATE `article` SET `lasttime` = 1770545157 WHERE `id` = 463734 [ RunTime:0.003892s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.002650s ]
  11. SELECT * FROM `article` WHERE `id` < 463734 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.004322s ]
  12. SELECT * FROM `article` WHERE `id` > 463734 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001641s ]
  13. SELECT * FROM `article` WHERE `id` < 463734 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.008671s ]
  14. SELECT * FROM `article` WHERE `id` < 463734 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006778s ]
  15. SELECT * FROM `article` WHERE `id` < 463734 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002944s ]
0.168487s