Tyloo-Chat (имитация WeChat)
Адрес доступа в Интернете временно закрыт
иллюстрировать
Эта вилка проекта была оптимизирована и модернизирована с общего чата. Спасибо боссу Genal за идеи с открытым исходным кодом!
Пришло время продолжать оптимизировать, так что следите за обновлениями !!!
Если вы думаете, что это довольно хорошо, пожалуйста, нажмите «Звезда», чтобы ободрить ее !!!
Electron Version Client был выпущен, см. Выпуск для деталей
Скриншоты некоторых функций


- Функция группового чата (список участников группы, онлайн -статус, поддержка добавления участников группы)

- Список сеансов (Top/Delete)

- Функция ретракции сообщения

Electron Version Client (расположен в ветви Electron_version)


Особенность
- Регистрация входа в систему пользователя (поддерживает отдельный логин, встроенный в сторонние системы)
- Один адрес входа, нажмите кнопку онлайн-связи в правом верхнем углу после входа в систему
- Групповой чат (аналогично QQ Group)
- Пригласите друзей присоединиться к групповому чату
- Изменить имя группы/объявление группы
- Друзья функционируют
- Функция контактной книги (поддерживает доступ к сторонней организационной структуре системной организации и напрямую инициирует чат)
- Функция чата
- Эмодзи эмодзи пакет
- Изображение отправить/предварительный просмотр изображения
- Отправить вложения
- Сообщение страдания
- Веркание сообщения/копия
- Пользовательская тема
- Сессионный верх/удалить
- Повторно подключите напоминание
- Smart Assistant (по умолчанию, расположенный в основной ветви, с использованием поисковой системы ES требует ручного создания ES TheSaurus)
- Сторонний робот API (текущая онлайн-демо-версия, расположенная в филиале feature_apirobot)
- Электронная версия (расположенная в филиале Electron_version, поддерживает генерацию клиентов DMG и EXE)
Технологический стек
Дизайн структуры таблицы баз данных

Подготовка окружающей среды
- mysql
- База данных чата (нужно создавать вручную, обратите внимание, что формат кодирования базы данных
utf8bm64``utf8bm64``utf8bm64 !!! ) - Узел V10.16.3
Что следует отметить при тяге кода
// windows系统需要配置一下,提交时转换为LF,检出时不转换
git config --global core.autocrlf input
// 设置为区分大小写
git config core.ignorecase false
Запустите проект
// client
cd client
cnpm i
npm start
// server
cd server
cnpm i
npm run start
Как развернуть
Развертывать
Развернуть чаты в Centos
Сторонняя интеграция/единая вход
- Следующий код прыжков встроен в стороннюю систему, и требуются параметры
userId и username .
let chatUrl // 当前聊天室客户端地址
let userId // 当前系统用户userId
let username // 当前系统用户昵称
window . open ( ` ${ chatUrl } ?userId= ${ userId } &username= ${ username } ` ) ; Зал чата получает параметры и автоматически завершает вход (если вы впервые входите в систему, вы автоматически зарегистрируете учетную запись)
Установите клиент CHAT Client VUE_APP_ORG_URL чтобы получить адрес интерфейса организационной структуры сторонней системы
- Установить vue_app_org_url
// .env.xxx
// 此接口可以获取到第三方系统的所有部门和人员信息,注意为嵌套tree结构
VUE_APP_ORG_URL = http : / / 127.0 .0 .1 : 8080 / api / getDeptUsersTree
- Переключитесь на интерфейс контакта, чтобы автоматически выпустить запросы
// Contact.vue
axios . post ( process . env . VUE_APP_ORG_URL ) . then ( ( res ) => {
this . organizationArr = res . data . data ;
} ) ;- Формат возвращаемого значения выглядит следующим образом
interface node {
id: string ; // id
label: string ; // 名称
flag: boolean ; // 是否有下级结点
children: node [ ] ; // 下级结点
}- Если вам не нужно интегрировать стороннюю организационную структуру, просто очистите
VUE_APP_ORG_URL , а также настройте и измените ее самостоятельно в других ситуациях.
Обзор идей
Процесс создания WebSocket
Тодо
-
@功能实现 消息转发代码性能优化群聊功能继续完善微信快捷登陆Electron客户端检查更新
Коммуникационная группа