Files
沃巴蒂 ff22ed3a8b feat(deepdata): 引入修改密码、文件预览组件与清洗算子增强,deepflow 改名为 deep-flow
本次同步 09-12 至 09-28 的代码变更,主要内容:

新增功能
- 修改密码:后端新增 ChangePasswordRequest DTO 与UserController/UserService
  对应接口,前端新增 ChangePasswordDialog 并在 Header 接入入口
- 文件预览组件重构:file-preview 目录拆分出 VideoPreview(支持 blobUrl 直传)、
  ImagePreview、AudioPreview,index.tsx 统一调度各类型预览器
- 新增 my_ops 算子模块:markitdown_parser、mineru_pdf_parser、text_quality_evaluator
- 新增 tools/minio-file-server MinIO 文件服务

功能增强
- 数据清洗:cleaning_task_service/scheduler/routes 重构,
  data_juicer_executor 与 wrapper 增强,OperatorTable/LogsTable/TaskDetail 同步调整
- 数据标注:annotation sync.py、project.py 接口与schema 更新
- 数据采集、算子市场、首页与菜单路由相关页面调整
- DataJuicer 算子接入(useOperatorOperations、dj_ops_schema)

结构调整
- deepflow/ 更名为 deep-flow/(419 个文件重命名)
- 新增 helm 部署编排、GitHub Actions 之外的自建镜像构建脚本

未纳入本次提交
- scripts-backup/、runtime/python-executor-backup/、components_backup/(备份目录)
- *.backup*、__pycache__ 产物
- zh_core_web_sm-3.8.0-py3-none-any.whl(46MB 构建产物)
- DataX/(内嵌独立仓库,远程亦未收录其源码)
2026-10-03 22:44:56 +08:00

61 lines
2.0 KiB
Python

# client.py
import requests
import base64
import argparse
BASE_URL = "http://127.0.0.1:8000"
def test_upload_form_file(file_path: str):
"""表单文件上传(二进制文件)"""
url = f"{BASE_URL}/upload/form"
with open(file_path, "rb") as f:
files = {"file": f}
resp = requests.post(url, files=files)
print("=== Form上传结果 ===")
print("status_code:", resp.status_code)
print("resp:", resp.json())
if resp.status_code == 200:
path = resp.json()
md_link = f"![]({BASE_URL}{path})"
dl_link = f"{BASE_URL}{path}?dl=1"
print(f"Markdown图片链接:{md_link}")
print(f"下载链接:{dl_link}\n")
return path
return None
def test_upload_base64(file_path: str, filename: str):
"""base64上传,POST JSON"""
url = f"{BASE_URL}/upload/base64"
with open(file_path, "rb") as f:
raw = f.read()
b64_str = base64.b64encode(raw).decode("utf-8")
payload = {
"base64_data": b64_str,
"filename": filename
}
resp = requests.post(url, json=payload)
print("=== Base64上传结果 ===")
print("status_code:", resp.status_code)
print("resp:", resp.json())
if resp.status_code == 200:
path = resp.json()
md_link = f"![]({BASE_URL}{path})"
dl_link = f"{BASE_URL}{path}?dl=1"
print(f"Markdown图片链接:{md_link}")
print(f"下载链接:{dl_link}\n")
return path
return None
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='')
parser.add_argument("--port", type=int,
default=8000, help="缺省: 8000")
parser.add_argument("--test_file", type=str,
default="test.jpg", help="缺省: test.jpg")
args = parser.parse_args()
test_file = args.test_file
BASE_URL = f"http://127.0.0.1:{args.port}"
test_upload_form_file(test_file)
test_upload_base64(test_file, "风景.jpg")