refactor: 全面代码重构与项目结构整理

安全性:
- 所有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>
This commit is contained in:
2026-05-26 08:20:33 +08:00
co-authored by Claude Code
parent 07da6a2ad4
commit 7e57cae242
49 changed files with 848 additions and 733 deletions
+58
View File
@@ -0,0 +1,58 @@
<?php
include_once "../inc/config.php";
$mysqli = get_mysqli_connection();
include_once dirname(__FILE__) . "/../inc/getBasic.inc.php";
include_once dirname(__FILE__) . "/../inc/getData.inc.php";
include_once dirname(__FILE__) . "/../inc/tradeRec.inc.php";
include_once __DIR__ . "/../html/headChart.php";
$ts_code= ts_code_conv($_REQUEST['ts_code']);
$day_st = ($_REQUEST['s']=='')?'20180101':reformDate($_REQUEST['s']);
$day_end= ($_REQUEST['e']=='')?date('Ymd'):reformDate($_REQUEST['e']);
$unit = '股'; # Without a unit on PE
$data = getStockHist($ts_code,date("Ymd",strtotime($day_st)),date("Ymd",strtotime($day_end)));
//$data2 = getBasicData($ts_code,$day_st,$day_end,$item);
if($_REQUEST['t_vendor']=='方正证券') {$flg3 = '买入'; $flg4 = '卖出';}
elseif($_REQUEST['t_vendor']=='长江证券') {$flg3 = '证券买入'; $flg4 = '证券卖出';}
$trdData = trade_rec($ts_code, $day_st, $day_end,'');
$data3 = recDataSort($trdData,$flg3);
$data4 = recDataSort($trdData,$flg4);
$data3Avg = avePrice($data3['tvol'],$data3['tprice']);
$data4Avg = avePrice($data4['tvol'],$data4['tprice']);
$subtext_ext = " {$flg3}均价: {$data3Avg['avePrice']}, 量{$data3Avg['ttlVol']}";
$subtext_ext .= "-- {$flg4}均价: {$data4Avg['avePrice']}, 量{$data4Avg['ttlVol']}";
$ts_name = tscodeToName($ts_code);
$legend = array('不复权股价','交易买入','交易卖出','买入量','卖出量');
if($_REQUEST['adj']) $legend[0]='复权股价';
?>
<form name="form1" id="form1" method="post">
<input type="hidden" name="adj" id="adj" value="<?=$_REQUEST['adj'] ?>">
<input type="hidden" name="ts_code" id="ts_code" value="<?=$ts_code ?>">
<input type="hidden" name="s" id="s" value="<?=$day_st ?>">
<input type="hidden" name="e" id="e" value="<?=$day_end ?>">
</form>
<script type="text/javascript">
var legend = <?php echo json_encode($legend);?>;
var unit ='<?=$unit ?>';
var headtxt = '<?php echo $ts_name.'('.$ts_code.')'; ?>';
var subtxt = '<?=$subtext_ext ?>';
var data1 = <?php echo json_encode($data['data']); ?>;
var data2 = <?php echo json_encode($data3['data']); ?>;
var data3 = <?php echo json_encode($data4['data']); ?>;
var data4 = <?php echo json_encode($data3['data2']); ?>;
var data5 = <?php echo json_encode($data4['data2']); ?>;
console.log(data1[0]['value'][0]);
console.log(data1[0]['value'][1]);
</script>
<script type="text/javascript" src="../js/adj.ajax.js?verion=3.14"></script>
<script>
console.log(data1[0]['value'][0]);
console.log(data1[0]['value'][1]);
</script>
<script type="text/javascript" src="../js/chartStDetail.js?version=3.16"></script>
</body>
</html>