Skip to content

系统简介 ​

命名含义 ​

cf_Ghbf 是项目沿用的品牌标识,其中 cf 代表晨风;项目英文名称为 Go High-performance Framework(高性能框架)。

项目定位 ​

cf_Ghbf 是一套前后端分离的插件化基础框架,覆盖服务端、管理端与用户端三端:后端基于 Go(Gin + GORM + MySQL + Redis + JWT),管理端基于 Vue 3(TypeScript + Vite + Element Plus + Pinia),用户端(C 端)基于 uni-app(Vue 3 + TypeScript + Vite)一套代码多端发布。管理端 API 与用户端 API 拥有独立的服务入口与路由,可按业务规模分别部署。

框架的目标不是“快速拼一个后台”,而是让基础能力保持稳定、让业务模块可以独立开发、独立发行、按需安装,并逐步形成可持续的插件生态。

核心能力 ​

能力说明
双端服务service admin(管理端,默认 :8001)与 service api(用户端,默认 :8002)独立启动、独立路由
登录鉴权JWT + Redis 登录态,支持主动退出、改密失效、管理员踢下线、账号禁用即失效
RBAC 权限菜单、页面、按钮绑定接口(METHOD:/route),后端权限中间件为最终安全边界
动态路由后端菜单驱动前端路由,页面路径与 src/views 目录一一对应
操作审计管理端写操作自动记录日志,敏感参数脱敏,日志查询不产生新日志
文件存储本地 / 阿里云 OSS / 腾讯云 COS / 七牛 Kodo / MinIO,业务表只存相对路径
渠道配置短信、微信、支付、平台品牌配置模块开箱即用
会员体系C 端会员:验证码注册登录、单会话令牌、用户编号 sn、管理端启停与脱敏展示
多端用户端uni-app 一套代码发布 H5、App 与微信 / 支付宝 / 百度 / 抖音 / 鸿蒙小程序,请求统一携带平台来源与版本号,令牌失效自动跳登录
插件体系源码级插件 + 编译期注册,安装器负责校验、迁移、菜单与注册文件生成;用户端插件页面随插件以分包形式下发(如 user_client/src/plugins/news)

技术栈 ​

服务端:Go、Gin、GORM、MySQL、Redis、JWT、Cobra(CLI)、bcrypt(密码加密)

管理端:Vue 3 Composition API、TypeScript、Vite、Element Plus、Pinia、Vue Router、Axios、ECharts

用户端(C 端):uni-app(Vue 3 + TypeScript + Vite)、wot-design-uni(UI 组件库)、图鸟 UI 与项目自定义(UI组件库)、Pinia、UnoCSS(@uni-helper/unocss-preset-uni + 图标预设)、mp-html(资讯正文与协议富文本渲染)、@uni-helper 文件路由 / 布局 / 组件按需引入 / manifest 配置、@uni-ku/bundle-optimizer 小程序分包优化、unplugin-auto-import 自动导入;请求层基于 uni.request 自封装 src/utils/request.ts,统一注入令牌与 X-Platform-Source、X-App-Version 请求头,令牌失效自动跳登录页。一套代码编译发布到 H5、App(Android / iOS)与微信小程序、支付宝、百度、抖音、鸿蒙小程序等端(manifest.config.ts 中维护各端配置)。

用户端工程要点:

项说明
工程目录user_client,页面位于 src/pages,分包位于 src/subpackages(插件页面可独立成包,如 src/plugins/news)
路由与配置由 @uni-helper/vite-plugin-uni-pages 依据文件生成 src/pages.json,pages.config.ts 定义全局样式
环境变量.env.development / .env.staging / .env.production 提供 VITE_API_BASE_URL(用户端 API 默认 http://127.0.0.1:8002)、VITE_APP_VERSION、VITE_ENV_NAME
平台来源src/composables/constants/platform 解析平台来源,与服务端 X-Platform-Source 枚举(1微信小程序 2微信公众号 3iOS 4Android)一致
富文本与协议src/uni_modules/mp-html 渲染资讯正文与协议内容,页面位于 src/subpackages/agreement、src/subpackages/webview
工程规范TypeScript 严格检查(vue-tsc)、ESLint 9(@uni-helper/eslint-config)、husky + commitlint(Conventional Commits)、standard-version 发版

适用场景 ​

  • 企业管理后台与内部运营平台
  • SaaS 管理端与多业务控制台
  • 内容、资讯、知识库与门户系统
  • 商城、会员、营销和支付类业务
  • 需要一套代码同时交付 H5、小程序与 App 的 C 端业务
  • 需要沉淀自有插件库的开发团队

快速开始 ​

  1. 初始化数据库:向空库导入 server_api/sql/0.0.1/full.sql,无需执行历史增量。
  2. 创建配置:cp config.example.yaml config.yaml,修改 MySQL / Redis / JWT 配置(version 必填)。
  3. 启动服务:
bash
go run . service admin -c config.yaml   # 管理端 API
go run . service api   -c config.yaml   # 用户端 API
  1. 启动管理端:
bash
cd admin_client
pnpm install
pnpm dev
  1. 启动用户端(C 端):
bash
cd user_client
pnpm install
pnpm dev              # H5
pnpm dev:mp-weixin    # 微信小程序(用微信开发者工具打开 dist/dev/mp-weixin)
pnpm dev:app          # App(HBuilderX / 自定义运行基座)

用户端通过 .env.* 的 VITE_API_BASE_URL 指向用户端 API(默认 http://127.0.0.1:8002),VITE_APP_VERSION 对应客户端版本号,两者缺失会在请求发起时直接抛错。

默认演示账号:admin / 123456(正式环境务必修改)。