コード例 #1
0
def verify():
    userphone = request.form.get('userphone')
    print(userphone)
    print(type(userphone))
    if userphone is None:
        return ret_data(403, '访问被禁止', 2002)
        # return {'code':403,'message':'访问被禁止','data':{'verifyStateCode':2001,'message':'手机号为空'}},403

    if userphone == '' or len(userphone) != 11:
        return ret_data(403, '访问被禁止', 2002)
        # return {'code':403,'message':'访问被禁止','data':{'verifyStateCode':2002,'message':'手机号格式错误'}},403
    # todo 生成短信验证码
    phone_code = '%06d' % random.randint(0, 999999)
    # phone_code = 123456
    print('短信验证码', phone_code)

    # todo 将生成的短信验证码存入在redis 中
    # 设置过期时间并保存
    verify_rs.setex(userphone, 120, phone_code)

    # 发送短信验证码
    ccp = CCP()
    ccp.send_template_sms(userphone, [phone_code, 1], 1)

    return ret_data(200, '请求成功', 1000)
コード例 #2
0
def login():
    try:  # 获取手机号和验证码
        qian_vercode = request.form['verification_code']
        qian_userphone = request.form['userphone']
        get_redis_verify = verify_rs.get(qian_userphone)
    except:
        print('前端输入错误')
        return ret_data(403, '访问被禁止', 2003)
        # return {'code':403,'message':'访问被禁止','data':{'verifyStateCode':2003,'message':'验证码错误'}},403
    # 判断验证码是不是正确
    if qian_vercode != get_redis_verify:
        return ret_data(403, '访问被禁止', 2003)
        # return {'code':403,'message':'访问被禁止','data':{'verifyStateCode':2003,'message':'验证码错误'}},403
    # 从数据库中查找用户
    user_lst = User.query.filter_by(user_phone=qian_userphone).all()
    # 查找结果为空,则新建
    print(user_lst)
    if user_lst == []:
        print('新创建一个user')
        obj = User(user_phone=qian_userphone)
        db.session.add(obj)
        db.session.commit()
    else:
        print('已有user,不操作')
    # 新建jwt,并返回个前端
    access_token = create_access_token(identity=qian_userphone)
    ret, state = ret_data(200, '请求成功', 1007)
    response = make_response(ret)
    response.headers['token'] = access_token
    response.state = state

    return response
コード例 #3
0
def wei_login():
    js_code = request.form['code']
    appid = "wxc49a36275e75991b"
    secret = "c5d0a6c4d637728f0d602ec5d9a6c99e"
    grant_type = "authorization_code"
    import requests
    data = {
        "js_code": js_code,
        "appid": appid,
        "secret": secret,
        "grant_type": grant_type
    }
    response = requests.get("https://api.weixin.qq.com/sns/jscode2session",
                            params=data)
    print("response:", response.json())
    ret = response.json()
    if 'errcode' in ret:
        return ret_data(200, '请求成功', 2012, errmsg=ret['errmsg'])
    # test = {
    #     "session_key": "4xtv9zkCLF9eB7zQWSedgA==",
    #     "openid": "oRVrU5PzUZ4DEIdT3qKP4wNzJlmc"
    # }
    access_token = create_access_token(identity=ret['openid'])
    print("token:", access_token)
    ret, state = ret_data(200, '请求成功', 1010)
    response = make_response(ret)
    response.headers['token'] = access_token
    response.state = state
    return response
コード例 #4
0
def verifyok():
    try:  # 获取手机号和验证码
        qian_vercode = request.form['verification_code']
        qian_userphone = request.form['userphone']
        get_redis_verify = verify_rs.get(qian_userphone)
    except:
        print('前端输入错误')
        return ret_data(403, '访问被禁止', 2003)
        # return {'code':403,'message':'访问被禁止','data':{'verifyStateCode':2003,'message':'验证码错误'}},403
    # 判断验证码是不是正确
    if qian_vercode != get_redis_verify:
        return ret_data(403, '访问被禁止', 2003)
        # return {'code':403,'message':'访问被禁止','data':{'verifyStateCode':2003,'message':'验证码错误'}},403
    return ret_data(200, '请求成功', 1001)
コード例 #5
0
def test_image():
    xxx = request.files
    try:
        file = xxx['UploadImage']
        print(file)
        # if file
    except KeyError as e:
        return ret_data(200, '请求成功', 2007)
    return save_Image(file)
コード例 #6
0
def save_Image(file):
    '''
    用来保存文件上传
    :param file: request.files读取的对象
    :return:
    '''
    filename = file.filename
    path = "./odk/images/"+filename  # 文件路径
    file.save(path)

    ret = fastdfs_client.upload_by_filename(path)
    print(ret)

    if os.path.exists(path):  # 如果文件存在
        # 删除文件,可使用以下两种方法。
        os.remove(path)
        # os.unlink(path)
    else:
        print('no such file:%s' % file.filename)  # 则返回文件不存在
    if ret['Status']=='Upload successed.':
        url = 'http://'+ret['Storage IP']+':8888/'+ret['Remote file_id']
        return ret_data(200,'请求成功',1002,url=url)
    return ret_data(200, '请求成功', 2006)
