@xdmp-open/sdk-admin
v0.1.7
Published
XDMP platform admin SDK: passport and system APIs
Readme
@xdmp-open/sdk-admin
XDMP 平台管理端 SDK,覆盖 /api/passport 与 /api/system:登录、用户、角色、权限、字典、文件、LCDP Runtime。合计 139 个端点(passport 组 12 + system 组 127;已排除内部 /inner/ 路径、内部 user-details 端点,以及 springdoc 动态 Schema 演示端点)。Runtime resource 已生成,但可用门仍关闭,不得当作业务 Runtime 已可用。
兼容性
0.x 对齐 XDMP 平台 2.6.x。破坏性变更升 major。
安装
pnpm add @xdmp-open/sdk-admin用法
本包是 @xdmp-open/sdk-core 之上的薄 resource 层。先创建核心请求引擎,再构造 admin 客户端:
import { createSdkClient } from '@xdmp-open/sdk-core'
import { createAdminClient } from '@xdmp-open/sdk-admin'
const client = createSdkClient({
baseURL: '/',
tokenProvider: myTokenProvider, // getAccessToken / getRefreshToken / setTokens / clear
onUnauthorized: () => router.push('/login'),
})
const admin = createAdminClient(client)
// passport 组 —— /api + OpenAPI 路径(/passport/** 网关免登)
const captcha = await admin.passport.auth.captcha() // POST /api/passport/captcha(skipAuth)
const token = await admin.passport.auth.login({ username: 'alice', password: encrypted })
await admin.passport.auth.logout()
// system 组 —— /api/system + OpenAPI 路径
const page = await admin.system.user.page({ pageNo: 1, pageSize: 20, form: {} })
const user = await admin.system.user.query('alice') // GET /api/system/users/user/query/alice
await admin.system.role.assignAuthorities('admin', { authorityIds: ['1', '2'] })
// 文件上传/下载
const uploaded = await admin.system.binary.add(file, { name: 'a.txt', objectName: 'dir/a.txt' })
const { data, headers } = await admin.system.binary.download(uploaded.id)
// 导出(POST 下载)
const csv = await admin.system.depart.export({})
// LCDP Runtime(可用门仍关闭;Options 仍 fail-closed)
const columns = await admin.system.lcdpRuntime.getColumns('demo.form')所有方法 resolve 拆包后的 CommonResponse.data,非成功业务码抛 SdkError。方法签名引用生成的 OpenAPI 类型,后端契约漂移会在编译期暴露。
资源一览
admin.passport:auth(验证码/登录/续签/登出/改密/公开配置)、social(社交登录/短信验证码/绑定)、user(修改密码)admin.system:user、role、authority、depart、position、dict、category、client、binary、config、loginAudit、operateAudit、notice、notify、openApp、label、member、cache、job、jobExecutor、jobLog、lcdpRuntime
生成类型
src/generated/ 由后端 OpenAPI 导出(openapi/passport.json、openapi/system.json)经 openapi-typescript 生成。生成文件已入库 —— 不要手改;在仓库根执行 pnpm sync:openapi 刷新。
