| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import * as vscode from 'vscode';
- import axios from "axios";
- export function activate() {
- // 创建国际黄金状态
- const oneItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left, 9998);
- const twoItem = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left, 9997);
- axios.get('https://87.futsseapi.eastmoney.com/sse/101_GC00Y_qt?token=1101ffec61617c99be287c1bec3085ff&field=name,sc,dm,p,zsjd,zdf,zde,utime,o,zjsj,qrspj,h,l,mrj,mcj,vol,cclbh,zt,dt,np,wp,ccl,rz,cje,mcl,mrl,jjsj,j,lb,zf', {
- headers: { Accept: 'text/text/event-stream' }, responseType: 'stream'
- }).then(res => {
- const eventStream = res.data;
- let O = 0
- eventStream.on('data', (chunk: Uint8Array) => {
- oneItem.color = 'rgba( 255,255,255,0.4)';
- twoItem.color = 'rgba( 255,255,255,0.4)';
- // 国际金
- const str = chunk.toString().split('\n')
- if (!str[0]) return
- const jsonStr = str[0].replace(/^data:/, '');
- if (!jsonStr) return
- const data = JSON.parse(jsonStr);
- if (!data) return
- const { zdf, zde, p, o } = data.qt
- if (!zdf || !zde || !p) return
- if (o) O = o
- // 当前:p 营收: zde 营收率: zdf 昨收:o
- const oneTxt = `国际黄金: ${p}/${O} (${zde} ${zdf}%)`;
- oneItem.color = zdf > 0 ? 'red' : 'green';
- oneItem.text = oneTxt;
- // 国内金
- axios.get('https://push2.eastmoney.com/api/qt/stock/get?fields=f58,f734,f107,f57,f43,f59,f169,f170,f152,f177,f111,f46,f60,f44,f45,f86,f47,f19,f532,f161,f171,f48,f39,f49,f50&secid=118.AU9999').then(red => {
- const { data: { data: { f43, f169, f170, f60 } } } = red; // 国内
- // 当前:f43 营收: f169 营收率: f170 昨收:f60
- const twoTxt = `国内AU999: ${Math.floor(f43) / 100}/${Math.floor(f60) / 100} (${Math.floor(f169) / 100} ${Math.floor(f170) / 100}%)`;
- twoItem.color = f169 > 0 ? 'red' : 'green';
- twoItem.text = twoTxt;
- })
- })
- })
- oneItem.show();
- twoItem.show();
- }
- export function deactivate() { }
|