feat: Add base project structure with API and web components

This commit is contained in:
Ke Sun
2025-12-02 20:28:01 +08:00
parent f3de6d6cc9
commit c1adc62ec6
817 changed files with 111226 additions and 106 deletions

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>下拉备份</title>
<g id="V1.0版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="红熊空间-记忆管理" transform="translate(-594, -270)" stroke="#5B6167" stroke-width="1.2">
<g id="1" transform="translate(256, 127)">
<g id="编组-7" transform="translate(16, 131)">
<g id="下拉备份" transform="translate(330, 20) rotate(-90) translate(-330, -20)translate(322, 12)">
<polyline id="路径" points="11 7 8 10 5 7"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 876 B

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>下拉备份</title>
<g id="V1.0版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="红熊空间-记忆管理" transform="translate(-594, -270)" stroke="#212332" stroke-width="1.2">
<g id="1" transform="translate(256, 127)">
<g id="编组-7" transform="translate(16, 131)">
<g id="下拉备份" transform="translate(330, 20) rotate(-90) translate(-330, -20)translate(322, 12)">
<polyline id="路径" points="11 7 8 10 5 7"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 876 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>在线用户</title>
<g id="V1.0版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="红熊空间-记忆库-用户记忆" transform="translate(-788, -148)" stroke="#5B6167" stroke-width="1.5">
<g id="数据" transform="translate(256, 128)">
<g id="在线用户" transform="translate(532, 20)">
<g id="编组-5" transform="translate(4, 3.5)">
<circle id="椭圆形" cx="7" cy="4" r="4"></circle>
<path d="M8.8598023,10.8805028 C8.16826246,10.6428135 7.42432831,10.5135135 6.64943586,10.5135135 C2.97705384,10.5135135 0,13.4176124 0,17 L8.8598023,17" id="路径" stroke-linecap="round" stroke-linejoin="round"></path>
<polyline id="路径-3" stroke-linecap="round" stroke-linejoin="round" points="9.20296026 13.5984172 12.0576182 16.2898839 17 11.7200538"></polyline>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>模拟器</title>
<g id="V1.0版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="红熊空间-记忆管理-遗忘引擎-遗忘曲线" transform="translate(-1088, -160)" fill="#212332" fill-rule="nonzero">
<g id="编组-6" transform="translate(1072, 142)">
<g id="模拟器" transform="translate(16, 18)">
<path d="M14.9825328,5.48100848 C14.3664576,5.48170914 13.8672539,5.98105498 13.8667286,6.59713034 C13.866623,6.69917662 13.880629,6.80074735 13.9083489,6.89895664 L11.888019,9.06416316 C11.5089153,8.9847898 11.1158238,9.10839817 10.8503719,9.39045326 L9.39302752,9.0784602 C9.23911356,8.62808288 8.81480441,8.32628372 8.33885947,8.32866013 C7.72285678,8.32953548 7.22375528,8.82877908 7.22305531,9.44478199 C7.22313453,9.50535923 7.22823539,9.56582564 7.23830548,9.62556006 L5.36380535,11.2319114 C5.25213212,11.1946824 5.13521451,11.1755894 5.01749938,11.1753587 C4.40136954,11.176059 3.90207785,11.6753538 3.90136954,12.2914805 C3.90025366,12.5879946 4.01800606,12.8725916 4.22830306,13.08163 C4.43714927,13.2916313 4.72132936,13.4093533 5.01749938,13.4085596 C5.63345048,13.4076798 6.13246089,12.9083852 6.13298583,12.2924337 C6.13287891,12.231963 6.12777818,12.1716044 6.11773566,12.1119733 L7.99223579,10.5053043 C8.10406438,10.5422377 8.22108977,10.561009 8.33885947,10.5609039 C8.64575014,10.5620737 8.93928006,10.4354529 9.14902478,10.2114208 L10.6070046,10.5240493 C10.7613179,10.9738134 11.1853611,11.275003 11.660855,11.2725785 C12.0101371,11.2724999 12.3392297,11.1088688 12.5501044,10.830427 C12.760979,10.5519851 12.8293018,10.1908631 12.7347212,9.85463033 L14.7553688,7.68942382 C14.8300759,7.70507881 14.906203,7.7129577 14.9825328,7.7129345 C15.5978636,7.71135981 16.0960503,7.21246279 16.0967484,6.59713034 C16.0962252,5.98167386 15.5979875,5.48258366 14.9825328,5.48100848 Z" id="路径"></path>
<path d="M9.99985723,1 C5.03719753,1 1.0000162,5.03716497 1.0000162,9.99982467 C0.9964344,11.8803456 1.58674294,13.7139825 2.68676496,15.2392114 C2.70242897,15.2647962 2.72006238,15.2891218 2.73950514,15.3119674 C3.56280277,16.4321181 4.63168968,17.3488502 5.86420157,17.9918672 C7.14240101,18.6534859 8.56057519,18.9990685 9.99985723,18.9996494 C11.5699289,18.9996494 13.1126247,18.588469 14.4741937,17.8066412 C15.7909237,17.0477667 16.8961198,15.9705365 17.6884849,14.6736843 C17.7052553,14.6498359 17.7202291,14.6247735 17.7332823,14.5987043 C18.5626402,13.2080773 19.0003406,11.6189842 18.9999998,9.99982467 C18.9999998,5.03716497 14.9625169,1 9.99985723,1 Z M9.99985723,17.8412747 C7.79147064,17.8421454 5.68558054,16.9096177 4.20193296,15.273842 C4.45546341,15.2343437 4.71166525,15.2144807 4.96825403,15.2144299 C5.49694388,15.2121975 6.02192569,15.3027412 6.51932348,15.4819433 C7.08008496,15.6859143 7.61034611,15.7850404 8.13965411,15.7850404 C8.92217849,15.7850404 9.57761811,15.573762 10.2718186,15.3500929 C10.6413175,15.2309509 11.0235249,15.1076787 11.4381389,15.0155423 C11.7091292,14.9533908 11.9861663,14.921425 12.2641899,14.9202287 C12.77793,14.9202287 13.206841,15.0371467 13.6640284,15.161372 C14.0668871,15.2706649 14.4834074,15.3837703 14.9545741,15.4063279 C15.0181165,15.409505 15.0816589,15.4107758 15.1474252,15.4107758 C15.3333022,15.4103473 15.5189796,15.3985701 15.703421,15.3755098 C14.2248341,16.9505308 12.1601598,17.8431299 9.99985723,17.8412747 L9.99985723,17.8412747 Z M15.009856,14.248268 C14.6648209,14.2320647 14.3264577,14.1399283 13.9680787,14.0427084 L13.9181979,14.2253928 L13.9649016,14.0404845 C13.4819795,13.9092695 12.9345619,13.7602626 12.2626013,13.7602626 C11.9008054,13.7612166 11.5402281,13.8022397 11.1874643,13.8825817 C10.7210632,13.9864734 10.3124857,14.1180062 9.91661671,14.2457263 C9.28627632,14.4487442 8.74108272,14.6244389 8.14124268,14.6244389 C7.74791536,14.6244389 7.34696295,14.5481881 6.91614562,14.3912384 C6.28984051,14.1644841 5.62862298,14.0493167 4.96253523,14.050969 C4.44057609,14.0505925 3.9207837,14.1180897 3.41623147,14.2517629 C2.59402433,12.9861739 2.15705478,11.5090424 2.15840696,9.99982467 C2.15840696,5.67608358 5.67611613,2.15837754 9.99985723,2.15837754 C14.3235983,2.15837754 17.8413043,5.67608358 17.8413043,9.99982467 C17.8413043,11.364387 17.4845306,12.7052364 16.806199,13.8892536 C16.5021487,14.0163384 15.8371777,14.2514452 15.1445658,14.2517629 C15.0994507,14.2514452 15.0540179,14.250492 15.009856,14.248268 L15.009856,14.248268 Z" id="形状" stroke="#212332" stroke-width="0.3"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>用户总数</title>
<g id="V1.0版" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
<g id="红熊空间-记忆库-用户记忆" transform="translate(-492, -148)" stroke="#5B6167" stroke-width="1.5">
<g id="数据" transform="translate(256, 128)">
<g id="用户总数" transform="translate(236, 20)">
<g id="编组-3" transform="translate(3, 3)">
<ellipse id="椭圆形" cx="8.39996267" cy="4.34883721" rx="4.39998044" ry="4.34883721"></ellipse>
<path d="M8.39996267,8.69767442 C3.76079139,8.69767442 0,12.4147522 0,17 L8.80777167,17" id="路径"></path>
<line x1="17.6000018" y1="10.2790698" x2="17.6000018" y2="16.6046512" id="路径-2"></line>
<line x1="12.7999431" y1="10.2790698" x2="12.7999431" y2="16.6046512" id="路径-2"></line>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB