TeamsACS 代码目录结构

文章目录

    粗略浏览一遍,大概了解每个模块的每个文件是实现什么功能的。可以 tree 一下结构,把每个文件的注释加上。

    查看目录

    排除 assets 子目录,因为下面的 js 文件太多。

    tree -I assets
    

    目录结构

    .
    ├── Dockerfile
    ├── Dockerfile.local
    ├── License
    ├── Makefile  // 里面的生成证书和部署方式可以借鉴
    ├── README.md
    ├── assets  // 前端代码
    ├── app
    │   ├── app.go
    │   ├── constant.go
    │   ├── cwmp.go
    │   ├── cwmp_preset.go
    │   ├── cwmp_scheduled.go
    │   ├── database.go
    │   ├── i18n.go
    │   ├── initdb.go
    │   ├── jobs.go
    │   ├── metrics.go
    │   ├── pagefunc.go
    │   └── tr069_metrics.go
    ├── commands  // 初始化一个本地的配置文件
    │   └── initdevcfg
    │       └── initdevcfg.go
    ├── common
    │   ├── aes
    │   │   ├── aes.go
    │   │   └── aes_test.go
    │   ├── common.go
    │   ├── common_test.go
    │   ├── cwmp  // TR-069 uses the CPE WAN Management Protocol (CWMP) 
    │   │   ├── Download.go
    │   │   ├── DownloadResponse.go
    │   │   ├── FactoryReset.go
    │   │   ├── FactoryResetResponse.go
    │   │   ├── FactoryResetResponse.xml
    │   │   ├── GetParameterNames.go
    │   │   ├── GetParameterNames.xml
    │   │   ├── GetParameterNamesResponse.go
    │   │   ├── GetParameterNamesResponse.xml
    │   │   ├── GetParameterNames_test.go
    │   │   ├── GetParameterValues.go
    │   │   ├── GetParameterValuesResponse.go
    │   │   ├── GetRPCMethods.go
    │   │   ├── GetRPCMethodsResponse.go
    │   │   ├── Inform.go
    │   │   ├── InformResponse.go
    │   │   ├── Inform_test.go
    │   │   ├── Message.go  // 定义了 Events 列表
    │   │   ├── Model.go
    │   │   ├── OnlineInform.go
    │   │   ├── Parser.go
    │   │   ├── Reboot.go
    │   │   ├── RebootResponse.go
    │   │   ├── ScheduleInform.go
    │   │   ├── ScheduleInformResponse.go
    │   │   ├── SetParameterValues.go
    │   │   ├── SetParameterValuesResponse.go
    │   │   ├── TransferComplete.go
    │   │   ├── TransferCompleteResponse.go
    │   │   ├── Upload.go
    │   │   ├── UploadResponse.go
    │   │   ├── ValueChange.go
    │   │   ├── auth_client.go
    │   │   ├── inform_test.xml
    │   │   └── utils.go
    │   ├── des
    │   │   ├── des.go
    │   │   └── des_test.go
    │   ├── echarts
    │   │   ├── echarts.go
    │   │   └── stats.go
    │   ├── excel
    │   │   └── excel.go
    │   ├── golimit
    │   │   └── golimit.go
    │   ├── httpc
    │   │   └── httpc.go
    │   ├── iploc
    │   │   ├── LICENSE
    │   │   ├── detail.go
    │   │   ├── indexes.go
    │   │   ├── ip.go
    │   │   ├── iploc.go
    │   │   ├── iploc_test.go
    │   │   ├── parser.go
    │   │   └── resource.go
    │   ├── mapstruct
    │   │   └── decode.go
    │   ├── menutil
    │   │   └── menutil.go
    │   ├── netutils
    │   │   └── netutils.go
    │   ├── rsa
    │   │   └── rsa.go
    │   ├── sftpc
    │   │   └── sftpc.go
    │   ├── sshc
    │   │   └── sshc.go
    │   ├── timeutil
    │   │   ├── timeutil.go
    │   │   └── timeutil_test.go
    │   ├── tpl
    │   │   └── tpl.go
    │   ├── validutil
    │   │   ├── validutil.go
    │   │   └── validutil_test.go
    │   ├── web
    │   │   ├── metrics.go
    │   │   ├── prequery.go
    │   │   ├── proxy.go
    │   │   ├── sse.go
    │   │   ├── web.go
    │   │   └── webix.go
    │   ├── xmlx
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   ├── document.go
    │   │   ├── entitymap.go
    │   │   ├── node.go
    │   │   ├── test.xml
    │   │   ├── test1.xml
    │   │   ├── test2.xml
    │   │   ├── test3.xml
    │   │   ├── test4.xml
    │   │   └── xmlx_test.go
    │   └── zaplog
    │       ├── config.go
    │       ├── cores.go
    │       ├── log
    │       │   └── say.go
    │       ├── loki.go
    │       ├── metrics.go
    │       ├── zaplog.go
    │       └── zaplog_test.go
    ├── config
    │   └── config.go  // 默认配置,包括:数据库账号,各种服务的端口号等
    ├── controllers
    │   ├── charts
    │   │   └── charts.go
    │   ├── cpe
    │   │   └── cpe.go
    │   ├── crontoller.go
    │   ├── cwmpconfig
    │   │   ├── cwmpconfig.go
    │   │   └── cwmpconfig_session.go
    │   ├── cwmppreset
    │   │   └── cwmp.go
    │   ├── dashboard
    │   │   ├── dashboard.go
    │   │   └── system.go
    │   ├── factoryreset
    │   │   └── factoryreset.go
    │   ├── files
    │   │   └── files.go
    │   ├── firmwareconfig
    │   │   └── firmwareconfig.go
    │   ├── index
    │   │   └── index.go
    │   ├── logging
    │   │   └── logging.go
    │   ├── metrics
    │   │   └── metrics.go
    │   ├── node
    │   │   └── node.go
    │   ├── opr
    │   │   └── opr.go
    │   ├── settings
    │   │   └── settings.go
    │   ├── supervise
    │   │   ├── cwmp.go
    │   │   ├── cwmp_factorycfg.go
    │   │   ├── cwmp_updatefirmware.go
    │   │   ├── cwmpconfig.go
    │   │   ├── models.go
    │   │   └── supervise.go
    │   └── translate
    │       └── translate.go
    ├── docker-compose.yml
    ├── events
    │   └── events.go
    ├── go.mod
    ├── go.sum
    ├── installer  // 封装了 systemd 配置的自动化配置。main.go 中调用
    │   └── installer.go
    ├── main.go
    ├── models
    │   ├── cwmp.go
    │   ├── cwmp_test.go
    │   ├── marshal.go
    │   ├── network.go
    │   └── system.go
    ├── tr069  // acs server 解析 cpe 发送的数据
    │   ├── events.md  // 文档
    │   ├── handlers.go  // 具体 handler 及 route 定义
    │   └── server.go  // 独立端口,默认 2999。但是默认是基于 tls 的,为了调试先禁用掉了。
    └── webserver
        ├── jwt_skips.json
        ├── server.go
        └── session_skip.json
    
    48 directories, 149 files
    

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式