baosfeng/my-dsh-plugins--plugins-dsh-shared5

dsh-shared

DSH 插件共享工具包:Host-header 信任围栏、HTTP JSON 读写、配置持久化(cordis.patch.yml)、项目根解析、异步与消息工具、原子写。多插件共用实现,消除复制粘贴(issue #45)。

包名
dsh-shared
版本
0.1.3
最近更新
2026年9月12日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

使用

import { isTrustedApiRequest, readJsonBody, writeJson, createWriteScheduler, atomicWriteJson } from 'dsh-shared'

// 路由注册时用信任围栏过滤非可信来源
const fence = (request) => isTrustedApiRequest(request, ctx.webRuntime.trustedHosts)

// 状态快照落盘:调度器保证节奏,护栏兜底
const scheduler = createWriteScheduler({
  logger: ctx.logger,
  write: ({ force }) => atomicWriteJson(file, state, ctx.logger, '[my-plugin]', { force, maxBytes: 4 * 1024 * 1024 }),
})
scheduler.schedule() // 变更后调度(防抖合并)
await scheduler.drain() // 就绪信号:确定已落盘(测试用它替掉 sleep)
await scheduler.flush() // teardown:立即强写