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)
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
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
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)
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)
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)
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)
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)
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')
def my_expired_token_callback(expired_token): return ret_data( 401, '身份信息有误', 2004, )
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')