yz-yuki-plugin 2.0.7-11 → 2.0.7-13
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/CHANGELOG.md +1 -0
- package/lib/apps/bilibili.js +35 -7
- package/lib/apps/weibo.js +42 -14
- package/lib/models/bilibili/bilibili.main.query.js +15 -9
- package/package.json +1 -1
- package/resources/css/dynamic/Content.css +93 -0
- package/resources/img/icon/dynamic/bili-dyn-card-vote__cover.svg +1 -0
package/CHANGELOG.md
CHANGED
package/lib/apps/bilibili.js
CHANGED
|
@@ -358,6 +358,17 @@ message.use(async (e) => {
|
|
|
358
358
|
}
|
|
359
359
|
else {
|
|
360
360
|
let subData = Config.getConfigData('config', 'bilibili', 'push') || { group: {}, private: {} };
|
|
361
|
+
// 如果聊天ID没有订阅数据,则删除该聊天ID
|
|
362
|
+
for (let chatType in subData) {
|
|
363
|
+
if (subData.hasOwnProperty(chatType)) {
|
|
364
|
+
subData[chatType] = Object.keys(subData[chatType]).reduce((nonEmptyData, chatId) => {
|
|
365
|
+
if (subData[chatType][chatId].length > 0) {
|
|
366
|
+
nonEmptyData[chatId] = subData[chatType][chatId];
|
|
367
|
+
}
|
|
368
|
+
return nonEmptyData;
|
|
369
|
+
}, {});
|
|
370
|
+
}
|
|
371
|
+
}
|
|
361
372
|
const messages = [];
|
|
362
373
|
const typeMap = {
|
|
363
374
|
DYNAMIC_TYPE_AV: '视频',
|
|
@@ -369,9 +380,9 @@ message.use(async (e) => {
|
|
|
369
380
|
};
|
|
370
381
|
// 处理群组订阅
|
|
371
382
|
if (subData.group && Object.keys(subData.group).length > 0) {
|
|
372
|
-
messages.push('
|
|
383
|
+
messages.push('\n>>>>>>群组B站订阅<<<<<<');
|
|
373
384
|
Object.keys(subData.group).forEach(groupId => {
|
|
374
|
-
messages.push(
|
|
385
|
+
messages.push(`\n<群组${groupId}>:`);
|
|
375
386
|
subData.group[groupId].forEach((item) => {
|
|
376
387
|
const types = new Set();
|
|
377
388
|
if (item.type && item.type.length) {
|
|
@@ -381,15 +392,18 @@ message.use(async (e) => {
|
|
|
381
392
|
}
|
|
382
393
|
});
|
|
383
394
|
}
|
|
384
|
-
messages.push(`${item.
|
|
395
|
+
messages.push(`${item.uid}:${item.name} ${types.size ? `[${Array.from(types).join('、')}]` : ' [全部动态]'}`);
|
|
385
396
|
});
|
|
386
397
|
});
|
|
387
398
|
}
|
|
399
|
+
else {
|
|
400
|
+
messages.push('\n>>>>>>群组B站订阅<<<<<<\n当前没有任何群组订阅数据~');
|
|
401
|
+
}
|
|
388
402
|
// 处理私聊订阅
|
|
389
403
|
if (subData.private && Object.keys(subData.private).length > 0) {
|
|
390
|
-
messages.push('\n
|
|
404
|
+
messages.push('\n>>>>>>私聊B站订阅<<<<<<');
|
|
391
405
|
Object.keys(subData.private).forEach(userId => {
|
|
392
|
-
messages.push(
|
|
406
|
+
messages.push(`\n<用户${userId}>:`);
|
|
393
407
|
subData.private[userId].forEach((item) => {
|
|
394
408
|
const types = new Set();
|
|
395
409
|
if (item.type && item.type.length) {
|
|
@@ -399,16 +413,30 @@ message.use(async (e) => {
|
|
|
399
413
|
}
|
|
400
414
|
});
|
|
401
415
|
}
|
|
402
|
-
messages.push(`${item.
|
|
416
|
+
messages.push(`${item.uid}:${item.name} ${types.size ? `[${Array.from(types).join('、')}]` : ' [全部动态]'}`);
|
|
403
417
|
});
|
|
404
418
|
});
|
|
405
419
|
}
|
|
420
|
+
else {
|
|
421
|
+
messages.push('\n>>>>>>私聊B站订阅<<<<<<\n当前没有任何私聊订阅数据~');
|
|
422
|
+
}
|
|
406
423
|
e.reply(`推送列表如下:\n${messages.join('\n')}`);
|
|
407
424
|
}
|
|
408
425
|
}, [/^(#|\/)(yuki|优纪)?(b站|B站|bili|bilibili|哔哩|哔哩哔哩)全部(推送|动态|订阅)列表$/]);
|
|
409
426
|
/** 单独群聊或私聊的订阅的b站推送列表 */
|
|
410
427
|
message.use(async (e) => {
|
|
411
428
|
let subData = Config.getConfigData('config', 'bilibili', 'push') || { group: {}, private: {} };
|
|
429
|
+
// 如果聊天ID没有订阅数据,则删除该聊天ID
|
|
430
|
+
for (let chatType in subData) {
|
|
431
|
+
if (subData.hasOwnProperty(chatType)) {
|
|
432
|
+
subData[chatType] = Object.keys(subData[chatType]).reduce((nonEmptyData, chatId) => {
|
|
433
|
+
if (subData[chatType][chatId].length > 0) {
|
|
434
|
+
nonEmptyData[chatId] = subData[chatType][chatId];
|
|
435
|
+
}
|
|
436
|
+
return nonEmptyData;
|
|
437
|
+
}, {});
|
|
438
|
+
}
|
|
439
|
+
}
|
|
412
440
|
const messages = [];
|
|
413
441
|
const typeMap = {
|
|
414
442
|
DYNAMIC_TYPE_AV: '视频',
|
|
@@ -433,7 +461,7 @@ message.use(async (e) => {
|
|
|
433
461
|
}
|
|
434
462
|
});
|
|
435
463
|
}
|
|
436
|
-
messages.push(`${item.
|
|
464
|
+
messages.push(`${item.uid}:${item.name} ${types.size ? `[${Array.from(types).join('、')}]` : ' [全部动态]'}`);
|
|
437
465
|
});
|
|
438
466
|
e.reply(`推送列表如下:\n${messages.join('\n')}`);
|
|
439
467
|
}, [/^(#|\/)(yuki|优纪)?(b站|B站|bili|bilibili|哔哩|哔哩哔哩)(推送|动态|订阅)列表$/]);
|
package/lib/apps/weibo.js
CHANGED
|
@@ -86,16 +86,16 @@ message.use(async (e) => {
|
|
|
86
86
|
return;
|
|
87
87
|
}
|
|
88
88
|
// 获取或初始化微博推送数据
|
|
89
|
-
let
|
|
89
|
+
let subData = weiboPushData || { group: {}, private: {} };
|
|
90
90
|
// 根据聊天类型初始化数据
|
|
91
91
|
let chatType = e.isGroup ? 'group' : 'private';
|
|
92
92
|
let chatId = e.isGroup ? e.group_id : e.user_id;
|
|
93
93
|
// 初始化群组或私聊数据
|
|
94
|
-
if (!
|
|
95
|
-
|
|
94
|
+
if (!subData[chatType][chatId]) {
|
|
95
|
+
subData[chatType][chatId] = [];
|
|
96
96
|
}
|
|
97
97
|
// 查找指定UID的订阅数据
|
|
98
|
-
const upData =
|
|
98
|
+
const upData = subData[chatType][chatId].find((item) => item.uid == uid);
|
|
99
99
|
if (!upData) {
|
|
100
100
|
e.reply(`订阅列表中没有找到该UID~\n${uid}可能是无效的`);
|
|
101
101
|
return;
|
|
@@ -105,7 +105,7 @@ message.use(async (e) => {
|
|
|
105
105
|
let isDel = false;
|
|
106
106
|
if (newType.length) {
|
|
107
107
|
// 更新订阅类型
|
|
108
|
-
|
|
108
|
+
subData[chatType][chatId] = subData[chatType][chatId].map(item => {
|
|
109
109
|
if (item.uid == uid) {
|
|
110
110
|
item.type = newType;
|
|
111
111
|
}
|
|
@@ -115,11 +115,11 @@ message.use(async (e) => {
|
|
|
115
115
|
else {
|
|
116
116
|
// 删除订阅
|
|
117
117
|
isDel = true;
|
|
118
|
-
|
|
118
|
+
subData[chatType][chatId] = subData[chatType][chatId].filter((item) => item.uid !== uid);
|
|
119
119
|
}
|
|
120
120
|
// 保存更新后的数据
|
|
121
121
|
//weiboPushData = data;
|
|
122
|
-
Config.saveConfig('config', 'weibo', 'push',
|
|
122
|
+
Config.saveConfig('config', 'weibo', 'push', subData);
|
|
123
123
|
// 回复用户操作结果
|
|
124
124
|
e.reply(`${isDel ? '删除' : '修改'}微博推送成功~\n${uid}`);
|
|
125
125
|
}
|
|
@@ -131,6 +131,17 @@ message.use(async (e) => {
|
|
|
131
131
|
}
|
|
132
132
|
else {
|
|
133
133
|
let subData = weiboPushData || { group: {}, private: {} };
|
|
134
|
+
// 如果聊天ID没有订阅数据,则删除该聊天ID
|
|
135
|
+
for (let chatType in subData) {
|
|
136
|
+
if (subData.hasOwnProperty(chatType)) {
|
|
137
|
+
subData[chatType] = Object.keys(subData[chatType]).reduce((nonEmptyData, chatId) => {
|
|
138
|
+
if (subData[chatType][chatId].length > 0) {
|
|
139
|
+
nonEmptyData[chatId] = subData[chatType][chatId];
|
|
140
|
+
}
|
|
141
|
+
return nonEmptyData;
|
|
142
|
+
}, {});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
134
145
|
const messages = [];
|
|
135
146
|
const typeMap = {
|
|
136
147
|
DYNAMIC_TYPE_AV: '视频',
|
|
@@ -141,9 +152,9 @@ message.use(async (e) => {
|
|
|
141
152
|
};
|
|
142
153
|
// 处理群组订阅
|
|
143
154
|
if (subData.group && Object.keys(subData.group).length > 0) {
|
|
144
|
-
messages.push('
|
|
155
|
+
messages.push('\n>>>>>>群组微博订阅<<<<<<');
|
|
145
156
|
Object.keys(subData.group).forEach(groupId => {
|
|
146
|
-
messages.push(
|
|
157
|
+
messages.push(`\n<群组${groupId}>:`);
|
|
147
158
|
subData.group[groupId].forEach((item) => {
|
|
148
159
|
const types = new Set();
|
|
149
160
|
if (item.type && item.type.length) {
|
|
@@ -153,15 +164,18 @@ message.use(async (e) => {
|
|
|
153
164
|
}
|
|
154
165
|
});
|
|
155
166
|
}
|
|
156
|
-
messages.push(`${item.
|
|
167
|
+
messages.push(`${item.uid}:${item.name} ${types.size ? `[${Array.from(types).join('、')}]` : ' [全部动态]'}`);
|
|
157
168
|
});
|
|
158
169
|
});
|
|
159
170
|
}
|
|
171
|
+
else {
|
|
172
|
+
messages.push('\n>>>>>>群组微博订阅<<<<<<\n当前没有任何群组订阅数据~');
|
|
173
|
+
}
|
|
160
174
|
// 处理私聊订阅
|
|
161
175
|
if (subData.private && Object.keys(subData.private).length > 0) {
|
|
162
|
-
messages.push('
|
|
176
|
+
messages.push('\n>>>>>>私聊微博订阅<<<<<<');
|
|
163
177
|
Object.keys(subData.private).forEach(userId => {
|
|
164
|
-
messages.push(
|
|
178
|
+
messages.push(`\n<用户${userId}>:`);
|
|
165
179
|
subData.private[userId].forEach((item) => {
|
|
166
180
|
const types = new Set();
|
|
167
181
|
if (item.type && item.type.length) {
|
|
@@ -171,16 +185,30 @@ message.use(async (e) => {
|
|
|
171
185
|
}
|
|
172
186
|
});
|
|
173
187
|
}
|
|
174
|
-
messages.push(`${item.
|
|
188
|
+
messages.push(`${item.uid}:${item.name} ${types.size ? `[${Array.from(types).join('、')}]` : ' [全部动态]'}`);
|
|
175
189
|
});
|
|
176
190
|
});
|
|
177
191
|
}
|
|
192
|
+
else {
|
|
193
|
+
messages.push('\n>>>>>>私聊微博订阅<<<<<<\n当前没有任何私聊订阅数据~');
|
|
194
|
+
}
|
|
178
195
|
e.reply(`推送列表如下:\n${messages.join('\n')}`);
|
|
179
196
|
}
|
|
180
197
|
}, [/^(#|\/)(yuki|优纪)?(微博|weibo|WEIBO)全部(推送|动态|订阅)列表$/]);
|
|
181
198
|
/** 单独群聊或私聊的订阅的b站推送列表 */
|
|
182
199
|
message.use(async (e) => {
|
|
183
200
|
let subData = weiboPushData || { group: {}, private: {} };
|
|
201
|
+
// 如果聊天ID没有订阅数据,则删除该聊天ID
|
|
202
|
+
for (let chatType in subData) {
|
|
203
|
+
if (subData.hasOwnProperty(chatType)) {
|
|
204
|
+
subData[chatType] = Object.keys(subData[chatType]).reduce((nonEmptyData, chatId) => {
|
|
205
|
+
if (subData[chatType][chatId].length > 0) {
|
|
206
|
+
nonEmptyData[chatId] = subData[chatType][chatId];
|
|
207
|
+
}
|
|
208
|
+
return nonEmptyData;
|
|
209
|
+
}, {});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
184
212
|
const messages = [];
|
|
185
213
|
const typeMap = {
|
|
186
214
|
DYNAMIC_TYPE_AV: '视频',
|
|
@@ -204,7 +232,7 @@ message.use(async (e) => {
|
|
|
204
232
|
}
|
|
205
233
|
});
|
|
206
234
|
}
|
|
207
|
-
messages.push(`${item.
|
|
235
|
+
messages.push(`${item.uid}:${item.name} ${types.size ? `[${Array.from(types).join('、')}]` : ' [全部动态]'}`);
|
|
208
236
|
});
|
|
209
237
|
e.reply(`推送列表如下:\n${messages.join('\n')}`);
|
|
210
238
|
}, [/^(#|\/)(yuki|优纪)?(微博|weibo|WEIBO)(推送|动态|订阅)列表$/]);
|
|
@@ -13,7 +13,7 @@ class BiliQuery {
|
|
|
13
13
|
*/
|
|
14
14
|
static async formatDynamicData(data) {
|
|
15
15
|
const BiliDrawDynamicLinkUrl = 'https://m.bilibili.com/dynamic/';
|
|
16
|
-
let desc, pics = [], majorType;
|
|
16
|
+
let desc, pics = [], majorType, additional;
|
|
17
17
|
let formatData = { data: {} };
|
|
18
18
|
const author = data?.modules?.module_author || {};
|
|
19
19
|
formatData.data.face = author.face; // 作者头像
|
|
@@ -41,7 +41,8 @@ class BiliQuery {
|
|
|
41
41
|
pics.map((item) => {
|
|
42
42
|
return { url: item?.url, width: item?.width, height: item?.height };
|
|
43
43
|
}) || [];
|
|
44
|
-
|
|
44
|
+
additional = data?.modules?.module_dynamic?.additional;
|
|
45
|
+
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text, additional) || '';
|
|
45
46
|
}
|
|
46
47
|
else {
|
|
47
48
|
desc = data?.modules?.module_dynamic?.desc || {};
|
|
@@ -63,7 +64,8 @@ class BiliQuery {
|
|
|
63
64
|
pics = pics.map((item) => {
|
|
64
65
|
return { url: item?.url, width: item?.width, height: item?.height };
|
|
65
66
|
});
|
|
66
|
-
|
|
67
|
+
additional = data?.modules?.module_dynamic?.additional;
|
|
68
|
+
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text, additional) || '';
|
|
67
69
|
}
|
|
68
70
|
else if (majorType === 'MAJOR_TYPE_DRAW') {
|
|
69
71
|
desc = data?.modules?.module_dynamic?.desc;
|
|
@@ -98,6 +100,7 @@ class BiliQuery {
|
|
|
98
100
|
return { url: item?.url, width: item?.width, height: item?.height };
|
|
99
101
|
}) || [];
|
|
100
102
|
formatData.data.title = desc?.title;
|
|
103
|
+
additional = data?.modules?.module_dynamic?.additional;
|
|
101
104
|
// 文章内容过长,则尝试获取全文
|
|
102
105
|
if (String(desc?.summary?.text).length >= 480) {
|
|
103
106
|
const fullArticleContent = await this.getFullArticleContent(this.formatUrl(desc?.jump_url));
|
|
@@ -107,7 +110,7 @@ class BiliQuery {
|
|
|
107
110
|
if (articleType === 'cv') {
|
|
108
111
|
formatData.data.content = this.praseFullOldTypeArticleContent(readInfo?.content);
|
|
109
112
|
if (String(formatData.data.content).length < 100) {
|
|
110
|
-
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text) || '';
|
|
113
|
+
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text, additional) || '';
|
|
111
114
|
formatData.data.pics = pics;
|
|
112
115
|
}
|
|
113
116
|
else {
|
|
@@ -121,18 +124,18 @@ class BiliQuery {
|
|
|
121
124
|
formatData.data.content = content;
|
|
122
125
|
formatData.data.pics = img && img.length > 0 ? img : pics;
|
|
123
126
|
if (content && content.length < 100) {
|
|
124
|
-
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text);
|
|
127
|
+
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text, additional);
|
|
125
128
|
}
|
|
126
129
|
}
|
|
127
130
|
}
|
|
128
131
|
else {
|
|
129
|
-
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text) || '';
|
|
132
|
+
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text, additional) || '';
|
|
130
133
|
formatData.data.pics = pics;
|
|
131
134
|
}
|
|
132
135
|
}
|
|
133
136
|
}
|
|
134
137
|
else {
|
|
135
|
-
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text) || '';
|
|
138
|
+
formatData.data.content = this.parseRichTextNodes(desc?.summary?.rich_text_nodes || desc?.summary?.text, additional) || '';
|
|
136
139
|
formatData.data.pics = pics;
|
|
137
140
|
}
|
|
138
141
|
}
|
|
@@ -195,7 +198,7 @@ class BiliQuery {
|
|
|
195
198
|
* @param nodes - 动态内容富文本节点
|
|
196
199
|
* @returns 解析后的动态内容富文本
|
|
197
200
|
*/
|
|
198
|
-
static parseRichTextNodes = (nodes) => {
|
|
201
|
+
static parseRichTextNodes = (nodes, additional) => {
|
|
199
202
|
if (typeof nodes === 'string') {
|
|
200
203
|
// 将\t 替换为 实现空格,\n 替换为 <br> 以实现换行
|
|
201
204
|
nodes = nodes.replace(/\t/g, ' ');
|
|
@@ -223,7 +226,7 @@ class BiliQuery {
|
|
|
223
226
|
return `<span data-module="desc" data-type="lottery" data-oid="${node?.rid}" class="bili-rich-text-module lottery">${node?.text}</span>`;
|
|
224
227
|
case 'RICH_TEXT_NODE_TYPE_WEB':
|
|
225
228
|
// 处理 RICH_TEXT_NODE_TYPE_WEB 类型,直接拼接 text 属性
|
|
226
|
-
return node.text;
|
|
229
|
+
return node.orig_text || node.text;
|
|
227
230
|
case 'RICH_TEXT_NODE_TYPE_EMOJI':
|
|
228
231
|
// 处理表情类型,使用 img 标签显示表情
|
|
229
232
|
const emoji = node.emoji;
|
|
@@ -232,6 +235,9 @@ class BiliQuery {
|
|
|
232
235
|
// 处理商品推广类型,使用官方的HTML标签写法
|
|
233
236
|
const goods_url = node?.jump_url;
|
|
234
237
|
return `<span data-module="desc" data-type="goods" data-url="${goods_url}" data-oid="${node?.rid}" class="bili-rich-text-module goods ${node?.icon_name}">​${node?.text}</span>`;
|
|
238
|
+
case 'RICH_TEXT_NODE_TYPE_VOTE':
|
|
239
|
+
// 处理投票类型,使用官方的HTML标签写法
|
|
240
|
+
return `<div data-module="additional" data-orig="0" class="bili-dyn-content__orig__additional"><div class="bili-dyn-card-vote"><div class="bili-dyn-card-vote__header"><div class="bili-dyn-card-vote__cover"></div></div> <div class="bili-dyn-card-vote__body"><div class="bili-dyn-card-vote__detail"><div class="bili-dyn-card-vote__detail__title">${node?.text}</div> <div class="bili-dyn-card-vote__detail__desc">${additional && additional?.type === 'ADDITIONAL_TYPE_VOTE' ? additional?.vote?.desc : ''}</div></div> <div class="bili-dyn-card-vote__action"><button class="bili-dyn-card-vote__action__btn_normal">${additional && additional.type === 'ADDITIONAL_TYPE_VOTE' ? additional?.vote?.button?.jump_style?.text : ''}</button></div></div></div></div>`;
|
|
235
241
|
default:
|
|
236
242
|
return node;
|
|
237
243
|
}
|
package/package.json
CHANGED
|
@@ -78,3 +78,96 @@
|
|
|
78
78
|
background-image: url('./../../img/icon/dynamic/bili-rich-text-module-goods-taobao.svg');
|
|
79
79
|
/* 引入SVG图标 */
|
|
80
80
|
}
|
|
81
|
+
|
|
82
|
+
/* 定义B站投票标签样式 */
|
|
83
|
+
.bili-dyn-content__orig__additional {
|
|
84
|
+
margin-top: 12px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.bili-dyn-card-vote {
|
|
88
|
+
background-color: rgba(246, 247, 248, 0.8);
|
|
89
|
+
border-radius: 6px;
|
|
90
|
+
box-sizing: border-box;
|
|
91
|
+
cursor: pointer;
|
|
92
|
+
display: flex;
|
|
93
|
+
height: 78px;
|
|
94
|
+
height: 100%;
|
|
95
|
+
overflow: hidden;
|
|
96
|
+
border: 1px solid #ff69b4;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.bili-dyn-card-vote__header {
|
|
100
|
+
flex-shrink: 0;
|
|
101
|
+
padding: 25px;
|
|
102
|
+
width: 78px;
|
|
103
|
+
background-color: rgb(255, 255, 255);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.bili-dyn-card-vote__cover {
|
|
107
|
+
align-items: center;
|
|
108
|
+
background-color: #ffffff;
|
|
109
|
+
border-radius: 4px;
|
|
110
|
+
color: #008ac5;
|
|
111
|
+
display: flex;
|
|
112
|
+
height: 100%;
|
|
113
|
+
justify-content: center;
|
|
114
|
+
width: 100%;
|
|
115
|
+
/* 引入SVG图标 */
|
|
116
|
+
background-image: url('./../../img/icon/dynamic/bili-dyn-card-vote__cover.svg');
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.bili-dyn-card-vote__body,
|
|
120
|
+
.bili-dyn-card-vote__detail {
|
|
121
|
+
display: flex;
|
|
122
|
+
flex: 1;
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.bili-dyn-card-vote__detail {
|
|
127
|
+
box-sizing: border-box;
|
|
128
|
+
flex-direction: column;
|
|
129
|
+
padding: 19px 16px 15px 20px;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.bili-dyn-card-vote__detail__title {
|
|
133
|
+
color: #18191c;
|
|
134
|
+
font-size: 14px;
|
|
135
|
+
line-height: 20px;
|
|
136
|
+
overflow: hidden;
|
|
137
|
+
text-overflow: ellipsis;
|
|
138
|
+
transition: all 0.2s;
|
|
139
|
+
white-space: nowrap;
|
|
140
|
+
width: 100%;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.bili-dyn-card-vote__detail__desc {
|
|
144
|
+
color: #9499a0;
|
|
145
|
+
font-size: 12px;
|
|
146
|
+
line-height: 17px;
|
|
147
|
+
margin-top: 4px;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.bili-dyn-card-vote__action {
|
|
151
|
+
align-items: center;
|
|
152
|
+
display: flex;
|
|
153
|
+
flex-shrink: 0;
|
|
154
|
+
justify-content: center;
|
|
155
|
+
margin-right: 16px;
|
|
156
|
+
padding-right: 15px;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.bili-dyn-card-vote__action__btn_normal {
|
|
160
|
+
background-color: #ff69b4;
|
|
161
|
+
color: #ffffff;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.bili-dyn-card-vote__action button {
|
|
165
|
+
border: none;
|
|
166
|
+
border-radius: 6px;
|
|
167
|
+
box-sizing: border-box;
|
|
168
|
+
cursor: pointer;
|
|
169
|
+
font-size: 12.8px;
|
|
170
|
+
height: 30px;
|
|
171
|
+
min-width: 72px;
|
|
172
|
+
outline: none;
|
|
173
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg style="width: 28px; height: 28px;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 28 28" width="28" height="28"><path d="M2.4583333333333335 16.626283333333333C2.4583333333333335 15.084516666666667 3.7082066666666664 13.834616666666667 5.25 13.834616666666667L6.416666666666667 13.834616666666667C7.95846 13.834616666666667 9.208333333333334 15.084516666666667 9.208333333333334 16.626283333333333L9.208333333333334 20.70961666666667C9.208333333333334 22.251383333333333 7.95846 23.501283333333337 6.416666666666667 23.501283333333337L5.25 23.501283333333337C3.7082066666666664 23.501283333333337 2.4583333333333335 22.251383333333333 2.4583333333333335 20.70961666666667L2.4583333333333335 16.626283333333333zM5.25 15.334616666666665C4.5366333333333335 15.334616666666665 3.9583333333333335 15.912883333333335 3.9583333333333335 16.626283333333333L3.9583333333333335 20.70961666666667C3.9583333333333335 21.42301666666667 4.5366333333333335 22.001283333333337 5.25 22.001283333333337L6.416666666666667 22.001283333333337C7.130040000000001 22.001283333333337 7.708333333333335 21.42301666666667 7.708333333333335 20.70961666666667L7.708333333333335 16.626283333333333C7.708333333333335 15.912883333333335 7.130040000000001 15.334616666666665 6.416666666666667 15.334616666666665L5.25 15.334616666666665z" fill="currentColor" style="--darkreader-inline-fill: currentColor;" data-darkreader-inline-fill=""></path><path d="M10.625000000000002 6.709476666666667C10.625000000000002 5.167683333333334 11.874906666666668 3.9178100000000007 13.416666666666668 3.9178100000000007L14.583333333333334 3.9178100000000007C16.1251 3.9178100000000007 17.375 5.167683333333334 17.375 6.709476666666667L17.375 20.709500000000002C17.375 22.251266666666666 16.1251 23.50116666666667 14.583333333333334 23.50116666666667L13.416666666666668 23.50116666666667C11.874906666666668 23.50116666666667 10.625000000000002 22.251266666666666 10.625000000000002 20.709500000000002L10.625000000000002 6.709476666666667zM13.416666666666668 5.41781C12.703266666666666 5.41781 12.125 5.996103333333333 12.125 6.709476666666667L12.125 20.709500000000002C12.125 21.422816666666666 12.703266666666666 22.00116666666667 13.416666666666668 22.00116666666667L14.583333333333334 22.00116666666667C15.296733333333336 22.00116666666667 15.875000000000002 21.422816666666666 15.875000000000002 20.709500000000002L15.875000000000002 6.709476666666667C15.875000000000002 5.996103333333333 15.296733333333336 5.41781 14.583333333333334 5.41781L13.416666666666668 5.41781z" fill="currentColor" style="--darkreader-inline-fill: currentColor;" data-darkreader-inline-fill=""></path><path d="M18.791666666666668 12.8345C18.791666666666668 11.292683333333335 20.041566666666668 10.042810000000001 21.583333333333336 10.042810000000001L22.75 10.042810000000001C24.291766666666668 10.042810000000001 25.541666666666668 11.292683333333335 25.541666666666668 12.8345L25.541666666666668 20.709500000000002C25.541666666666668 22.251266666666666 24.291766666666668 23.50116666666667 22.75 23.50116666666667L21.583333333333336 23.50116666666667C20.041566666666668 23.50116666666667 18.791666666666668 22.251266666666666 18.791666666666668 20.709500000000002L18.791666666666668 12.8345zM21.583333333333336 11.542816666666667C20.869933333333336 11.542816666666667 20.291666666666668 12.121100000000002 20.291666666666668 12.8345L20.291666666666668 20.709500000000002C20.291666666666668 21.422816666666666 20.869933333333336 22.00116666666667 21.583333333333336 22.00116666666667L22.75 22.00116666666667C23.4634 22.00116666666667 24.041666666666668 21.422816666666666 24.041666666666668 20.709500000000002L24.041666666666668 12.8345C24.041666666666668 12.121100000000002 23.4634 11.542816666666667 22.75 11.542816666666667L21.583333333333336 11.542816666666667z" fill="currentColor" style="--darkreader-inline-fill: currentColor;" data-darkreader-inline-fill=""></path></svg>
|