热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【前端技术】MoChat国内首款完全开源的PHP企业微信管理系统正式发布

MoChat——让企业微信开发更简单项目地址Github:https:github.commochat-cloudmochatGitee:https:gitee.commochat

项目简介

MoChat, easy way to WeWork

MoChat 是开源的企业微信应用开发框架&引擎,是一套通用的企业微信管理系统,得益于 Hyperf 框架的优秀,MoChat 可提供超高性能的同时,也保持着极其灵活的可扩展性。

应用场景

可用于电商、金融、零售、餐饮服装等服务行业的企业微信用户,通过简单的分流、引流转化微信客户为企业客户,结合强大的后台支持,灵活的运营模式,建立企业与客户的强联系,让企业的盈利模式有了多种不同的选择。

功能特性

六大模块助力企业营销能力升级:

  • 引流获取:通过多渠道活码获取客户,条理有序分类
  • 客户转化:素材库、欢迎语互动客户,加强与客户联系
  • 客户管理:精准定位客户,一对一标签编辑,自定义跟踪轨迹,流失客户提醒与反馈
  • 客户群管理:于客户的基础,进一步获取客户裂变,自动拉群。集中管理,快速群发
  • 聊天侧边栏:提高企业员工沟通效率,精准服务
  • 企业风控:客户聊天记录存档,并设立敏感词库、敏感词报警,多方位跟进管理员工服务

业务架构

严格的分层来保证架构的灵活性

架构

核心技术

  • 前端技术栈: VueVuexVantAnt Design of Vue
  • 后端技术栈: PHPMySQLRedisHyperf

环境部署

准备工作

PHP >= 7.2 (推荐7.4版本)

Swoole >= 4.5

Composer

MySQL >= 5.7

Redis

FFmpeg

Node.js >= 10

运行系统

后端运行

# 目录

git clone https://github.com/mochat-cloud/mochat.git

cd /path/to/mochat/api-server

# 安装依赖

composer install

# 运行PHP服务

php bin/hyperf.php start

前端运行

# 进入项目目录

cd /path/to/mochat/dashboard

# 安装依赖

yarn install

# 编译生成dist

yarn run build

必要配置

1、后端配置运行脚本

  • php bin/hyperf.php mc:init,根据提示完成配置

2、前端配置

  • 修改 .env 中的配置 VUE_APP_API_BASE_URL= 接口地址

部署系统

后端部署
  • Docker:推荐根据api-server/Dockerfile使用K8S部署
  • Shell: 使用linux-install.sh安装必要依赖

cd /usr/local/src && wget https://mochatcloud.oss-cn-beijing.aliyuncs.com/deploy/CentOS-install.sh && ./CentOS-install.sh

  • Nginx 配置:具体参考开发文档
前端部署

当项目开发完毕,只需要运行一行命令就可以打包你的应用

# dashboard 打包正式环境

yarn run build

# sidebar 打包正式环境

yarn run build

构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 .js.cssindex.html 等静态文件。

通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。

项目介绍

文件结构

.

├── api-server------------------------------------------ 后端接口代码

├── dashboard------------------------------------------- 管理后台前端代码

├── sidebar--------------------------------------------- 聊天侧边栏前端代码

└── workbench------------------------------------------- 工作台前端代码

后端结构

.

├── app

│ ├── Action------------------------------------------- 控制器

│ ├── Command------------------------------------------ 命令行

│ ├── Constants---------------------------------------- 枚举

│ ├── Contract----------------------------------------- 契约

│ ├── Listener----------------------------------------- 监听

│ ├── Logic-------------------------------------------- 逻辑层

│ ├── Middleware--------------------------------------- 中间件

│ ├── Model-------------------------------------------- 模型层

│ ├── Process------------------------------------------ (消费)进程

│ ├── QueueService------------------------------------- 异步列队

│ ├── Service------------------------------------------ 服务层

│ ├── Task--------------------------------------------- 任务

│ ├── Tool--------------------------------------------- 工具

├── plugins--------------------------------------------- 插件

│ ├── archive------------------------------------------ 插件归档

│ └── vendor------------------------------------------- 插件代码

├── public

├── bin

├── composer.json

├── composer.lock

├── config

├── docker-compose.sample.yml

├── docker-entrypoint.sh

├── Dockerfile

├── migrations

