微信管理系统基于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.减少冗余的数据传输,节省网络流量成 ...
随机推荐
- (F) linux sort,uniq,cut,wc命令详解
F:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858385.html sort sort 命令对 File 参数指定的文件中的行排序,并 ...
- 洛谷 P1223 排队接水
洛谷 P1223 排队接水 题目描述 有n个人在一个水龙头前排队接水,假如每个人接水的时间为Ti,请编程找出这n个人排队的一种顺序,使得n个人的平均等待时间最小. 输入输出格式 输入格式: 输入文件共 ...
- 阶段复习-.NET下托管资源与非托管资源的小记
托管资源由由程序员负责分配,在系统的二级缓存中,GC自动回收释放:而非托管资源也是由程序员负责分配,资源的释放回收也是由程序员负责,使用Dispose或者析构函数对资源进行回收,常见的非托管资源是包装 ...
- RocketMQ(九):消息发送(续)
匠心零度 转载请注明原创出处,谢谢! RocketMQ网络部署图 NameServer:在系统中是做命名服务,更新和发现 broker服务. Broker-Master:broker 消息主机服务器. ...
- 1.2 Use Cases中 Commit Log官网剖析(博主推荐)
不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Commit Log 提交日志 Kafka can serve as a kind ...
- php高并发秒杀解决方案
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/super_runman/article/details/53037151 在秒杀.抢火车票等地方,我 ...
- Windows 7 Ultimate with SP1(x64) MSDN 官方简体中文旗舰版原版
Windows 7 Ultimate(旗舰版)64位功能齐全,所有其他版本所具有的高级功能它都有!它是最好的Windows 7操作系统.旗舰版很受网友欢迎,下载速度飞快. MSDN 我告诉你下载官网: ...
- pat 2-05. 求集合数据的均方差(水题)
代码: #include<cstdio> #include<iostream> #include<cmath> using namespace std; doubl ...
- 适用android的MVP:怎样组织展示层
原文 MVP for Android:How to organize presentation layer http://antonioleiva.com/mvp-android/ 译文 MVP(Mo ...
- vue项目对axios的全局配置
标准的vue-cli项目结构(httpConfig文件夹自己建的): api.js: //const apiUrl = 'http://test';//测试域名,自己改成自己的 const apiUr ...