签入版本
This commit is contained in:
@@ -27,7 +27,7 @@ model/entity · model/hooks · gdb
|
||||
### api/v1(契约层)
|
||||
|
||||
+ 全部 Req/Res 结构体,**单包 v1**,每模块一文件(snake_case)
|
||||
+ gmeta 注解声明 method/path/summary/permission/log/logType/public
|
||||
+ gmeta 标签声明 method/path/summary/permission/log/logType/public
|
||||
+ gvalid 标签声明校验规则;`dc` 标签供 OpenAPI 文档
|
||||
+ **禁止**:业务逻辑、数据库引用
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ goframe_user / role / dept / level / position / article / category / notice / li
|
||||
日志采集(不短路) OpenAPI 元数据
|
||||
```
|
||||
|
||||
权限校验不设独立中间件——因为它需要每路由不同的权限码,放在读路由元数据的包装层最自然(与日志注解同源,"注解即事实")。
|
||||
权限校验不设独立中间件——因为它需要每路由不同的权限码,放在读路由元数据的包装层最自然(与日志标签同源,"标签即事实")。
|
||||
|
||||
## 日志横切(OperationLog)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# 4.4 前端分层架构
|
||||
|
||||
:::tip 概述
|
||||
前端采用 Vue3 Composition API + TypeScript + Pinia + Element Plus,分层为:views(页面)→ components(公共组件)→ api(接口)→ utils/http(请求封装)→ store(状态)→ router(动态菜单)。本节给出分层视图与协作关系。
|
||||
前端采用 Vue3 Composition API + TypeScript + Pinia + ElementPlus,分层为:views(页面)→ components(公共组件)→ api(接口)→ utils/http(请求封装)→ store(状态)→ router(动态菜单)。本节给出分层视图与协作关系。
|
||||
:::
|
||||
|
||||
## 前端分层视图
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# 4.1 整体架构概览
|
||||
|
||||
:::tip 概述
|
||||
系统采用分层架构 + 声明式基座 + 全局钩子横切 + gmeta 反射注解的组合。本节给出总架构图、模块依赖方向(允许/禁止)与启动编排,是理解全部机制的地图。
|
||||
系统采用分层架构 + 声明式基座 + 全局钩子横切 + gmeta 反射标签的组合。本节给出总架构图、模块依赖方向(允许/禁止)与启动编排,是理解全部机制的地图。
|
||||
:::
|
||||
|
||||
## 系统总架构图
|
||||
|
||||
```text
|
||||
┌───────────────────────────── 客户端 ─────────────────────────────┐
|
||||
│ ui/(Vue3 + Element Plus,baseURL=/api) 其他 API 消费方 │
|
||||
│ ui/(Vue3 + ElementPlus,baseURL=/api) 其他 API 消费方 │
|
||||
└──────────────────────────────────┬─────────────────────────────────┘
|
||||
│ HTTP(Bearer JWT)
|
||||
╔══════════════════════════════════▼═════════════════════════════════╗
|
||||
@@ -19,7 +19,7 @@
|
||||
║ └──────────────────────────┬──────────────────────────────┘ ║
|
||||
║ ┌──────────────────────────▼──────────────────────────────┐ ║
|
||||
║ │ Bind 反射包装层(gmeta):权限校验 → 参数解析 → 分发 │ ║
|
||||
║ │ 路由元数据表 meta(权限/日志 注解即事实,补注册 goai) │ ║
|
||||
║ │ 路由元数据表 meta(权限/日志 标签即事实,补注册 goai) │ ║
|
||||
║ └──────────────────────────┬──────────────────────────────┘ ║
|
||||
║ controller(薄)→ service 接口(手维护)→ logic(ModuleSpec 基座) ║
|
||||
║ │ 侧路:utility/{jwt,captcha,cache,upload,excel,ip2region…} ║
|
||||
@@ -94,7 +94,7 @@ Bind 包装(gmeta 权限/日志元数据)
|
||||
|
||||
| 层 | 位置 | 职责 | 禁止 |
|
||||
|----|------|------|------|
|
||||
| api/v1 | api/v1/{模块}.go | 请求响应结构体 + gmeta 注解 | 业务逻辑 |
|
||||
| api/v1 | api/v1/{模块}.go | 请求响应结构体 + gmeta 标签 | 业务逻辑 |
|
||||
| controller | internal/controller/{模块}.go | 薄层透传 | 业务/dao/手写响应 |
|
||||
| service | internal/service/{模块}.go | 接口契约(手维护) | 实现 |
|
||||
| logic | internal/logic/{模块}.go | 业务实现(基座+钩子+手写) | 反向依赖 task |
|
||||
|
||||
Reference in New Issue
Block a user