fix jdr page request diagnostics

This commit is contained in:
2026-04-04 07:37:06 +08:00
parent e8235bf3ca
commit 11ba5c535b
4 changed files with 26 additions and 6 deletions

View File

@@ -5,47 +5,69 @@ from services.jdr_service import jdr_service
jdr_bp = Blueprint('jdr', __name__, url_prefix='/api/jdr') jdr_bp = Blueprint('jdr', __name__, url_prefix='/api/jdr')
def log_jdr(route, stage, extra=''):
message = f'[JDR] route={route} stage={stage}'
if extra:
message = f'{message} {extra}'
print(message, flush=True)
@jdr_bp.route('/dimensions', methods=['GET']) @jdr_bp.route('/dimensions', methods=['GET'])
def get_dimensions(): def get_dimensions():
log_jdr('/dimensions', 'start')
try: try:
result = jdr_service.get_dimension_scores() result = jdr_service.get_dimension_scores()
log_jdr('/dimensions', 'success', f'keys={list(result.keys())}')
return jsonify({'code': 200, 'message': 'success', 'data': result}) return jsonify({'code': 200, 'message': 'success', 'data': result})
except Exception as e: except Exception as e:
log_jdr('/dimensions', 'error', f'error={e}')
return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 return jsonify({'code': 500, 'message': str(e), 'data': None}), 500
@jdr_bp.route('/burnout-engagement', methods=['GET']) @jdr_bp.route('/burnout-engagement', methods=['GET'])
def get_burnout_engagement(): def get_burnout_engagement():
log_jdr('/burnout-engagement', 'start')
try: try:
result = jdr_service.get_burnout_engagement_analysis() result = jdr_service.get_burnout_engagement_analysis()
log_jdr('/burnout-engagement', 'success', f'keys={list(result.keys())}')
return jsonify({'code': 200, 'message': 'success', 'data': result}) return jsonify({'code': 200, 'message': 'success', 'data': result})
except Exception as e: except Exception as e:
log_jdr('/burnout-engagement', 'error', f'error={e}')
return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 return jsonify({'code': 500, 'message': str(e), 'data': None}), 500
@jdr_bp.route('/path-analysis', methods=['GET']) @jdr_bp.route('/path-analysis', methods=['GET'])
def get_path_analysis(): def get_path_analysis():
log_jdr('/path-analysis', 'start')
try: try:
result = jdr_service.get_jdr_path_analysis() result = jdr_service.get_jdr_path_analysis()
log_jdr('/path-analysis', 'success', f'keys={list(result.keys())}')
return jsonify({'code': 200, 'message': 'success', 'data': result}) return jsonify({'code': 200, 'message': 'success', 'data': result})
except Exception as e: except Exception as e:
log_jdr('/path-analysis', 'error', f'error={e}')
return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 return jsonify({'code': 500, 'message': str(e), 'data': None}), 500
@jdr_bp.route('/profile', methods=['GET']) @jdr_bp.route('/profile', methods=['GET'])
def get_profile(): def get_profile():
dimension = request.args.get('dimension', '所属行业')
log_jdr('/profile', 'start', f'dimension={dimension}')
try: try:
dimension = request.args.get('dimension', '所属行业')
result = jdr_service.get_jdr_profile(dimension) result = jdr_service.get_jdr_profile(dimension)
log_jdr('/profile', 'success', f'profiles={len(result.get("profiles", []))}')
return jsonify({'code': 200, 'message': 'success', 'data': result}) return jsonify({'code': 200, 'message': 'success', 'data': result})
except Exception as e: except Exception as e:
log_jdr('/profile', 'error', f'dimension={dimension} error={e}')
return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 return jsonify({'code': 500, 'message': str(e), 'data': None}), 500
@jdr_bp.route('/risk-distribution', methods=['GET']) @jdr_bp.route('/risk-distribution', methods=['GET'])
def get_risk_distribution(): def get_risk_distribution():
log_jdr('/risk-distribution', 'start')
try: try:
result = jdr_service.get_risk_distribution() result = jdr_service.get_risk_distribution()
log_jdr('/risk-distribution', 'success', f'total={result.get("total")}')
return jsonify({'code': 200, 'message': 'success', 'data': result}) return jsonify({'code': 200, 'message': 'success', 'data': result})
except Exception as e: except Exception as e:
log_jdr('/risk-distribution', 'error', f'error={e}')
return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 return jsonify({'code': 500, 'message': str(e), 'data': None}), 500

View File

@@ -19,5 +19,6 @@
"devDependencies": { "devDependencies": {
"@vitejs/plugin-vue": "^4.5.2", "@vitejs/plugin-vue": "^4.5.2",
"vite": "^5.0.10" "vite": "^5.0.10"
} },
"packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319"
} }

View File

@@ -2,7 +2,7 @@ import axios from 'axios'
const request = axios.create({ const request = axios.create({
baseURL: '/api', baseURL: '/api',
timeout: 10000 timeout: 60000
}) })
request.interceptors.response.use( request.interceptors.response.use(

View File

@@ -530,9 +530,6 @@ watch(activeTab, async (tab) => {
onMounted(() => { onMounted(() => {
loadDimensions() loadDimensions()
loadBurnout()
loadPathAndRisk()
loadShapGlobal()
}) })
</script> </script>