4.2 KiB
4.2 KiB
微信朋友圈数据处理功能
本模块提供了微信朋友圈数据的获取、存储和查询功能,支持保留驼峰命名结构的原始数据。
数据库表结构
项目包含一个数据表:
wechat_moments - 存储朋友圈基本信息
id: 自增主键wechatAccountId: 微信账号IDwechatFriendId: 微信好友IDsnsId: 朋友圈消息IDcommentList: 评论列表JSONcreateTime: 创建时间戳likeList: 点赞列表JSONcontent: 朋友圈内容lat: 纬度lng: 经度location: 位置信息picSize: 图片大小resUrls: 资源URL列表userName: 用户名type: 朋友圈类型create_time: 数据创建时间update_time: 数据更新时间
API接口
1. 获取朋友圈信息
GET/POST /api/websocket/getMoments
参数:
wechatAccountId: 微信账号IDwechatFriendId: 微信好友IDcount: 获取条数,默认5条
获取指定账号和好友的朋友圈信息,并自动保存到数据库。
2. 保存单条朋友圈数据
POST /api/websocket/saveSingleMoment
参数:
commentList: 评论列表createTime: 创建时间戳likeList: 点赞列表momentEntity: 朋友圈实体,包含以下字段:content: 朋友圈内容lat: 纬度lng: 经度location: 位置信息picSize: 图片大小resUrls: 资源URL列表urls: 媒体URL列表userName: 用户名
snsId: 朋友圈IDtype: 朋友圈类型wechatAccountId: 微信账号IDwechatFriendId: 微信好友ID
保存单条朋友圈数据到数据库,保持原有的驼峰数据结构。系统会将momentEntity中的字段提取并单独存储,不包括objectType和createTime字段。
3. 获取朋友圈数据列表
GET/POST /api/websocket/getMomentsList
参数:
wechatAccountId: 微信账号ID (可选)wechatFriendId: 微信好友ID (可选)page: 页码,默认1pageSize: 每页条数,默认10startTime: 开始时间戳 (可选)endTime: 结束时间戳 (可选)
获取已保存的朋友圈数据列表,支持分页和条件筛选。返回的数据会自动构建momentEntity字段以保持API兼容性。
4. 获取朋友圈详情
GET/POST /api/websocket/getMomentDetail
参数:
snsId: 朋友圈IDwechatAccountId: 微信账号ID
获取单条朋友圈的详细信息,包括评论、点赞和资源URL等。返回的数据会自动构建momentEntity字段以保持API兼容性。
使用示例
保存单条朋友圈数据
$data = [
'commentList' => [],
'createTime' => 1742777232,
'likeList' => [],
'momentEntity' => [
'content' => "第一位个人与Stussy联名的中国名人,不是陈冠希,不是葛民辉,而是周杰伦!",
'lat' => 0,
'lng' => 0,
'location' => "",
'picSize' => 0,
'resUrls' => [],
'snsId' => "-3827269039168736643",
'urls' => ["http://wxapp.tc.qq.com/251/20304/stodownload?encfilekey=..."],
'userName' => "wxid_afixeeh53lt012"
],
'snsId' => "-3827269039168736643",
'type' => 28,
'wechatAccountId' => 123456, // 替换为实际的微信账号ID
'wechatFriendId' => "wxid_example" // 替换为实际的微信好友ID
];
// 发送请求
$result = curl_post('/api/websocket/saveSingleMoment', $data);
查询朋友圈列表
// 获取特定账号的朋友圈
$params = [
'wechatAccountId' => 123456,
'page' => 1,
'pageSize' => 20
];
// 发送请求
$result = curl_get('/api/websocket/getMomentsList', $params);
注意事项
- 所有JSON格式的数据在保存时都会进行编码,查询时会自动解码并还原为原始数据结构。
- 数据库中的字段名保持驼峰命名格式,与微信API返回的数据结构保持一致。
- 尽管数据库中将
momentEntity的字段拆分为独立字段存储,但API接口返回时会重新构建momentEntity结构,以保持与原始API的兼容性。 objectType和createTime字段已从momentEntity中移除,不再单独存储。- 图片或视频资源URLs直接存储在朋友圈主表中,不再单独存储到资源表。