fix: 修复飞书通知模块API路径和卡片格式
- 修改API路径为 /open-apis/im/v1/messages (message/v4已废弃) - 添加卡片config配置 - 修复content格式(直接传卡片对象,不需要包裹) - 添加测试接口 /api/v1/test/notification 测试结果: 成功发送通知到李佳博(feishu_user_id: 481g947d) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace app\controller;
|
||||
|
||||
use app\service\FeishuNotificationService;
|
||||
use Webman\Http\Request;
|
||||
use Webman\Http\Response;
|
||||
|
||||
class TestController extends BaseController
|
||||
{
|
||||
/**
|
||||
* 测试发送飞书通知
|
||||
*/
|
||||
public function testNotification(Request $request): Response
|
||||
{
|
||||
$userId = (int) ($request->get('user_id') ?? 1);
|
||||
|
||||
try {
|
||||
$notification = new FeishuNotificationService();
|
||||
|
||||
// 获取用户的company_id
|
||||
$user = \app\model\User::find($userId);
|
||||
if (!$user) {
|
||||
return $this->error('用户不存在');
|
||||
}
|
||||
|
||||
$notification->setCompany($user->company_id);
|
||||
|
||||
// 发送测试消息
|
||||
$result = $notification->sendApprovalNotification([
|
||||
'user_id' => $userId,
|
||||
'title' => '测试审批通知',
|
||||
'applicant' => '系统测试',
|
||||
'type' => '测试申请',
|
||||
'content' => '这是一条测试消息,用于验证飞书通知功能是否正常工作。',
|
||||
'url' => 'https://xsm.dev.hnxinyouhe.com/dashboard',
|
||||
]);
|
||||
|
||||
if ($result) {
|
||||
return $this->success([
|
||||
'message' => '测试消息发送成功',
|
||||
'user_id' => $userId,
|
||||
'user_name' => $user->name,
|
||||
'feishu_user_id' => $user->feishu_user_id,
|
||||
]);
|
||||
} else {
|
||||
return $this->error('测试消息发送失败,请查看日志');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return $this->error('测试失败: ' . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user