FaYo commited on
Commit
86f5cca
·
1 Parent(s): a23d83c
doc/UI设计稿.drawio ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <mxfile host="Electron" modified="2024-04-27T17:14:55.371Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="-Yz8EyxEn3i5ZriOGAKg" version="24.2.5" type="device">
2
+ <diagram name="Page-1" id="5348f1db-0dfa-24cf-5d06-2057accb5106">
3
+ <mxGraphModel dx="3679" dy="1418" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1.5" pageWidth="826" pageHeight="1169" background="none" math="0" shadow="0">
4
+ <root>
5
+ <mxCell id="0" style=";html=1;" />
6
+ <mxCell id="1" style=";html=1;" parent="0" />
7
+ <mxCell id="55dd390204d0f602-3" value="" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#08585C;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
8
+ <mxGeometry x="980" y="280" width="1319" height="1280" as="geometry" />
9
+ </mxCell>
10
+ <mxCell id="55dd390204d0f602-1" value="卖货前端" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#333333;gradientColor=none;fontFamily=Helvetica;fontSize=30;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
11
+ <mxGeometry x="980" y="210" width="1319" height="70" as="geometry" />
12
+ </mxCell>
13
+ <mxCell id="IgfqY3sl1hPke0pUORlP-1" value="" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#08585C;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
14
+ <mxGeometry x="-160" y="275" width="880" height="1280" as="geometry" />
15
+ </mxCell>
16
+ <mxCell id="IgfqY3sl1hPke0pUORlP-2" value="主播后台" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#333333;gradientColor=none;fontFamily=Helvetica;fontSize=30;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
17
+ <mxGeometry x="-160" y="210" width="880" height="65" as="geometry" />
18
+ </mxCell>
19
+ <mxCell id="IgfqY3sl1hPke0pUORlP-3" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=#FEF15B;strokeWidth=4;fillColor=none;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
20
+ <mxGeometry x="-99" y="345" width="200" height="200" as="geometry" />
21
+ </mxCell>
22
+ <mxCell id="IgfqY3sl1hPke0pUORlP-4" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
23
+ <mxGeometry x="-84" y="360" width="170" height="170" as="geometry" />
24
+ </mxCell>
25
+ <mxCell id="IgfqY3sl1hPke0pUORlP-5" value="" style="endArrow=none;html=1;dashed=1;dashPattern=1 1;labelBackgroundColor=none;strokeColor=#F49731;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;strokeWidth=16;" parent="1" edge="1">
26
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
27
+ <mxPoint x="-90.41176470588232" y="575" as="sourcePoint" />
28
+ <mxPoint x="669" y="575" as="targetPoint" />
29
+ </mxGeometry>
30
+ </mxCell>
31
+ <mxCell id="IgfqY3sl1hPke0pUORlP-6" value="候选商品名 1&amp;nbsp;" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=30;fontColor=#FFFFFF;align=center;fontStyle=1" parent="1" vertex="1">
32
+ <mxGeometry x="-119" y="280" width="240" height="60" as="geometry" />
33
+ </mxCell>
34
+ <mxCell id="IgfqY3sl1hPke0pUORlP-7" value="商品特性 1&lt;div&gt;商品特性 2&lt;br&gt;&lt;/div&gt;&lt;div&gt;商品特性 3&lt;br&gt;&lt;/div&gt;&lt;div&gt;商品特性 4&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="text;spacingTop=-5;fillColor=#ffffff;whiteSpace=wrap;html=1;align=left;fontSize=14;fontFamily=Helvetica;fillColor=none;strokeColor=none;rounded=0;shadow=0;dashed=0;fontColor=#FEF15B;" parent="1" vertex="1">
35
+ <mxGeometry x="121" y="360" width="100" height="75" as="geometry" />
36
+ </mxCell>
37
+ <mxCell id="IgfqY3sl1hPke0pUORlP-8" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=#FEF15B;strokeWidth=4;fillColor=none;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
38
+ <mxGeometry x="450" y="645" width="200" height="200" as="geometry" />
39
+ </mxCell>
40
+ <mxCell id="IgfqY3sl1hPke0pUORlP-9" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
41
+ <mxGeometry x="465" y="660" width="170" height="170" as="geometry" />
42
+ </mxCell>
43
+ <mxCell id="IgfqY3sl1hPke0pUORlP-10" value="" style="endArrow=none;html=1;dashed=1;dashPattern=1 1;labelBackgroundColor=none;strokeColor=#F49731;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;strokeWidth=16;" parent="1" edge="1">
44
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
45
+ <mxPoint x="-90.41176470588243" y="895" as="sourcePoint" />
46
+ <mxPoint x="669" y="895" as="targetPoint" />
47
+ </mxGeometry>
48
+ </mxCell>
49
+ <mxCell id="IgfqY3sl1hPke0pUORlP-11" value="商品名&amp;nbsp;2" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=30;fontColor=#FFFFFF;align=center;fontStyle=1" parent="1" vertex="1">
50
+ <mxGeometry x="25" y="635" width="240" height="60" as="geometry" />
51
+ </mxCell>
52
+ <mxCell id="IgfqY3sl1hPke0pUORlP-12" value="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." style="text;spacingTop=-5;fillColor=#ffffff;whiteSpace=wrap;html=1;align=left;fontSize=14;fontFamily=Helvetica;fillColor=none;strokeColor=none;rounded=0;shadow=0;dashed=0;fontColor=#FEF15B;" parent="1" vertex="1">
53
+ <mxGeometry x="-120" y="715" width="535" height="130" as="geometry" />
54
+ </mxCell>
55
+ <mxCell id="IgfqY3sl1hPke0pUORlP-13" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=#FEF15B;strokeWidth=4;fillColor=none;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
56
+ <mxGeometry x="-105" y="965" width="200" height="200" as="geometry" />
57
+ </mxCell>
58
+ <mxCell id="IgfqY3sl1hPke0pUORlP-14" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
59
+ <mxGeometry x="-90" y="980" width="170" height="170" as="geometry" />
60
+ </mxCell>
61
+ <mxCell id="IgfqY3sl1hPke0pUORlP-15" value="" style="endArrow=none;html=1;dashed=1;dashPattern=1 1;labelBackgroundColor=none;strokeColor=#F49731;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;strokeWidth=16;" parent="1" edge="1">
62
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
63
+ <mxPoint x="-95.41176470588243" y="1215.0000000000002" as="sourcePoint" />
64
+ <mxPoint x="664" y="1215.0000000000002" as="targetPoint" />
65
+ </mxGeometry>
66
+ </mxCell>
67
+ <mxCell id="IgfqY3sl1hPke0pUORlP-16" value="商品名&amp;nbsp;3" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=30;fontColor=#FFFFFF;align=center;fontStyle=1" parent="1" vertex="1">
68
+ <mxGeometry x="295" y="955" width="240" height="60" as="geometry" />
69
+ </mxCell>
70
+ <mxCell id="IgfqY3sl1hPke0pUORlP-17" value="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." style="text;spacingTop=-5;fillColor=#ffffff;whiteSpace=wrap;html=1;align=left;fontSize=14;fontFamily=Helvetica;fillColor=none;strokeColor=none;rounded=0;shadow=0;dashed=0;fontColor=#FEF15B;" parent="1" vertex="1">
71
+ <mxGeometry x="150" y="1035" width="535" height="130" as="geometry" />
72
+ </mxCell>
73
+ <mxCell id="IgfqY3sl1hPke0pUORlP-22" value="" style="shape=mxgraph.signs.transportation.anchor_2;html=1;fillColor=#FFFFFF;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;rounded=0;shadow=0;dashed=0;fontFamily=Helvetica;fontSize=14;fontColor=#FEF15B;" parent="1" vertex="1">
74
+ <mxGeometry x="-46" y="395" width="94" height="98" as="geometry" />
75
+ </mxCell>
76
+ <mxCell id="IgfqY3sl1hPke0pUORlP-23" value="" style="shape=mxgraph.signs.transportation.airplane_3;html=1;fillColor=#FFFFFF;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;rounded=0;shadow=0;dashed=0;fontFamily=Helvetica;fontSize=14;fontColor=#FEF15B;" parent="1" vertex="1">
77
+ <mxGeometry x="501" y="696" width="97" height="98" as="geometry" />
78
+ </mxCell>
79
+ <mxCell id="IgfqY3sl1hPke0pUORlP-24" value="" style="shape=mxgraph.signs.transportation.train_2;html=1;fillColor=#FFFFFF;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;rounded=0;shadow=0;dashed=0;fontFamily=Helvetica;fontSize=14;fontColor=#FEF15B;" parent="1" vertex="1">
80
+ <mxGeometry x="-38" y="1015" width="66" height="99" as="geometry" />
81
+ </mxCell>
82
+ <mxCell id="IgfqY3sl1hPke0pUORlP-27" value="说明书" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;size=18;" parent="1" vertex="1">
83
+ <mxGeometry x="130" y="455" width="60" height="65" as="geometry" />
84
+ </mxCell>
85
+ <mxCell id="IgfqY3sl1hPke0pUORlP-28" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.containers.userFemale;strokeColor=#666666;strokeColor2=#008cff;" parent="1" vertex="1">
86
+ <mxGeometry x="1469" y="320" width="100" height="100" as="geometry" />
87
+ </mxCell>
88
+ <mxCell id="IgfqY3sl1hPke0pUORlP-31" value="" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.buttons.multiButton;fillColor=#008cff;strokeColor=#666666;mainText=;subText=;" parent="1" vertex="1">
89
+ <mxGeometry x="360" y="1308" width="139" height="47.5" as="geometry" />
90
+ </mxCell>
91
+ <mxCell id="IgfqY3sl1hPke0pUORlP-32" value="新增" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.anchor;fontSize=16;fontColor=#ffffff;fontStyle=1;whiteSpace=wrap;" parent="IgfqY3sl1hPke0pUORlP-31" vertex="1">
92
+ <mxGeometry y="14.25" width="139" height="19" as="geometry" />
93
+ </mxCell>
94
+ <mxCell id="IgfqY3sl1hPke0pUORlP-35" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.navigation.scrollBar;strokeColor=#999999;barPos=49.727;fillColor2=#99ddff;strokeColor2=none;direction=north;" parent="1" vertex="1">
95
+ <mxGeometry x="685" y="315" width="25" height="880" as="geometry" />
96
+ </mxCell>
97
+ <mxCell id="IgfqY3sl1hPke0pUORlP-36" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
98
+ <mxGeometry x="1594" y="320" width="605" height="180" as="geometry" />
99
+ </mxCell>
100
+ <mxCell id="IgfqY3sl1hPke0pUORlP-37" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
101
+ <mxGeometry x="1459" y="1460" width="691" height="40" as="geometry" />
102
+ </mxCell>
103
+ <mxCell id="IgfqY3sl1hPke0pUORlP-38" value="发送" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.buttons.button;strokeColor=#666666;fontColor=#ffffff;mainText=;buttonStyle=round;fontSize=17;fontStyle=1;fillColor=#008cff;whiteSpace=wrap;" parent="1" vertex="1">
104
+ <mxGeometry x="2169" y="1455" width="100" height="50" as="geometry" />
105
+ </mxCell>
106
+ <mxCell id="IgfqY3sl1hPke0pUORlP-39" value="" style="shape=actor;whiteSpace=wrap;html=1;" parent="1" vertex="1">
107
+ <mxGeometry x="2229" y="535" width="40" height="60" as="geometry" />
108
+ </mxCell>
109
+ <mxCell id="IgfqY3sl1hPke0pUORlP-40" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
110
+ <mxGeometry x="1679" y="537.5" width="530" height="55" as="geometry" />
111
+ </mxCell>
112
+ <mxCell id="IgfqY3sl1hPke0pUORlP-41" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.containers.userFemale;strokeColor=#666666;strokeColor2=#008cff;" parent="1" vertex="1">
113
+ <mxGeometry x="1459" y="630" width="100" height="100" as="geometry" />
114
+ </mxCell>
115
+ <mxCell id="IgfqY3sl1hPke0pUORlP-42" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
116
+ <mxGeometry x="1584" y="660" width="530" height="55" as="geometry" />
117
+ </mxCell>
118
+ <mxCell id="IgfqY3sl1hPke0pUORlP-43" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.containers.userFemale;strokeColor=#666666;strokeColor2=#008cff;" parent="1" vertex="1">
119
+ <mxGeometry x="1459" y="840" width="100" height="100" as="geometry" />
120
+ </mxCell>
121
+ <mxCell id="IgfqY3sl1hPke0pUORlP-44" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
122
+ <mxGeometry x="1584" y="870" width="530" height="55" as="geometry" />
123
+ </mxCell>
124
+ <mxCell id="IgfqY3sl1hPke0pUORlP-45" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.containers.userFemale;strokeColor=#666666;strokeColor2=#008cff;" parent="1" vertex="1">
125
+ <mxGeometry x="1459" y="1040" width="100" height="100" as="geometry" />
126
+ </mxCell>
127
+ <mxCell id="IgfqY3sl1hPke0pUORlP-46" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
128
+ <mxGeometry x="1584" y="1070" width="530" height="55" as="geometry" />
129
+ </mxCell>
130
+ <mxCell id="IgfqY3sl1hPke0pUORlP-47" value="" style="shape=actor;whiteSpace=wrap;html=1;" parent="1" vertex="1">
131
+ <mxGeometry x="2239" y="760" width="40" height="60" as="geometry" />
132
+ </mxCell>
133
+ <mxCell id="IgfqY3sl1hPke0pUORlP-48" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
134
+ <mxGeometry x="1689" y="762.5" width="530" height="55" as="geometry" />
135
+ </mxCell>
136
+ <mxCell id="IgfqY3sl1hPke0pUORlP-49" value="" style="shape=actor;whiteSpace=wrap;html=1;" parent="1" vertex="1">
137
+ <mxGeometry x="2239" y="970" width="40" height="60" as="geometry" />
138
+ </mxCell>
139
+ <mxCell id="IgfqY3sl1hPke0pUORlP-50" value="Line 1" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.textBox;fontColor=#666666;align=left;fontSize=17;spacingLeft=4;spacingTop=-3;whiteSpace=wrap;strokeColor=#666666;mainText=" parent="1" vertex="1">
140
+ <mxGeometry x="1689" y="972.5" width="530" height="55" as="geometry" />
141
+ </mxCell>
142
+ <mxCell id="IgfqY3sl1hPke0pUORlP-51" value="" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.buttons.multiButton;fillColor=#008cff;strokeColor=#666666;mainText=;subText=;" parent="1" vertex="1">
143
+ <mxGeometry x="437.5" y="290" width="225" height="50" as="geometry" />
144
+ </mxCell>
145
+ <mxCell id="IgfqY3sl1hPke0pUORlP-52" value="还有【倒计时】下一个产品" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.anchor;fontSize=16;fontColor=#ffffff;fontStyle=1;whiteSpace=wrap;" parent="IgfqY3sl1hPke0pUORlP-51" vertex="1">
146
+ <mxGeometry y="15" width="224.99999999999994" height="20" as="geometry" />
147
+ </mxCell>
148
+ <mxCell id="IgfqY3sl1hPke0pUORlP-53" value="一段时间不说话,主播自己继续介绍,或者自动插入一个额随机问题" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.stickyNote2;fontColor=#666666;mainText=;fontSize=17;whiteSpace=wrap;fillColor=#ffffcc;strokeColor=#F62E00;" parent="1" vertex="1">
149
+ <mxGeometry x="-420" y="530" width="200" height="200" as="geometry" />
150
+ </mxCell>
151
+ <mxCell id="IgfqY3sl1hPke0pUORlP-67" value="+" style="shape=ext;double=1;rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
152
+ <mxGeometry x="-80" y="1305" width="60" height="56" as="geometry" />
153
+ </mxCell>
154
+ <mxCell id="IgfqY3sl1hPke0pUORlP-55" value="名称" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.forms.anchor;align=right;spacingRight=2;fontColor=#666666;" parent="1" vertex="1">
155
+ <mxGeometry x="-10" y="1306.5" width="50" height="18" as="geometry" />
156
+ </mxCell>
157
+ <mxCell id="IgfqY3sl1hPke0pUORlP-56" value="[email protected]" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.forms.rrect;fillColor=#ffffff;rSize=0;fontColor=#666666;align=left;spacingLeft=3;strokeColor=#999999;" parent="1" vertex="1">
158
+ <mxGeometry x="40" y="1306.5" width="170" height="18" as="geometry" />
159
+ </mxCell>
160
+ <mxCell id="IgfqY3sl1hPke0pUORlP-57" value="亮点" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.forms.anchor;align=right;spacingRight=2;fontColor=#666666;" parent="1" vertex="1">
161
+ <mxGeometry x="-10" y="1341.5" width="50" height="18" as="geometry" />
162
+ </mxCell>
163
+ <mxCell id="IgfqY3sl1hPke0pUORlP-58" value="Greeting" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.forms.rrect;fillColor=#ffffff;rSize=0;fontColor=#666666;align=left;spacingLeft=3;strokeColor=#999999;" parent="1" vertex="1">
164
+ <mxGeometry x="40" y="1341.5" width="170" height="18" as="geometry" />
165
+ </mxCell>
166
+ <UserObject label="图片" placeholders="1" name="Variable" id="IgfqY3sl1hPke0pUORlP-68">
167
+ <mxCell style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;" parent="1" vertex="1">
168
+ <mxGeometry x="-90" y="1368" width="80" height="20" as="geometry" />
169
+ </mxCell>
170
+ </UserObject>
171
+ <mxCell id="IgfqY3sl1hPke0pUORlP-69" value="+" style="shape=ext;double=1;rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
172
+ <mxGeometry x="240" y="1305" width="50" height="46" as="geometry" />
173
+ </mxCell>
174
+ <UserObject label="附件" placeholders="1" name="Variable" id="IgfqY3sl1hPke0pUORlP-70">
175
+ <mxCell style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;overflow=hidden;" parent="1" vertex="1">
176
+ <mxGeometry x="225" y="1358" width="80" height="20" as="geometry" />
177
+ </mxCell>
178
+ </UserObject>
179
+ <mxCell id="IgfqY3sl1hPke0pUORlP-73" value="" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.buttons.multiButton;fillColor=#008cff;strokeColor=#666666;mainText=;subText=;" parent="1" vertex="1">
180
+ <mxGeometry x="221" y="1485" width="139" height="47.5" as="geometry" />
181
+ </mxCell>
182
+ <mxCell id="IgfqY3sl1hPke0pUORlP-74" value="开始卖货" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.anchor;fontSize=16;fontColor=#ffffff;fontStyle=1;whiteSpace=wrap;" parent="IgfqY3sl1hPke0pUORlP-73" vertex="1">
183
+ <mxGeometry y="14.25" width="139" height="19" as="geometry" />
184
+ </mxCell>
185
+ <mxCell id="IgfqY3sl1hPke0pUORlP-76" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" parent="1" vertex="1">
186
+ <mxGeometry x="980" y="280" width="440" height="1275" as="geometry" />
187
+ </mxCell>
188
+ <mxCell id="55dd390204d0f602-22" value="目前讲解" style="whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=30;fontColor=#FFFFFF;align=center;fontStyle=1" parent="1" vertex="1">
189
+ <mxGeometry x="1070" y="320" width="240" height="60" as="geometry" />
190
+ </mxCell>
191
+ <mxCell id="IgfqY3sl1hPke0pUORlP-30" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.forms.colorPicker;chosenColor=#aaddff;" parent="1" vertex="1">
192
+ <mxGeometry x="1030" y="400" width="320" height="300" as="geometry" />
193
+ </mxCell>
194
+ <mxCell id="55dd390204d0f602-19" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=#FEF15B;strokeWidth=4;fillColor=none;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
195
+ <mxGeometry x="1090" y="450" width="200" height="200" as="geometry" />
196
+ </mxCell>
197
+ <mxCell id="55dd390204d0f602-20" value="" style="ellipse;whiteSpace=wrap;html=1;rounded=0;shadow=0;dashed=0;strokeColor=none;strokeWidth=4;fillColor=#F49731;gradientColor=none;fontFamily=Helvetica;fontSize=100;fontColor=#FFFFFF;align=center;" parent="1" vertex="1">
198
+ <mxGeometry x="1105" y="465" width="170" height="170" as="geometry" />
199
+ </mxCell>
200
+ <mxCell id="55dd390204d0f602-27" value="" style="shape=mxgraph.signs.transportation.taxi;html=1;fillColor=#FFFFFF;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;rounded=0;shadow=0;dashed=0;fontFamily=Helvetica;fontSize=14;fontColor=#FEF15B;" parent="1" vertex="1">
201
+ <mxGeometry x="1141" y="503" width="98" height="94" as="geometry" />
202
+ </mxCell>
203
+ <mxCell id="IgfqY3sl1hPke0pUORlP-34" value="" style="verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.mockup.misc.shoppingCart;strokeColor=#999999;" parent="1" vertex="1">
204
+ <mxGeometry x="1330" y="1440" width="50" height="50" as="geometry" />
205
+ </mxCell>
206
+ <mxCell id="IgfqY3sl1hPke0pUORlP-81" value="&lt;table border=&quot;1&quot; width=&quot;100%&quot; height=&quot;100%&quot; cellpadding=&quot;4&quot; style=&quot;width:100%;height:100%;border-collapse:collapse;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align=&quot;center&quot;&gt;&lt;b&gt;信息&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;特点1&lt;br&gt;特点2&lt;br&gt;特点3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;详细说明&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;overflow=fill;" parent="1" vertex="1">
207
+ <mxGeometry x="1040" y="730" width="320" height="400" as="geometry" />
208
+ </mxCell>
209
+ <mxCell id="IgfqY3sl1hPke0pUORlP-83" value="&amp;lt;- 返回后台" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
210
+ <mxGeometry x="1040" y="1444" width="120" height="60" as="geometry" />
211
+ </mxCell>
212
+ <mxCell id="AKyox7KAoAFHJxYDL7ck-1" value="&lt;h1 style=&quot;margin-top: 0px;&quot;&gt;TODO&lt;/h1&gt;&lt;p&gt;每个人登录加个名字输入【记录到品牌方】,然后显示总商品数和品牌方的数量&lt;/p&gt;" style="text;html=1;whiteSpace=wrap;overflow=hidden;rounded=0;" vertex="1" parent="1">
213
+ <mxGeometry x="-400" y="385" width="180" height="120" as="geometry" />
214
+ </mxCell>
215
+ </root>
216
+ </mxGraphModel>
217
+ </diagram>
218
+ </mxfile>
doc/digital_human/README.md ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ComfyUI 使用文档
2
+
3
+ ## 工作流
4
+
5
+ 如果您已经有 ComfyUI 的环境,可以直接使用我的工作流:
6
+
7
+ <p align="center">
8
+ <img src="./streamer-sales-lelemiao-workflow-v1.0.png" alt="Demo gif" >
9
+ </p>
10
+
11
+
12
+ ## 功能点
13
+
14
+ 我的 Workflow 具有以下功能点:
15
+
16
+ - 生成人像图
17
+ - DW Pose 生成骨骼图
18
+ - ControlNet 控制人物姿态
19
+ - AnimateDiff 生成视频
20
+ - 插帧提升帧率
21
+ - 提升分辨率
22
+
23
+ ## 环境搭建
24
+
25
+ ```bash
26
+ git clone https://github.com/comfyanonymous/ComfyUI.git
27
+ pip install -r requirements.txt
28
+ ```
29
+
30
+ 测试安装
31
+
32
+ ```bash
33
+ cd ComfyUI
34
+ python main.py
35
+ ```
36
+
37
+ ## 模型下载
38
+
39
+ 执行脚本 `python download_models.py` 即可下载本项目需要用到的全部权重
40
+
41
+ ## 插件安装
42
+
43
+ 1. 首先需要手动拉取下【插件管理器】
44
+
45
+ ```bash
46
+ cd ComfyUI/custom_nodes
47
+ git clone https://github.com/ltdrdata/ComfyUI-Manager.git
48
+ ```
49
+
50
+ 2. 重启 ComfyUI
51
+
52
+ 3. 刷新页面,点击右下角 【管理器】->【安装缺失节点】即可。
53
+
54
+ 以下是我用到的插件:
55
+
56
+ | 插件名 | 用途 |
57
+ | :---------------------------: | :------------------------: |
58
+ | AIGODLIKE-COMFYUI-TRANSLATION | 中文翻译 |
59
+ | ComfyUI-Advanced-ControlNet | ContralNet 工具包升级版 |
60
+ | ComfyUI-AnimateDiff-Evolved | AnimateDiff 动画生成 |
61
+ | ComfyUI-Crystools | 机器资源监控 |
62
+ | ComfyUI-Custom-Scripts | 模型管理 |
63
+ | ComfyUI-Frame-Interpolation | 插帧 |
64
+ | ComfyUI-Impact-Pack | |
65
+ | ComfyUI-Manager | 插件管理器(必备) |
66
+ | ComfyUI-VideoHelperSuite | 视频加载器 |
67
+ | ComfyUI_FizzNodes | |
68
+ | ComfyUI_IPAdapter_plus | IPAdapter 风格迁移 |
69
+ | comfyui-portrait-master-zh-cn | 人物生成中文提示词辅助工具 |
70
+ | comfyui-workspace-manager | 工作流管理器 |
71
+ | comfyui_controlnet_aux | ContralNet 工具包 |
72
+ | comfyui_segment_anything | SAM 工具包 |
73
+ | sdxl_prompt_styler | SDXL 工具包 |
74
+
75
+ ## Workflow 详解
76
+
77
+ ### 1. 生成人像图
78
+
79
+ <p align="center">
80
+ <img src="./images/comfyui-1.png" alt="workflow" >
81
+ </p>
82
+
83
+ 首先我们来说下基本的文生图流程,首先加入 sd checkpoint ,和 vae 模型,vae 可选,但 sd 是必须的,如果觉得我这个模型不好,可以自行去 c站 找大佬微调好的模型,
84
+
85
+ 填写好正向词和反向词,接个 Ksampler 就可以生成人像了
86
+
87
+ ### 2. DW Pose 生成骨骼图 & ControlNet 控制人物姿态
88
+
89
+ <p align="center">
90
+ <img src="./images/comfyui-2.png" alt="workflow" >
91
+ </p>
92
+
93
+ 人物生成好了,下一步要生成特定的动作的话,有时候语言很难描述,我们需要借助 controlnet 来结合 pose 的姿态图来让 sd 生成特定动作的任务,这就是左下角的作用
94
+
95
+ ### 3. AnimateDiff 生成视频
96
+
97
+ <p align="center">
98
+ <img src="./images/comfyui-3.png" alt="workflow" >
99
+ </p>
100
+
101
+ 这两块搞好之后,可以看到任务以特定的动作生成了,下面,我们加入动作,用到的算法是 Animatediff 简单的串起来,就可以了
102
+
103
+ ### 4. 插帧提升帧率
104
+
105
+ <p align="center">
106
+ <img src="./images/comfyui-4.png" alt="workflow" >
107
+ </p>
108
+
109
+ 我们把生成的图片合成为视频,原始是 8帧,我们对它进行一个插帧,让视频更加丝滑,这就是右上角的功能
110
+
111
+ ### 5. 提升分辨率
112
+
113
+ <p align="center">
114
+ <img src="./images/comfyui-5.png" alt="workflow" >
115
+ </p>
116
+
117
+ 因为 SD 1.5 默认的输出是 512 x 512,我们还要做个 scale ,让分辨率高一点,这就是右下角的功能。
118
+
119
+ ## 配置视频路径
120
+
121
+ 生成好了 mp4 我们就可以修改下配置 [web_configs](../../utils/web_configs.py#L78) 中的 `DIGITAL_HUMAN_VIDEO_PATH` 参数,后续就会用这个视频来生成口型了。
122
+
123
+ ```diff
124
+ - DIGITAL_HUMAN_VIDEO_PATH: str = r"./doc/digital_human/lelemiao_digital_human_video.mp4"
125
+ + DIGITAL_HUMAN_VIDEO_PATH: str = r"新生成的 mp4 路径"
126
+ ```
127
+
128
+
129
+ ## 开发参考网站
130
+
131
+ - 模型下载网站:C站:https://civitai.com
132
+ - 提示词网站:https://promlib.com/
133
+ - 工作流:https://openart.ai/workflows/home
134
+ - 插件排行:https://www.nodecafe.org/
doc/digital_human/digital_human_video.mp4 ADDED
@@ -0,0 +1 @@
 
 
1
+ /root/digital_human_video.mp4
doc/digital_human/download_models.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
4
+ from huggingface_hub import hf_hub_download
5
+
6
+ COMFYUI_PATH = r"/path/to/ComfyUI"
7
+
8
+ # ==============================================
9
+ # 官方 SD 权重
10
+ # ==============================================
11
+ hf_hub_download(
12
+ repo_id="stabilityai/stable-diffusion-xl-base-1.0",
13
+ filename="sd_xl_base_1.0.safetensors",
14
+ local_dir=rf"{COMFYUI_PATH}/models/checkpoints",
15
+ )
16
+
17
+ hf_hub_download(
18
+ repo_id="runwayml/stable-diffusion-v1-5",
19
+ filename="v1-5-pruned.safetensors",
20
+ local_dir=rf"{COMFYUI_PATH}/models/checkpoints",
21
+ )
22
+
23
+ # ==============================================
24
+ # AnimateDiff 权重
25
+ # ==============================================
26
+ for animatediff_model in ["mm_sd_v15_v2.ckpt", "mm_sdxl_v10_beta.ckpt", "v3_sd15_mm.ckpt"]:
27
+ hf_hub_download(
28
+ repo_id="guoyww/animatediff",
29
+ filename=animatediff_model,
30
+ local_dir=rf"{COMFYUI_PATH}/models/animatediff_models",
31
+ )
32
+
33
+ for animatediff_model in ["temporaldiff-v1-animatediff.safetensors"]:
34
+ hf_hub_download(
35
+ repo_id="CiaraRowles/TemporalDiff",
36
+ filename=animatediff_model,
37
+ local_dir=rf"{COMFYUI_PATH}/models/animatediff_models",
38
+ )
39
+
40
+ for lora_model in [
41
+ "v2_lora_PanLeft.ckpt",
42
+ "v2_lora_PanRight.ckpt",
43
+ "v2_lora_RollingAnticlockwise.ckpt",
44
+ "v2_lora_RollingClockwise.ckpt",
45
+ "v2_lora_TiltDown.ckpt",
46
+ "v2_lora_TiltUp.ckpt",
47
+ "v2_lora_ZoomIn.ckpt",
48
+ "v2_lora_ZoomOut.ckpt",
49
+ ]:
50
+ hf_hub_download(
51
+ repo_id="guoyww/animatediff",
52
+ filename=lora_model,
53
+ local_dir=rf"{COMFYUI_PATH}/models/animatediff_motion_lora",
54
+ )
55
+
56
+ # ==============================================
57
+ # ControlNet 权重
58
+ # ==============================================
59
+ for controlnet_model in ["control_v11p_sd15_openpose.pth", "control_v11f1p_sd15_depth.pth", "control_v11p_sd15_seg.pth"]:
60
+ hf_hub_download(
61
+ repo_id="lllyasviel/ControlNet-v1-1",
62
+ filename=controlnet_model,
63
+ local_dir=rf"{COMFYUI_PATH}/models/controlnet",
64
+ )
65
+
66
+ # ==============================================
67
+ # SAM 权重
68
+ # ==============================================
69
+ for sam_model in ["groundingdino_swinb_cogcoor.pth", "GroundingDINO_SwinB.cfg.py"]:
70
+ hf_hub_download(
71
+ repo_id="ShilongLiu/GroundingDINO",
72
+ filename=sam_model,
73
+ local_dir=rf"{COMFYUI_PATH}/models/grounding-dino/",
74
+ )
75
+
76
+ # ==============================================
77
+ # IP-Adapter 权重
78
+ # ==============================================
79
+ for ip_adapter_model in ["models/ip-adapter-plus_sd15.safetensors"]:
80
+ hf_hub_download(
81
+ repo_id="h94/IP-Adapter",
82
+ filename=ip_adapter_model,
83
+ local_dir=rf"{COMFYUI_PATH}/models/ipadapter",
84
+ )
85
+
86
+ for ip_adapter_clip_model in ["models/image_encoder/model.safetensors"]:
87
+ hf_hub_download(
88
+ repo_id="h94/IP-Adapter",
89
+ filename=ip_adapter_clip_model,
90
+ local_dir=rf"{COMFYUI_PATH}/models/clip_vision/",
91
+ )
doc/digital_human/images/comfyui-1.png ADDED
doc/digital_human/images/comfyui-2.png ADDED
doc/digital_human/images/comfyui-3.png ADDED
doc/digital_human/images/comfyui-4.png ADDED