README.md 1.82 KB
Newer Older
hujiebin's avatar
hujiebin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
# hilo群组中心

# 项目架构

+ .env 项目环境配置,正服/测服会用服务器上的配置覆盖
+ run.sh 守护脚本
+ Makefile 构建文件
+ main.go 入口文件
+ *.ini 配置文件,测服用debug.ini,正服用release.ini
+ 目录分层说明(`着重注意命名规则`,下划线_分割职责)
    + test: 单元测试目录
    + _const: 常量
        + 子目录 enum,放业务定义常量
            + 命名规则 `*_e`,如game_e
        + 子目录 redis_key,放redis的key
            + 命名规则 `*_k`,如game_k
    + cron: 定时任务
        + 统一入口cron.go
        + 子目录命名规则 `*_cron`,如game_cron
    + myerr: 错误码
        + 子目录 bizerr,放业务错误
    + req: 请求参数
        + request.go: 定义一些常用方法
        + 子目录jwt: 鉴权相关
        + 子目录
            + 命名规则 `*_req`,如game_req
    + resp: 返回结构体,通用结构体
    + cv: 客户端需要结构体
        + 子目录
            + 命名规则 `*_cv`,如game_cv
    + route: 路由定义
        + 根目录
            + errorHandler.go 错误处理
            + middleHandle.go 中间件
            + router.go 路由定义
            + util.go 工具包
        + 子目录,业务路由定义
            + 命名规则 `*_r`,如game_r
    + domain: 领域层
        + cache: 缓存层
            + moduleRedis.go 带有model的通用redis方法
            + 子目录
                + 命名规则 `*_c`,如user_c
        + event: 事件层
            + 子目录
                + 命名规则 `*_ev`,如game_ev
        + model: 模型层
            + repo.go 持久化
            + 子目录
                + 命名规则 `*_m`,如game_m/user_m
        + service: 服务层,主要是开启事务和发事件
            + 子目录
                + 命名规则 `*_s`,如game_s