openxiangda 2.21.1 → 2.21.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/dist/browser/mobile-runtime-global.d.ts +7 -0
- package/dist/browser/mobile-runtime-global.d.ts.map +1 -0
- package/dist/browser/mobile-runtime-global.js +27 -0
- package/dist/browser/mobile-runtime-global.js.map +1 -0
- package/dist/react.d.ts +1 -0
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +1 -0
- package/dist/react.js.map +1 -1
- package/documentation/getting-started.md +7 -7
- package/documentation/manifest.json +2 -2
- package/package.json +20 -25
- package/releases/2.21.2.json +34 -0
- package/releases/2.21.3.json +31 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +4 -4
- package/skills/openxiangda-v2/references/getting-started.md +7 -7
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ant Design Mobile measures px values while its component modules evaluate.
|
|
3
|
+
* Install only the required document-level mechanics before those modules load;
|
|
4
|
+
* the reviewed visual defaults remain scoped in mobile-base.css.
|
|
5
|
+
*/
|
|
6
|
+
export declare function initializeAntdMobileRuntimeGlobal(target?: Document | undefined): void;
|
|
7
|
+
//# sourceMappingURL=mobile-runtime-global.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-runtime-global.d.ts","sourceRoot":"","sources":["../../src/browser/mobile-runtime-global.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,GAAE,QAAQ,GAAG,SAA+B,QAQnD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const MOBILE_RUNTIME_STYLE_ID = 'openxiangda-antd-mobile-runtime-global';
|
|
2
|
+
const MOBILE_RUNTIME_STYLE = `div.adm-px-tester {
|
|
3
|
+
--size: 1;
|
|
4
|
+
height: calc(var(--size) / 2 * 2px);
|
|
5
|
+
width: 0;
|
|
6
|
+
position: fixed;
|
|
7
|
+
left: -100vw;
|
|
8
|
+
top: -100vh;
|
|
9
|
+
user-select: none;
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
}`;
|
|
12
|
+
/**
|
|
13
|
+
* Ant Design Mobile measures px values while its component modules evaluate.
|
|
14
|
+
* Install only the required document-level mechanics before those modules load;
|
|
15
|
+
* the reviewed visual defaults remain scoped in mobile-base.css.
|
|
16
|
+
*/
|
|
17
|
+
export function initializeAntdMobileRuntimeGlobal(target = globalThis.document) {
|
|
18
|
+
if (!target || target.getElementById(MOBILE_RUNTIME_STYLE_ID))
|
|
19
|
+
return;
|
|
20
|
+
const style = target.createElement('style');
|
|
21
|
+
style.id = MOBILE_RUNTIME_STYLE_ID;
|
|
22
|
+
style.textContent = MOBILE_RUNTIME_STYLE;
|
|
23
|
+
(target.head || target.documentElement).appendChild(style);
|
|
24
|
+
target.addEventListener('touchstart', () => { }, true);
|
|
25
|
+
}
|
|
26
|
+
initializeAntdMobileRuntimeGlobal();
|
|
27
|
+
//# sourceMappingURL=mobile-runtime-global.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mobile-runtime-global.js","sourceRoot":"","sources":["../../src/browser/mobile-runtime-global.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AAEzE,MAAM,oBAAoB,GAAG;;;;;;;;;EAS3B,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAA+B,UAAU,CAAC,QAAQ;IAElD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,uBAAuB,CAAC;QAAE,OAAO;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,GAAG,uBAAuB,CAAC;IACnC,KAAK,CAAC,WAAW,GAAG,oBAAoB,CAAC;IACzC,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,iCAAiC,EAAE,CAAC"}
|
package/dist/react.d.ts
CHANGED
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACrG,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,cAAc,qDAAqD,CAAC;AACpE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,mBAAmB,6DAA6D,CAAC"}
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACrG,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,KAAK,iBAAiB,EACtB,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,cAAc,qDAAqD,CAAC;AACpE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,mBAAmB,6DAA6D,CAAC"}
|
package/dist/react.js
CHANGED
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAmC,MAAM,4BAA4B,CAAC;AACrG,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAE7B,2BAA2B,GAG5B,MAAM,2BAA2B,CAAC;AAEnC,cAAc,qDAAqD,CAAC;AACpE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC"}
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,iCAAiC,CAAC;AAEzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAmC,MAAM,4BAA4B,CAAC;AACrG,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAE7B,2BAA2B,GAG5B,MAAM,2BAA2B,CAAC;AAEnC,cAAc,qDAAqD,CAAC;AACpE,cAAc,oDAAoD,CAAC;AACnE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC"}
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.21.
|
|
72
|
-
pnpm dlx openxiangda@2.21.
|
|
73
|
-
pnpm dlx openxiangda@2.21.
|
|
74
|
-
pnpm dlx openxiangda@2.21.
|
|
71
|
+
pnpm dlx openxiangda@2.21.3 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.21.3 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.21.3 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.21.3 create my-app --base-url https://platform.example.com
|
|
75
75
|
cd my-app
|
|
76
76
|
pnpm openxiangda context --json
|
|
77
77
|
pnpm openxiangda dev
|
|
@@ -174,9 +174,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
174
174
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
pnpm dlx openxiangda@2.21.
|
|
178
|
-
pnpm dlx openxiangda@2.21.
|
|
179
|
-
pnpm dlx openxiangda@2.21.
|
|
177
|
+
pnpm dlx openxiangda@2.21.3 auth status --base-url <平台> --json
|
|
178
|
+
pnpm dlx openxiangda@2.21.3 source resolve <仓库URL> --base-url <平台> --json
|
|
179
|
+
pnpm dlx openxiangda@2.21.3 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openxiangda.documentation/v1",
|
|
3
|
-
"version": "2.21.
|
|
3
|
+
"version": "2.21.3",
|
|
4
4
|
"topics": [
|
|
5
5
|
{
|
|
6
6
|
"id": "getting-started",
|
|
7
7
|
"title": "安装与开始开发",
|
|
8
8
|
"file": "getting-started.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "3a8bba5dda470da470fd8cd1b6571b8c24b24f604cd646c31d649be918b5f848"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"id": "product-design",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda",
|
|
3
|
-
"version": "2.21.
|
|
3
|
+
"version": "2.21.3",
|
|
4
4
|
"description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
"antd-mobile": "5.42.3",
|
|
61
61
|
"dayjs": "1.11.18",
|
|
62
62
|
"docx-preview": "0.3.7",
|
|
63
|
-
"openxiangda-cli": "2.5.
|
|
64
|
-
"openxiangda-contracts": "2.16.
|
|
65
|
-
"openxiangda-devkit-core": "2.19.
|
|
63
|
+
"openxiangda-cli": "2.5.2",
|
|
64
|
+
"openxiangda-contracts": "2.16.2",
|
|
65
|
+
"openxiangda-devkit-core": "2.19.1",
|
|
66
66
|
"openxiangda-legacy": "npm:openxiangda@1.0.269",
|
|
67
|
-
"openxiangda-mcp": "2.0.
|
|
68
|
-
"openxiangda-nest": "2.4.
|
|
69
|
-
"openxiangda-skill-kit": "2.3.
|
|
67
|
+
"openxiangda-mcp": "2.0.33",
|
|
68
|
+
"openxiangda-nest": "2.4.7",
|
|
69
|
+
"openxiangda-skill-kit": "2.3.6",
|
|
70
70
|
"xlsx": "https://github.com/1377385356/openxiangda/releases/download/vendor-mirror/xlsx-0.20.3.tgz"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
@@ -132,39 +132,34 @@
|
|
|
132
132
|
},
|
|
133
133
|
"openxiangdaRelease": {
|
|
134
134
|
"schemaVersion": "openxiangda.release-notes/v1",
|
|
135
|
-
"version": "2.21.
|
|
135
|
+
"version": "2.21.3",
|
|
136
136
|
"status": "reviewed",
|
|
137
|
-
"title": "OpenXiangda 2.21.
|
|
138
|
-
"summary": "
|
|
139
|
-
"newFeatures": [
|
|
140
|
-
"新增 `openxiangda link` 命令:默认只读展示工作区平台绑定(appCode、平台地址、环境列表)、当前登录态匹配情况和 git origin 归属提示。",
|
|
141
|
-
"新增 `openxiangda link rebind --base-url <平台>` 显式换绑:只改写本地绑定文件(appCode 取自工作区声明、地址归一化、清空旧站点环境列表),不调用平台 API、不修改 git remote、不迁移登录凭据;绑定属于其他应用时拒绝执行,目标与当前一致时幂等,换错可随时 rebind 回退。",
|
|
142
|
-
"文档新增「跨站点与平台换绑」章节,覆盖应用交接给其他开发者、A 站点开发发布到 B 站点、发布永久切换站点与回退的完整步骤。"
|
|
143
|
-
],
|
|
137
|
+
"title": "OpenXiangda 2.21.3:移动运行时全局机制初始化",
|
|
138
|
+
"summary": "由 OpenXiangda React 运行时在移动组件加载前初始化 Ant Design Mobile 所需的 px 测量与触摸激活机制,消除业务应用无法跨包导入 antd-mobile/es/global 时的启动告警,并继续保持视觉样式的作用域隔离。",
|
|
139
|
+
"newFeatures": [],
|
|
144
140
|
"fixes": [
|
|
145
|
-
"
|
|
146
|
-
"
|
|
141
|
+
"openxiangda/react 会在 Ant Design Mobile 组件求值前安装唯一且最小的 px tester 样式和 touchstart 机制,不再要求业务应用直接依赖 antd-mobile。",
|
|
142
|
+
"初始化只包含上游运行时机械规则,不引入 html、body、链接或按钮的全局视觉重置;移动默认样式仍由 openxiangda/react/styles.css 的作用域文件提供。"
|
|
147
143
|
],
|
|
148
144
|
"affectedUsers": [
|
|
149
|
-
"
|
|
145
|
+
"使用 OpenXiangda 2.0 React 运行时或标准移动字段,并在开发控制台看到 antd-mobile Global px tester 告警的应用开发与维护会话。"
|
|
150
146
|
],
|
|
151
147
|
"upgradeSteps": [
|
|
152
|
-
"
|
|
153
|
-
"
|
|
148
|
+
"将应用对 openxiangda 的精确依赖升级到 2.21.3,并按锁文件重新安装依赖。",
|
|
149
|
+
"保留现有 openxiangda/react/styles.css 导入后重新启动开发服务器;业务应用不应新增 antd-mobile 或 antd-mobile/es/global 依赖。"
|
|
154
150
|
],
|
|
155
151
|
"knownLimitations": [
|
|
156
|
-
"
|
|
157
|
-
"站点之间流动的只有代码(git);应用的数据库数据、发布历史与环境配置不会自动迁移。"
|
|
152
|
+
"本修复只拥有 Ant Design Mobile 的运行时测量与触摸机制,不改变应用主题、移动页面布局或业务组件样式。"
|
|
158
153
|
],
|
|
159
154
|
"issues": [],
|
|
160
155
|
"compatibility": {
|
|
161
156
|
"node": ">=24",
|
|
162
157
|
"workspaceGenerations": "v2",
|
|
163
|
-
"platform": "
|
|
158
|
+
"platform": "无需 platform-server 配套升级;浏览器应用需使用本版本的 openxiangda/react。",
|
|
164
159
|
"v1": "V1 工作区与维护引擎不受影响。"
|
|
165
160
|
},
|
|
166
|
-
"sha256": "
|
|
167
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.21.
|
|
161
|
+
"sha256": "61702a65c0e2780fda10622a33023c7123a695be39f0ac2379097c21bad19381",
|
|
162
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.21.3"
|
|
168
163
|
},
|
|
169
164
|
"scripts": {
|
|
170
165
|
"build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.21.2",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.21.2:后端镜像分片 gzip 传输",
|
|
6
|
+
"summary": "为平台托管的 OCI 后端镜像上传增加可协商的 gzip 分片传输,解决部分测试环境中 VPN 或 HTTP 内容检测设备误断开特定 OCI 配置内容的问题,同时保持镜像原始字节、摘要、断点续传和 registry 所有权不变。",
|
|
7
|
+
"newFeatures": [
|
|
8
|
+
"平台可通过 backendImageUpload.chunkEncoding 声明 gzip 分片传输;新版 Devkit 仅在平台明确声明时压缩请求体,并发送 X-OpenXiangda-Chunk-Encoding: gzip。"
|
|
9
|
+
],
|
|
10
|
+
"fixes": [
|
|
11
|
+
"后端镜像上传不再因测试环境明文 HTTP 路径对特定 OCI 配置字节的内容检测误杀而反复 ECONNRESET;未声明该能力的平台继续使用原始 octet-stream 分片。",
|
|
12
|
+
"修正 workflow 标识校验测试的 contract digest 绑定,使发布验证能够到达并断言预期的 workflow 专用错误。"
|
|
13
|
+
],
|
|
14
|
+
"affectedUsers": [
|
|
15
|
+
"通过 OpenXiangda 2.0 向启用了平台托管镜像上传、且网络路径会检测明文 HTTP 内容的测试环境部署 Nest 后端的开发与维护会话。"
|
|
16
|
+
],
|
|
17
|
+
"upgradeSteps": [
|
|
18
|
+
"先部署支持 backendImageUpload.chunkEncoding 的新版 platform-server,再将应用精确依赖升级到 openxiangda 2.21.2 并按锁文件安装。",
|
|
19
|
+
"重新执行 openxiangda deploy;新版客户端会从平台 capability 自动选择 gzip 或兼容的 raw 分片路径,无需应用代码配置。"
|
|
20
|
+
],
|
|
21
|
+
"knownLimitations": [
|
|
22
|
+
"gzip 只用于兼容受约束的测试环境 HTTP 传输路径,不替代 TLS;生产环境仍必须使用 HTTPS。",
|
|
23
|
+
"平台未声明 chunkEncoding 时客户端不会主动启用 gzip,因此只升级客户端不能修复不支持该能力的旧平台。"
|
|
24
|
+
],
|
|
25
|
+
"issues": [],
|
|
26
|
+
"compatibility": {
|
|
27
|
+
"node": ">=24",
|
|
28
|
+
"workspaceGenerations": "v2",
|
|
29
|
+
"platform": "要使用 gzip 分片,需配套升级到声明 backendImageUpload.chunkEncoding=gzip 的 platform-server;旧平台保持 raw 分片兼容。",
|
|
30
|
+
"v1": "V1 工作区与维护引擎不受影响。"
|
|
31
|
+
},
|
|
32
|
+
"sha256": "30f2bf73b459663800abcd53f6f951d6a0d50d6090eec1692be05ba321db2e24",
|
|
33
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.21.2"
|
|
34
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.21.3",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.21.3:移动运行时全局机制初始化",
|
|
6
|
+
"summary": "由 OpenXiangda React 运行时在移动组件加载前初始化 Ant Design Mobile 所需的 px 测量与触摸激活机制,消除业务应用无法跨包导入 antd-mobile/es/global 时的启动告警,并继续保持视觉样式的作用域隔离。",
|
|
7
|
+
"newFeatures": [],
|
|
8
|
+
"fixes": [
|
|
9
|
+
"openxiangda/react 会在 Ant Design Mobile 组件求值前安装唯一且最小的 px tester 样式和 touchstart 机制,不再要求业务应用直接依赖 antd-mobile。",
|
|
10
|
+
"初始化只包含上游运行时机械规则,不引入 html、body、链接或按钮的全局视觉重置;移动默认样式仍由 openxiangda/react/styles.css 的作用域文件提供。"
|
|
11
|
+
],
|
|
12
|
+
"affectedUsers": [
|
|
13
|
+
"使用 OpenXiangda 2.0 React 运行时或标准移动字段,并在开发控制台看到 antd-mobile Global px tester 告警的应用开发与维护会话。"
|
|
14
|
+
],
|
|
15
|
+
"upgradeSteps": [
|
|
16
|
+
"将应用对 openxiangda 的精确依赖升级到 2.21.3,并按锁文件重新安装依赖。",
|
|
17
|
+
"保留现有 openxiangda/react/styles.css 导入后重新启动开发服务器;业务应用不应新增 antd-mobile 或 antd-mobile/es/global 依赖。"
|
|
18
|
+
],
|
|
19
|
+
"knownLimitations": [
|
|
20
|
+
"本修复只拥有 Ant Design Mobile 的运行时测量与触摸机制,不改变应用主题、移动页面布局或业务组件样式。"
|
|
21
|
+
],
|
|
22
|
+
"issues": [],
|
|
23
|
+
"compatibility": {
|
|
24
|
+
"node": ">=24",
|
|
25
|
+
"workspaceGenerations": "v2",
|
|
26
|
+
"platform": "无需 platform-server 配套升级;浏览器应用需使用本版本的 openxiangda/react。",
|
|
27
|
+
"v1": "V1 工作区与维护引擎不受影响。"
|
|
28
|
+
},
|
|
29
|
+
"sha256": "61702a65c0e2780fda10622a33023c7123a695be39f0ac2379097c21bad19381",
|
|
30
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.21.3"
|
|
31
|
+
}
|
package/skills/manifest.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "openxiangda-v2",
|
|
6
6
|
"description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,由当前 AI Agent 按需用 Image 2.5 等图片能力形成视觉参考,直接实现真实页面并在浏览器修正,再检查和交付应用;维护 1.x 应用时使用对应的 1.x 技能。",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "f3239c46f13e67b63847e04d03ba3b4b12b113a0dc3a036c3a5f3fa0f3f82855"
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
}
|
|
@@ -40,10 +40,10 @@ AI 接到新应用、页面或改版任务时,在同一个 OpenXiangda 工作
|
|
|
40
40
|
未创建工作区时使用本 Skill 随根包发布的精确版本:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
pnpm dlx openxiangda@2.21.
|
|
44
|
-
pnpm dlx openxiangda@2.21.
|
|
45
|
-
pnpm dlx openxiangda@2.21.
|
|
46
|
-
pnpm dlx openxiangda@2.21.
|
|
43
|
+
pnpm dlx openxiangda@2.21.3 auth status --cwd <应用目录> --base-url <平台地址> --json
|
|
44
|
+
pnpm dlx openxiangda@2.21.3 login --cwd <应用目录> --base-url <平台地址>
|
|
45
|
+
pnpm dlx openxiangda@2.21.3 create <应用目录> --base-url <同一平台地址>
|
|
46
|
+
pnpm dlx openxiangda@2.21.3 skill install --force
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -68,10 +68,10 @@ MCP 服务随项目根包一起安装,AI 客户端的 stdio 连接仍需配置
|
|
|
68
68
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
pnpm dlx openxiangda@2.21.
|
|
72
|
-
pnpm dlx openxiangda@2.21.
|
|
73
|
-
pnpm dlx openxiangda@2.21.
|
|
74
|
-
pnpm dlx openxiangda@2.21.
|
|
71
|
+
pnpm dlx openxiangda@2.21.3 skill install --force
|
|
72
|
+
pnpm dlx openxiangda@2.21.3 auth status --base-url <平台地址> --json
|
|
73
|
+
pnpm dlx openxiangda@2.21.3 login --cwd my-app --base-url https://platform.example.com
|
|
74
|
+
pnpm dlx openxiangda@2.21.3 create my-app --base-url https://platform.example.com
|
|
75
75
|
cd my-app
|
|
76
76
|
pnpm openxiangda context --json
|
|
77
77
|
pnpm openxiangda dev
|
|
@@ -174,9 +174,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
174
174
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
|
-
pnpm dlx openxiangda@2.21.
|
|
178
|
-
pnpm dlx openxiangda@2.21.
|
|
179
|
-
pnpm dlx openxiangda@2.21.
|
|
177
|
+
pnpm dlx openxiangda@2.21.3 auth status --base-url <平台> --json
|
|
178
|
+
pnpm dlx openxiangda@2.21.3 source resolve <仓库URL> --base-url <平台> --json
|
|
179
|
+
pnpm dlx openxiangda@2.21.3 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|