k8s 中文文档 k8s 中文文档
指南
kubernetes.io (opens new window)
指南
kubernetes.io (opens new window)
  • k8s 是什么
  • 互动教程

  • Minikube 介绍

  • 概念

  • Kubectl CLI

  • Kubectl 命令表

  • 安装设置

  • API 使用

  • 集群管理

  • TASKS

安全,强大,易开发的企业微信SCRM

文档 |
截图 |
演示 |
安装

项目简介


OpenSCRM是一套基于Go和React的高质量企业微信私域流量管理系统


快速开始(docker-compose)


我们已经在docker-compose.yaml文件中配置好所有依赖,修改应用配置信息即可启动。

修改配置文件


conf/config.example.yaml -> conf/config.yaml
修改DB.Host节点。api-server在容器中跑时,DB.Host需要改成宿主机的IP(host.docker.internal/局域网IP)。api-server在本地跑时,DB.Host填localhost即可。
修改配置文件的App.SuperAdmin节点,此项为企业微信中的管理员ID
修改配置文件的WeWork节点
如果你修改了docker-compose.yaml文件,不要忘记docker-compose down,docker-compose up重建容器让配置生效

启动docker-compose


  1. ``` sh
  2. cd /project-home-dir/
  3. openssl genpkey -algorithm RSA -out conf/private.key
  4. chmod +x bin/api-server bin/msg-arch-server
  5. docker-compose up

  6. ```

访问站点


http://dashboard.dev.openscrm.cn:9000/

搭建开发环境(可选)


安装go语言环境


https://go.dev/doc/install

安装swag


  1. ``` sh
  2. go install github.com/swaggo/swag/cmd/swag@latest

  3. ```

启动程序


  1. ``` sh
  2. go run main.go

  3. ```

访问站点


http://dashboard.dev.openscrm.cn:9000/

子项目


会话存档服务 管理面板 企业微信H5侧边栏

项目特点


安全性高:企业微信控制了企业所有员工和客户的敏感数据,如电话号码,职位,客户标签,联系方式等,如果发生泄露, 对企业的打击将是致命的。我们团队有丰富的Web安全经验保证项目安全性。

高性能,高稳定性:得益于Go出色的工程能力,简单有效的并发控制能力,OpenSCRM具备比肩头部Saas厂商的高性能和高稳定

代码可读性优先:我们深刻认同Google对于代码管理的看法,项目开发完成只是项目的开始,更多的工作在于维护和迭代, 唯有易读的代码才能保证后期迭代的高质量,高效率,这也是Go语言的设计目标。我们有非常完善的代码注释,所有代码力求清晰易读。

易开发:作为开源项目,我们为了让更多的人可以受益于此项目,我们做了大量工作力求项目简单易上手。 我们只做必要抽象(MVC),避免引入新慨念。我们坚持尽量少的中间件依赖,仅依赖Mysql和Redis, 比如延迟队列我们基于Redis实现, 没有引入Kafka;比如全文检索基于Mysql8全文检索实现,没有引入ES。

Python,PHP,NodeJS开发者可以放心使用本项目,本项目做了大量工作力求简单,非常容易上手。


项目截图


技术栈


后端技术栈


Go
Gin
GORM
Redis
Mysql >= 5.7

前端技术栈


React
TypeScript
Ant Design
Ant Design Pro
Pro Components

目录结构


  1. ``` sh
  2. ├─app
  3. │  ├─callback 企业微信事件回调处理
  4. │  │  ├─customer_event
  5. │  │  ├─department_event
  6. │  │  ├─group_chat_event
  7. │  │  ├─msg_arch_event
  8. │  │  ├─staff_event
  9. │  │  └─tag_event
  10. │  ├─constants 常量定义
  11. │  ├─consumers 队列消费
  12. │  ├─controller 控制器
  13. │  ├─entities 消息实体,主要定义参数,请求,响应结构体
  14. │  ├─middleware gin请求中间件
  15. │  ├─models 数据库模型
  16. │  ├─requests 请求定义
  17. │  ├─responses 响应定义
  18. │  ├─services 服务
  19. │  ├─tasks 定时任务
  20. ├─bin 二进制文件
  21. ├─common 共同库
  22. │  ├─app 基于Gin封装的常用请求响应处理函数
  23. │  ├─delay_queue 基于Redis延迟队列
  24. │  ├─ecode 错误码
  25. │  ├─id_generator uuid生成
  26. │  ├─log 日志
  27. │  ├─redis redis操作库
  28. │  ├─session session会话
  29. │  ├─storage 存储
  30. │  ├─util 常用工具函数
  31. │  └─validator 请求验证
  32. ├─conf 配置文件
  33. ├─docker
  34. │  ├─data
  35. │  │  ├─dashboard
  36. │  │  │  └─dist 管理后台构建的前端静态文件
  37. │  │  ├─mysql
  38. │  │  │  ├─conf mysql容器配置文件
  39. │  │  │  └─db mysql容器数据文件
  40. │  │  ├─nginx
  41. │  │  │  ├─conf nginx容器配置文件
  42. │  │  │  │  └─conf.d
  43. │  │  │  └─logs
  44. │  │  ├─redis
  45. │  │  │  └─db redis容器数据文件
  46. │  │  └─sidebar
  47. │  │      └─dist 侧边栏构建的前端静态文件
  48. │  └─lib 企业微信提供的会话存档动态链库
  49. ├─docs 文档
  50. ├─pkg 三方库
  51. │  └─easywework 企业微信Api调用库
  52. │      ├─errcodes 企业微信Api错误码
  53. ├─routers Gin路由
  54. ├─scripts 脚本
  55. └─test 测试代码

  56. ```

安装教程


https://github.com/openscrm/api-server/wiki/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B

Api调试


docs目录包含postman导出文件,可方便调试api

版权声明


OpenSCRM遵循Apache2.0协议,可免费商用
Last Updated: 2023-09-03 19:17:54