用python创建运动步数修改api

前言

专业开设了FastApi这门课程,先通过这样的小程序简单熟悉一下。

基于前面的小米运动步数修改的python源码之上导入FastAPI Uvicorn

创建一个修改步数的api。
通过”域名/misep?user=123456&password=123456&sep=10000”的形式就能修改步数。

实现过程

  1. 运动步数修改-python - Imscad’s Blog (wechatid.github.io)的python代码复制,粘贴到程序上。

    1. 把源码中所有print语句都注释掉

    2. 修改main方法里的return语句,修改后如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      def main(self):
      if not self.login():
      # 登录失败时
      return "100"
      if not self.get_token():
      # token获取失败时
      return "401"
      if not self.change_step():
      # 步数修改失败时
      return "404"
      # 修改成功时
      return "200"
  2. 安装fastapi 和uvicorn

    1
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple fastapi
    1
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uvicorn
  3. 创建一个 FastAPI 实例

    1
    app = FastAPI()
  4. 创建一个路由,定义 HTTP 方法和路径

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    async def process_misep(user, password, sep):
    """
    华米运动
    user: 账号
    password: 密码
    sep: 步数
    return: 返回json数据
    """
    if user == '' or password == '' or sep == '':
    code = "400"
    else:
    user = '+86' + user
    code = XiaoMi(user, password, sep).main()
    response_msg = {
    "100": "请检查账号信息",
    "200": "提交成功!",
    "400": "参数错误!",
    "401": "提交失败!",
    "404": "提交失败!"
    }
    response = {
    "code": code,
    "msg": response_msg[code],
    "data": {
    "user": user,
    "step": sep
    }
    }
    return response
  5. 运行应用

    1
    2
    3
    if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="127.0.0.1", port=8000)

运行截图


用python创建运动步数修改api
https://wechatid.github.io/2024/03/05/misep-for-FastApi/
作者
Imscamd
发布于
2024年3月5日
许可协议