МоЧат: упрощение разработки для корпоративных WeChat
МоЧат — это открытый исходный код приложения и фреймворка для разработки корпоративных приложений WeChat, представляющий собой универсальную мультитенантную систему управления SaaS. Благодаря использованию Swoole и Hyperf, MoChat обеспечивает высокую производительность при сохранении гибкости и расширяемости.
Сценарии использования
MoChat подходит для компаний из сфер электронной коммерции, финансов, розничной торговли, общественного питания, одежды и других отраслей, где корпоративные клиенты используют WeChat. С помощью простых методов перенаправления и привлечения клиентов, MoChat помогает преобразовать пользователей WeChat в корпоративных клиентов. В сочетании с мощной поддержкой бэкенда, гибкими операционными моделями и тесными связями с клиентами, MoChat позволяет компаниям выбирать различные модели получения прибыли.
Функциональные возможности
MoChat предлагает шесть основных модулей, которые помогают улучшить маркетинговые способности компании:
-
Привлечение клиентов: использование различных каналов для получения клиентов и их систематизация.
-
Преобразование клиентов: взаимодействие с клиентами через библиотеку материалов и приветственные сообщения.
-
Управление клиентами: точное определение местоположения клиентов, индивидуальная маркировка и отслеживание, а также уведомления о потере клиентов.
-
Групповое управление клиентами: дальнейшее разделение клиентов на группы и автоматическое создание групп. Централизованное управление и быстрая рассылка сообщений группам.
-
Боковая панель чата: повышение эффективности коммуникации между сотрудниками компании.
-
Корпоративный контроль: архивирование записей чатов клиентов, создание списка чувствительных слов и оповещение о них, а также многостороннее управление сотрудниками.
Архитектура системы
Строгая многоуровневая архитектура обеспечивает гибкость системы.
Основные технологии
- Фронтенд-технологии: Vue, Vuex, Vant, Ant Design of Vue.
- Бэкенд-технологии: PHP, MySQL, Redis, Swoole, Hyperf.
Благодарности
Создание MoChat было бы невозможно без вклада сообщества и других открытых проектов. Мы выражаем особую благодарность следующим проектам:
Swoole: https://www.swoole.com/
Hyperf: https://www.hyperf.io/
EasyWechat: https://www.easywechat.com
Vue: https://cn.vuejs.org
Vant: https://vant-contrib.gitee.io/vant/#/zh-CN/
Ant: https://antdv.com
Подготовка к развёртыванию
-
Предварительные шаги:
- PHP >= 7.4 (рекомендуется версия 7.4).
- Swoole >= 4.5.
- Wxwork_finance_sdk (расширение SO).
- PCNTL расширение.
- 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.
-
Необходимые настройки:
- Для бэкенда: запустить скрипт конфигурации: php bin/hyperf.php mc:init.
- Для фронтенда: изменить .env файл, указав API-базу URL.
Развёртывание системы
-
Бэкенд:
- Docker: рекомендуется использовать K8S для развёртывания на основе файла Dockerfile в api-server/.
- Shell: использовать linux-install.sh для установки необходимых зависимостей.
- Nginx конфигурация: см. документацию по разработке.
-
Фронтенд:
- После завершения разработки проекта достаточно выполнить одну команду для упаковки вашего приложения.
- Dashboard: yarn run build для создания пакета для рабочей среды.
- Sidebar: yarn run build для создания пакета для боковой панели.
После успешной сборки в корневом каталоге будет создана папка dist, содержащая статические файлы, такие как .js, .css и index.html. Обычно эти файлы размещаются на вашем сервере nginx или статическом сервере. Index.html является страницей входа для бэкенд-сервиса.
Более подробную информацию о процессе установки можно найти на сайте: https://mochat.wiki/quick-start/install-open-source.html Структура проекта
Операционная часть
-
Бэкенд-структура:
- app — ядро приложения, включая каталог чата, общие компоненты, корпоративные функции, главную страницу, установку, медиатеку, публичный аккаунт, управление доступом на основе ролей (RBAC), арендаторов, пользователей, корпоративное микроприложение, контакты клиентов, отделы и сотрудников, а также клиентские группы.
- utils — каталог инструментов.
- plugin — официальный каталог плагинов, включающий:
- mochat — плагин с кодом канала, плагин для пакетной отправки сообщений клиентам, плагин для передачи контактов, приветственный плагин, радарный плагин, автоматический плагин для объединения в группы, плагин для разделения групп, плагин для отправки групповых сообщений пакетами, плагин для тегов групп и приветственный групповой плагин.
- public — общий доступ.
- bin — исполняемые файлы.
- composer.json и composer.lock — файлы конфигурации Composer.
- config — конфигурационные файлы.
- docker-compose.sample.yml — пример файла конфигурации Docker Compose.
- docker-entrypoint.sh — файл точки входа Docker.
- Dockerfile — файл конфигурации образа Docker.
- migrations — миграции базы данных.
- package.json — файл конфигурации npm.
- phpstan.neon — конфигурация PHPStan.
- phpunit.xml — конфигурация PHPUnit.
- README.MD — описание проекта.
- runtime — среда выполнения.
- seeders — сеялки базы данных.
- storage — хранилище.
- test — тестовые файлы.
- vendor — каталог зависимостей.
Фронтенд-структура
- Структура проекта dashboard и sidebar аналогична.
- README.md — описание проекта.
- babel.config.js — конфигурация Babel.
- config:
- plugin.config.js — конфигурация плагинов.
- themePluginConfig.js — конфигурация тем.
- jest.config.js — конфигурация Jest.
- jsconfig.json — конфигурация TypeScript.
- package.json — файл конфигурации npm.
- postcss.config.js — конфигурация PostCSS.
- public:
- favicon.ico — значок браузера.
- index.html — шаблон Vue.
- src:
- App.vue — шаблон Vue.
- api — API и AJAX.
- assets — локальные статические ресурсы.
- components — бизнес-компоненты.
- core — инициализация конфигурации проекта, глобальные настройки, импорт зависимостей и т. д.
- global.less — глобальный стиль.
- layouts — контроллеры.
- main.js — точка входа Vue.
- router — Vue Router.
- store — Vuex.
- utils — библиотека утилит.
- views — бизнес-страницы и шаблоны.
- vue.config.js — основная конфигурация Vue.
- webstorm.config.js — конфигурация IDE.
Свяжитесь с автором, чтобы присоединиться к группе
[Рисунок 1]
[Рисунок 2]
[Рисунок 3]
В запросе присутствуют изображения, которые не были переведены.
Комментарии ( 0 )