提交修改

This commit is contained in:
quyixiao 2026-06-09 23:34:20 +08:00
parent f1440a754d
commit a50b67b3bd
38 changed files with 0 additions and 7515 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

View File

@ -1,10 +0,0 @@
售后服务时间7 * 24小时8:00-22:00
售后服务内容:技术支持
服务热线19550207125
服务钉钉1nat8tfz
服务钉钉2xmk3f0b
服务邮箱service@1024api.com

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

View File

@ -1,137 +0,0 @@
最终用户使用协议
欢迎您使用银行卡二、三、四要素核验。
本银行卡二、三、四要素核验最终用户协议(“本协议”)是您和杭州谦芝慧科技发展有限公司之间,就服务商为您提供银行卡二、三、四要素核验(“本【服务】”),所达成的合法协议。
一、协议的生效
1、用户确认而生效本协议由服务商提供在线版本用户购买本【服务】时应认真阅读本协议后须保持本协议为勾选状态方可进入下一步购买流程。本协议一经用户确认即具有合同效力对服务商和用户具有法律约束力。
2、用户使用而生效用户可以通过【获取服务】由服务商根据商品种类选择相应表述或其他方式使用本【服务】。服务商会在相应环节提供本协议的在线版本供用户阅读。一旦用户以前述任一方式使用本【服务】即表示用户已同意接受本协议中的所有条款。如果用户不接受本协议中的条款请不要使用本【服务】。
二、定义
1、××【软件/镜像/服务】是指【】。
2、服务商如有其他需要定义的内容请补充
三、使用许可(注:服务商自行增删相应条款)
1、本【服务】受版权法、国际版权条约以及其他相关的知识产权法律、法规和条约的保护。本软件产品/服务为授权用户使用许可,而非出售。
2、本【服务】的【版权/所有权】归【权利人名称】所有。
3、根据本协议的约定服务商授予用户一项非排他的、不可转让的使用本【服务】的使用许可。用户不得转售或以其他方式转让本使用许可权利以牟取商业利益。本条为参考服务商应自行明确使用许可的性质、范围等
四、费用:
1、服务商同意目前向用户免费提供本【服务】的有限使用许可。但该免费服务不应视为服务商放弃在未来某一时刻开始收费的权利。未来服务商如对用户就本【服务】收取许可费用将通过相关网页、购买环节等明示告知用户。适用免费产品
1、用户使用本【服务】须按照本【服务】的价格体系、支付所有费用。服务商保留在用户未按照约定支付全部费用之前不向用户提供服务和/或技术支持,或者终止服务和/或技术支持的权利。(注:适用收费产品)
2、用户如对本【服务】进行续费时本【服务】的名称、规格或价格已经调整的用户同意按照届时有效的新的【服务】的名称、规格或价格履行用户不同意新的【服务】的名称、规格或价格的可不进行续费本【服务】到期后自动终止。
五、用户的权利义务
1、用户保证其使用本【服务】的各项行为均符合国家法律法规的规定合法真实且不侵害任何第三方的合法权益。
2、用户应按时足额支付本【服务】的费用如有否则服务商保留随时终止用户使用本【服务】的权利用户应对服务商终止本【服务】而可能造成的损害自行承担全部责任。
3、用户保证除且仅除法律明确允许的活动以外用户不得逆向工程、反编译或反汇编本【服务】。
4、用户理解并同意
1因现有技术限制服务商提供的【服务】可能存在瑕疵并不能保证在任何情况下都能正常执行或达到用户所期望的结果。
2因用户使用本【服务】所致的任何损害用户同意服务商的最高赔偿限额为【】
六、服务商的权利义务
1、服务商保证其有合法权利向用户提供本【服务】的使用许可并保证其版权的合法性。
2、服务商承诺其向用户提供本【服务】之行为未对任何第三方合法权益包括但不限于第三方知识产权构成侵害。如因其行为导致用户遭受任何第三方提起的法律诉讼或行政程序“侵权指控”服务商承担其法律责任及后果。
3、服务商负责及时对本【服务】进行升级、维护和管理并通过客服电话、在线客服等方式向用户提供免费的咨询及技术支持服务。
4、服务商承诺保证其为用户提供的【服务】的稳定性和延续性。如因服务商原因导致用户对于本【服务】的使用许可需提前终止的服务商应对用户履行相应的退款义务如有。如因此给用户造成损失的服务商应承担全额的赔偿责任。
5、服务商承诺其向用户提供的【服务】中不含有
1蓄意毁坏、恶意干扰、秘密地截取或侵占任何系统、数据或个人资料的任何病毒、伪装破坏程序、电脑蠕虫、定时程序炸弹或其他电脑程序
2任何已知的漏洞、后门、恶意软件
3其他可能对用户的系统安全造成损害的不安全内容。
6、责任限制在适用法律所允许的最大范围内服务商不会对因使用或不能使用本【服务】所引起的或有关的任何间接的、意外的、直接的、特殊的、惩罚性的或其它任何损害包括但不限于因人身伤害或财产损坏而造成的损害因利润损失、数据损失、营业中断、计算机瘫痪或故障、商业信息的遗失而造成的损害因未能履行包括诚信或相当注意在内的任何责任致使隐私泄露而造成的损害因疏忽而造成的损害或因任何金钱上的损失或任何其它损失而造成的损害承担赔偿责任即使服务商事先被告知该损害发生的可能性。
七、用户数据的使用和披露
1、为服务用户的目的服务商可能通过使用用户数据向用户提供服务包括但不限于向用户发出产品和服务信息。
2、未经用户许可服务商不会擅自披露用户数据。但在下述情况下用户数据将部分或全部被披露
1经用户同意向第三方披露
2根据法律的有关规定或者行政或司法机构的要求向第三方或者行政、司法机构披露
3如果用户出现违反中国有关法律法规的情况需要向第三方披露
4为提供用户所要求的软件或服务而必须和第三方分享用户数据。
八、期限与终止
1、本【服务】的期限为【一年】。
2、出现下列情况之一的服务商有权终止继续提供本【服务】而无需承担任何责任
1用户购买的【服务】已到期且未续费的
2用户严重违反本协议项下条款的约定且自服务商通知其纠正后仍未纠正的。
九、协议修改
1、如果本协议的任何内容发生变动服务商应通过适当方式向用户提示修改内容。
2、如果用户不同意服务商对本协议相关条款所做的修改用户有权停止使用本【服务】。此等情况下服务商应向用户退回剩余费用如有并在终止服务前给予用户一定的合理期限进行数据备份、下载、保存、迁移及其他必要工作。如用户继续使用本【服务】则视为用户接受服务商对本协议相关条款所做的修改。
十、法律及争议解决
1、本协议的订立、执行和解释及争议的解决均应适用【中华人民共和国法律】。
2、因双方就本协议的签订、履行或解释发生争议双方应努力友好协商解决。如协商不成任何一方均应向【被告所在地】人民法院起诉。
十一、附则
1、如本协议的任何条款被视作无效或无法执行则上述条款可被分离其余部分则仍具有法律效力。
2、本协议的标题仅为方便阅读所设非对条款的定义、限制、解释或描述其范围或界限。
3、服务商可根据其自身运营状况在提前【30】个工作日通知用户的前提下将其在本协议项下的权利义务全部转让给第三方而无需获得用户的事先同意。服务商之受让人受本协议约束服务商与其受让人对本协议的履行承担连带责任。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

View File

@ -1,5 +0,0 @@
本公司承诺:所提供的核验能力在合法合规前提下开展,数据来源及使用方式符合国家关于个人信息保护、数据安全及电信管理等相关规定;不向用户索取与业务无关的敏感信息,不将核验结果用于违法违规用途。用户侧授权与告知义务由本公司与用户约定并落实,因本公司违反法律法规或平台规则导致的责任由本公司承担。

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

View File

