Home

Awesome

<h4 align="center"> 重要:本项目缺乏维护,目前没有力量继续维护,如果有兴趣维护的朋友,可以联系我,我会尽力提供帮助。 </h4> <p align="center"> <img alt="logo" height="48" src="https://openscrm.oss-cn-hangzhou.aliyuncs.com/public/openscrm_logo.svg"> </p> <h3 align="center"> 安全,强大,易开发的企业微信SCRM </h3> <h4 align="center">

<a href="https://github.com/openscrm/api-server/wiki" target="_blank">文档</a> | 截图 | <a href="http://dashboard.demo.openscrm.cn:8000/" target="_blank">演示</a> | <a href="https://github.com/openscrm/api-server/wiki/%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B" target="_blank">安装</a>

</h4> <p align="center"> <img width="260" src="https://openscrm.oss-cn-hangzhou.aliyuncs.com/public/感谢赞助.svg"> </p>

项目简介

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

快速开始,启动演示项目(docker-compose)

我们依靠docker-compose启动mysql和redis。 api-server后端API本地编译启动, dashboard前端界面同样本地编译启动

启动mysql和redis

docker-compose up

启动api-server

启动前端dashboard

访问站点

http://localhost:9000/


搭建后端开发环境(可选)

安装go语言环境

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

子项目

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

项目特点

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

Api调试

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

版权声明

OpenSCRM遵循Apache2.0协议,可免费商用

FAQ

1.初始化失败,出现 not allow to access from your ip 错误

错误示例:
get all departments from wx failedClientError { Code: 60020, Msg: "not allow to access from your ip, 错误
解决办法

登录企业微信管理员后台->安全与管理->管理工具->通讯录同步->企业可信IP 添加允许访问企业微信接口的公网IP


2.登录界面提示:redirect_uri 与配置的授权完成回调域名不一致

错误原因

企业微信扫描登录需要配置授权登录地址域名,如果域名不一致会提示此错误,演示站点用的我的配置,你需要自建应用完成相关配置

解决方法1(用于生产环境)

登录企业微信管理员后台->应用管理->应用->自建应用(你的应用)->企业微信授权登录->授权回调域

解决方法2(用于开发环境)

本地开发的时候,不方便配置登录回调。可以使用强制登录。 登录界面url加上参数?debug=1。 同时确保conf/config.yaml中的Env配置为DEV或TEST

3.前端无法连接后端api-server.

检查nginx配置 docker/nginx/conf/conf.d/dashboard.conf


4.容器中运行的程序如何链接宿主机

docker中宿主机ip地址为172.17.0.1,所有docker服务默认监听端口到宿主机上,配置文件中需要填host的地方填172.17.0.1