| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>字典数据调试</title>
- <style>
- body { font-family: Arial, sans-serif; margin: 20px; }
- .container { max-width: 800px; margin: 0 auto; }
- .test-section { margin: 20px 0; padding: 15px; border: 1px solid #ddd; border-radius: 5px; }
- .success { color: green; }
- .error { color: red; }
- .warning { color: orange; }
- pre { background: #f5f5f5; padding: 10px; border-radius: 3px; overflow-x: auto; }
- </style>
- </head>
- <body>
- <div class="container">
- <h1>字典数据调试页面</h1>
-
- <div class="test-section">
- <h3>测试说明</h3>
- <p>此页面用于调试学生信息管理页面的字典数据问题</p>
- <p>请确保:</p>
- <ul>
- <li>后端服务正在运行在 http://localhost:8080</li>
- <li>已经登录管理后台</li>
- <li>打开浏览器开发者工具查看详细日志</li>
- </ul>
- </div>
- <div class="test-section">
- <h3>测试结果</h3>
- <div id="results"></div>
- </div>
- <div class="test-section">
- <h3>字典数据详情</h3>
- <div id="dictDetails"></div>
- </div>
- </div>
- <script>
- const results = document.getElementById('results');
- const dictDetails = document.getElementById('dictDetails');
- function log(message, type = 'info') {
- const div = document.createElement('div');
- div.className = type;
- div.textContent = `[${new Date().toLocaleTimeString()}] ${message}`;
- results.appendChild(div);
- console.log(`[DICT-DEBUG] ${message}`);
- }
- function showDictData(dictType, data) {
- const section = document.createElement('div');
- section.innerHTML = `
- <h4>${dictType} (${data.length} 条记录)</h4>
- <pre>${JSON.stringify(data, null, 2)}</pre>
- `;
- dictDetails.appendChild(section);
- }
- async function testDictAPI() {
- log('开始测试字典API...');
-
- const dictTypes = ['xg_gender', 'xg_student_status', 'xg_info_status'];
-
- for (const dictType of dictTypes) {
- try {
- log(`正在测试字典类型: ${dictType}`);
-
- const response = await fetch(`http://localhost:8080/system/dict/data/type/${dictType}`, {
- method: 'GET',
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- },
- credentials: 'include' // 包含cookies
- });
-
- const result = await response.json();
-
- if (result.code === 200) {
- log(`✅ ${dictType}: 成功获取 ${result.data.length} 条数据`, 'success');
- showDictData(dictType, result.data);
- } else if (result.code === 401) {
- log(`❌ ${dictType}: 认证失败,请先登录管理后台`, 'error');
- } else {
- log(`❌ ${dictType}: ${result.msg}`, 'error');
- }
- } catch (error) {
- log(`❌ ${dictType}: 网络错误 - ${error.message}`, 'error');
- }
- }
- }
- // 页面加载完成后执行测试
- window.addEventListener('load', () => {
- log('页面加载完成,开始测试...');
- testDictAPI();
- });
- // 添加手动重试按钮
- const retryButton = document.createElement('button');
- retryButton.textContent = '重新测试';
- retryButton.onclick = () => {
- results.innerHTML = '';
- dictDetails.innerHTML = '';
- testDictAPI();
- };
- document.querySelector('.container').appendChild(retryButton);
- </script>
- </body>
- </html>
|