koishi-plugin-rocom 1.0.13 → 1.0.17

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.
Files changed (36) hide show
  1. package/lib/atlas-service.d.ts +33 -0
  2. package/lib/atlas-service.js +439 -0
  3. package/lib/client.d.ts +19 -0
  4. package/lib/client.js +101 -1
  5. package/lib/commands/account.js +1 -0
  6. package/lib/commands/merchant.js +11 -2
  7. package/lib/commands/query.js +141 -9
  8. package/lib/commands/tools.js +104 -0
  9. package/lib/commands/wiki.js +167 -6
  10. package/lib/egg-service.d.ts +2 -0
  11. package/lib/egg-service.js +50 -15
  12. package/lib/index.d.ts +5 -0
  13. package/lib/index.js +3153 -188
  14. package/lib/pet-data-service.d.ts +62 -0
  15. package/lib/pet-data-service.js +468 -0
  16. package/lib/render-templates/pet-data/index.html +172 -0
  17. package/lib/render-templates/pet-data/style.css +553 -0
  18. package/lib/render-templates/wiki/detail/index.html +84 -0
  19. package/lib/render-templates/wiki/list/index.html +84 -0
  20. package/lib/render-templates/wiki/menu/index.html +65 -0
  21. package/lib/render-templates/wiki/pet/index.html +158 -0
  22. package/lib/render-templates/wiki/pet/style.css +393 -0
  23. package/lib/render-templates/wiki/shared/style.css +431 -0
  24. package/lib/render-templates/wiki/skill/index.html +79 -0
  25. package/lib/render-templates/wiki/skill/style.css +233 -0
  26. package/lib/render-templates/wiki/suggestions/index.html +84 -0
  27. package/lib/render.js +37 -8
  28. package/lib/types.d.ts +9 -1
  29. package/lib/user.d.ts +23 -1
  30. package/lib/user.js +32 -1
  31. package/lib/wiki-catalog.d.ts +19 -0
  32. package/lib/wiki-catalog.js +124 -0
  33. package/lib/wiki-service.d.ts +220 -0
  34. package/lib/wiki-service.js +1463 -0
  35. package/package.json +1 -1
  36. package/readme.md +4 -5
