安全性: - 所有SQL查询改用参数化查询(db_query),防止SQL注入 - TUSHARE_API_TOKEN集中到config.php常量,移除硬编码和多份拷贝 - getBasic.inc.php中$_REQUEST输出到JS时添加htmlspecialchars转义 代码组织: - 21个页面文件移至charts/子目录,根目录仅保留入口文件 - ajax.inc.php拆分:esfTradeDaily/esfListDaily迁至getEstate.inc.php - getBasic.inc.php拆分:HTML组件函数迁至新建的widgets.inc.php - 前端依赖去重:移除lib/echarts.min.js、libai/3.4.16.js、research/js/3.4.16.js 规范化: - AJAX响应格式统一为jsonResponse()标准封装 - 前端全局变量统一为window.chartConfig对象模式 - 修复PHP 8.4 Deprecated警告(getEstateData、getStockHistoryDataByTS参数顺序) - html/head.php中jQuery/CSS路径改为绝对路径,修复charts/子目录加载问题 Co-Authored-By: Claude Code <noreply@anthropic.com>
73 lines
3.2 KiB
PHP
73 lines
3.2 KiB
PHP
<?php
|
|
include_once "../inc/getBasic.inc.php";
|
|
include_once "../inc/getData.inc.php";
|
|
include_once "../inc/postJson.inc.php";
|
|
$_REQUEST['code']=$_REQUEST['code']?$_REQUEST['code']:'sh';
|
|
$_REQUEST['hsgt']=$_REQUEST['hsgt']?$_REQUEST['hsgt']:'north_money';
|
|
$_REQUEST['stacked']=$_REQUEST['stacked']?$_REQUEST['stacked']:'1';
|
|
$_REQUEST['t_start']=$_REQUEST['t_start']?$_REQUEST['t_start']:'2015-06-01';
|
|
$_REQUEST['t_end']=$_REQUEST['t_end']?$_REQUEST['t_end']:date('Y-m-d');
|
|
$title="股指VS沪深港通资金流向";
|
|
|
|
$unit = '亿元'; # Without a unit on PE
|
|
$data=getIndexData(codetocode($_REQUEST['code']),date('Ymd',strtotime($_REQUEST['t_start'])),date('Ymd',strtotime($_REQUEST['t_end'])));
|
|
$data2 = getMoneyFlowData($_REQUEST['hsgt'], date('Ymd',strtotime($_REQUEST['t_start'])),date('Ymd',strtotime($_REQUEST['t_end'])), $_REQUEST['stacked']);
|
|
|
|
#var_dump($data2['data']);
|
|
$subtext_ext = "Max: ".$data2['data_max'];
|
|
$subtext_ext .= ", Min: ".$data2['data_min'];
|
|
$subtext_ext .= ", Average: ".$data2['data_avg'];
|
|
$subtext_ext .= ", Recent: ".$data2['data_last'];
|
|
$legend=array(codeToName($_REQUEST['code']),hsgtConv($_REQUEST['hsgt']));
|
|
include_once "../html/head.php";
|
|
?>
|
|
<form name="main" id="main" method="get">
|
|
<div style="width:100%;text-align:center">
|
|
指数代码:
|
|
<select name='code' id='code'>
|
|
<option value='sh'>上证指数</option>
|
|
<option value='sz'>深圳成指</option>
|
|
<option value='zx'>中小板指</option>
|
|
<option value='cy'>创业板指</option>
|
|
</select>
|
|
资金选择:
|
|
<select name="hsgt" id="hsgt">
|
|
<option value="ggt_ss">港股通(上海)</option>
|
|
<option value="ggt_sz">港股通(深圳)</option>
|
|
<option value="hgt">沪股通</option>
|
|
<option value="sgt">深股通</option>
|
|
<option value="north_money">北向资金</option>
|
|
<option value="south_money">南向资金</option>
|
|
</select>
|
|
数据累积:
|
|
<select name="stacked" id="stacked">
|
|
<option value="-1">每日值</option>
|
|
<option value="1">累积值</option>
|
|
</select>
|
|
<script>
|
|
$("#code").val('<?=$_REQUEST['code']?>');
|
|
$("#hsgt").val('<?=$_REQUEST['hsgt']?>');
|
|
$("#stacked").val('<?=$_REQUEST['stacked']?>');
|
|
</script>
|
|
开始时间: <input type='date' name='t_start' id='t_start' width='30px' value='<?=$_REQUEST['t_start']?>' >
|
|
结束时间: <input type='date' name='t_end' id='t_end' width='30px' value='<?=$_REQUEST['t_end']?>' >
|
|
<input type='submit' value="给我查!">
|
|
<div > </div>
|
|
|
|
</div> </form>
|
|
<div > </div>
|
|
<div id="container" style="margin:0 auto;height: 400px;width: 1000px"></div>
|
|
<script type="text/javascript">
|
|
window.chartConfig = {
|
|
data: <?php echo json_encode($data['data']); ?>,
|
|
data2: <?php echo json_encode($data2['data']); ?>,
|
|
legend: <?php echo json_encode($legend);?>,
|
|
unit: '<?php echo $unit; ?>',
|
|
title: '<?php echo codeToName($_REQUEST['code']).'VS'.hsgtConv($_REQUEST['hsgt']); ?>',
|
|
subtitle: '<?php echo $subtext_ext; ?>'
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="../js/chartmoneyflow.js?version=3.141"></script>
|
|
<?php include_once "../html/footer.php"; ?>
|
|
|