@optima-chat/commerce-cli 1.11.2 → 1.12.0
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/api/rest/commerce.d.ts +5 -1
- package/dist/api/rest/commerce.d.ts.map +1 -1
- package/dist/api/rest/commerce.js.map +1 -1
- package/dist/commands/collection/set-cover.js +1 -1
- package/dist/commands/collection/set-cover.js.map +1 -1
- package/dist/commands/collection/update.js +7 -15
- package/dist/commands/collection/update.js.map +1 -1
- package/dist/commands/homepage/create-banner.d.ts +3 -0
- package/dist/commands/homepage/create-banner.d.ts.map +1 -0
- package/dist/commands/homepage/create-banner.js +142 -0
- package/dist/commands/homepage/create-banner.js.map +1 -0
- package/dist/commands/homepage/create-collection-products.d.ts +3 -0
- package/dist/commands/homepage/create-collection-products.d.ts.map +1 -0
- package/dist/commands/homepage/create-collection-products.js +124 -0
- package/dist/commands/homepage/create-collection-products.js.map +1 -0
- package/dist/commands/homepage/create-collections.d.ts +3 -0
- package/dist/commands/homepage/create-collections.d.ts.map +1 -0
- package/dist/commands/homepage/create-collections.js +121 -0
- package/dist/commands/homepage/create-collections.js.map +1 -0
- package/dist/commands/homepage/create-featured.d.ts +3 -0
- package/dist/commands/homepage/create-featured.d.ts.map +1 -0
- package/dist/commands/homepage/create-featured.js +151 -0
- package/dist/commands/homepage/create-featured.js.map +1 -0
- package/dist/commands/homepage/index.d.ts.map +1 -1
- package/dist/commands/homepage/index.js +8 -2
- package/dist/commands/homepage/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/homepage/create.d.ts +0 -3
- package/dist/commands/homepage/create.d.ts.map +0 -1
- package/dist/commands/homepage/create.js +0 -174
- package/dist/commands/homepage/create.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-banner.js","sourceRoot":"","sources":["../../../src/commands/homepage/create-banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-collection-products.d.ts","sourceRoot":"","sources":["../../../src/commands/homepage/create-collection-products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4EpC,eAAO,MAAM,+BAA+B,SAAM,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { commerceApi } from '../../api/rest/commerce.js';
|
|
4
|
+
import { handleError, createApiError, ValidationError } from '../../utils/error.js';
|
|
5
|
+
import { output } from '../../utils/output.js';
|
|
6
|
+
import { addEnhancedHelp } from '../../utils/helpText.js';
|
|
7
|
+
import { isInteractiveEnvironment } from '../../utils/interactive.js';
|
|
8
|
+
const cmd = new Command('create-collection-products')
|
|
9
|
+
.description('Create a section showing products from a collection')
|
|
10
|
+
.option('--title <title>', 'Section title (required)')
|
|
11
|
+
.option('--description <text>', 'Section description (optional)')
|
|
12
|
+
.option('--lang <code>', 'Language code (default: en-US)', 'en-US')
|
|
13
|
+
.option('--slug <slug>', 'Collection slug (required)')
|
|
14
|
+
.option('--limit <number>', 'Max products to show (default: 8)', '8')
|
|
15
|
+
.action(async (options) => {
|
|
16
|
+
try {
|
|
17
|
+
await createCollectionProducts(options);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
handleError(error);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
addEnhancedHelp(cmd, {
|
|
24
|
+
examples: [
|
|
25
|
+
'# Show products from a collection',
|
|
26
|
+
'$ commerce homepage create-collection-products --title "New Arrivals" --slug new-arrivals',
|
|
27
|
+
'',
|
|
28
|
+
'# Limit number of products shown',
|
|
29
|
+
'$ commerce homepage create-collection-products --title "Best Sellers" \\',
|
|
30
|
+
' --slug best-sellers --limit 4',
|
|
31
|
+
'',
|
|
32
|
+
'# With Chinese title',
|
|
33
|
+
'$ commerce homepage create-collection-products --title "热销商品" \\',
|
|
34
|
+
' --slug best-sellers --lang zh-CN',
|
|
35
|
+
],
|
|
36
|
+
output: {
|
|
37
|
+
example: JSON.stringify({
|
|
38
|
+
success: true,
|
|
39
|
+
data: {
|
|
40
|
+
id: 'section-123',
|
|
41
|
+
type: 'collection_products',
|
|
42
|
+
position: 4,
|
|
43
|
+
handle: 'collection_products-0',
|
|
44
|
+
settings: {
|
|
45
|
+
collection_slug: 'new-arrivals',
|
|
46
|
+
limit: 8,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
message: '首页区块创建成功',
|
|
50
|
+
}, null, 2),
|
|
51
|
+
},
|
|
52
|
+
relatedCommands: [
|
|
53
|
+
{ command: 'collection list', description: 'List available collections' },
|
|
54
|
+
{ command: 'homepage list', description: 'List all sections' },
|
|
55
|
+
{ command: 'homepage delete', description: 'Delete section' },
|
|
56
|
+
],
|
|
57
|
+
notes: [
|
|
58
|
+
'--slug is required, must be an existing collection slug',
|
|
59
|
+
'--limit controls max number of products displayed (default: 8)',
|
|
60
|
+
'Products are shown in collection order',
|
|
61
|
+
],
|
|
62
|
+
});
|
|
63
|
+
export const createCollectionProductsCommand = cmd;
|
|
64
|
+
async function createCollectionProducts(options) {
|
|
65
|
+
const { title, description, lang = 'en-US', slug, limit = '8' } = options;
|
|
66
|
+
// Validate required params
|
|
67
|
+
if (!isInteractiveEnvironment()) {
|
|
68
|
+
if (!title || title.trim().length === 0) {
|
|
69
|
+
throw new ValidationError('缺少必需参数: --title (区块标题)', 'title');
|
|
70
|
+
}
|
|
71
|
+
if (!slug || slug.trim().length === 0) {
|
|
72
|
+
throw new ValidationError('缺少必需参数: --slug (集合标识)', 'slug');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
if (!title)
|
|
77
|
+
throw new ValidationError('缺少必需参数: --title', 'title');
|
|
78
|
+
if (!slug)
|
|
79
|
+
throw new ValidationError('缺少必需参数: --slug', 'slug');
|
|
80
|
+
}
|
|
81
|
+
// Parse limit
|
|
82
|
+
const parsedLimit = parseInt(limit, 10);
|
|
83
|
+
if (isNaN(parsedLimit) || parsedLimit < 1) {
|
|
84
|
+
throw new ValidationError('--limit 必须是正整数', 'limit');
|
|
85
|
+
}
|
|
86
|
+
const spinner = output.spinner('正在创建 Collection Products 区块...');
|
|
87
|
+
try {
|
|
88
|
+
const translationContent = { title: title };
|
|
89
|
+
if (description) {
|
|
90
|
+
translationContent.description = description;
|
|
91
|
+
}
|
|
92
|
+
const data = {
|
|
93
|
+
type: 'collection_products',
|
|
94
|
+
translations: {
|
|
95
|
+
[lang]: translationContent,
|
|
96
|
+
},
|
|
97
|
+
settings: {
|
|
98
|
+
collection_slug: slug,
|
|
99
|
+
limit: parsedLimit,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
const result = await commerceApi.homepage.sections.create(data);
|
|
103
|
+
spinner.succeed('Collection Products 区块创建成功!');
|
|
104
|
+
if (output.isJson()) {
|
|
105
|
+
output.success(result, '首页区块创建成功');
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
console.log();
|
|
109
|
+
console.log(chalk.green('✓ Collection Products 区块创建成功!'));
|
|
110
|
+
console.log();
|
|
111
|
+
console.log(chalk.gray('区块ID: ') + chalk.cyan(result.id));
|
|
112
|
+
console.log(chalk.gray('类型: ') + chalk.white('collection_products'));
|
|
113
|
+
console.log(chalk.gray('位置: ') + chalk.white(result.position?.toString() || 'N/A'));
|
|
114
|
+
console.log(chalk.gray('集合: ') + chalk.white(slug));
|
|
115
|
+
console.log(chalk.gray('数量限制: ') + chalk.white(parsedLimit.toString()));
|
|
116
|
+
console.log();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
spinner.fail('创建 Collection Products 区块失败');
|
|
121
|
+
throw createApiError(error);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=create-collection-products.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-collection-products.js","sourceRoot":"","sources":["../../../src/commands/homepage/create-collection-products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAUtE,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC;KAClD,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;KACrD,MAAM,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;KAChE,MAAM,CAAC,eAAe,EAAE,gCAAgC,EAAE,OAAO,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CAAC,kBAAkB,EAAE,mCAAmC,EAAE,GAAG,CAAC;KACpE,MAAM,CAAC,KAAK,EAAE,OAAwC,EAAE,EAAE;IACzD,IAAI,CAAC;QACH,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,eAAe,CAAC,GAAG,EAAE;IACnB,QAAQ,EAAE;QACR,mCAAmC;QACnC,2FAA2F;QAC3F,EAAE;QACF,kCAAkC;QAClC,0EAA0E;QAC1E,iCAAiC;QACjC,EAAE;QACF,sBAAsB;QACtB,kEAAkE;QAClE,oCAAoC;KACrC;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI,CAAC,SAAS,CACrB;YACE,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,uBAAuB;gBAC/B,QAAQ,EAAE;oBACR,eAAe,EAAE,cAAc;oBAC/B,KAAK,EAAE,CAAC;iBACT;aACF;YACD,OAAO,EAAE,UAAU;SACpB,EACD,IAAI,EACJ,CAAC,CACF;KACF;IACD,eAAe,EAAE;QACf,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,4BAA4B,EAAE;QACzE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE;QAC9D,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE;KAC9D;IACD,KAAK,EAAE;QACL,yDAAyD;QACzD,gEAAgE;QAChE,wCAAwC;KACzC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,KAAK,UAAU,wBAAwB,CAAC,OAAwC;IAC9E,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC;IAE1E,2BAA2B;IAC3B,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,eAAe,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,cAAc;IACd,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAEjE,IAAI,CAAC;QACH,MAAM,kBAAkB,GAA2B,EAAE,KAAK,EAAE,KAAM,EAAE,CAAC;QACrE,IAAI,WAAW,EAAE,CAAC;YAChB,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,qBAA8B;YACpC,YAAY,EAAE;gBACZ,CAAC,IAAI,CAAC,EAAE,kBAAkB;aAC3B;YACD,QAAQ,EAAE;gBACR,eAAe,EAAE,IAAI;gBACrB,KAAK,EAAE,WAAW;aACnB;SACF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAE/C,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAK,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC5C,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-collections.d.ts","sourceRoot":"","sources":["../../../src/commands/homepage/create-collections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwEpC,eAAO,MAAM,wBAAwB,SAAM,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { commerceApi } from '../../api/rest/commerce.js';
|
|
4
|
+
import { handleError, createApiError, ValidationError } from '../../utils/error.js';
|
|
5
|
+
import { output } from '../../utils/output.js';
|
|
6
|
+
import { addEnhancedHelp } from '../../utils/helpText.js';
|
|
7
|
+
import { isInteractiveEnvironment } from '../../utils/interactive.js';
|
|
8
|
+
const cmd = new Command('create-collections')
|
|
9
|
+
.description('Create a collections showcase section')
|
|
10
|
+
.option('--title <title>', 'Section title (required)')
|
|
11
|
+
.option('--description <text>', 'Section description (optional)')
|
|
12
|
+
.option('--lang <code>', 'Language code (default: en-US)', 'en-US')
|
|
13
|
+
.option('--slugs <slugs>', 'Collection slugs, comma-separated (required)')
|
|
14
|
+
.action(async (options) => {
|
|
15
|
+
try {
|
|
16
|
+
await createCollections(options);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
handleError(error);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
addEnhancedHelp(cmd, {
|
|
23
|
+
examples: [
|
|
24
|
+
'# Create collections section with one collection',
|
|
25
|
+
'$ commerce homepage create-collections --title "Shop by Category" --slugs new-arrivals',
|
|
26
|
+
'',
|
|
27
|
+
'# Create with multiple collections',
|
|
28
|
+
'$ commerce homepage create-collections --title "Featured Collections" \\',
|
|
29
|
+
' --slugs "new-arrivals,best-sellers,on-sale"',
|
|
30
|
+
'',
|
|
31
|
+
'# Create with Chinese title',
|
|
32
|
+
'$ commerce homepage create-collections --title "精选系列" --slugs "new-arrivals" --lang zh-CN',
|
|
33
|
+
],
|
|
34
|
+
output: {
|
|
35
|
+
example: JSON.stringify({
|
|
36
|
+
success: true,
|
|
37
|
+
data: {
|
|
38
|
+
id: 'section-123',
|
|
39
|
+
type: 'collections',
|
|
40
|
+
position: 2,
|
|
41
|
+
handle: 'collections-0',
|
|
42
|
+
settings: {
|
|
43
|
+
collection_slugs: ['new-arrivals', 'best-sellers'],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
message: '首页区块创建成功',
|
|
47
|
+
}, null, 2),
|
|
48
|
+
},
|
|
49
|
+
relatedCommands: [
|
|
50
|
+
{ command: 'homepage update-collections', description: 'Update collection slugs' },
|
|
51
|
+
{ command: 'collection list', description: 'List available collections' },
|
|
52
|
+
{ command: 'homepage list', description: 'List all sections' },
|
|
53
|
+
],
|
|
54
|
+
notes: [
|
|
55
|
+
'--slugs is required, use comma to separate multiple slugs',
|
|
56
|
+
'Collections will be displayed in the order specified',
|
|
57
|
+
'Make sure collection slugs exist before using them',
|
|
58
|
+
],
|
|
59
|
+
});
|
|
60
|
+
export const createCollectionsCommand = cmd;
|
|
61
|
+
async function createCollections(options) {
|
|
62
|
+
const { title, description, lang = 'en-US', slugs } = options;
|
|
63
|
+
// Validate required params
|
|
64
|
+
if (!isInteractiveEnvironment()) {
|
|
65
|
+
if (!title || title.trim().length === 0) {
|
|
66
|
+
throw new ValidationError('缺少必需参数: --title (区块标题)', 'title');
|
|
67
|
+
}
|
|
68
|
+
if (!slugs || slugs.trim().length === 0) {
|
|
69
|
+
throw new ValidationError('缺少必需参数: --slugs (集合标识)', 'slugs');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
if (!title) {
|
|
74
|
+
throw new ValidationError('缺少必需参数: --title', 'title');
|
|
75
|
+
}
|
|
76
|
+
if (!slugs) {
|
|
77
|
+
throw new ValidationError('缺少必需参数: --slugs', 'slugs');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Parse slugs
|
|
81
|
+
const collectionSlugs = slugs.split(',').map((s) => s.trim()).filter((s) => s.length > 0);
|
|
82
|
+
if (collectionSlugs.length === 0) {
|
|
83
|
+
throw new ValidationError('至少需要提供一个集合标识', 'slugs');
|
|
84
|
+
}
|
|
85
|
+
const spinner = output.spinner('正在创建 Collections 区块...');
|
|
86
|
+
try {
|
|
87
|
+
const translationContent = { title: title };
|
|
88
|
+
if (description) {
|
|
89
|
+
translationContent.description = description;
|
|
90
|
+
}
|
|
91
|
+
const data = {
|
|
92
|
+
type: 'collections',
|
|
93
|
+
translations: {
|
|
94
|
+
[lang]: translationContent,
|
|
95
|
+
},
|
|
96
|
+
settings: {
|
|
97
|
+
collection_slugs: collectionSlugs,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
const result = await commerceApi.homepage.sections.create(data);
|
|
101
|
+
spinner.succeed('Collections 区块创建成功!');
|
|
102
|
+
if (output.isJson()) {
|
|
103
|
+
output.success(result, '首页区块创建成功');
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
console.log();
|
|
107
|
+
console.log(chalk.green('✓ Collections 区块创建成功!'));
|
|
108
|
+
console.log();
|
|
109
|
+
console.log(chalk.gray('区块ID: ') + chalk.cyan(result.id));
|
|
110
|
+
console.log(chalk.gray('类型: ') + chalk.white('collections'));
|
|
111
|
+
console.log(chalk.gray('位置: ') + chalk.white(result.position?.toString() || 'N/A'));
|
|
112
|
+
console.log(chalk.gray('集合: ') + chalk.white(collectionSlugs.join(', ')));
|
|
113
|
+
console.log();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
spinner.fail('创建 Collections 区块失败');
|
|
118
|
+
throw createApiError(error);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=create-collections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-collections.js","sourceRoot":"","sources":["../../../src/commands/homepage/create-collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-featured.d.ts","sourceRoot":"","sources":["../../../src/commands/homepage/create-featured.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuFpC,eAAO,MAAM,qBAAqB,SAAM,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { commerceApi } from '../../api/rest/commerce.js';
|
|
4
|
+
import { handleError, createApiError, ValidationError } from '../../utils/error.js';
|
|
5
|
+
import { output } from '../../utils/output.js';
|
|
6
|
+
import { addEnhancedHelp } from '../../utils/helpText.js';
|
|
7
|
+
import { isInteractiveEnvironment } from '../../utils/interactive.js';
|
|
8
|
+
const cmd = new Command('create-featured')
|
|
9
|
+
.description('Create a featured promotion section')
|
|
10
|
+
.option('--title <title>', 'Section title (required)')
|
|
11
|
+
.option('--description <text>', 'Section description (optional)')
|
|
12
|
+
.option('--lang <code>', 'Language code (default: en-US)', 'en-US')
|
|
13
|
+
.option('--target-type <type>', 'Target type: collection|product|url (required)')
|
|
14
|
+
.option('--target-handle <handle>', 'Target handle/slug or URL (required)')
|
|
15
|
+
.option('--cta <text>', 'Call-to-action button text (required)')
|
|
16
|
+
.option('--image-url <url>', 'Featured image URL (required)')
|
|
17
|
+
.action(async (options) => {
|
|
18
|
+
try {
|
|
19
|
+
await createFeatured(options);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
handleError(error);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
addEnhancedHelp(cmd, {
|
|
26
|
+
examples: [
|
|
27
|
+
'# Create featured section linking to a collection',
|
|
28
|
+
'$ commerce homepage create-featured --title "Summer Sale" \\',
|
|
29
|
+
' --target-type collection --target-handle summer-sale --cta "Shop Now" \\',
|
|
30
|
+
' --image-url "https://example.com/promo.jpg"',
|
|
31
|
+
'',
|
|
32
|
+
'# Create featured section linking to a product',
|
|
33
|
+
'$ commerce homepage create-featured --title "New Arrival" \\',
|
|
34
|
+
' --target-type product --target-handle awesome-product --cta "Buy Now" \\',
|
|
35
|
+
' --image-url "https://example.com/product.jpg"',
|
|
36
|
+
'',
|
|
37
|
+
'# Create featured section linking to external URL',
|
|
38
|
+
'$ commerce homepage create-featured --title "Special Offer" \\',
|
|
39
|
+
' --target-type url --target-handle "https://example.com/sale" \\',
|
|
40
|
+
' --cta "Learn More" --image-url "https://example.com/banner.jpg"',
|
|
41
|
+
],
|
|
42
|
+
output: {
|
|
43
|
+
example: JSON.stringify({
|
|
44
|
+
success: true,
|
|
45
|
+
data: {
|
|
46
|
+
id: 'section-123',
|
|
47
|
+
type: 'featured',
|
|
48
|
+
position: 3,
|
|
49
|
+
handle: 'featured-0',
|
|
50
|
+
settings: {
|
|
51
|
+
target_type: 'collection',
|
|
52
|
+
target_handle: 'summer-sale',
|
|
53
|
+
cta_text: 'Shop Now',
|
|
54
|
+
url: 'https://example.com/promo.jpg',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
message: '首页区块创建成功',
|
|
58
|
+
}, null, 2),
|
|
59
|
+
},
|
|
60
|
+
relatedCommands: [
|
|
61
|
+
{ command: 'homepage update-target', description: 'Update target settings' },
|
|
62
|
+
{ command: 'collection list', description: 'List available collections' },
|
|
63
|
+
{ command: 'homepage list', description: 'List all sections' },
|
|
64
|
+
],
|
|
65
|
+
notes: [
|
|
66
|
+
'--image-url is required, the featured image to display',
|
|
67
|
+
'--target-type must be: collection, product, or url',
|
|
68
|
+
'--target-handle is the slug for collection/product, or full URL for url type',
|
|
69
|
+
'--cta is the button text shown to users',
|
|
70
|
+
],
|
|
71
|
+
});
|
|
72
|
+
export const createFeaturedCommand = cmd;
|
|
73
|
+
async function createFeatured(options) {
|
|
74
|
+
const { title, description, lang = 'en-US', targetType, targetHandle, cta, imageUrl } = options;
|
|
75
|
+
// Validate required params
|
|
76
|
+
if (!isInteractiveEnvironment()) {
|
|
77
|
+
if (!title || title.trim().length === 0) {
|
|
78
|
+
throw new ValidationError('缺少必需参数: --title (区块标题)', 'title');
|
|
79
|
+
}
|
|
80
|
+
if (!targetType || targetType.trim().length === 0) {
|
|
81
|
+
throw new ValidationError('缺少必需参数: --target-type (目标类型)', 'target-type');
|
|
82
|
+
}
|
|
83
|
+
if (!targetHandle || targetHandle.trim().length === 0) {
|
|
84
|
+
throw new ValidationError('缺少必需参数: --target-handle (目标标识)', 'target-handle');
|
|
85
|
+
}
|
|
86
|
+
if (!cta || cta.trim().length === 0) {
|
|
87
|
+
throw new ValidationError('缺少必需参数: --cta (按钮文字)', 'cta');
|
|
88
|
+
}
|
|
89
|
+
if (!imageUrl || imageUrl.trim().length === 0) {
|
|
90
|
+
throw new ValidationError('缺少必需参数: --image-url (展示图片)', 'image-url');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
if (!title)
|
|
95
|
+
throw new ValidationError('缺少必需参数: --title', 'title');
|
|
96
|
+
if (!targetType)
|
|
97
|
+
throw new ValidationError('缺少必需参数: --target-type', 'target-type');
|
|
98
|
+
if (!targetHandle)
|
|
99
|
+
throw new ValidationError('缺少必需参数: --target-handle', 'target-handle');
|
|
100
|
+
if (!cta)
|
|
101
|
+
throw new ValidationError('缺少必需参数: --cta', 'cta');
|
|
102
|
+
if (!imageUrl)
|
|
103
|
+
throw new ValidationError('缺少必需参数: --image-url', 'image-url');
|
|
104
|
+
}
|
|
105
|
+
// Validate target type
|
|
106
|
+
const validTargetTypes = ['collection', 'product', 'url'];
|
|
107
|
+
if (!validTargetTypes.includes(targetType)) {
|
|
108
|
+
throw new ValidationError(`无效的目标类型: ${targetType}。有效值: ${validTargetTypes.join(', ')}`, 'target-type');
|
|
109
|
+
}
|
|
110
|
+
const spinner = output.spinner('正在创建 Featured 区块...');
|
|
111
|
+
try {
|
|
112
|
+
const translationContent = { title: title };
|
|
113
|
+
if (description) {
|
|
114
|
+
translationContent.description = description;
|
|
115
|
+
}
|
|
116
|
+
const settings = {
|
|
117
|
+
target_type: targetType,
|
|
118
|
+
target_handle: targetHandle,
|
|
119
|
+
cta_text: cta,
|
|
120
|
+
url: imageUrl,
|
|
121
|
+
};
|
|
122
|
+
const data = {
|
|
123
|
+
type: 'featured',
|
|
124
|
+
translations: {
|
|
125
|
+
[lang]: translationContent,
|
|
126
|
+
},
|
|
127
|
+
settings,
|
|
128
|
+
};
|
|
129
|
+
const result = await commerceApi.homepage.sections.create(data);
|
|
130
|
+
spinner.succeed('Featured 区块创建成功!');
|
|
131
|
+
if (output.isJson()) {
|
|
132
|
+
output.success(result, '首页区块创建成功');
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
console.log();
|
|
136
|
+
console.log(chalk.green('✓ Featured 区块创建成功!'));
|
|
137
|
+
console.log();
|
|
138
|
+
console.log(chalk.gray('区块ID: ') + chalk.cyan(result.id));
|
|
139
|
+
console.log(chalk.gray('类型: ') + chalk.white('featured'));
|
|
140
|
+
console.log(chalk.gray('位置: ') + chalk.white(result.position?.toString() || 'N/A'));
|
|
141
|
+
console.log(chalk.gray('目标: ') + chalk.white(`${targetType}:${targetHandle}`));
|
|
142
|
+
console.log(chalk.gray('按钮: ') + chalk.white(cta));
|
|
143
|
+
console.log();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
spinner.fail('创建 Featured 区块失败');
|
|
148
|
+
throw createApiError(error);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=create-featured.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-featured.js","sourceRoot":"","sources":["../../../src/commands/homepage/create-featured.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/homepage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/homepage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,QAAA,MAAM,QAAQ,SAAgF,CAAC;AAyB/F,eAAe,QAAQ,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { listSectionsCommand } from './list.js';
|
|
3
|
-
import {
|
|
3
|
+
import { createBannerCommand } from './create-banner.js';
|
|
4
|
+
import { createCollectionsCommand } from './create-collections.js';
|
|
5
|
+
import { createFeaturedCommand } from './create-featured.js';
|
|
6
|
+
import { createCollectionProductsCommand } from './create-collection-products.js';
|
|
4
7
|
import { getSectionCommand } from './get.js';
|
|
5
8
|
import { updateSectionCommand } from './update.js';
|
|
6
9
|
import { deleteSectionCommand } from './delete.js';
|
|
@@ -21,7 +24,10 @@ homepage.addCommand(switchTemplateCommand);
|
|
|
21
24
|
homepage.addCommand(deleteConfigCommand);
|
|
22
25
|
// 基础 CRUD 命令
|
|
23
26
|
homepage.addCommand(listSectionsCommand);
|
|
24
|
-
homepage.addCommand(
|
|
27
|
+
homepage.addCommand(createBannerCommand);
|
|
28
|
+
homepage.addCommand(createCollectionsCommand);
|
|
29
|
+
homepage.addCommand(createFeaturedCommand);
|
|
30
|
+
homepage.addCommand(createCollectionProductsCommand);
|
|
25
31
|
homepage.addCommand(getSectionCommand);
|
|
26
32
|
homepage.addCommand(updateSectionCommand);
|
|
27
33
|
homepage.addCommand(deleteSectionCommand);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/homepage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/homepage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;AAE/F,UAAU;AACV,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC1C,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC3C,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAEzC,aAAa;AACb,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAC9C,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC3C,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC,CAAC;AACrD,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACvC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC1C,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC1C,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAE5C,iBAAiB;AACjB,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAC9C,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACzC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAE1C,eAAe,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/homepage/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8EpC,eAAO,MAAM,oBAAoB,SAAM,CAAC"}
|