sbd-npm 1.1.47 → 1.1.51
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/menu.js +126 -125
- package/package.json +1 -1
- package/summary_daily.js +1 -2
- package/util.js +119 -17
package/menu.js
CHANGED
@@ -3,227 +3,228 @@ const MenuList = [
|
|
3
3
|
'name': '概要',
|
4
4
|
'icon': 'home',
|
5
5
|
'menu': [
|
6
|
-
{'key': 'summary_daily', 'name': '每日概要', 'url': '/
|
7
|
-
{'key': 'summary_week', 'name': '每周概要', 'url': '/
|
8
|
-
{'key': 'summary_breadth', 'name': '市场宽度', 'url': '/
|
9
|
-
{'key': 'summary_dashboard', 'name': '市场全景', 'url': '/
|
10
|
-
{'key': 'summary_market', 'name': '市场概要', 'url': '/
|
11
|
-
{'key': 'summary_etf', 'name': 'ETF分析', 'url': '/
|
12
|
-
{'key': 'summary_industry', 'name': '板块涨跌', 'url': '/
|
13
|
-
{'key': 'summary_repurchase', 'name': '闲钱流向', 'url': '/
|
14
|
-
{'key': 'summary_margin_lever', 'name': '融资杠杠率', 'url': '/
|
15
|
-
{'key': 'summary_momentum', 'name': '板块动量', 'url': '/
|
16
|
-
{'key': 'summary_index', 'name': '指数', 'url': '/
|
6
|
+
{'key': 'summary_daily', 'name': '每日概要', 'url': '/3f39b5b1a564070ba651b0fea119ef98'},
|
7
|
+
{'key': 'summary_week', 'name': '每周概要', 'url': '/041dd556cd72d41ce3c6fd2a50340cd6'},
|
8
|
+
{'key': 'summary_breadth', 'name': '市场宽度', 'url': '/6263b0820aa0c1b0b27e10e855b8ea1b'},
|
9
|
+
{'key': 'summary_dashboard', 'name': '市场全景', 'url': '/dffbe86a3353af37e3471cc6a72266e9'},
|
10
|
+
{'key': 'summary_market', 'name': '市场概要', 'url': '/1251bb015654040ba8dc38b563817586'},
|
11
|
+
{'key': 'summary_etf', 'name': 'ETF分析', 'url': '/5e7eb433adbda09db931b9a4a3371fd5'},
|
12
|
+
{'key': 'summary_industry', 'name': '板块涨跌', 'url': '/ce5c0a4d19ebf14830d0a05cdf7c0eb9'},
|
13
|
+
{'key': 'summary_repurchase', 'name': '闲钱流向', 'url': '/8d810d466cca69c6a91afb7fd468df93'},
|
14
|
+
{'key': 'summary_margin_lever', 'name': '融资杠杠率', 'url': '/c0e5faf52d3f6a8a0a85100957420be0'},
|
15
|
+
{'key': 'summary_momentum', 'name': '板块动量', 'url': '/6bde52a3162b3973ed96f52ef0a57d0e'},
|
16
|
+
{'key': 'summary_index', 'name': '指数', 'url': '/60fbd3c53b23705212efb6bf010ed957'},
|
17
17
|
]
|
18
18
|
},
|
19
19
|
{
|
20
20
|
'name': '每日数据',
|
21
21
|
'icon': 'th',
|
22
22
|
'menu': [
|
23
|
-
{'key': 'daily_price_top', 'name': '每日新高', 'url': '/
|
24
|
-
{'key': 'daily_margin', 'name': '融资融券', 'url': '/
|
25
|
-
{'key': 'daily_volume', 'name': '成交量(大量)', 'url': '/
|
26
|
-
{'key': 'daily_gap', 'name': '缺口', 'url': '/
|
27
|
-
{'key': 'daily_turnover', 'name': '换手率', 'url': '/
|
28
|
-
{'key': 'daily_amount', 'name': '成交金额', 'url': '/
|
29
|
-
{'key': 'daily_buy_sell', 'name': '买入卖出', 'url': '/
|
30
|
-
{'key': 'daily_big_deal', 'name': '大单交易', 'url': '/
|
31
|
-
{'key': 'daily_block', 'name': '大宗交易', 'url': '/
|
23
|
+
{'key': 'daily_price_top', 'name': '每日新高', 'url': '/947b66233a7bddda51a0ae0bb735ef3d'},
|
24
|
+
{'key': 'daily_margin', 'name': '融资融券', 'url': '/b3c3792c371ad62f28b1eacc1d6edf31'},
|
25
|
+
{'key': 'daily_volume', 'name': '成交量(大量)', 'url': '/5f3f29dc703951cd66f5c6320fa369ae'},
|
26
|
+
{'key': 'daily_gap', 'name': '缺口', 'url': '/d058569e38097c2e55539d181a135552'},
|
27
|
+
{'key': 'daily_turnover', 'name': '换手率', 'url': '/15a76715b18475790992305b45d2bba2'},
|
28
|
+
{'key': 'daily_amount', 'name': '成交金额', 'url': '/a6f1471ed69d2c03785d1ad889dfb041'},
|
29
|
+
{'key': 'daily_buy_sell', 'name': '买入卖出', 'url': '/2636399252f1170c41ec73d872252995'},
|
30
|
+
{'key': 'daily_big_deal', 'name': '大单交易', 'url': '/3ece809352ebd8c55c859dda0e7cafe0'},
|
31
|
+
{'key': 'daily_block', 'name': '大宗交易', 'url': '/3eec763b6402d5327a2f1d8964f78c93'},
|
32
32
|
]
|
33
33
|
},
|
34
34
|
{
|
35
35
|
'name': '沪深港股通',
|
36
36
|
'icon': 'cogs',
|
37
37
|
'menu': [
|
38
|
-
{'key': 'hsgt_flow', 'name': '资金流向', 'url': '/
|
39
|
-
{'key': 'hsgt_trade_stock', 'name': '成交股统计', 'url': '/
|
40
|
-
{'key': 'hsgt_hkex_holding', 'name': '港资持股比例', 'url': '/
|
38
|
+
{'key': 'hsgt_flow', 'name': '资金流向', 'url': '/e0c6105a6de37e91aa886c70d2227948'},
|
39
|
+
{'key': 'hsgt_trade_stock', 'name': '成交股统计', 'url': '/521e408d5c995460426beba4d039df06'},
|
40
|
+
{'key': 'hsgt_hkex_holding', 'name': '港资持股比例', 'url': '/4cb33e167aca1978b304af3bbe6ea2dd'},
|
41
41
|
]
|
42
42
|
},
|
43
43
|
{
|
44
44
|
'name': '趋势分析',
|
45
45
|
'icon': 'edit',
|
46
46
|
'menu': [
|
47
|
-
{'key': 'trend_boll', 'name': '布林线', 'url': '/
|
48
|
-
{'key': 'trend_ma20_60', 'name': '20、60日均线交叉', 'url': '/
|
49
|
-
{'key': 'trend_macd_down', 'name': 'MACD下行', 'url': '/
|
50
|
-
{'key': 'trend_doji', 'name': '十字星', 'url': '/
|
51
|
-
{'key': 'trend_ma510', 'name': '突破5、10日均线', 'url': '/
|
52
|
-
{'key': 'trend_week_minimum', 'name': '周成交低点', 'url': '/
|
53
|
-
{'key': 'trend_margin', 'name': '融资融券余额涨幅', 'url': '/
|
54
|
-
{'key': 'trend_price', 'name': '股价升跌幅度', 'url': '/
|
55
|
-
{'key': 'trend_down', 'name': '当前连跌个股', 'url': '/
|
56
|
-
{'key': 'trend_down_analysis', 'name': '连跌反弹概率', 'url': '/
|
57
|
-
{'key': 'trend_index_month', 'name': '指数每年月份涨跌', 'url': '/
|
58
|
-
{'key': 'trend_ma', 'name': '均线近似重合', 'url': '/
|
59
|
-
{'key': 'trend_query', 'name': '趋势查询', 'url': '/
|
47
|
+
{'key': 'trend_boll', 'name': '布林线', 'url': '/0c9b231a72e40475d6f985fd67bdb718'},
|
48
|
+
{'key': 'trend_ma20_60', 'name': '20、60日均线交叉', 'url': '/4bf72713d83469ad6ec1d9fc3be8886f'},
|
49
|
+
{'key': 'trend_macd_down', 'name': 'MACD下行', 'url': '/ff97a31b4ffbabe71315e75c4fd62047'},
|
50
|
+
{'key': 'trend_doji', 'name': '十字星', 'url': '/718eac2cccaef1c7968f2d121b5f3070'},
|
51
|
+
{'key': 'trend_ma510', 'name': '突破5、10日均线', 'url': '/4d6d7ee173c87b1f939fa454093a63c7'},
|
52
|
+
{'key': 'trend_week_minimum', 'name': '周成交低点', 'url': '/722d94429b8e689fe78dca1cf67a4c67'},
|
53
|
+
{'key': 'trend_margin', 'name': '融资融券余额涨幅', 'url': '/1964a6bc56dc3ce6825b23667c7fb588'},
|
54
|
+
{'key': 'trend_price', 'name': '股价升跌幅度', 'url': '/43ef6aeb36475f8f8f44d477b1990390'},
|
55
|
+
{'key': 'trend_down', 'name': '当前连跌个股', 'url': '/07fb907c7e7572fbeae98bacf5c44593'},
|
56
|
+
{'key': 'trend_down_analysis', 'name': '连跌反弹概率', 'url': '/e9a32e4601fca33a9c3b68103f61c3bc'},
|
57
|
+
{'key': 'trend_index_month', 'name': '指数每年月份涨跌', 'url': '/86691e421938098bab7679e43bea67a6'},
|
58
|
+
{'key': 'trend_ma', 'name': '均线近似重合', 'url': '/712e8f604264dd718f5fccd173418b67'},
|
59
|
+
{'key': 'trend_query', 'name': '趋势查询', 'url': '/7a7cec0124836383ad76faa457d19403'},
|
60
60
|
]
|
61
61
|
},
|
62
62
|
{
|
63
63
|
'name': '宏观数据',
|
64
64
|
'icon': 'globe',
|
65
65
|
'menu': [
|
66
|
-
{'key': 'macro_bond_yield', 'name': '十年国债收益率', 'url': '/
|
67
|
-
{'key': 'macro_money_supply', 'name': '货币供应量', 'url': '/
|
68
|
-
{'key': 'macro_currency', 'name': '货币汇率', 'url': '/
|
69
|
-
{'key': 'macro_new_loan', 'name': '新增贷款', 'url': '/
|
70
|
-
{'key': 'macro_social_financing', 'name': '社会融资规模', 'url': '/
|
71
|
-
{'key': 'macro_shibor', 'name': 'Shibor 拆放利率', 'url': '/
|
72
|
-
{'key': 'macro_pmi', 'name': '制造业采购经理指数(PMI)', 'url': '/
|
73
|
-
{'key': 'macro_new_investor', 'name': '新增投资者', 'url': '/
|
66
|
+
{'key': 'macro_bond_yield', 'name': '十年国债收益率', 'url': '/b3481c3916ef5e907f329c32ad87f7ce'},
|
67
|
+
{'key': 'macro_money_supply', 'name': '货币供应量', 'url': '/30cb50c21d82b67d4442df16cffde341'},
|
68
|
+
{'key': 'macro_currency', 'name': '货币汇率', 'url': '/58ec93ac74847aaec304e4a577c15799'},
|
69
|
+
{'key': 'macro_new_loan', 'name': '新增贷款', 'url': '/e097d8546633916f2a112f8792a9528e'},
|
70
|
+
{'key': 'macro_social_financing', 'name': '社会融资规模', 'url': '/720d8a2a3928b67597d0fc78a2a4b31e'},
|
71
|
+
{'key': 'macro_shibor', 'name': 'Shibor 拆放利率', 'url': '/41eaa74e3c5a9102b3f0b736090872e4'},
|
72
|
+
{'key': 'macro_pmi', 'name': '制造业采购经理指数(PMI)', 'url': '/6669696b194ae77d596371139e6b53a7'},
|
73
|
+
{'key': 'macro_new_investor', 'name': '新增投资者', 'url': '/2268c61c6d62cdc8c1c7143aa524e2f1'},
|
74
74
|
]
|
75
75
|
},
|
76
76
|
{
|
77
77
|
'name': '数字币',
|
78
78
|
'icon': 'btc',
|
79
79
|
'menu': [
|
80
|
-
{'key': 'coin_summary', 'name': '币种概况', 'url': '/
|
81
|
-
{'key': 'coin_price', 'name': '价格走势', 'url': '/
|
82
|
-
{'key': 'coin_grayscale', 'name': '灰度持仓', 'url': '/
|
83
|
-
{'key': 'coin_gpu', 'name': 'GPU收益排行', 'url': '/
|
80
|
+
{'key': 'coin_summary', 'name': '币种概况', 'url': '/ffae1466cb12dafb57f9a1dd8d1fd82e'},
|
81
|
+
{'key': 'coin_price', 'name': '价格走势', 'url': '/b9621af73de98912293b928884eceba5'},
|
82
|
+
{'key': 'coin_grayscale', 'name': '灰度持仓', 'url': '/6515009f018054494c4dae6ebbe9f929'},
|
83
|
+
{'key': 'coin_gpu', 'name': 'GPU收益排行', 'url': '/777f4e9b3ae0942f24c368c015933d65'},
|
84
84
|
]
|
85
85
|
},
|
86
86
|
{
|
87
87
|
'name': '股东股份',
|
88
88
|
'icon': 'cog',
|
89
89
|
'menu': [
|
90
|
-
{'key': 'holder_top', 'name': '十大股东', 'url': '/
|
91
|
-
{'key': 'holder_insider', 'name': '内部交易', 'url': '/
|
92
|
-
{'key': 'holder_num', 'name': '股东户数', 'url': '/
|
93
|
-
{'key': 'holder_pledged', 'name': '股票质押', 'url': '/
|
94
|
-
{'key': 'holder_restricted', 'name': '限售股解禁', 'url': '/
|
95
|
-
{'key': 'holder_qfii', 'name': 'QFII重仓', 'url': '/
|
90
|
+
{'key': 'holder_top', 'name': '十大股东', 'url': '/5e965eb9093f8c4fef9ee2190f533b31'},
|
91
|
+
{'key': 'holder_insider', 'name': '内部交易', 'url': '/93af76eecb4b0fb94a78395d45d385bb'},
|
92
|
+
{'key': 'holder_num', 'name': '股东户数', 'url': '/42c9638760a0d860c4ebca56d4909766'},
|
93
|
+
{'key': 'holder_pledged', 'name': '股票质押', 'url': '/3719cfdbf03bbd9b64c7e64235190d86'},
|
94
|
+
{'key': 'holder_restricted', 'name': '限售股解禁', 'url': '/3aada922f58221354604a6c8b1211572'},
|
95
|
+
{'key': 'holder_qfii', 'name': 'QFII重仓', 'url': '/ac2d3986cde39972f63078ccfcec948f'},
|
96
96
|
]
|
97
97
|
},
|
98
98
|
{
|
99
99
|
'name': '公告/研报',
|
100
100
|
'icon': 'tasks',
|
101
101
|
'menu': [
|
102
|
-
{'key': 'notice_organization', 'name': '机构研报', 'url': '/
|
103
|
-
{'key': 'notice_bull', 'name': '利好公告', 'url': '/
|
104
|
-
{'key': 'notice_performance', 'name': '业绩预增', 'url': '/
|
105
|
-
{'key': 'notice_forecast', 'name': '年度业绩预告', 'url': '/
|
106
|
-
{'key': 'notice_pledged', 'name': '股份质押', 'url': '/
|
107
|
-
{'key': 'notice_repurchase', 'name': '股份回购', 'url': '/
|
108
|
-
{'key': 'notice_search', 'name': '公告查找', 'url': '/
|
109
|
-
{'key': 'notice_report_annual', 'name': '年度报告', 'url': '/
|
102
|
+
{'key': 'notice_organization', 'name': '机构研报', 'url': '/e3b5c3dd83e9b8cdf44e7494e726d660'},
|
103
|
+
{'key': 'notice_bull', 'name': '利好公告', 'url': '/4ccc3d9a9ca1e3104e6b2052d79c12a0'},
|
104
|
+
{'key': 'notice_performance', 'name': '业绩预增', 'url': '/9c30aa943d21e07011840cc0b539735a'},
|
105
|
+
{'key': 'notice_forecast', 'name': '年度业绩预告', 'url': '/f6579288be427b0af67f421907072ec5'},
|
106
|
+
{'key': 'notice_pledged', 'name': '股份质押', 'url': '/558f070329684e97f3f717cc7f421567'},
|
107
|
+
{'key': 'notice_repurchase', 'name': '股份回购', 'url': '/313fe594a9feb6a602a490a88de39a08'},
|
108
|
+
{'key': 'notice_search', 'name': '公告查找', 'url': '/50edeafd28166fe0208ba0c1b4dfff5e'},
|
109
|
+
{'key': 'notice_report_annual', 'name': '年度报告', 'url': '/8a7f30907820fc8deac4d7fb66fe58c2'},
|
110
110
|
]
|
111
111
|
},
|
112
112
|
{
|
113
113
|
'name': '基金',
|
114
114
|
'icon': 'rub',
|
115
115
|
'menu': [
|
116
|
-
{'key': 'fund_public', 'name': '公募基金列表', 'url': '/
|
117
|
-
{'key': 'fund_private_list', 'name': '私募基金排行', 'url': '/
|
118
|
-
{'key': 'fund_private_manager', 'name': '私募经理排行', 'url': '/
|
119
|
-
{'key': 'fund_private_company', 'name': '私募公司排行', 'url': '/
|
116
|
+
{'key': 'fund_public', 'name': '公募基金列表', 'url': '/d6b1731b0a56aaaa269dcbfe2e08b6d8'},
|
117
|
+
{'key': 'fund_private_list', 'name': '私募基金排行', 'url': '/3f3754d88e3fc06a214ce68eb5e763eb'},
|
118
|
+
{'key': 'fund_private_manager', 'name': '私募经理排行', 'url': '/3c68fa6e97923655eea0956183f692ed'},
|
119
|
+
{'key': 'fund_private_company', 'name': '私募公司排行', 'url': '/646fc0966d92f2ef47b26c337a9429e3'},
|
120
120
|
]
|
121
121
|
},
|
122
122
|
{
|
123
123
|
'name': '概念股',
|
124
124
|
'icon': 'retweet',
|
125
125
|
'menu': [
|
126
|
-
{'key': 'concept_week_recommend', 'name': '每周精选', 'url': '/
|
127
|
-
{'key': 'concept_recommend', 'name': '关注', 'url': '/
|
128
|
-
{'key': 'concept_bellwether', 'name': '龙头股', 'url': '/
|
129
|
-
{'key': 'concept_market_situation', 'name': '市值风云', 'url': '/
|
130
|
-
{'key': '
|
131
|
-
{'key': '
|
132
|
-
{'key': '
|
133
|
-
{'key': '
|
134
|
-
{'key': '
|
135
|
-
{'key': '
|
136
|
-
{'key': '
|
137
|
-
{'key': '
|
138
|
-
{'key': '
|
139
|
-
{'key': '
|
140
|
-
{'key': '
|
141
|
-
{'key': '
|
142
|
-
{'key': '
|
143
|
-
{'key': '
|
126
|
+
{'key': 'concept_week_recommend', 'name': '每周精选', 'url': '/9c3fbc44e6ad96fbd8a57b227771eea0'},
|
127
|
+
{'key': 'concept_recommend', 'name': '关注', 'url': '/27ca098faad33a8e4d109efe0112fd16'},
|
128
|
+
{'key': 'concept_bellwether', 'name': '龙头股', 'url': '/2995afdea420471e00c536182e711bef'},
|
129
|
+
{'key': 'concept_market_situation', 'name': '市值风云', 'url': '/02fdaf4d66cdecb092bcd65f569aa493'},
|
130
|
+
{'key': 'concept_cannon', 'name': '黄家礼炮', 'url': '/d6128a3ad91d545f2920fa2e324c37e1'},
|
131
|
+
{'key': 'concept_cloud', 'name': '心似白云常自在', 'url': '/1d883188398a3a8c743748c5eb81fe7b'},
|
132
|
+
{'key': 'concept_niu', 'name': '老曾阿牛', 'url': '/0f4a2714971424024c1ddd8651c26569'},
|
133
|
+
{'key': 'concept_qian', 'name': '唐史主任司马迁', 'url': '/8b3e40fe74b4870244bc51125da7675a'},
|
134
|
+
{'key': 'concept_dan', 'name': '但斌', 'url': '/3ac0a5857b1d9a111497c0e817e647a1'},
|
135
|
+
{'key': 'concept_hill', 'name': '高瓴资本', 'url': '/9891755f194db180f1fe9a8c47a51829'},
|
136
|
+
{'key': 'concept_hk', 'name': '港股', 'url': '/ef12a56d360da9b20c79a763681de1e4'},
|
137
|
+
{'key': 'concept_us', 'name': '美股', 'url': '/f986a81550e4d8a902f8bc0ef07757a6'},
|
138
|
+
{'key': 'concept_chip', 'name': '芯片', 'url': '/491de7096b1cb9355766e5ffdd7018b6'},
|
139
|
+
{'key': 'concept_military', 'name': '军工', 'url': '/1eb37c30e6be05148ba47c8ca6498a48'},
|
140
|
+
{'key': 'concept_msci', 'name': 'MSCI', 'url': '/ff6c00cf10a8f17ae0e4fb1ca444f7fc'},
|
141
|
+
{'key': 'concept_hkscc', 'name': '港交所', 'url': '/f23d044c3944d827d799f77da41a911e'},
|
142
|
+
{'key': 'concept_ah', 'name': 'AH股', 'url': '/16f12053b288726b5d4720de879c3b5c'},
|
143
|
+
{'key': 'concept_st', 'name': 'ST股', 'url': '/e0eb8a51da63f7ceb16a769d7d20bada'},
|
144
|
+
{'key': 'concept_ten', 'name': '十倍股', 'url': '/c08abb44c7d6ce6fa09a8a66421acb20'},
|
144
145
|
]
|
145
146
|
},
|
146
147
|
{
|
147
148
|
'name': '查询',
|
148
149
|
'icon': 'search',
|
149
150
|
'menu': [
|
150
|
-
{'key': 'query_list', 'name': '查询', 'url': '/
|
151
|
-
{'key': 'query_profit', 'name': '盈利查询', 'url': '/
|
151
|
+
{'key': 'query_list', 'name': '查询', 'url': '/16e6b2a63db7951f30e7ebab1852ea8c'},
|
152
|
+
{'key': 'query_profit', 'name': '盈利查询', 'url': '/cc995fc524901f6b664f2a553d34f404'},
|
152
153
|
]
|
153
154
|
},
|
154
155
|
{
|
155
156
|
'name': '港股',
|
156
157
|
'icon': 'asterisk',
|
157
158
|
'menu': [
|
158
|
-
{'key': 'hk_list', 'name': '港股列表', 'url': '/
|
159
|
-
{'key': 'hk_ipo', 'name': '港股IPO', 'url': '/
|
160
|
-
{'key': 'hk_hsi', 'name': '恒生指数', 'url': '/
|
161
|
-
{'key': 'hk_hstech', 'name': '恒生科技指数', 'url': '/
|
162
|
-
{'key': 'hk_hsci', 'name': '恒生综合指数', 'url': '/
|
163
|
-
{'key': 'hk_hsm25', 'name': '恒生中国25指数', 'url': '/
|
164
|
-
{'key': 'hk_hsh35', 'name': '恒生香港35指数', 'url': '/
|
165
|
-
{'key': 'hk_hsm100', 'name': '恒生中国100指数', 'url': '/
|
159
|
+
{'key': 'hk_list', 'name': '港股列表', 'url': '/ef914848324146fa36f0440e6d9c346e'},
|
160
|
+
{'key': 'hk_ipo', 'name': '港股IPO', 'url': '/4f0665413864b9bc6367d8177a97535e'},
|
161
|
+
{'key': 'hk_hsi', 'name': '恒生指数', 'url': '/18e946e59815d78bb0abf7a169d8c32f'},
|
162
|
+
{'key': 'hk_hstech', 'name': '恒生科技指数', 'url': '/89d011335181af6bc8a4c3d24cd0c5cb'},
|
163
|
+
{'key': 'hk_hsci', 'name': '恒生综合指数', 'url': '/4112cd93deee4ae889cc57e4f5bde452'},
|
164
|
+
{'key': 'hk_hsm25', 'name': '恒生中国25指数', 'url': '/ef2c4f6a23a329a3ca59877bbb12f547'},
|
165
|
+
{'key': 'hk_hsh35', 'name': '恒生香港35指数', 'url': '/f2c1599f3e3881145ca8aefe477b7404'},
|
166
|
+
{'key': 'hk_hsm100', 'name': '恒生中国100指数', 'url': '/4b79a045f8ca988fa23e339d85673090'},
|
166
167
|
]
|
167
168
|
},
|
168
169
|
{
|
169
170
|
'name': '美股',
|
170
171
|
'icon': 'usd',
|
171
172
|
'menu': [
|
172
|
-
{'key': 'us_list', 'name': '美股列表', 'url': '/
|
173
|
-
{'key': 'us_dji', 'name': '道琼斯指数', 'url': '/
|
174
|
-
{'key': 'us_sp500', 'name': '标普500', 'url': '/
|
175
|
-
{'key': 'us_qqq', 'name': '纳斯达克100', 'url': '/
|
176
|
-
{'key': 'us_cn', 'name': '中国概念股', 'url': '/
|
177
|
-
{'key': 'us_marijuana', 'name': '工业大麻', 'url': '/
|
178
|
-
{'key': 'us_short_rank', 'name': '做空排行', 'url': '/
|
179
|
-
{'key': 'us_pe', 'name': '历史PE', 'url': '/
|
180
|
-
{'key': 'us_dollar', 'name': '美元关系图', 'url': '/
|
173
|
+
{'key': 'us_list', 'name': '美股列表', 'url': '/97b34fb033c21ac9493b415bbf3d2671'},
|
174
|
+
{'key': 'us_dji', 'name': '道琼斯指数', 'url': '/38e1bb7614976322f6aa4d2c28bcb9d3'},
|
175
|
+
{'key': 'us_sp500', 'name': '标普500', 'url': '/33f59986534947d63d6ca1dcebac15d7'},
|
176
|
+
{'key': 'us_qqq', 'name': '纳斯达克100', 'url': '/2ce5bc68a55b5671613b66093d93b40c'},
|
177
|
+
{'key': 'us_cn', 'name': '中国概念股', 'url': '/bff1b2e208757edb89df6e62385a8c1b'},
|
178
|
+
{'key': 'us_marijuana', 'name': '工业大麻', 'url': '/d3e38cb2006f647d269763f3f9df942b'},
|
179
|
+
{'key': 'us_short_rank', 'name': '做空排行', 'url': '/918871a5e9af5bd87bcb54a4b1677595'},
|
180
|
+
{'key': 'us_pe', 'name': '历史PE', 'url': '/aad2760a6cdbc1311cad07f7951d3b08'},
|
181
|
+
{'key': 'us_dollar', 'name': '美元关系图', 'url': '/6f9cfb3962d6c60c2364af35354e1298'},
|
181
182
|
]
|
182
183
|
},
|
183
184
|
{
|
184
185
|
'name': '雪球',
|
185
186
|
'icon': 'star',
|
186
187
|
'menu': [
|
187
|
-
{'key': 'snowball_trend', 'name': '自选趋势', 'url': '/
|
188
|
-
{'key': 'snowball_user', 'name': '用户列表', 'url': '/
|
189
|
-
{'key': 'snowball_tool', 'name': '搜索工具', 'url': '/
|
190
|
-
{'key': 'snowball_red_packet', 'name': '红包数据', 'url': '/
|
188
|
+
{'key': 'snowball_trend', 'name': '自选趋势', 'url': '/08c40d908dd87e29a607b6945309edf0'},
|
189
|
+
{'key': 'snowball_user', 'name': '用户列表', 'url': '/97339b8453883dd27e6087ae7db6f62a'},
|
190
|
+
{'key': 'snowball_tool', 'name': '搜索工具', 'url': '/ac88ee85f27e11aa06f2b8f46b03a0eb'},
|
191
|
+
{'key': 'snowball_red_packet', 'name': '红包数据', 'url': '/23d88182f12431fe67f658b725cbaf1d'},
|
191
192
|
]
|
192
193
|
},
|
193
194
|
{
|
194
195
|
'name': '排行',
|
195
196
|
'icon': 'bar-chart',
|
196
197
|
'menu': [
|
197
|
-
{'key': 'rank_bias', 'name': '乖离率', 'url': '/
|
198
|
-
{'key': 'rank_margin_minimum', 'name': '融资余额创新低', 'url': '/
|
199
|
-
{'key': 'rank_profit', 'name': '净利润/营业收入', 'url': '/
|
200
|
-
{'key': 'rank_roe', 'name': 'ROE(净资产收益率)', 'url': '/
|
201
|
-
{'key': 'rank_dividend', 'name': '股息', 'url': '/
|
202
|
-
{'key': 'rank_circulation_stock', 'name': '流通股比例', 'url': '/
|
203
|
-
{'key': 'rank_holder', 'name': '股东比', 'url': '/
|
204
|
-
{'key': 'rank_goodwill', 'name': '商誉占比', 'url': '/
|
198
|
+
{'key': 'rank_bias', 'name': '乖离率', 'url': '/5adf9341d8ad0d1be9cb46497b35d14e'},
|
199
|
+
{'key': 'rank_margin_minimum', 'name': '融资余额创新低', 'url': '/6bb832978d90558fd524276214cb27d0'},
|
200
|
+
{'key': 'rank_profit', 'name': '净利润/营业收入', 'url': '/90ee0f9bcf37d965d0f894c6bd6be788'},
|
201
|
+
{'key': 'rank_roe', 'name': 'ROE(净资产收益率)', 'url': '/575707ea27d7de73d5467660b9181606'},
|
202
|
+
{'key': 'rank_dividend', 'name': '股息', 'url': '/83070c336bee9b99bd4f9ad54963f9ef'},
|
203
|
+
{'key': 'rank_circulation_stock', 'name': '流通股比例', 'url': '/212721244ee3f9bab3ea2275f6f25272'},
|
204
|
+
{'key': 'rank_holder', 'name': '股东比', 'url': '/5f09520c907774de4e1dfcf78e7f45b8'},
|
205
|
+
{'key': 'rank_goodwill', 'name': '商誉占比', 'url': '/81e1e604b6fd26be1ab3f496e5edd742'},
|
205
206
|
]
|
206
207
|
},
|
207
208
|
{
|
208
209
|
'name': '科创板',
|
209
210
|
'icon': 'try',
|
210
211
|
'menu': [
|
211
|
-
{'key': 'science_trade', 'name': '交易情况', 'url': '/
|
212
|
-
{'key': 'science_list', 'name': '受理情况', 'url': '/
|
213
|
-
{'key': 'science_news', 'name': '公司介绍', 'url': '/
|
214
|
-
{'key': 'science_star50', 'name': '科创50', 'url': '/
|
212
|
+
{'key': 'science_trade', 'name': '交易情况', 'url': '/701357fa3aa407afd99651d5492f4ca3'},
|
213
|
+
{'key': 'science_list', 'name': '受理情况', 'url': '/125f28b2503fe3b3b2c1b5e182a32a6c'},
|
214
|
+
{'key': 'science_news', 'name': '公司介绍', 'url': '/a98e892eb1b2b196c617e7630338c878'},
|
215
|
+
{'key': 'science_star50', 'name': '科创50', 'url': '/65ce1ec48e1a443e69c457bc1c909767'},
|
215
216
|
]
|
216
217
|
},
|
217
218
|
{
|
218
219
|
'name': '其他',
|
219
220
|
'icon': 'remove',
|
220
221
|
'menu': [
|
221
|
-
{'key': 'other_ipo', 'name': '新股发行', 'url': '/
|
222
|
-
{'key': 'other_enterprise', 'name': '企业数据', 'url': '/
|
223
|
-
{'key': 'other_house', 'name': '楼盘房价', 'url': '/
|
224
|
-
{'key': 'other_bond', 'name': '地方债数据', 'url': '/
|
225
|
-
{'key': 'other_convertible_bond', 'name': '可转债数据', 'url': '/
|
226
|
-
{'key': 'other_fortune500', 'name': '财富500强', 'url': '/
|
222
|
+
{'key': 'other_ipo', 'name': '新股发行', 'url': '/6b8fdb39a667b2e657e58611338e088b'},
|
223
|
+
{'key': 'other_enterprise', 'name': '企业数据', 'url': '/5f2a57212ea1d3cd18a7a7726d56a871'},
|
224
|
+
{'key': 'other_house', 'name': '楼盘房价', 'url': '/774457bf19f96795cd1ffb749e7dfdb4'},
|
225
|
+
{'key': 'other_bond', 'name': '地方债数据', 'url': '/fbe79af9b125b8952d05801dcf1ea4c1'},
|
226
|
+
{'key': 'other_convertible_bond', 'name': '可转债数据', 'url': '/cf21d0fe6fe66c94488dab9cfef16c0a'},
|
227
|
+
{'key': 'other_fortune500', 'name': '财富500强', 'url': '/04d4033d33ea4c0cdd0d874dde23ef2c'},
|
227
228
|
]
|
228
229
|
},
|
229
230
|
];
|
package/package.json
CHANGED
package/summary_daily.js
CHANGED
@@ -31,8 +31,7 @@ $(document).ready(function () {
|
|
31
31
|
},
|
32
32
|
|
33
33
|
load_cache: function () {
|
34
|
-
DailySummary["hsgt_money_flow_chart"] = Util.
|
35
|
-
DailySummary["hsgt_money_flow_chart"].showLoading();
|
34
|
+
DailySummary["hsgt_money_flow_chart"] = Util.show_chart_loading(DailySummary["hsgt_money_flow_chart"], "hsgt_money_flow_line");
|
36
35
|
try {
|
37
36
|
let cache = DailySummary.get_cache();
|
38
37
|
if (cache.hasOwnProperty("market_overview")) {
|
package/util.js
CHANGED
@@ -215,7 +215,7 @@ const Util = {
|
|
215
215
|
* @returns {string}
|
216
216
|
*/
|
217
217
|
industry_url: function (code, industry) {
|
218
|
-
if (industry === "undefined") {
|
218
|
+
if (industry === "undefined" || industry === "None") {
|
219
219
|
return "--";
|
220
220
|
}
|
221
221
|
if (industry) {
|
@@ -345,6 +345,12 @@ const Util = {
|
|
345
345
|
$(this).html(Util.year_price_rate(item["price"], item["high_52week"]));
|
346
346
|
});
|
347
347
|
}
|
348
|
+
if (item["holder_num"] && item["holder_num"] > 0 && item["pre_holder_num"]) {
|
349
|
+
$(".holder_" + code).each(function () {
|
350
|
+
let url = Util.get_url("holder_num") + "?code=" + item["code"];
|
351
|
+
$(this).html(Util.pack_html_link(url, Util.digit_compare_trend(item["holder_num"], item["pre_holder_num"])));
|
352
|
+
});
|
353
|
+
}
|
348
354
|
}
|
349
355
|
if (item["high"]) {
|
350
356
|
let high_price = Util.digit_compare_trend(item["high"], item["previous_price"]);
|
@@ -752,6 +758,69 @@ const Util = {
|
|
752
758
|
});
|
753
759
|
},
|
754
760
|
|
761
|
+
/**
|
762
|
+
* 初始分类股票的显示表格
|
763
|
+
* @param stock_category
|
764
|
+
* @param table_id
|
765
|
+
*/
|
766
|
+
init_stock_category_data: function (stock_category, table_id) {
|
767
|
+
Util.show_tips("Loading...");
|
768
|
+
let head_cols = [
|
769
|
+
{"name": "代码"},
|
770
|
+
{"name": "名称"},
|
771
|
+
{"name": "PE", "title": "市盈率(Price Earnings Ratio)", "table_sort": 1},
|
772
|
+
{"name": "总市值", "table_sort": 1},
|
773
|
+
{"name": "行业"},
|
774
|
+
{"name": "地区"},
|
775
|
+
{"name": "当前价", "table_sort": 1},
|
776
|
+
{"name": "最高价"},
|
777
|
+
{"name": "最低价"},
|
778
|
+
{"name": "年初至今", "table_sort": 1},
|
779
|
+
{"name": "52周最高", "table_sort": 1}
|
780
|
+
];
|
781
|
+
if (stock_category !== "us") {
|
782
|
+
head_cols.push({"name": "成交金额", "table_sort": 1});
|
783
|
+
head_cols.push({"name": "成交均价"});
|
784
|
+
head_cols.push({"name": "股东数", "table_sort": 1});
|
785
|
+
head_cols.push({"name": "备注", "id": "remark_title"});
|
786
|
+
}
|
787
|
+
Util.init_table_skeleton({
|
788
|
+
"element_id": table_id,
|
789
|
+
"caption": '<caption><span id="index_data"></span><div class="pull-right" id="' + table_id + '_body_tips"></div></caption>',
|
790
|
+
"head_cols": head_cols
|
791
|
+
});
|
792
|
+
Util.post(location.pathname, {active_div: stock_category}, function (j) {
|
793
|
+
let _html = [];
|
794
|
+
let total_num = 0;
|
795
|
+
j["data"].forEach(function (item) {
|
796
|
+
total_num++;
|
797
|
+
_html.push("<tr>");
|
798
|
+
item["code"] = item["code"].toLowerCase();
|
799
|
+
_html = Util.stock_basics_html(_html, item);
|
800
|
+
_html.push("<td id='high_", item["code"], "'>0</td>");
|
801
|
+
_html.push("<td id='low_", item["code"], "'>0</td>");
|
802
|
+
_html.push("<td data-val='", item["year_price"], "' class='year_price_", item["code"], "'>--</td>");
|
803
|
+
_html.push("<td class='high_52week_", item["code"], "'>--</td>");
|
804
|
+
if (stock_category !== "us") {
|
805
|
+
_html.push("<td id='amount_", item["code"], "'>--</td>");
|
806
|
+
_html.push("<td id='average_", item["code"], "'>--</td>");
|
807
|
+
_html.push("<td class='holder_", item["code"], "'>--</td>");
|
808
|
+
_html.push("<td id='remark_", item["code"], "'></td>");
|
809
|
+
}
|
810
|
+
_html.push("</tr>");
|
811
|
+
});
|
812
|
+
Util.render_table_html(table_id + "_body", _html);
|
813
|
+
$("#" + table_id + "_body_tips").html('共 <span class="label label-info">' + total_num + '</span> 家');
|
814
|
+
if (j["concept_url"]) {
|
815
|
+
$("#remark_title").html(Util.pack_html_link(j["concept_url"], "备注<i class='glyphicon glyphicon-link'></i>"));
|
816
|
+
}
|
817
|
+
Util.hide_tips();
|
818
|
+
let index_list = j["index_list"] ? j["index_list"] : [];
|
819
|
+
let is_us = stock_category === "us" ? 1 : 0;
|
820
|
+
Util.init_stock_stuff(table_id + "_body", index_list, is_us);
|
821
|
+
});
|
822
|
+
},
|
823
|
+
|
755
824
|
/**
|
756
825
|
* 初始公募基金组件
|
757
826
|
* @param component_id
|
@@ -1522,6 +1591,10 @@ const Util = {
|
|
1522
1591
|
});
|
1523
1592
|
},
|
1524
1593
|
|
1594
|
+
/**
|
1595
|
+
* 表格排序
|
1596
|
+
* @param element_id
|
1597
|
+
*/
|
1525
1598
|
table_sort: function (element_id = "") {
|
1526
1599
|
let selector = element_id === "" ? ".table_sort" : ("#" + element_id + " .table_sort");
|
1527
1600
|
$(selector).each(function () {
|
@@ -2362,7 +2435,7 @@ const Util = {
|
|
2362
2435
|
* @param date_type
|
2363
2436
|
*/
|
2364
2437
|
startup_metrics_statistics: function (chart_instance, metrics, date_type) {
|
2365
|
-
chart_instance = Util.
|
2438
|
+
chart_instance = Util.show_chart_loading(chart_instance, metrics + "_bar_canvas");
|
2366
2439
|
$("." + metrics + "_bar_btn").each(function () {
|
2367
2440
|
let d_type = $(this).attr("data-val");
|
2368
2441
|
$(this).removeClass("btn-default");
|
@@ -2422,7 +2495,12 @@ const Util = {
|
|
2422
2495
|
return 0;
|
2423
2496
|
},
|
2424
2497
|
|
2425
|
-
|
2498
|
+
/**
|
2499
|
+
* 初始一个图表实例
|
2500
|
+
* @param element_id
|
2501
|
+
* @returns {*|jQuery|void}
|
2502
|
+
*/
|
2503
|
+
init_chart_instance: function (element_id) {
|
2426
2504
|
let element = document.getElementById(element_id);
|
2427
2505
|
element.style.width = "width:100%";
|
2428
2506
|
if (!element.style.height) {
|
@@ -2439,16 +2517,25 @@ const Util = {
|
|
2439
2517
|
return echarts.init(element);
|
2440
2518
|
},
|
2441
2519
|
|
2442
|
-
|
2520
|
+
/**
|
2521
|
+
* 初始图表加载状态
|
2522
|
+
* @param chart_instance
|
2523
|
+
* @param element_id
|
2524
|
+
* @returns {*|jQuery|void}
|
2525
|
+
*/
|
2526
|
+
show_chart_loading: function (chart_instance, element_id) {
|
2443
2527
|
Util.show_tips("Loading...");
|
2444
2528
|
if (!chart_instance) {
|
2445
|
-
chart_instance = Util.
|
2529
|
+
chart_instance = Util.init_chart_instance(element_id);
|
2446
2530
|
}
|
2447
2531
|
chart_instance.showLoading();
|
2448
2532
|
return chart_instance;
|
2449
2533
|
},
|
2450
2534
|
|
2451
|
-
|
2535
|
+
/**
|
2536
|
+
* 图表描点配置
|
2537
|
+
*/
|
2538
|
+
chart_mark_point: {
|
2452
2539
|
"symbol": "circle",
|
2453
2540
|
"symbolSize": 8,
|
2454
2541
|
"label": {
|
@@ -2460,7 +2547,14 @@ const Util = {
|
|
2460
2547
|
]
|
2461
2548
|
},
|
2462
2549
|
|
2463
|
-
|
2550
|
+
/**
|
2551
|
+
* 在图表上标线
|
2552
|
+
* @param chart_instance
|
2553
|
+
* @param y_val
|
2554
|
+
* @param color
|
2555
|
+
* @returns {*}
|
2556
|
+
*/
|
2557
|
+
chart_mark_line: function (chart_instance, y_val, color = "") {
|
2464
2558
|
color = color === "" ? "#E74C3C" : color;
|
2465
2559
|
chart_instance.setOption({
|
2466
2560
|
series: [{
|
@@ -2477,10 +2571,18 @@ const Util = {
|
|
2477
2571
|
return chart_instance;
|
2478
2572
|
},
|
2479
2573
|
|
2480
|
-
|
2574
|
+
/**
|
2575
|
+
* https://www.chartjs.org/samples/latest/charts/line/basic.html
|
2576
|
+
* @param chart_instance
|
2577
|
+
* @param element_id
|
2578
|
+
* @param x_data
|
2579
|
+
* @param line_data
|
2580
|
+
* @param fill
|
2581
|
+
* @returns {*|jQuery|void}
|
2582
|
+
*/
|
2481
2583
|
chart_basic_line: function (chart_instance, element_id, x_data, line_data, fill = false) {
|
2482
2584
|
if (!chart_instance) {
|
2483
|
-
chart_instance = Util.
|
2585
|
+
chart_instance = Util.init_chart_instance(element_id);
|
2484
2586
|
}
|
2485
2587
|
chart_instance.clear();
|
2486
2588
|
let series_data = [];
|
@@ -2497,7 +2599,7 @@ const Util = {
|
|
2497
2599
|
"itemStyle": {
|
2498
2600
|
"color": color
|
2499
2601
|
},
|
2500
|
-
"markPoint": Util.
|
2602
|
+
"markPoint": Util.chart_mark_point,
|
2501
2603
|
"data": line["data"]
|
2502
2604
|
};
|
2503
2605
|
if (line["label"]) {
|
@@ -2546,7 +2648,7 @@ const Util = {
|
|
2546
2648
|
// https://www.chartjs.org/samples/latest/charts/bar/vertical.html
|
2547
2649
|
chart_basic_bar: function (chart_instance, element_id, x_data, bar_data, bar_title, bar_color_data) {
|
2548
2650
|
if (!chart_instance) {
|
2549
|
-
chart_instance = Util.
|
2651
|
+
chart_instance = Util.init_chart_instance(element_id);
|
2550
2652
|
}
|
2551
2653
|
chart_instance.clear();
|
2552
2654
|
chart_instance.setOption({
|
@@ -2608,7 +2710,7 @@ const Util = {
|
|
2608
2710
|
// https://www.chartjs.org/samples/latest/charts/line/multi-axis.html
|
2609
2711
|
multi_axis_line: function (chart_instance, element_id, x_data, y1_title, y1_data, y2_title, y2_data) {
|
2610
2712
|
if (!chart_instance) {
|
2611
|
-
chart_instance = Util.
|
2713
|
+
chart_instance = Util.init_chart_instance(element_id);
|
2612
2714
|
}
|
2613
2715
|
chart_instance.clear();
|
2614
2716
|
chart_instance.setOption({
|
@@ -2633,7 +2735,7 @@ const Util = {
|
|
2633
2735
|
"itemStyle": {
|
2634
2736
|
"color": "#36A2EB"
|
2635
2737
|
},
|
2636
|
-
"markPoint": Util.
|
2738
|
+
"markPoint": Util.chart_mark_point,
|
2637
2739
|
"data": y1_data
|
2638
2740
|
},
|
2639
2741
|
{
|
@@ -2648,7 +2750,7 @@ const Util = {
|
|
2648
2750
|
"itemStyle": {
|
2649
2751
|
"color": "#FF6384"
|
2650
2752
|
},
|
2651
|
-
"markPoint": Util.
|
2753
|
+
"markPoint": Util.chart_mark_point,
|
2652
2754
|
"data": y2_data,
|
2653
2755
|
"yAxisIndex": 1
|
2654
2756
|
}
|
@@ -2692,7 +2794,7 @@ const Util = {
|
|
2692
2794
|
// https://www.chartjs.org/samples/latest/charts/combo-bar-line.html
|
2693
2795
|
chart_bar_line: function (chart_instance, element_id, x_data, bar_data, bar_title, bar_color_data, line_data, line_title, zoom_start = 0) {
|
2694
2796
|
if (!chart_instance) {
|
2695
|
-
chart_instance = Util.
|
2797
|
+
chart_instance = Util.init_chart_instance(element_id);
|
2696
2798
|
}
|
2697
2799
|
chart_instance.clear();
|
2698
2800
|
let low_bar_index = 0;
|
@@ -2742,7 +2844,7 @@ const Util = {
|
|
2742
2844
|
"itemStyle": {
|
2743
2845
|
"color": "#4DC9F6"
|
2744
2846
|
},
|
2745
|
-
"markPoint": Util.
|
2847
|
+
"markPoint": Util.chart_mark_point,
|
2746
2848
|
"data": line_data
|
2747
2849
|
},
|
2748
2850
|
{
|
@@ -2844,7 +2946,7 @@ const Util = {
|
|
2844
2946
|
|
2845
2947
|
bias_bar_line: function (chart_instance, element_id, x_data, bias120_data, color_data, bias20_data, bias60_data, price_data) {
|
2846
2948
|
if (!chart_instance) {
|
2847
|
-
chart_instance = Util.
|
2949
|
+
chart_instance = Util.init_chart_instance(element_id);
|
2848
2950
|
}
|
2849
2951
|
chart_instance.clear();
|
2850
2952
|
chart_instance.setOption({
|