This commit is contained in:
wong
2026-04-09 12:30:38 +08:00
parent 29413f57c7
commit 3bf1b2aee9
3 changed files with 149 additions and 11 deletions

View File

@@ -5,12 +5,75 @@ use app\chukebao\model\Reply;
use app\chukebao\model\ReplyGroup;
use think\Db;
use think\queue\Job;
use app\api\controller\WebSocketController;
use think\facade\Env;
class SyncContentJob
{
public function fire(Job $job, $data)
{
$toAccountId = '';
$username = Env::get('api.username', '');
$password = Env::get('api.password', '');
if (!empty($username) || !empty($password)) {
$toAccountId = Db::name('users')->where('account', $username)->value('s2_accountId');
}
// 建立WebSocket
$wsController = new WebSocketController(['userName' => $username, 'password' => $password, 'accountId' => $toAccountId]);
// 为了便于改写 appattach这里用 heredoc 先生成 contentXml再 json_encode 成 msgType=49 的 content
$contentXml = <<<'XML'
wxid_480es52qsj2812:
<?xml version="1.0"?>
<msg>
<appmsg appid="" sdkver="0">
<title>性格测试 - 快来测测你的MBTI性格类型</title>
<des>性格测试 - 快来测测你的MBTI性格类型</des>
<type>33</type>
<showtype>0</showtype>
<soundtype>0</soundtype>
<contentattr>0</contentattr>
<sourceusername>gh_5c672bbbc96f@app</sourceusername>
<weappinfo>
<username><![CDATA[gh_5c672bbbc96f@app]]></username>
<appid><![CDATA[]]></appid>
<type>2</type>
<version>50</version>
<weappiconurl><![CDATA[]]></weappiconurl>
<pagepath><![CDATA[pages/index/index.html?uid=1]]></pagepath>
<pkginfo>
<type>0</type>
<md5><![CDATA[]]></md5>
</pkginfo>
<wadynamicpageinfo>
<shouldUseDynamicPage>0</shouldUseDynamicPage>
<cacheKey><![CDATA[]]></cacheKey>
</wadynamicpageinfo>
<appservicetype>0</appservicetype>
</weappinfo>
</appmsg>
</msg>
XML;
$contentPayload = [
'contentXml' => $contentXml,
'previewImage' => 'https://ac-weremote-s2.oss-cn-shenzhen.aliyuncs.com/weremote/chat-logs/5E2C38F5A275450D935F3ECEC076124E/57fbafda482b09e1ac93f39fe4f34d47/3/192c0acf93b4b106e7d2eafdd278b0cc14e6693b',
'type' => 'miniprogram',
];
$ddd = $wsController->sendPersonal([
'wechatFriendId' => 17453058,
'wechatAccountId' => 300745,
'msgType' => 49,
'content' => json_encode($contentPayload, JSON_UNESCAPED_UNICODE),
]);
exit_data($ddd);
$ddd= Db::table('s2_wechat_friend')->where('ownerWechatId','wxid_h7nsh7vxseyn29')->select();
foreach ($ddd as $v) {
$d = Db::table('ck_task_customer')->where('task_id','167')->where('phone',$v['wechatId'])->find();