init: 初始化 AssetX 项目仓库

包含 webapp(Next.js 用户端)、webapp-back(Go 后端)、
antdesign(管理后台)、landingpage(营销落地页)、
数据库 SQL 和配置文件。
This commit is contained in:
2026-03-27 11:26:43 +00:00
commit 2ee4553b71
634 changed files with 988255 additions and 0 deletions

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.667" d="M4.166 10h11.667M10 4.167 15.833 10 10 15.833"/></svg>

After

Width:  |  Height:  |  Size: 217 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="#fcfcfd" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.304" d="M3.26 7.824h9.128M7.824 3.26l4.564 4.564-4.564 4.565"/></svg>

After

Width:  |  Height:  |  Size: 227 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.304" d="M3.26 7.824h9.128M7.824 3.26l4.564 4.564-4.564 4.565"/></svg>

After

Width:  |  Height:  |  Size: 224 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="#fcfcfd" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" d="M12.667 4.667v-2A.667.667 0 0 0 12 2H3.333a1.333 1.333 0 0 0 0 2.667h10a.667.667 0 0 1 .667.666V8m0 0h-2a1.333 1.333 0 1 0 0 2.667h2a.667.667 0 0 0 .667-.667V8.667A.667.667 0 0 0 14 8"/><path stroke="#fcfcfd" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" d="M2 3.334v9.333A1.333 1.333 0 0 0 3.333 14h10a.667.667 0 0 0 .667-.666v-2.667"/></svg>

After

Width:  |  Height:  |  Size: 531 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 14"><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.167" d="M10.5 5.25 7 8.75l-3.5-3.5"/></svg>

After

Width:  |  Height:  |  Size: 201 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="#4b5563" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" d="M8 4v4l2.667 1.333"/><path stroke="#4b5563" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" d="M8 14.667A6.667 6.667 0 1 0 8 1.334a6.667 6.667 0 0 0 0 13.333"/></svg>

After

Width:  |  Height:  |  Size: 352 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 20 20"><path fill="#3b3735" d="M10.272 14.71v4.607l5.694-8.023zm5.486-4.917L10.273.683V7.31z"/><path fill="#1f1d19" d="M10.272 7.824v5.642l5.435-3.157z"/><path fill="#959190" d="M4.268 9.793 9.754.683V7.31z"/><path fill="#403c3a" d="M9.754 7.824v5.642l-5.435-3.157z"/><path fill="#959190" d="M9.754 14.71v4.607l-5.693-8.023z"/></svg>

After

Width:  |  Height:  |  Size: 398 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M6.838 10.221c-.577 0-1.045.468-1.045 1.045v4.694h3.475v-5.74 0z"/><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M10.305 6.05c-.578 0-1.045.468-1.045 1.045v8.855h3.474V7.095c0-.577-.459-1.045-1.036-1.045zm2.435 5.73v4.17h3.474v-3.126a1.056 1.056 0 0 0-1.045-1.045z"/><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M13.75 20.167c4.583 0 6.417-1.834 6.417-6.417v-5.5c0-4.583-1.834-6.416-6.417-6.416h-5.5c-4.583 0-6.417 1.833-6.417 6.416v5.5c0 4.584 1.834 6.417 6.417 6.417z"/></svg>

After

Width:  |  Height:  |  Size: 738 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path stroke="#111827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M3.328 6.453c-.825.642-1.495 2.008-1.495 3.043v6.793a3.873 3.873 0 0 0 3.86 3.868h10.615a3.87 3.87 0 0 0 3.859-3.859V9.625c0-1.11-.743-2.53-1.65-3.163l-5.665-3.969c-1.284-.898-3.346-.852-4.584.11z"/><path stroke="#111827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="m15.125 10.542-3.85 3.85-1.467-2.2-2.933 2.933"/><path stroke="#111827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M13.292 10.542h1.833v1.833"/></svg>

After

