fix: 后端主键冲突修复 + SQLite持久化 + Token认证 + 部署脚本 #11

Open
pkx2w7qjn wants to merge 0 commits from zhaochang_branch into master
Collaborator

变更摘要

本次提交完成了后端核心改造与稳定性修复,包括数据库持久化、认证机制升级、并发安全修复及部署自动化。

详细改动

1. 后端核心修复

  • 修复需求上报 HTTP 500_demand_id_counter 等内存计数器改为数据库查询生成,避免服务重启后主键冲突
  • 修复任务分配潜在 500_task_id_counter 同理改为数据库查询
  • 修复危险区域 ID 错乱:改用 lastrowid 获取 SQLite 自增 ID

2. 架构改造(前期完成)

  • 内存存储 → SQLite 持久化
  • 明文密码 → Werkzeug 密码哈希
  • 无状态登录 → Token 数据库表存储(支持多 Worker 共享)

3. 前端适配

  • API.BASE 暴露 setBase(url) 真正修改闭包变量
  • 请求自动携带 X-Auth-Token
  • 捕获 401 自动清除登录态并跳转

4. 部署与运维

  • 新增 deploy_safe.sh:自适应端口检测、venv 创建、systemd + Nginx 配置
  • 新增 后端操作手册.md

测试验证

  • 账号注册/登录正常
  • 需求上报成功(修复前 500,修复后正常)
  • 任务分配正常
  • 电脑端首页访问正常
  • 服务 systemd 自启动正常

部署环境

  • 服务器:阿里云 ECS 121.41.216.243
  • 系统:Ubuntu 24.04
  • 运行时:Python 3 venv + Gunicorn 1 worker + Nginx 反向代理
## 变更摘要 本次提交完成了后端核心改造与稳定性修复,包括数据库持久化、认证机制升级、并发安全修复及部署自动化。 ## 详细改动 ### 1. 后端核心修复 - **修复需求上报 HTTP 500**:`_demand_id_counter` 等内存计数器改为数据库查询生成,避免服务重启后主键冲突 - **修复任务分配潜在 500**:`_task_id_counter` 同理改为数据库查询 - **修复危险区域 ID 错乱**:改用 `lastrowid` 获取 SQLite 自增 ID ### 2. 架构改造(前期完成) - 内存存储 → **SQLite 持久化** - 明文密码 → **Werkzeug 密码哈希** - 无状态登录 → **Token 数据库表存储**(支持多 Worker 共享) ### 3. 前端适配 - `API.BASE` 暴露 `setBase(url)` 真正修改闭包变量 - 请求自动携带 `X-Auth-Token` - 捕获 401 自动清除登录态并跳转 ### 4. 部署与运维 - 新增 `deploy_safe.sh`:自适应端口检测、venv 创建、systemd + Nginx 配置 - 新增 `后端操作手册.md` ## 测试验证 - [x] 账号注册/登录正常 - [x] 需求上报成功(修复前 500,修复后正常) - [x] 任务分配正常 - [x] 电脑端首页访问正常 - [x] 服务 systemd 自启动正常 ## 部署环境 - 服务器:阿里云 ECS 121.41.216.243 - 系统:Ubuntu 24.04 - 运行时:Python 3 venv + Gunicorn 1 worker + Nginx 反向代理
pkx2w7qjn added 1 commit 2 weeks ago
0d2dba3910
fix: 后端主键冲突修复 + Token持久化 + 部署脚本 + 操作手册
This pull request has changes conflicting with the target branch.
.gitignore
src/drone-software/src/acoustic/build_demo_multichannel.bat
src/单兵终端APP/js/api.js
src/单兵终端APP/js/app.js
src/单兵终端APP/www/js/api.js
src/单兵终端APP/www/js/app.js
src/软件电脑端/server/app.py
src/drone-software/src/acoustic/scripts/inject_noise_eval.py
src/drone-software/src/acoustic/tests/demo_offline_multichannel.cpp
src/软件电脑端/server/deploy.sh
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: p82feo7wg/software#11
Loading…
There is no content yet.