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']);
           ...