Width:  |  Height:  |  Size: 634 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><g stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.833" clip-path="url(#clip0_4_5948)"><path d="M19.25 14.667h-3.667a.917.917 0 0 0-.916.916v3.667c0 .506.41.916.916.916h3.667c.506 0 .917-.41.917-.916v-3.667a.917.917 0 0 0-.917-.917m-12.833.001H2.75a.917.917 0 0 0-.917.916v3.667c0 .506.41.916.917.916h3.667c.506 0 .916-.41.916-.916v-3.667a.917.917 0 0 0-.916-.917m6.416-12.832H9.167a.917.917 0 0 0-.917.916v3.667c0 .506.41.917.917.917h3.666c.507 0 .917-.41.917-.917V2.75a.917.917 0 0 0-.917-.917"/><path d="M4.583 14.667v-2.75A.917.917 0 0 1 5.5 11h11a.917.917 0 0 1 .917.917v2.75M11 11V7.334"/></g><defs><clipPath id="clip0_4_5948"><path fill="#fff" d="M0 0h22v22H0z"/></clipPath></defs></svg>

After

Width:  |  Height:  |  Size: 798 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M14.208 13.75c-.155 0-.32-.009-.476-.018a5.97 5.97 0 0 0-5.464-5.464 5.958 5.958 0 1 1 5.94 5.482"/><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M7.792 20.167a5.958 5.958 0 1 1 0-11.917 5.958 5.958 0 0 1 0 11.917"/><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="m7.792 11.917.806 1.485 1.485.806-1.485.807-.806 1.485-.807-1.485-1.485-.807 1.485-.806z"/></svg>

After

Width:  |  Height:  |  Size: 618 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M20.167 11.917V8.25c0-4.583-1.834-6.416-6.417-6.416h-5.5c-4.583 0-6.417 1.833-6.417 6.416v5.5c0 4.584 1.834 6.417 6.417 6.417h3.667"/><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="M6.72 13.282 8.9 10.45a.92.92 0 0 1 1.293-.165l1.678 1.32a.927.927 0 0 0 1.292-.156l2.118-2.732m2.832 6.307c.129.257.45.495.734.55l.348.055c1.045.175 1.293.944.54 1.705l-.32.321c-.21.22-.33.642-.266.935l.046.193c.284 1.265-.385 1.75-1.485 1.09l-.238-.137c-.285-.165-.743-.165-1.027 0l-.238.137c-1.11.67-1.779.175-1.485-1.09l.046-.193c.064-.293-.056-.715-.266-.935l-.321-.32c-.752-.762-.504-1.532.54-1.706l.349-.055c.275-.046.605-.293.733-.55l.257-.522c.495-1 1.302-1 1.797 0z"/></svg>

After

Width:  |  Height:  |  Size: 876 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.83" d="m14.667 2.75 3.666 3.667-3.666 3.666m3.666-3.666H3.667M7.333 19.25l-3.666-3.667 3.666-3.667m-3.666 3.668h14.666"/></svg>

After

Width:  |  Height:  |  Size: 285 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22"><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.833" d="M18.333 11.917c0 4.583-3.208 6.875-7.021 8.204a.92.92 0 0 1-.614-.01c-3.823-1.32-7.031-3.61-7.031-8.194V5.5a.917.917 0 0 1 .916-.917c1.834 0 4.125-1.1 5.72-2.493a1.07 1.07 0 0 1 1.394 0c1.604 1.403 3.886 2.493 5.72 2.493a.917.917 0 0 1 .916.917z"/><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.833" d="m8.25 11 1.833 1.833 3.667-3.667"/></svg>

After

Width:  |  Height:  |  Size: 549 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path stroke="#4b5563" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M22 12c0-5.5-4.5-10-10-10S2 6.5 2 12s4.5 10 10 10 10-4.5 10-10M9.17 14.83l5.66-5.66m0 5.66L9.17 9.17"/></svg>

After

Width:  |  Height:  |  Size: 273 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path stroke="#111827" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 17h10M9 12h10M9 7h10M5.002 17v.002H5V17zm0-5v.002H5V12zm0-5v.002H5V7z"/></svg>

After

Width:  |  Height:  |  Size: 243 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path fill="#9ca1af" d="M2 15.167a.504.504 0 0 1-.5-.5c0-.274.227-.5.5-.5h12c.273 0 .5.226.5.5 0 .273-.227.5-.5.5zm.667-9.581c-.367 0-.667.3-.667.667V12c0 .366.3.666.667.666h1.066c.367 0 .667-.3.667-.666V6.253c0-.373-.3-.667-.667-.667zM7.465 3.46c-.366 0-.666.3-.666.667V12c0 .367.3.667.666.667h1.067c.367 0 .667-.3.667-.667V4.127c0-.367-.3-.667-.667-.667zm4.801-2.126c-.366 0-.666.3-.666.666v10c0 .367.3.667.666.667h1.067c.367 0 .667-.3.667-.667V2c0-.367-.3-.667-.667-.667z"/></svg>

After

Width:  |  Height:  |  Size: 555 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 10"><path stroke="#9ca1af" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M6.25 2.083 3.335 5l2.917 2.917"/></svg>

After

Width:  |  Height:  |  Size: 204 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 10"><path stroke="#111827" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M3.75 2.083 6.665 5 3.749 7.917"/></svg>

After

Width:  |  Height:  |  Size: 204 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path fill="#4b5563" d="M14.5 15.75a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0m-7.5 0a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0m7.5-7.5a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0m-7.5 0a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0"/><path stroke="#4b5563" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.5 15.75a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0m-7.5 0a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0m7.5-7.5a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0m-7.5 0a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0"/></svg>

After

Width:  |  Height:  |  Size: 616 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 12 12"><path stroke="#10b981" stroke-linecap="round" stroke-linejoin="round" d="M8 3.5h3v3"/><path stroke="#10b981" stroke-linecap="round" stroke-linejoin="round" d="M11 3.5 6.75 7.75l-2.5-2.5L1 8.5"/></svg>

After

Width:  |  Height:  |  Size: 272 B

View File

@@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12Z" stroke="#4B5563" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9.16992 14.8299L14.8299 9.16992" stroke="#4B5563" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M14.8299 14.8299L9.16992 9.16992" stroke="#4B5563" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 540 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 12 12"><path stroke="#4b5563" stroke-linecap="round" stroke-linejoin="round" d="M9.5 3.5V2a.5.5 0 0 0-.5-.5H2.5a1 1 0 0 0 0 2H10a.5.5 0 0 1 .5.5v2m0 0H9a1 1 0 0 0 0 2h1.5a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5"/><path stroke="#4b5563" stroke-linecap="round" stroke-linejoin="round" d="M1.5 2.5v7a1 1 0 0 0 1 1H10a.5.5 0 0 0 .5-.5V8"/></svg>

After

Width:  |  Height:  |  Size: 403 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="#ff6900" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" d="M10.666 4.667h4v4"/><path stroke="#ff6900" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" d="m14.667 4.667-5.666 5.666L5.667 7l-4.333 4.333"/></svg>

After

Width:  |  Height:  |  Size: 335 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="#10b981" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" d="M12.667 14v-1.333A2.667 2.667 0 0 0 10.001 10H6a2.667 2.667 0 0 0-2.667 2.667V14M8 7.333A2.667 2.667 0 1 0 8 2a2.667 2.667 0 0 0 0 5.333"/></svg>

After

Width:  |  Height:  |  Size: 311 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><g stroke="#1447e6" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.333" clip-path="url(#clip0_4_9838)"><path d="M1.334 4c.4.333.8.667 1.667.667 1.666 0 1.666-1.333 3.333-1.333 1.733 0 1.6 1.333 3.333 1.333 1.667 0 1.667-1.333 3.334-1.333.866 0 1.266.333 1.666.666M1.334 8c.4.334.8.667 1.667.667 1.666 0 1.666-1.333 3.333-1.333 1.733 0 1.6 1.333 3.333 1.333 1.667 0 1.667-1.333 3.334-1.333.866 0 1.266.333 1.666.666M1.334 12c.4.334.8.667 1.667.667 1.666 0 1.666-1.333 3.333-1.333 1.733 0 1.6 1.333 3.333 1.333 1.667 0 1.667-1.333 3.334-1.333.866 0 1.266.333 1.666.666"/></g><defs><clipPath id="clip0_4_9838"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>

After

Width:  |  Height:  |  Size: 756 B