朋友圈采集自己的任务完成

This commit is contained in:
wong
2025-12-22 16:35:08 +08:00
parent f208bbdb9a
commit cc91552c36
7 changed files with 275 additions and 2 deletions

View File

@@ -448,6 +448,43 @@ class WebSocketController extends BaseController
return json_encode(['code' => 400, 'msg' => '资源信息格式错误,应为数组']);
}
// 判断snsUrls是否已经是远程图片http/https
$allRemoteUrls = true;
foreach ($data['snsUrls'] as $url) {
if (empty($url)) {
continue;
}
// 检查URL是否以http://或https://开头
if (!preg_match('/^https?:\/\//i', $url)) {
$allRemoteUrls = false;
break;
}
}
// 如果全部都是远程URL直接使用不需要通过WebSocket下载
if ($allRemoteUrls && !empty($data['snsUrls'])) {
$urls = json_encode($data['snsUrls'], 256);
// 上传图片到OSS
$ossUrls = $this->uploadMomentImagesToOss($data['snsUrls'], $data['snsId']);
// 更新数据库保存原始URL和OSS URL并标记已上传
$updateData = [
'resUrls' => $urls,
'isOssUploaded' => 1, // 标识已上传到OSS
'update_time' => time()
];
// 如果有OSS URL保存到ossUrls字段
if (!empty($ossUrls)) {
$updateData['ossUrls'] = json_encode($ossUrls, 256);
}
Db::table('s2_wechat_moments')->where('snsId', $data['snsId'])->update($updateData);
return json_encode(['code' => 200, 'msg' => '获取朋友圈资源链接成功已为远程URL', 'data' => ['urls' => $data['snsUrls']]]);
}
// 如果不是远程URL需要通过WebSocket下载
// 检查连接状态
if (!$this->isConnected) {
$this->connect();
@@ -659,6 +696,7 @@ class WebSocketController extends BaseController
$dataToSave['wechatAccountId'] = $wechatAccountId;
$dataToSave['wechatFriendId'] = $wechatFriendId ?? 0;
$dataToSave['create_time'] = time();
$dataToSave['ossUrls'] = json_encode([],256);
$dataToSave['isOssUploaded'] = 0; // 新记录默认为未上传
$res = WechatMoments::create($dataToSave);
}
@@ -1114,4 +1152,25 @@ class WebSocketController extends BaseController
}
public function ttttt($data = [])
{
try {
$params = [
"chatroomOperateType" => $data['chatroomOperateType'],
"cmdType" => "CmdChatroomOperate",
"seq" => time(),
"wechatAccountId" => $data['wechatAccountId'],
"wechatChatroomId" => $data['wechatChatroomId']
];
$message = $this->sendMessage($params,false);
return json_encode(['code' => 200, 'msg' => '234', 'data' => $message]);
} catch (\Exception $e) {
Log::error('修改群信息异常: ' . $e->getMessage());
return json_encode(['code' => 500, 'msg' => '567567: ' . $e->getMessage()]);
}
}
}