这不是科幻。这是 mobilerun 正在做的事情。它是什么?一句话介绍:它是一款用自然语言控制 Android 和 iOS 设备的开源 Agent 框架。
- 我能不能把这一步做成明确交付?- 用户买完后得到的是一堆文件,还是一个可用结果?
如果你发现了 GitHub 上有趣的项目,就点击这里分享给大家伙吧!本期有你感兴趣的开源项目吗?
from pydantic import BaseModelclass BookCreateSchema(BaseModel): name: str price: float numbers: int category_id: intclass BookUpdateSchema(BaseModel): name: str | None = None price: float | None = None numbers: int | None = None category_id: int | None = None将前端返回添加的信息 直接添加到数据库中 4.修改数据@book_api.put("/{book_id}", summary="编辑修改图书")async def edit_book(book_id: int, form: BookUpdateSchema): """ 根据图书id修改图书信息,支撑局部更新,不传的字段不会改动 book_id:需要修改的图书id,路径参数 form:前端提交的修改字段,字段全部可选 返回:修改成功或失败提示 """ return await BookService.update_book(book_id, form.model_dump())@staticmethod async def update_book(book_id: int, info: dict): """修改图书,自动过滤None空字段,只更新传入的参数""" update_info = {k: v for k, v in info.items() if v is not None} update_count = await Book.filter(id=book_id).update(**update_info) if update_count == 0: return {"code": 400, "msg": "图书不存在,修改失败"} return {"code": 200, "msg": "修改成功"}从前端返回两个值 一个是要修改的id另外一个是修改的数据 在请求体中 都可以为空None 先判断修改的数据是否存在 在判断我们要修改的数据都有哪些然后1进行update修改5.删除数据@book_api.delete("/{book_id}", summary="删除图书")async def delete_book(book_id: int): """ 根据图书id删除对应图书数据 book_id:待删除图书主键id 返回:删除成功/失败提示 """ return await BookService.delete_book(book_id)@staticmethod async def delete_book(book_id: int): """根据ID删除图书""" del_count = await Book.filter(id=book_id).delete() if del_count == 0: return {"code": 400, "msg": "图书不存在,删除失败"} return {"code": 200, "msg": "删除成功"}传要删除的数据id判断是否存在然后删除2.前端