|
|
@@ -71,7 +71,7 @@
|
|
|
<div class="home-overview-icon-box">
|
|
|
<icon-svg name="Mcp_serve" size="22px" />
|
|
|
</div>
|
|
|
- <div class="home-overview-card-value">3+</div>
|
|
|
+ <div class="home-overview-card-value">4+</div>
|
|
|
<div class="home-overview-card-label">MCP 服务</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -120,7 +120,7 @@
|
|
|
<div class="home-scenes-heading">
|
|
|
<div class="home-scenes-title">热门服务速览</div>
|
|
|
<div class="home-scenes-subtitle">
|
|
|
- 基于 MCP 协议的下一代法律 AI 服务,让大模型具备专业法律知识和推理能力
|
|
|
+ 快速接入高价值环保数据与智能能力
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="home-scenes-cards">
|
|
|
@@ -188,7 +188,7 @@
|
|
|
<div class="home-guide-inner">
|
|
|
<div class="home-guide-heading">
|
|
|
<div class="home-guide-title">3 步接入,5 分钟上手</div>
|
|
|
- <div class="home-guide-subtitle">MCP 协议 + CLI 命令行双栖接入,共用一套 Token</div>
|
|
|
+ <div class="home-guide-subtitle">MCP 协议 / CLI 命令行一键接入,共用一套 Token</div>
|
|
|
</div>
|
|
|
<div class="home-guide-timeline">
|
|
|
<div class="home-guide-timeline-item">
|
|
|
@@ -270,7 +270,7 @@
|
|
|
<div class="home-guide-block-num">2</div>
|
|
|
<div class="home-guide-block-copy">
|
|
|
<div class="home-guide-block-title">选择你的 AI 工具并复制配置</div>
|
|
|
- <div class="home-guide-block-desc">推荐 WorkBuddy 内置连接器一键接入,也支持自定义 JSON 配置</div>
|
|
|
+ <div class="home-guide-block-desc">推荐使用 WorkBuddy 一键接入</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="home-guide-access-tabs">
|
|
|
@@ -288,8 +288,7 @@
|
|
|
<div class="home-guide-tool-tabs">
|
|
|
<button v-for="tool in guideTools" :key="tool.key" type="button" class="home-guide-tool-tab"
|
|
|
:class="{ 'is-active': guideToolTab === tool.key }" @click="guideToolTab = tool.key">
|
|
|
- <icon-svg v-if="tool.icon"
|
|
|
- :name="guideToolTab === tool.key ? 'workbuddy_icon' : 'workbuddy_icon_blue'" size="14px" />
|
|
|
+ <icon-svg :name="tool.iconName" size="20px" class="home-guide-tool-tab-icon" />
|
|
|
<span>{{ tool.label }}</span>
|
|
|
</button>
|
|
|
</div>
|
|
|
@@ -407,12 +406,92 @@
|
|
|
src="@/assets/images/doubao_img.png"
|
|
|
alt="豆包自定义连接器示意"
|
|
|
class="home-guide-doubao-img"
|
|
|
- width="608"
|
|
|
- height="472"
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
+ <div v-else-if="guideToolTab === 'qianwen'" class="home-guide-tool-body">
|
|
|
+ <div class="home-guide-tool-steps">
|
|
|
+ <div class="home-guide-tool-step">
|
|
|
+ <div class="home-guide-tool-step-num">1</div>
|
|
|
+ <div class="home-guide-tool-step-copy">
|
|
|
+ <div class="home-guide-tool-step-title">打开配置入口</div>
|
|
|
+ <div class="home-guide-tool-step-desc">
|
|
|
+ 左侧「扩展」→「连接器」→ 右上角「+ 添加」→「粘贴 JSON 配置」
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="home-guide-tool-step">
|
|
|
+ <div class="home-guide-tool-step-num">2</div>
|
|
|
+ <div class="home-guide-tool-step-copy">
|
|
|
+ <div class="home-guide-tool-step-title">粘贴 MCP 配置</div>
|
|
|
+ <div class="home-guide-tool-step-desc">
|
|
|
+ 在「通过 JSON 导入」对话框粘贴右侧全量 JSON → 点击「导入」
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="home-guide-note">
|
|
|
+ <div class="home-guide-note-head">
|
|
|
+ <div class="home-guide-note-icon-box">
|
|
|
+ <icon-svg name="WorkBuddy_attention" size="12px" class="home-guide-note-icon" />
|
|
|
+ </div>
|
|
|
+ <div class="home-guide-note-title">注意事项</div>
|
|
|
+ </div>
|
|
|
+ <ul class="home-guide-note-list">
|
|
|
+ <li>将 YOUR_ACCESS_TOKEN 替换为页面「获取 Token」生成的真实 Token</li>
|
|
|
+ <li>导入后可在「连接器 → 已安装」查看安装状态</li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="home-guide-code">
|
|
|
+ <div class="home-guide-code-bar">
|
|
|
+ <div class="home-guide-code-dots">
|
|
|
+ <span></span>
|
|
|
+ <span></span>
|
|
|
+ <span></span>
|
|
|
+ </div>
|
|
|
+ <div class="home-guide-code-title">mcp.json</div>
|
|
|
+ <button type="button" class="home-guide-code-copy" @click="copyGuideMcpJson">
|
|
|
+ <icon-svg name="copy_icon_white" size="14px" class="home-guide-code-copy-icon" />
|
|
|
+ <span>复制</span>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="home-guide-code-body">
|
|
|
+ <div class="home-guide-code-lines">
|
|
|
+ <span v-for="line in guideMcpLines" :key="line">{{ line }}</span>
|
|
|
+ </div>
|
|
|
+ <pre class="home-guide-code-pre"><span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"mcpServers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"hpyzs-law-keyword"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/law-keyword"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">},</span>
|
|
|
+ <span class="code-key">"hpyzs-law-semantic"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/law-semantic"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">},</span>
|
|
|
+ <span class="code-key">"hpyzs-qa"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/qa"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">},</span>
|
|
|
+ <span class="code-key">"hpyzs-emission"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/emission"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+<span class="code-punct">}</span></pre>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
<div v-else-if="guideToolTab === 'qoderwork'" class="home-guide-tool-body">
|
|
|
<div class="home-guide-tool-steps">
|
|
|
<div class="home-guide-tool-step">
|
|
|
@@ -420,7 +499,7 @@
|
|
|
<div class="home-guide-tool-step-copy">
|
|
|
<div class="home-guide-tool-step-title">打开配置入口</div>
|
|
|
<div class="home-guide-tool-step-desc">
|
|
|
- 左侧「扩展」→「连接器」→ 右上角「+ 添加」→「粘贴 JSON 配置」→ 在「通过 JSON 导入」对话框粘贴下方全量 JSON → 点击「导入」2
|
|
|
+ 左侧「扩展」→「连接器」→ 右上角「+ 添加」→「粘贴 JSON 配置」→ 在「通过 JSON 导入」对话框粘贴下方全量 JSON → 点击「导入」
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -429,7 +508,7 @@
|
|
|
<div class="home-guide-tool-step-copy">
|
|
|
<div class="home-guide-tool-step-title">粘贴 MCP 配置</div>
|
|
|
<div class="home-guide-tool-step-desc">
|
|
|
- 将右侧「配置」中的 JSON 粘贴到客户端对应位置并保存。
|
|
|
+ 将右侧「配置」中的 JSON 粘贴到客户端对应位置并保存
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -465,38 +544,40 @@
|
|
|
<span></span>
|
|
|
</div>
|
|
|
<div class="home-guide-code-title">mcp.json</div>
|
|
|
- <button type="button" class="home-guide-code-copy" @click="copyGuideQoderworkJson">
|
|
|
+ <button type="button" class="home-guide-code-copy" @click="copyGuideMcpJson">
|
|
|
<icon-svg name="copy_icon_white" size="14px" class="home-guide-code-copy-icon" />
|
|
|
<span>复制</span>
|
|
|
</button>
|
|
|
</div>
|
|
|
<div class="home-guide-code-body">
|
|
|
<div class="home-guide-code-lines">
|
|
|
- <span v-for="line in guideQoderworkLines" :key="line">{{ line }}</span>
|
|
|
+ <span v-for="line in guideMcpLines" :key="line">{{ line }}</span>
|
|
|
</div>
|
|
|
<pre class="home-guide-code-pre"><span class="code-punct">{</span>
|
|
|
- <span class="code-key">"hpyzs-law-keyword"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/law-keyword"</span><span class="code-punct">,</span>
|
|
|
- <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
- <span class="code-punct">}</span>
|
|
|
- <span class="code-punct">},</span>
|
|
|
- <span class="code-key">"hpyzs-law-semantic"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/law-semantic"</span><span class="code-punct">,</span>
|
|
|
- <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
- <span class="code-punct">}</span>
|
|
|
- <span class="code-punct">},</span>
|
|
|
- <span class="code-key">"hpyzs-qa"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/qa"</span><span class="code-punct">,</span>
|
|
|
- <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
- <span class="code-punct">}</span>
|
|
|
- <span class="code-punct">},</span>
|
|
|
- <span class="code-key">"hpyzs-emission"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/emission"</span><span class="code-punct">,</span>
|
|
|
- <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
- <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-key">"mcpServers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"hpyzs-law-keyword"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/law-keyword"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">},</span>
|
|
|
+ <span class="code-key">"hpyzs-law-semantic"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/law-semantic"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">},</span>
|
|
|
+ <span class="code-key">"hpyzs-qa"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/qa"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
+ <span class="code-punct">},</span>
|
|
|
+ <span class="code-key">"hpyzs-emission"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"url"</span><span class="code-punct">:</span> <span class="code-string">"https://mcp.eiacloud.com/emission"</span><span class="code-punct">,</span>
|
|
|
+ <span class="code-key">"headers"</span><span class="code-punct">:</span> <span class="code-punct">{</span>
|
|
|
+ <span class="code-key">"Authorization"</span><span class="code-punct">:</span> <span class="code-string">"Bearer {{ guideAccessToken }}"</span>
|
|
|
+ <span class="code-punct">}</span>
|
|
|
<span class="code-punct">}</span>
|
|
|
<span class="code-punct">}</span>
|
|
|
<span class="code-punct">}</span></pre>
|
|
|
@@ -818,9 +899,10 @@ onMounted(() => {
|
|
|
const guideAccessTab = ref("mcp");
|
|
|
const guideToolTab = ref("workbuddy");
|
|
|
const guideTools = [
|
|
|
- { key: "workbuddy", label: "WorkBuddy", icon: true },
|
|
|
- { key: "doubao", label: "豆包", icon: false },
|
|
|
- { key: "qoderwork", label: "Qoderwork", icon: false },
|
|
|
+ { key: "workbuddy", label: "WorkBuddy", iconName: "WorkBuddy_icon" },
|
|
|
+ { key: "doubao", label: "豆包", iconName: "doubao_icon" },
|
|
|
+ { key: "qianwen", label: "千问办公", iconName: "qianwen_icon" },
|
|
|
+ { key: "qoderwork", label: "Qoderwork", iconName: "Qoderwork_icon" },
|
|
|
];
|
|
|
const guideDoubaoContent = {
|
|
|
alert: "豆包只能通过新建自定义连接器接入,不支持直接粘贴 JSON 配置。",
|
|
|
@@ -911,41 +993,6 @@ const guideMcpJson = computed(() => {
|
|
|
const guideMcpLines = computed(() =>
|
|
|
Array.from({ length: guideMcpJson.value.split("\n").length }, (_, i) => i + 1),
|
|
|
);
|
|
|
-const guideQoderworkJson = computed(() => {
|
|
|
- const token = guideAccessToken.value;
|
|
|
- return `{
|
|
|
- "hpyzs-law-keyword": {
|
|
|
- "url": "https://mcp.eiacloud.com/law-keyword",
|
|
|
- "headers": {
|
|
|
- "Authorization": "Bearer ${token}"
|
|
|
- }
|
|
|
- },
|
|
|
- "hpyzs-law-semantic": {
|
|
|
- "url": "https://mcp.eiacloud.com/law-semantic",
|
|
|
- "headers": {
|
|
|
- "Authorization": "Bearer ${token}"
|
|
|
- }
|
|
|
- },
|
|
|
- "hpyzs-qa": {
|
|
|
- "url": "https://mcp.eiacloud.com/qa",
|
|
|
- "headers": {
|
|
|
- "Authorization": "Bearer ${token}"
|
|
|
- }
|
|
|
- },
|
|
|
- "hpyzs-emission": {
|
|
|
- "url": "https://mcp.eiacloud.com/emission",
|
|
|
- "headers": {
|
|
|
- "Authorization": "Bearer ${token}"
|
|
|
- }
|
|
|
- }
|
|
|
-}`;
|
|
|
-});
|
|
|
-const guideQoderworkLines = computed(() =>
|
|
|
- Array.from(
|
|
|
- { length: guideQoderworkJson.value.split("\n").length },
|
|
|
- (_, i) => i + 1,
|
|
|
- ),
|
|
|
-);
|
|
|
const copyText = async (text) => {
|
|
|
if (!text) {
|
|
|
ElMessage.warning("暂无内容可复制");
|
|
|
@@ -973,7 +1020,6 @@ const copyText = async (text) => {
|
|
|
}
|
|
|
};
|
|
|
const copyGuideMcpJson = () => copyText(guideMcpJson.value);
|
|
|
-const copyGuideQoderworkJson = () => copyText(guideQoderworkJson.value);
|
|
|
const guideCliSteps = [
|
|
|
{
|
|
|
num: 1,
|
|
|
@@ -1008,13 +1054,9 @@ const guideCliCommands = computed(() => {
|
|
|
text: `hpyzs-mcp init --authorization "Bearer ${token}"`,
|
|
|
},
|
|
|
{
|
|
|
- label: "标准导则关键词查询",
|
|
|
+ label: "执行查询",
|
|
|
text: 'hpyzs-mcp law-keyword search_keyword_standard --name "地表水环境治疗标准"',
|
|
|
},
|
|
|
- {
|
|
|
- label: "法规政策关键词查询",
|
|
|
- text: 'hpyzs-mcp law-keyword search_keyword_policy --name "噪声源分类指导目录"',
|
|
|
- },
|
|
|
];
|
|
|
});
|
|
|
const guideCliFooterTip = computed(() =>
|
|
|
@@ -1058,6 +1100,8 @@ const guideVerifyCards = [
|
|
|
<style scoped lang="less">
|
|
|
.home-page {
|
|
|
width: 100%;
|
|
|
+ --home-inline-padding: 70px;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.home-section {
|
|
|
@@ -1069,7 +1113,8 @@ const guideVerifyCards = [
|
|
|
align-items: stretch;
|
|
|
justify-content: center;
|
|
|
gap: 12px;
|
|
|
- padding: 70px;
|
|
|
+ padding: 70px var(--home-inline-padding);
|
|
|
+ box-sizing: border-box;
|
|
|
background: url("@/assets/images/home_one_bg.png") center / cover no-repeat;
|
|
|
}
|
|
|
|
|
|
@@ -1215,14 +1260,25 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
|
|
|
.home-content-stack {
|
|
|
- display: grid;
|
|
|
- grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr);
|
|
|
+ width: 100%;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.home-content-stack>.home-section {
|
|
|
- display: grid;
|
|
|
- grid-template-columns: subgrid;
|
|
|
- grid-column: 1 / -1;
|
|
|
+ width: 100%;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.home-section-inner-padding() {
|
|
|
+ padding-left: var(--home-inline-padding);
|
|
|
+ padding-right: var(--home-inline-padding);
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.home-section-content-width() {
|
|
|
+ max-width: 1320px;
|
|
|
+ margin-left: auto;
|
|
|
+ margin-right: auto;
|
|
|
}
|
|
|
|
|
|
.home-overview {
|
|
|
@@ -1231,13 +1287,13 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
|
|
|
.home-overview-inner {
|
|
|
- grid-column: 2;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: stretch;
|
|
|
gap: 120px;
|
|
|
- width: max-content;
|
|
|
- max-width: 100%;
|
|
|
+ width: 100%;
|
|
|
+ .home-section-inner-padding();
|
|
|
+ .home-section-content-width();
|
|
|
}
|
|
|
|
|
|
.home-overview-block {
|
|
|
@@ -1248,8 +1304,7 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
|
|
|
.home-overview-block:last-child {
|
|
|
- width: 0;
|
|
|
- min-width: 100%;
|
|
|
+ width: 100%;
|
|
|
}
|
|
|
|
|
|
.home-overview-heading {
|
|
|
@@ -1279,26 +1334,33 @@ const guideVerifyCards = [
|
|
|
|
|
|
.home-overview-cards {
|
|
|
display: flex;
|
|
|
- justify-content: center;
|
|
|
+ justify-content: stretch;
|
|
|
gap: 16px;
|
|
|
+ width: 100%;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.home-overview-stats {
|
|
|
display: flex;
|
|
|
- justify-content: center;
|
|
|
+ justify-content: stretch;
|
|
|
gap: 16px;
|
|
|
+ width: 100%;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.home-overview-stat-card {
|
|
|
+ flex: 1 1 0;
|
|
|
+ min-width: 0;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
gap: 10px;
|
|
|
- padding: 30px 100px;
|
|
|
+ padding: 30px 20px;
|
|
|
background: #FFFFFF;
|
|
|
box-shadow: 0px 4px 24px 0px rgba(15, 23, 42, 0.06);
|
|
|
border-radius: 16px;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.home-overview-icon-box {
|
|
|
@@ -1425,22 +1487,22 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
|
|
|
.home-scenes-upper {
|
|
|
- grid-column: 1 / -1;
|
|
|
- display: grid;
|
|
|
- grid-template-columns: subgrid;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
row-gap: 20px;
|
|
|
+ width: 100%;
|
|
|
padding: 80px 0;
|
|
|
background: linear-gradient(180deg, #FFFFFF 0%, #F3F7FF 100%);
|
|
|
border-radius: 0;
|
|
|
+ .home-section-inner-padding();
|
|
|
}
|
|
|
|
|
|
.home-scenes-heading {
|
|
|
- grid-column: 2;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
|
- width: 0;
|
|
|
- min-width: 100%;
|
|
|
+ width: 100%;
|
|
|
+ .home-section-content-width();
|
|
|
}
|
|
|
|
|
|
.home-scenes-title {
|
|
|
@@ -1462,11 +1524,11 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
|
|
|
.home-scenes-cards {
|
|
|
- grid-column: 2;
|
|
|
display: flex;
|
|
|
- width: 0;
|
|
|
- min-width: 100%;
|
|
|
+ width: 100%;
|
|
|
+ min-width: 0;
|
|
|
gap: 16px;
|
|
|
+ .home-section-content-width();
|
|
|
}
|
|
|
|
|
|
.home-scenes-card {
|
|
|
@@ -1587,12 +1649,12 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
|
|
|
.home-scenes-lower {
|
|
|
- grid-column: 2;
|
|
|
- width: 0;
|
|
|
- min-width: 100%;
|
|
|
+ width: 100%;
|
|
|
background: #F3F7FF;
|
|
|
border-radius: 10px;
|
|
|
margin: 36px 0 80px;
|
|
|
+ padding: 36px var(--home-inline-padding);
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.home-scenes-demo {
|
|
|
@@ -1600,6 +1662,7 @@ const guideVerifyCards = [
|
|
|
grid-template-columns: 1fr 1fr;
|
|
|
align-items: start;
|
|
|
gap: 40px;
|
|
|
+ .home-section-content-width();
|
|
|
}
|
|
|
|
|
|
.home-scenes-demo-copy {
|
|
|
@@ -1734,13 +1797,13 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
|
|
|
.home-guide-inner {
|
|
|
- grid-column: 2;
|
|
|
- width: 0;
|
|
|
- min-width: 100%;
|
|
|
+ width: 100%;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: stretch;
|
|
|
gap: 32px;
|
|
|
+ .home-section-inner-padding();
|
|
|
+ .home-section-content-width();
|
|
|
}
|
|
|
|
|
|
.home-guide-heading {
|
|
|
@@ -1773,11 +1836,14 @@ const guideVerifyCards = [
|
|
|
align-items: flex-start;
|
|
|
justify-content: center;
|
|
|
margin-top: 8px;
|
|
|
+ width: 100%;
|
|
|
+ max-width: 100%;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.home-guide-timeline-item {
|
|
|
- flex: 0 0 210px;
|
|
|
- width: 210px;
|
|
|
+ flex: 1 1 0;
|
|
|
+ min-width: 0;
|
|
|
max-width: 210px;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
@@ -1839,17 +1905,21 @@ const guideVerifyCards = [
|
|
|
.home-guide-timeline-desc {
|
|
|
margin-top: 2px;
|
|
|
width: 100%;
|
|
|
+ padding: 0 4px;
|
|
|
+ box-sizing: border-box;
|
|
|
font-family: PingFang SC, PingFang SC;
|
|
|
font-weight: 400;
|
|
|
font-size: 14px;
|
|
|
color: #64748B;
|
|
|
line-height: 20px;
|
|
|
text-align: center;
|
|
|
+ word-break: break-word;
|
|
|
}
|
|
|
|
|
|
.home-guide-timeline-line {
|
|
|
- flex-shrink: 0;
|
|
|
- width: 245px;
|
|
|
+ flex: 1 1 0;
|
|
|
+ min-width: 24px;
|
|
|
+ max-width: 245px;
|
|
|
height: 4px;
|
|
|
margin-top: 24px;
|
|
|
border-radius: 2px;
|
|
|
@@ -1993,7 +2063,10 @@ const guideVerifyCards = [
|
|
|
box-sizing: border-box;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- width: 400px;
|
|
|
+ flex: 1 1 auto;
|
|
|
+ width: auto;
|
|
|
+ min-width: 0;
|
|
|
+ max-width: 400px;
|
|
|
height: 44px;
|
|
|
padding: 12px 14px;
|
|
|
background: #1E293B;
|
|
|
@@ -2043,8 +2116,12 @@ const guideVerifyCards = [
|
|
|
.home-guide-block-token .home-guide-token-btn {
|
|
|
display: inline-flex;
|
|
|
align-items: center;
|
|
|
+ justify-content: center;
|
|
|
gap: 6px;
|
|
|
- padding: 12px 14px;
|
|
|
+ flex-shrink: 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ min-height: 44px;
|
|
|
+ padding: 12px 16px;
|
|
|
border: none;
|
|
|
border-radius: 8px;
|
|
|
background: linear-gradient(107deg, #3B82F6 0%, #6366F1 100%);
|
|
|
@@ -2054,7 +2131,7 @@ const guideVerifyCards = [
|
|
|
font-size: 14px;
|
|
|
color: #FFFFFF;
|
|
|
line-height: 20px;
|
|
|
- text-align: left;
|
|
|
+ white-space: nowrap;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
|
|
|
@@ -2077,7 +2154,7 @@ const guideVerifyCards = [
|
|
|
.home-guide-feature {
|
|
|
flex: 1;
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
+ align-items: flex-start;
|
|
|
gap: 12px;
|
|
|
min-width: 0;
|
|
|
}
|
|
|
@@ -2088,6 +2165,11 @@ const guideVerifyCards = [
|
|
|
height: 38px;
|
|
|
}
|
|
|
|
|
|
+.home-guide-feature > div {
|
|
|
+ flex: 1;
|
|
|
+ min-width: 0;
|
|
|
+}
|
|
|
+
|
|
|
.home-guide-feature-title {
|
|
|
font-family: PingFang SC, PingFang SC;
|
|
|
font-weight: 500;
|
|
|
@@ -2104,7 +2186,7 @@ const guideVerifyCards = [
|
|
|
color: #64748B;
|
|
|
line-height: 20px;
|
|
|
text-align: left;
|
|
|
- white-space: nowrap;
|
|
|
+ word-break: break-word;
|
|
|
}
|
|
|
|
|
|
.home-guide-access-tabs {
|
|
|
@@ -2212,6 +2294,7 @@ const guideVerifyCards = [
|
|
|
.home-guide-tool-tab {
|
|
|
display: inline-flex;
|
|
|
align-items: center;
|
|
|
+ justify-content: center;
|
|
|
gap: 8px;
|
|
|
margin: 0;
|
|
|
padding: 10px 20px;
|
|
|
@@ -2223,10 +2306,16 @@ const guideVerifyCards = [
|
|
|
font-size: 14px;
|
|
|
color: #475569;
|
|
|
line-height: 20px;
|
|
|
- text-align: left;
|
|
|
+ text-align: center;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
|
|
|
+.home-guide-tool-tab-icon {
|
|
|
+ width: 20px;
|
|
|
+ height: 20px;
|
|
|
+ flex-shrink: 0;
|
|
|
+}
|
|
|
+
|
|
|
.home-guide-tool-tab.is-active {
|
|
|
border: none;
|
|
|
background: linear-gradient(107deg, #3B82F6 0%, #6366F1 100%);
|
|
|
@@ -2240,6 +2329,7 @@ const guideVerifyCards = [
|
|
|
gap: 20px;
|
|
|
margin-top: 20px;
|
|
|
align-items: stretch;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.home-guide-pending-body {
|
|
|
@@ -2252,22 +2342,28 @@ const guideVerifyCards = [
|
|
|
|
|
|
.home-guide-doubao-body {
|
|
|
align-items: flex-start;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.home-guide-doubao-body .home-guide-ima-left {
|
|
|
- flex: 1;
|
|
|
+ flex: 1 1 0;
|
|
|
min-width: 0;
|
|
|
}
|
|
|
|
|
|
.home-guide-doubao-right {
|
|
|
- flex: 0 0 auto;
|
|
|
+ flex: 1 1 0;
|
|
|
+ min-width: 0;
|
|
|
+ max-width: 608px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ align-items: flex-start;
|
|
|
}
|
|
|
|
|
|
.home-guide-doubao-img {
|
|
|
display: block;
|
|
|
- width: 608px;
|
|
|
- height: 472px;
|
|
|
+ width: 100%;
|
|
|
max-width: 100%;
|
|
|
+ height: auto;
|
|
|
object-fit: contain;
|
|
|
}
|
|
|
|
|
|
@@ -2686,9 +2782,8 @@ const guideVerifyCards = [
|
|
|
display: block;
|
|
|
margin-top: 6px;
|
|
|
min-width: 0;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
+ white-space: pre-wrap;
|
|
|
+ word-break: break-all;
|
|
|
font-family: Consolas, Monaco, monospace;
|
|
|
font-size: 13px;
|
|
|
color: #7DD3FC;
|
|
|
@@ -2999,7 +3094,8 @@ const guideVerifyCards = [
|
|
|
font-family: Consolas, Monaco, monospace;
|
|
|
font-size: 13px;
|
|
|
line-height: 22px;
|
|
|
- white-space: pre;
|
|
|
+ white-space: pre-wrap;
|
|
|
+ word-break: break-all;
|
|
|
color: #E2E8F0;
|
|
|
}
|
|
|
|
|
|
@@ -3166,7 +3262,12 @@ const guideVerifyCards = [
|
|
|
|
|
|
.home-footer-inner {
|
|
|
box-sizing: border-box;
|
|
|
- padding: 0 24px;
|
|
|
+ width: 100%;
|
|
|
+ max-width: 1320px;
|
|
|
+ margin-left: auto;
|
|
|
+ margin-right: auto;
|
|
|
+ padding-left: calc(var(--home-inline-padding) + 24px);
|
|
|
+ padding-right: calc(var(--home-inline-padding) + 24px);
|
|
|
flex-direction: row;
|
|
|
justify-content: space-between;
|
|
|
align-items: flex-start;
|
|
|
@@ -3330,4 +3431,242 @@ const guideVerifyCards = [
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+@media (max-width: 1200px) {
|
|
|
+ .home-page {
|
|
|
+ --home-inline-padding: 40px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero {
|
|
|
+ padding-top: 48px;
|
|
|
+ padding-bottom: 48px;
|
|
|
+ gap: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-visual {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-copy {
|
|
|
+ flex: 1 1 auto;
|
|
|
+ width: 100%;
|
|
|
+ max-width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-title-main {
|
|
|
+ font-size: 40px;
|
|
|
+ line-height: 56px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-title-sub {
|
|
|
+ font-size: 32px;
|
|
|
+ line-height: 44px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-desc {
|
|
|
+ margin-top: 40px;
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 28px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-actions {
|
|
|
+ margin-top: 48px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview-inner {
|
|
|
+ gap: 80px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview-stat-card {
|
|
|
+ padding: 24px 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview-stat-card .home-overview-card-label {
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 22px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-scenes-lower {
|
|
|
+ padding-top: 36px;
|
|
|
+ padding-bottom: 36px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-scenes-demo {
|
|
|
+ grid-template-columns: 1fr;
|
|
|
+ gap: 32px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-scenes-demo-preview {
|
|
|
+ align-self: stretch;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-item {
|
|
|
+ max-width: 160px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-dot {
|
|
|
+ width: 44px;
|
|
|
+ height: 44px;
|
|
|
+ font-size: 18px;
|
|
|
+ line-height: 26px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-name {
|
|
|
+ margin-top: 8px;
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 22px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-desc {
|
|
|
+ font-size: 12px;
|
|
|
+ line-height: 18px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-line {
|
|
|
+ max-width: 100px;
|
|
|
+ margin-top: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-doubao-body {
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: stretch;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-doubao-right {
|
|
|
+ max-width: 100%;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-tool-body:not(.home-guide-ima-body) {
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: stretch;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-tool-body:not(.home-guide-ima-body) .home-guide-tool-steps {
|
|
|
+ flex: none;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-tool-body:not(.home-guide-ima-body) .home-guide-code {
|
|
|
+ flex: none;
|
|
|
+ width: 100%;
|
|
|
+ min-height: 360px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+@media (max-width: 768px) {
|
|
|
+ .home-page {
|
|
|
+ --home-inline-padding: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero {
|
|
|
+ padding-top: 32px;
|
|
|
+ padding-bottom: 32px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-title {
|
|
|
+ margin-top: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-title-main {
|
|
|
+ font-size: 32px;
|
|
|
+ line-height: 44px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-title-sub {
|
|
|
+ font-size: 24px;
|
|
|
+ line-height: 34px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-desc {
|
|
|
+ margin-top: 24px;
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-actions {
|
|
|
+ margin-top: 32px;
|
|
|
+ gap: 12px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-btn {
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-hero-btn-primary,
|
|
|
+ .home-hero-btn-secondary {
|
|
|
+ padding: 12px 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview-inner {
|
|
|
+ gap: 48px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview,
|
|
|
+ .home-scenes-upper,
|
|
|
+ .home-guide {
|
|
|
+ padding-top: 48px;
|
|
|
+ padding-bottom: 48px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview-stats,
|
|
|
+ .home-overview-services,
|
|
|
+ .home-scenes-cards {
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview-stat-card,
|
|
|
+ .home-overview-service-card,
|
|
|
+ .home-scenes-card {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-overview-stat-card {
|
|
|
+ padding: 24px 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-scenes-lower {
|
|
|
+ margin: 24px 0 48px;
|
|
|
+ padding-top: 24px;
|
|
|
+ padding-bottom: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-scenes-demo {
|
|
|
+ gap: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-scenes-demo-title {
|
|
|
+ font-size: 24px;
|
|
|
+ line-height: 32px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-item {
|
|
|
+ max-width: 108px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-dot {
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 24px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-name {
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-desc {
|
|
|
+ font-size: 11px;
|
|
|
+ line-height: 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .home-guide-timeline-line {
|
|
|
+ min-width: 12px;
|
|
|
+ max-width: 48px;
|
|
|
+ margin-top: 18px;
|
|
|
+ height: 3px;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|