# cgs-server **Repository Path**: dada20_admin/cgs-server ## Basic Information - **Project Name**: cgs-server - **Description**: 畅图云后台 目前包含零代码平台APP,后续会增加2D、3D、Earth、Workflow(算法)等应用场景类型。 零代码APP,包含表单设计、API接口、自定义BI、工作流、移动应用等功能,后续与上述可视化场景进行绑定。 试用地址:https://app.mapaas.com/ - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: http://www.changtukeji.com/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-12 - **Last Updated**: 2022-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cgs Server This is the server. The main programming language is golang. It uses mongodb to store data, and google protocol buffers to transfer data. ## Structure | flag | | | --- | --- | | help | helper tools | # Dependencies ## Database * MongoDB ``` configs/cgs-server.yaml mongo: host: 10.8.0.1 port: 27017 database: CgsCommunity ``` ## Minio Minio ``` configs/cgs-server.yaml minio: endpoint: 10.8.0.1:9000 # minio 地址 access-key-id: minioadmin # minio 账户,公有版有默认值 secret-access-key: minioadmin # minio 密钥,公有版有默认值 # bucketName: # defalut cgs # useSSL: true # ture ,use https ``` ## 构建服务 ### build `go build` ## 启动服务 * 生成模式 `cgs-server -c configs/cgs-server.yaml` * 开发模式 `cgs-server -c configs/cgs-server-dev.yaml` ## 日志记录方式 ### 在何处打印日志 * 在分支语句处打印日志 * 写操作必须打印日志 * 在循环中打印日志要慎重 * 在错误产生的最原始位置打印日志 ### 用什么级别打印日志 ![log-level](./docs/assets/log-level.png) ## 怎么记录日志内容 * 在记录日志时,不要输出一些敏感信息,例如密码、密钥等。 * 为了方便调试,通常会在 Debug 级别记录一些临时日志,这些日志内容可以用一些特殊的字符开头,例如 log.Debugf("XXXXXXXXXXXX-1:Input key was: %s", setKeyName) 。这样,在完成调试后,可以通过查找 XXXXXXXXXXXX 字符串,找到这些临时日志,在 commit 前删除。 * 日志内容应该小写字母开头,以英文点号 . 结尾,例如 log.Info("update user function called.") 。 * 为了提高性能,尽可能使用明确的类型,例如使用 log.Warnf("init datastore: %s", err.Error()) 而非 log.Warnf("init datastore: %v", err) 。 * 根据需要,日志最好包含两个信息。一个是请求 ID(RequestID),是每次请求的唯一 ID,便于从海量日志中过滤出某次请求的日志,可以将请求 ID 放在请求的通用日志字段中。另一个是用户和行为,用于标识谁做了什么。 # 前端 https://gitee.com/cgscloud/cgs-portal