【项目实训11】对注册的更新处理

在原有注册基础上增加对密码的哈希,以及在注册是绑定一个病例,分配stageid。

逻辑分析:

  1. 路由和请求处理:

    • 使用 Flask 框架创建了一个路由 /registerf,通过 POST 方法处理注册请求。
    • 使用 request.form.get() 方法获取表单中提交的用户名、密码、角色和电子邮件地址。
  2. 用户名重复检查:

    • 使用 SQLAlchemy 查询数据库,检查用户名是否已存在。如果存在重复的用户名,返回一个包含错误消息的 JSON 响应。
  3. 用户添加和提交:

    • 如果用户名不存在重复,则调用 stage() 函数生成一个阶段ID(Stage ID),并创建一个新的用户对象 models.User
    • 将新用户对象添加到数据库会话中(db.session.add(user)),然后提交数据库事务(db.session.commit())保存新用户记录。
  4. 阶段ID生成(stage() 函数):

    • stage() 函数中首先调用 newlist() 函数生成一个医疗记录ID(Medical Record ID)。
    • 使用生成的医疗记录ID向远程API发出请求,获取医疗记录的详细信息。
    • 从API响应中提取阶段列表(Stage List),并返回第一个阶段的ID作为生成的阶段ID。
  5. API请求函数(newlist() 函数):

    newlist() 函数负责向指定的远程API发送POST请求,用于创建一个新的医疗记录。
  6. 异常处理:

    使用 try-except 块来捕获可能发生的请求异常,例如网络问题或API服务器响应错误。在发生异常时,会打印出错信息到控制台,并继续执行后续操作或返回适当的错误响应。
@app.route('/registerf', methods=['POST'])
def registerf():
    username1 = request.form.get('username', type=str)
    password1 = request.form.get('password', type=str)
    role1 = request.form.get('role', type=str)
    email1 = request.form.get('email', type=str)
    ifuser = models.User.query.filter_by(username=username1).first()
    if ifuser:
        # 如果存在,则返回用户名重复的消息
        res = {
            'code': 200,
            'msg': "用户名重复!"}
    else:
        stageid1 = stage()
        user = models.User(username=username1, password=password1, role=role1, email=email1, stageid=stageid1)
        db.session.add(user)
        db.session.commit()
        res = {
            'code': 0,
            'msg': "添加成功"
        }
    return make_response(res)
def stage():
    print(1111)
    medicalid = newlist()
    print(medicalid)
    json_url = ''
    token = tokens
    data2 = {
        
    }
    headers1 = {
        'Authorization': token}
    try:
        response = requests.post(json_url, json=data2, headers=headers1)
        if response.status_code == 200:
            jsonlist = response.json()
            print(jsonlist)
            datalist = jsonlist["data"]
            stagelist = datalist["stageList"]
            stageId = stagelist[0]["id"]
            print(stageId)
            return stageId
    except requests.exceptions.RequestException as e:
        print('请求出错:', e)


def newlist():
    json_url = ''  # API的URL
    token = tokens
    # 要发送的数据
    data = {
       
    }
    headers1 = {
        'Authorization': token}
    # 发送POST请求

    try:
        response = requests.post(json_url, json=data, headers=headers1)

        if response.status_code == 200:
            # 打印响应内容
            jsonlist = response.json()
            stageId = jsonlist["data"]
            return stageId
    except requests.exceptions.RequestException as e:
        print('请求出错:', e)

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值