문서 | 데모 설치 |
OpenSCRM은 Go 및 React를 기반으로 한 고품질 기업 WeChat 개인 도메인 트래픽 관리 시스템입니다.
우리는 mysql과 redis를 시작하기 위해 docker-compose를 사용합니다. api-server 백엔드 API는 로컬에서 컴파일되고 시작되며 대시보드 프런트엔드 인터페이스도 로컬에서 컴파일되고 시작됩니다.
도커 작성
http://localhost:9000/
https://go.dev/doc/install
conf/config.example.yaml -> conf/config.yaml
go run main.go
http://dashboard.dev.openscrm.cn:9000/
자세한 내용은 https://github.com/openscrm/dashboard를 참조하세요.
세션 보관 서비스 관리 패널 Enterprise WeChat H5 사이드바
높은 보안성 : 기업용 위챗은 전화번호, 직위, 고객 태그, 연락처 등 회사의 모든 직원과 고객의 민감한 데이터를 관리하고 있습니다. 유출될 경우 회사에 치명적인 타격을 줄 수 있습니다. 우리 팀은 프로젝트 보안을 보장하기 위해 광범위한 웹 보안 경험을 보유하고 있습니다.
고성능 및 높은 안정성 : Go의 우수한 엔지니어링 기능과 간단하고 효과적인 동시성 제어 기능 덕분에 OpenSCRM은 주요 SaaS 공급업체에 필적하는 높은 성능과 안정성을 제공합니다.
코드 가독성 우선순위 : 우리는 코드 관리에 대한 Google의 견해에 깊이 동의합니다. 프로젝트 개발의 완료는 프로젝트의 시작일 뿐입니다. 더 많은 작업은 유지 관리 및 반복에 달려 있습니다. 읽을 수 있는 코드만이 이후 반복의 높은 품질과 효율성을 보장할 수 있습니다. Go 언어의 설계 목표이기도 합니다. 우리는 매우 완전한 코드 주석을 보유하고 있으며 모든 코드는 명확하고 읽기 쉽도록 노력하고 있습니다.
개발 용이성 : 오픈 소스 프로젝트로서 더 많은 사람들이 이 프로젝트의 혜택을 누릴 수 있도록 프로젝트를 간단하고 사용하기 쉽게 만들기 위해 많은 노력을 기울였습니다. 우리는 필요한 추상화(MVC)만 만들고 새로운 개념의 도입을 피합니다. 우리는 Mysql과 Redis에만 의존하여 가능한 한 적은 수의 미들웨어 종속성을 고집합니다. 예를 들어 Kafka를 도입하지 않고 Redis를 기반으로 지연 대기열을 구현합니다. 예를 들어 전체 텍스트 검색은 도입하지 않고 Mysql8 전체 텍스트 검색을 기반으로 구현됩니다. ES.
Python, PHP 및 NodeJS 개발자는 이 프로젝트를 자신있게 사용할 수 있습니다. 이 프로젝트에서는 간단하고 쉽게 시작할 수 있도록 많은 작업이 수행되었습니다.
├─app
│ ├─callback 企业微信事件回调处理
│ │ ├─customer_event
│ │ ├─department_event
│ │ ├─group_chat_event
│ │ ├─msg_arch_event
│ │ ├─staff_event
│ │ └─tag_event
│ ├─constants 常量定义
│ ├─consumers 队列消费
│ ├─controller 控制器
│ ├─entities 消息实体,主要定义参数,请求,响应结构体
│ ├─middleware gin请求中间件
│ ├─models 数据库模型
│ ├─requests 请求定义
│ ├─responses 响应定义
│ ├─services 服务
│ ├─tasks 定时任务
├─bin 二进制文件
├─common 共同库
│ ├─app 基于Gin封装的常用请求响应处理函数
│ ├─delay_queue 基于Redis延迟队列
│ ├─ecode 错误码
│ ├─id_generator uuid生成
│ ├─log 日志
│ ├─redis redis操作库
│ ├─session session会话
│ ├─storage 存储
│ ├─util 常用工具函数
│ └─validator 请求验证
├─conf 配置文件
├─docker
│ ├─data
│ │ ├─dashboard
│ │ │ └─dist 管理后台构建的前端静态文件
│ │ ├─mysql
│ │ │ ├─conf mysql容器配置文件
│ │ │ └─db mysql容器数据文件
│ │ ├─nginx
│ │ │ ├─conf nginx容器配置文件
│ │ │ │ └─conf.d
│ │ │ └─logs
│ │ ├─redis
│ │ │ └─db redis容器数据文件
│ │ └─sidebar
│ │ └─dist 侧边栏构建的前端静态文件
│ └─lib 企业微信提供的会话存档动态链库
├─docs 文档
├─pkg 三方库
│ └─easywework 企业微信Api调用库
│ ├─errcodes 企业微信Api错误码
├─routers Gin路由
├─scripts 脚本
└─test 测试代码
https://github.com/openscrm/api-server/wiki/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B
docs目录包含postman导出文件,可方便调试api
OpenSCRM은 Apache2.0 프로토콜을 따르며 상업적 용도로 무료입니다.
get all departments from wx failedClientError { Code: 60020, Msg: "not allow to access from your ip, 错误
기업 WeChat 관리자 백엔드에 로그인->보안 및 관리->관리 도구->연락처 동기화->기업 신뢰할 수 있는 IP 기업 WeChat 인터페이스에 액세스할 수 있는 공용 IP 추가
엔터프라이즈 WeChat 스캔 로그인은 인증된 로그인 주소 도메인 이름을 구성해야 합니다. 도메인 이름이 일치하지 않으면 이 오류가 표시됩니다. 관련 구성을 완료하려면 자체 애플리케이션을 구축해야 합니다.
Enterprise WeChat 관리자 백엔드에 로그인->애플리케이션 관리->애플리케이션->자체 구축 애플리케이션(귀하의 애플리케이션)->엔터프라이즈 WeChat 인증 로그인->인증 콜백 도메인
nginx 구성 확인 docker/nginx/conf/conf.d/dashboard.conf
docker의 호스트 IP 주소는 172.17.0.1입니다. 모든 docker 서비스는 호스트에 대한 기본 수신 포트를 구성 파일에서 호스트가 필요한 곳에 입력합니다.