sbd-npm 1.5.33 → 1.5.35
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/package.json +1 -1
- package/snowball_tool.js +554 -0
- package/snowball_tweet.js +42 -42
- package/status.js +7 -1
- package/util.js +4 -3
package/package.json
CHANGED
package/snowball_tool.js
ADDED
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (C) 2015-present dhq <dhq314@gmail.com>
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
$(function () {
|
|
17
|
+
|
|
18
|
+
let SnowballTool = {
|
|
19
|
+
|
|
20
|
+
cn_stock_data: [],
|
|
21
|
+
hk_stock_data: [],
|
|
22
|
+
us_stock_data: [],
|
|
23
|
+
status_data: [],
|
|
24
|
+
user_dict: {},
|
|
25
|
+
|
|
26
|
+
fetch: function () {
|
|
27
|
+
if (Util.is_load) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
let key_word = $("#key_word").val().trim();
|
|
31
|
+
if (key_word) {
|
|
32
|
+
Util.show_loading();
|
|
33
|
+
$("#key-tips").css("display", "none");
|
|
34
|
+
for (const [user_id, user_name] of Object.entries(SnowballTool.user_dict)) {
|
|
35
|
+
if (key_word === user_name) {
|
|
36
|
+
key_word = user_id;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
Util.post(location.pathname, {key_word: key_word}, function (j) {
|
|
40
|
+
$("#search_tips").remove();
|
|
41
|
+
$("#particles-js").remove();
|
|
42
|
+
if (j.user) {
|
|
43
|
+
$("#snowball-data").removeClass("hide");
|
|
44
|
+
|
|
45
|
+
$("#user_id").html(Util.pack_html_link("https://xueqiu.com/u/" + j.user.id, j.user.id));
|
|
46
|
+
let user_api_url = "https://xueqiu.com/user/show.json?id=" + j.user.id + "&_=" + Util.now();
|
|
47
|
+
j.user.screen_name = j.user.screen_name ? j.user.screen_name : "--";
|
|
48
|
+
let name_html = Util.pack_html_link(user_api_url, j.user.screen_name);
|
|
49
|
+
if (j.user.name_list) {
|
|
50
|
+
name_html += ' <i class="glyphicon glyphicon-info-sign" data-toggle="tooltip" data-container="body" data-original-title="' + j.user.name_list.join("、") + '"></i>';
|
|
51
|
+
$("#user_name").html(name_html);
|
|
52
|
+
$("[data-toggle='tooltip']").tooltip();
|
|
53
|
+
} else {
|
|
54
|
+
$("#user_name").html(name_html);
|
|
55
|
+
}
|
|
56
|
+
let province = j.user.province;
|
|
57
|
+
if (j.user.city && j.user.city.length > 0 && province !== j.user.city) {
|
|
58
|
+
if (province === "海外") {
|
|
59
|
+
province = j.user.city;
|
|
60
|
+
} else {
|
|
61
|
+
province += j.user.city;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
$("#province").html(province ? Util.map_url(province) : "--");
|
|
65
|
+
$("#ip_location").html(j.user.ip_location ? Util.map_url(j.user.ip_location) : "--");
|
|
66
|
+
$("#gender").html(j.user.gender === "f" ? "女" : "男");
|
|
67
|
+
if (j.user.friends_count) {
|
|
68
|
+
$("#friends_count").html(Util.pack_html_link("https://xueqiu.com/u/" + j.user.id + "#/follow", j.user.friends_count));
|
|
69
|
+
} else {
|
|
70
|
+
$("#friends_count").html(j.user.friends_count);
|
|
71
|
+
}
|
|
72
|
+
if (j.user.followers_count) {
|
|
73
|
+
$("#followers_count").html(Util.pack_html_link("https://xueqiu.com/u/" + j.user.id + "#/fans", j.user.followers_count));
|
|
74
|
+
} else {
|
|
75
|
+
$("#followers_count").html(j.user.followers_count);
|
|
76
|
+
}
|
|
77
|
+
if (j.user.status_count) {
|
|
78
|
+
$("#status_count").html(Util.pack_html_link("https://xueqiu.com/v4/statuses/user_timeline.json?&user_id=" + j.user.id + "&type=0&count=20", j.user.status_count));
|
|
79
|
+
} else {
|
|
80
|
+
$("#status_count").html(0);
|
|
81
|
+
}
|
|
82
|
+
let description = j.user.description ? j.user.description : "";
|
|
83
|
+
let verified_array = [];
|
|
84
|
+
if (j.user.verified_infos && j.user.verified_infos.length > 0) {
|
|
85
|
+
j.user.verified_infos.forEach(function (item) {
|
|
86
|
+
verified_array.push(item.verified_desc);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
if (j.user.verified_description && j.user.verified_description.length > 0 && !verified_array.includes(j.user.verified_description)) {
|
|
90
|
+
verified_array.push(j.user.verified_description);
|
|
91
|
+
}
|
|
92
|
+
if (verified_array.length > 0) {
|
|
93
|
+
description += "<br>";
|
|
94
|
+
verified_array.forEach(function (verified) {
|
|
95
|
+
description += "<span class='label label-info'>" + verified + "</span> ";
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
$("#description").html(description);
|
|
99
|
+
if (j.user.created_at && j.user.created_at > 0) {
|
|
100
|
+
if (j.user.created_at.toString().length > 10) {
|
|
101
|
+
j.user.created_at = j.user.created_at / 1000;
|
|
102
|
+
}
|
|
103
|
+
$("#created_time").html(Util.seconds_to_format(j.user.created_at));
|
|
104
|
+
} else {
|
|
105
|
+
$("#created_time").html("--");
|
|
106
|
+
}
|
|
107
|
+
if (j.user.weibo_id > 0) {
|
|
108
|
+
$("#weibo_id").html(Util.pack_html_link("https://m.weibo.cn/profile/" + j.user.weibo_id, j.user.weibo_id));
|
|
109
|
+
} else {
|
|
110
|
+
$("#weibo_id").html("--");
|
|
111
|
+
}
|
|
112
|
+
if (j.user.profile_image_url) {
|
|
113
|
+
let img_array = j.user.profile_image_url.split(",");
|
|
114
|
+
if (img_array.length > 0) {
|
|
115
|
+
let avatar_url = img_array[0];
|
|
116
|
+
if (!avatar_url.startsWith('http')) {
|
|
117
|
+
avatar_url = "https:" + (j.user.photo_domain ? j.user.photo_domain : "") + img_array[0];
|
|
118
|
+
}
|
|
119
|
+
let avatar_object = $("#avatar");
|
|
120
|
+
avatar_object.html('<img alt="' + j.user.screen_name + '" id="avatar_img" src="' + avatar_url + '!180x180.png">');
|
|
121
|
+
avatar_object.attr("target", "_blank");
|
|
122
|
+
avatar_object.attr("href", avatar_url);
|
|
123
|
+
$('#avatar_img').load(function () {
|
|
124
|
+
SnowballTool.resize_avatar_img();
|
|
125
|
+
});
|
|
126
|
+
$("#menu_toggle").click(function () {
|
|
127
|
+
SnowballTool.resize_avatar_img();
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (j.stocks) {
|
|
132
|
+
$("#total_stock_num").html(j.stocks.length > 0 ? Util.pack_html_link("https://xueqiu.com/u/" + j.user.id + "#/stock", j.stocks.length) : "--");
|
|
133
|
+
SnowballTool.init_stock_data(j.stocks);
|
|
134
|
+
}
|
|
135
|
+
SnowballTool.render_snowball_html();
|
|
136
|
+
SnowballTool.status_data = [];
|
|
137
|
+
$("#tweet a").first().html("推文");
|
|
138
|
+
Util.post(location.pathname, {action: "tweet", uid: j.user.id}, function (j) {
|
|
139
|
+
SnowballTool.status_data = j.data ? j.data : [];
|
|
140
|
+
$("#tweet a").first().html("推文 <span class='badge alert-info'>" + SnowballTool.status_data.length + "</span>");
|
|
141
|
+
});
|
|
142
|
+
Util.hide_tips();
|
|
143
|
+
} else {
|
|
144
|
+
$("#snowball-data").addClass("hide");
|
|
145
|
+
Util.hide_tips();
|
|
146
|
+
Util.show_tips("不存在该用户!!!", 5000, "alert-danger");
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
|
|
152
|
+
init_stock_data: function (stock_data) {
|
|
153
|
+
SnowballTool.cn_stock_data = [];
|
|
154
|
+
SnowballTool.hk_stock_data = [];
|
|
155
|
+
SnowballTool.us_stock_data = [];
|
|
156
|
+
stock_data.forEach(function (item) {
|
|
157
|
+
if (Util.is_hk(item.code)) {
|
|
158
|
+
SnowballTool.hk_stock_data.push(item);
|
|
159
|
+
} else if (Util.is_us(item.code)) {
|
|
160
|
+
SnowballTool.us_stock_data.push(item);
|
|
161
|
+
} else {
|
|
162
|
+
SnowballTool.cn_stock_data.push(item);
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
$("#cn a").first().html("A股 <span class='badge alert-info'>" + SnowballTool.cn_stock_data.length + "</span>");
|
|
166
|
+
$("#hk a").first().html("港股 <span class='badge alert-info'>" + SnowballTool.hk_stock_data.length + "</span>");
|
|
167
|
+
$("#us a").first().html("美股 <span class='badge alert-info'>" + SnowballTool.us_stock_data.length + "</span>");
|
|
168
|
+
localStorage["snowball_tool_nav"] = SnowballTool.cn_stock_data.length > 0 ? "cn" : (SnowballTool.hk_stock_data.length > 0 ? "hk" : (SnowballTool.us_stock_data.length > 0 ? "us" : "tweet"));
|
|
169
|
+
Util.tab_switch("snowball_tool_nav", SnowballTool.render_snowball_html);
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
resize_avatar_img: function () {
|
|
173
|
+
let avatar_object = $("#avatar");
|
|
174
|
+
if (Util.is_mobile()) {
|
|
175
|
+
let client_width = document.body.clientWidth;
|
|
176
|
+
avatar_object.css("width", client_width + "px");
|
|
177
|
+
} else {
|
|
178
|
+
let avatar_height = avatar_object.width();
|
|
179
|
+
avatar_object.css("height", (avatar_height + 10) + "px");
|
|
180
|
+
let img_object = $("#avatar_img");
|
|
181
|
+
let dist = avatar_height - img_object.height();
|
|
182
|
+
if (dist > 5) {
|
|
183
|
+
img_object.css("margin-top", (dist / 2) + "px");
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
render_snowball_html: function () {
|
|
189
|
+
let tab_type = SnowballTool.get_tab_type();
|
|
190
|
+
if (tab_type === "tweet") {
|
|
191
|
+
if (SnowballTool.status_data.length > 0) {
|
|
192
|
+
SnowballTool.render_tweet_html();
|
|
193
|
+
} else {
|
|
194
|
+
SnowballTool.fetch_tweet_data();
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
SnowballTool.init_table_skeleton(tab_type);
|
|
198
|
+
let data_type_key = tab_type + "_stock_data";
|
|
199
|
+
if (SnowballTool[data_type_key]) {
|
|
200
|
+
Util.render_type_option($("#industry"), SnowballTool[data_type_key], "industry", SnowballTool.render_stock_html);
|
|
201
|
+
Util.render_type_option($("#area"), SnowballTool[data_type_key], "area", SnowballTool.render_stock_html);
|
|
202
|
+
}
|
|
203
|
+
SnowballTool.render_stock_html();
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
|
|
207
|
+
fetch_tweet_data: function () {
|
|
208
|
+
let uid = $("#user_id").text();
|
|
209
|
+
if (uid) {
|
|
210
|
+
Util.show_loading();
|
|
211
|
+
$("#snowball_tool_div").html('<div class="x_panel text-center">Loading...</div>');
|
|
212
|
+
Util.post(location.pathname, {action: "tweet", uid: uid}, function (j) {
|
|
213
|
+
SnowballTool.status_data = j.data ? j.data : [];
|
|
214
|
+
SnowballTool.render_tweet_html();
|
|
215
|
+
Util.hide_tips();
|
|
216
|
+
});
|
|
217
|
+
} else {
|
|
218
|
+
$("#snowball_tool_div").html('<div class="x_panel text-center">暂无数据</div>');
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
|
|
222
|
+
render_tweet_html: function () {
|
|
223
|
+
if (SnowballTool.status_data && SnowballTool.status_data.length > 0) {
|
|
224
|
+
let html = [];
|
|
225
|
+
html.push('<div class="x_panel"><ul class="list-unstyled timeline widget">');
|
|
226
|
+
SnowballTool.status_data.forEach(function (item) {
|
|
227
|
+
html.push('<li><div class="block"><div class="block_content">');
|
|
228
|
+
if (item.title) {
|
|
229
|
+
item.title = Util.strip_html(item.title).replace(/\\/g, "");
|
|
230
|
+
item.title = Util.truncate(item.title, 50);
|
|
231
|
+
} else {
|
|
232
|
+
item.title = item.url;
|
|
233
|
+
}
|
|
234
|
+
item.content = item.content.replace(/\\/g, "");
|
|
235
|
+
item.content = item.content.replace(/thumb\.jpg/g, "custom.jpg");
|
|
236
|
+
if (item.pic) {
|
|
237
|
+
let pic_array = item.pic.split(",");
|
|
238
|
+
pic_array.forEach(function (pic) {
|
|
239
|
+
if (pic.includes("thumb.jpg")) {
|
|
240
|
+
pic = pic.replace("thumb.jpg", "custom.jpg");
|
|
241
|
+
} else if (!pic.includes("custom.jpg")) {
|
|
242
|
+
pic += "!custom.jpg";
|
|
243
|
+
}
|
|
244
|
+
if (!item.content.includes(pic)) {
|
|
245
|
+
item.content += "<br><img src='" + pic + "'>";
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
html.push('<h2 class="title">' + Util.pack_html_link(item.url, item.title) + '</h2>');
|
|
250
|
+
html.push('<div class="byline"><span>', Util.seconds_to_format(item.create_time), '</span></div>');
|
|
251
|
+
html.push('<p class="excerpt">', item.content, '</p>');
|
|
252
|
+
html.push('</div></div></li>');
|
|
253
|
+
});
|
|
254
|
+
html.push('</ul></div>');
|
|
255
|
+
$("#snowball_tool_div").html(html.join(""));
|
|
256
|
+
$("#tweet a").first().html("推文 <span class='badge alert-info'>" + SnowballTool.status_data.length + "</span>");
|
|
257
|
+
} else {
|
|
258
|
+
$("#snowball_tool_div").html('<div class="x_panel text-center">暂无数据</div>');
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
|
|
262
|
+
render_stock_html: function () {
|
|
263
|
+
let html = [];
|
|
264
|
+
let tab_type = SnowballTool.get_tab_type();
|
|
265
|
+
let data_type_key = tab_type + "_stock_data";
|
|
266
|
+
if (SnowballTool[data_type_key]) {
|
|
267
|
+
let stock_num = 0, stock_profit = 0, hk_mutual_code_list = [];
|
|
268
|
+
let area = $("#area").val();
|
|
269
|
+
let industry = $("#industry").val();
|
|
270
|
+
SnowballTool[data_type_key].forEach(function (item) {
|
|
271
|
+
if (Util.is_industry_area(item, industry, area)) {
|
|
272
|
+
item.code = item.code.replace(item.exchange, "");
|
|
273
|
+
if (item.is_hk_mutual && item.is_hk_mutual === 1) {
|
|
274
|
+
hk_mutual_code_list.push(item.code);
|
|
275
|
+
}
|
|
276
|
+
html.push("<tr", (item.is_recommend && item.is_recommend === 1 ? " class='info'" : ""), ">");
|
|
277
|
+
html = Util.stock_basics_html(html, item);
|
|
278
|
+
html.push("<td>", Util.year_price_rate(item.stock_price, item.year_price), "</td>");
|
|
279
|
+
html.push("<td>", Util.year_price_rate(item.stock_price, item.d5_price), "</td>");
|
|
280
|
+
if (tab_type === "cn") {
|
|
281
|
+
html.push("<td class='holder_", item.code, "'>--</td>");
|
|
282
|
+
html.push("<td class='fund_", item.code, "'>--</td>");
|
|
283
|
+
}
|
|
284
|
+
html.push("<td>", Util.seconds_to_format(item.created), "</td>");
|
|
285
|
+
item.start_price = Util.to_float(item.start_price, 2);
|
|
286
|
+
html.push("<td id='sp_", item.code, "'>", Util.digit_compare_trend1(item.stock_price, item.start_price), "</td>");
|
|
287
|
+
let high_price = item.stock_price > item.high_price ? item.stock_price : item.high_price;
|
|
288
|
+
html.push("<td id='hp_", item.code, "' data-price='", high_price, "'>", Util.digit_compare_trend1(high_price, item.start_price), "</td>");
|
|
289
|
+
html.push("</tr>");
|
|
290
|
+
stock_profit += ((item.stock_price - item.start_price) / item.start_price);
|
|
291
|
+
stock_num++;
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
Util.render_table_html("snowball_tool_div_body", html);
|
|
295
|
+
let code_list = Util.get_code_list("snowball_tool_div_body");
|
|
296
|
+
if (code_list.length > 0) {
|
|
297
|
+
Util.post("/action", {action: "price", code_list: code_list.join("-")}, function (j) {
|
|
298
|
+
for (let [code, item] of Object.entries(j)) {
|
|
299
|
+
Util.render_price(item);
|
|
300
|
+
let sp_object = $("#sp_" + code);
|
|
301
|
+
let start_price = Util.to_float(parseFloat(Util.strip_bracket_string(sp_object.text())), 2); // 删除括号内的字符
|
|
302
|
+
sp_object.html(Util.digit_compare_trend1(item.price, start_price));
|
|
303
|
+
let hp_object = $("#hp_" + code);
|
|
304
|
+
let high_price = parseFloat(hp_object.attr("data-price"));
|
|
305
|
+
if (item.price > high_price) {
|
|
306
|
+
hp_object.html(Util.digit_compare_trend1(item.price, start_price));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
if (tab_type === "hk") {
|
|
311
|
+
if (hk_mutual_code_list.length > 0) {
|
|
312
|
+
$("#snowball_tool_div_body .code_item").each(function () {
|
|
313
|
+
let hk_code = $(this).text().replace(/[^0-9]/ig, "");
|
|
314
|
+
if (hk_mutual_code_list.includes(hk_code)) {
|
|
315
|
+
$(this).parent().parent().children('td').eq(1).addClass("danger");
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
$("#snowball_tool_div_body .industry_link").each(function () {
|
|
320
|
+
$(this).attr("href", Util.get_url("hk_list") + "?industry=" + $(this).text());
|
|
321
|
+
});
|
|
322
|
+
} else if (tab_type === "us") {
|
|
323
|
+
$("#snowball_tool_div_body .industry_link").each(function () {
|
|
324
|
+
$(this).attr("href", Util.get_url("us_list") + "?industry=" + $(this).text());
|
|
325
|
+
});
|
|
326
|
+
$("#snowball_tool_div_body .map_link").each(function () {
|
|
327
|
+
$(this).attr("href", Util.get_url("us_list") + "?market=" + $(this).text());
|
|
328
|
+
});
|
|
329
|
+
} else {
|
|
330
|
+
Util.init_stock_stuff("snowball_tool_div_body", [], 0, 0);
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
$("#stock_num").html(stock_num);
|
|
334
|
+
if (stock_num > 0) {
|
|
335
|
+
stock_profit = Util.to_float((stock_profit / stock_num) * 100, 2);
|
|
336
|
+
$("#stock_profit").html(",平均收益: " + Util.parse_ratio(stock_profit) + " ");
|
|
337
|
+
}
|
|
338
|
+
} else {
|
|
339
|
+
Util.render_table_html("snowball_tool_div_body", html);
|
|
340
|
+
}
|
|
341
|
+
},
|
|
342
|
+
|
|
343
|
+
init_data: function (is_render) {
|
|
344
|
+
Util.post(location.pathname, {action: "init_tool"}, function (j) {
|
|
345
|
+
if (j["user"] && typeof j["user"] === 'object') {
|
|
346
|
+
SnowballTool.user_dict = j["user"];
|
|
347
|
+
if (is_render === 1) {
|
|
348
|
+
let html = [];
|
|
349
|
+
for (const [user_id, user_name] of Object.entries(SnowballTool.user_dict)) {
|
|
350
|
+
html.push('<a class="btn btn-default" data-val="', user_id, '" style="margin-bottom: 10px;" href="#">', user_name, '</a>');
|
|
351
|
+
}
|
|
352
|
+
$("#search_tips").html(html.join("")).find("a").each(function () {
|
|
353
|
+
$(this).click(function () {
|
|
354
|
+
$("#key_word").val($(this).attr("data-val"));
|
|
355
|
+
SnowballTool.fetch();
|
|
356
|
+
});
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
if (is_render === 1) {
|
|
361
|
+
Util.hide_tips();
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
},
|
|
365
|
+
|
|
366
|
+
render_recent_stock_modal: function() {
|
|
367
|
+
Util.show_loading();
|
|
368
|
+
Util.post(location.pathname, {"action": "recent_stock"}, function (j) {
|
|
369
|
+
let html = [];
|
|
370
|
+
j.data.forEach(function (item, index) {
|
|
371
|
+
html.push("<tr>");
|
|
372
|
+
html.push("<td>", (index + 1), "</td>");
|
|
373
|
+
html.push("<td><a class='user_td' data-val='", item.uid, "' href='#'>", item.user_name, "</a></td>");
|
|
374
|
+
html.push("<td class='code_item'>", Util.snowball_url(Util.is_alphabet(item.code) ? item.code.toUpperCase() : item.code), "</td>");
|
|
375
|
+
html.push("<td>", Util.stock_url(item.code, item.name ? item.name : item.code.toUpperCase()), "</td>");
|
|
376
|
+
html.push("<td>", Util.map_url((item.province_city && item.province_city !== "None") ? item.province_city : item.area), "</td>");
|
|
377
|
+
html.push("<td>", item.industry ? item.industry.slice(0, 6) : "--", "</td>");
|
|
378
|
+
html.push("<td class='price_", item.code.toLowerCase(), "'>", item.stock_price, "</td>");
|
|
379
|
+
html.push("<td>", Util.year_price_rate(item.stock_price, item.year_price), "</td>");
|
|
380
|
+
html.push("<td>", Util.year_price_rate(item.stock_price, item.d5_price), "</td>");
|
|
381
|
+
html.push("<td>", Util.seconds_to_format(item.create_time), "</td>");
|
|
382
|
+
html.push("</tr>");
|
|
383
|
+
});
|
|
384
|
+
Util.render_table_html("recent_stock_modal_body_body", html);
|
|
385
|
+
$("#recent_stock_modal_body_body .user_td").each(function() {
|
|
386
|
+
$(this).click(function() {
|
|
387
|
+
$("#key_word").val($(this).attr("data-val"));
|
|
388
|
+
$('#recent_stock_modal').modal('hide');
|
|
389
|
+
setTimeout(SnowballTool.fetch, 789);
|
|
390
|
+
});
|
|
391
|
+
});
|
|
392
|
+
Util.refresh_price("recent_stock_modal_body_body");
|
|
393
|
+
Util.hide_tips();
|
|
394
|
+
});
|
|
395
|
+
},
|
|
396
|
+
|
|
397
|
+
get_tab_type: function() {
|
|
398
|
+
let tab_type = "cn";
|
|
399
|
+
$("#snowball_tool_nav").find("li").each(function () {
|
|
400
|
+
if ($(this).hasClass("active")) {
|
|
401
|
+
tab_type = $(this).attr("id");
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
return tab_type;
|
|
405
|
+
},
|
|
406
|
+
|
|
407
|
+
init_table_skeleton: function (tab_type) {
|
|
408
|
+
let head_columns = [
|
|
409
|
+
{"name": "代码"},
|
|
410
|
+
{"name": "名称"},
|
|
411
|
+
{"name": "PE", "title": "市盈率(Price Earnings Ratio)", "table_sort": 1},
|
|
412
|
+
{"name": "总市值", "table_sort": 1},
|
|
413
|
+
{"name": "行业", "select_id": "industry"},
|
|
414
|
+
{"name": "地区", "select_id": "area"},
|
|
415
|
+
{"name": "当前价", "table_sort": 1},
|
|
416
|
+
{"name": "年初至今", "table_sort": 1},
|
|
417
|
+
{"name": "近5日", "table_sort": 1},
|
|
418
|
+
];
|
|
419
|
+
if (tab_type === "cn") {
|
|
420
|
+
head_columns.push({"name": "股东数", "table_sort": 1});
|
|
421
|
+
head_columns.push({"name": "基金数", "table_sort": 1});
|
|
422
|
+
}
|
|
423
|
+
head_columns.push({"name": "创建时间", "class": "info", "table_sort": 1});
|
|
424
|
+
head_columns.push({"name": "创建收益", "table_sort": 1});
|
|
425
|
+
head_columns.push({"name": "创建最高收益", "table_sort": 1});
|
|
426
|
+
Util.init_table_skeleton({
|
|
427
|
+
"element_id": "snowball_tool_div",
|
|
428
|
+
"caption": '<caption class="text-right">共 <span id="stock_num" class="label label-info">0</span> 只自选股<span id="stock_profit"></span></caption>',
|
|
429
|
+
"head_columns": head_columns
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
$("#query-stock").click(function () {
|
|
435
|
+
SnowballTool.fetch();
|
|
436
|
+
});
|
|
437
|
+
|
|
438
|
+
$("#key_word").focus(function () {
|
|
439
|
+
let html = [];
|
|
440
|
+
html.push('<div class="list-group">');
|
|
441
|
+
for (const user_name of Object.values(SnowballTool.user_dict)) {
|
|
442
|
+
html.push('<a href="#" class="list-group-item">', user_name, '</a>');
|
|
443
|
+
}
|
|
444
|
+
html.push('</div>');
|
|
445
|
+
$("#key-tips").html(html.join("")).slideDown(300);
|
|
446
|
+
$(".list-group-item").each(function () {
|
|
447
|
+
$(this).click(function () {
|
|
448
|
+
$("#key_word").val($(this).text());
|
|
449
|
+
$("#key-tips").slideUp(200);
|
|
450
|
+
SnowballTool.fetch();
|
|
451
|
+
});
|
|
452
|
+
});
|
|
453
|
+
});
|
|
454
|
+
$(document).click(function (event) {
|
|
455
|
+
if (!$(event.target).closest("#key_word, #key-tips").length) {
|
|
456
|
+
$("#key-tips").slideUp(200);
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
|
|
460
|
+
let request_arguments = Util.request_arguments();
|
|
461
|
+
if (request_arguments.uid) {
|
|
462
|
+
$("#key_word").val(parseInt(request_arguments.uid));
|
|
463
|
+
SnowballTool.fetch();
|
|
464
|
+
SnowballTool.init_data(0);
|
|
465
|
+
} else {
|
|
466
|
+
SnowballTool.init_data(1);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
Util.init_modal_skeleton("recent_stock_modal");
|
|
470
|
+
$("#recent_stock_modal_title").html("特别关注的用户最近一周内新添的个股");
|
|
471
|
+
Util.init_table_skeleton({
|
|
472
|
+
"element_id": "recent_stock_modal_body",
|
|
473
|
+
"head_columns": [
|
|
474
|
+
{"name": "序号", "table_sort": 1},
|
|
475
|
+
{"name": "用户"},
|
|
476
|
+
{"name": "代码"},
|
|
477
|
+
{"name": "名字"},
|
|
478
|
+
{"name": "地区"},
|
|
479
|
+
{"name": "行业"},
|
|
480
|
+
{"name": "当前价", "table_sort": 1},
|
|
481
|
+
{"name": "年初至今", "table_sort": 1},
|
|
482
|
+
{"name": "近5日", "table_sort": 1},
|
|
483
|
+
{"name": "时间", "table_sort": 1, "class": "info"},
|
|
484
|
+
]
|
|
485
|
+
});
|
|
486
|
+
let rsm_object = $('#recent_stock_modal');
|
|
487
|
+
rsm_object.on('shown.bs.modal', function (e) {
|
|
488
|
+
SnowballTool.render_recent_stock_modal();
|
|
489
|
+
});
|
|
490
|
+
rsm_object.on('hidden.bs.modal', function () {
|
|
491
|
+
Util.set_table_loading("recent_stock_modal_body_body");
|
|
492
|
+
Util.hide_tips();
|
|
493
|
+
});
|
|
494
|
+
|
|
495
|
+
});
|
|
496
|
+
|
|
497
|
+
if (!Util.is_small_screen()) {
|
|
498
|
+
particlesJS('particles-js', { // https://github.com/VincentGarreau/particles.js
|
|
499
|
+
"particles": {
|
|
500
|
+
"number": {"value": 80, "density": {"enable": true, "value_area": 800}},
|
|
501
|
+
"color": {"value": "#8f8f8f"},
|
|
502
|
+
"shape": {
|
|
503
|
+
"type": "circle",
|
|
504
|
+
"stroke": {"width": 0, "color": "#000000"},
|
|
505
|
+
"polygon": {"nb_sides": 5},
|
|
506
|
+
"image": {"src": "img/github.svg", "width": 100, "height": 100}
|
|
507
|
+
},
|
|
508
|
+
"opacity": {
|
|
509
|
+
"value": 0.5,
|
|
510
|
+
"random": false,
|
|
511
|
+
"anim": {"enable": false, "speed": 1, "opacity_min": 0.1, "sync": false}
|
|
512
|
+
},
|
|
513
|
+
"size": {
|
|
514
|
+
"value": 5,
|
|
515
|
+
"random": true,
|
|
516
|
+
"anim": {"enable": false, "speed": 40, "size_min": 0.1, "sync": false}
|
|
517
|
+
},
|
|
518
|
+
"line_linked": {"enable": true, "distance": 150, "color": "#8f8f8f", "opacity": 0.4, "width": 1},
|
|
519
|
+
"move": {
|
|
520
|
+
"enable": true,
|
|
521
|
+
"speed": 6,
|
|
522
|
+
"direction": "none",
|
|
523
|
+
"random": false,
|
|
524
|
+
"straight": false,
|
|
525
|
+
"out_mode": "out",
|
|
526
|
+
"attract": {"enable": false, "rotateX": 600, "rotateY": 1200}
|
|
527
|
+
}
|
|
528
|
+
},
|
|
529
|
+
"interactivity": {
|
|
530
|
+
"detect_on": "canvas",
|
|
531
|
+
"events": {
|
|
532
|
+
"onhover": {"enable": true, "mode": "repulse"},
|
|
533
|
+
"onclick": {"enable": true, "mode": "push"},
|
|
534
|
+
"resize": true
|
|
535
|
+
},
|
|
536
|
+
"modes": {
|
|
537
|
+
"grab": {"distance": 400, "line_linked": {"opacity": 1}},
|
|
538
|
+
"bubble": {"distance": 400, "size": 40, "duration": 2, "opacity": 8, "speed": 3},
|
|
539
|
+
"repulse": {"distance": 200},
|
|
540
|
+
"push": {"particles_nb": 4},
|
|
541
|
+
"remove": {"particles_nb": 2}
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"retina_detect": true,
|
|
545
|
+
"config_demo": {
|
|
546
|
+
"hide_card": false,
|
|
547
|
+
"background_color": "#FFF",
|
|
548
|
+
"background_image": "",
|
|
549
|
+
"background_position": "50% 50%",
|
|
550
|
+
"background_repeat": "no-repeat",
|
|
551
|
+
"background_size": "cover"
|
|
552
|
+
}
|
|
553
|
+
});
|
|
554
|
+
}
|
package/snowball_tweet.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
$(function () {
|
|
17
17
|
|
|
18
|
-
let
|
|
18
|
+
let SnowballTweet = {
|
|
19
19
|
|
|
20
20
|
pageYOffset: 0,
|
|
21
21
|
user_data: {},
|
|
@@ -32,7 +32,7 @@ $(function () {
|
|
|
32
32
|
if (j.user_data) {
|
|
33
33
|
let uid = request_arguments.uid ? parseInt(request_arguments.uid) : 0;
|
|
34
34
|
j.user_data.forEach(function (item) {
|
|
35
|
-
|
|
35
|
+
SnowballTweet.user_data[item.uid] = item.name;
|
|
36
36
|
let select_mark = "";
|
|
37
37
|
if (item.uid === uid) {
|
|
38
38
|
is_select = 1;
|
|
@@ -51,16 +51,16 @@ $(function () {
|
|
|
51
51
|
$("#tid").val (request_arguments.tid);
|
|
52
52
|
}
|
|
53
53
|
if (is_select === 1) {
|
|
54
|
-
|
|
54
|
+
SnowballTweet.fetch_tweet_data();
|
|
55
55
|
}
|
|
56
56
|
if (j.key_words) {
|
|
57
|
-
|
|
58
|
-
let key_words =
|
|
57
|
+
SnowballTweet.tweet_key_words = j.key_words;
|
|
58
|
+
let key_words = SnowballTweet.tweet_key_words.map(item => "“" + item + "”").join("、");
|
|
59
59
|
$("#content").attr("data-original-title", "推文内容搜索,例如:" + key_words);
|
|
60
60
|
}
|
|
61
61
|
if (j.special_observe_uid_list) {
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
SnowballTweet.special_observe_uid_list = j.special_observe_uid_list;
|
|
63
|
+
SnowballTweet.raw_special_observe_uid_list = j.special_observe_uid_list;
|
|
64
64
|
}
|
|
65
65
|
$("#today_so_num").html(j.today_so_num && j.today_so_num > 0 ? ("(" + j.today_so_num + ")") : "");
|
|
66
66
|
$("#update_time").html(j.update_time && j.update_time > 0 ? (" (更新于:" + Util.seconds_to_format(j.update_time) + ")") : "");
|
|
@@ -70,8 +70,8 @@ $(function () {
|
|
|
70
70
|
$("#today_new_tweet").after('<a href="#" id="key_word_tweet" class="btn btn-danger form-control">关键词(<span>' + j.key_word_num + '</span>)</a>');
|
|
71
71
|
$("#key_word_tweet").click(function() {
|
|
72
72
|
if (!Util.is_load) {
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
SnowballTweet.is_key_word_tweet = 1;
|
|
74
|
+
SnowballTweet.fetch_tweet_data();
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
}
|
|
@@ -108,7 +108,7 @@ $(function () {
|
|
|
108
108
|
html.push('</div>');
|
|
109
109
|
$("#today_tweet_statistics_modal_body").html(html.join("")).find("a").each(function() {
|
|
110
110
|
$(this).click(function() {
|
|
111
|
-
|
|
111
|
+
SnowballTweet.set_today_date();
|
|
112
112
|
$("#tweet_list").html("");
|
|
113
113
|
let uid = $(this).attr("data-val");
|
|
114
114
|
if (uid) {
|
|
@@ -120,7 +120,7 @@ $(function () {
|
|
|
120
120
|
uid_object.val(uid);
|
|
121
121
|
}
|
|
122
122
|
$('#today_tweet_statistics_modal').modal('hide');
|
|
123
|
-
setTimeout(
|
|
123
|
+
setTimeout(SnowballTweet.fetch_tweet_data, 789);
|
|
124
124
|
});
|
|
125
125
|
});;
|
|
126
126
|
Util.hide_tips();
|
|
@@ -138,25 +138,25 @@ $(function () {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
} else {
|
|
141
|
-
|
|
141
|
+
SnowballTweet.init_tweet_status();
|
|
142
142
|
}
|
|
143
143
|
});
|
|
144
144
|
},
|
|
145
145
|
|
|
146
146
|
fetch_tweet_data: function() {
|
|
147
147
|
Util.show_loading();
|
|
148
|
-
let payload =
|
|
149
|
-
payload["is_key_word_tweet"] =
|
|
148
|
+
let payload = SnowballTweet.get_payload();
|
|
149
|
+
payload["is_key_word_tweet"] = SnowballTweet.is_key_word_tweet;
|
|
150
150
|
Util.post(location.pathname, payload, function (j) {
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
SnowballTweet.render_tweet_html(j.data, 0);
|
|
152
|
+
SnowballTweet.is_key_word_tweet = 0;
|
|
153
153
|
});
|
|
154
154
|
},
|
|
155
155
|
|
|
156
156
|
get_payload: function() {
|
|
157
157
|
let special_observe_uid = "";
|
|
158
|
-
if (
|
|
159
|
-
special_observe_uid =
|
|
158
|
+
if (SnowballTweet.special_observe_uid_list && $("#is_special_observe").prop("checked")) {
|
|
159
|
+
special_observe_uid = SnowballTweet.special_observe_uid_list.join(",");
|
|
160
160
|
}
|
|
161
161
|
return {
|
|
162
162
|
action: "tweet_search",
|
|
@@ -174,7 +174,7 @@ $(function () {
|
|
|
174
174
|
render_tweet_html: function(data, render_type) {
|
|
175
175
|
if (data && data.length > 0) {
|
|
176
176
|
let html = [], regexp_pattern = null, is_simple = 0;
|
|
177
|
-
let key_word_array =
|
|
177
|
+
let key_word_array = SnowballTweet.tweet_key_words.slice();
|
|
178
178
|
let key_word = $("#content").val().trim();
|
|
179
179
|
if (key_word) {
|
|
180
180
|
key_word_array.push(key_word);
|
|
@@ -243,17 +243,17 @@ $(function () {
|
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
245
|
let user_name = "";
|
|
246
|
-
if (item.mark &&
|
|
247
|
-
user_name = Util.pack_html_link("https://xueqiu.com/S/" + item.mark,
|
|
246
|
+
if (item.mark && SnowballTweet.user_data[item.mark]) {
|
|
247
|
+
user_name = Util.pack_html_link("https://xueqiu.com/S/" + item.mark, SnowballTweet.user_data[item.mark]) + " - ";
|
|
248
248
|
if (item.user_name) {
|
|
249
249
|
user_name += Util.pack_html_link(user_url, item.user_name);
|
|
250
|
-
} else if (
|
|
251
|
-
user_name += Util.pack_html_link(user_url,
|
|
250
|
+
} else if (SnowballTweet.user_data[item.uid]) {
|
|
251
|
+
user_name += Util.pack_html_link(user_url, SnowballTweet.user_data[item.uid]);
|
|
252
252
|
} else {
|
|
253
253
|
user_name += Util.pack_html_link(user_url, item.uid);
|
|
254
254
|
}
|
|
255
|
-
} else if (
|
|
256
|
-
user_name = Util.pack_html_link(user_url,
|
|
255
|
+
} else if (SnowballTweet.user_data[item.uid]) {
|
|
256
|
+
user_name = Util.pack_html_link(user_url, SnowballTweet.user_data[item.uid]);
|
|
257
257
|
} else {
|
|
258
258
|
user_name = Util.pack_html_link(user_url, item.uid);
|
|
259
259
|
}
|
|
@@ -283,7 +283,7 @@ $(function () {
|
|
|
283
283
|
|
|
284
284
|
render_special_observe_html() {
|
|
285
285
|
let html = [];
|
|
286
|
-
let so_uid_list =
|
|
286
|
+
let so_uid_list = SnowballTweet.special_observe_uid_list ? SnowballTweet.special_observe_uid_list : [];
|
|
287
287
|
html.push('<div class="form-inline text-center">');
|
|
288
288
|
html.push('<div class="form-group text-left">');
|
|
289
289
|
$('#uid option').each(function() {
|
|
@@ -310,10 +310,10 @@ $(function () {
|
|
|
310
310
|
});
|
|
311
311
|
});
|
|
312
312
|
$("#reset_so_uid").click(function() {
|
|
313
|
-
if (
|
|
313
|
+
if (SnowballTweet.raw_special_observe_uid_list) {
|
|
314
314
|
document.querySelectorAll('#special_observe_modal_body input[type="checkbox"]').forEach(cb => {
|
|
315
315
|
let uid = parseInt(cb.value);
|
|
316
|
-
cb.checked =
|
|
316
|
+
cb.checked = SnowballTweet.raw_special_observe_uid_list.includes(uid) ? true : false;
|
|
317
317
|
});
|
|
318
318
|
}
|
|
319
319
|
});
|
|
@@ -326,7 +326,7 @@ $(function () {
|
|
|
326
326
|
so_uid_list.push(uid);
|
|
327
327
|
}
|
|
328
328
|
});
|
|
329
|
-
|
|
329
|
+
SnowballTweet.special_observe_uid_list = so_uid_list;
|
|
330
330
|
$("#so_uid_tips").html("<b class='text-success'>保存成功!</b>");
|
|
331
331
|
});
|
|
332
332
|
},
|
|
@@ -342,7 +342,7 @@ $(function () {
|
|
|
342
342
|
|
|
343
343
|
};
|
|
344
344
|
|
|
345
|
-
Util.init_date_range_picker("tweet_start_end_date",
|
|
345
|
+
Util.init_date_range_picker("tweet_start_end_date", SnowballTweet, "fetch_tweet_data");
|
|
346
346
|
$("#tweet_start_date").val("");
|
|
347
347
|
$("#tweet_end_date").val("");
|
|
348
348
|
$("#today_new_tweet").click(function() {
|
|
@@ -351,19 +351,19 @@ $(function () {
|
|
|
351
351
|
if (today_num > 0) {
|
|
352
352
|
let uid = parseInt($("#uid").val());
|
|
353
353
|
if (uid === 0) {
|
|
354
|
-
|
|
354
|
+
SnowballTweet.set_today_date();
|
|
355
355
|
}
|
|
356
|
-
|
|
356
|
+
SnowballTweet.fetch_tweet_data();
|
|
357
357
|
} else {
|
|
358
358
|
Util.show_tips("今日暂无新帖", 4567, "alert-danger");
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
361
|
});
|
|
362
362
|
$("#tweet_type").change(function() {
|
|
363
|
-
|
|
363
|
+
SnowballTweet.pageYOffset = 0;
|
|
364
364
|
$("#uid").html('<option value="0">Loading...</option>');
|
|
365
365
|
$("#tweet_list").html("");
|
|
366
|
-
|
|
366
|
+
SnowballTweet.init_tweet_status();
|
|
367
367
|
});
|
|
368
368
|
|
|
369
369
|
Util.init_modal_skeleton("special_observe_modal");
|
|
@@ -371,26 +371,26 @@ $(function () {
|
|
|
371
371
|
$("#special_observe_modal_body").parent().parent().removeClass("modal-xlg");
|
|
372
372
|
let som_object = $('#special_observe_modal');
|
|
373
373
|
som_object.on('show.bs.modal', function (e) {
|
|
374
|
-
|
|
374
|
+
SnowballTweet.render_special_observe_html();
|
|
375
375
|
});
|
|
376
376
|
som_object.on('hidden.bs.modal', function () {
|
|
377
377
|
$("#special_observe_modal_body").html("");
|
|
378
378
|
Util.hide_tips();
|
|
379
379
|
});
|
|
380
380
|
|
|
381
|
-
|
|
381
|
+
SnowballTweet.init_tweet_status();
|
|
382
382
|
$("#query_data").click(function() {
|
|
383
|
-
|
|
383
|
+
SnowballTweet.fetch_tweet_data();
|
|
384
384
|
});
|
|
385
385
|
$("#is_simple").click(function() {
|
|
386
386
|
if ($('#tweet_list li').length > 0) {
|
|
387
|
-
|
|
387
|
+
SnowballTweet.fetch_tweet_data();
|
|
388
388
|
}
|
|
389
389
|
});
|
|
390
390
|
|
|
391
391
|
// 触发下拉到底部时的事件
|
|
392
392
|
window.onscroll = function(ev) {
|
|
393
|
-
if (!Util.is_load && window.pageYOffset >
|
|
393
|
+
if (!Util.is_load && window.pageYOffset > SnowballTweet.pageYOffset) {
|
|
394
394
|
if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight) {
|
|
395
395
|
if (!document.getElementById("tweet_loading")) {
|
|
396
396
|
let create_time = 0;
|
|
@@ -402,14 +402,14 @@ $(function () {
|
|
|
402
402
|
}
|
|
403
403
|
});
|
|
404
404
|
if (create_time > 0) {
|
|
405
|
-
|
|
405
|
+
SnowballTweet.pageYOffset = window.pageYOffset;
|
|
406
406
|
$('#tweet_list').append('<li id="tweet_loading"><div class="block"><div class="block_content text-center" style="font-size: 25px; line-height: 2em;">Loading...</div></div></li>');
|
|
407
407
|
Util.show_loading();
|
|
408
|
-
let payload =
|
|
408
|
+
let payload = SnowballTweet.get_payload();
|
|
409
409
|
payload["append_time"] = create_time;
|
|
410
410
|
Util.post(location.pathname, payload, function (j) {
|
|
411
411
|
$("#tweet_loading").remove();
|
|
412
|
-
|
|
412
|
+
SnowballTweet.render_tweet_html(j.data, 1);
|
|
413
413
|
});
|
|
414
414
|
}
|
|
415
415
|
}
|
package/status.js
CHANGED
|
@@ -892,7 +892,13 @@ $(function () {
|
|
|
892
892
|
html.push("</tr>");
|
|
893
893
|
});
|
|
894
894
|
Util.render_table_html("machine_process_div_body", html);
|
|
895
|
-
|
|
895
|
+
let process_num_cls = "label-info";
|
|
896
|
+
let machine_id_status = j.machine_id;
|
|
897
|
+
if (!j.is_activate || j.is_activate !== "1") {
|
|
898
|
+
process_num_cls = "label-default";
|
|
899
|
+
machine_id_status = '<span style="font-size: 90%" class="label label-default">' + j.machine_id + '</span>';
|
|
900
|
+
}
|
|
901
|
+
$("#machine_process_tip").html('共 <span class="label ' + process_num_cls + '">' + process_num + '</span> 进程,文件数:' + (j.files_count && j.files_count > 0 ? j.files_count : 0) + ',最后更新时间:' + Util.seconds_to_format(j.date) + ',Revision:' + j.revision + ',MachineId:' + machine_id_status);
|
|
896
902
|
$("#machines option[value='" + j.machine_id + "']").text(j.ip + "(" + process_num + ")");
|
|
897
903
|
// 终止进程
|
|
898
904
|
Status.handle_process_kill("machine_process_div_body", 2);
|
package/util.js
CHANGED
|
@@ -30,6 +30,7 @@ const Util = {
|
|
|
30
30
|
countdown_timer_id: 0,
|
|
31
31
|
is_init: 0,
|
|
32
32
|
is_load: false,
|
|
33
|
+
|
|
33
34
|
// 1年的天数
|
|
34
35
|
ONE_YEAR_DAY: 365,
|
|
35
36
|
// 一天的秒数
|
|
@@ -2871,15 +2872,15 @@ const Util = {
|
|
|
2871
2872
|
*/
|
|
2872
2873
|
request_arguments: function () {
|
|
2873
2874
|
// let url = location.search; //获取url中"?"符后的字串
|
|
2874
|
-
// let
|
|
2875
|
+
// let ra_object = {};
|
|
2875
2876
|
// if (url.includes("?")) {
|
|
2876
2877
|
// let query_array = url.slice(1).split("&");
|
|
2877
2878
|
// for (let i = 0; i < query_array.length; i++) {
|
|
2878
2879
|
// let query = query_array[i].split("=");
|
|
2879
|
-
//
|
|
2880
|
+
// ra_object[query[0]] = query[1];
|
|
2880
2881
|
// }
|
|
2881
2882
|
// }
|
|
2882
|
-
// return
|
|
2883
|
+
// return ra_object;
|
|
2883
2884
|
return Object.fromEntries(new URLSearchParams(location.search));
|
|
2884
2885
|
},
|
|
2885
2886
|
|