25 lines
1.1 KiB
JavaScript
25 lines
1.1 KiB
JavaScript
/**
|
||||
|
|
* @dsh-local/im-conversation-tabs — host 半边(E 单)。
|
|||
|
|
*
|
|||
|
|
* ## 为什么 host 面几乎为空
|
|||
|
|
* 本插件的全部交付在**客户端**(会话区 tab 接管)。host 行只需要存在于
|
|||
|
|
* profile 的 cordis 树里,客户端半边才会被 dsh 的 client bundle 加载器加载
|
|||
|
|
* (`package.json` 的 `dsh.client` 字段声明注入面)。
|
|||
|
|
*
|
|||
|
|
* ⛔ host 面**不注册任何 ctx 服务**、⛔ 不碰 DB、⛔ 不碰实例文件系统 ——
|
|||
|
|
* 房间数据一律由客户端走**同源相对路径** `/api/im/**` 取(见 lib/client.js)。
|
|||
|
|
* ⇒ 因此 `cordis.patch.yml` 里本行**不带 `inject`**(apply 不用任何服务)。
|
|||
|
|
*
|
|||
|
|
* @module @dsh-local/im-conversation-tabs
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/** apply 只做一件事:留下一条"已加载"的标记(便于运维排查 profile 是否带上了本插件)。 */
|
|||
|
|
export function apply(ctx) {
|
|||
|
|
const logger = ctx?.logger ?? ctx?.log
|
|||
|
|
if (logger !== undefined && typeof logger.info === 'function') {
|
|||
|
|
logger.info({ plugin: '@dsh-local/im-conversation-tabs' }, 'im_conversation_tabs_host_loaded')
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** 无服务依赖(见模块头)。 */
|
|||
|
|
export const inject = []
|