@@ -0,0 +1,84 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=1280, initial-scale=1">
6
+ <title>{{title}}</title>
7
+ <link rel="stylesheet" href="{{_res_path}}render/wiki/shared/style.css">
8
+ </head>
9
+ <body class="wiki-body">
10
+ <div class="wiki-page wiki-detail-page">
11
+ <div class="wiki-content">
12
+ <header class="hero">
13
+ <div>
14
+ <div class="kicker">ROCOM WIKI</div>
15
+ <div class="subtitle">{{subtitle}}</div>
16
+ <h1>{{title}}</h1>
17
+ {{if summary}}<p class="hero-summary">{{summary}}</p>{{/if}}
18
+ <div class="badge-row">
19
+ {{each badges badge}}
20
+ <span>{{badge}}</span>
21
+ {{/each}}
22
+ </div>
23
+ </div>
24
+ {{if image}}
25
+ <div class="hero-image"><img src="{{image}}" alt="{{title}}" onerror="this.parentElement.style.display='none'"></div>
26
+ {{/if}}
27
+ </header>
28
+
29
+ {{if facts && facts.length}}
30
+ <div class="facts-grid">
31
+ {{each facts fact}}
32
+ <div class="fact"><span>{{fact.label}}</span><strong>{{fact.value}}</strong></div>
33
+ {{/each}}
34
+ </div>
35
+ {{/if}}
36
+
37
+ {{each sections section}}
38
+ <section class="panel">
39
+ <div class="panel-title">{{section.title}} <small>{{section.total}}</small></div>
40
+ {{if section.cards && section.cards.length}}
41
+ <div class="card-grid">
42
+ {{each section.cards card}}
43
+ <article class="wiki-card">
44
+ {{if card.image}}
45
+ <div class="card-image"><img src="{{card.image}}" alt="{{card.title}}" onerror="this.parentElement.style.display='none'"></div>
46
+ {{/if}}
47
+ <h2>{{card.title}}</h2>
48
+ {{if card.summary}}<p>{{card.summary}}</p>{{/if}}
49
+ {{if card.badges && card.badges.length}}
50
+ <div class="card-badges">
51
+ {{each card.badges badge}}
52
+ <span>{{badge}}</span>
53
+ {{/each}}
54
+ </div>
55
+ {{/if}}
56
+ {{if card.meta && card.meta.length}}
57
+ <div class="meta-grid">
58
+ {{each card.meta row}}
59
+ <div class="meta-item"><span>{{row.label}}</span><b>{{row.value}}</b></div>
60
+ {{/each}}
61
+ </div>
62
+ {{/if}}
63
+ </article>
64
+ {{/each}}
65
+ </div>
66
+ {{/if}}
67
+ {{if section.rows && section.rows.length}}
68
+ <div class="row-grid">
69
+ {{each section.rows row}}
70
+ <div class="row-item"><span class="row-label">{{row.label}}</span><b class="row-value">{{row.value}}</b></div>
71
+ {{/each}}
72
+ </div>
73
+ {{/if}}
74
+ </section>
75
+ {{/each}}
76
+
77
+ <footer class="footer">
78
+ <span>{{commandHint}}</span>
79
+ <span>{{copyright}}</span>
80
+ </footer>
81
+ </div>
82
+ </div>
83
+ </body>
84
+ </html>
@@ -0,0 +1,84 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=1280, initial-scale=1">
6
+ <title>{{title}}</title>
7
+ <link rel="stylesheet" href="{{_res_path}}render/wiki/shared/style.css">
8
+ </head>
9
+ <body class="wiki-body">
10
+ <div class="wiki-page wiki-list-page">
11
+ <div class="wiki-content">
12
+ <header class="hero">
13
+ <div>
14
+ <div class="kicker">ROCOM WIKI</div>
15
+ <div class="subtitle">{{subtitle}}</div>
16
+ <h1>{{title}}</h1>
17
+ {{if summary}}<p class="hero-summary">{{summary}}</p>{{/if}}
18
+ <div class="badge-row">
19
+ {{each badges badge}}
20
+ <span>{{badge}}</span>
21
+ {{/each}}
22
+ </div>
23
+ </div>
24
+ </header>
25
+
26
+ {{if facts && facts.length}}
27
+ <div class="facts-grid">
28
+ {{each facts fact}}
29
+ <div class="fact"><span>{{fact.label}}</span><strong>{{fact.value}}</strong></div>
30
+ {{/each}}
31
+ </div>
32
+ {{/if}}
33
+
34
+ {{if actionHint}}
35
+ <section class="query-guide">
36
+ <div class="guide-title">查看具体条目</div>
37
+ <div class="guide-text">{{actionHint}}</div>
38
+ {{if actionExamples && actionExamples.length}}
39
+ <div class="guide-examples">
40
+ {{each actionExamples example}}
41
+ <span>{{example}}</span>
42
+ {{/each}}
43
+ </div>
44
+ {{/if}}
45
+ </section>
46
+ {{/if}}
47
+
48
+ <section class="panel">
49
+ <div class="panel-title">查询结果 <small>{{cards.length}}</small></div>
50
+ <div class="card-grid">
51
+ {{each cards card}}
52
+ <article class="wiki-card">
53
+ {{if card.image}}
54
+ <div class="card-image"><img src="{{card.image}}" alt="{{card.title}}" onerror="this.parentElement.style.display='none'"></div>
55
+ {{/if}}
56
+ <h2>{{card.title}}</h2>
57
+ {{if card.summary}}<p>{{card.summary}}</p>{{/if}}
58
+ {{if card.badges && card.badges.length}}
59
+ <div class="card-badges">
60
+ {{each card.badges badge}}
61
+ <span>{{badge}}</span>
62
+ {{/each}}
63
+ </div>
64
+ {{/if}}
65
+ {{if card.meta && card.meta.length}}
66
+ <div class="meta-grid">
67
+ {{each card.meta row}}
68
+ <div class="meta-item"><span>{{row.label}}</span><b>{{row.value}}</b></div>
69
+ {{/each}}
70
+ </div>
71
+ {{/if}}
72
+ </article>
73
+ {{/each}}
74
+ </div>
75
+ </section>
76
+
77
+ <footer class="footer">
78
+ <span>{{commandHint}}</span>
79
+ <span>{{copyright}}</span>
80
+ </footer>
81
+ </div>
82
+ </div>
83
+ </body>
84
+ </html>
@@ -0,0 +1,65 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=1280, initial-scale=1">
6
+ <title>{{title}}</title>
7
+ <link rel="stylesheet" href="{{_res_path}}render/wiki/shared/style.css">
8
+ </head>
9
+ <body class="wiki-body">
10
+ <div class="wiki-page wiki-menu-page">
11
+ <div class="wiki-content">
12
+ <header class="hero">
13
+ <div>
14
+ <div class="kicker">ROCOM WIKI</div>
15
+ <div class="subtitle">{{subtitle}}</div>
16
+ <h1>{{title}}</h1>
17
+ {{if summary}}
18
+ <p class="hero-summary">{{summary}}</p>
19
+ {{/if}}
20
+ {{if badges && badges.length}}
21
+ <div class="badge-row">
22
+ {{each badges badge}}
23
+ <span>{{badge}}</span>
24
+ {{/each}}
25
+ </div>
26
+ {{/if}}
27
+ </div>
28
+ </header>
29
+
30
+ {{if facts && facts.length}}
31
+ <div class="facts-grid">
32
+ {{each facts fact}}
33
+ <div class="fact"><span>{{fact.label}}</span><strong>{{fact.value}}</strong></div>
34
+ {{/each}}
35
+ </div>
36
+ {{/if}}
37
+
38
+ {{each groups group}}
39
+ <section class="topic-group panel">
40
+ <div class="group-header">
41
+ <div class="panel-title">{{group.title}} <small>{{group.total}}</small></div>
42
+ {{if group.desc}}
43
+ <div class="group-desc">{{group.desc}}</div>
44
+ {{/if}}
45
+ </div>
46
+ <div class="category-grid">
47
+ {{each group.items item}}
48
+ <article class="category-card">
49
+ <h2>{{item.title}}</h2>
50
+ <div class="category-command">{{item.summary}}</div>
51
+ <div class="category-children">{{item.children}}</div>
52
+ </article>
53
+ {{/each}}
54
+ </div>
55
+ </section>
56
+ {{/each}}
57
+
58
+ <footer class="footer">
59
+ <span>{{commandHint}}</span>
60
+ <span>{{copyright}}</span>
61
+ </footer>
62
+ </div>
63
+ </div>
64
+ </body>
65
+ </html>
@@ -0,0 +1,158 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>洛克 Wiki - {{name}}</title>
7
+ <link rel="stylesheet" href="{{_res_path}}render/wiki/pet/style.css">
8
+ </head>
9
+ <body class="bwiki-body">
10
+ <div class="bwiki-shell">
11
+ <header class="wiki-hero">
12
+ <section class="hero-info">
13
+ <div class="kicker">ROCOM WIKI</div>
14
+ <div class="title-row">
15
+ <img class="pet-icon" src="{{pet_icon}}" alt="{{name}}" onerror="this.style.display='none'">
16
+ <div>
17
+ <div class="number">No. {{number}} · ID {{pet_id}}</div>
18
+ <h1>{{name}}</h1>
19
+ <div class="form-line">{{formLine}}</div>
20
+ </div>
21
+ </div>
22
+ <div class="pill-row">
23
+ {{each type_names item}}
24
+ <span class="pill type">{{item}}</span>
25
+ {{/each}}
26
+ {{each egg_groups item}}
27
+ <span class="pill egg">{{item}}</span>
28
+ {{/each}}
29
+ </div>
30
+ <p class="description">{{description}}</p>
31
+ <div class="meta-grid">
32
+ <div><span>身高</span><strong>{{height_label}}</strong></div>
33
+ <div><span>体重</span><strong>{{weight_label}}</strong></div>
34
+ <div><span>同乘</span><strong>{{ride_talent}}</strong></div>
35
+ <div><span>总和</span><strong>{{total_stats}}</strong></div>
36
+ </div>
37
+ </section>
38
+ <section class="hero-visual">
39
+ <img src="{{main_image}}" alt="{{name}}" onerror="this.style.display='none'">
40
+ </section>
41
+ </header>
42
+
43
+ <main class="content-grid">
44
+ <section class="panel stats-panel">
45
+ <div class="panel-title">能力值</div>
46
+ <div class="stats-list">
47
+ {{each pet_stats item}}
48
+ <div class="stat-row">
49
+ <span>{{item.label}}</span>
50
+ <div class="track"><i style="width: {{item.percent}}%; background: {{item.color}};"></i></div>
51
+ <b>{{item.value}}</b>
52
+ </div>
53
+ {{/each}}
54
+ </div>
55
+ </section>
56
+
57
+ <section class="panel feature-panel">
58
+ <div class="panel-title">特性与生态</div>
59
+ <article class="feature-card">
60
+ <div class="feature-name">{{feature_name}}</div>
61
+ <p>{{feature_desc}}</p>
62
+ </article>
63
+ <div class="info-list">
64
+ <div><span>性别比例</span><strong>{{gender_ratio}}</strong></div>
65
+ <div><span>移动方式</span><strong>{{move_type}}</strong></div>
66
+ <div><span>栖息地</span><strong>{{habitatsLabel}}</strong></div>
67
+ </div>
68
+ {{if ecology}}
69
+ <p class="ecology">{{ecology}}</p>
70
+ {{/if}}
71
+ {{if type_effectiveness && type_effectiveness.length}}
72
+ <div class="effect-grid">
73
+ {{each type_effectiveness item}}
74
+ <div><span>{{item.label}}</span><strong>{{item.value}}</strong></div>
75
+ {{/each}}
76
+ </div>
77
+ {{/if}}
78
+ </section>
79
+
80
+ <section class="panel family-panel">
81
+ <div class="panel-title">家族形态</div>
82
+ <div class="family-list">
83
+ {{each family_members item}}
84
+ <article class="family-card {{if item.is_current}}current{{/if}}">
85
+ <img src="{{item.icon || main_image}}" alt="{{item.name}}" onerror="this.style.display='none'">
86
+ <div>
87
+ <strong>{{item.name}}</strong>
88
+ <span>#{{item.pet_id}} {{item.form}}</span>
89
+ {{if item.condition}}<small>{{item.condition}}</small>{{/if}}
90
+ </div>
91
+ </article>
92
+ {{/each}}
93
+ {{if !family_members.length}}
94
+ <div class="empty">暂无家族资料</div>
95
+ {{/if}}
96
+ </div>
97
+ </section>
98
+
99
+ <section class="panel skills-panel">
100
+ <div class="panel-title">技能</div>
101
+ {{each skill_groups group}}
102
+ <div class="skill-group">
103
+ <div class="group-title">{{group.label}}</div>
104
+ <div class="skill-list">
105
+ {{each group.items item}}
106
+ <article class="skill-card">
107
+ <img src="{{item.icon}}" alt="{{item.name}}" onerror="this.style.display='none'">
108
+ <div>
109
+ <div class="skill-head">
110
+ <strong>{{item.name}}</strong>
111
+ <span>{{item.type}} · {{item.category}}</span>
112
+ </div>
113
+ <div class="skill-meta">等级 {{item.level || '-'}} · PP {{item.cost}} · 威力 {{item.power}}</div>
114
+ <p>{{item.desc}}</p>
115
+ </div>
116
+ </article>
117
+ {{/each}}
118
+ </div>
119
+ </div>
120
+ {{/each}}
121
+ {{if !skill_groups.length}}
122
+ <div class="empty">暂无技能资料</div>
123
+ {{/if}}
124
+ </section>
125
+
126
+ <section class="panel handbook-panel">
127
+ <div class="panel-title">图鉴课题</div>
128
+ {{if areasLabel}}
129
+ <div class="area-line">{{areasLabel}}</div>
130
+ {{/if}}
131
+ <div class="topic-list">
132
+ {{each handbook_topics item}}
133
+ <article class="topic-card">
134
+ <strong>{{item.name}}</strong>
135
+ {{if item.desc}}<p>{{item.desc}}</p>{{/if}}
136
+ {{if item.rewards && item.rewards.length}}
137
+ <div class="reward-row">
138
+ {{each item.rewards reward}}
139
+ <span><img src="{{reward.icon}}" onerror="this.style.display='none'">{{reward.name}} {{reward.count}}</span>
140
+ {{/each}}
141
+ </div>
142
+ {{/if}}
143
+ </article>
144
+ {{/each}}
145
+ {{if !handbook_topics.length}}
146
+ <div class="empty">暂无课题资料</div>
147
+ {{/if}}
148
+ </div>
149
+ </section>
150
+ </main>
151
+
152
+ <footer class="wiki-footer">
153
+ <span>{{commandHint}}</span>
154
+ <span>{{copyright}}</span>
155
+ </footer>
156
+ </div>
157
+ </body>
158
+ </html>