mirror of
https://github.com/hansjone/dsh-im-ops.git
synced 2026-10-09 14:00:45 +08:00
feat(feishu): interactive card menus and session/workspace list cards
- /m (or /menu) opens a card menu; /sessionlist and /workspacelist render cards with bind/switch buttons; number replies stay usable as a fallback when the app does not subscribe card.action.trigger. - card.action.trigger callbacks validate the operator's open_id against the allowed senders: group members outside the allowlist can never drive binding, workspace switches or other card actions. - Session-list pagination uses page numbers everywhere (buttons carry sessions:<page>), fixing the previous double page-size scaling that skipped pages past 20 sessions. - Bind/workspace failures map to safe user-facing messages instead of raw error details. - Apps registered after this change subscribe card.action.trigger during the scan flow.
This commit is contained in:
parent
832bd539a2
commit
6366404c42
9 changed files with 642 additions and 137 deletions
|
|
@ -102,7 +102,7 @@ export class DshFeishuController {
|
|||
addons: {
|
||||
preset: false,
|
||||
scopes: { tenant: [...REQUIRED_TENANT_SCOPES] },
|
||||
events: { items: { tenant: ['im.message.receive_v1'] } },
|
||||
events: { items: { tenant: ['im.message.receive_v1', 'card.action.trigger'] } },
|
||||
},
|
||||
});
|
||||
return this.status();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue