# qun-qq-export
**Repository Path**: itchenliang/qun-qq-export
## Basic Information
- **Project Name**: qun-qq-export
- **Description**: QQ群成员导出,即将自己所添加的群里面的成员列表导出,无论是你自己创建的群聊还是自己管理的群聊或者既不是你管理也不是你管理的群聊都可以导出,主要包括QQ群列表导出、QQ群成员导出,已导出QQ群列表导出,本项目目前只支持 excel 格式导出。
- **Primary Language**: Unknown
- **License**: Unlicense
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2021-06-09
- **Last Updated**: 2024-11-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: koa2, vue2, Vuex, Axios, Excel
## README
# QQ群导出
> 包括QQ群列表导出、QQ群成员导出,已导出QQ群列表导出,本项目目前只支持 excel 格式导出。
## 项目介绍
QQ群导出(qun-qq-export),一个前后端分离系统,Web端使用`Vue + ElemenUI`,后端使用`Node.js + koa2`进行开发,本项目主要是用于一些行政人员需要导出`QQ群成员`或者一些有需求的人员,大部分应用场景是进行批量邮件发送,同时不想在群里进行群邮件发送(为了不让收件人看到邮件来自于哪个群聊,避免被群管理踢出),所以需要将群成员QQ号导出,然后进行邮件批量发送或者代码循环遍历发送。
该项目主要是通过去获取`https://qun.qq.com/`上的群列表,然后你可以在**客户端**上选择指定的群,然后进行**群成员**导出excel,简单来说就是调用`https://qun.qq.com/`上的接口,基于这些接口来实现的一个小平台。
可能很多朋友会说,既然是直接调用接口,那为什么不直接使用**前台**去调用接口就是,还非要搞一个**后台**?
> 这里我们使用了前台同时还使用后台的原因是在于`qun.qq.com`上面的接口没有做跨域处理,所以我们如果直接在前台进行调用就会出现**跨域问题**,当然如果懂开发的朋友,就知道在`vue`开发环境中,可以通过去配置`vue.config.js`中的`devServer`来解决跨域问题,或者很有的人懂`nginx`的,也可以直接去配置`nginx`来解决,想法有很多,这里我们主要是采用`后端`的方式来解决,还有个原因就是直接现在后端把数据获取到,然后将数据进行处理,返回到前台,这样前台拿到的就是我们纯粹想要的数据了。
## 环境搭建
首先使用`git clone`形式将本项目克隆到你本地,你会看到如下的文件目录结构:
```
|--qun-qq-export
|--client
|--public
|--src
...
|--server
|--app.js
|--package.json
...
|--README.md
```
### 客户端配置
进入到`qun-qq-export\client`然后在**命令行/终端**中打开,然后输入如下命令(前提是你本地安装了[`Node.js`](http://nodejs.cn/download/)):
```shell
npm install # 进行依赖安装
npm run serve # 运行项目
```
等待项目运行,如果在**命令行/终端**会出现如下图所示的效果,则代表运行成功。

在项目客户端中默认配置的是`8088`端口,如果`8088`端口被占用,会依次去请求其他端口。如果你想要的修改端口,则打开`vue.config.js`修改下图地方即可。

然后我们以上图的运行结果为例,我们在浏览器中输入`http://localhost:8088/`或者`http://yourip:8088/`都可以,当然项目配置了自动运行成功后,打开浏览器窗口的。
### 服务端配置
进入到`qun-qq-export\server`然后在**命令行/终端**中打开,然后输入如下命令(前提是你本地安装了[`Node.js`](http://nodejs.cn/download/)):
```shell
npm install # 进行依赖安装
node app.js # 运行项目
# 或者下面的命令,前台是你已经在你电脑上全局安装了 nodemon 这个包
nodemon app.js
```
等待项目运行,如果在**命令行/终端**会出现如下图所示的效果,则代表运行成功。

在项目服务端中默认配置的是`4000`端口,如果`4000`端口被占用,则会报错。当然如果你想修改端口号,可以打开我们的`app.js`然后修改如下图的地方即可。

## 如何使用?
在**环境搭建**步骤已完成后,在浏览器中输入`http://localhost:8088/`或者`http://yourip:8088/`都可以,浏览器会出现如下的界面:

接下来,就来让我们看看如何使用吧!
**第一步**:前往[QQ群官网](https://qun.qq.com/),复制我们要的东西
在[QQ群官网](https://qun.qq.com/)登录你自己的`QQ`账号,然后点击顶部菜单栏上的[群管理](https://qun.qq.com/manage.html#click),进入到如下界面:

点击上图标注中的**立即体验**或者**成员管理**,进入到如下界面:

选择如上图弹窗所示的你所加入的或者你创建的任意一个群聊。
然后打开浏览器控制面板(F12或者鼠标右键检查),然后选择`network`选项,然后刷线下浏览器会出现如下图所示的东西

点击上图中的`get_group_list`,然后复制下图的这`cookie`和`bkn`两个属性的内容,主要不要把`cookie:`和`bkn:`都复制了。

**第二步**:将复制的`cookie`和`bkn`放到我们系统中下面图中标注的地方。

然后点击`保存填写`按钮,系统会自动将你的`cookie`和`bkn`进行保存(避免刷新浏览器时,数据又消失了)。
**第三步**:点击`获取QQ群列表`按钮获取你的所有群列表
当群列表获取成功后,你可以看到下图的东西

**第四步**:群成员获取以及导出
点击`群号`下面的下拉框,选择你想导出群成员的`QQ群`,然后再点击`获取数据`按钮,你可以看到按钮有一个加载效果(群成员越多加载效果时间越长),等待加载效果结束后(即群成员已获取完成),再点击`导出excel`按钮,就会以 excel 的形式(默认文件名称是`群号.xls`)保存到你电脑本地。
群成员获取

导出群成员和已导出群列表

导出数据查看:群号.xls

**第五步**:群列表导出
在`获取QQ群列表`后,点击`导出群列表`按钮,会导出你的所有群列表到excel中

**第六步**:已导出群列表导出
很多时候,你想查看你到底已经导出了哪些群,所以在本系统中加了`已导出群列表查看`这个功能模块,你不仅可以查看`已导出群列表`还可以导出`已导出群列表`,你只需要点击`已导出群列表`下的`导出列表`按钮,即可实现导出(默认文件名:已导出群列表.xls)。


## 贡献代码
开源项目离不开大家的支持,如果您有好的想法,遇到一些 BUG 并修复了,欢迎小伙伴们提交 Pull Request 参与开源贡献
1. fork 本项目到自己的 repo
2. 把 fork 过去的项目也就是你仓库中的项目 clone 到你的本地
3. 修改代码
4. commit 后 push 到自己的库
5. 发起PR( pull request) 请求,提交到 master 分支
6. 等待作者合并
## 赞赏
服务器和域名等服务的购买和续费都会产生一定的费用,为了维持项目的正常运作,如果觉得我的开源项目对您有帮助的话,欢迎朋友能够给予一些支持,小编将用于提升服务器配置,感谢小伙伴们的支持( ps: 小伙伴赞赏的时候可以备注一下下~)
| 微信 | 支付宝 |
| :----: | :----: |
|
|
|