You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

2sxc v17.x调用$2sxc.cms.run新建实体后如何获取EntityId?

2sxc v17.x 获取新建实体的EntityId方法

在2sxc v17版本中,$2sxc.cms.run('new', ...)的Promise返回结构做了调整,不能直接从回调参数中获取EntityId,需要从返回结果的嵌套结构中提取:

正确代码示例

// 可直接使用全局$2sxc,或指定模块上下文避免歧义
$2sxc.cms.run('new', { 
  contentType: '你的内容类型名称', // 需与后台定义的名称完全匹配(区分大小写)
  moduleId: 123 // 可选:填当前模块ID,防止上下文混乱
})
.then(result => {
  // 先判断操作是否成功
  if (result.success) {
    const newEntityId = result.data.entity.EntityId;
    // 这里可使用EntityId执行后续操作,比如刷新列表、关联数据等
    console.log('新建实体ID:', newEntityId);
  } else {
    console.error('创建实体失败:', result.error);
  }
})
.catch(err => console.error('请求异常:', err));

关键说明

  • v17统一了CMS API的返回格式,所有操作结果都包含success(布尔值)、data(成功时的结果数据)、error(失败时的错误信息)字段
  • 新建实体的完整数据存放在result.data.entity中,除了EntityId,还可获取Title等其他实体属性
  • 若未指定moduleId,需确保当前页面的模块上下文正确,否则可能出现创建失败或实体归属错误的情况

内容的提问来源于stack exchange,提问作者Thiện Võ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:33:10