微信管理系统基于Flask+Vue+Celery+SQLAlchemy+Redis等实现
https://zhuanlan.zhihu.com/p/28102858
现在绝大多数同学都在使用微信,不过微信有很多限制,比如:
- 微信聊天记录只保存在本地,换个手机那些内容就找不到了
- 微信扫码加群人数有限制,超过100个就得先加群聊成员微信再由其拉进去,很不方便
很早就有想法把我的那些技术交流群也转移到微信上,不过当时想了想人工操作的成本太高作罢了。
但自从ItChat(一个网页版微信(http://wx.qq.com)的SDK)诞生以来,开发者有了和微信交互的机会,再之后出现了wxpy项目,开发者可以很方便的实现一些微信机器人之类的项目了。有一天刷到一个「Python 里itchat 模块能实现什么有趣的东西?」问题,然后回写了「申请加好友或者和好友聊天时带某个暗语,可以把你拉群,发现群满了之后自动创建群再把你拉入」的小例子。
我写新的项目都会尝鲜,换用更多的技术栈,尝试更多的技术选型。之前一直写React+Material-UI+Mobx这样的组合,Vue也只是在豆瓣电影的 选影视 上用到,就想着继续深入Vue,再用用Element-ui吧。另外对SSE和Redis的ORM库也想尝试下,上个月提上日程,做成了你们将要看到的Web端的微信管理系统,地址是 dongweiming/wechat-admin。
首图就是这个后台的效果拼起来的。由于安全考虑我就不提供demo地址了,不过大家可以通过下面的一个短视频跟我登录感受一下(✪ω✪) :
在手机端从加人到进群的体验是这样的:
功能列表
- 支持显示好友列表,可过滤
- 支持显示群聊列表,可过滤
- 可以同时给多个用户/群聊成员发送消息,支持发送文件,emoji表情。可预览
- 如果为群聊创建者,可以删除(多个)成员
- 可以选择好友/群聊成员创建新群
- 对自动建群、加群关键词、邀请文本等可配置
- 永久保存消息,可以通过消息列表页面查看和过滤。接收消息进程停止自动重启
- 支持消息提醒
- 支持发送加群聊成员好友请求
- 自动添加联系人,拉对方入群,群满之后自动创建新群
- 支持灵活的插件系统,内置图灵机器人、ChatterBot、Simsimi等插件
- 可以指定公众号,当公众号发布文章后自动转发到指定的群聊里
- 群成员可发起投票踢人,可以灵活的设置投票规则
用的技术和库
前端
Vue+Axios+Element-ui+Vue-cli
后端
Flask+Celery+SSE+Walrus+Gunicorn+Flask-Migrate+Flask-SQLAlchemy+ItChat(Fork版本)+Wxpy(Fork版本)+PyMySQL
注意本项目只支持Python 3 !
插件
目前自带了4个插件:
- Simsimi 也就是当年的小黄鸡。默认未开启
- Help帮助插件,根据所有插件的description属性的内容生成
- Tuling图灵机器人,@群主即可开聊
- Chatter基于机器学习的ChatterBot 和群主私聊
另外提供docker compose的方式让你快速部署应用。
欢迎star: dongweiming/wechat-admin 和使用,如果你有更多有意思的想法和功能欢迎提交PR和Issue,另外也可以贡献更多的插件
如果你对本项目有兴趣,可以加 Sanic(微信号python-org)入群感受,也可直接扫描如下二维码加我,如果验证信息中包含 python 可以直接进群,否则可以和Py之美私聊进群, 可打开项目链接进群:
https://github.com/dongweiming/wechat-admin/raw/master/screenshots/chat.png
注:之前的Py之美(微信号pythonorg)被暂时封禁了。
另外最近一段时间我将在微信公众号「Python之美」(微信号python_cn)中介绍这个项目技术选型,实现,走过的一些坑,还有Vue等相关的一些内容,欢迎关注。
微信管理系统基于Flask+Vue+Celery+SQLAlchemy+Redis等实现的更多相关文章
- 教程 Redis+ flask+vue 在线聊天
知识点 基于 Server-Sent Event 工作方式,Web 即时通信 Redis 包 发布订阅功能的使用 flask 快速入门,常用对象实例方法函数 Vuejs 列表页面自动渲染 效果图 代码 ...
- Flask + vue 前后端分离的 二手书App
一个Flask + vue 前后端分离的 二手书App 效果展示: https://blog.csdn.net/qq_42239520/article/details/88534955 所用技术清单 ...
- SZhe_Scan碎遮:一款基于Flask框架的web漏洞扫描神器
SZhe_Scan碎遮:一款基于Flask框架的web漏洞扫描神器 天幕如遮,唯我一刀可碎千里华盖,纵横四海而无阻,是谓碎遮 --取自<有匪> 写在前面 这段时间很多时间都在忙着编写该项目 ...
- MoChat - 国内首款完全开源的 PHP 企业微信管理系统正式发布
MoChat -- 让企业微信开发更简单 项目地址 Github: https://github.com/mochat-cloud/mochat Gitee: https://gitee.com/mo ...
- Flask 与 Celery 在 windows 下的集成问题
Flask 与 Celery 在 windows 下的集成问题 所有的 Web 框架内部的视图中不适合执行需要长时间运行的任务,包括 Flask .Django 等.这类型的任务会阻塞 Web 的响应 ...
- 基于 Webpack & Vue & Vue-Router 的 SPA 初体验
基于 Webpack & Vue & Vue-Router 的 SPA 初体验 本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com ...
- flask结合celery实现异步响应HTTP请求
摘要: 1.场景描述 2.flask介绍 3.celery介绍 4.项目伪代码记录 5.几个备注点 内容: 1.场景描述 最近在优化用户画像的东西,要开发一个给文本打标签的服务:我这边需要提供一个HT ...
- Flask、Celery、RabbitMQ学习计划
Flask (9.16-9.23) 相关组件了解 (9.16-17) WSGI:Werkzeug 数据库:SQLAlchemy *重点查看 urls和视图 (9.18-19) session和co ...
- 使AJAX可缓存——基于flask
主流浏览器都有缓存机制,主要基于HTTP协议定义的缓存策略.对于一定时间内不发生变动的文档缓存起来,对于下次请求,就可以直接返回缓存的结果.使用缓存有以下好处: 1.减少冗余的数据传输,节省网络流量成 ...
随机推荐
- Caused by: java.lang.NoSuchMethodError:javax.servlet.http.HttpServletRequest.getServletContext()L
在做项目的时候,出现Caused by: java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getServletCo ...
- jquery ui 分页插件 传入后台的连个參数名
參数名: page .rows page=int(request.form.get('page',1).encode('u8')) rows1=int(request.form.get('rows', ...
- python-string中部分string替换
今天遇到一个问题,就是需要把 “/home/zhangshuli/32_kk/” 中的32_kk 替换成为 52_kk 然后就在网上找方法,刚开始尝试的方法是 aaa = "/home/zh ...
- Nginx配置GZIP
记录一次解决网站加载慢的问题 一. nginx配置 gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.1;g ...
- ORACLE10g R2【RAC+ASM→RAC+ASM】
ORACLE10g R2[RAC+ASM→RAC+ASM] 本演示案例所用环境:RAC+ASM+OMF primary standby OS Hostname node1,node2 dgnode ...
- JS实现拖拽小案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 字符串中的空格替换问题(Java版)
解决方式一:时间复杂度为O(n^2) 解决方式二:时间复杂度为O(n) 代码实现: package string; public class SpaceStringReplace2 { //len为数 ...
- CSS笔记 - fgm练习 2-7 - 简易选项卡
练习地址 http://www.fgm.cc/learn/lesson2/07.html <style> body,ul,li{margin:0;padding:0;} body{font ...
- 手动删除RMAN备份的方法
查询 RMAN> list backup; using target database control file instead of recovery catalog List of Back ...
- XAMPP简介
XAMPP是一款开源.免费的网络服务器软件,经过简单安装后,就可以在个人电脑上搭建服务器环境.本文为大家介绍Windows中安装XAMPP(Apache+Mysql+PHP)及使用方法及其相关问题的总 ...