@ -1,41 +0,0 @@
direction: right
classes: {
trigger: {
shape: oval
style: {fill: "#fff3e0"; stroke: "#fb8c00"; bold: true; font-size: 16}
}
done: {
shape: oval
style: {fill: "#c8e6c9"; stroke: "#43a047"; bold: true; font-size: 16}
}
s1: {
style: {fill: "#e3f2fd"; stroke: "#1e88e5"; stroke-width: 3; border-radius: 12; bold: true; font-size: 18; shadow: true}
}
s2: {
style: {fill: "#f3e5f5"; stroke: "#8e24aa"; stroke-width: 3; border-radius: 12; bold: true; font-size: 18; shadow: true}
}
s3: {
style: {fill: "#e8f5e9"; stroke: "#43a047"; stroke-width: 3; border-radius: 12; bold: true; font-size: 18; shadow: true}
}
}
trigger: 触发\n/aliyun-marketplace {class: trigger}
s1: 阶段一\nAPI 自测\n(检测服务→调接口) {class: s1}
s2: 阶段二\n测试沉淀 {class: s2}
s3: 阶段三\n上架材料 {class: s3}
done: 材料就绪\n→ 阿里云 {class: done}
trigger -> s1: 启动
s1 -> s2: 接口可用
s2 -> s3: 测试就绪
s3 -> done: 报告生成
note: |md
**非阻塞 · 服务式 · 不逼问 · 透明失败**
断点续跑:`/aliyun-marketplace 继续`
| {
near: bottom-center
style: {fill: "#fff9c4"; stroke: "#f9a825"; border-radius: 6; italic: true; font-size: 14}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 47 KiB

View File

@ -1,35 +0,0 @@
direction: down
classes: {
dev: {
shape: person
style: {fill: "#fff3e0"; stroke: "#fb8c00"}
}
skill: {
style: {fill: "#dceefb"; stroke: "#4A90D9"; border-radius: 8}
}
ops: {
shape: person
style: {fill: "#f3e5f5"; stroke: "#8e24aa"}
}
}
dev: 后端开发\n主交互入口 {class: dev}
skill: aliyun-marketplace Skill {
class: skill
inner: |md
- 主动询问
- 检索阿里云规范
- 生成测试 + 材料
| {
style: {fill: transparent; stroke: transparent}
}
}
ops: 产品 / 运营\n提供文案、定价、客服信息 {class: ops}
dev -> skill: 启动 / 回答问题
skill -> dev: 提问 / 给建议 / 产出文件
dev -> ops: 代问业务字段
ops -> dev: 提供材料

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

View File

@ -1,860 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.0" preserveAspectRatio="xMinYMin meet" viewBox="0 0 728 697"><svg class="d2-1482353302 d2-svg" width="728" height="697" viewBox="-29 -29 728 697"><rect x="-29.000000" y="-29.000000" width="728.000000" height="697.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1482353302 .text {
font-family: "d2-1482353302-font-regular";
}
@font-face {
font-family: d2-1482353302-font-regular;
src: url("data:application/font-woff;base64,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");
}
@font-face {
font-family: d2-1482353302-font-semibold;
src: url("data:application/font-woff;base64,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");
}
.d2-1482353302 .text-bold {
font-family: "d2-1482353302-font-bold";
}
@font-face {
font-family: d2-1482353302-font-bold;
src: url("data:application/font-woff;base64,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");
}
.d2-1482353302 .text-italic {
font-family: "d2-1482353302-font-italic";
}
@font-face {
font-family: d2-1482353302-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-1482353302 .fill-N1{fill:#0A0F25;}
.d2-1482353302 .fill-N2{fill:#676C7E;}
.d2-1482353302 .fill-N3{fill:#9499AB;}
.d2-1482353302 .fill-N4{fill:#CFD2DD;}
.d2-1482353302 .fill-N5{fill:#DEE1EB;}
.d2-1482353302 .fill-N6{fill:#EEF1F8;}
.d2-1482353302 .fill-N7{fill:#FFFFFF;}
.d2-1482353302 .fill-B1{fill:#0D32B2;}
.d2-1482353302 .fill-B2{fill:#0D32B2;}
.d2-1482353302 .fill-B3{fill:#E3E9FD;}
.d2-1482353302 .fill-B4{fill:#E3E9FD;}
.d2-1482353302 .fill-B5{fill:#EDF0FD;}
.d2-1482353302 .fill-B6{fill:#F7F8FE;}
.d2-1482353302 .fill-AA2{fill:#4A6FF3;}
.d2-1482353302 .fill-AA4{fill:#EDF0FD;}
.d2-1482353302 .fill-AA5{fill:#F7F8FE;}
.d2-1482353302 .fill-AB4{fill:#EDF0FD;}
.d2-1482353302 .fill-AB5{fill:#F7F8FE;}
.d2-1482353302 .stroke-N1{stroke:#0A0F25;}
.d2-1482353302 .stroke-N2{stroke:#676C7E;}
.d2-1482353302 .stroke-N3{stroke:#9499AB;}
.d2-1482353302 .stroke-N4{stroke:#CFD2DD;}
.d2-1482353302 .stroke-N5{stroke:#DEE1EB;}
.d2-1482353302 .stroke-N6{stroke:#EEF1F8;}
.d2-1482353302 .stroke-N7{stroke:#FFFFFF;}
.d2-1482353302 .stroke-B1{stroke:#0D32B2;}
.d2-1482353302 .stroke-B2{stroke:#0D32B2;}
.d2-1482353302 .stroke-B3{stroke:#E3E9FD;}
.d2-1482353302 .stroke-B4{stroke:#E3E9FD;}
.d2-1482353302 .stroke-B5{stroke:#EDF0FD;}
.d2-1482353302 .stroke-B6{stroke:#F7F8FE;}
.d2-1482353302 .stroke-AA2{stroke:#4A6FF3;}
.d2-1482353302 .stroke-AA4{stroke:#EDF0FD;}
.d2-1482353302 .stroke-AA5{stroke:#F7F8FE;}
.d2-1482353302 .stroke-AB4{stroke:#EDF0FD;}
.d2-1482353302 .stroke-AB5{stroke:#F7F8FE;}
.d2-1482353302 .background-color-N1{background-color:#0A0F25;}
.d2-1482353302 .background-color-N2{background-color:#676C7E;}
.d2-1482353302 .background-color-N3{background-color:#9499AB;}
.d2-1482353302 .background-color-N4{background-color:#CFD2DD;}
.d2-1482353302 .background-color-N5{background-color:#DEE1EB;}
.d2-1482353302 .background-color-N6{background-color:#EEF1F8;}
.d2-1482353302 .background-color-N7{background-color:#FFFFFF;}
.d2-1482353302 .background-color-B1{background-color:#0D32B2;}
.d2-1482353302 .background-color-B2{background-color:#0D32B2;}
.d2-1482353302 .background-color-B3{background-color:#E3E9FD;}
.d2-1482353302 .background-color-B4{background-color:#E3E9FD;}
.d2-1482353302 .background-color-B5{background-color:#EDF0FD;}
.d2-1482353302 .background-color-B6{background-color:#F7F8FE;}
.d2-1482353302 .background-color-AA2{background-color:#4A6FF3;}
.d2-1482353302 .background-color-AA4{background-color:#EDF0FD;}
.d2-1482353302 .background-color-AA5{background-color:#F7F8FE;}
.d2-1482353302 .background-color-AB4{background-color:#EDF0FD;}
.d2-1482353302 .background-color-AB5{background-color:#F7F8FE;}
.d2-1482353302 .color-N1{color:#0A0F25;}
.d2-1482353302 .color-N2{color:#676C7E;}
.d2-1482353302 .color-N3{color:#9499AB;}
.d2-1482353302 .color-N4{color:#CFD2DD;}
.d2-1482353302 .color-N5{color:#DEE1EB;}
.d2-1482353302 .color-N6{color:#EEF1F8;}
.d2-1482353302 .color-N7{color:#FFFFFF;}
.d2-1482353302 .color-B1{color:#0D32B2;}
.d2-1482353302 .color-B2{color:#0D32B2;}
.d2-1482353302 .color-B3{color:#E3E9FD;}
.d2-1482353302 .color-B4{color:#E3E9FD;}
.d2-1482353302 .color-B5{color:#EDF0FD;}
.d2-1482353302 .color-B6{color:#F7F8FE;}
.d2-1482353302 .color-AA2{color:#4A6FF3;}
.d2-1482353302 .color-AA4{color:#EDF0FD;}
.d2-1482353302 .color-AA5{color:#F7F8FE;}
.d2-1482353302 .color-AB4{color:#EDF0FD;}
.d2-1482353302 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1482353302);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1482353302);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1482353302);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1482353302);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1482353302);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1482353302);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1482353302);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1482353302);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.d2-1482353302 .md em,
.d2-1482353302 .md dfn {
font-family: "d2-1482353302-font-italic";
}
.d2-1482353302 .md b,
.d2-1482353302 .md strong {
font-family: "d2-1482353302-font-bold";
}
.d2-1482353302 .md code,
.d2-1482353302 .md kbd,
.d2-1482353302 .md pre,
.d2-1482353302 .md samp {
font-family: "d2-1482353302-font-mono";
font-size: 1em;
}
.d2-1482353302 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.d2-1482353302 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
background-color: transparent; /* we don't want to define the background color */
font-family: "d2-1482353302-font-regular";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
.d2-1482353302 .md details,
.d2-1482353302 .md figcaption,
.d2-1482353302 .md figure {
display: block;
}
.d2-1482353302 .md summary {
display: list-item;
}
.d2-1482353302 .md [hidden] {
display: none !important;
}
.d2-1482353302 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.d2-1482353302 .md a:active,
.d2-1482353302 .md a:hover {
outline-width: 0;
}
.d2-1482353302 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.d2-1482353302 .md dfn {
font-style: italic;
}
.d2-1482353302 .md h1 {
margin: 0.67em 0;
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-1482353302 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.d2-1482353302 .md small {
font-size: 90%;
}
.d2-1482353302 .md sub,
.d2-1482353302 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.d2-1482353302 .md sub {
bottom: -0.25em;
}
.d2-1482353302 .md sup {
top: -0.5em;
}
.d2-1482353302 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.d2-1482353302 .md figure {
margin: 1em 40px;
}
.d2-1482353302 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
border-bottom: 1px solid var(--color-border-muted);
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: var(--color-border-default);
border: 0;
}
.d2-1482353302 .md input {
font: inherit;
margin: 0;
overflow: visible;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.d2-1482353302 .md [type="button"],
.d2-1482353302 .md [type="reset"],
.d2-1482353302 .md [type="submit"] {
-webkit-appearance: button;
}
.d2-1482353302 .md [type="button"]::-moz-focus-inner,
.d2-1482353302 .md [type="reset"]::-moz-focus-inner,
.d2-1482353302 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.d2-1482353302 .md [type="button"]:-moz-focusring,
.d2-1482353302 .md [type="reset"]:-moz-focusring,
.d2-1482353302 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.d2-1482353302 .md [type="checkbox"],
.d2-1482353302 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.d2-1482353302 .md [type="number"]::-webkit-inner-spin-button,
.d2-1482353302 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.d2-1482353302 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.d2-1482353302 .md [type="search"]::-webkit-search-cancel-button,
.d2-1482353302 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.d2-1482353302 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.d2-1482353302 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.d2-1482353302 .md a:hover {
text-decoration: underline;
}
.d2-1482353302 .md hr::before {
display: table;
content: "";
}
.d2-1482353302 .md hr::after {
display: table;
clear: both;
content: "";
}
.d2-1482353302 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
width: max-content;
max-width: 100%;
overflow: auto;
}
.d2-1482353302 .md td,
.d2-1482353302 .md th {
padding: 0;
}
.d2-1482353302 .md details summary {
cursor: pointer;
}
.d2-1482353302 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.d2-1482353302 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
vertical-align: middle;
background-color: var(--color-canvas-subtle);
border: solid 1px var(--color-neutral-muted);
border-bottom-color: var(--color-neutral-muted);
border-radius: 6px;
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.d2-1482353302 .md h1,
.d2-1482353302 .md h2,
.d2-1482353302 .md h3,
.d2-1482353302 .md h4,
.d2-1482353302 .md h5,
.d2-1482353302 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 400;
line-height: 1.25;
font-family: "d2-1482353302-font-semibold";
}
.d2-1482353302 .md h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-1482353302 .md h3 {
font-size: 1.25em;
}
.d2-1482353302 .md h4 {
font-size: 1em;
}
.d2-1482353302 .md h5 {
font-size: 0.875em;
}
.d2-1482353302 .md h6 {
font-size: 0.85em;
color: var(--color-fg-muted);
}
.d2-1482353302 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.d2-1482353302 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.d2-1482353302 .md ul,
.d2-1482353302 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.d2-1482353302 .md ol ol,
.d2-1482353302 .md ul ol {
list-style-type: lower-roman;
}
.d2-1482353302 .md ul ul ol,
.d2-1482353302 .md ul ol ol,
.d2-1482353302 .md ol ul ol,
.d2-1482353302 .md ol ol ol {
list-style-type: lower-alpha;
}
.d2-1482353302 .md dd {
margin-left: 0;
}
.d2-1482353302 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.d2-1482353302 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.d2-1482353302 .md input::-webkit-outer-spin-button,
.d2-1482353302 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.d2-1482353302 .md::before {
display: table;
content: "";
}
.d2-1482353302 .md::after {
display: table;
clear: both;
content: "";
}
.d2-1482353302 .md > *:first-child {
margin-top: 0 !important;
}
.d2-1482353302 .md > *:last-child {
margin-bottom: 0 !important;
}
.d2-1482353302 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.d2-1482353302 .md .absent {
color: var(--color-danger-fg);
}
.d2-1482353302 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.d2-1482353302 .md .anchor:focus {
outline: none;
}
.d2-1482353302 .md p,
.d2-1482353302 .md blockquote,
.d2-1482353302 .md ul,
.d2-1482353302 .md ol,
.d2-1482353302 .md dl,
.d2-1482353302 .md table,
.d2-1482353302 .md pre,
.d2-1482353302 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.d2-1482353302 .md blockquote > :first-child {
margin-top: 0;
}
.d2-1482353302 .md blockquote > :last-child {
margin-bottom: 0;
}
.d2-1482353302 .md sup > a::before {
content: "[";
}
.d2-1482353302 .md sup > a::after {
content: "]";
}
.d2-1482353302 .md h1:hover .anchor,
.d2-1482353302 .md h2:hover .anchor,
.d2-1482353302 .md h3:hover .anchor,
.d2-1482353302 .md h4:hover .anchor,
.d2-1482353302 .md h5:hover .anchor,
.d2-1482353302 .md h6:hover .anchor {
text-decoration: none;
}
.d2-1482353302 .md h1 tt,
.d2-1482353302 .md h1 code,
.d2-1482353302 .md h2 tt,
.d2-1482353302 .md h2 code,
.d2-1482353302 .md h3 tt,
.d2-1482353302 .md h3 code,
.d2-1482353302 .md h4 tt,
.d2-1482353302 .md h4 code,
.d2-1482353302 .md h5 tt,
.d2-1482353302 .md h5 code,
.d2-1482353302 .md h6 tt,
.d2-1482353302 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.d2-1482353302 .md ul.no-list,
.d2-1482353302 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.d2-1482353302 .md ol[type="1"] {
list-style-type: decimal;
}
.d2-1482353302 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.d2-1482353302 .md ol[type="i"] {
list-style-type: lower-roman;
}
.d2-1482353302 .md div > ol:not([type]) {
list-style-type: decimal;
}
.d2-1482353302 .md ul ul,
.d2-1482353302 .md ul ol,
.d2-1482353302 .md ol ol,
.d2-1482353302 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.d2-1482353302 .md li > p {
margin-top: 16px;
}
.d2-1482353302 .md li + li {
margin-top: 0.25em;
}
.d2-1482353302 .md dl {
padding: 0;
}
.d2-1482353302 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-family: "d2-1482353302-font-semibold";
}
.d2-1482353302 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.d2-1482353302 .md table th {
font-family: "d2-1482353302-font-semibold";
}
.d2-1482353302 .md table th,
.d2-1482353302 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.d2-1482353302 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.d2-1482353302 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.d2-1482353302 .md table img {
background-color: transparent;
}
.d2-1482353302 .md img[align="right"] {
padding-left: 20px;
}
.d2-1482353302 .md img[align="left"] {
padding-right: 20px;
}
.d2-1482353302 .md span.frame {
display: block;
overflow: hidden;
}
.d2-1482353302 .md span.frame > span {
display: block;
float: left;
width: auto;
padding: 7px;
margin: 13px 0 0;
overflow: hidden;
border: 1px solid var(--color-border-default);
}
.d2-1482353302 .md span.frame span img {
display: block;
float: left;
}
.d2-1482353302 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.d2-1482353302 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.d2-1482353302 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.d2-1482353302 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.d2-1482353302 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.d2-1482353302 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.d2-1482353302 .md span.align-right span img {
margin: 0;
text-align: right;
}
.d2-1482353302 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.d2-1482353302 .md span.float-left span {
margin: 13px 0 0;
}
.d2-1482353302 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.d2-1482353302 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.d2-1482353302 .md code,
.d2-1482353302 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: var(--color-neutral-muted);
border-radius: 6px;
}
.d2-1482353302 .md code br,
.d2-1482353302 .md tt br {
display: none;
}
.d2-1482353302 .md del code {
text-decoration: inherit;
}
.d2-1482353302 .md pre code {
font-size: 100%;
}
.d2-1482353302 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.d2-1482353302 .md .highlight {
margin-bottom: 16px;
}
.d2-1482353302 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.d2-1482353302 .md .highlight pre,
.d2-1482353302 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: var(--color-canvas-subtle);
border-radius: 6px;
}
.d2-1482353302 .md pre code,
.d2-1482353302 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.d2-1482353302 .md .csv-data td,
.d2-1482353302 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
line-height: 1;
text-align: left;
white-space: nowrap;
}
.d2-1482353302 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.d2-1482353302 .md .csv-data tr {
border-top: 0;
}
.d2-1482353302 .md .csv-data th {
font-family: "d2-1482353302-font-semibold";
background: var(--color-canvas-subtle);
border-top: 0;
}
.d2-1482353302 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.d2-1482353302 .md .footnotes ol {
padding-left: 16px;
}
.d2-1482353302 .md .footnotes li {
position: relative;
}
.d2-1482353302 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
bottom: -8px;
left: -24px;
pointer-events: none;
content: "";
border: 2px solid var(--color-accent-emphasis);
border-radius: 6px;
}
.d2-1482353302 .md .footnotes li:target {
color: var(--color-fg-default);
}
.d2-1482353302 .md .task-list-item {
list-style-type: none;
}
.d2-1482353302 .md .task-list-item label {
font-weight: 400;
}
.d2-1482353302 .md .task-list-item.enabled label {
cursor: pointer;
}
.d2-1482353302 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.d2-1482353302 .md .task-list-item .handle {
display: none;
}
.d2-1482353302 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.d2-1482353302 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g class="ZGV2 dev"><g class="shape" ><path d="M 450 115 H 295 V 114 C 295 96 312 81 339 73 C 324 66 315 56 315 46 C 315 27 341 12 372 12 C 404 12 429 27 429 46 C 429 57 420 67 405 73 C 432 81 449 96 449 114 V 115 H 450 Z" stroke="#fb8c00" fill="#fff3e0" style="stroke-width:2;" /></g><text x="372.500000" y="136.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="372.500000" dy="0.000000">后端开发</tspan><tspan x="372.500000" dy="18.500000">(主交互入口)</tspan></text></g><g class="c2tpbGw= skill"><g class="shape" ><rect x="12.000000" y="388.000000" width="328.000000" height="180.000000" rx="8.000000" stroke="#4A90D9" fill="#dceefb" style="stroke-width:2;" /></g><text x="176.000000" y="421.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">aliyun-marketplace Skill</text></g><g class="b3Bz ops"><g class="shape" ><path d="M 658 586 H 361 V 583 C 361 549 394 519 445 504 C 417 493 400 473 400 452 C 400 417 449 388 509 388 C 569 388 619 417 619 452 C 619 473 602 492 574 504 C 625 519 658 549 658 583 V 586 H 658 Z" stroke="#8e24aa" fill="#f3e5f5" style="stroke-width:2;" /></g><text x="509.500000" y="607.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="509.500000" dy="0.000000">产品 / 运营</tspan><tspan x="509.500000" dy="18.500000">(提供文案、定价、客服信息)</tspan></text></g><g class="c2tpbGwuaW5uZXI="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="91.000000" y="438.000000" width="170" height="80"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1"><ul>
<li>主动询问</li>
<li>检索阿里云规范</li>
<li>生成测试 + 材料</li>
</ul>
</div></foreignObject></g></g><g class="KGRldiAtJmd0OyBza2lsbClbMF0="><marker id="mk-d2-1482353302-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 326.165985 159.000000 L 326.165985 187.000000 S 326.165985 197.000000 316.165985 197.000000 L 99.249001 197.000000 S 89.249001 197.000000 89.249001 207.000000 L 89.249001 384.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1482353302-3488378134)" mask="url(#d2-1482353302)" /><text x="132.000000" y="203.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">启动 / 回答问题</text></g><g class="KHNraWxsIC0mZ3Q7IGRldilbMF0="><path d="M 262.750000 386.000000 L 262.750000 257.000000 S 262.750000 247.000000 272.750000 247.000000 L 347.165985 247.000000 S 357.165985 247.000000 357.165985 237.000000 L 357.165985 161.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1482353302-3488378134)" mask="url(#d2-1482353302)" /><text x="284.500000" y="253.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">提问 / 给建议 / 产出文件</text></g><g class="KGRldiAtJmd0OyBvcHMpWzBd"><path d="M 388.165985 159.000000 L 388.165985 237.000000 S 388.165985 247.000000 398.165985 247.000000 L 446.415985 247.000000 S 456.415985 247.000000 456.388067 256.999961 L 456.011167 392.000016" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1482353302-3488378134)" mask="url(#d2-1482353302)" /><text x="452.000000" y="253.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">代问业务字段</text></g><g class="KG9wcyAtJmd0OyBkZXYpWzBd"><path d="M 563.999156 394.000000 L 563.920236 206.999999 S 563.916016 197.000000 553.916016 197.000000 L 429.165985 197.000000 S 419.165985 197.000000 419.165985 187.000000 L 419.165985 161.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1482353302-3488378134)" mask="url(#d2-1482353302)" /><text x="563.500000" y="210.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">提供材料</text></g><mask id="d2-1482353302" maskUnits="userSpaceOnUse" x="-29" y="-29" width="728" height="697">
<rect x="-29" y="-29" width="728" height="697" fill="white"></rect>
<rect x="300.500000" y="120.000000" width="144" height="37" fill="rgba(0,0,0,0.75)"></rect>
<rect x="32.500000" y="393.000000" width="287" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="366.500000" y="591.000000" width="286" height="37" fill="rgba(0,0,0,0.75)"></rect>
<rect x="89.000000" y="438.000000" width="174" height="80" fill="rgba(0,0,0,0.75)"></rect>
<rect x="66.000000" y="187.000000" width="132" height="21" fill="black"></rect>
<rect x="184.000000" y="237.000000" width="201" height="21" fill="black"></rect>
<rect x="392.000000" y="237.000000" width="120" height="21" fill="black"></rect>
<rect x="523.000000" y="194.000000" width="81" height="21" fill="black"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@ -1,54 +0,0 @@
direction: down
vars: {
c-auto: "#e8f5e9"
c-reuse: "#fff8e1"
c-ai: "#e3f2fd"
c-ask: "#fce4ec"
}
title: 12 项上架材料 — 按生成方式分类 {
near: top-center
shape: text
style: {font-size: 22; bold: true}
}
matrix: {
grid-columns: 1
auto: 自动提取 · 1 项 {
style: {fill: ${c-auto}; stroke: "#43a047"; border-radius: 10}
list: |md
**02** API 访问前缀
| {style: {fill: transparent; stroke: transparent}}
}
reuse: 复用既有 · 3 项 {
style: {fill: ${c-reuse}; stroke: "#fbc02d"; border-radius: 10}
list: |md
**07** 售后服务
**08** 售后服务范围
**11** 特殊商品资质声明
| {style: {fill: transparent; stroke: transparent}}
}
ai: AI 生成 · 3 项 {
style: {fill: ${c-ai}; stroke: "#1e88e5"; border-radius: 10}
list: |md
**03** 商品 Logo3~5 张草稿)
**04** 产品信息(草稿)
**10** EULA骨架沿用 + 业务正文重写)
| {style: {fill: transparent; stroke: transparent}}
}
ask: 询问开发者 · 5 项 {
style: {fill: ${c-ask}; stroke: "#e91e63"; border-radius: 10}
list: |md
**01** 商品名称
**05** 产品截图
**06** 资质与案例
**09** 商品规格
**12** 特殊商品资质材料
| {style: {fill: transparent; stroke: transparent}}
}
}

View File

@ -1,862 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.0" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1013 866"><svg class="d2-2546332208 d2-svg" width="1013" height="866" viewBox="-29 -77 1013 866"><rect x="-29.000000" y="-77.000000" width="1013.000000" height="866.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-2546332208 .text {
font-family: "d2-2546332208-font-regular";
}
@font-face {
font-family: d2-2546332208-font-regular;
src: url("data:application/font-woff;base64,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");
}
@font-face {
font-family: d2-2546332208-font-semibold;
src: url("data:application/font-woff;base64,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");
}
.d2-2546332208 .text-bold {
font-family: "d2-2546332208-font-bold";
}
@font-face {
font-family: d2-2546332208-font-bold;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-2546332208 .fill-N1{fill:#0A0F25;}
.d2-2546332208 .fill-N2{fill:#676C7E;}
.d2-2546332208 .fill-N3{fill:#9499AB;}
.d2-2546332208 .fill-N4{fill:#CFD2DD;}
.d2-2546332208 .fill-N5{fill:#DEE1EB;}
.d2-2546332208 .fill-N6{fill:#EEF1F8;}
.d2-2546332208 .fill-N7{fill:#FFFFFF;}
.d2-2546332208 .fill-B1{fill:#0D32B2;}
.d2-2546332208 .fill-B2{fill:#0D32B2;}
.d2-2546332208 .fill-B3{fill:#E3E9FD;}
.d2-2546332208 .fill-B4{fill:#E3E9FD;}
.d2-2546332208 .fill-B5{fill:#EDF0FD;}
.d2-2546332208 .fill-B6{fill:#F7F8FE;}
.d2-2546332208 .fill-AA2{fill:#4A6FF3;}
.d2-2546332208 .fill-AA4{fill:#EDF0FD;}
.d2-2546332208 .fill-AA5{fill:#F7F8FE;}
.d2-2546332208 .fill-AB4{fill:#EDF0FD;}
.d2-2546332208 .fill-AB5{fill:#F7F8FE;}
.d2-2546332208 .stroke-N1{stroke:#0A0F25;}
.d2-2546332208 .stroke-N2{stroke:#676C7E;}
.d2-2546332208 .stroke-N3{stroke:#9499AB;}
.d2-2546332208 .stroke-N4{stroke:#CFD2DD;}
.d2-2546332208 .stroke-N5{stroke:#DEE1EB;}
.d2-2546332208 .stroke-N6{stroke:#EEF1F8;}
.d2-2546332208 .stroke-N7{stroke:#FFFFFF;}
.d2-2546332208 .stroke-B1{stroke:#0D32B2;}
.d2-2546332208 .stroke-B2{stroke:#0D32B2;}
.d2-2546332208 .stroke-B3{stroke:#E3E9FD;}
.d2-2546332208 .stroke-B4{stroke:#E3E9FD;}
.d2-2546332208 .stroke-B5{stroke:#EDF0FD;}
.d2-2546332208 .stroke-B6{stroke:#F7F8FE;}
.d2-2546332208 .stroke-AA2{stroke:#4A6FF3;}
.d2-2546332208 .stroke-AA4{stroke:#EDF0FD;}
.d2-2546332208 .stroke-AA5{stroke:#F7F8FE;}
.d2-2546332208 .stroke-AB4{stroke:#EDF0FD;}
.d2-2546332208 .stroke-AB5{stroke:#F7F8FE;}
.d2-2546332208 .background-color-N1{background-color:#0A0F25;}
.d2-2546332208 .background-color-N2{background-color:#676C7E;}
.d2-2546332208 .background-color-N3{background-color:#9499AB;}
.d2-2546332208 .background-color-N4{background-color:#CFD2DD;}
.d2-2546332208 .background-color-N5{background-color:#DEE1EB;}
.d2-2546332208 .background-color-N6{background-color:#EEF1F8;}
.d2-2546332208 .background-color-N7{background-color:#FFFFFF;}
.d2-2546332208 .background-color-B1{background-color:#0D32B2;}
.d2-2546332208 .background-color-B2{background-color:#0D32B2;}
.d2-2546332208 .background-color-B3{background-color:#E3E9FD;}
.d2-2546332208 .background-color-B4{background-color:#E3E9FD;}
.d2-2546332208 .background-color-B5{background-color:#EDF0FD;}
.d2-2546332208 .background-color-B6{background-color:#F7F8FE;}
.d2-2546332208 .background-color-AA2{background-color:#4A6FF3;}
.d2-2546332208 .background-color-AA4{background-color:#EDF0FD;}
.d2-2546332208 .background-color-AA5{background-color:#F7F8FE;}
.d2-2546332208 .background-color-AB4{background-color:#EDF0FD;}
.d2-2546332208 .background-color-AB5{background-color:#F7F8FE;}
.d2-2546332208 .color-N1{color:#0A0F25;}
.d2-2546332208 .color-N2{color:#676C7E;}
.d2-2546332208 .color-N3{color:#9499AB;}
.d2-2546332208 .color-N4{color:#CFD2DD;}
.d2-2546332208 .color-N5{color:#DEE1EB;}
.d2-2546332208 .color-N6{color:#EEF1F8;}
.d2-2546332208 .color-N7{color:#FFFFFF;}
.d2-2546332208 .color-B1{color:#0D32B2;}
.d2-2546332208 .color-B2{color:#0D32B2;}
.d2-2546332208 .color-B3{color:#E3E9FD;}
.d2-2546332208 .color-B4{color:#E3E9FD;}
.d2-2546332208 .color-B5{color:#EDF0FD;}
.d2-2546332208 .color-B6{color:#F7F8FE;}
.d2-2546332208 .color-AA2{color:#4A6FF3;}
.d2-2546332208 .color-AA4{color:#EDF0FD;}
.d2-2546332208 .color-AA5{color:#F7F8FE;}
.d2-2546332208 .color-AB4{color:#EDF0FD;}
.d2-2546332208 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2546332208);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2546332208);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2546332208);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2546332208);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2546332208);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-2546332208);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2546332208);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2546332208);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><style type="text/css">.d2-2546332208 .md em,
.d2-2546332208 .md dfn {
font-family: "d2-2546332208-font-italic";
}
.d2-2546332208 .md b,
.d2-2546332208 .md strong {
font-family: "d2-2546332208-font-bold";
}
.d2-2546332208 .md code,
.d2-2546332208 .md kbd,
.d2-2546332208 .md pre,
.d2-2546332208 .md samp {
font-family: "d2-2546332208-font-mono";
font-size: 1em;
}
.d2-2546332208 .md {
tab-size: 4;
}
/* variables are provided in d2renderers/d2svg/d2svg.go */
.d2-2546332208 .md {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
margin: 0;
background-color: transparent; /* we don't want to define the background color */
font-family: "d2-2546332208-font-regular";
font-size: 16px;
line-height: 1.5;
word-wrap: break-word;
}
.d2-2546332208 .md details,
.d2-2546332208 .md figcaption,
.d2-2546332208 .md figure {
display: block;
}
.d2-2546332208 .md summary {
display: list-item;
}
.d2-2546332208 .md [hidden] {
display: none !important;
}
.d2-2546332208 .md a {
background-color: transparent;
color: var(--color-accent-fg);
text-decoration: none;
}
.d2-2546332208 .md a:active,
.d2-2546332208 .md a:hover {
outline-width: 0;
}
.d2-2546332208 .md abbr[title] {
border-bottom: none;
text-decoration: underline dotted;
}
.d2-2546332208 .md dfn {
font-style: italic;
}
.d2-2546332208 .md h1 {
margin: 0.67em 0;
padding-bottom: 0.3em;
font-size: 2em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-2546332208 .md mark {
background-color: var(--color-attention-subtle);
color: var(--color-text-primary);
}
.d2-2546332208 .md small {
font-size: 90%;
}
.d2-2546332208 .md sub,
.d2-2546332208 .md sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
.d2-2546332208 .md sub {
bottom: -0.25em;
}
.d2-2546332208 .md sup {
top: -0.5em;
}
.d2-2546332208 .md img {
border-style: none;
max-width: 100%;
box-sizing: content-box;
background-color: var(--color-canvas-default);
}
.d2-2546332208 .md figure {
margin: 1em 40px;
}
.d2-2546332208 .md hr {
box-sizing: content-box;
overflow: hidden;
background: transparent;
border-bottom: 1px solid var(--color-border-muted);
height: 0.25em;
padding: 0;
margin: 24px 0;
background-color: var(--color-border-default);
border: 0;
}
.d2-2546332208 .md input {
font: inherit;
margin: 0;
overflow: visible;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
.d2-2546332208 .md [type="button"],
.d2-2546332208 .md [type="reset"],
.d2-2546332208 .md [type="submit"] {
-webkit-appearance: button;
}
.d2-2546332208 .md [type="button"]::-moz-focus-inner,
.d2-2546332208 .md [type="reset"]::-moz-focus-inner,
.d2-2546332208 .md [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
.d2-2546332208 .md [type="button"]:-moz-focusring,
.d2-2546332208 .md [type="reset"]:-moz-focusring,
.d2-2546332208 .md [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
.d2-2546332208 .md [type="checkbox"],
.d2-2546332208 .md [type="radio"] {
box-sizing: border-box;
padding: 0;
}
.d2-2546332208 .md [type="number"]::-webkit-inner-spin-button,
.d2-2546332208 .md [type="number"]::-webkit-outer-spin-button {
height: auto;
}
.d2-2546332208 .md [type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
.d2-2546332208 .md [type="search"]::-webkit-search-cancel-button,
.d2-2546332208 .md [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
.d2-2546332208 .md ::-webkit-input-placeholder {
color: inherit;
opacity: 0.54;
}
.d2-2546332208 .md ::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
.d2-2546332208 .md a:hover {
text-decoration: underline;
}
.d2-2546332208 .md hr::before {
display: table;
content: "";
}
.d2-2546332208 .md hr::after {
display: table;
clear: both;
content: "";
}
.d2-2546332208 .md table {
border-spacing: 0;
border-collapse: collapse;
display: block;
width: max-content;
max-width: 100%;
overflow: auto;
}
.d2-2546332208 .md td,
.d2-2546332208 .md th {
padding: 0;
}
.d2-2546332208 .md details summary {
cursor: pointer;
}
.d2-2546332208 .md details:not([open]) > *:not(summary) {
display: none !important;
}
.d2-2546332208 .md kbd {
display: inline-block;
padding: 3px 5px;
color: var(--color-fg-default);
vertical-align: middle;
background-color: var(--color-canvas-subtle);
border: solid 1px var(--color-neutral-muted);
border-bottom-color: var(--color-neutral-muted);
border-radius: 6px;
box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}
.d2-2546332208 .md h1,
.d2-2546332208 .md h2,
.d2-2546332208 .md h3,
.d2-2546332208 .md h4,
.d2-2546332208 .md h5,
.d2-2546332208 .md h6 {
margin-top: 24px;
margin-bottom: 16px;
font-weight: 400;
line-height: 1.25;
font-family: "d2-2546332208-font-semibold";
}
.d2-2546332208 .md h2 {
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--color-border-muted);
}
.d2-2546332208 .md h3 {
font-size: 1.25em;
}
.d2-2546332208 .md h4 {
font-size: 1em;
}
.d2-2546332208 .md h5 {
font-size: 0.875em;
}
.d2-2546332208 .md h6 {
font-size: 0.85em;
color: var(--color-fg-muted);
}
.d2-2546332208 .md p {
margin-top: 0;
margin-bottom: 10px;
}
.d2-2546332208 .md blockquote {
margin: 0;
padding: 0 1em;
color: var(--color-fg-muted);
border-left: 0.25em solid var(--color-border-default);
}
.d2-2546332208 .md ul,
.d2-2546332208 .md ol {
margin-top: 0;
margin-bottom: 0;
padding-left: 2em;
}
.d2-2546332208 .md ol ol,
.d2-2546332208 .md ul ol {
list-style-type: lower-roman;
}
.d2-2546332208 .md ul ul ol,
.d2-2546332208 .md ul ol ol,
.d2-2546332208 .md ol ul ol,
.d2-2546332208 .md ol ol ol {
list-style-type: lower-alpha;
}
.d2-2546332208 .md dd {
margin-left: 0;
}
.d2-2546332208 .md pre {
margin-top: 0;
margin-bottom: 0;
word-wrap: normal;
}
.d2-2546332208 .md ::placeholder {
color: var(--color-fg-subtle);
opacity: 1;
}
.d2-2546332208 .md input::-webkit-outer-spin-button,
.d2-2546332208 .md input::-webkit-inner-spin-button {
margin: 0;
-webkit-appearance: none;
appearance: none;
}
.d2-2546332208 .md::before {
display: table;
content: "";
}
.d2-2546332208 .md::after {
display: table;
clear: both;
content: "";
}
.d2-2546332208 .md > *:first-child {
margin-top: 0 !important;
}
.d2-2546332208 .md > *:last-child {
margin-bottom: 0 !important;
}
.d2-2546332208 .md a:not([href]) {
color: inherit;
text-decoration: none;
}
.d2-2546332208 .md .absent {
color: var(--color-danger-fg);
}
.d2-2546332208 .md .anchor {
float: left;
padding-right: 4px;
margin-left: -20px;
line-height: 1;
}
.d2-2546332208 .md .anchor:focus {
outline: none;
}
.d2-2546332208 .md p,
.d2-2546332208 .md blockquote,
.d2-2546332208 .md ul,
.d2-2546332208 .md ol,
.d2-2546332208 .md dl,
.d2-2546332208 .md table,
.d2-2546332208 .md pre,
.d2-2546332208 .md details {
margin-top: 0;
margin-bottom: 16px;
}
.d2-2546332208 .md blockquote > :first-child {
margin-top: 0;
}
.d2-2546332208 .md blockquote > :last-child {
margin-bottom: 0;
}
.d2-2546332208 .md sup > a::before {
content: "[";
}
.d2-2546332208 .md sup > a::after {
content: "]";
}
.d2-2546332208 .md h1:hover .anchor,
.d2-2546332208 .md h2:hover .anchor,
.d2-2546332208 .md h3:hover .anchor,
.d2-2546332208 .md h4:hover .anchor,
.d2-2546332208 .md h5:hover .anchor,
.d2-2546332208 .md h6:hover .anchor {
text-decoration: none;
}
.d2-2546332208 .md h1 tt,
.d2-2546332208 .md h1 code,
.d2-2546332208 .md h2 tt,
.d2-2546332208 .md h2 code,
.d2-2546332208 .md h3 tt,
.d2-2546332208 .md h3 code,
.d2-2546332208 .md h4 tt,
.d2-2546332208 .md h4 code,
.d2-2546332208 .md h5 tt,
.d2-2546332208 .md h5 code,
.d2-2546332208 .md h6 tt,
.d2-2546332208 .md h6 code {
padding: 0 0.2em;
font-size: inherit;
}
.d2-2546332208 .md ul.no-list,
.d2-2546332208 .md ol.no-list {
padding: 0;
list-style-type: none;
}
.d2-2546332208 .md ol[type="1"] {
list-style-type: decimal;
}
.d2-2546332208 .md ol[type="a"] {
list-style-type: lower-alpha;
}
.d2-2546332208 .md ol[type="i"] {
list-style-type: lower-roman;
}
.d2-2546332208 .md div > ol:not([type]) {
list-style-type: decimal;
}
.d2-2546332208 .md ul ul,
.d2-2546332208 .md ul ol,
.d2-2546332208 .md ol ol,
.d2-2546332208 .md ol ul {
margin-top: 0;
margin-bottom: 0;
}
.d2-2546332208 .md li > p {
margin-top: 16px;
}
.d2-2546332208 .md li + li {
margin-top: 0.25em;
}
.d2-2546332208 .md dl {
padding: 0;
}
.d2-2546332208 .md dl dt {
padding: 0;
margin-top: 16px;
font-size: 1em;
font-style: italic;
font-family: "d2-2546332208-font-semibold";
}
.d2-2546332208 .md dl dd {
padding: 0 16px;
margin-bottom: 16px;
}
.d2-2546332208 .md table th {
font-family: "d2-2546332208-font-semibold";
}
.d2-2546332208 .md table th,
.d2-2546332208 .md table td {
padding: 6px 13px;
border: 1px solid var(--color-border-default);
}
.d2-2546332208 .md table tr {
background-color: var(--color-canvas-default);
border-top: 1px solid var(--color-border-muted);
}
.d2-2546332208 .md table tr:nth-child(2n) {
background-color: var(--color-canvas-subtle);
}
.d2-2546332208 .md table img {
background-color: transparent;
}
.d2-2546332208 .md img[align="right"] {
padding-left: 20px;
}
.d2-2546332208 .md img[align="left"] {
padding-right: 20px;
}
.d2-2546332208 .md span.frame {
display: block;
overflow: hidden;
}
.d2-2546332208 .md span.frame > span {
display: block;
float: left;
width: auto;
padding: 7px;
margin: 13px 0 0;
overflow: hidden;
border: 1px solid var(--color-border-default);
}
.d2-2546332208 .md span.frame span img {
display: block;
float: left;
}
.d2-2546332208 .md span.frame span span {
display: block;
padding: 5px 0 0;
clear: both;
color: var(--color-fg-default);
}
.d2-2546332208 .md span.align-center {
display: block;
overflow: hidden;
clear: both;
}
.d2-2546332208 .md span.align-center > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: center;
}
.d2-2546332208 .md span.align-center span img {
margin: 0 auto;
text-align: center;
}
.d2-2546332208 .md span.align-right {
display: block;
overflow: hidden;
clear: both;
}
.d2-2546332208 .md span.align-right > span {
display: block;
margin: 13px 0 0;
overflow: hidden;
text-align: right;
}
.d2-2546332208 .md span.align-right span img {
margin: 0;
text-align: right;
}
.d2-2546332208 .md span.float-left {
display: block;
float: left;
margin-right: 13px;
overflow: hidden;
}
.d2-2546332208 .md span.float-left span {
margin: 13px 0 0;
}
.d2-2546332208 .md span.float-right {
display: block;
float: right;
margin-left: 13px;
overflow: hidden;
}
.d2-2546332208 .md span.float-right > span {
display: block;
margin: 13px auto 0;
overflow: hidden;
text-align: right;
}
.d2-2546332208 .md code,
.d2-2546332208 .md tt {
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
background-color: var(--color-neutral-muted);
border-radius: 6px;
}
.d2-2546332208 .md code br,
.d2-2546332208 .md tt br {
display: none;
}
.d2-2546332208 .md del code {
text-decoration: inherit;
}
.d2-2546332208 .md pre code {
font-size: 100%;
}
.d2-2546332208 .md pre > code {
padding: 0;
margin: 0;
word-break: normal;
white-space: pre;
background: transparent;
border: 0;
}
.d2-2546332208 .md .highlight {
margin-bottom: 16px;
}
.d2-2546332208 .md .highlight pre {
margin-bottom: 0;
word-break: normal;
}
.d2-2546332208 .md .highlight pre,
.d2-2546332208 .md pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: var(--color-canvas-subtle);
border-radius: 6px;
}
.d2-2546332208 .md pre code,
.d2-2546332208 .md pre tt {
display: inline;
max-width: auto;
padding: 0;
margin: 0;
overflow: visible;
line-height: inherit;
word-wrap: normal;
background-color: transparent;
border: 0;
}
.d2-2546332208 .md .csv-data td,
.d2-2546332208 .md .csv-data th {
padding: 5px;
overflow: hidden;
font-size: 12px;
line-height: 1;
text-align: left;
white-space: nowrap;
}
.d2-2546332208 .md .csv-data .blob-num {
padding: 10px 8px 9px;
text-align: right;
background: var(--color-canvas-default);
border: 0;
}
.d2-2546332208 .md .csv-data tr {
border-top: 0;
}
.d2-2546332208 .md .csv-data th {
font-family: "d2-2546332208-font-semibold";
background: var(--color-canvas-subtle);
border-top: 0;
}
.d2-2546332208 .md .footnotes {
font-size: 12px;
color: var(--color-fg-muted);
border-top: 1px solid var(--color-border-default);
}
.d2-2546332208 .md .footnotes ol {
padding-left: 16px;
}
.d2-2546332208 .md .footnotes li {
position: relative;
}
.d2-2546332208 .md .footnotes li:target::before {
position: absolute;
top: -8px;
right: -8px;
bottom: -8px;
left: -24px;
pointer-events: none;
content: "";
border: 2px solid var(--color-accent-emphasis);
border-radius: 6px;
}
.d2-2546332208 .md .footnotes li:target {
color: var(--color-fg-default);
}
.d2-2546332208 .md .task-list-item {
list-style-type: none;
}
.d2-2546332208 .md .task-list-item label {
font-weight: 400;
}
.d2-2546332208 .md .task-list-item.enabled label {
cursor: pointer;
}
.d2-2546332208 .md .task-list-item + .task-list-item {
margin-top: 3px;
}
.d2-2546332208 .md .task-list-item .handle {
display: none;
}
.d2-2546332208 .md .task-list-item-checkbox {
margin: 0 0.2em 0.25em -1.6em;
vertical-align: middle;
}
.d2-2546332208 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em;
}
</style><g class="dGl0bGU="><g class="shape" ></g><text x="477.500000" y="-14.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:22px">12 项上架材料 — 按生成方式分类</text></g><g class="bWF0cml4"><g class="shape" ><rect x="12.000000" y="12.000000" width="931.000000" height="736.000000" stroke="#0D32B2" fill="#E3E9FD" class=" stroke-B1 fill-B4" style="stroke-width:2;" /></g><text x="477.500000" y="45.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">matrix</text></g><g class="bWF0cml4LmF1dG8="><g class="shape" ><rect x="72.000000" y="72.000000" width="811.000000" height="124.000000" rx="10.000000" stroke="#43a047" fill="#e8f5e9" style="stroke-width:2;" /></g><text x="477.500000" y="101.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">自动提取 · 1 项</text></g><g class="bWF0cml4LnJldXNl"><g class="shape" ><rect x="72.000000" y="236.000000" width="811.000000" height="124.000000" rx="10.000000" stroke="#fbc02d" fill="#fff8e1" style="stroke-width:2;" /></g><text x="477.500000" y="265.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">复用既有 · 3 项</text></g><g class="bWF0cml4LmFp"><g class="shape" ><rect x="72.000000" y="400.000000" width="811.000000" height="124.000000" rx="10.000000" stroke="#1e88e5" fill="#e3f2fd" style="stroke-width:2;" /></g><text x="477.500000" y="429.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">AI 生成 · 3 项</text></g><g class="bWF0cml4LmFzaw=="><g class="shape" ><rect x="72.000000" y="564.000000" width="811.000000" height="124.000000" rx="10.000000" stroke="#e91e63" fill="#fce4ec" style="stroke-width:2;" /></g><text x="477.500000" y="593.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:24px">询问开发者 · 5 项</text></g><g class="bWF0cml4LmF1dG8ubGlzdA=="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="123.000000" y="122.000000" width="124" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1"><p><strong>02</strong> API 访问前缀</p>
</div></foreignObject></g></g><g class="bWF0cml4LnJldXNlLmxpc3Q="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="122.000000" y="286.000000" width="421" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1"><p><strong>07</strong> 售后服务
<strong>08</strong> 售后服务范围
<strong>11</strong> 特殊商品资质声明</p>
</div></foreignObject></g></g><g class="bWF0cml4LmFpLmxpc3Q="><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="122.000000" y="450.000000" width="711" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1"><p><strong>03</strong> 商品 Logo3~5 张草稿)
<strong>04</strong> 产品信息(草稿)
<strong>10</strong> EULA骨架沿用 + 业务正文重写)</p>
</div></foreignObject></g></g><g class="bWF0cml4LmFzay5saXN0"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="122.000000" y="614.000000" width="605" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1"><p><strong>01</strong> 商品名称
<strong>05</strong> 产品截图
<strong>06</strong> 资质与案例
<strong>09</strong> 商品规格
<strong>12</strong> 特殊商品资质材料</p>
</div></foreignObject></g></g><mask id="d2-2546332208" maskUnits="userSpaceOnUse" x="-29" y="-77" width="1013" height="866">
<rect x="-29" y="-77" width="1013" height="866" fill="white"></rect>
<rect x="285.000000" y="-36.000000" width="385" height="28" fill="rgba(0,0,0,0.75)"></rect>
<rect x="438.000000" y="17.000000" width="79" height="36" fill="rgba(0,0,0,0.75)"></rect>
<rect x="384.500000" y="77.000000" width="186" height="31" fill="rgba(0,0,0,0.75)"></rect>
<rect x="384.500000" y="241.000000" width="186" height="31" fill="rgba(0,0,0,0.75)"></rect>
<rect x="402.000000" y="405.000000" width="151" height="31" fill="rgba(0,0,0,0.75)"></rect>
<rect x="369.500000" y="569.000000" width="216" height="31" fill="rgba(0,0,0,0.75)"></rect>
<rect x="121.000000" y="122.000000" width="128" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="120.000000" y="286.000000" width="425" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="120.000000" y="450.000000" width="715" height="24" fill="rgba(0,0,0,0.75)"></rect>
<rect x="120.000000" y="614.000000" width="609" height="24" fill="rgba(0,0,0,0.75)"></rect>
</mask></svg></svg>

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@ -1,15 +0,0 @@
shape: sequence_diagram
dev: 开发者
skill: Skill
fs: 文件系统
state: 状态文件
dev -> skill: "/aliyun-marketplace"
skill -> fs: 扫 controller/ 找候选类
fs -> skill: 返回类列表
skill -> dev: 项目路径? 目标类? 输出目录?
dev -> skill: 回答
skill -> fs: 创建输出目录
skill -> state: 写入 INIT 完成
skill -> dev: ✅ 初始化完成\n进入阶段 1 源码扫描

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@ -1,37 +0,0 @@
shape: sequence_diagram
dev: 开发者
skill: Skill
ai: 图像 API\n(Pollinations.ai)
fs: 文件系统
# === A. 生成 ===
skill -> skill: 基于商品名/注释\n撰写 4 套 Prompt4 风格)
skill -> ai: 并发出图请求 ×4
ai -> skill: 返回 4 张 PNG
skill -> fs: 落到 03_logo/draft/01~04.png\n+ preview.html
# === B. 展示(适配环境) ===
skill -> dev: 展示方式三选一:\n① 对话内联缩略图\n② 给文件路径 + open 命令\n③ preview.html 一键浏览器打开
# === C. 反馈循环 ===
dev -> skill: "都太花了,要简洁单色蓝"
skill -> skill: 调整 Prompt\n极简 + 单色蓝 + 几何
skill -> ai: 重新出图 ×4
ai -> skill: 返回新 4 张
skill -> dev: 再次展示
dev -> skill: "#2 不错,加强汽车元素"
skill -> ai: 围绕 #2 出变体 ×4
ai -> skill: 返回 4 张变体
skill -> dev: 再次展示
dev -> skill: "#3 就这个,定稿"
# === D. 定稿 + 可选微调 ===
skill -> fs: 复制到 03_logo/final/\nlogo-256.png-pre.png
skill -> dev: 是否本地微调?\n推荐 Photopea (网页版)
dev -> dev: (可选) 本地微调
dev -> fs: 覆盖 logo-256.png
skill -> fs: 校验尺寸/格式/大小
skill -> dev: ✅ Logo 就绪

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 32 KiB

View File

@ -1,44 +0,0 @@
direction: down
classes: {
state: {
style: {fill: "#dceefb"; stroke: "#4A90D9"; border-radius: 20}
}
terminal: {
style: {fill: "#c8e6c9"; stroke: "#43a047"; border-radius: 20; bold: true}
}
start: {
shape: circle
style: {fill: "#212121"; stroke: "#000"}
}
}
start: " " {class: start}
INIT: INIT\n初始化收集 {class: state}
SOURCE_SCAN: SOURCE_SCAN\n源码扫描 {class: state}
SERVICE_BOOT: SERVICE_BOOT\n启动引导 {class: state}
API_TEST: API_TEST\n接口自测 {class: state}
TEST_GEN: TEST_GEN\n生成测试用例 {class: state}
MATERIAL_COLLECT: MATERIAL_COLLECT\n12 项材料采集 {class: state}
PACKAGE: PACKAGE\n打包 + MANIFEST {class: state}
DONE: DONE\n完成 ✅ {class: terminal}
start -> INIT
INIT -> SOURCE_SCAN
SOURCE_SCAN -> SERVICE_BOOT
SERVICE_BOOT -> API_TEST
API_TEST -> TEST_GEN: 用例全过
API_TEST -> API_TEST: 发现 bug\n修复后回归
TEST_GEN -> MATERIAL_COLLECT
MATERIAL_COLLECT -> PACKAGE
PACKAGE -> DONE
# 任意节点都可断点续跑
note: |md
**全程非阻塞**:用户跳过/拒绝任何步骤都可继续
**断点续跑**:每个状态写入 .aliyun-skill-state.json
**终态保底**无论前面情况如何PACKAGE 阶段必出 FINAL_REPORT.md
| {
near: bottom-center
style: {fill: "#fff9c4"; stroke: "#f9a825"; border-radius: 6; italic: true}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 333 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 51 KiB

View File

@ -1,39 +0,0 @@
direction: down
classes: {
step: {
style: {fill: "#dceefb"; stroke: "#4A90D9"; border-radius: 8}
}
decision: {
shape: diamond
style: {fill: "#fffde7"; stroke: "#fbc02d"}
}
ocr: {
style: {fill: "#e8f5e9"; stroke: "#43a047"; border-radius: 8; bold: true}
}
rest: {
style: {fill: "#fce4ec"; stroke: "#e91e63"; border-radius: 8; bold: true}
}
}
scan: 源码扫描\n读 Controller 类 {class: step}
check_parent: 继承 AbstractRecognizeController? {class: decision}
check_keyword: 含 OCR/识别/核验关键词? {class: decision}
ocr_template: 使用 OCR 模板\n8 条 OCR 专用用例 {class: ocr}
rest_template: 使用通用 REST 模板\n9 条通用用例 {class: rest}
scan -> check_parent
check_parent -> ocr_template: 是
check_parent -> check_keyword: 否
check_keyword -> ocr_template: 是
check_keyword -> rest_template: 否
manual_override: |md
**开发者可手动覆盖**:在阶段 0 初始化时指定 template = ocr 或 rest
| {
style: {fill: "#fff9c4"; stroke: "#f9a825"; border-radius: 6; italic: true}
}
ocr_template -> manual_override: 覆盖
rest_template -> manual_override: 覆盖

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 46 KiB

View File

@ -1,95 +0,0 @@
direction: down
classes: {
w1: {style: {fill: "#e3f2fd"; stroke: "#1565c0"; border-radius: 8; bold: true}}
w2: {style: {fill: "#fff8e1"; stroke: "#f9a825"; border-radius: 8; bold: true}}
w3: {style: {fill: "#fce4ec"; stroke: "#c2185b"; border-radius: 8; bold: true}}
w4: {style: {fill: "#c8e6c9"; stroke: "#388e3c"; border-radius: 8; bold: true}}
p2: {style: {fill: "#e1bee7"; stroke: "#7b1fa2"; border-radius: 8; bold: true}}
p3: {style: {fill: "#cfd8dc"; stroke: "#455a64"; border-radius: 8; bold: true}}
phaseframe: {style: {fill: "#fafafa"; stroke-width: 2; border-radius: 12}}
}
title: AI 加速版 · Phase 1 = 12 工作日2.5 周)· Phase 2 = 5 工作日 {
shape: text
style: {font-size: 20; bold: true}
}
subtitle: 净工时 14 工日(传统 22 工日AI 加速比约 1.6x {
shape: text
style: {font-size: 14; italic: true; font-color: "#666"}
}
phase1: Phase 1 · MVP · 12 工作日(含 20% 缓冲) {
class: phaseframe
style.stroke: "#1565c0"
week1: Day 1-4基础设施 {
class: w1
body: |md
**Day 1** M1 骨架 + 状态 (1.3d)
**Day 2** M2 扫描 + M5 缓存 (1.5d)
**Day 3** M3 服务探测 + 自测启动
**Day 4** M3 收尾 + M4 JUnit (0.5d)
✅ D1/D2 demo契约提取 + 测试就绪
| {style: {fill: transparent; stroke: transparent}}
}
week2: Day 5-8材料采集 + 报告) {
class: w2
body: |md
**Day 5** M6 启动 · 03 Logo 反馈循环 (1.0d)
**Day 6** M6 续 · 01/04/09 商品名+介绍+规格
**Day 7** M6 续 · 02/05/06/07/08/10/11/12 八项
**Day 8** M6 收尾 + M7 FINAL_REPORT 框架
✅ D3 demo12 项材料跑通
| {style: {fill: transparent; stroke: transparent}}
}
week3: Day 9-12联调 + 收官) {
class: w3
body: |md
**Day 9** M7 收尾 + M8 改代码 (低/中风险)
**Day 10** M8 收尾 + M9 跑通 OCR
**Day 11** M9 跑通 REST + Skill README
**Day 12** D4 收官 demo + 缓冲
✅ Phase 1 收官:完整 /aliyun-marketplace
| {style: {fill: transparent; stroke: transparent}}
}
week1 -> week2 -> week3
}
phase2: Phase 2 · 增强 · 5 工作日(约 1 周) {
class: phaseframe
style.stroke: "#7b1fa2"
body: |md
代码建议自动比对 (1.0d) · 多接口共享 (0.7d) · AI Logo 提质 (1.0d)
规范刷新 (0.3d) · 实战打磨 (1.0d)
| {style: {fill: transparent; stroke: transparent}}
}
phase3: Phase 3 · 扩展 · 待规划 {
class: phaseframe
style.stroke: "#455a64"
body: |md
Mock 平台测试 · 阿里云 OpenAPI 自动提交 · 审核状态轮询
| {style: {fill: transparent; stroke: transparent}}
}
title -> subtitle -> phase1 -> phase2 -> phase3
note: |md
**关键路径** M1→M2→M6→M7→M9
**6 项前提条件**§11.1.2)缺一不可
**底线承诺** 第 12 天至少跑通 OCR 接口出 FINAL_REPORT
**风险预案** Day 5/8/11 卡壳即触发范围收缩
| {
near: bottom-center
style: {fill: "#fff9c4"; stroke: "#f9a825"; border-radius: 6; italic: true}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 57 KiB