dsh-remote-plugin 0.5.7 → 0.5.9

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.
@@ -0,0 +1,351 @@
1
+ /* DSH Remote · 移动优先 · 四皮肤(默认深空/深色落日/亮色易北爱乐厅/中性草原孤塔)
2
+ * 统一 --dsr-* 变量; 主题由 <html data-theme="dark|light|neutral"> 驱动, theme.js 持久化。
3
+ * 红绿色弱友好原则: 状态语义色之外, 品牌色使用蓝/青 + 橙/紫系, 避免红绿配对。 */
4
+
5
+ /* ============ 通用变量 ============ */
6
+ :root {
7
+ --dsr-radius: 14px;
8
+ --dsr-safe-top: max(env(safe-area-inset-top, 0px), var(--native-top, 0px));
9
+ --dsr-safe-b: max(env(safe-area-inset-bottom, 0px), var(--native-bottom, 0px));
10
+ }
11
+
12
+ /* ============ 深空「默认」: 经典深蓝紫(保留原配色) ============ */
13
+ :root,
14
+ html[data-theme="default"] {
15
+ /* 中性灰阶 0(白) → 9(近黑) */
16
+ --dsr-neutral-0: #FFFFFF;
17
+ --dsr-neutral-1: #F4F6F9;
18
+ --dsr-neutral-2: #E6EAF0;
19
+ --dsr-neutral-3: #C9D1DC;
20
+ --dsr-neutral-4: #A6B0BE;
21
+ --dsr-neutral-5: #828D9E;
22
+ --dsr-neutral-6: #616C7E;
23
+ --dsr-neutral-7: #444E5E;
24
+ --dsr-neutral-8: #2B3442;
25
+ --dsr-neutral-9: #1A212C;
26
+
27
+ --dsr-bg: #0B0E1A;
28
+ --dsr-bg-2: #101528;
29
+ --dsr-panel: #151B33;
30
+ --dsr-panel-2: #1B2340;
31
+ --dsr-line: #263056;
32
+ --dsr-divider: rgba(232, 236, 255, .16);
33
+ --dsr-text: #E8ECFF;
34
+ --dsr-muted: #8B94BD;
35
+ --dsr-text-disabled: rgba(232, 236, 255, .45);
36
+
37
+ --dsr-accent: #5B8CFF;
38
+ --dsr-on-accent: #FFFFFF;
39
+ --dsr-accent-strong: #6FA0FF;
40
+ --dsr-accent-soft: #5B8CFF1F;
41
+ --dsr-accent-line: #5B8CFF66;
42
+ --dsr-accent-2: #B48CFF;
43
+ --dsr-accent-2-strong: #B48CFF;
44
+ --dsr-accent-2-soft: #B48CFF21;
45
+ --dsr-accent-2-line: #B48CFF66;
46
+ --dsr-brand-a: #5B8CFF;
47
+ --dsr-brand-b: #B48CFF;
48
+
49
+ --dsr-success: #4BCF7E;
50
+ --dsr-success-soft: #4BCF7E21;
51
+ --dsr-success-line: #4BCF7E66;
52
+ --dsr-warning: #FF9E64;
53
+ --dsr-warning-soft: #FF9E6421;
54
+ --dsr-warning-line: #FF9E6466;
55
+ --dsr-on-warning: #1A120B;
56
+ --dsr-error: #FF8F6B;
57
+ --dsr-error-soft: #FF8F6B24;
58
+ --dsr-error-line: #FF8F6B66;
59
+ --dsr-info: #7DCFFF;
60
+ --dsr-info-soft: #7DCFFF21;
61
+ --dsr-info-line: #7DCFFF66;
62
+
63
+ --dsr-head-bg: rgba(11, 14, 26, .94);
64
+ --dsr-nav-bg: rgba(16, 21, 40, .94);
65
+ --dsr-nav-muted: #8B94BD;
66
+ --dsr-nav-active: #6FA0FF;
67
+ --dsr-nav-badge-bg: #FF9E64;
68
+ --dsr-nav-badge-text: #1A120B;
69
+ --dsr-composer-bg: rgba(11, 14, 26, .92);
70
+ --dsr-overlay: rgba(5, 7, 14, .66);
71
+ --dsr-code-bg: rgba(0, 0, 0, .28);
72
+ --dsr-shadow: rgba(0, 0, 0, .4);
73
+ --dsr-glow: rgba(91, 140, 255, .8);
74
+ --dsr-head-running-bg: linear-gradient(90deg, rgba(11, 14, 26, .94), rgba(35, 65, 150, .92), rgba(125, 207, 255, .6), rgba(35, 65, 150, .92), rgba(11, 14, 26, .94));
75
+ --dsr-head-running-line: rgba(91, 140, 255, .55);
76
+ --dsr-head-interrupted-bg: linear-gradient(90deg, rgba(11, 14, 26, .94), rgba(90, 26, 12, .92), rgba(255, 158, 100, .55), rgba(90, 26, 12, .92), rgba(11, 14, 26, .94));
77
+ --dsr-head-interrupted-line: rgba(255, 158, 100, .55);
78
+ }
79
+
80
+ /* ============ 深色「落日」: 深钴蓝底 + 琥珀橙强调 ============ */
81
+ html[data-theme="dark"] {
82
+ /* 中性灰阶 0(白) → 9(近黑) */
83
+ --dsr-neutral-0: #FFFFFF;
84
+ --dsr-neutral-1: #F4F6F9;
85
+ --dsr-neutral-2: #E6EAF0;
86
+ --dsr-neutral-3: #C9D1DC;
87
+ --dsr-neutral-4: #A6B0BE;
88
+ --dsr-neutral-5: #828D9E;
89
+ --dsr-neutral-6: #616C7E;
90
+ --dsr-neutral-7: #444E5E;
91
+ --dsr-neutral-8: #2B3442;
92
+ --dsr-neutral-9: #1A212C;
93
+
94
+ /* 表面与文字 */
95
+ --dsr-bg: #05348B;
96
+ --dsr-bg-2: #0B3E86;
97
+ --dsr-panel: #0D438F;
98
+ --dsr-panel-2: #164E9E;
99
+ --dsr-line: #2E5A8C;
100
+ --dsr-divider: rgba(255, 255, 255, .16);
101
+ --dsr-text: #FFFFFF;
102
+ --dsr-muted: rgba(255, 255, 255, .85);
103
+ --dsr-text-disabled: rgba(255, 255, 255, .48);
104
+
105
+ /* 品牌强调(琥珀橙)与点缀(米色) */
106
+ --dsr-accent: #F9A647;
107
+ --dsr-on-accent: #1A120B;
108
+ --dsr-accent-strong: #F9A647;
109
+ --dsr-accent-soft: #F9A64721;
110
+ --dsr-accent-line: #F9A64766;
111
+ --dsr-accent-2: #EDCFAB;
112
+ --dsr-accent-2-strong: #EDCFAB;
113
+ --dsr-accent-2-soft: #EDCFAB21;
114
+ --dsr-accent-2-line: #EDCFAB66;
115
+ --dsr-brand-a: #F9A647;
116
+ --dsr-brand-b: #EDCFAB;
117
+
118
+ /* 状态色(WCAG 对比度按深钴蓝底校准) */
119
+ --dsr-success: #7EE2A8;
120
+ --dsr-success-soft: #7EE2A821;
121
+ --dsr-success-line: #7EE2A866;
122
+ --dsr-warning: #F9A647;
123
+ --dsr-warning-soft: #F9A64721;
124
+ --dsr-warning-line: #F9A64766;
125
+ --dsr-on-warning: #1A120B;
126
+ --dsr-error: #FFB4A6;
127
+ --dsr-error-soft: #FFB4A624;
128
+ --dsr-error-line: #FFB4A666;
129
+ --dsr-info: #7DCFFF;
130
+ --dsr-info-soft: #7DCFFF21;
131
+ --dsr-info-line: #7DCFFF66;
132
+
133
+ /* 悬浮/遮罩/特殊表面 */
134
+ --dsr-head-bg: rgba(4, 32, 90, .94);
135
+ --dsr-nav-bg: rgba(7, 38, 104, .94);
136
+ --dsr-nav-muted: rgba(255, 255, 255, .85);
137
+ --dsr-nav-active: #F9A647;
138
+ --dsr-nav-badge-bg: #F9A647;
139
+ --dsr-nav-badge-text: #1A120B;
140
+ --dsr-composer-bg: rgba(5, 42, 110, .92);
141
+ --dsr-overlay: rgba(2, 10, 32, .66);
142
+ --dsr-code-bg: rgba(0, 0, 0, .28);
143
+ --dsr-shadow: rgba(0, 0, 0, .4);
144
+ --dsr-glow: rgba(249, 166, 71, .55);
145
+ --dsr-head-running-bg: linear-gradient(90deg, rgba(4, 32, 90, .94), rgba(30, 77, 123, .92), rgba(125, 207, 255, .55), rgba(30, 77, 123, .92), rgba(4, 32, 90, .94));
146
+ --dsr-head-running-line: rgba(249, 166, 71, .55);
147
+ --dsr-head-interrupted-bg: linear-gradient(90deg, rgba(4, 32, 90, .94), rgba(90, 26, 12, .92), rgba(255, 180, 166, .55), rgba(90, 26, 12, .92), rgba(4, 32, 90, .94));
148
+ --dsr-head-interrupted-line: rgba(255, 180, 166, .55);
149
+ }
150
+
151
+ /* ============ 亮色「易北爱乐厅」: 米白底 + 沙金强调 ============ */
152
+ html[data-theme="light"] {
153
+ --dsr-neutral-0: #FFFFFF;
154
+ --dsr-neutral-1: #FAF9F7;
155
+ --dsr-neutral-2: #F3F1ED;
156
+ --dsr-neutral-3: #E8E5DF;
157
+ --dsr-neutral-4: #D8D4CC;
158
+ --dsr-neutral-5: #B8B3A9;
159
+ --dsr-neutral-6: #8A857C;
160
+ --dsr-neutral-7: #615D56;
161
+ --dsr-neutral-8: #3F3C37;
162
+ --dsr-neutral-9: #2B2B2B;
163
+
164
+ --dsr-bg: #EFEEEC;
165
+ --dsr-bg-2: #E5E1D9;
166
+ --dsr-panel: #FAF8F5;
167
+ --dsr-panel-2: #FFFFFF;
168
+ --dsr-line: #D8D2C6;
169
+ --dsr-divider: rgba(43, 43, 43, .12);
170
+ --dsr-text: #2B2B2B;
171
+ --dsr-muted: #6E6A63;
172
+ --dsr-text-disabled: #A8A39A;
173
+
174
+ /* 沙金(填充/按钮) + 深沙金(小字号文字) + 浅桃粉(点缀) */
175
+ --dsr-accent: #E6BC7B;
176
+ --dsr-on-accent: #2B2B2B;
177
+ --dsr-accent-strong: #7A5A24;
178
+ --dsr-accent-soft: #E6BC7B40;
179
+ --dsr-accent-line: #C89A4E66;
180
+ --dsr-accent-2: #6E5A8C;
181
+ --dsr-accent-2-strong: #6E5A8C;
182
+ --dsr-accent-2-soft: #6E5A8C1F;
183
+ --dsr-accent-2-line: #6E5A8C59;
184
+ --dsr-brand-a: #E6BC7B;
185
+ --dsr-brand-b: #EDD4C2;
186
+
187
+ --dsr-success: #237A46;
188
+ --dsr-success-soft: #237A461A;
189
+ --dsr-success-line: #237A4659;
190
+ --dsr-warning: #965A0B;
191
+ --dsr-warning-soft: #B96A0E1F;
192
+ --dsr-warning-line: #B96A0E59;
193
+ --dsr-on-warning: #FFFFFF;
194
+ --dsr-error: #B7423F;
195
+ --dsr-error-soft: #B7423F1F;
196
+ --dsr-error-line: #B7423F59;
197
+ --dsr-info: #2563C0;
198
+ --dsr-info-soft: #2563C01A;
199
+ --dsr-info-line: #2563C059;
200
+
201
+ --dsr-head-bg: rgba(239, 238, 236, .94);
202
+ --dsr-nav-bg: rgba(250, 248, 245, .94);
203
+ --dsr-nav-muted: #6E6A63;
204
+ --dsr-nav-active: #7A5A24;
205
+ --dsr-nav-badge-bg: #965A0B;
206
+ --dsr-nav-badge-text: #FFFFFF;
207
+ --dsr-composer-bg: rgba(250, 248, 245, .92);
208
+ --dsr-overlay: rgba(43, 43, 43, .4);
209
+ --dsr-code-bg: rgba(0, 0, 0, .06);
210
+ --dsr-shadow: rgba(43, 43, 43, .18);
211
+ --dsr-glow: rgba(198, 154, 78, .45);
212
+ --dsr-head-running-bg: linear-gradient(90deg, rgba(239, 238, 236, .94), rgba(230, 188, 123, .45), rgba(255, 255, 255, .65), rgba(230, 188, 123, .45), rgba(239, 238, 236, .94));
213
+ --dsr-head-running-line: rgba(122, 90, 36, .55);
214
+ --dsr-head-interrupted-bg: linear-gradient(90deg, rgba(239, 238, 236, .94), rgba(183, 66, 63, .18), rgba(255, 255, 255, .65), rgba(183, 66, 63, .18), rgba(239, 238, 236, .94));
215
+ --dsr-head-interrupted-line: rgba(183, 66, 63, .55);
216
+ }
217
+
218
+ /* ============ 中性「草原孤塔」: 鼠尾草底 + 橄榄绿块 + 陶土红点缀(莫兰迪自然系) ============ */
219
+ html[data-theme="neutral"] {
220
+ --dsr-neutral-0: #FFFFFF;
221
+ --dsr-neutral-1: #FAF7EE;
222
+ --dsr-neutral-2: #F1EDDF;
223
+ --dsr-neutral-3: #E6DFC8;
224
+ --dsr-neutral-4: #D5CDB4;
225
+ --dsr-neutral-5: #B8AF91;
226
+ --dsr-neutral-6: #8E866D;
227
+ --dsr-neutral-7: #6B6450;
228
+ --dsr-neutral-8: #454133;
229
+ --dsr-neutral-9: #2B2B2B;
230
+
231
+ --dsr-bg: #DDD4B8;
232
+ --dsr-bg-2: #D2C9AC;
233
+ --dsr-panel: #E6DFC8;
234
+ --dsr-panel-2: #F1EDDF;
235
+ --dsr-line: #B8AF91;
236
+ --dsr-divider: rgba(43, 43, 43, .14);
237
+ --dsr-text: #2B2B2B;
238
+ --dsr-muted: #5E5A45;
239
+ --dsr-text-disabled: #9A937C;
240
+
241
+ /* 橄榄军绿 = 主色(按钮/开关/底部导航块); 陶土砖红 = 强调(徽标/图标/链接) */
242
+ --dsr-accent: #585818;
243
+ --dsr-on-accent: #F5F1E3;
244
+ --dsr-accent-strong: #585818;
245
+ --dsr-accent-soft: #5858181F;
246
+ --dsr-accent-line: #58581866;
247
+ --dsr-accent-2: #832D15;
248
+ --dsr-accent-2-strong: #832D15;
249
+ --dsr-accent-2-soft: #832D151F;
250
+ --dsr-accent-2-line: #832D1566;
251
+ --dsr-brand-a: #585818;
252
+ --dsr-brand-b: #832D15;
253
+
254
+ --dsr-success: #1E5C33;
255
+ --dsr-success-soft: #1E5C331F;
256
+ --dsr-success-line: #1E5C3366;
257
+ --dsr-warning: #8A4B0C;
258
+ --dsr-warning-soft: #8A4B0C1F;
259
+ --dsr-warning-line: #8A4B0C66;
260
+ --dsr-on-warning: #FFFFFF;
261
+ --dsr-error: #8A2A1F;
262
+ --dsr-error-soft: #8A2A1F1F;
263
+ --dsr-error-line: #8A2A1F66;
264
+ --dsr-info: #1F4E7A;
265
+ --dsr-info-soft: #1F4E7A1F;
266
+ --dsr-info-line: #1F4E7A66;
267
+
268
+ --dsr-head-bg: rgba(221, 212, 184, .94);
269
+ --dsr-nav-bg: #585818;
270
+ --dsr-nav-muted: rgba(245, 241, 227, .8);
271
+ --dsr-nav-active: #F5F1E3;
272
+ --dsr-nav-badge-bg: #832D15;
273
+ --dsr-nav-badge-text: #F5F1E3;
274
+ --dsr-composer-bg: rgba(230, 223, 200, .92);
275
+ --dsr-overlay: rgba(43, 43, 43, .4);
276
+ --dsr-code-bg: rgba(0, 0, 0, .07);
277
+ --dsr-shadow: rgba(43, 43, 43, .2);
278
+ --dsr-glow: rgba(88, 88, 24, .5);
279
+ --dsr-head-running-bg: linear-gradient(90deg, rgba(221, 212, 184, .94), rgba(88, 88, 24, .30), rgba(245, 241, 227, .65), rgba(88, 88, 24, .30), rgba(221, 212, 184, .94));
280
+ --dsr-head-running-line: rgba(88, 88, 24, .55);
281
+ --dsr-head-interrupted-bg: linear-gradient(90deg, rgba(221, 212, 184, .94), rgba(131, 45, 21, .20), rgba(245, 241, 227, .65), rgba(131, 45, 21, .20), rgba(221, 212, 184, .94));
282
+ --dsr-head-interrupted-line: rgba(131, 45, 21, .55);
283
+ }
284
+
285
+ /* 无 JS 或 JS 前: 跟随系统深浅偏好 */
286
+ @media (prefers-color-scheme: light) {
287
+ :root:not([data-theme]) {
288
+ --dsr-neutral-0: #FFFFFF;
289
+ --dsr-neutral-1: #FAF9F7;
290
+ --dsr-neutral-2: #F3F1ED;
291
+ --dsr-neutral-3: #E8E5DF;
292
+ --dsr-neutral-4: #D8D4CC;
293
+ --dsr-neutral-5: #B8B3A9;
294
+ --dsr-neutral-6: #8A857C;
295
+ --dsr-neutral-7: #615D56;
296
+ --dsr-neutral-8: #3F3C37;
297
+ --dsr-neutral-9: #2B2B2B;
298
+
299
+ --dsr-bg: #EFEEEC;
300
+ --dsr-bg-2: #E5E1D9;
301
+ --dsr-panel: #FAF8F5;
302
+ --dsr-panel-2: #FFFFFF;
303
+ --dsr-line: #D8D2C6;
304
+ --dsr-divider: rgba(43, 43, 43, .12);
305
+ --dsr-text: #2B2B2B;
306
+ --dsr-muted: #6E6A63;
307
+ --dsr-text-disabled: #A8A39A;
308
+
309
+ --dsr-accent: #E6BC7B;
310
+ --dsr-on-accent: #2B2B2B;
311
+ --dsr-accent-strong: #7A5A24;
312
+ --dsr-accent-soft: #E6BC7B40;
313
+ --dsr-accent-line: #C89A4E66;
314
+ --dsr-accent-2: #6E5A8C;
315
+ --dsr-accent-2-strong: #6E5A8C;
316
+ --dsr-accent-2-soft: #6E5A8C1F;
317
+ --dsr-accent-2-line: #6E5A8C59;
318
+ --dsr-brand-a: #E6BC7B;
319
+ --dsr-brand-b: #EDD4C2;
320
+
321
+ --dsr-success: #237A46;
322
+ --dsr-success-soft: #237A461A;
323
+ --dsr-success-line: #237A4659;
324
+ --dsr-warning: #965A0B;
325
+ --dsr-warning-soft: #B96A0E1F;
326
+ --dsr-warning-line: #B96A0E59;
327
+ --dsr-on-warning: #FFFFFF;
328
+ --dsr-error: #B7423F;
329
+ --dsr-error-soft: #B7423F1F;
330
+ --dsr-error-line: #B7423F59;
331
+ --dsr-info: #2563C0;
332
+ --dsr-info-soft: #2563C01A;
333
+ --dsr-info-line: #2563C059;
334
+
335
+ --dsr-head-bg: rgba(239, 238, 236, .94);
336
+ --dsr-nav-bg: rgba(250, 248, 245, .94);
337
+ --dsr-nav-muted: #6E6A63;
338
+ --dsr-nav-active: #7A5A24;
339
+ --dsr-nav-badge-bg: #965A0B;
340
+ --dsr-nav-badge-text: #FFFFFF;
341
+ --dsr-composer-bg: rgba(250, 248, 245, .92);
342
+ --dsr-overlay: rgba(43, 43, 43, .4);
343
+ --dsr-code-bg: rgba(0, 0, 0, .06);
344
+ --dsr-shadow: rgba(43, 43, 43, .18);
345
+ --dsr-glow: rgba(198, 154, 78, .45);
346
+ --dsr-head-running-bg: linear-gradient(90deg, rgba(239, 238, 236, .94), rgba(230, 188, 123, .45), rgba(255, 255, 255, .65), rgba(230, 188, 123, .45), rgba(239, 238, 236, .94));
347
+ --dsr-head-running-line: rgba(122, 90, 36, .55);
348
+ --dsr-head-interrupted-bg: linear-gradient(90deg, rgba(239, 238, 236, .94), rgba(183, 66, 63, .18), rgba(255, 255, 255, .65), rgba(183, 66, 63, .18), rgba(239, 238, 236, .94));
349
+ --dsr-head-interrupted-line: rgba(183, 66, 63, .55);
350
+ }
351
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.5.7",
2
+ "version": "0.5.9",
3
3
  "apkUrl": "dsh-remote.apk",
4
- "releasedAt": "2026-08-17T06:01:38.138Z",
5
- "notes": "新增:Token 统计 v1(管理页 + App 统计页):今日四桶/费用/高峰占比与近 7 日柱状图,按北京时间高峰计费,统计自 2026-08-17 定价生效日起;数据基于 token 估算,以官网账单为准。"
4
+ "releasedAt": "2026-08-18T07:05:40.678Z",
5
+ "notes": "反馈渠道升级:App 顶栏 / 桌面端侧边栏 / 管理页右上角三端入口;App 与桌面端「写反馈」弹层直接提交,网关转发到反馈收集器(DSH_REMOTE_FEEDBACK_URL 可覆盖,无 token 配置,成功后 1 分钟节流);管理页顶栏滚动置顶并适配窄屏;桌面端反馈按钮与导航项同层级。"
6
6
  }
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "0.5.7"
2
+ "version": "0.5.9"
3
3
  }