stock demo
by wang_luke6
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<div id="root"></div>
CSS
body {
background: #fff;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h2 {
font-weight: bold;
margin-bottom: 15px;
}
.done {
color: rgba(0, 0, 0, 0.3);
text-decoration: line-through;
}
input {
margin-right: 5px;
}
React
var dummy = {
"default": {
"stock": {
"Global Quote": {
"01. symbol": "123456",
"02. open": "1",
"03. high": "1",
"04. low": "1",
"05. price": "9.78",
"06. volume": "1",
"07. latest trading day": "",
"08. previous close": "",
"09. change": "10",
"10. change percent": "100%"
}
}
}
}
function fortune_hq(data){
console.log(data)
}
var n = 1;
class Model {
constructor(props) {
if (localStorage.getItem("keysUsed")) {
this.keysUsed = JSON.parse(localStorage.getItem("keysUsed"));
} else {
this.keysUsed = {};
}
this.currentKey = "";
this.props = props;
this.dummy = $.extend(true, {}, dummy);
this.key_limit = 500;
}
getJSON(params) {
let data = params.data;
let url = "https://hq.stock.sohu.com/cn/339/cn_300339-1.html"
return $.get({
url: url,
dataType: "jsonp",
jsonpCallback: "fortune_hq",
contentType: 'application/json; charset=utf-8',
//data: codes.join(',')
})
.then(function(data) {
return data['price_A1'];
}, function(daat) {
console.log("data issue")
})
/* if (this.props.debug) {
dummy.default.stock['Global Quote']['05. price'] = Math.round(
(
(parseFloat(this.dummy.default.stock['Global Quote']['05. price']) +
(Math.random(1) > 0.5 ? 1 : -1) * Math.random(1) / 1) -
Math.floor(this.dummy.default.stock['Global Quote']['05. price'])
) * 100
) / 100;
console.log(dummy.default.stock['Global Quote']['10. change percent']);
...