siluzan-tso-cli 1.0.0-beta.39 → 1.0.0-beta.40
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/README.md
CHANGED
|
@@ -20,7 +20,7 @@ siluzan-tso init -d /path/to/skills # 写入自定义目录
|
|
|
20
20
|
siluzan-tso init --force # 强制覆盖已存在文件
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
> **注意**:当前为测试版(1.0.0-beta.
|
|
23
|
+
> **注意**:当前为测试版(1.0.0-beta.40),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
|
|
24
24
|
|
|
25
25
|
| 助手 | 建议 `--ai` |
|
|
26
26
|
|------|-------------|
|
package/dist/index.js
CHANGED
|
@@ -911,6 +911,13 @@ function deriveWebUrl(apiBaseUrl) {
|
|
|
911
911
|
return "https://www.siluzan.com";
|
|
912
912
|
}
|
|
913
913
|
}
|
|
914
|
+
var TSO_UMI_ROUTE_PREFIX = "/v3umijs/tso";
|
|
915
|
+
function buildTsoPageWebUrl(webUrl, tsoSubRoute) {
|
|
916
|
+
const path10 = tsoSubRoute.replace(/^\/+/, "");
|
|
917
|
+
const umiPath = `${TSO_UMI_ROUTE_PREFIX}/${path10}`;
|
|
918
|
+
const q = new URLSearchParams({ tso: umiPath });
|
|
919
|
+
return `${webUrl.replace(/\/+$/, "")}/v3/foreign_trade/tso/${path10}?${q.toString()}`;
|
|
920
|
+
}
|
|
914
921
|
function cmdConfigShow() {
|
|
915
922
|
const shared = readSharedConfig();
|
|
916
923
|
const authToken = shared.authToken;
|
|
@@ -2436,7 +2443,7 @@ async function runReportList(opts) {
|
|
|
2436
2443
|
const pathByType = { Hourly: "hour" };
|
|
2437
2444
|
const itemsWithUrl = items.map((item) => ({
|
|
2438
2445
|
...item,
|
|
2439
|
-
viewUrl:
|
|
2446
|
+
viewUrl: `${webUrl}/media-report/${pathByType[item.reportType ?? ""] ?? "publish"}/${item.entityId}?culture=zh-CN`
|
|
2440
2447
|
}));
|
|
2441
2448
|
const page = opts.page ?? 1;
|
|
2442
2449
|
const pageSize = opts.pageSize ?? 20;
|
|
@@ -8705,6 +8712,12 @@ import * as fs7 from "fs";
|
|
|
8705
8712
|
import * as path8 from "path";
|
|
8706
8713
|
import * as readline from "readline/promises";
|
|
8707
8714
|
import { stdin as stdinStream, stdout as stdoutStream } from "process";
|
|
8715
|
+
function logAccountOpeningHistoryWebUrl(apiBaseUrl) {
|
|
8716
|
+
const url = buildTsoPageWebUrl(deriveWebUrl(apiBaseUrl), "accountOpeningHistory");
|
|
8717
|
+
console.log(` \u5982\u9700\u5728\u7F51\u9875\u67E5\u770B\u6216\u786E\u8BA4\uFF0C\u8BF7\u6253\u5F00\u300C\u5F00\u6237\u8BB0\u5F55\u300D\uFF1A
|
|
8718
|
+
${url}
|
|
8719
|
+
`);
|
|
8720
|
+
}
|
|
8708
8721
|
async function runListAdvertiserGroups(opts) {
|
|
8709
8722
|
const config = loadConfig(opts.token);
|
|
8710
8723
|
let data;
|
|
@@ -8939,6 +8952,7 @@ async function runOpenAccountYandex(opts) {
|
|
|
8939
8952
|
opts.verbose
|
|
8940
8953
|
);
|
|
8941
8954
|
console.log("\n\u2705 Yandex \u5F00\u6237\u7533\u8BF7\u5DF2\u63D0\u4EA4\u6210\u529F\uFF0C\u8BF7\u5728\u300C\u5F00\u6237\u8BB0\u5F55\u300D\u9875\u9762\u67E5\u770B\u5BA1\u6838\u72B6\u6001\u3002\n");
|
|
8955
|
+
logAccountOpeningHistoryWebUrl(config.apiBaseUrl);
|
|
8942
8956
|
if (opts.verbose && res != null) {
|
|
8943
8957
|
console.log("\u54CD\u5E94\uFF1A", JSON.stringify(res, null, 2));
|
|
8944
8958
|
}
|
|
@@ -9064,6 +9078,7 @@ async function runOpenAccountBing(opts) {
|
|
|
9064
9078
|
opts.verbose
|
|
9065
9079
|
);
|
|
9066
9080
|
console.log("\n\u2705 Bing \u5F00\u6237\u7533\u8BF7\u5DF2\u63D0\u4EA4\u6210\u529F\uFF0C\u8BF7\u5728\u300C\u5F00\u6237\u8BB0\u5F55\u300D\u9875\u9762\u67E5\u770B\u5BA1\u6838\u72B6\u6001\u3002\n");
|
|
9081
|
+
logAccountOpeningHistoryWebUrl(config.apiBaseUrl);
|
|
9067
9082
|
} catch (err) {
|
|
9068
9083
|
console.error(`
|
|
9069
9084
|
\u274C \u63D0\u4EA4\u5931\u8D25\uFF1A${err instanceof Error ? err.message : String(err)}
|
|
@@ -9151,6 +9166,7 @@ async function runOpenAccountKwai(opts) {
|
|
|
9151
9166
|
opts.verbose
|
|
9152
9167
|
);
|
|
9153
9168
|
console.log("\n\u2705 Kwai \u5F00\u6237\u7533\u8BF7\u5DF2\u63D0\u4EA4\u6210\u529F\uFF0C\u8BF7\u5728\u300C\u5F00\u6237\u8BB0\u5F55\u300D\u9875\u9762\u67E5\u770B\u5BA1\u6838\u72B6\u6001\u3002\n");
|
|
9169
|
+
logAccountOpeningHistoryWebUrl(config.apiBaseUrl);
|
|
9154
9170
|
} catch (err) {
|
|
9155
9171
|
console.error(`
|
|
9156
9172
|
\u274C \u63D0\u4EA4\u5931\u8D25\uFF1A${err instanceof Error ? err.message : String(err)}
|
|
@@ -9408,6 +9424,7 @@ async function runOpenAccountGoogle(opts) {
|
|
|
9408
9424
|
\u2705 Google \u5F00\u6237\u7533\u8BF7\u5DF2\u63D0\u4EA4\uFF08\u5171 ${counts} \u4E2A\uFF09\uFF0C\u9080\u8BF7\u90AE\u4EF6\u5C06\u53D1\u9001\u5230 ${inviteEmail}\u3002
|
|
9409
9425
|
\u8BF7\u5728\u300C\u5F00\u6237\u8BB0\u5F55\u300D\u9875\u9762\u67E5\u770B\u5BA1\u6838\u72B6\u6001\u3002
|
|
9410
9426
|
`);
|
|
9427
|
+
logAccountOpeningHistoryWebUrl(config.apiBaseUrl);
|
|
9411
9428
|
} catch (err) {
|
|
9412
9429
|
console.error(`
|
|
9413
9430
|
\u274C \u63D0\u4EA4\u5931\u8D25\uFF1A${err instanceof Error ? err.message : String(err)}
|
|
@@ -9537,6 +9554,7 @@ async function runOpenAccountTikTok(opts) {
|
|
|
9537
9554
|
\u2705 TikTok \u5F00\u6237\u7533\u8BF7\u5DF2\u63D0\u4EA4\uFF08\u5171 ${counts} \u4E2A\uFF09\u3002
|
|
9538
9555
|
\u8BF7\u5728\u300C\u5F00\u6237\u8BB0\u5F55\u300D\u9875\u9762\u67E5\u770B\u5BA1\u6838\u72B6\u6001\u3002
|
|
9539
9556
|
`);
|
|
9557
|
+
logAccountOpeningHistoryWebUrl(config.apiBaseUrl);
|
|
9540
9558
|
} catch (err) {
|
|
9541
9559
|
console.error(`
|
|
9542
9560
|
\u274C \u63D0\u4EA4\u5931\u8D25\uFF1A${err instanceof Error ? err.message : String(err)}
|
package/dist/skill/SKILL.md
CHANGED
|
@@ -101,6 +101,7 @@ description: >-
|
|
|
101
101
|
| 查广告主组(TikTok 等取 magKey) | `siluzan-tso open-account list-groups` |
|
|
102
102
|
| Google 开户(脚本) | `siluzan-tso open-account google --company "…" --promotion-link "…" --promotion-type b2c ...`(**无需 magKey**) |
|
|
103
103
|
| Google 开户时区列表 | `siluzan-tso open-account google-timezones`(可加 `--keyword`) |
|
|
104
|
+
| 开户记录(网页,提交开户后确认/查进度;**勿用** `manageAccounts`) | `config show` 取 `webUrl` → `{webUrl}/v3/foreign_trade/tso/accountOpeningHistory` |
|
|
104
105
|
| TikTok 开户时区列表 | `siluzan-tso open-account tiktok-timezones`(可加 `--keyword`) |
|
|
105
106
|
| TikTok 行业列表 | `siluzan-tso open-account tiktok-industries`(两级结构,传叶子节点 ID) |
|
|
106
107
|
| TikTok 注册地列表 | `siluzan-tso open-account tiktok-areas`(`--registered-area` 的合法值) |
|
package/dist/skill/_meta.json
CHANGED
|
@@ -90,6 +90,10 @@ siluzan-tso open-account google-wizard
|
|
|
90
90
|
# 轮询审核进度
|
|
91
91
|
siluzan-tso account-history -m Google
|
|
92
92
|
|
|
93
|
+
# 提交后需在网页查看/确认:开户记录(勿用 manageAccounts)
|
|
94
|
+
# {webUrl}/v3/foreign_trade/tso/accountOpeningHistory?tso=%2Fv3umijs%2Ftso%2FaccountOpeningHistory
|
|
95
|
+
# (非交互 `open-account google` 成功时 CLI 也会打印该链接)
|
|
96
|
+
|
|
93
97
|
# 审核通过后,充值激活(必须网页完成)
|
|
94
98
|
# siluzan-tso config show 取 webUrl,打开:{webUrl}/v3/foreign_trade/tso/recharge
|
|
95
99
|
# 美元账户最低约 100 USD,人民币账户约 700 CNY
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
|
|
10
10
|
对应页面:`/accountOpeningHistory`
|
|
11
11
|
|
|
12
|
+
> **网页完整链接(微前端)**:`{webUrl}/v3/foreign_trade/tso/accountOpeningHistory?tso=%2Fv3umijs%2Ftso%2FaccountOpeningHistory`(与 CLI `account-history` 同源数据)。开户提交后若需用户在网页确认,应打开此「开户记录」页,**不要**误链到「媒体账户」`manageAccounts`。
|
|
13
|
+
|
|
12
14
|
### 业务背景
|
|
13
15
|
|
|
14
16
|
用户在丝路赞上还没有某媒体账户时,需要提交开户申请并跟踪审核进度。**各媒体所需资料和命令参数完全不同,不要混用。**
|