装修卡片值-得到html

根据传入的 DIY 配置,渲染出对应的 HTML 页面内容。用于预览 DIY 编辑效果,无需真正保存就能实时看到页面渲染结果。

接口信息

  • 接口地址: {your-site-url}/api/skill/theme-liquid/get-liquid-html
  • 基础 URL: {your-site-url} 需替换为你自己的独立站 URL 地址,如 https://your-domain.com/apimanager666
  • 请求方式: POST

认证

请求头中需要携带 skill-access-token

Header
skill-access-token {your-skill-access-token} (请替换为你自己的 token)
Content-Type application/json

请求参数 (JSON Body)

字段 类型 必填 说明
page_type string 页面类型。page 代表自定义页面,product 代表商品页面。目前只支持这2个值
diy_config Object 装修卡片的 JSON 结构数据。结构见下方说明

diy_config 字段

字段 类型 必填 说明
sections Object 页面上所有 section 的配置。key 为 {section_type}-{随机ID}(如 affiliate-banner-card-mfE8PfAbOM),value 为该 section 的完整配置
order Array[string] section 的渲染顺序数组,元素为 sections 的 key

sections 子项 — section 配置

字段 类型 必填 说明
type string section 类型标识,如 affiliate-banner-cardcollapsible-tabs
name Object section 显示名称(多语言对象),{ text, lang_params }
settings Object section 的配置项,结构因 type 而异。必含 cardIDvisibility
blocks Object section 的子块配置。key 为 {block_type}_{序号},value 为该 block 的完整配置
block_order Array[string] block 的渲染顺序数组

blocks 子项 — block 配置

字段 类型 必填 说明
type string block 类型标识,如 slider_itemitemimage
name Object block 显示名称(多语言对象)
settings Object block 的配置项,结构因 section 和 block 类型而异

多语言对象结构

字段 类型 说明
text string 默认语言文本
lang_params Object/Array 其他语言翻译。有数据时为对象 { "en": "...", "tw": "..." },无数据时为空数组 []

请求示例

请求体 JSON(简化示例)

{
    "page_type": "page",
    "diy_config": {
        "sections": {
            "rich-text-abc123": {
                "type": "rich-text",
                "name": { "text": "富文本", "lang_params": { "en": "Rich text" } },
                "settings": { "cardID": "rich-text-abc123", "visibility": true },
                "blocks": {
                    "heading_1": {
                        "type": "heading",
                        "settings": { "text": { "text": "Title", "lang_params": [] } }
                    }
                },
                "block_order": ["heading_1"]
            }
        },
        "order": ["rich-text-abc123"]
    }
}

cURL

curl --location --request POST '{your-site-url}/api/skill/theme-liquid/get-liquid-html' \
--header 'skill-access-token: {your-skill-access-token}' \
--header 'Content-Type: application/json' \
--data-raw '{"page_type":"page","diy_config":{"sections":{"rich-text-abc123":{"type":"rich-text","settings":{"cardID":"rich-text-abc123","visibility":true},"blocks":{"heading_1":{"type":"heading","settings":{"text":{"text":"Title","lang_params":[]}}}},"block_order":["heading_1"]}},"order":["rich-text-abc123"]}}'

返回结果

code200 表示调用成功;code 不为 200 表示调用失败。

成功响应

{
    "code": 200,
    "data": {
        "content_for_layout": "<div class=\"section_id_...\">...</div>",
        "js_code": "<script type=\"text/javascript\" src=\"...\"></script>"
    },
    "message": "success"
}

返回字段说明

字段 类型 说明
code Number 状态码,200 表示成功
message String 执行结果的文字描述
data.content_for_layout string 渲染后的 HTML 内容,可直接嵌入页面展示
data.js_code string 渲染后的装修卡片所需的 JS 代码(<script> 标签),需同时加载以确保卡片交互正常

注意事项

  1. diy_config 的数据结构与 DIY 编辑器内部数据格式一致,可直接从编辑器中获取
  2. sections 的 key 格式为 {type}-{唯一ID},该 ID 用于 DOM 元素标识和样式作用域
  3. settings.cardID 必须与 sections 的 key 一致
  4. 渲染结果仅用于预览,不会保存到数据库
  5. 返回的 content_for_layout 是完整的 HTML 片段,可直接嵌入页面展示
  6. js_code 包含页面交互所需的 JavaScript,需同时加载
Copyright © fecify.com 2025 all right reserved,powered by Gitbook该文件修订时间: 2026-06-21 07:58:09

results matching ""

    No results matching ""