├── package.json

├── phpstan.neon

├── phpunit.xml

├── README.MD

├── runtime

├── seeders

├── storage

├── test

└── vendor

前端结构

dashboard 和 sidebar 项目结构类似

.

├── README.md------------------------------------------- 项目说明

├── babel.config.js------------------------------------- babel配置文件

├── config

│   ├── plugin.config.js-------------------------------- 插件配置文件

│   └── themePluginConfig.js---------------------------- 主题配置文件

├── jest.config.js

├── jsconfig.json

├── package.json

├── postcss.config.js

├── public

│   ├── favicon.ico------------------------------------- 浏览器icon

│   └── index.html-------------------------------------- Vue 入口模板

├── src

│   ├── App.vue----------------------------------------- Vue 模板入口

│   ├── api--------------------------------------------- Api ajax 等

│   ├── assets------------------------------------------ 本地静态资源

│   ├── components-------------------------------------- 业务通用组件

│   ├── core-------------------------------------------- 项目引导, 全局配置初始化,依赖包引入等

│   ├── global.less------------------------------------- 全局样式

│   ├── layouts----------------------------------------- 控制器

│   ├── main.js----------------------------------------- Vue 入口 JS

│   ├── router------------------------------------------ Vue-Router

│   ├── store------------------------------------------- Vuex

│   ├── utils------------------------------------------- 工具库

│   └── views------------------------------------------- 业务页面入口和常用模板

├── vue.config.js--------------------------------------- Vue主配置

└── webstorm.config.js---------------------------------- ide配置文件

联系作者加入群

输入图片说明

部分演示图,持续更新

输入图片说明
输入图片说明
输入图片说明
输入图片说明
输入图片说明
输入图片说明
输入图片说明
输入图片说明
输入图片说明

版权声明

MoChat 开源版遵循 GPL-3.0 开源协议发布,并提供免费研究使用,但绝不允许修改后和衍生的代码做为闭源的商业软件发布和销售!


推荐阅读
  • 微信民众号商城/小顺序商城开源项目介绍及使用教程
    本文介绍了一个基于WeiPHP5.0开发的微信民众号商城/小顺序商城的开源项目,包括前端和后端的目录结构,以及所使用的技术栈。同时提供了项目的运行和打包方法,并分享了一些调试和开发经验。最后还附上了在线预览和GitHub商城源码的链接,以及加入前端交流QQ群的方式。 ... [详细]
  • L05 Laravel 教程电商实战
    https:laravel-china.orgcourseslaravel-shophttps:laravel-china.orgtopics13206laravel-shop-c ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 【前端工具】nodejs+npm+vue 安装(windows)
    预备先看看这几个是干嘛的,相互的关系是啥。nodejs是语言,类比到php。npm是个包管理,类比到composer。vue是个框架&# ... [详细]
  • 这篇文章给大家介绍怎么从源码启动和编译IoTSharp ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。IoTSharp项目是 ... [详细]
  • 如何通过swoole加速laravel的问题?
    这篇文章主要介绍了关于如何使用swoole加速laravel,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下再来复习一下吧,导致php慢的各种因素中解析性语言的 ... [详细]
  • php怎么创建项目目录,ThinkPHP 5.1自动生成模块及目录、文件
    试用一下ThinkPHP5.1这最新版的TP框架,创建项目很简单,在web根目录使用composer搞定:composercreate-p ... [详细]
  • php怎么做rpc通信(RPC通信)
    导读:很多朋友问到关于php怎么做rpc通信的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • 电商系统设计艺术——秒杀业务设计
    一、秒杀场景人多货少,只有少量的人能够抢购成功。高并发,秒杀业务在开始之前流量比较平稳,开始后流量会直线性的上升。持续时间短࿰ ... [详细]
  • redis 获取不到_redis 缓存锁的实现方法
    1.redis加锁分类redis能用的的加锁命令分表是INCR、SETNX、SET2.第一种锁命令INCR这种加锁的思路是,key不存在,那么key的值 ... [详细]
  • syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率. ... [详细]
  • php composer 安装,phpstudy  composer 使用安装
    本人是windows系统phpstudy是最新2018版本以安装laravel框架为例子一如图一,点击phpComposer出现系统指令框,根据指令框路 ... [详细]
author-avatar
塑料调色cz
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有