from flask import Flask, render_template, jsonify
from pyecharts import options as opts
from pyecharts.charts import Bar, Geo, Map
from pyecharts.charts import Bar
from pyecharts.faker import Faker

app = Flask(__name__, static_folder="templates")
@app.route('/getjson10', methods=['GET'])
def getjson10():
    # 千万不要先将内部的对象序列化成字符串，然后再序列化外边的对象。
    # 再复杂的结构都可以表示为一个dict，
    # 而之前不需要做任何序列化操作！！！
    # 经过多轮测试，提前序列化会导致很多解析问题！！！
    # {'name': '浙江', 'value': '13.06'}, {'name': '广东', 'value': '9.31'},
    # where year>='2000' and year<='2010'
    # sql = "select region,GDP from economyinfo where year='2010'"
    # result=db.session.execute(sql).fetchall()
    # datadict=[]
    #
    # for row in result:
    #     provincename=row[0].replace('省','').replace('市','').replace('内蒙古自治区','内蒙古').replace('广西壮族自治区','广西').replace('西藏自治区','西藏').replace('宁夏回族自治区','宁夏').replace('新疆维吾尔自治区','新疆')
    #     datadict.append({'name':provincename,'value':row[1]})
    # # [{'name': '北京', 'value': 14113.6},
    # #  {'name': '天津', 'value': 9224.46},
    # #  {'name': '新疆', 'value': 5437.47}]
    # # sql_data = pd.DataFrame(db.session.execute(sql).fetchall())
    # # sql_data.columns = [i[0] for i in db.session.execute(sql).cursor.description]
    # # #          region       GDP
    # # # 0        北京市  14113.6000
    # # # 1        天津市   9224.4600
    # # # 2        河北省  20394.2600
    # # # 3        山西省   9200.8600
    # # sql_data['region'] = sql_data['region'].str.replace('市', '')
    # # sql_data['region'] = sql_data['region'].str.replace('省', '')
    # # sql_data['region'].replace(['内蒙古自治区','广西壮族自治区','西藏自治区','宁夏回族自治区','新疆维吾尔自治区'],['内蒙古','广西','西藏','宁夏','新疆'],inplace=True)
    # # datadict = sql_data.to_dict('records')
    # # # [{'region': '北京', 'GDP': 14113.6},
    # # #  {'region': '天津', 'GDP': 9224.46},
    # # #  {'region': '新疆', 'GDP': 5437.47}]
    datadict = [{'name': '北京', 'value': 14113.6}, {'name': '天津', 'value': 9224.46}, {'name': '河北', 'value': 20394.26}, {'name': '山西', 'value': 9200.86}, {'name': '内蒙古', 'value': 11672.0}, {'name': '辽宁', 'value': 18457.3}, {'name': '吉林', 'value': 8667.58}, {'name': '黑龙江', 'value': 10368.6}, {'name': '上海', 'value': 17165.98}, {'name': '江苏', 'value': 41425.48}, {'name': '浙江', 'value': 27722.31}, {'name': '安徽', 'value': 12359.33}, {'name': '福建', 'value': 14737.12}, {'name': '江西', 'value': 9451.26}, {'name': '山东', 'value': 39169.92}, {'name': '河南', 'value': 23092.36}, {'name': '湖北', 'value': 15967.61}, {'name': '湖南', 'value': 16037.96}, {'name': '广东', 'value': 46013.06}, {'name': '广西', 'value': 9569.8539}, {'name': '海南', 'value': 2064.5}, {'name': '重庆', 'value': 7925.58}, {'name': '四川', 'value': 17185.48}, {'name': '贵州', 'value': 4602.16}, {'name': '云南', 'value': 7224.18}, {'name': '西藏', 'value': 507.46}, {'name': '陕西', 'value': 10123.48}, {'name': '甘肃', 'value': 4120.75}, {'name': '青海', 'value': 1350.43}, {'name': '宁夏', 'value': 1689.65}, {'name': '新疆', 'value': 5437.47}]

    response = jsonify(datadict)
    response.status_code = 200  # or 400 or whatever
    return jsonify(datadict)

# 中国行政区域的gdp统计
@app.route('/echartdemo10')
def echartdemo10():
    return render_template('echartdemo10.html')

if __name__ == "__main__":
    app.run()