diff --git a/backend/api/jdr_routes.py b/backend/api/jdr_routes.py index 4075813..cb26ce7 100644 --- a/backend/api/jdr_routes.py +++ b/backend/api/jdr_routes.py @@ -5,47 +5,69 @@ from services.jdr_service import jdr_service 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']) def get_dimensions(): + log_jdr('/dimensions', 'start') try: result = jdr_service.get_dimension_scores() + log_jdr('/dimensions', 'success', f'keys={list(result.keys())}') return jsonify({'code': 200, 'message': 'success', 'data': result}) except Exception as e: + log_jdr('/dimensions', 'error', f'error={e}') return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 @jdr_bp.route('/burnout-engagement', methods=['GET']) def get_burnout_engagement(): + log_jdr('/burnout-engagement', 'start') try: 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}) except Exception as e: + log_jdr('/burnout-engagement', 'error', f'error={e}') return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 @jdr_bp.route('/path-analysis', methods=['GET']) def get_path_analysis(): + log_jdr('/path-analysis', 'start') try: 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}) except Exception as e: + log_jdr('/path-analysis', 'error', f'error={e}') return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 @jdr_bp.route('/profile', methods=['GET']) def get_profile(): + dimension = request.args.get('dimension', '所属行业') + log_jdr('/profile', 'start', f'dimension={dimension}') try: - dimension = request.args.get('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}) except Exception as e: + log_jdr('/profile', 'error', f'dimension={dimension} error={e}') return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 @jdr_bp.route('/risk-distribution', methods=['GET']) def get_risk_distribution(): + log_jdr('/risk-distribution', 'start') try: result = jdr_service.get_risk_distribution() + log_jdr('/risk-distribution', 'success', f'total={result.get("total")}') return jsonify({'code': 200, 'message': 'success', 'data': result}) except Exception as e: + log_jdr('/risk-distribution', 'error', f'error={e}') return jsonify({'code': 500, 'message': str(e), 'data': None}), 500 diff --git a/frontend/package.json b/frontend/package.json index f0f1c8b..093d809 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -19,5 +19,6 @@ "devDependencies": { "@vitejs/plugin-vue": "^4.5.2", "vite": "^5.0.10" - } + }, + "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319" } diff --git a/frontend/src/api/request.js b/frontend/src/api/request.js index 21e6e9d..60ba017 100644 --- a/frontend/src/api/request.js +++ b/frontend/src/api/request.js @@ -2,7 +2,7 @@ import axios from 'axios' const request = axios.create({ baseURL: '/api', - timeout: 10000 + timeout: 60000 }) request.interceptors.response.use( diff --git a/frontend/src/views/JDRAnalysis.vue b/frontend/src/views/JDRAnalysis.vue index 6d8d660..0d4963d 100644 --- a/frontend/src/views/JDRAnalysis.vue +++ b/frontend/src/views/JDRAnalysis.vue @@ -530,9 +530,6 @@ watch(activeTab, async (tab) => { onMounted(() => { loadDimensions() - loadBurnout() - loadPathAndRisk() - loadShapGlobal() })