@microi.net/cli 6.2.1 → 6.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +5 -5
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server.js +147 -121
- package/scripts/microi-cli.js +62 -62
- package/scripts/microi-skills.meta.json +279 -264
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +101 -101
- package/skills/README.md +1 -1
- package/skills/app-store/SKILL.md +7 -6
- package/skills/microi-ai-application/SKILL.md +5 -5
- package/skills/microi-client-frontend/SKILL.md +21 -15
- package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +9 -1
- package/skills/microi-codex/SKILL.md +2 -0
- package/skills/microi-codex-installer/SKILL.md +6 -0
- package/skills/microi-datasource-mapping/SKILL.md +6 -0
- package/skills/microi-db-schema/SKILL.md +8 -0
- package/skills/microi-db-schema/references/form-component-options.md +7 -0
- package/skills/microi-deployment/SKILL.md +3 -3
- package/skills/microi-deployment/references/deployment-matrix.md +1 -1
- package/skills/microi-docs-coverage/references/capability-map.md +13 -13
- package/skills/microi-form-engine/SKILL.md +46 -3
- package/skills/microi-form-engine/references/business-numbering.md +70 -0
- package/skills/microi-form-engine/references/component-catalog.md +4 -0
- package/skills/microi-form-engine/references/component-config-index.md +359 -0
- package/skills/microi-form-engine/references/data-source-events.md +13 -2
- package/skills/microi-form-engine/references/form-generation-quality.md +160 -0
- package/skills/microi-form-layout/SKILL.md +1 -1
- package/skills/microi-frontend-sdk/references/progressive-01-token-/345/275/223/345/211/215/347/231/273/345/275/225/347/224/250/346/210/267/344/270/216/345/275/223/345/211/215/347/273/210/347/253/257/347/231/273/345/275/225/345/215/217/350/256/256.md +6 -0
- package/skills/microi-microservice/SKILL.md +387 -382
- package/skills/microi-microservice/references/runtime-delivery.md +15 -0
- package/skills/microi-system-delivery/SKILL.md +7 -0
- package/skills/microi-system-delivery/references/delivery-pitfalls.md +5 -0
- package/skills/microi-ui/SKILL.md +192 -192
- package/skills/microi-ui/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/234/272/346/231/257/350/223/235/345/233/276.md +183 -183
- package/skills/microi-uniapp-frontend/SKILL.md +3 -1
- package/skills/microi.v8.js +6 -4
- package/skills/module-engine/SKILL.md +13 -1
- package/skills/scripts/sync-embedded-skills.mjs +13 -0
- package/skills/ui-design/SKILL.md +227 -223
- package/skills/ui-design/assets/pattern-showcase/index.html +2 -2
- package/skills/ui-design/assets/templates/MCI-DESIGN.md +221 -206
- package/skills/ui-design/references/data-workspace-density.md +77 -0
- package/skills/ui-design/references/design-pattern-library.md +186 -184
- package/skills/ui-design/references/mci-design-contract.md +163 -163
- package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +165 -164
- package/skills/ui-design/references/progressive-03-/345/212/250/346/225/210/350/247/204/350/214/203-/344/270/260/345/257/214/344/275/206/344/270/215/345/215/241.md +237 -235
- package/skills/ui-design/references/progressive-04-/347/273/204/344/273/266/351/243/216/346/240/274/351/200/237/346/237/245.md +154 -152
- package/skills/ui-design/references/progressive-07-/351/200/237/346/237/245-/344/273/216/345/244/264/346/220/255/345/273/272/344/270/200/344/270/252/347/247/273/345/212/250/347/253/257/351/241/265/351/235/242.md +207 -207
- package/skills/uniapp-mall-assets/SKILL.md +10 -2
- package/skills/v8-crud-api/SKILL.md +2 -1
- package/skills/v8-explorer-tree/SKILL.md +22 -1
- package/skills/v8-file-upload/SKILL.md +283 -283
- package/skills/v8-file-upload/references/progressive-01-/345/205/254/346/234/211/346/241/266-vs-/347/247/201/346/234/211/346/241/266.md +7 -1
- package/skills/v8-frontend-events/SKILL.md +14 -6
- package/skills/v8-image-processing/SKILL.md +13 -2
- package/skills/v8-image-processing/references/api-reference.md +49 -3
- package/skills/v8-saas-multi-tenant/SKILL.md +6 -0
- package/skills/v8-security/SKILL.md +11 -1
- package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +6 -1
- package/skills/v8-sql-query/SKILL.md +38 -1
- package/skills/v8-sql-query/examples/business-query.js +18 -0
- package/skills/v8-table-event/SKILL.md +51 -2
- package/skills/v8-table-event/references/progressive-02-/345/211/215/347/253/257/344/272/213/344/273/266/345/220/215-v8-eventname-/345/217/257/350/203/275/347/232/204/345/200/274.md +3 -1
- package/skills/v8-utilities/references/server-api-index.md +1 -0
- package/skills/vision-engine/references/video-timeline.md +53 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "6.2.
|
|
2
|
+
"version": "6.2.3",
|
|
3
3
|
"versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
|
|
4
4
|
"managedBy": "Microi.Agent/bump-version.js",
|
|
5
|
-
"updatedAt": "2026-11-
|
|
5
|
+
"updatedAt": "2026-11-05T18:18:34.017Z"
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"generatedAt": "2026-11-
|
|
3
|
+
"generatedAt": "2026-11-05T16:51:15.354Z",
|
|
4
4
|
"policy": {
|
|
5
5
|
"maxEntryLines": 285,
|
|
6
6
|
"referenceBudgetLines": 245,
|
|
@@ -169,34 +169,34 @@
|
|
|
169
169
|
]
|
|
170
170
|
},
|
|
171
171
|
"microi-client-frontend": {
|
|
172
|
-
"originalSha256": "
|
|
173
|
-
"originalLines":
|
|
172
|
+
"originalSha256": "a4d629bd56a871123f43b4fa92ea05d2a685f908168e9f1b1e1fff911c310ff6",
|
|
173
|
+
"originalLines": 747,
|
|
174
174
|
"prefixSha256": "578d60fc1b769bff36396db2c0c6b2affa61ad02e956d8ad574e8238764b4008",
|
|
175
175
|
"prefixBytes": 2231,
|
|
176
|
-
"entryLines":
|
|
176
|
+
"entryLines": 281,
|
|
177
177
|
"chunks": [
|
|
178
178
|
{
|
|
179
179
|
"id": "microi-client-frontend-000",
|
|
180
180
|
"ordinal": 0,
|
|
181
181
|
"destination": "microi-client-frontend/SKILL.md",
|
|
182
|
-
"sha256": "
|
|
183
|
-
"lines":
|
|
182
|
+
"sha256": "9c67c14e9db73bac1aa0147322ac82f8fd66034a7695d16b9bbc621338e389bb",
|
|
183
|
+
"lines": 10,
|
|
184
184
|
"heading": "单行文本插槽按钮约定"
|
|
185
185
|
},
|
|
186
186
|
{
|
|
187
187
|
"id": "microi-client-frontend-001",
|
|
188
188
|
"ordinal": 1,
|
|
189
189
|
"destination": "microi-client-frontend/SKILL.md",
|
|
190
|
-
"sha256": "
|
|
191
|
-
"lines":
|
|
190
|
+
"sha256": "14f5f54111ea6a59bbce9997288c2d40135b0f4c62827387c83688ad6e6eb7c9",
|
|
191
|
+
"lines": 30,
|
|
192
192
|
"heading": "1. 技术栈和源码入口"
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
"id": "microi-client-frontend-002",
|
|
196
196
|
"ordinal": 2,
|
|
197
197
|
"destination": "microi-client-frontend/SKILL.md",
|
|
198
|
-
"sha256": "
|
|
199
|
-
"lines":
|
|
198
|
+
"sha256": "162a8ec35c74cce48d108093dc3bfc05cc97866e067469487587ecccc020e7e9",
|
|
199
|
+
"lines": 139,
|
|
200
200
|
"heading": "2. 表单引擎三层结构"
|
|
201
201
|
},
|
|
202
202
|
{
|
|
@@ -243,8 +243,8 @@
|
|
|
243
243
|
"id": "microi-client-frontend-008",
|
|
244
244
|
"ordinal": 8,
|
|
245
245
|
"destination": "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md",
|
|
246
|
-
"sha256": "
|
|
247
|
-
"lines":
|
|
246
|
+
"sha256": "a435b99b6bfad7ab62d95ef78f0614205e5da51cfc0d4f2b7d3a1f7c6eb9c2ea",
|
|
247
|
+
"lines": 152,
|
|
248
248
|
"heading": "8. 运行时高频坑复盘"
|
|
249
249
|
},
|
|
250
250
|
{
|
|
@@ -316,10 +316,10 @@
|
|
|
316
316
|
]
|
|
317
317
|
},
|
|
318
318
|
"microi-form-layout": {
|
|
319
|
-
"originalSha256": "
|
|
319
|
+
"originalSha256": "2a402ea3d2db1d8d23ee4a5705e5be962955e52d0c54bab3f4487303fbf0e8bf",
|
|
320
320
|
"originalLines": 412,
|
|
321
|
-
"prefixSha256": "
|
|
322
|
-
"prefixBytes":
|
|
321
|
+
"prefixSha256": "61191c1175ae3f5c511212d820378df72838a58ff5e23f4167fd03b32da93c58",
|
|
322
|
+
"prefixBytes": 4503,
|
|
323
323
|
"entryLines": 206,
|
|
324
324
|
"chunks": [
|
|
325
325
|
{
|
|
@@ -763,11 +763,11 @@
|
|
|
763
763
|
]
|
|
764
764
|
},
|
|
765
765
|
"microi-system-delivery": {
|
|
766
|
-
"originalSha256": "
|
|
767
|
-
"originalLines":
|
|
768
|
-
"prefixSha256": "
|
|
769
|
-
"prefixBytes":
|
|
770
|
-
"entryLines":
|
|
766
|
+
"originalSha256": "a5077b92226c9a0747426f7d97be1d575ac96c6d20082e78441e35b798368645",
|
|
767
|
+
"originalLines": 729,
|
|
768
|
+
"prefixSha256": "5cf0c7a5be5fa805e324b09392bfcc931d4c4723859fd42243a005c647033490",
|
|
769
|
+
"prefixBytes": 7817,
|
|
770
|
+
"entryLines": 126,
|
|
771
771
|
"chunks": [
|
|
772
772
|
{
|
|
773
773
|
"id": "microi-system-delivery-000",
|
|
@@ -877,17 +877,17 @@
|
|
|
877
877
|
]
|
|
878
878
|
},
|
|
879
879
|
"microi-ui": {
|
|
880
|
-
"originalSha256": "
|
|
880
|
+
"originalSha256": "76e5aec46ca55d1e8707578e1b475ffa1ab66783eb9b4c35f940c71efc099e56",
|
|
881
881
|
"originalLines": 343,
|
|
882
|
-
"prefixSha256": "
|
|
883
|
-
"prefixBytes":
|
|
882
|
+
"prefixSha256": "3ead290dee4a8e42582aa01a9d5de7ce81612222fbed81674bf9f783c907ed84",
|
|
883
|
+
"prefixBytes": 1538,
|
|
884
884
|
"entryLines": 193,
|
|
885
885
|
"chunks": [
|
|
886
886
|
{
|
|
887
887
|
"id": "microi-ui-000",
|
|
888
888
|
"ordinal": 0,
|
|
889
889
|
"destination": "microi-ui/SKILL.md",
|
|
890
|
-
"sha256": "
|
|
890
|
+
"sha256": "a400da7a05d4e24e763880a997f27c1fcd859bcbe01693765695f02214bdb550",
|
|
891
891
|
"lines": 15,
|
|
892
892
|
"heading": "核心承诺"
|
|
893
893
|
},
|
|
@@ -895,7 +895,7 @@
|
|
|
895
895
|
"id": "microi-ui-001",
|
|
896
896
|
"ordinal": 1,
|
|
897
897
|
"destination": "microi-ui/SKILL.md",
|
|
898
|
-
"sha256": "
|
|
898
|
+
"sha256": "33d0fbc900090983a0e5959e10f611a3ebb3b9b2c0dc1d13ce7569cfc4701211",
|
|
899
899
|
"lines": 22,
|
|
900
900
|
"heading": "内置设计模式"
|
|
901
901
|
},
|
|
@@ -903,7 +903,7 @@
|
|
|
903
903
|
"id": "microi-ui-002",
|
|
904
904
|
"ordinal": 2,
|
|
905
905
|
"destination": "microi-ui/SKILL.md",
|
|
906
|
-
"sha256": "
|
|
906
|
+
"sha256": "37946ecc4b9c4cdca0be4279d6538070cbc9126d9d17305aaaddb0f0806d2fdc",
|
|
907
907
|
"lines": 9,
|
|
908
908
|
"heading": "源码结构"
|
|
909
909
|
},
|
|
@@ -911,7 +911,7 @@
|
|
|
911
911
|
"id": "microi-ui-003",
|
|
912
912
|
"ordinal": 3,
|
|
913
913
|
"destination": "microi-ui/SKILL.md",
|
|
914
|
-
"sha256": "
|
|
914
|
+
"sha256": "102a394c92631d141e4d3eebcaa1994fc6afca07f7f8d5fb65e59fb2c4ccd63c",
|
|
915
915
|
"lines": 23,
|
|
916
916
|
"heading": "默认要求"
|
|
917
917
|
},
|
|
@@ -919,7 +919,7 @@
|
|
|
919
919
|
"id": "microi-ui-004",
|
|
920
920
|
"ordinal": 4,
|
|
921
921
|
"destination": "microi-ui/SKILL.md",
|
|
922
|
-
"sha256": "
|
|
922
|
+
"sha256": "9a12f14587d90978ca676034d65422b7d63dd804c0120164a8e23be957937d64",
|
|
923
923
|
"lines": 33,
|
|
924
924
|
"heading": "组件选择"
|
|
925
925
|
},
|
|
@@ -927,7 +927,7 @@
|
|
|
927
927
|
"id": "microi-ui-005",
|
|
928
928
|
"ordinal": 5,
|
|
929
929
|
"destination": "microi-ui/SKILL.md",
|
|
930
|
-
"sha256": "
|
|
930
|
+
"sha256": "f46f6672b60d4faad4a0fc501036bcb7b9d04545952ad8acb716668aac699454",
|
|
931
931
|
"lines": 62,
|
|
932
932
|
"heading": "高品质移动端视觉标准"
|
|
933
933
|
},
|
|
@@ -935,7 +935,7 @@
|
|
|
935
935
|
"id": "microi-ui-006",
|
|
936
936
|
"ordinal": 6,
|
|
937
937
|
"destination": "microi-ui/references/progressive-01-移动端场景蓝图.md",
|
|
938
|
-
"sha256": "
|
|
938
|
+
"sha256": "40ae240fde9553bb813fcce576d090ade894cb920da1b3f4f45975f819a10d50",
|
|
939
939
|
"lines": 111,
|
|
940
940
|
"heading": "移动端场景蓝图"
|
|
941
941
|
},
|
|
@@ -943,7 +943,7 @@
|
|
|
943
943
|
"id": "microi-ui-007",
|
|
944
944
|
"ordinal": 7,
|
|
945
945
|
"destination": "microi-ui/references/progressive-01-移动端场景蓝图.md",
|
|
946
|
-
"sha256": "
|
|
946
|
+
"sha256": "cd73bb934f8531154f73f5ed197c7379c5d9c4f37c60d8275272df4a05bcbe81",
|
|
947
947
|
"lines": 11,
|
|
948
948
|
"heading": "网站/PC 站标准"
|
|
949
949
|
},
|
|
@@ -951,7 +951,7 @@
|
|
|
951
951
|
"id": "microi-ui-008",
|
|
952
952
|
"ordinal": 8,
|
|
953
953
|
"destination": "microi-ui/references/progressive-01-移动端场景蓝图.md",
|
|
954
|
-
"sha256": "
|
|
954
|
+
"sha256": "77e0a70e1131fe90354eba315727bbd2f49c5929a98c767cb3dfef71f0c55234",
|
|
955
955
|
"lines": 13,
|
|
956
956
|
"heading": "后台菜单配套"
|
|
957
957
|
},
|
|
@@ -959,7 +959,7 @@
|
|
|
959
959
|
"id": "microi-ui-009",
|
|
960
960
|
"ordinal": 9,
|
|
961
961
|
"destination": "microi-ui/references/progressive-01-移动端场景蓝图.md",
|
|
962
|
-
"sha256": "
|
|
962
|
+
"sha256": "2fe8adfc7c7d422a94ad667934c71113bbfced5df199a2a7ff0c14ceddb32373",
|
|
963
963
|
"lines": 19,
|
|
964
964
|
"heading": "AI 实施清单"
|
|
965
965
|
},
|
|
@@ -967,7 +967,7 @@
|
|
|
967
967
|
"id": "microi-ui-010",
|
|
968
968
|
"ordinal": 10,
|
|
969
969
|
"destination": "microi-ui/references/progressive-01-移动端场景蓝图.md",
|
|
970
|
-
"sha256": "
|
|
970
|
+
"sha256": "4cba6feaad134c973d51943e622199c944d12b67a860894a5415cfcd7eeb831f",
|
|
971
971
|
"lines": 20,
|
|
972
972
|
"heading": "禁止输出"
|
|
973
973
|
}
|
|
@@ -986,11 +986,11 @@
|
|
|
986
986
|
]
|
|
987
987
|
},
|
|
988
988
|
"microi-uniapp-frontend": {
|
|
989
|
-
"originalSha256": "
|
|
990
|
-
"originalLines":
|
|
989
|
+
"originalSha256": "e2599b80fa08c833df00052da976ac76a2561bb1b4e292df0efbf805a2a3bfe5",
|
|
990
|
+
"originalLines": 578,
|
|
991
991
|
"prefixSha256": "65800093e36bea00659b3aa2ae67919c860ac6cf83c4480a6c9b65cd9f1e901a",
|
|
992
992
|
"prefixBytes": 4933,
|
|
993
|
-
"entryLines":
|
|
993
|
+
"entryLines": 233,
|
|
994
994
|
"chunks": [
|
|
995
995
|
{
|
|
996
996
|
"id": "microi-uniapp-frontend-000",
|
|
@@ -1004,8 +1004,8 @@
|
|
|
1004
1004
|
"id": "microi-uniapp-frontend-001",
|
|
1005
1005
|
"ordinal": 1,
|
|
1006
1006
|
"destination": "microi-uniapp-frontend/SKILL.md",
|
|
1007
|
-
"sha256": "
|
|
1008
|
-
"lines":
|
|
1007
|
+
"sha256": "de245aa65643e8bbb5d9cfd5256066295b4857bfa2fc8ef2689161eee9b2bc25",
|
|
1008
|
+
"lines": 39,
|
|
1009
1009
|
"heading": "标准产品、视图协议与租户扩展"
|
|
1010
1010
|
},
|
|
1011
1011
|
{
|
|
@@ -1654,17 +1654,17 @@
|
|
|
1654
1654
|
]
|
|
1655
1655
|
},
|
|
1656
1656
|
"ui-design": {
|
|
1657
|
-
"originalSha256": "
|
|
1658
|
-
"originalLines":
|
|
1659
|
-
"prefixSha256": "
|
|
1660
|
-
"prefixBytes":
|
|
1661
|
-
"entryLines":
|
|
1657
|
+
"originalSha256": "2255777495e1da72736089a89f940c4cc55224fbea92b922f88be3176c4cc6a3",
|
|
1658
|
+
"originalLines": 1652,
|
|
1659
|
+
"prefixSha256": "fe80f1234b699c315ae180876dd81f374516eee7d57455e4a4b2ffca488f7d9a",
|
|
1660
|
+
"prefixBytes": 1679,
|
|
1661
|
+
"entryLines": 228,
|
|
1662
1662
|
"chunks": [
|
|
1663
1663
|
{
|
|
1664
1664
|
"id": "ui-design-000",
|
|
1665
1665
|
"ordinal": 0,
|
|
1666
1666
|
"destination": "ui-design/SKILL.md",
|
|
1667
|
-
"sha256": "
|
|
1667
|
+
"sha256": "b8b3dedc3fc95b9d32189e094b8b90fbf67b9f7c2e4a0307fa3e58ccce6d5de1",
|
|
1668
1668
|
"lines": 37,
|
|
1669
1669
|
"heading": "整体风格定义"
|
|
1670
1670
|
},
|
|
@@ -1672,7 +1672,7 @@
|
|
|
1672
1672
|
"id": "ui-design-001",
|
|
1673
1673
|
"ordinal": 1,
|
|
1674
1674
|
"destination": "ui-design/SKILL.md",
|
|
1675
|
-
"sha256": "
|
|
1675
|
+
"sha256": "9593e1ab2bf4931cf4f0d96b87ce59c04a8d340dbf30c705f90375ec38d131fd",
|
|
1676
1676
|
"lines": 12,
|
|
1677
1677
|
"heading": "样式隔离与抗覆盖"
|
|
1678
1678
|
},
|
|
@@ -1680,7 +1680,7 @@
|
|
|
1680
1680
|
"id": "ui-design-002",
|
|
1681
1681
|
"ordinal": 2,
|
|
1682
1682
|
"destination": "ui-design/SKILL.md",
|
|
1683
|
-
"sha256": "
|
|
1683
|
+
"sha256": "72fea6fc01b6bd0de8b0c7a1766f45e9dc92a9a0dbb0e5ad9b38b626e0dfd27a",
|
|
1684
1684
|
"lines": 24,
|
|
1685
1685
|
"heading": "高端视觉标准"
|
|
1686
1686
|
},
|
|
@@ -1688,7 +1688,7 @@
|
|
|
1688
1688
|
"id": "ui-design-003",
|
|
1689
1689
|
"ordinal": 3,
|
|
1690
1690
|
"destination": "ui-design/SKILL.md",
|
|
1691
|
-
"sha256": "
|
|
1691
|
+
"sha256": "d744e6f89c17eb5e9e3a68214961f8db0b99ea68ed83832b1d0ad156d5388d64",
|
|
1692
1692
|
"lines": 13,
|
|
1693
1693
|
"heading": "PC 后台菜单宫格 / 入口页规范"
|
|
1694
1694
|
},
|
|
@@ -1696,7 +1696,7 @@
|
|
|
1696
1696
|
"id": "ui-design-004",
|
|
1697
1697
|
"ordinal": 4,
|
|
1698
1698
|
"destination": "ui-design/SKILL.md",
|
|
1699
|
-
"sha256": "
|
|
1699
|
+
"sha256": "5d3aebaa07bf0df572b5eadfbc567fa58138a78816f0edf25fcff1a93d914ac7",
|
|
1700
1700
|
"lines": 15,
|
|
1701
1701
|
"heading": "PC 后台数据卡片模式规范"
|
|
1702
1702
|
},
|
|
@@ -1704,7 +1704,7 @@
|
|
|
1704
1704
|
"id": "ui-design-005",
|
|
1705
1705
|
"ordinal": 5,
|
|
1706
1706
|
"destination": "ui-design/SKILL.md",
|
|
1707
|
-
"sha256": "
|
|
1707
|
+
"sha256": "60b6d9e8702a72f422c18fb7a4631953530f45d7d91e58bd816b20eb71311f0c",
|
|
1708
1708
|
"lines": 35,
|
|
1709
1709
|
"heading": "形态模式(圆角 / 扁平)"
|
|
1710
1710
|
},
|
|
@@ -1712,8 +1712,8 @@
|
|
|
1712
1712
|
"id": "ui-design-006",
|
|
1713
1713
|
"ordinal": 8,
|
|
1714
1714
|
"destination": "ui-design/SKILL.md",
|
|
1715
|
-
"sha256": "
|
|
1716
|
-
"lines":
|
|
1715
|
+
"sha256": "0a4c4dec4d1c268b067b71e931d77943277a691b9be023e03bc261789fbafcac",
|
|
1716
|
+
"lines": 26,
|
|
1717
1717
|
"heading": "圆角"
|
|
1718
1718
|
},
|
|
1719
1719
|
{
|
|
@@ -1736,23 +1736,23 @@
|
|
|
1736
1736
|
"id": "ui-design-009",
|
|
1737
1737
|
"ordinal": 9,
|
|
1738
1738
|
"destination": "ui-design/references/progressive-02-字体.md",
|
|
1739
|
-
"sha256": "
|
|
1740
|
-
"lines":
|
|
1739
|
+
"sha256": "b13e29dd73879a49db3ad5c4b60c4abf3e7e4e86d305b35e774e372a7db80ca8",
|
|
1740
|
+
"lines": 69,
|
|
1741
1741
|
"heading": "字体"
|
|
1742
1742
|
},
|
|
1743
1743
|
{
|
|
1744
1744
|
"id": "ui-design-010",
|
|
1745
1745
|
"ordinal": 10,
|
|
1746
1746
|
"destination": "ui-design/references/progressive-02-字体.md",
|
|
1747
|
-
"sha256": "
|
|
1748
|
-
"lines":
|
|
1747
|
+
"sha256": "8d26f2f07ca65b43dc38880b0b02299f233edb5378254f2982fa3cfc3a3c69d3",
|
|
1748
|
+
"lines": 47,
|
|
1749
1749
|
"heading": "间距与触摸目标"
|
|
1750
1750
|
},
|
|
1751
1751
|
{
|
|
1752
1752
|
"id": "ui-design-011",
|
|
1753
1753
|
"ordinal": 11,
|
|
1754
1754
|
"destination": "ui-design/references/progressive-02-字体.md",
|
|
1755
|
-
"sha256": "
|
|
1755
|
+
"sha256": "630bcd8d5ed6b208b446da2efb007821d0731e6fad84d106e85fbd0043d437b5",
|
|
1756
1756
|
"lines": 42,
|
|
1757
1757
|
"heading": "骨架屏 Loading 设计规范"
|
|
1758
1758
|
},
|
|
@@ -1760,15 +1760,15 @@
|
|
|
1760
1760
|
"id": "ui-design-012",
|
|
1761
1761
|
"ordinal": 12,
|
|
1762
1762
|
"destination": "ui-design/references/progressive-03-动效规范-丰富但不卡.md",
|
|
1763
|
-
"sha256": "
|
|
1764
|
-
"lines":
|
|
1763
|
+
"sha256": "b9ac274e5b98631c3262fc87ca294fd43a59dc226829a299d1db24321ad203df",
|
|
1764
|
+
"lines": 205,
|
|
1765
1765
|
"heading": "动效规范(丰富但不卡)"
|
|
1766
1766
|
},
|
|
1767
1767
|
{
|
|
1768
1768
|
"id": "ui-design-013",
|
|
1769
1769
|
"ordinal": 13,
|
|
1770
1770
|
"destination": "ui-design/references/progressive-03-动效规范-丰富但不卡.md",
|
|
1771
|
-
"sha256": "
|
|
1771
|
+
"sha256": "385528713388a28e0182e2df9e2ed828ddb7cccaf7a3a5e78354f46a588f6f1c",
|
|
1772
1772
|
"lines": 26,
|
|
1773
1773
|
"heading": "Vue 3 过渡动画"
|
|
1774
1774
|
},
|
|
@@ -1776,8 +1776,8 @@
|
|
|
1776
1776
|
"id": "ui-design-014",
|
|
1777
1777
|
"ordinal": 14,
|
|
1778
1778
|
"destination": "ui-design/references/progressive-04-组件风格速查.md",
|
|
1779
|
-
"sha256": "
|
|
1780
|
-
"lines":
|
|
1779
|
+
"sha256": "5d81e9cc239c08e67a573d80186f7e462fb7d929c609b2b6218cae97ef8f7f44",
|
|
1780
|
+
"lines": 149,
|
|
1781
1781
|
"heading": "组件风格速查"
|
|
1782
1782
|
},
|
|
1783
1783
|
{
|
|
@@ -1824,7 +1824,7 @@
|
|
|
1824
1824
|
"id": "ui-design-020",
|
|
1825
1825
|
"ordinal": 20,
|
|
1826
1826
|
"destination": "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md",
|
|
1827
|
-
"sha256": "
|
|
1827
|
+
"sha256": "8af48a2af341cf338cbb3937def060827f39f40795330c2cca7c342897f48ce7",
|
|
1828
1828
|
"lines": 53,
|
|
1829
1829
|
"heading": "速查:从头搭建一个移动端页面"
|
|
1830
1830
|
},
|
|
@@ -1832,7 +1832,7 @@
|
|
|
1832
1832
|
"id": "ui-design-021",
|
|
1833
1833
|
"ordinal": 21,
|
|
1834
1834
|
"destination": "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md",
|
|
1835
|
-
"sha256": "
|
|
1835
|
+
"sha256": "8a8884b0b064e7805cd03d904541b12da4539e73172d31f00d32c1ecfaee32f6",
|
|
1836
1836
|
"lines": 65,
|
|
1837
1837
|
"heading": "🚨 移动端低代码项目落地踩坑(必读,2026.5)"
|
|
1838
1838
|
},
|
|
@@ -1840,7 +1840,7 @@
|
|
|
1840
1840
|
"id": "ui-design-022",
|
|
1841
1841
|
"ordinal": 22,
|
|
1842
1842
|
"destination": "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md",
|
|
1843
|
-
"sha256": "
|
|
1843
|
+
"sha256": "4962a1ec7bc49ae1a2706c58fb6f929304ca254e3fd4d8b626fefbc17067bce2",
|
|
1844
1844
|
"lines": 42,
|
|
1845
1845
|
"heading": "🔗 关联字段:保存真实 Id,界面展示可读标签"
|
|
1846
1846
|
},
|
|
@@ -1848,7 +1848,7 @@
|
|
|
1848
1848
|
"id": "ui-design-023",
|
|
1849
1849
|
"ordinal": 23,
|
|
1850
1850
|
"destination": "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md",
|
|
1851
|
-
"sha256": "
|
|
1851
|
+
"sha256": "1c731f6915dae4de788e84af3f6a59cf5d116a4de1f9ca5541f13b55110521ca",
|
|
1852
1852
|
"lines": 39,
|
|
1853
1853
|
"heading": "表单布局规范(Column)"
|
|
1854
1854
|
},
|
|
@@ -1968,11 +1968,11 @@
|
|
|
1968
1968
|
]
|
|
1969
1969
|
},
|
|
1970
1970
|
"v8-crud-api": {
|
|
1971
|
-
"originalSha256": "
|
|
1972
|
-
"originalLines":
|
|
1971
|
+
"originalSha256": "768404707d7caa39865fa3887a575665fe7c8894dad3e818a36e05a48e368b22",
|
|
1972
|
+
"originalLines": 406,
|
|
1973
1973
|
"prefixSha256": "13f655834028b792eb87f441f2929a90688ca77dd56029bb932af229a9946162",
|
|
1974
1974
|
"prefixBytes": 818,
|
|
1975
|
-
"entryLines":
|
|
1975
|
+
"entryLines": 181,
|
|
1976
1976
|
"chunks": [
|
|
1977
1977
|
{
|
|
1978
1978
|
"id": "v8-crud-api-000",
|
|
@@ -1986,8 +1986,8 @@
|
|
|
1986
1986
|
"id": "v8-crud-api-001",
|
|
1987
1987
|
"ordinal": 1,
|
|
1988
1988
|
"destination": "v8-crud-api/SKILL.md",
|
|
1989
|
-
"sha256": "
|
|
1990
|
-
"lines":
|
|
1989
|
+
"sha256": "6aab6dc9a9cefda0938f29ca5f13c85c5c86ccfde52b9f31e8510465fc56a730",
|
|
1990
|
+
"lines": 17,
|
|
1991
1991
|
"heading": "核心规则"
|
|
1992
1992
|
},
|
|
1993
1993
|
{
|
|
@@ -2265,17 +2265,17 @@
|
|
|
2265
2265
|
]
|
|
2266
2266
|
},
|
|
2267
2267
|
"v8-file-upload": {
|
|
2268
|
-
"originalSha256": "
|
|
2269
|
-
"originalLines":
|
|
2270
|
-
"prefixSha256": "
|
|
2271
|
-
"prefixBytes":
|
|
2268
|
+
"originalSha256": "27437eda886f63fd36c507c7bbb41444abcaf865442a373808077a378a14008b",
|
|
2269
|
+
"originalLines": 823,
|
|
2270
|
+
"prefixSha256": "7122b5d00aa238fb5b085079a51f9551589ff1892dd5ca980d2e479eac83fa65",
|
|
2271
|
+
"prefixBytes": 27771,
|
|
2272
2272
|
"entryLines": 285,
|
|
2273
2273
|
"chunks": [
|
|
2274
2274
|
{
|
|
2275
2275
|
"id": "v8-file-upload-000",
|
|
2276
2276
|
"ordinal": 0,
|
|
2277
2277
|
"destination": "v8-file-upload/SKILL.md",
|
|
2278
|
-
"sha256": "
|
|
2278
|
+
"sha256": "9402f7173710e8d110392f184119154a50187138ab7d698fce0b73b5f12123e2",
|
|
2279
2279
|
"lines": 20,
|
|
2280
2280
|
"heading": "核心 API"
|
|
2281
2281
|
},
|
|
@@ -2283,7 +2283,7 @@
|
|
|
2283
2283
|
"id": "v8-file-upload-001",
|
|
2284
2284
|
"ordinal": 1,
|
|
2285
2285
|
"destination": "v8-file-upload/SKILL.md",
|
|
2286
|
-
"sha256": "
|
|
2286
|
+
"sha256": "d535a333639a9005f5d20f25e36e2753a11835380713c1bb063ae618e6cea4af",
|
|
2287
2287
|
"lines": 16,
|
|
2288
2288
|
"heading": "第三方数据库附件迁移"
|
|
2289
2289
|
},
|
|
@@ -2291,7 +2291,7 @@
|
|
|
2291
2291
|
"id": "v8-file-upload-002",
|
|
2292
2292
|
"ordinal": 2,
|
|
2293
2293
|
"destination": "v8-file-upload/SKILL.md",
|
|
2294
|
-
"sha256": "
|
|
2294
|
+
"sha256": "587102654ab519a0a97ffe204a0b69c06d868865f4193bfa0546365aa1fa0344",
|
|
2295
2295
|
"lines": 101,
|
|
2296
2296
|
"heading": "接收前端上传的文件"
|
|
2297
2297
|
},
|
|
@@ -2315,8 +2315,8 @@
|
|
|
2315
2315
|
"id": "v8-file-upload-005",
|
|
2316
2316
|
"ordinal": 3,
|
|
2317
2317
|
"destination": "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md",
|
|
2318
|
-
"sha256": "
|
|
2319
|
-
"lines":
|
|
2318
|
+
"sha256": "4922ff1364f2a9994d7cc47ff224e07c794e382b6f5f44b75b76ae365f7efff1",
|
|
2319
|
+
"lines": 185,
|
|
2320
2320
|
"heading": "公有桶 vs 私有桶"
|
|
2321
2321
|
},
|
|
2322
2322
|
{
|
|
@@ -2403,11 +2403,11 @@
|
|
|
2403
2403
|
]
|
|
2404
2404
|
},
|
|
2405
2405
|
"v8-frontend-events": {
|
|
2406
|
-
"originalSha256": "
|
|
2407
|
-
"originalLines":
|
|
2406
|
+
"originalSha256": "06cd2aea5aa78076aab9ed6325c9e5da1a9134058f1b066c1c34bb9f5c2e2b99",
|
|
2407
|
+
"originalLines": 375,
|
|
2408
2408
|
"prefixSha256": "2a1ea30769327bb6e98bfe19aad03843e4300a6553505618aaa73300a0776531",
|
|
2409
2409
|
"prefixBytes": 1300,
|
|
2410
|
-
"entryLines":
|
|
2410
|
+
"entryLines": 189,
|
|
2411
2411
|
"chunks": [
|
|
2412
2412
|
{
|
|
2413
2413
|
"id": "v8-frontend-events-000",
|
|
@@ -2421,8 +2421,8 @@
|
|
|
2421
2421
|
"id": "v8-frontend-events-001",
|
|
2422
2422
|
"ordinal": 1,
|
|
2423
2423
|
"destination": "v8-frontend-events/SKILL.md",
|
|
2424
|
-
"sha256": "
|
|
2425
|
-
"lines":
|
|
2424
|
+
"sha256": "bf7d6288bece731f78dbfa29b0e04ff56631d3693979bb91d759fe26ef92d0ec",
|
|
2425
|
+
"lines": 93,
|
|
2426
2426
|
"heading": "字段事件(在【字段属性】中配置)"
|
|
2427
2427
|
},
|
|
2428
2428
|
{
|
|
@@ -2853,11 +2853,11 @@
|
|
|
2853
2853
|
]
|
|
2854
2854
|
},
|
|
2855
2855
|
"v8-security": {
|
|
2856
|
-
"originalSha256": "
|
|
2857
|
-
"originalLines":
|
|
2856
|
+
"originalSha256": "4a216e0bacba70e223f6ce0b0c9930e99515be41baea8613dbf7327006590b0f",
|
|
2857
|
+
"originalLines": 600,
|
|
2858
2858
|
"prefixSha256": "bf500844894621ccc29468c41013bc423fdc5768bfcc87e0cfe20675a0b0f1d8",
|
|
2859
2859
|
"prefixBytes": 8550,
|
|
2860
|
-
"entryLines":
|
|
2860
|
+
"entryLines": 265,
|
|
2861
2861
|
"chunks": [
|
|
2862
2862
|
{
|
|
2863
2863
|
"id": "v8-security-000",
|
|
@@ -2879,8 +2879,8 @@
|
|
|
2879
2879
|
"id": "v8-security-002",
|
|
2880
2880
|
"ordinal": 2,
|
|
2881
2881
|
"destination": "v8-security/SKILL.md",
|
|
2882
|
-
"sha256": "
|
|
2883
|
-
"lines":
|
|
2882
|
+
"sha256": "4fbec4fff91a887a9daa2386d60375e5b411e51fd305a3d89086bc4619231144",
|
|
2883
|
+
"lines": 38,
|
|
2884
2884
|
"heading": "1. 防 SQL 注入"
|
|
2885
2885
|
},
|
|
2886
2886
|
{
|
|
@@ -2943,8 +2943,8 @@
|
|
|
2943
2943
|
"id": "v8-security-010",
|
|
2944
2944
|
"ordinal": 10,
|
|
2945
2945
|
"destination": "v8-security/references/progressive-02-7-日志记录.md",
|
|
2946
|
-
"sha256": "
|
|
2947
|
-
"lines":
|
|
2946
|
+
"sha256": "556686f6250c75b35428b7283f79769b5a450cb9f67138f6483d2ea73f235751",
|
|
2947
|
+
"lines": 30,
|
|
2948
2948
|
"heading": "9. Token、终端会话与租户隔离"
|
|
2949
2949
|
},
|
|
2950
2950
|
{
|
|
@@ -2995,11 +2995,11 @@
|
|
|
2995
2995
|
]
|
|
2996
2996
|
},
|
|
2997
2997
|
"v8-table-event": {
|
|
2998
|
-
"originalSha256": "
|
|
2999
|
-
"originalLines":
|
|
3000
|
-
"prefixSha256": "
|
|
3001
|
-
"prefixBytes":
|
|
3002
|
-
"entryLines":
|
|
2998
|
+
"originalSha256": "92247553f3c7315c6522fbeadc64ad79ee5cc48deaa12c9a4c2a93273b509576",
|
|
2999
|
+
"originalLines": 448,
|
|
3000
|
+
"prefixSha256": "e5e476797c36afccdac42a3e05d9ecb50415013274b84f4f89212b0b1a6b7621",
|
|
3001
|
+
"prefixBytes": 778,
|
|
3002
|
+
"entryLines": 226,
|
|
3003
3003
|
"chunks": [
|
|
3004
3004
|
{
|
|
3005
3005
|
"id": "v8-table-event-000",
|
|
@@ -3021,8 +3021,8 @@
|
|
|
3021
3021
|
"id": "v8-table-event-002",
|
|
3022
3022
|
"ordinal": 2,
|
|
3023
3023
|
"destination": "v8-table-event/SKILL.md",
|
|
3024
|
-
"sha256": "
|
|
3025
|
-
"lines":
|
|
3024
|
+
"sha256": "470d1827cce01a45e424639cc7273c7b838c8e158f125bff524466393c1e4b41",
|
|
3025
|
+
"lines": 58,
|
|
3026
3026
|
"heading": "事件触发规则"
|
|
3027
3027
|
},
|
|
3028
3028
|
{
|
|
@@ -3093,8 +3093,8 @@
|
|
|
3093
3093
|
"id": "v8-table-event-011",
|
|
3094
3094
|
"ordinal": 11,
|
|
3095
3095
|
"destination": "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md",
|
|
3096
|
-
"sha256": "
|
|
3097
|
-
"lines":
|
|
3096
|
+
"sha256": "e2ae9d89779e1f31eef74faa34a9e5a35ac1ba2b9f86cd5c112875eeae5a42e0",
|
|
3097
|
+
"lines": 24,
|
|
3098
3098
|
"heading": "前端事件名(V8.EventName 可能的值)"
|
|
3099
3099
|
},
|
|
3100
3100
|
{
|
package/skills/README.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
| **v8-workflow** | 工作流(审批流程)V8 事件 | `v8-workflow/SKILL.md` |
|
|
26
26
|
| **v8-api-config** | 接口引擎配置(匿名/锁/StopHttp/响应文件) | `v8-api-config/SKILL.md` |
|
|
27
27
|
| **v8-saas-multi-tenant** | SaaS 多租户(OsClient/OsClientModel) | `v8-saas-multi-tenant/SKILL.md` |
|
|
28
|
-
| **v8-image-processing** |
|
|
28
|
+
| **v8-image-processing** | 服务端图片生成、合并、水印、缩放、裁剪、绘制、二维码,以及多页中文 PDF 字体缓存释放 | `v8-image-processing/SKILL.md` |
|
|
29
29
|
| **v8-file-upload** | 文件上传/下载/响应(HDFS、私有桶 URL) | `v8-file-upload/SKILL.md` |
|
|
30
30
|
| **v8-export-import** | Excel 自定义导入导出(含进度跟踪) | `v8-export-import/SKILL.md` |
|
|
31
31
|
| **v8-debugging** | 调试模式、异常捕获、系统日志 | `v8-debugging/SKILL.md` |
|
|
@@ -294,7 +294,7 @@ staged 行、请求参数、`StableFilePathName` 或外部 CDN URL 推断版本
|
|
|
294
294
|
- 商城来源以 `ApiBase + OsClient` 唯一定位。添加来源先只读发现系统标题、验证码策略和公开应用数;需要私有应用时再登录。帐号、密码、Token 不能写浏览器配置或商城来源 JSON;密码只用于本次登录,长会话 Token 以 `MCP/Mobile` 非 PC 客户端签发,并由当前租户后端加密保存到 `mci_system_setting`,浏览器只持有不具备取密能力的凭据 Key。
|
|
295
295
|
- 后端来源代理必须固定已保存的 `ApiBase + OsClient`,拒绝过期 Token、访问密钥会话、非超级管理员、非 HTTPS 外网地址、重定向漂移和超限响应;Token 不得返回浏览器、日志、审计或应用包。退出登录同步删除服务端密文。
|
|
296
296
|
- 商城源业务由 `app.microi.store` 单一拥有的 `platform-marketplace-source`(`Managed`)编排,租户扩展只写 `platform-marketplace-source-hook`(`CreateIfMissing`,默认可执行正文精确为 `return { Code : 1 };`)。登录必须在远端配置读取、密码发送和凭据保存之前执行 `BeforeMarketplaceSourceLogin`;断开必须在删除服务端凭据之前执行 `BeforeMarketplaceSourceDisconnect`。Hook 失败直接阻断操作。Before Hook 仅允许 `Stage / SourceApiEngineKey / Action / SourceId`,不得传 `ApiBase`、远端 `OsClient`、账号、密码、Token、签名地址或凭据密文;协议、加密和密钥隔离继续由可信网关负责。
|
|
297
|
-
- 商城主页面统一承载应用市场、已安装、我发布的应用、安装离线包和来源管理,不能再通过独立菜单或路由割裂上下文。来源增删改启停逐项自动保存;来源管理、详情和复杂配置使用平台统一 `80%`
|
|
297
|
+
- 商城主页面统一承载应用市场、已安装、我发布的应用、安装离线包和来源管理,不能再通过独立菜单或路由割裂上下文。来源增删改启停逐项自动保存;来源管理、详情和复杂配置使用平台统一 `80%` 可拖动 Dialog,圆角遵循当前宿主与 ui-design 的紧凑适度约束,遮罩服从正向开关 `sys_config.FormMaskBlur`,缺失或 `0/false` 默认关闭毛玻璃。
|
|
298
298
|
- 每张应用卡必须显示预览图、公开范围、分类、最新版本、当前租户已安装版本及状态色。来源卡必须显示其公开数和当前授权可访问总数;平台官方发布节点只显示“平台官方应用源”身份标记,不显示安装、更新或重新安装操作。
|
|
299
299
|
- 安装可明确选择 `sys_microistore` 当前版本或 `mic_data_version` 中仍含完整包正文或已验证包指针的历史快照;后台任务在首次取包时必须把计划中的 `AppVersion` 解析为匹配且可安装的不可变 `StoreVersionId`,写入 checkpoint,并在全部后续分片一直传到详情取包。发布方中途升版时继续完成已锁定快照,新版留给下一轮盘点;快照缺失、版本不匹配、身份变化或快照 Id 漂移必须失败关闭,禁止退回易变当前行。实际安装版本写回 `sys_microistoreversion`。回退旧版属于重新安装,不得静默换成最新版。
|
|
300
300
|
- 应用详情的版本选择必须服务端分页和搜索,默认每页不超过 20 条;当前版本固定置顶,历史版本只返回含完整旧包或有效 HDFS 指针的可安装状态。禁止用 `_PageSize:500` 或一次加载全部版本后在浏览器过滤。翻页、搜索与页大小切换都必须保持已选版本语义并显示总数。
|
|
@@ -336,9 +336,10 @@ staged 行、请求参数、`StableFilePathName` 或外部 CDN URL 推断版本
|
|
|
336
336
|
## 版本与回滚
|
|
337
337
|
|
|
338
338
|
- 版本号单调递增,保存变更清单和前后哈希。
|
|
339
|
-
-
|
|
340
|
-
-
|
|
341
|
-
-
|
|
339
|
+
- 当前公开 Web、UniApp、MicroService 的体验入口统一为 `{可信ApiBase}/micro-app/{tenantLower}/{权威AppKey}/index.html`,租户段取当前可信连接 OsClient 小写;入口直接返回已提交 HTML,地址栏不顶层 30x 跳到 typed v3、CDN/NAS 或版本目录。公开性、应用类型与 AppKey 取同源权威记录;已安装应用取目标租户记录,不按源商城或显示名称猜身份。公有桶固定根 `/{tenantLower}/micro-app/{AppKey}/index.html` 仍是 CDN 投影,不作为当前体验链接;内部 `/micro-app/v3/tenants/...` 与原始 `microi/application-assets/v3/...` 校验对象也不作为用户当前入口。
|
|
340
|
+
- 历史预览只用已回读版本的实际 `{可信FileServer}/{tenantLower}/micro-app/{AppKey}/{exactPublishedVersion}/index.html`,保留 FileServer 的路径前缀。不能从数字 `CurrentVersion` 推算 `AppVersion`,不能宣称旧 `/{version}/...` 短 API 或 `?version=` 支持通用 V3 历史。签名 URL、显式历史和私有/未知公开性保持原访问语义,不改成 current。私有桶仍保存各版本源码;编译包没有源码时明确记为 `NotIncluded`。已验证历史目录不得覆写成不同字节,缺失时报告未恢复。
|
|
341
|
+
- 发布顺序仍为完整上传并验证版本目录、复制私有源码快照、提升固定根的非入口资源、最后提升固定 `index.html`。适用的 CDN 精确刷新完成并回读入口及引用资源后,才提交 `sys_microistore.PreviewUrl/PublicPublishPath`;任一步失败保留旧商城入口并进入可恢复状态。官网列表、详情、二维码和“立即体验”在展示层使用 API 固定入口,不带版本、请求指纹或缓存绕过参数;清单内 JS/CSS/图片可按原规则分流到 CDN/NAS。
|
|
342
|
+
- v3 数据库中的 `PreviewUrl/PublicPublishPath` 继续保留以 `/` 开头的对象路径,完成态检查依赖此相对值;`StableResolverPath` 保留 typed v3 内部协议。官网接口和商城工作台只转换已确认公开的当前体验 URL,不直接改写 v3 记录、历史快照或安装身份。
|
|
342
343
|
- 官方 CDN 凭据按当前租户系统设置 `Integration.Cdn.Aliyun.*`、`Integration.Dns.Aliyun.*`、历史 SaaS `AlidnsKeyId/AlidnsKeySecret` 顺序读取;半配置失败关闭,不静默跳过刷新。阿里云可能把并发 URL 合并为同一任务号,需等待该任务返回的全部 URL 完成并按原始字节哈希回读。批量迁移应按每日刷新配额限速或分日执行。
|
|
343
344
|
- 旧版对象若已丢失,只能从商城编译包、仍可访问的当前体验路由或本地归档取得逐文件匹配冻结清单的原始字节后补齐;哈希或长度不符时拒绝写入。历史版本无法恢复时保留原版本记录和链接并列出待补清单,可独立迁移已完整校验的当前版本,但不得把未恢复的历史目录标为已归档。
|
|
344
345
|
- stage 前回读并冻结应用的 `CurrentVersion + AppVersion`;finalize 必须同时传 `ExpectedCurrentVersion + ExpectedAppVersion`,在以不可变 AppId 加锁后再次 compare-and-set。缺失前置条件、AppId/AppKey 漂移或旧请求晚到一律失败关闭;重新发布必须重新盘点,不能静默回退。
|
|
@@ -353,9 +354,9 @@ staged 行、请求参数、`StableFilePathName` 或外部 CDN URL 推断版本
|
|
|
353
354
|
- [ ] 同一包重复安装无重复表/字段/菜单/任务
|
|
354
355
|
- [ ] 客户自定义 V8 与非包拥有配置保持不变
|
|
355
356
|
- [ ] 源码包、构建包、Manifest 和数据库版本一致且哈希可核
|
|
356
|
-
- [ ]
|
|
357
|
+
- [ ] API 固定入口返回当前已提交版本且加载后地址栏不跳到 typed v3、CDN/NAS 或版本目录;已回读的精确历史 CDN URL 独立验证,不用当前版本替代
|
|
357
358
|
- [ ] 安装到不同 ApiBase/OsClient 后,入口 HTML 使用目标租户上下文且分享 URL 无运行参数
|
|
358
|
-
- [ ] Web/UniApp
|
|
359
|
+
- [ ] Web/UniApp 安装后的内部 `PreviewUrl` 保留原协议及目标租户绑定,已确认公开的当前体验由展示层转为目标租户 API 固定入口,不含 OSS/S3 内网域名或临时签名;即使发布包漏选菜单,也会幂等生成可直接在线使用的 Iframe 入口,已有入口则重绑到目标租户地址
|
|
359
360
|
- [ ] 只更新菜单/说明/声明式资源且复用旧运行时的版本,`sys_microistore.AppVersion` 跟随安装包版本,运行版本表保留真实构建版本;商城安装状态不能因两种版本合同合法分离而显示异常
|
|
360
361
|
- [ ] 中断/重启后可恢复,两个节点不会重复副作用
|
|
361
362
|
- [ ] 普通角色不能安装、升级、卸载或读取私有源码
|