コード例 #7
0
def fhir():
    import fhirclient.models.patient as p
    import fhirclient.models.humanname as hn
    patient = p.Patient({'id': 'patient-1'})
    print(patient.id)
    # prints `patient-1`

    name = hn.HumanName()
    name.given = ['Peter']
    name.family = 'Parker'
    patient.name = [name]

    print(mongodb)

    print(patient.as_json())
    dict01 = patient.as_json()
    ret = mongodb.a.insert_one(dict01)
    print(ret)
    ret = mongodb.a.find()
    for i in ret:
        print(i)
    print('111111111111111111')

    import json
    import fhirclient.models.patient as p
    with open('/home/python/Desktop/odk/patient-example.json', 'r') as h:
        pjs = json.load(h)
    patient = p.Patient(pjs)
    dict02 = patient.as_json()

    ret = mongodb.a.insert_one(dict02)
    print(ret)
    ret = mongodb.a.find()
    for i in ret:
        print(i)
    print('2222222222222222')
    print(patient.name[0].given)
    print(patient.name)
    print(patient.gender)
    print(patient.photo)
    print(patient.address)
    print("-------------------------")
    # prints patient's given name array in the first `name` property
    return ret_data(200, '请求成功', 1000)
コード例 #8
0
def diabetes_predict():
    data = request.form.to_dict()
    if 'id' not in data.keys():
        data['id'] = str(random.random()*1000000000000000)
    if 'phone' not in data.keys():
        data['phone'] = get_jwt_identity()
    if "BMI" not in data.keys():
        data['BMI'] = float(data['weight'])/(float(data['height'])**2)
    if "outcome" not in data.keys():
        data['outcome'] = -1
    # print(data)
    # data = {i:v for i,v in data}
    print(data)
    diabetes = ModelDiabetes(**data)
    diabetes.save()
    pwd = os.getcwd()
    # print("diabetes: pwd:",pwd)
    ret = predict(data,pwd+"/odk")
    result = "得病了"
    if ret == 0:
        result="没有得病"
    return ret_data(200,'请求成功',1008,result=result)
コード例 #9
0
def test_test():
    user = get_jwt_identity()
    print(user)
    if user is None:
        return ret_data(
            403,
            '访问被禁止',
            2004,
        )
        # return {'code':403,'message':'访问被禁止','data':{'verifyStateCode':2004,'message':'没有登录'}},401
    if request.method == 'POST':
        return ret_data(200, '请求成功', 1000, test='post method')
    elif request.method == 'GET':
        return ret_data(200, '请求成功', 1000, test='get method')
    elif request.method == 'DELETE':
        return ret_data(200, '请求成功', 1000, test='delete method')
    elif request.method == 'PUT':
        return ret_data(200, '请求成功', 1000, test='put method')
    return ret_data(200, '请求成功', 1000, test='hello world')
コード例 #10
0
 def my_expired_token_callback(expired_token):
     return ret_data(
         401,
         '身份信息有误',
         2004,
     )
コード例 #11
0
def patient():
    user = get_jwt_identity()
    print("user:"******"name_given"]]
            name.family = request.form["name_family"]
            patient.name = [name]
            # 设置性别 只能是male或者female
            patient.gender = request.form["gender"] if request.form[
                "gender"] == "男" or request.form["女"] == "female" else ""
            # 设置生日
            patient.birthDate = fdate.FHIRDate().with_json(
                request.form["birthDate"])
            # 设置逻辑删除
            patient.active = True
            # 设置地址
            patient.address = [ad.Address({"city": request.form["city"]})]
            ret = mongodb.basic_information.insert_one(patient.as_json())
            print(ret)
            return ret_data(200, '请求成功', 1003)
        else:
            return ret_data(200, "请求成功", 2008)

    elif request.method == 'GET':
        dict01 = mongodb.basic_information.find_one({
            'id': str(user),
            'active': True
        })
        if dict01 is None:
            return ret_data(200, '请求成功', 2011)
        dict02 = {}
        del dict01['_id']
        dict02['city'] = dict01['address'][0]['city']
        dict02['birthDate'] = dict01['birthDate']
        dict02['gender'] = dict01['gender']
        dict02['name'] = str(dict01['name'][0]['family']) + str(
            dict01['name'][0]['given'][0])
        return ret_data(200, '请求成功', 1005, **dict02)

    elif request.method == 'DELETE':
        count = 0
        for i in patientList:
            print(i['active'])
            if i['active'] is True:
                count += 1
        if count >= 1:
            mongodb.basic_information.update_one(
                {
                    'id': str(user),
                    'active': True
                }, {'$set': {
                    'active': False
                }})
            # mongodb.basic_information.delete_one({'id':str(user)})
            return ret_data(200, '请求成功', 1004)
        else:
            return ret_data(200, '请求成功', 2010)

    elif request.method == 'PUT':
        count = 0
        for i in patientList:
            print(i['active'])
            if i['active'] is True:
                count += 1
        if count == 1:
            patient = p.Patient({'id': str(user)})
            # 设置名字
            name = hn.HumanName()
            name.given = [request.form["name_given"]]
            name.family = request.form["name_family"]
            patient.name = [name]
            # 设置性别 只能是male或者female
            patient.gender = request.form["gender"] if request.form[
                "gender"] == "男" or request.form["女"] == "female" else ""
            # 设置生日
            patient.birthDate = fdate.FHIRDate().with_json(
                request.form["birthDate"])
            # 设置逻辑删除
            patient.active = True
            # 设置地址
            patient.address = [ad.Address({"city": request.form["city"]})]
            mongodb.basic_information.update_one({'id': str(user)},
                                                 {'$set': patient.as_json()})
            return ret_data(200, '请求成功', 1006)
        else:
            return ret_data(200, '请求成功', 2009)
    return ret_data(200, '请求成功', 1000, test='hello world')