@mikoto_zero/minigame-open-mcp 1.2.0-beta.8 → 1.2.1
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 +266 -153
- package/dist/{auth → core/auth}/deviceFlow.d.ts +28 -2
- package/dist/core/auth/deviceFlow.d.ts.map +1 -0
- package/dist/{auth → core/auth}/deviceFlow.js +130 -12
- package/dist/core/auth/deviceFlow.js.map +1 -0
- package/dist/core/handlers/appHandlers.d.ts +9 -0
- package/dist/core/handlers/appHandlers.d.ts.map +1 -0
- package/dist/core/handlers/appHandlers.js +9 -0
- package/dist/core/handlers/appHandlers.js.map +1 -0
- package/dist/core/handlers/environmentHandlers.d.ts.map +1 -0
- package/dist/core/handlers/environmentHandlers.js +57 -0
- package/dist/core/handlers/environmentHandlers.js.map +1 -0
- package/dist/{network → core/network}/httpClient.d.ts +4 -0
- package/dist/core/network/httpClient.d.ts.map +1 -0
- package/dist/{network → core/network}/httpClient.js +66 -22
- package/dist/core/network/httpClient.js.map +1 -0
- package/dist/core/types/index.d.ts +96 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/utils/cache.d.ts.map +1 -0
- package/dist/core/utils/cache.js.map +1 -0
- package/dist/core/utils/docHelpers.d.ts +92 -0
- package/dist/core/utils/docHelpers.d.ts.map +1 -0
- package/dist/core/utils/docHelpers.js +138 -0
- package/dist/core/utils/docHelpers.js.map +1 -0
- package/dist/core/utils/logger.d.ts +102 -0
- package/dist/core/utils/logger.d.ts.map +1 -0
- package/dist/core/utils/logger.js +353 -0
- package/dist/core/utils/logger.js.map +1 -0
- package/dist/features/app/api.d.ts +144 -0
- package/dist/features/app/api.d.ts.map +1 -0
- package/dist/features/app/api.js +231 -0
- package/dist/features/app/api.js.map +1 -0
- package/dist/{handlers/appHandlers.d.ts → features/app/handlers.d.ts} +9 -7
- package/dist/features/app/handlers.d.ts.map +1 -0
- package/dist/{handlers/appHandlers.js → features/app/handlers.js} +46 -2
- package/dist/{handlers/appHandlers.js.map → features/app/handlers.js.map} +1 -1
- package/dist/features/app/index.d.ts +10 -0
- package/dist/features/app/index.d.ts.map +1 -0
- package/dist/features/app/index.js +14 -0
- package/dist/features/app/index.js.map +1 -0
- package/dist/features/app/tools.d.ts +11 -0
- package/dist/features/app/tools.d.ts.map +1 -0
- package/dist/features/app/tools.js +169 -0
- package/dist/features/app/tools.js.map +1 -0
- package/dist/features/h5Game/api.d.ts +20 -0
- package/dist/features/h5Game/api.d.ts.map +1 -0
- package/dist/features/h5Game/api.js +16 -0
- package/dist/features/h5Game/api.js.map +1 -0
- package/dist/features/h5Game/handlers.d.ts +49 -0
- package/dist/features/h5Game/handlers.d.ts.map +1 -0
- package/dist/features/h5Game/handlers.js +321 -0
- package/dist/features/h5Game/handlers.js.map +1 -0
- package/dist/features/h5Game/index.d.ts +7 -0
- package/dist/features/h5Game/index.d.ts.map +1 -0
- package/dist/features/h5Game/index.js +11 -0
- package/dist/features/h5Game/index.js.map +1 -0
- package/dist/features/h5Game/messages.d.ts +79 -0
- package/dist/features/h5Game/messages.d.ts.map +1 -0
- package/dist/features/h5Game/messages.js +141 -0
- package/dist/features/h5Game/messages.js.map +1 -0
- package/dist/features/h5Game/tools.d.ts +14 -0
- package/dist/features/h5Game/tools.d.ts.map +1 -0
- package/dist/features/h5Game/tools.js +181 -0
- package/dist/features/h5Game/tools.js.map +1 -0
- package/dist/features/h5Game/types.d.ts +113 -0
- package/dist/features/h5Game/types.d.ts.map +1 -0
- package/dist/features/h5Game/types.js +2 -0
- package/dist/features/h5Game/types.js.map +1 -0
- package/dist/{network/leaderboardApi.d.ts → features/leaderboard/api.d.ts} +1 -64
- package/dist/features/leaderboard/api.d.ts.map +1 -0
- package/dist/{network/leaderboardApi.js → features/leaderboard/api.js} +3 -151
- package/dist/features/leaderboard/api.js.map +1 -0
- package/dist/{tools/leaderboardTools.d.ts → features/leaderboard/docTools.d.ts} +6 -1
- package/dist/features/leaderboard/docTools.d.ts.map +1 -0
- package/dist/{tools/leaderboardTools.js → features/leaderboard/docTools.js} +125 -51
- package/dist/features/leaderboard/docTools.js.map +1 -0
- package/dist/features/leaderboard/docs.d.ts +11 -0
- package/dist/features/leaderboard/docs.d.ts.map +1 -0
- package/dist/{data/leaderboardDocs.js → features/leaderboard/docs.js} +5 -127
- package/dist/features/leaderboard/docs.js.map +1 -0
- package/dist/{handlers/leaderboardHandlers.d.ts → features/leaderboard/handlers.d.ts} +1 -1
- package/dist/features/leaderboard/handlers.d.ts.map +1 -0
- package/dist/{handlers/leaderboardHandlers.js → features/leaderboard/handlers.js} +37 -20
- package/dist/features/leaderboard/handlers.js.map +1 -0
- package/dist/features/leaderboard/index.d.ts +10 -0
- package/dist/features/leaderboard/index.d.ts.map +1 -0
- package/dist/features/leaderboard/index.js +27 -0
- package/dist/features/leaderboard/index.js.map +1 -0
- package/dist/features/leaderboard/resources.d.ts +11 -0
- package/dist/features/leaderboard/resources.d.ts.map +1 -0
- package/dist/features/leaderboard/resources.js +68 -0
- package/dist/features/leaderboard/resources.js.map +1 -0
- package/dist/features/leaderboard/tools.d.ts +11 -0
- package/dist/features/leaderboard/tools.d.ts.map +1 -0
- package/dist/features/leaderboard/tools.js +146 -0
- package/dist/features/leaderboard/tools.js.map +1 -0
- package/dist/server.js +366 -159
- package/dist/server.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +15 -0
- package/dist/version.js.map +1 -0
- package/package.json +17 -10
- package/dist/auth/deviceFlow.d.ts.map +0 -1
- package/dist/auth/deviceFlow.js.map +0 -1
- package/dist/config/promptDefinitions.d.ts +0 -19
- package/dist/config/promptDefinitions.d.ts.map +0 -1
- package/dist/config/promptDefinitions.js +0 -28
- package/dist/config/promptDefinitions.js.map +0 -1
- package/dist/config/resourceDefinitions.d.ts +0 -19
- package/dist/config/resourceDefinitions.d.ts.map +0 -1
- package/dist/config/resourceDefinitions.js +0 -93
- package/dist/config/resourceDefinitions.js.map +0 -1
- package/dist/config/toolDefinitions.d.ts +0 -10
- package/dist/config/toolDefinitions.d.ts.map +0 -1
- package/dist/config/toolDefinitions.js +0 -250
- package/dist/config/toolDefinitions.js.map +0 -1
- package/dist/data/leaderboardDocs.d.ts +0 -37
- package/dist/data/leaderboardDocs.d.ts.map +0 -1
- package/dist/data/leaderboardDocs.js.map +0 -1
- package/dist/handlers/appHandlers.d.ts.map +0 -1
- package/dist/handlers/environmentHandlers.d.ts.map +0 -1
- package/dist/handlers/environmentHandlers.js +0 -21
- package/dist/handlers/environmentHandlers.js.map +0 -1
- package/dist/handlers/leaderboardHandlers.d.ts.map +0 -1
- package/dist/handlers/leaderboardHandlers.js.map +0 -1
- package/dist/handlers/promptHandlers.d.ts +0 -26
- package/dist/handlers/promptHandlers.d.ts.map +0 -1
- package/dist/handlers/promptHandlers.js +0 -336
- package/dist/handlers/promptHandlers.js.map +0 -1
- package/dist/network/httpClient.d.ts.map +0 -1
- package/dist/network/httpClient.js.map +0 -1
- package/dist/network/leaderboardApi.d.ts.map +0 -1
- package/dist/network/leaderboardApi.js.map +0 -1
- package/dist/tools/leaderboardTools.d.ts.map +0 -1
- package/dist/tools/leaderboardTools.js.map +0 -1
- package/dist/types/index.d.ts +0 -18
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -45
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -192
- package/dist/utils/logger.js.map +0 -1
- /package/dist/{handlers → core/handlers}/environmentHandlers.d.ts +0 -0
- /package/dist/{types → core/types}/index.js +0 -0
- /package/dist/{utils → core/utils}/cache.d.ts +0 -0
- /package/dist/{utils → core/utils}/cache.js +0 -0
|
@@ -2,73 +2,71 @@
|
|
|
2
2
|
* TapTap Minigame Leaderboard Documentation Tools
|
|
3
3
|
* Each LeaderboardManager API has its own dedicated tool
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
* Get specific API documentation by name
|
|
8
|
-
*/
|
|
9
|
-
function getAPIDoc(categoryKey, apiName) {
|
|
10
|
-
const category = LEADERBOARD_DOCUMENTATION.categories[categoryKey];
|
|
11
|
-
if (!category) {
|
|
12
|
-
return `Category "${categoryKey}" not found`;
|
|
13
|
-
}
|
|
14
|
-
const api = category.apis.find(a => a.name === apiName);
|
|
15
|
-
if (!api) {
|
|
16
|
-
return `API "${apiName}" not found in category "${categoryKey}"`;
|
|
17
|
-
}
|
|
18
|
-
let doc = `# ${api.name}\n\n`;
|
|
19
|
-
doc += `**Method Signature:**\n\`\`\`javascript\n${api.method}\n\`\`\`\n\n`;
|
|
20
|
-
doc += `**Description:** ${api.description}\n\n`;
|
|
21
|
-
if (api.parameters) {
|
|
22
|
-
doc += `## Parameters\n\n`;
|
|
23
|
-
for (const [param, desc] of Object.entries(api.parameters)) {
|
|
24
|
-
doc += `- **\`${param}\`**: ${desc}\n`;
|
|
25
|
-
}
|
|
26
|
-
doc += '\n';
|
|
27
|
-
}
|
|
28
|
-
if (api.returnValue) {
|
|
29
|
-
doc += `## Returns\n\n${api.returnValue}\n\n`;
|
|
30
|
-
}
|
|
31
|
-
doc += `## Code Example\n\n\`\`\`javascript\n${api.example}\n\`\`\`\n`;
|
|
32
|
-
return doc;
|
|
33
|
-
}
|
|
5
|
+
import { generateAPIDoc, generateCategoryDoc, searchDocumentation, generateOverview, generateSearchSuggestions } from '../../core/utils/docHelpers.js';
|
|
6
|
+
import { LEADERBOARD_DOCUMENTATION } from './docs.js';
|
|
34
7
|
// ============ Core API Tools (one for each LeaderboardManager API) ============
|
|
35
8
|
/**
|
|
36
9
|
* Get documentation for tap.getLeaderboardManager()
|
|
37
10
|
*/
|
|
38
11
|
async function getLeaderboardManager() {
|
|
39
|
-
return
|
|
12
|
+
return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'initialization', 'tap.getLeaderboardManager');
|
|
40
13
|
}
|
|
41
14
|
/**
|
|
42
15
|
* Get documentation for openLeaderboard()
|
|
43
16
|
*/
|
|
44
17
|
async function openLeaderboard() {
|
|
45
|
-
return
|
|
18
|
+
return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'display', 'openLeaderboard');
|
|
46
19
|
}
|
|
47
20
|
/**
|
|
48
21
|
* Get documentation for submitScores()
|
|
49
22
|
*/
|
|
50
23
|
async function submitScores() {
|
|
51
|
-
return
|
|
24
|
+
return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_submission', 'submitScores');
|
|
52
25
|
}
|
|
53
26
|
/**
|
|
54
27
|
* Get documentation for loadLeaderboardScores()
|
|
55
28
|
*/
|
|
56
29
|
async function loadLeaderboardScores() {
|
|
57
|
-
return
|
|
30
|
+
return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_query', 'loadLeaderboardScores');
|
|
58
31
|
}
|
|
59
32
|
/**
|
|
60
33
|
* Get documentation for loadCurrentPlayerLeaderboardScore()
|
|
61
34
|
*/
|
|
62
35
|
async function loadCurrentPlayerScore() {
|
|
63
|
-
return
|
|
36
|
+
return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_query', 'loadCurrentPlayerLeaderboardScore');
|
|
64
37
|
}
|
|
65
38
|
/**
|
|
66
39
|
* Get documentation for loadPlayerCenteredScores()
|
|
67
40
|
*/
|
|
68
41
|
async function loadPlayerCenteredScores() {
|
|
69
|
-
return
|
|
42
|
+
return generateAPIDoc(LEADERBOARD_DOCUMENTATION, 'score_query', 'loadPlayerCenteredScores');
|
|
70
43
|
}
|
|
71
44
|
// ============ Helper Tools ============
|
|
45
|
+
/**
|
|
46
|
+
* Resource suggestions for leaderboard
|
|
47
|
+
*/
|
|
48
|
+
const LEADERBOARD_SUGGESTIONS = [
|
|
49
|
+
{
|
|
50
|
+
keywords: ['init', 'start', 'get', 'manager'],
|
|
51
|
+
uri: 'docs://leaderboard/api/get-manager',
|
|
52
|
+
description: '如何获取 LeaderboardManager 实例'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
keywords: ['submit', 'upload', 'save', 'score'],
|
|
56
|
+
uri: 'docs://leaderboard/api/submit-scores',
|
|
57
|
+
description: '如何提交分数'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
keywords: ['open', 'show', 'display', 'ui'],
|
|
61
|
+
uri: 'docs://leaderboard/api/open',
|
|
62
|
+
description: '如何显示排行榜 UI'
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
keywords: ['load', 'fetch', 'rank'],
|
|
66
|
+
uri: 'docs://leaderboard/api/load-scores',
|
|
67
|
+
description: '如何加载排行榜数据'
|
|
68
|
+
}
|
|
69
|
+
];
|
|
72
70
|
/**
|
|
73
71
|
* Search leaderboard documentation by keyword
|
|
74
72
|
*/
|
|
@@ -77,9 +75,9 @@ async function searchLeaderboardDocs(args) {
|
|
|
77
75
|
if (!query) {
|
|
78
76
|
return 'Please provide a search keyword.';
|
|
79
77
|
}
|
|
80
|
-
const results =
|
|
78
|
+
const results = searchDocumentation(LEADERBOARD_DOCUMENTATION, query);
|
|
81
79
|
if (results.length === 0) {
|
|
82
|
-
return
|
|
80
|
+
return generateSearchSuggestions(query, LEADERBOARD_SUGGESTIONS, 'docs://leaderboard/overview');
|
|
83
81
|
}
|
|
84
82
|
return `**🏆 Search Results for "${query}"**\n\n` + results.join('\n---\n\n');
|
|
85
83
|
}
|
|
@@ -87,22 +85,13 @@ async function searchLeaderboardDocs(args) {
|
|
|
87
85
|
* Get complete leaderboard system overview
|
|
88
86
|
*/
|
|
89
87
|
async function getLeaderboardOverview() {
|
|
90
|
-
return
|
|
88
|
+
return generateOverview(LEADERBOARD_DOCUMENTATION);
|
|
91
89
|
}
|
|
92
90
|
/**
|
|
93
91
|
* Get integration patterns and best practices
|
|
94
92
|
*/
|
|
95
93
|
async function getLeaderboardPatterns() {
|
|
96
|
-
|
|
97
|
-
if (!category)
|
|
98
|
-
return 'Common scenarios not found';
|
|
99
|
-
let doc = `# ${category.title}\n\n${category.description}\n\n`;
|
|
100
|
-
for (const api of category.apis) {
|
|
101
|
-
doc += `## ${api.name}\n\n`;
|
|
102
|
-
doc += `${api.description}\n\n`;
|
|
103
|
-
doc += `\`\`\`javascript\n${api.example}\n\`\`\`\n\n`;
|
|
104
|
-
}
|
|
105
|
-
return doc;
|
|
94
|
+
return generateCategoryDoc(LEADERBOARD_DOCUMENTATION, 'common_scenarios');
|
|
106
95
|
}
|
|
107
96
|
/**
|
|
108
97
|
* Get quick start guide - client-side integration tutorial
|
|
@@ -256,7 +245,7 @@ leaderboardManager.loadLeaderboardScores({
|
|
|
256
245
|
*/
|
|
257
246
|
async function getCurrentAppInfo() {
|
|
258
247
|
try {
|
|
259
|
-
const { readAppCache, getCachePath } = await import('
|
|
248
|
+
const { readAppCache, getCachePath } = await import('../../core/utils/cache.js');
|
|
260
249
|
const cache = readAppCache(process.env.TDS_MCP_PROJECT_PATH);
|
|
261
250
|
if (!cache || !cache.developer_id || !cache.app_id) {
|
|
262
251
|
return `# Current App Information
|
|
@@ -311,6 +300,90 @@ Please use \`check_environment\` tool to verify your configuration.
|
|
|
311
300
|
`;
|
|
312
301
|
}
|
|
313
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Get complete integration workflow guide
|
|
305
|
+
*/
|
|
306
|
+
async function getIntegrationWorkflow() {
|
|
307
|
+
return `# TapTap 排行榜完整接入工作流
|
|
308
|
+
|
|
309
|
+
## ⚠️ 关键原则:客户端无需安装 SDK
|
|
310
|
+
|
|
311
|
+
**请勿执行以下操作**:
|
|
312
|
+
- ❌ npm install @taptap/xxx
|
|
313
|
+
- ❌ 修改 package.json 添加依赖
|
|
314
|
+
- ❌ import 或 require 任何 TapTap 模块
|
|
315
|
+
|
|
316
|
+
**原因**:tap 是全局对象,由 TapTap 运行时自动提供(类似 window、document)
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 📋 完整步骤
|
|
321
|
+
|
|
322
|
+
### 步骤 1: 检查服务端排行榜
|
|
323
|
+
|
|
324
|
+
**工具**:\`list_leaderboards\`
|
|
325
|
+
|
|
326
|
+
**判断**:
|
|
327
|
+
- 已有排行榜 → 跳到步骤 3
|
|
328
|
+
- 无排行榜 → 继续步骤 2
|
|
329
|
+
|
|
330
|
+
### 步骤 2: 创建服务端排行榜
|
|
331
|
+
|
|
332
|
+
**工具**:\`create_leaderboard\`
|
|
333
|
+
|
|
334
|
+
**示例参数**:
|
|
335
|
+
\`\`\`json
|
|
336
|
+
{
|
|
337
|
+
"title": "周榜",
|
|
338
|
+
"period_type": 3,
|
|
339
|
+
"score_type": 1,
|
|
340
|
+
"score_order": 1,
|
|
341
|
+
"calc_type": 2
|
|
342
|
+
}
|
|
343
|
+
\`\`\`
|
|
344
|
+
|
|
345
|
+
**获得**:leaderboard_id(记录下来)
|
|
346
|
+
|
|
347
|
+
### 步骤 3: 客户端代码集成
|
|
348
|
+
|
|
349
|
+
**3.1 获取实例**
|
|
350
|
+
\`\`\`javascript
|
|
351
|
+
const leaderboardManager = tap.getLeaderboardManager();
|
|
352
|
+
\`\`\`
|
|
353
|
+
|
|
354
|
+
**3.2 提交分数**
|
|
355
|
+
\`\`\`javascript
|
|
356
|
+
leaderboardManager.submitScores({
|
|
357
|
+
scores: [{
|
|
358
|
+
leaderboardId: "your_leaderboard_id",
|
|
359
|
+
score: playerScore
|
|
360
|
+
}],
|
|
361
|
+
callback: {
|
|
362
|
+
onSuccess: (res) => console.log("成功"),
|
|
363
|
+
onFailure: (code, msg) => console.error(code, msg)
|
|
364
|
+
}
|
|
365
|
+
});
|
|
366
|
+
\`\`\`
|
|
367
|
+
|
|
368
|
+
**3.3 显示排行榜**
|
|
369
|
+
\`\`\`javascript
|
|
370
|
+
leaderboardManager.openLeaderboard({
|
|
371
|
+
leaderboardId: "your_leaderboard_id",
|
|
372
|
+
collection: "public",
|
|
373
|
+
callback: {
|
|
374
|
+
onSuccess: () => console.log("打开成功"),
|
|
375
|
+
onFailure: (code, msg) => console.error(code, msg)
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
\`\`\`
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## ✅ 完成!
|
|
383
|
+
|
|
384
|
+
总共 3 个步骤,10-15 分钟即可完成接入。
|
|
385
|
+
`;
|
|
386
|
+
}
|
|
314
387
|
export const leaderboardTools = {
|
|
315
388
|
// Core API tools
|
|
316
389
|
getLeaderboardManager,
|
|
@@ -324,6 +397,7 @@ export const leaderboardTools = {
|
|
|
324
397
|
getLeaderboardOverview,
|
|
325
398
|
getLeaderboardPatterns,
|
|
326
399
|
getQuickStartGuide,
|
|
327
|
-
getCurrentAppInfo
|
|
400
|
+
getCurrentAppInfo,
|
|
401
|
+
getIntegrationWorkflow
|
|
328
402
|
};
|
|
329
|
-
//# sourceMappingURL=
|
|
403
|
+
//# sourceMappingURL=docTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docTools.js","sourceRoot":"","sources":["../../../src/features/leaderboard/docTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TapTap Leaderboard API (Minigame & H5) Documentation
|
|
3
|
+
* Based on: https://developer.taptap.cn/minigameapidoc/dev/api/open-api/leaderboard/
|
|
4
|
+
*/
|
|
5
|
+
import type { Documentation } from '../../core/utils/docHelpers.js';
|
|
6
|
+
/**
|
|
7
|
+
* Leaderboard documentation data
|
|
8
|
+
* Uses the generic Documentation interface from core
|
|
9
|
+
*/
|
|
10
|
+
export declare const LEADERBOARD_DOCUMENTATION: Documentation;
|
|
11
|
+
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,aA6evC,CAAC"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* TapTap Leaderboard API (Minigame & H5) Documentation
|
|
3
3
|
* Based on: https://developer.taptap.cn/minigameapidoc/dev/api/open-api/leaderboard/
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Leaderboard documentation data
|
|
7
|
+
* Uses the generic Documentation interface from core
|
|
8
|
+
*/
|
|
5
9
|
export const LEADERBOARD_DOCUMENTATION = {
|
|
6
10
|
title: "TapTap Leaderboard API (Minigame & H5)",
|
|
7
11
|
description: `Complete leaderboard functionality for TapTap Minigame and H5 Games, including score submission, ranking queries, and leaderboard display.
|
|
@@ -491,130 +495,4 @@ leaderboardView.loadPage(0);
|
|
|
491
495
|
}
|
|
492
496
|
}
|
|
493
497
|
};
|
|
494
|
-
|
|
495
|
-
* Search leaderboard documentation by keyword
|
|
496
|
-
*/
|
|
497
|
-
export function searchLeaderboardDocs(query, category) {
|
|
498
|
-
const results = [];
|
|
499
|
-
const lowerQuery = query.toLowerCase();
|
|
500
|
-
const categoriesToSearch = category
|
|
501
|
-
? [LEADERBOARD_DOCUMENTATION.categories[category]]
|
|
502
|
-
: Object.values(LEADERBOARD_DOCUMENTATION.categories);
|
|
503
|
-
for (const cat of categoriesToSearch) {
|
|
504
|
-
if (!cat)
|
|
505
|
-
continue;
|
|
506
|
-
for (const api of cat.apis) {
|
|
507
|
-
const searchText = `${api.name} ${api.description} ${api.example}`.toLowerCase();
|
|
508
|
-
if (searchText.includes(lowerQuery)) {
|
|
509
|
-
results.push(`
|
|
510
|
-
### ${api.name}
|
|
511
|
-
|
|
512
|
-
**Method:** \`${api.method}\`
|
|
513
|
-
|
|
514
|
-
**Description:** ${api.description}
|
|
515
|
-
|
|
516
|
-
${api.parameters ? `**Parameters:**
|
|
517
|
-
${Object.entries(api.parameters).map(([key, value]) => `- \`${key}\`: ${value}`).join('\n')}
|
|
518
|
-
` : ''}
|
|
519
|
-
|
|
520
|
-
${api.returnValue ? `**Returns:** ${api.returnValue}\n` : ''}
|
|
521
|
-
|
|
522
|
-
**Example:**
|
|
523
|
-
\`\`\`javascript
|
|
524
|
-
${api.example}
|
|
525
|
-
\`\`\`
|
|
526
|
-
`);
|
|
527
|
-
}
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
return results;
|
|
531
|
-
}
|
|
532
|
-
/**
|
|
533
|
-
* Get overview of leaderboard system
|
|
534
|
-
*/
|
|
535
|
-
export function getLeaderboardOverview() {
|
|
536
|
-
return `# ${LEADERBOARD_DOCUMENTATION.title}
|
|
537
|
-
|
|
538
|
-
${LEADERBOARD_DOCUMENTATION.description}
|
|
539
|
-
|
|
540
|
-
**Official API Reference:** ${LEADERBOARD_DOCUMENTATION.apiReference}
|
|
541
|
-
|
|
542
|
-
## Available Categories
|
|
543
|
-
|
|
544
|
-
${Object.entries(LEADERBOARD_DOCUMENTATION.categories).map(([key, cat]) => `
|
|
545
|
-
### ${cat.title}
|
|
546
|
-
${cat.description}
|
|
547
|
-
|
|
548
|
-
Available methods: ${cat.apis.map(api => `\`${api.name}\``).join(', ')}
|
|
549
|
-
`).join('\n')}
|
|
550
|
-
|
|
551
|
-
## Quick Start
|
|
552
|
-
|
|
553
|
-
⚠️ **CRITICAL: Use leaderboardId (NOT leaderboardName) and wrap parameters in objects!**
|
|
554
|
-
|
|
555
|
-
\`\`\`javascript
|
|
556
|
-
// 1. Get LeaderboardManager instance
|
|
557
|
-
const leaderboardManager = tap.getLeaderboardManager();
|
|
558
|
-
|
|
559
|
-
// 2. Submit a score (use leaderboardId and wrap in scores array)
|
|
560
|
-
await leaderboardManager.submitScores({
|
|
561
|
-
scores: [{
|
|
562
|
-
leaderboardId: 'my_leaderboard', // Use leaderboardId (not leaderboardName)
|
|
563
|
-
score: 1000
|
|
564
|
-
}]
|
|
565
|
-
});
|
|
566
|
-
|
|
567
|
-
// 3. Query current player's rank (use object parameter)
|
|
568
|
-
const playerScore = await leaderboardManager.loadCurrentPlayerLeaderboardScore({
|
|
569
|
-
leaderboardId: 'my_leaderboard',
|
|
570
|
-
collection: 'public'
|
|
571
|
-
});
|
|
572
|
-
console.log('Your rank:', playerScore.rank);
|
|
573
|
-
|
|
574
|
-
// 4. Open leaderboard UI (use object parameter)
|
|
575
|
-
leaderboardManager.openLeaderboard({
|
|
576
|
-
leaderboardId: 'my_leaderboard'
|
|
577
|
-
});
|
|
578
|
-
\`\`\`
|
|
579
|
-
`;
|
|
580
|
-
}
|
|
581
|
-
/**
|
|
582
|
-
* Get detailed documentation for a specific category
|
|
583
|
-
*/
|
|
584
|
-
export function getCategoryDocs(category) {
|
|
585
|
-
const cat = LEADERBOARD_DOCUMENTATION.categories[category];
|
|
586
|
-
if (!cat) {
|
|
587
|
-
return `Category "${category}" not found. Available categories: ${Object.keys(LEADERBOARD_DOCUMENTATION.categories).join(', ')}`;
|
|
588
|
-
}
|
|
589
|
-
return `# ${cat.title}
|
|
590
|
-
|
|
591
|
-
${cat.description}
|
|
592
|
-
|
|
593
|
-
${cat.apis.map(api => `
|
|
594
|
-
## ${api.name}
|
|
595
|
-
|
|
596
|
-
**Method:** \`${api.method}\`
|
|
597
|
-
|
|
598
|
-
**Description:** ${api.description}
|
|
599
|
-
|
|
600
|
-
${api.parameters ? `### Parameters
|
|
601
|
-
|
|
602
|
-
${Object.entries(api.parameters).map(([key, value]) => `- **\`${key}\`**: ${value}`).join('\n')}
|
|
603
|
-
` : ''}
|
|
604
|
-
|
|
605
|
-
${api.returnValue ? `### Returns
|
|
606
|
-
|
|
607
|
-
${api.returnValue}
|
|
608
|
-
` : ''}
|
|
609
|
-
|
|
610
|
-
### Example
|
|
611
|
-
|
|
612
|
-
\`\`\`javascript
|
|
613
|
-
${api.example}
|
|
614
|
-
\`\`\`
|
|
615
|
-
|
|
616
|
-
---
|
|
617
|
-
`).join('\n')}
|
|
618
|
-
`;
|
|
619
|
-
}
|
|
620
|
-
//# sourceMappingURL=leaderboardDocs.js.map
|
|
498
|
+
//# sourceMappingURL=docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../src/features/leaderboard/docs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/handlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAkGjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EACD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CA4IjB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB,EACD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CA4FjB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Leaderboard Management Handlers
|
|
3
3
|
* Handles leaderboard operations including creation, listing, and workflow guidance
|
|
4
4
|
*/
|
|
5
|
-
import { createLeaderboard as createLeaderboardApi, listLeaderboards as listLeaderboardsApi, publishLeaderboard as publishLeaderboardApi
|
|
6
|
-
import {
|
|
5
|
+
import { createLeaderboard as createLeaderboardApi, listLeaderboards as listLeaderboardsApi, publishLeaderboard as publishLeaderboardApi } from './api.js';
|
|
6
|
+
import { ensureAppInfo, SelectionRequiredError } from '../app/api.js';
|
|
7
|
+
import { leaderboardTools } from './docTools.js';
|
|
7
8
|
/**
|
|
8
9
|
* Start leaderboard integration workflow - guides user through the process
|
|
9
10
|
*/
|
|
@@ -165,31 +166,44 @@ export async function createLeaderboard(args, context) {
|
|
|
165
166
|
const publishErrorMsg = publishError instanceof Error ? publishError.message : String(publishError);
|
|
166
167
|
return `✅ 排行榜创建成功!\n\n` +
|
|
167
168
|
`📊 排行榜信息:\n` +
|
|
168
|
-
`-
|
|
169
|
-
`-
|
|
170
|
-
`-
|
|
169
|
+
`- 🆔 数据库 ID: ${result.id} (仅后台管理使用)\n` +
|
|
170
|
+
`- 🎮 客户端 ID: \`${result.leaderboard_open_id}\` ⭐ (游戏代码中使用这个!)\n` +
|
|
171
|
+
`- 📝 名称: ${result.title}\n\n` +
|
|
171
172
|
`📝 应用信息(已缓存):\n` +
|
|
172
173
|
`- Developer ID: ${developerId}\n` +
|
|
173
174
|
`- App ID: ${appId}\n\n` +
|
|
174
175
|
`⚠️ **注意:** 排行榜创建成功,但自动发布失败。\n` +
|
|
175
176
|
`错误信息: ${publishErrorMsg}\n` +
|
|
176
177
|
`排行榜当前处于白名单模式,您可以稍后使用 publish_leaderboard 工具手动发布。\n\n` +
|
|
177
|
-
`🎮
|
|
178
|
-
|
|
178
|
+
`🎮 **客户端代码示例**:\n` +
|
|
179
|
+
`\`\`\`javascript\n` +
|
|
180
|
+
`// ⚠️ 使用客户端 ID,不是数字 ID!\n` +
|
|
181
|
+
`leaderboardManager.submitScores({\n` +
|
|
182
|
+
` scores: [{ leaderboardId: "${result.leaderboard_open_id}", score: 100 }]\n` +
|
|
183
|
+
`});\n` +
|
|
184
|
+
`\`\`\``;
|
|
179
185
|
}
|
|
180
186
|
return `✅ 排行榜创建成功并已自动发布上线!\n\n` +
|
|
181
187
|
`📊 排行榜信息:\n` +
|
|
182
|
-
`-
|
|
183
|
-
`-
|
|
184
|
-
`-
|
|
185
|
-
`- 状态:
|
|
188
|
+
`- 🆔 数据库 ID: ${result.id} (仅后台管理使用)\n` +
|
|
189
|
+
`- 🎮 客户端 ID: \`${result.leaderboard_open_id}\` ⭐ (游戏代码中使用这个!)\n` +
|
|
190
|
+
`- 📝 名称: ${result.title}\n` +
|
|
191
|
+
`- 🚀 状态: 已发布(所有用户可见)\n\n` +
|
|
186
192
|
`📝 应用信息(已缓存):\n` +
|
|
187
193
|
`- Developer ID: ${developerId}\n` +
|
|
188
194
|
`- App ID: ${appId}\n\n` +
|
|
189
|
-
`🎮
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
195
|
+
`🎮 **客户端代码示例**:\n` +
|
|
196
|
+
`\`\`\`javascript\n` +
|
|
197
|
+
`// ⚠️ 使用客户端 ID(字符串),不是数据库 ID(数字)!\n` +
|
|
198
|
+
`const leaderboardManager = tap.getLeaderboardManager();\n\n` +
|
|
199
|
+
`leaderboardManager.submitScores({\n` +
|
|
200
|
+
` scores: [{\n` +
|
|
201
|
+
` leaderboardId: "${result.leaderboard_open_id}", // ← 使用这个字符串 ID\n` +
|
|
202
|
+
` score: playerScore\n` +
|
|
203
|
+
` }]\n` +
|
|
204
|
+
`});\n` +
|
|
205
|
+
`\`\`\`\n\n` +
|
|
206
|
+
`💡 **提示:** 排行榜已自动发布上线,所有用户都可以看到和使用。`;
|
|
193
207
|
}
|
|
194
208
|
catch (error) {
|
|
195
209
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
@@ -243,11 +257,14 @@ export async function listLeaderboards(args, context) {
|
|
|
243
257
|
let output = `📋 排行榜列表 (共 ${result.total} 个)\n\n`;
|
|
244
258
|
result.list.forEach((item, index) => {
|
|
245
259
|
output += `${index + 1}. **${item.title}**\n`;
|
|
246
|
-
output += ` - ID: ${item.id}\n`;
|
|
247
|
-
output += ` -
|
|
248
|
-
output += ` -
|
|
249
|
-
output += ` -
|
|
260
|
+
output += ` - 🆔 数据库 ID: ${item.id} (⚠️ 仅后台管理使用)\n`;
|
|
261
|
+
output += ` - 🎮 客户端 ID: \`${item.leaderboard_open_id}\` ⭐ (游戏代码中使用这个)\n`;
|
|
262
|
+
output += ` - 📅 周期: ${item.period}\n`;
|
|
263
|
+
output += ` - 🔧 默认: ${item.is_default ? 'Yes' : 'No'}\n\n`;
|
|
250
264
|
});
|
|
265
|
+
output += `⚠️ **重要提示**:\n`;
|
|
266
|
+
output += `- 在客户端代码中使用 **客户端 ID**(leaderboard_open_id)\n`;
|
|
267
|
+
output += `- 例如:\`leaderboardManager.submitScores({ scores: [{ leaderboardId: "${result.list[0]?.leaderboard_open_id}", score: 100 }] })\`\n\n`;
|
|
251
268
|
const currentPage = args.page || 1;
|
|
252
269
|
const pageSize = args.page_size || 10;
|
|
253
270
|
const totalPages = Math.ceil(result.total / pageSize);
|
|
@@ -393,4 +410,4 @@ export async function getUserLeaderboardScores(args, context) {
|
|
|
393
410
|
return `❌ API 调用失败: ${errorMsg}\n\n降级为文档模式:\n${await leaderboardTools.getLeaderboardOverview()}`;
|
|
394
411
|
}
|
|
395
412
|
}
|
|
396
|
-
//# sourceMappingURL=
|
|
413
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/features/leaderboard/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leaderboard Feature Module
|
|
3
|
+
* All leaderboard-related Tools, Resources, and Handlers in one place
|
|
4
|
+
*/
|
|
5
|
+
import type { FeatureModule } from '../../core/types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Leaderboard Module Definition
|
|
8
|
+
*/
|
|
9
|
+
export declare const leaderboardModule: FeatureModule;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM/D;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,aAiB/B,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leaderboard Feature Module
|
|
3
|
+
* All leaderboard-related Tools, Resources, and Handlers in one place
|
|
4
|
+
*/
|
|
5
|
+
// Import from leaderboard module
|
|
6
|
+
import { leaderboardTools } from './tools.js';
|
|
7
|
+
import { leaderboardResources } from './resources.js';
|
|
8
|
+
/**
|
|
9
|
+
* Leaderboard Module Definition
|
|
10
|
+
*/
|
|
11
|
+
export const leaderboardModule = {
|
|
12
|
+
name: 'leaderboard',
|
|
13
|
+
// All Tools with their handlers (unified format)
|
|
14
|
+
tools: leaderboardTools.map(tool => ({
|
|
15
|
+
definition: tool.definition,
|
|
16
|
+
handler: tool.handler,
|
|
17
|
+
requiresAuth: [
|
|
18
|
+
'create_leaderboard',
|
|
19
|
+
'list_leaderboards',
|
|
20
|
+
'publish_leaderboard',
|
|
21
|
+
'get_user_leaderboard_scores'
|
|
22
|
+
].includes(tool.definition.name)
|
|
23
|
+
})),
|
|
24
|
+
// All Resources with their handlers (unified format)
|
|
25
|
+
resources: leaderboardResources
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/leaderboard/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,iCAAiC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC9C,IAAI,EAAE,aAAa;IAEnB,iDAAiD;IACjD,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE;YACZ,oBAAoB;YACpB,mBAAmB;YACnB,qBAAqB;YACrB,6BAA6B;SAC9B,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;IAEH,qDAAqD;IACrD,SAAS,EAAE,oBAAoB;CAChC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leaderboard Resources
|
|
3
|
+
* Unified definitions and handlers (no more manual sync required!)
|
|
4
|
+
*/
|
|
5
|
+
import type { ResourceRegistration } from '../../core/types/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Leaderboard Resources
|
|
8
|
+
* Each resource combines its definition and handler in one place
|
|
9
|
+
*/
|
|
10
|
+
export declare const leaderboardResources: ResourceRegistration[];
|
|
11
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/features/leaderboard/resources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,EA+DtD,CAAC"}
|