openxiangda 2.9.0 → 2.9.2
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/components/platform-fields/resource-query.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/resource-query.js +31 -4
- package/dist/browser/components/platform-fields/resource-query.js.map +1 -1
- package/documentation/getting-started.md +7 -7
- package/documentation/manifest.json +2 -2
- package/package.json +18 -18
- package/releases/2.9.1.json +31 -0
- package/releases/2.9.2.json +33 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-query.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EAGV,MAAM,+BAA+B,CAAC;AAOvC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"resource-query.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EAGV,MAAM,+BAA+B,CAAC;AAOvC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE;AActE,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,oBAAoB,GAC1B,SAAS,GAAG,SAAS,CA0GvB;AAED,sGAAsG;AACtG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,CA8B3G"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { cascadeTerminalValues, } from './cascade-value';
|
|
2
2
|
import { deepestAddressPredicate } from './address-value';
|
|
3
|
+
function isSelectionSnapshot(value) {
|
|
4
|
+
return Boolean(value && typeof value === 'object' && !Array.isArray(value) && 'value' in value);
|
|
5
|
+
}
|
|
6
|
+
function stableValue(value) {
|
|
7
|
+
return isSelectionSnapshot(value) ? String(value.value) : value;
|
|
8
|
+
}
|
|
3
9
|
function stableValues(value) {
|
|
4
|
-
|
|
5
|
-
return values.map(item => item && typeof item === 'object' && 'value' in item
|
|
6
|
-
? String(item.value)
|
|
7
|
-
: item);
|
|
10
|
+
return (Array.isArray(value) ? value : [value]).map(stableValue);
|
|
8
11
|
}
|
|
9
12
|
export function buildResourceWhere(resourceCode, surface, query) {
|
|
10
13
|
const declaredFields = new Set(Object.keys(surface.fields));
|
|
@@ -115,8 +118,32 @@ export function compileAdvancedWhere(code, surface, node) {
|
|
|
115
118
|
return { or: node.or.map(item => compileAdvancedWhere(code, surface, item)) };
|
|
116
119
|
if ('not' in node)
|
|
117
120
|
return { not: compileAdvancedWhere(code, surface, node.not) };
|
|
121
|
+
// A path already selects the canonical subvalue; top-level field control
|
|
122
|
+
// normalization must not replace its value or silently drop the path.
|
|
123
|
+
if (node.path !== undefined)
|
|
124
|
+
return node;
|
|
118
125
|
if (node.operator === 'isEmpty' || node.operator === 'isNotEmpty')
|
|
119
126
|
return { field: node.field, operator: node.operator };
|
|
127
|
+
const field = surface.fields[node.field];
|
|
128
|
+
if (node.operator === 'has') {
|
|
129
|
+
const cascadePath = field?.type === 'cascade.single' && Array.isArray(node.value) &&
|
|
130
|
+
node.value.length > 0 && node.value.every(isSelectionSnapshot);
|
|
131
|
+
return { ...node, value: cascadePath
|
|
132
|
+
? cascadeTerminalValues(node.value, false)[0]
|
|
133
|
+
: stableValue(node.value) };
|
|
134
|
+
}
|
|
135
|
+
if (['in', 'between', 'hasAny', 'hasAll'].includes(node.operator)) {
|
|
136
|
+
// Explicit operators own operand cardinality. Do not apply shortcut
|
|
137
|
+
// filters, which infer hasAny or reduce a range to its first comparison.
|
|
138
|
+
if (!Array.isArray(node.value))
|
|
139
|
+
return node;
|
|
140
|
+
const cascadePaths = field?.type === 'cascade.multiple' &&
|
|
141
|
+
['hasAny', 'hasAll'].includes(node.operator) && node.value.length > 0 &&
|
|
142
|
+
node.value.every(path => Array.isArray(path) && path.length > 0 && path.every(isSelectionSnapshot));
|
|
143
|
+
return { ...node, value: cascadePaths
|
|
144
|
+
? cascadeTerminalValues(node.value, true)
|
|
145
|
+
: node.value.map(stableValue) };
|
|
146
|
+
}
|
|
120
147
|
const normalized = buildResourceWhere(code, surface, { page: 1, pageSize: 20, filters: { [node.field]: node.value } });
|
|
121
148
|
const predicate = normalized && 'and' in normalized ? normalized.and[0] : undefined;
|
|
122
149
|
return predicate && 'field' in predicate ? { ...predicate, operator: node.operator } : node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-query.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAc1D,SAAS,
|
|
1
|
+
{"version":3,"file":"resource-query.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,10 @@ OpenXiangda 2.0 默认生成 React 应用和共享契约。普通 CRUD、标准
|
|
|
11
11
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
pnpm dlx openxiangda@2.9.
|
|
15
|
-
pnpm dlx openxiangda@2.9.
|
|
16
|
-
pnpm dlx openxiangda@2.9.
|
|
17
|
-
pnpm dlx openxiangda@2.9.
|
|
14
|
+
pnpm dlx openxiangda@2.9.2 skill install --force
|
|
15
|
+
pnpm dlx openxiangda@2.9.2 auth status --base-url <平台地址> --json
|
|
16
|
+
pnpm dlx openxiangda@2.9.2 login --base-url https://platform.example.com
|
|
17
|
+
pnpm dlx openxiangda@2.9.2 create my-app --base-url https://platform.example.com
|
|
18
18
|
cd my-app
|
|
19
19
|
pnpm openxiangda context --json
|
|
20
20
|
pnpm openxiangda dev
|
|
@@ -116,9 +116,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
116
116
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
117
117
|
|
|
118
118
|
```bash
|
|
119
|
-
pnpm dlx openxiangda@2.9.
|
|
120
|
-
pnpm dlx openxiangda@2.9.
|
|
121
|
-
pnpm dlx openxiangda@2.9.
|
|
119
|
+
pnpm dlx openxiangda@2.9.2 auth status --base-url <平台> --json
|
|
120
|
+
pnpm dlx openxiangda@2.9.2 source resolve <仓库URL> --base-url <平台> --json
|
|
121
|
+
pnpm dlx openxiangda@2.9.2 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "openxiangda.documentation/v1",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.2",
|
|
4
4
|
"topics": [
|
|
5
5
|
{
|
|
6
6
|
"id": "getting-started",
|
|
7
7
|
"title": "安装与开始开发",
|
|
8
8
|
"file": "getting-started.md",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "26c9eb4ddba8d67d4b685749787c62601b6f2049f6e45ddb796d4cc36a933151"
|
|
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.9.
|
|
3
|
+
"version": "2.9.2",
|
|
4
4
|
"description": "OpenXiangda 2.0 的统一命令、应用 SDK、MCP 与中文 AI 技能资料。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"antd-mobile": "5.42.3",
|
|
61
61
|
"dayjs": "1.11.18",
|
|
62
62
|
"docx-preview": "0.3.7",
|
|
63
|
-
"openxiangda-cli": "2.2.
|
|
63
|
+
"openxiangda-cli": "2.2.14",
|
|
64
64
|
"openxiangda-contracts": "2.7.0",
|
|
65
65
|
"openxiangda-devkit-core": "2.6.0",
|
|
66
66
|
"openxiangda-legacy": "npm:openxiangda@1.0.268",
|
|
@@ -132,36 +132,36 @@
|
|
|
132
132
|
},
|
|
133
133
|
"openxiangdaRelease": {
|
|
134
134
|
"schemaVersion": "openxiangda.release-notes/v1",
|
|
135
|
-
"version": "2.9.
|
|
135
|
+
"version": "2.9.2",
|
|
136
136
|
"status": "reviewed",
|
|
137
|
-
"title": "OpenXiangda 2.9.
|
|
138
|
-
"summary": "
|
|
139
|
-
"newFeatures": [
|
|
140
|
-
"crud[].list.actions 支持 import 与 export 布尔开关,直接资源声明同样支持。",
|
|
141
|
-
"关闭导入适用于原生与流程列表;关闭导出同时覆盖 PC 和移动列表。"
|
|
142
|
-
],
|
|
137
|
+
"title": "OpenXiangda 2.9.2:查询操作数修正与模板版本联动",
|
|
138
|
+
"summary": "修复标准客户端将成员包含查询的单值改成数组导致400的问题,并补齐根包和CLI模板的发布版本联动。",
|
|
139
|
+
"newFeatures": [],
|
|
143
140
|
"fixes": [
|
|
144
|
-
"
|
|
141
|
+
"has操作保持单个稳定标识;in、between、hasAny、hasAll保留数组全部值,不再复用快捷筛选推断操作数形状。",
|
|
142
|
+
"显式查询path保持原值路径;单项快照和级联控件选择仍转为稳定查询值。",
|
|
143
|
+
"列表、批量列表和导出使用相同修正,应用无需修改正确的DataWhere条件。",
|
|
144
|
+
"发布版本规划在写入版本前拒绝缺少CLI配套Changeset的根包升级,避免模板变更到不可变包检查阶段才被发现。"
|
|
145
145
|
],
|
|
146
146
|
"affectedUsers": [
|
|
147
|
-
"
|
|
147
|
+
"使用openxiangda/core显式where成员筛选、数组操作或子值路径查询的V2应用。"
|
|
148
148
|
],
|
|
149
149
|
"upgradeSteps": [
|
|
150
|
-
"
|
|
151
|
-
"
|
|
150
|
+
"将应用的公开openxiangda依赖升级到2.9.2,重新检查并发布测试候选。",
|
|
151
|
+
"复测参与人归属、数组区间筛选及导出;生产晋级复用验收通过的原测试制品。"
|
|
152
152
|
],
|
|
153
153
|
"knownLimitations": [
|
|
154
|
-
"
|
|
155
|
-
"
|
|
156
|
-
"
|
|
154
|
+
"快捷filters的既有界面语义不变;字段类型、行权限与查询边界仍由平台Data API验证。",
|
|
155
|
+
"本补丁不改变业务数据、权限或数据库结构;新增CRUD列表开关仍需平台采用contracts2.7.0。",
|
|
156
|
+
"2.9.1仅为被发布门禁拦截的未发布候选;其查询修正随2.9.2正式交付。"
|
|
157
157
|
],
|
|
158
158
|
"compatibility": {
|
|
159
159
|
"node": ">=24",
|
|
160
160
|
"platform": "openxiangda-contracts 2.7.0"
|
|
161
161
|
},
|
|
162
162
|
"issues": [],
|
|
163
|
-
"sha256": "
|
|
164
|
-
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.
|
|
163
|
+
"sha256": "9989af7b2e2b9e5eaf81bf19b1307366a35b07522082b384918882f8db05d61c",
|
|
164
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.2"
|
|
165
165
|
},
|
|
166
166
|
"scripts": {
|
|
167
167
|
"build": "node ../../scripts/prune-package-dist.mjs && tsc -p tsconfig.json && node scripts/copy-assets.mjs",
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.9.1",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.9.1:保留显式查询操作数与路径",
|
|
6
|
+
"summary": "修复标准客户端将成员包含查询的单值改成数组,导致合法查询返回400的问题。",
|
|
7
|
+
"newFeatures": [],
|
|
8
|
+
"fixes": [
|
|
9
|
+
"has操作保持单个稳定标识;in、between、hasAny、hasAll保留数组全部值,不再复用快捷筛选推断操作数形状。",
|
|
10
|
+
"显式查询path保持原值路径;单项快照和级联控件选择仍转为稳定查询值。",
|
|
11
|
+
"列表、批量列表和导出使用相同修正,应用无需修改正确的DataWhere条件。"
|
|
12
|
+
],
|
|
13
|
+
"affectedUsers": [
|
|
14
|
+
"使用openxiangda/core显式where成员筛选、数组操作或子值路径查询的V2应用。"
|
|
15
|
+
],
|
|
16
|
+
"upgradeSteps": [
|
|
17
|
+
"将应用的公开openxiangda依赖升级到2.9.1,重新检查并发布测试候选。",
|
|
18
|
+
"复测参与人归属、数组区间筛选及导出;生产晋级复用验收通过的原测试制品。"
|
|
19
|
+
],
|
|
20
|
+
"knownLimitations": [
|
|
21
|
+
"快捷filters的既有界面语义不变;字段类型、行权限与查询边界仍由平台Data API验证。",
|
|
22
|
+
"本补丁不改变业务数据、权限或数据库结构;新增CRUD列表开关仍需平台采用contracts2.7.0。"
|
|
23
|
+
],
|
|
24
|
+
"compatibility": {
|
|
25
|
+
"node": ">=24",
|
|
26
|
+
"platform": "openxiangda-contracts 2.7.0"
|
|
27
|
+
},
|
|
28
|
+
"issues": [],
|
|
29
|
+
"sha256": "2cfb20fed9921fc7281f36970f9ba534192fe0eacafb55223e3031587b27f6c7",
|
|
30
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.1"
|
|
31
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "openxiangda.release-notes/v1",
|
|
3
|
+
"version": "2.9.2",
|
|
4
|
+
"status": "reviewed",
|
|
5
|
+
"title": "OpenXiangda 2.9.2:查询操作数修正与模板版本联动",
|
|
6
|
+
"summary": "修复标准客户端将成员包含查询的单值改成数组导致400的问题,并补齐根包和CLI模板的发布版本联动。",
|
|
7
|
+
"newFeatures": [],
|
|
8
|
+
"fixes": [
|
|
9
|
+
"has操作保持单个稳定标识;in、between、hasAny、hasAll保留数组全部值,不再复用快捷筛选推断操作数形状。",
|
|
10
|
+
"显式查询path保持原值路径;单项快照和级联控件选择仍转为稳定查询值。",
|
|
11
|
+
"列表、批量列表和导出使用相同修正,应用无需修改正确的DataWhere条件。",
|
|
12
|
+
"发布版本规划在写入版本前拒绝缺少CLI配套Changeset的根包升级,避免模板变更到不可变包检查阶段才被发现。"
|
|
13
|
+
],
|
|
14
|
+
"affectedUsers": [
|
|
15
|
+
"使用openxiangda/core显式where成员筛选、数组操作或子值路径查询的V2应用。"
|
|
16
|
+
],
|
|
17
|
+
"upgradeSteps": [
|
|
18
|
+
"将应用的公开openxiangda依赖升级到2.9.2,重新检查并发布测试候选。",
|
|
19
|
+
"复测参与人归属、数组区间筛选及导出;生产晋级复用验收通过的原测试制品。"
|
|
20
|
+
],
|
|
21
|
+
"knownLimitations": [
|
|
22
|
+
"快捷filters的既有界面语义不变;字段类型、行权限与查询边界仍由平台Data API验证。",
|
|
23
|
+
"本补丁不改变业务数据、权限或数据库结构;新增CRUD列表开关仍需平台采用contracts2.7.0。",
|
|
24
|
+
"2.9.1仅为被发布门禁拦截的未发布候选;其查询修正随2.9.2正式交付。"
|
|
25
|
+
],
|
|
26
|
+
"compatibility": {
|
|
27
|
+
"node": ">=24",
|
|
28
|
+
"platform": "openxiangda-contracts 2.7.0"
|
|
29
|
+
},
|
|
30
|
+
"issues": [],
|
|
31
|
+
"sha256": "9989af7b2e2b9e5eaf81bf19b1307366a35b07522082b384918882f8db05d61c",
|
|
32
|
+
"url": "https://github.com/1377385356/openxiangda/releases/tag/v2.9.2"
|
|
33
|
+
}
|
package/skills/manifest.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
{
|
|
5
5
|
"name": "openxiangda-v2",
|
|
6
6
|
"description": "使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具体变更出发,通过对话发现模块、完成详细产品设计,再开发、检查和交付应用。维护 1.x 应用时使用对应的 1.x 技能。",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "f739d040741bd91cdb73fd1c69eb71d2b709d48d6fa084ce74855569bbad4cfb"
|
|
8
8
|
}
|
|
9
9
|
]
|
|
10
10
|
}
|
|
@@ -18,10 +18,10 @@ description: 使用 OpenXiangda 2.0 从模糊业务想法、已有资料或具
|
|
|
18
18
|
未创建工作区时使用本 Skill 随根包发布的精确版本:
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
pnpm dlx openxiangda@2.9.
|
|
22
|
-
pnpm dlx openxiangda@2.9.
|
|
23
|
-
pnpm dlx openxiangda@2.9.
|
|
24
|
-
pnpm dlx openxiangda@2.9.
|
|
21
|
+
pnpm dlx openxiangda@2.9.2 auth status --base-url <平台地址> --json
|
|
22
|
+
pnpm dlx openxiangda@2.9.2 login --base-url <平台地址>
|
|
23
|
+
pnpm dlx openxiangda@2.9.2 create <应用目录> --base-url <同一平台地址>
|
|
24
|
+
pnpm dlx openxiangda@2.9.2 skill install --force
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
创建前把产品要求的目标平台明确带入命令,不从旧登录态推断站点。已有工作区从原绑定恢复,平台不一致时先解决登录与目标,不改 link 文件跨站创建。
|
|
@@ -11,10 +11,10 @@ OpenXiangda 2.0 默认生成 React 应用和共享契约。普通 CRUD、标准
|
|
|
11
11
|
以下命令的版本占位符由随包资料替换为该根包的精确版本。网站源码阅读者应先确认要使用的发行版本。
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
pnpm dlx openxiangda@2.9.
|
|
15
|
-
pnpm dlx openxiangda@2.9.
|
|
16
|
-
pnpm dlx openxiangda@2.9.
|
|
17
|
-
pnpm dlx openxiangda@2.9.
|
|
14
|
+
pnpm dlx openxiangda@2.9.2 skill install --force
|
|
15
|
+
pnpm dlx openxiangda@2.9.2 auth status --base-url <平台地址> --json
|
|
16
|
+
pnpm dlx openxiangda@2.9.2 login --base-url https://platform.example.com
|
|
17
|
+
pnpm dlx openxiangda@2.9.2 create my-app --base-url https://platform.example.com
|
|
18
18
|
cd my-app
|
|
19
19
|
pnpm openxiangda context --json
|
|
20
20
|
pnpm openxiangda dev
|
|
@@ -116,9 +116,9 @@ MCP 的 `docs_read` 可以读取本说明,当前没有独立的源码操作 MC
|
|
|
116
116
|
无需本地工作区,使用本 Skill 随包精确版本或已安装的对应 CLI:
|
|
117
117
|
|
|
118
118
|
```bash
|
|
119
|
-
pnpm dlx openxiangda@2.9.
|
|
120
|
-
pnpm dlx openxiangda@2.9.
|
|
121
|
-
pnpm dlx openxiangda@2.9.
|
|
119
|
+
pnpm dlx openxiangda@2.9.2 auth status --base-url <平台> --json
|
|
120
|
+
pnpm dlx openxiangda@2.9.2 source resolve <仓库URL> --base-url <平台> --json
|
|
121
|
+
pnpm dlx openxiangda@2.9.2 source clone <仓库URL> <新目录> --base-url <平台> --json
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
登录缺失或站点不匹配时,先按该平台执行 login。resolve 根据平台已经登记的绑定返回
|