# mec-man **Repository Path**: JMArch/mec-man ## Basic Information - **Project Name**: mec-man - **Description**: 消息中心配置及管理系统 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2016-09-19 - **Last Updated**: 2023-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 系统简介 ======= 消息中心主要包含以下三个服务 * ######消息接收网关 EventServer/App/Server/Gateway/Rpc.php * #####消息推送服务 EventServer/App/Server/Cli/Daemon/BroadcastSender * #####消息中心管理后台 EventServer/App/Admin/Public 系统服务需求 ========== * go1.6+ * Redis server * Beanstalkd * Mysql5.5+ 代码库 ============= #sys 包介绍 配置文件 ========= 1.配置文件使用 [toml](https://github.com/toml-lang/toml) 2.具体配置请查看 Docs/etc/ 下的 event.toml文件 3.解析toml 使用 [github.com/BurntSushi/toml](github.com/BurntSushi/toml), 该配置在sys/basic/config.go 文件, 对应model在 sys/models/config 下 日志 ========= ### 日志实现 日志使用适配器模式,通过注册的方式将各种输出方式添加到adapters中,通过接口Output实现多种输出方式的调用. 封装在 /libs/logs/ 文件夹下,现在已经实现 文件和控制台两种输出方式. 1. 添加输出方式 2. 注册输出方式,调用输出方式New 方法 3. 根据名称找到对应输出方法生成New方法获取这种输出方式的实例,调用实例的Write方法进行发送信息 ###日志使用 1. 在sys/basic/log.go 中又包了一层log 使用时 直接实例化 调用write() 进行输出 ###級別 1. 成功 info 2. 一般提示 info 3. 失敗 error 4. 没有很大影响的warn 5. 其他暂时没用到 ORM 使用 ========= 本程序orm 使用的是gorm,具体参照 [github.com/jinzhu/gorm](github.com/jinzhu/gorm) 1. 在sys/basic/orm.go 中封装 read 和 write 两种方式,可以在配置文件中单独配置 2. model 所在位置为 /models/ 下的文件夹 Redis 使用 ========= 本程序使用redis 为 redigo, 具体参照 [github.com/garyburd/redigo/redis](github.com/garyburd/redigo/redis) echo 使用 ========= 基础框架选择为 echo , [https://github.com/labstack/echo](https://github.com/labstack/echo) 1. 具体配置请查看 /sys/router.go 文件 2. router 中实现了大量自定义方法,可以方便的在模板中使用该方法 signal 使用 ========= 1. signal 底层封装在 /lib/signals/ 下 2. 现在暂时并没有使用底层实现, 依然在使用的是medispather中的signal , 位置在 /sys/signal.go #lib 包介绍 paginator 使用 ========= 1. 实例化,传入 http.Request ,以及每页多少条数据, 总共多少条数据, p := paginator.NewPaginator(http.Request, perPage, count) 2.使用对应views 分页:/views/block/paginator.tmpl 每页多少条: /views/block/perPageNums.tmpl utils 介绍 ========= utils 主要为一些帮助方法 array.go 主要是数据的一些操作 encryption.go 加密 remote.go 远程获取数据 validator.go 验证 libs/utils/reflectutil 在获取配置文件的时候进行类型判断 auth 介绍 ========= 在 /controllers/auth.go 中主要是登录部分的操作,包括 1. 登录验证中间件 2. 登录 3. 退出 Q: 可能存在 session 过期的问题, 只要点击登录就好了. index 介绍 ========= 首页,后面可能会找美工改好看点,暂时没有想法修改