From c429672517f065c8a19e43347b50fcc36607ac7a Mon Sep 17 00:00:00 2001 From: dengyuxin Date: Sun, 28 Sep 2025 18:01:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=EF=BC=8C=E5=89=8D=E7=AB=AF=EF=BC=8C=E5=AE=98=E7=BD=91=E8=B7=B3?= =?UTF-8?q?=E8=BD=AC=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/loanProductController.js | 10 +- bank_mini_program/BUTTON_DEBUG_GUIDE.md | 177 ++++++++ bank_mini_program/BUTTON_FIX_SUMMARY.md | 175 ++++++++ bank_mini_program/FIELD_MAPPING_FIX.md | 203 +++++++++ bank_mini_program/FIELD_MAPPING_FIXES.md | 210 +++++++++ .../FORM_REQUIRED_FIELDS_UPDATE.md | 190 ++++++++ bank_mini_program/LOGIN_LOGOUT_GUIDE.md | 276 ++++++++++++ bank_mini_program/NAVIGATION_DEBUG_REPORT.md | 180 ++++++++ .../PRODUCT_MANAGEMENT_SUMMARY.md | 177 ++++++++ bank_mini_program/PROFILE_MENU_UPDATE.md | 117 +++++ bank_mini_program/USER_ID_MAPPING_FIX.md | 193 ++++++++ bank_mini_program/app.js | 98 +++- bank_mini_program/app.json | 3 + bank_mini_program/pages/business/business.js | 17 + .../loan-applications/loan-applications.js | 38 +- .../loan-applications/loan-applications.json | 3 + .../loan-applications/loan-applications.wxml | 25 ++ .../business/loan-contracts/loan-contracts.js | 49 +- .../loan-contracts/loan-contracts.json | 3 + .../loan-contracts/loan-contracts.wxml | 53 ++- .../pages/business/loan-products/form/form.js | 316 +++++++++++++ .../business/loan-products/form/form.json | 6 + .../business/loan-products/form/form.wxml | 228 ++++++++++ .../business/loan-products/form/form.wxss | 193 ++++++++ .../business/loan-products/loan-products.js | 157 ++++++- .../business/loan-products/loan-products.json | 3 + .../business/loan-products/loan-products.wxml | 57 ++- .../business/loan-products/loan-products.wxss | 81 +++- .../pages/business/loan-products/test-form.js | 19 + .../business/loan-products/test-form.json | 3 + .../business/loan-products/test-form.wxml | 16 + .../business/loan-products/test-form.wxss | 46 ++ .../business/loan-releases/loan-releases.json | 3 + bank_mini_program/pages/index/index.js | 20 + bank_mini_program/pages/login/login.js | 162 ++++++- bank_mini_program/pages/login/login.wxml | 14 + bank_mini_program/pages/login/login.wxss | 54 ++- .../pages/profile/change-password.js | 203 +++++++++ .../pages/profile/change-password.json | 7 + .../pages/profile/change-password.wxml | 68 +++ .../pages/profile/change-password.wxss | 141 ++++++ .../change-password/change-password.js | 66 +++ .../change-password/change-password.json | 3 + .../change-password/change-password.wxml | 2 + .../change-password/change-password.wxss | 1 + bank_mini_program/pages/profile/profile.js | 215 +++++++-- bank_mini_program/pages/profile/profile.wxml | 63 ++- bank_mini_program/pages/profile/profile.wxss | 172 +++++++ bank_mini_program/pages/projects/projects.js | 17 + bank_mini_program/pages/warning/warning.js | 18 + bank_mini_program/project.config.json | 2 +- bank_mini_program/services/apiService.js | 100 ++++- bank_mini_program/services/authService.js | 223 ++++++++- bank_mini_program/utils/auth.js | 229 ++++++++-- government-admin/src/layout/Sidebar.vue | 2 +- government-admin/src/utils/api.js | 49 +- government-admin/src/views/SmartWarehouse.vue | 114 ++--- .../epidemic-agency/EpidemicAgency.vue | 306 ++++++++----- .../src/views/slaughter/Slaughterhouse.vue | 368 ++++++++++++--- .../slaughter/harmless/HarmlessPlace.vue | 379 +++++++++++++--- .../harmless/HarmlessRegistration.vue | 425 +++++++++++++++--- .../smart-hardware/SmartCollar.vue | 2 +- government-backend/app.js | 3 + government-backend/check-controller-model.js | 77 ++++ government-backend/check-export.js | 18 + .../check-harmless-place-model.js | 31 ++ government-backend/config/database.js | 9 +- government-backend/config/index.js | 1 + .../controllers/HarmlessPlaceController.js | 199 ++++++++ .../HarmlessRegistrationController.js | 235 ++++++++++ .../controllers/SlaughterhouseController.js | 268 +++++++++++ .../controllers/epidemicAgencyController.js | 10 +- government-backend/middleware/auth.js | 25 +- government-backend/models/EpidemicAgency.js | 7 +- government-backend/models/HarmlessPlace.js | 67 +++ .../models/HarmlessRegistration.js | 85 ++++ government-backend/models/Slaughterhouse.js | 78 ++++ government-backend/models/index.js | 100 +++++ government-backend/package-lock.json | 23 + government-backend/package.json | 1 + government-backend/routes/harmless.js | 44 ++ government-backend/routes/harmlessPlace.js | 38 ++ government-backend/routes/slaughter.js | 17 + government-backend/routes/test-route.js | 13 + .../scripts/createSlaughterhouseTable.js | 150 +++++++ .../scripts/createSlaughterhouseTable.sql | 98 ++++ .../scripts/initEpidemicAgencyTable.js | 8 +- .../scripts/initHarmlessPlaceTable.js | 115 +++++ .../scripts/initHarmlessRegistrationTable.js | 110 +++++ .../scripts/initSlaughterhouseData.js | 92 ++++ government-backend/simple-check.js | 24 + government-backend/simulate-server-startup.js | 103 +++++ government-backend/test-api.js | 27 ++ government-backend/test-client.js | 84 ++++ government-backend/test-harmless-place-api.js | 95 ++++ .../test-harmless-place-cached.js | 89 ++++ government-backend/test-routes.js | 51 +++ government-backend/test-server.js | 44 ++ website/bank-system.html | 2 +- website/farm-system.html | 2 +- website/government-system.html | 2 +- website/insurance-system.html | 2 +- 102 files changed, 8653 insertions(+), 544 deletions(-) create mode 100644 bank_mini_program/BUTTON_DEBUG_GUIDE.md create mode 100644 bank_mini_program/BUTTON_FIX_SUMMARY.md create mode 100644 bank_mini_program/FIELD_MAPPING_FIX.md create mode 100644 bank_mini_program/FIELD_MAPPING_FIXES.md create mode 100644 bank_mini_program/FORM_REQUIRED_FIELDS_UPDATE.md create mode 100644 bank_mini_program/LOGIN_LOGOUT_GUIDE.md create mode 100644 bank_mini_program/NAVIGATION_DEBUG_REPORT.md create mode 100644 bank_mini_program/PRODUCT_MANAGEMENT_SUMMARY.md create mode 100644 bank_mini_program/PROFILE_MENU_UPDATE.md create mode 100644 bank_mini_program/USER_ID_MAPPING_FIX.md create mode 100644 bank_mini_program/pages/business/loan-applications/loan-applications.json create mode 100644 bank_mini_program/pages/business/loan-contracts/loan-contracts.json create mode 100644 bank_mini_program/pages/business/loan-products/form/form.js create mode 100644 bank_mini_program/pages/business/loan-products/form/form.json create mode 100644 bank_mini_program/pages/business/loan-products/form/form.wxml create mode 100644 bank_mini_program/pages/business/loan-products/form/form.wxss create mode 100644 bank_mini_program/pages/business/loan-products/loan-products.json create mode 100644 bank_mini_program/pages/business/loan-products/test-form.js create mode 100644 bank_mini_program/pages/business/loan-products/test-form.json create mode 100644 bank_mini_program/pages/business/loan-products/test-form.wxml create mode 100644 bank_mini_program/pages/business/loan-products/test-form.wxss create mode 100644 bank_mini_program/pages/business/loan-releases/loan-releases.json create mode 100644 bank_mini_program/pages/profile/change-password.js create mode 100644 bank_mini_program/pages/profile/change-password.json create mode 100644 bank_mini_program/pages/profile/change-password.wxml create mode 100644 bank_mini_program/pages/profile/change-password.wxss create mode 100644 bank_mini_program/pages/profile/change-password/change-password.js create mode 100644 bank_mini_program/pages/profile/change-password/change-password.json create mode 100644 bank_mini_program/pages/profile/change-password/change-password.wxml create mode 100644 bank_mini_program/pages/profile/change-password/change-password.wxss create mode 100644 bank_mini_program/pages/profile/profile.wxss create mode 100644 government-backend/check-controller-model.js create mode 100644 government-backend/check-export.js create mode 100644 government-backend/check-harmless-place-model.js create mode 100644 government-backend/controllers/HarmlessPlaceController.js create mode 100644 government-backend/controllers/HarmlessRegistrationController.js create mode 100644 government-backend/controllers/SlaughterhouseController.js create mode 100644 government-backend/models/HarmlessPlace.js create mode 100644 government-backend/models/HarmlessRegistration.js create mode 100644 government-backend/models/Slaughterhouse.js create mode 100644 government-backend/models/index.js create mode 100644 government-backend/routes/harmless.js create mode 100644 government-backend/routes/harmlessPlace.js create mode 100644 government-backend/routes/slaughter.js create mode 100644 government-backend/routes/test-route.js create mode 100644 government-backend/scripts/createSlaughterhouseTable.js create mode 100644 government-backend/scripts/createSlaughterhouseTable.sql create mode 100644 government-backend/scripts/initHarmlessPlaceTable.js create mode 100644 government-backend/scripts/initHarmlessRegistrationTable.js create mode 100644 government-backend/scripts/initSlaughterhouseData.js create mode 100644 government-backend/simple-check.js create mode 100644 government-backend/simulate-server-startup.js create mode 100644 government-backend/test-api.js create mode 100644 government-backend/test-client.js create mode 100644 government-backend/test-harmless-place-api.js create mode 100644 government-backend/test-harmless-place-cached.js create mode 100644 government-backend/test-routes.js create mode 100644 government-backend/test-server.js diff --git a/bank-backend/controllers/loanProductController.js b/bank-backend/controllers/loanProductController.js index 1d354cf..fcb46bf 100644 --- a/bank-backend/controllers/loanProductController.js +++ b/bank-backend/controllers/loanProductController.js @@ -201,7 +201,7 @@ const createLoanProduct = async (req, res) => { } // 检查用户信息 - if (!req.user || !req.user.userId) { + if (!req.user || !req.user.id) { return res.status(401).json({ success: false, message: '用户信息无效' @@ -222,8 +222,8 @@ const createLoanProduct = async (req, res) => { riskLevel, minLoanAmount: minLoanAmount ? parseFloat(minLoanAmount) : null, maxLoanAmount: maxLoanAmount ? parseFloat(maxLoanAmount) : null, - createdBy: req.user.userId, - updatedBy: req.user.userId + createdBy: req.user.id, + updatedBy: req.user.id }); // 获取创建后的完整信息 @@ -313,7 +313,7 @@ const updateLoanProduct = async (req, res) => { } }); - product.updatedBy = req.user.userId; + product.updatedBy = req.user.id; await product.save(); // 获取更新后的完整信息 @@ -440,7 +440,7 @@ const batchUpdateStatus = async (req, res) => { await LoanProduct.update( { onSaleStatus, - updatedBy: req.user.userId + updatedBy: req.user.id }, { where: { id: { [Op.in]: ids } } diff --git a/bank_mini_program/BUTTON_DEBUG_GUIDE.md b/bank_mini_program/BUTTON_DEBUG_GUIDE.md new file mode 100644 index 0000000..d3cabbc --- /dev/null +++ b/bank_mini_program/BUTTON_DEBUG_GUIDE.md @@ -0,0 +1,177 @@ +# 银行管理系统小程序 - 按钮跳转问题调试指南 + +## 当前问题状态 + +用户反馈:点击"新增商品"和"修改信息"按钮没有跳转到表单页面,但控制台有日志输出。 + +## 已完成的修复 + +### 1. 事件冲突修复 ✅ +- 移除了商品项容器的`bindtap="viewProductDetail"`事件 +- 为商品信息区域单独添加点击事件 +- 移除了按钮的`catchtap="true"`属性 + +### 2. 按钮样式优化 ✅ +- 增加按钮高度:60rpx → 80rpx +- 增加字体大小:24rpx → 26rpx +- 添加z-index确保按钮在最上层 +- 增加最小宽度和间距 + +### 3. 调试信息添加 ✅ +- 在按钮点击方法中添加console.log +- 添加跳转成功/失败的回调处理 +- 添加详细的错误信息显示 + +## 当前测试方案 + +### 测试页面创建 +创建了一个简化的测试页面 `test-form` 来验证跳转功能: + +**文件结构:** +``` +pages/business/loan-products/ +├── test-form.wxml # 测试页面模板 +├── test-form.js # 测试页面逻辑 +└── test-form.wxss # 测试页面样式 +``` + +**测试页面功能:** +- 显示传入的参数(mode, productId) +- 提供返回按钮 +- 简单的页面结构,便于调试 + +### 当前跳转配置 +```javascript +// 新增商品按钮 - 跳转到测试页面 +wx.navigateTo({ + url: '/pages/business/loan-products/test-form?mode=add', + success: (res) => { + console.log('跳转到测试页面成功', res); + }, + fail: (err) => { + console.error('跳转到测试页面失败', err); + // 显示详细错误信息 + } +}); +``` + +## 测试步骤 + +### 1. 基础跳转测试 +1. 点击"新增商品"按钮 +2. 查看控制台日志: + - 应该看到:"点击新增商品按钮" + - 应该看到:"跳转到测试页面成功" 或 "跳转到测试页面失败" +3. 如果跳转成功,应该看到测试页面显示: + - 标题:"测试表单页面" + - 模式:"add" + - 商品ID:"无" + +### 2. 错误诊断 +如果跳转失败,查看错误信息: +- 检查控制台的错误详情 +- 查看弹出的错误对话框 +- 常见错误类型: + - 页面路径错误 + - 页面未注册 + - 页面JS语法错误 + - 认证检查失败 + +### 3. 认证问题排查 +如果跳转到登录页面,说明认证检查失败: +```javascript +// 在表单页面的onLoad方法中 +if (!auth.isAuthenticated()) { + console.log('用户未登录,跳转到登录页面'); + wx.reLaunch({ + url: '/pages/login/login' + }); + return; +} +``` + +## 下一步计划 + +### 如果测试页面跳转成功 +1. 恢复跳转到真实表单页面 +2. 检查表单页面的认证逻辑 +3. 确保表单页面能正常加载 + +### 如果测试页面跳转失败 +1. 检查页面注册是否正确 +2. 检查文件路径是否正确 +3. 检查JS语法是否有错误 +4. 尝试跳转到其他已知页面 + +## 调试命令 + +### 检查页面注册 +```bash +# 查看app.json中的页面列表 +grep -A 20 '"pages"' bank_mini_program/app.json +``` + +### 检查文件存在 +```bash +# 检查测试页面文件是否存在 +ls -la bank_mini_program/pages/business/loan-products/test-form.* +``` + +### 检查JS语法 +```bash +# 检查JS文件语法 +node -c bank_mini_program/pages/business/loan-products/test-form.js +``` + +## 常见问题解决 + +### 1. 页面路径错误 +- 确保路径以 `/pages/` 开头 +- 确保路径与app.json中的注册一致 +- 注意大小写敏感 + +### 2. 页面未注册 +- 在app.json的pages数组中添加页面路径 +- 确保路径格式正确 + +### 3. 认证检查失败 +- 检查用户是否已登录 +- 检查token是否有效 +- 考虑临时注释认证检查进行测试 + +### 4. 页面JS错误 +- 检查onLoad方法是否有语法错误 +- 检查依赖的模块是否正确导入 +- 查看控制台的JavaScript错误 + +## 文件修改记录 + +### 已修改文件 +1. `pages/business/loan-products/loan-products.js` + - 添加调试日志 + - 修改跳转目标为测试页面 + - 添加错误处理 + +2. `pages/business/loan-products/loan-products.wxml` + - 移除事件冲突 + - 优化按钮绑定 + +3. `pages/business/loan-products/loan-products.wxss` + - 优化按钮样式 + - 增加点击区域 + +4. `app.json` + - 注册测试页面 + +### 新增文件 +1. `pages/business/loan-products/test-form.wxml` +2. `pages/business/loan-products/test-form.js` +3. `pages/business/loan-products/test-form.wxss` + +## 联系信息 + +如果问题仍然存在,请提供: +1. 控制台的完整错误日志 +2. 点击按钮后的具体表现 +3. 是否看到测试页面 +4. 任何其他错误信息 diff --git a/bank_mini_program/BUTTON_FIX_SUMMARY.md b/bank_mini_program/BUTTON_FIX_SUMMARY.md new file mode 100644 index 0000000..ac02aa6 --- /dev/null +++ b/bank_mini_program/BUTTON_FIX_SUMMARY.md @@ -0,0 +1,175 @@ +# 银行管理系统小程序 - 按钮点击问题修复总结 + +## 问题描述 + +用户反馈在商品管理页面中,点击"新增商品"、"修改信息"、"产品下架"按钮没有反应。 + +## 问题分析 + +经过检查发现以下问题: + +1. **事件冲突**:商品项容器有`bindtap="viewProductDetail"`事件,会拦截子元素的点击事件 +2. **事件绑定问题**:按钮使用了`catchtap="true"`,可能影响事件处理 +3. **样式层级问题**:按钮可能被其他元素遮挡 +4. **点击区域太小**:按钮高度只有60rpx,点击区域不够大 + +## 修复方案 + +### 1. 移除容器点击事件冲突 + +**问题**:商品项容器有`bindtap="viewProductDetail"`事件 +```xml + + + + +``` + +**解决方案**:移除容器点击事件,为具体区域添加点击事件 +```xml + + + + + + + + + + + + + +``` + +### 2. 移除不必要的事件修饰符 + +**问题**:按钮使用了`catchtap="true"` +```xml + +