示例#1
0
def reg():
    if request.method == "GET":
        return render_template('register.html')
    if request.method == "POST":
        """
        用户注册
        :return: json
        """
        email = request.form.get('email')
        username = request.form.get('username')
        password = request.form.get('password')
        user = User(email=email,
                    username=username,
                    password=utils.set_password(password))
        result = User.add(User, user)
        if user.userid:
            returnUser = {
                'id': user.userid,
                'username': user.username,
                'email': user.email,
                'login_time': user.login_time
            }
            return jsonify(utils.trueReturn(returnUser, "用户注册成功"))
            # success = utils.trueReturn(returnUser, "用户注册成功")
            # return render_template('register.html',**success)
        else:
            return jsonify(utils.falseReturn('', '用户注册失败'))
示例#2
0
def updateuserstate(request):
    result = {}
    user_receive = User()
    if request.method == "POST":
        userid = request.POST.get("userid", None)  # 读取get数据,None为默认值
        qunid = request.POST.get("qunid", None)  # 读取get数据,None为默认值
        userstate = request.POST.get("userstate", None)  # 读取get数据,None为默认值

    if request.method == "GET":
        userid = request.GET.get("userid", None)  # 读取get数据,None为默认值
        qunid = request.GET.get("qunid", None)  # 读取get数据,None为默认值
        userstate = request.GET.get("userstate", None)  # 读取get数据,None为默认值

    print("修改用户在群组中的状态接口参数:用户id" + userid +"用户状态" + userstate)

    user_receive = UserDAO.getUserInfoId(userid)
    user_receive.state(userstate)
    UserDAO.updateUserInfo(user_receive)
    qun = QunDAO.getqunInfoqunid(qunid)

    userqun=Userqun()
    userqun.userid=userid
    userqun.qunid=qunid
    userqun = UserqunDAO.getuserqunInfouserqun(userqun)

    if(not userqun or not qun):
        result["data"]=""
        result["respcode"]= ResultCode.FAIL
        result["errorcode"]=ResultCode.FAIL
        result["message"]= "修改失败not "
        return result

    userqun.userstate=userstate
    UserqunDAO.updateuserqun(userqun)

    #如果升级为群主
    if(userstate==ResultCode.USERQUN_QUNZHU):

        #查找原群主关系组
        userqun.userid=qun.userid
        userqun.qunid=qunid
        userqun = UserqunDAO.getuserqunInfouserqun(userqun)
        userqun.userstate=ResultCode.USERQUN_FUZHU
        UserqunDAO.updateuserqun(userqun)
        #修改群信息
        qun.userid=userid
        QunDAO.updatequnInfoqun(qun)


    result["data"]= ""
    result["respcode"]= ResultCode.SUCCESS
    result["errorcode"]= ""
    result["message"]= "修改成功not "

    return result
示例#3
0
文件: routes.py 项目: muthu-kr/Mig2
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
示例#4
0
def uploadUserIcon(request):
    result = {}
    user = User()
    if request.method == "POST":
        id = request.POST.get("id", None)  # 读取get数据,None为默认值

    if request.method == "GET":
        id = request.GET.get("id", None)  # 读取get数据,None为默认值

    print("修改图像接口参数:用户id:", id)

    realPath = STATICFILES_DIRS[0] + "/upload/userIcon/"
    # realPath = request.getSession().getServletContext().getRealPath("userIcon/")

    if not os.path.exists(realPath):
        os.makedirs(realPath)
    try:
        files = request.FILES.getlist('files')
        multFile = files[0]
        filenameString = id + "_" + str(int(
            time.time())) + "_" + str(0) + ".png"

        filepath = realPath + "/" + filenameString

        f_obj = open(filepath, 'wb+')
        for chunk in multFile.chunks():
            f_obj.write(chunk)
        f_obj.close()

        fileName = STATIC_URL1 + "upload/userIcon/" + filenameString

        print("用户图像所在地址:", realPath, "/", fileName)
        user.image = fileName
        user.id = id
        UserDAO.updateUserIcon(user)

        users_back = UserDAO.getUserInfoId(user.id)
        usermeback = user2meBack(users_back)

        result["data"] = usermeback
        result["errorcode"] = ""
        result["message"] = "上传用户图像成功"
        result["respcode"] = ResultCode.SUCCESS
        print('上传用户图像成功')
    except Exception as e:
        result["data"] = ""
        result["errorcode"] = ResultCode.VINT
        result["message"] = "文件不合法"
        result["respcode"] = ResultCode.FAIL
        print('文件不合法')

    return JsonResponse(result)
示例#5
0
文件: views.py 项目: hyc5656/django--
def reg(req):
    if req.method=='POST':
        uf=uform(req.POST,req.FILES)
	if uf.is_valid():
	    user=User()
	    user.username=uf.cleaned_data['username']
	    user.img=uf.cleaned_data['img']
	    user.save()
	    req.session['usr']=user.username
	    return HttpResponseRedirect(r'/success/')
        else :
	    return render_to_response('register.html',{'f':uf})
    else:
        uf=uform()
	return render_to_response('register.html',{'f':uf})
示例#6
0
def reg_upload(request):
    if request.method == 'POST':
        if request.POST['password'] == request.POST['password1']:

            reg = User(name=request.POST['name'],
                       username=request.POST['username'],
                       password=request.POST['password'])
            reg.save()
            return render(request, 'index.html')
        else:
            return HttpResponse(
                "<script>alert('Password didnt match')</script>")
            return redirect('/')
    else:
        return HttpResponse("<h1>Error While Registering.. TRy Again..</h1>")
示例#7
0
 def identify(self, request):
     """
     用户鉴权
     :return: list
     """
     auth_header = request.headers.get('Authorization')
     if (auth_header):
         auth_tokenArr = auth_header.split(" ")
         if (not auth_tokenArr or auth_tokenArr[0] != 'JWT' or len(auth_tokenArr) != 2):
             result = utils.falseReturn('', '请传递正确的验证头信息')
         else:
             auth_token = auth_tokenArr[1]
             payload = self.decode_auth_token(auth_token)
             if not isinstance(payload, str):
                 user = User.get(Users, payload['data']['id'])
                 if (user is None):
                     result = utils.falseReturn('', '找不到该用户信息')
                 else:
                     if (user.login_time == payload['data']['login_time']):
                         result = utils.trueReturn(user.id, '请求成功')
                     else:
                         result = utils.falseReturn('', 'Token已更改,请重新登录获取')
             else:
                 result = utils.falseReturn('', payload)
     else:
         result = utils.falseReturn('', '没有提供认证token')
     return result
示例#8
0
    def post(request):
        user = request.user.user
        data = request.data
        kicked_user_id =data['kicked_user_id']
        kicked_user = User.get_object(pk=kicked_user_id)
        if user.clanData.position <= kicked_user.clanData.position:
            return Response({"detail": "can not kick this position"}, status=status.HTTP_406_NOT_ACCEPTABLE)
        if user.userClan != kicked_user.userClan:
            return Response({'detail': 'you are not in a same clan'}, status=status.HTTP_406_NOT_ACCEPTABLE)
        else:
            clan = kicked_user.userClan
            RemoveUserFromGroup(clan.backtory_group_id, clan.backtory_group_owner, kicked_user.backtory_userId)
            kicked_user.userClan = None
            # TODO: update score and other things
            kicked_user.clanData.donate_count = 0
            kicked_user.clanData.lastRequestTime = 0
            kicked_user.clanData.position = 0
            kicked_user.clanData.save()
            kicked_user.save()
            # backtory push msg
            news_obj = NewsMessageWrapper({'kicked_user_id': kicked_user.idUser, 'kicked_username': kicked_user.username},
                                          NewsType.user_kick)
            msg_obj = MessageWrapper(news_obj, MsgType.news)
            PushMessageToGroup(json.dumps(msg_obj), clan.backtory_group_id)

            return Response({}, status=status.HTTP_406_NOT_ACCEPTABLE)
示例#9
0
    def post(request):
        user = request.user.user
        clan = user.userClan
        data = request.data
        accepted_user_id = data['accepted_user_id']
        waiting_list = dict(clan.waiting_list)
        if user.clanData.position == 0:
            return Response({'detail': 'member user can not accept users'}, status=status.HTTP_406_NOT_ACCEPTABLE)
        if accepted_user_id in waiting_list:
            del waiting_list[accepted_user_id]
            clan.waiting_list = waiting_list
            clan.save()
            accepted_user = User.get_object(pk=int(accepted_user_id))
            accepted_user.userClan = clan
            if accepted_user.clanData is None:
                clan_data = UserClanData.objects.create()
                accepted_user.clanData = clan_data
            accepted_user.clanData.position = 0
            accepted_user.clanData.donate_count = 0
            accepted_user.clanData.lastRequestTime = -1
            accepted_user.clanData.save()
            accepted_user.pending_clan_id = -1
            accepted_user.pending_clan_name = None
            accepted_user.save()
            AddUserToGroup(clan.backtory_group_id, clan.backtory_group_owner, accepted_user.backtory_userId)
            user_clan_info = serializer.ClanUserSerializer(accepted_user).data
            # backtory push msg
            news_obj = NewsMessageWrapper(user_clan_info, NewsType.user_accept)
            msg_obj = MessageWrapper(news_obj, MsgType.news)
            PushMessageToGroup(json.dumps(msg_obj), clan.backtory_group_id)

            return Response({'accepted_user': user_clan_info}, status=status.HTTP_200_OK)
        else:
            return Response({'detail': 'accepted user does not exist in waiting list'}, status=status.HTTP_406_NOT_ACCEPTABLE)
示例#10
0
    def post(request):
        user = request.user.user
        data = request.data
        demoted_user_id = int(data['userID'])
        user_clan_data = user.clanData
        demoted_user = User.get_object(pk=demoted_user_id)
        if user.userClan != demoted_user.userClan:
            return Response({'detail': 'your not in a same clan'}, status=status.HTTP_406_NOT_ACCEPTABLE)
        if user_clan_data.position < 2:
            return Response({'detail': 'your position in clan < co-leader'}, status=status.HTTP_406_NOT_ACCEPTABLE)
        elif user_clan_data.position is 2:
            if demoted_user.clanData.position != 1:
                return Response({'detail': 'can not demote co leader and leader'}, status=status.HTTP_406_NOT_ACCEPTABLE)
            demoted_user.clanData.position -= 1
        elif user_clan_data.position is 3:
            if demoted_user.clanData.position == 3 or demoted_user.clanData.position == 0:
                return Response({'detail': 'can not demote leader in this way'}, status=status.HTTP_406_NOT_ACCEPTABLE)
            demoted_user.clanData.position -= 1
        demoted_user.clanData.save()
        response_data = {
            'demoted_userId': demoted_user_id,
            'demoted_username': demoted_user.username,
            'demoter_username': user.username,
            'demoter_userId': user.idUser,
            'demoted_new_position': demoted_user.clanData.position
        }

        # backtory push msg
        clan = user.userClan
        news_obj = NewsMessageWrapper(response_data, NewsType.user_demote)
        msg_obj = MessageWrapper(news_obj, MsgType.news)
        PushMessageToGroup(json.dumps(msg_obj), clan.backtory_group_id)

        return Response(response_data, status=status.HTTP_200_OK)
示例#11
0
def register(requests):
    res = ''
    if requests.method == "POST":
        username = requests.POST.get("username")
        pwd = requests.POST.get("password")
        email = requests.POST.get("email")
        #先检查是否存在该用户名
        user_list = User.objects.filter(username=username)
        if user_list:
            #如果数据库中有该用户名的数据
            res = '%s 该用户名已被注册过了' % username
            return render(requests, 'register.html', {"res": res})
        else:
            #插入数据库,推荐写法:
            user = User()
            user.username = username
            #明文
            # user.password=pwd
            #密文
            user.password = make_password(pwd)
            user.email = email
            user.save()
            #第二种写法
            # user=User(username=username,password=pwd,email=email)
            return render(requests, 'login.html', {"res": res})
    else:
        return render(requests, 'register.html')
示例#12
0
 def authenticate(self, username, password):
     """
     用户登录,登录成功返回token,写将登录时间写入数据库;登录失败返回失败原因
     :param password:
     :return: json
     """
     userInfo = User.query.filter_by(username=username).first()
     if (userInfo is None):
         return jsonify(utils.falseReturn('', '找不到用户'))
     else:
         if (utils.check_password(userInfo.password, password)):
             login_time = int(time.time())
             userInfo.login_time = login_time
             User.update(User)
             token = self.encode_auth_token(userInfo.userid, login_time)
             return jsonify(utils.trueReturn(token.decode(), '登录成功'))
         else:
             return jsonify(utils.falseReturn('', '密码不正确'))
示例#13
0
def add_user(request):
    if request.method == 'GET':
        code = ''.join(
            random.choice(string.ascii_uppercase + string.digits)
            for _ in range(9))
        names = [
            "David", "John", "Paul", "Mark", "Andrew", "Scott", "Steven",
            "Robert", "Stephen", "William", "Craig", "Michael", "Stuart",
            "Christopher", "Alan", "Colin", "Brian", "Kevin", "Gary",
            "Richard", "Derek", "Martin", "Thomas", "Neil", "Barry", "Ian",
            "Jason", "Iain"
        ]
        real_name = random.choice(names)
        timezones = [
            "(GMT -12:00) Eniwetok, Kwajalein",
            "(GMT -11:00) Midway Island, Samoa", "(GMT -10:00) Hawaii",
            "(GMT -8:00) Pacific Time (US & Canada)",
            "(GMT -6:00) Central Time (US & Canada), Mexico City",
            "(GMT -5:00) Eastern Time (US & Canada), Bogota, Lima",
            "(GMT -3:30) Newfoundland"
        ]
        tz = random.choice(timezones)

        min_year = 1900
        max_year = datetime.now().year

        start = datetime(min_year, 1, 1, 00, 00, 00)
        years = max_year - min_year + 1
        end = start + timedelta(days=365 * years)

        start_time = start + (end - start) * random.random()
        end_time = start + (end - start) * random.random()

        user = User(no=code, real_name=real_name, tz=tz)
        activity_period = Activity(no=code,
                                   start_time=start_time,
                                   end_time=end_time)
        try:
            user.save()
            activity_period.save()
            response = json.dumps([{'User added successfully! -': code}])
        except:
            response = json.dumps([{'Error': 'User could not be added!'}])
    return HttpResponse(response, content_type='text/json')
示例#14
0
文件: login_.py 项目: GTP12/t1
def wechat_log(request):

    itchat.login(picDir='')
    #picDir = ''
    user = itchat.get_friends()
    # 取出user中的第一段(即用户本人)的信息
    i = str(user[:1])
    print(i)
    info = i[8:-2]
    print(info)

    UserName = str(re.findall(r"'UserName': (.+?),", info))[2:-2]
    NickName = str(re.findall(r"'NickName': '(.+?)'", info))[2:-2]  # 昵称
    sign = str(re.findall(r"'Signature': '(.+?)'", info))[2:-2]  # 签名
    sex = str(re.findall(r"'Sex': (.+?),", info))[2:-2]  # 1男  0女
    uin = str(re.findall(r"'Uin': (.+?),", info))[2:-2]
    img = str(re.findall(r"'HeadImgUrl': (.+?),", info))[2:-2]

    print(img)
    print(UserName)
    print(NickName)
    print(sign)
    print(sex)
    print(uin)
    username = uin
    password = uin
    qq = uin
    email = uin
    tel = uin
    photo = img
    new_user = User()
    new_user.username = username
    md5 = hashlib.md5()
    md5.update(password.encode("utf-8"))
    new_user.password = md5.hexdigest()
    new_user.qq = qq
    new_user.email = email
    new_user.tel = tel
    new_user.photo = photo

    new_user.save()
    request.session["user_id"] = user.id
    return redirect(reverse("transaction:person_center"))
示例#15
0
def verify_password(email_or_token, password):
    print '####', email_or_token, password
    if email_or_token == '':
        return False
    if password == '':
        g.current_user = User.verify_auth_token(email_or_token)
        g.token_used = True
        return g.current_user is not None
    user = User.query.filter_by(email=email_or_token).first()
    if not user:
        return False
    g.current_user = user
    g.token_used = False
    return user.verify_password(password)
示例#16
0
    def post(request):
        user = request.user.user
        clan = user.userClan
        data = request.data
        if user.clanData.position == 0:
            return Response({"detail": "this position can not invite user"}, status=status.HTTP_406_NOT_ACCEPTABLE)

        invite_user_id = data['invite_user_id']
        invite_user = User.get_object(pk=invite_user_id)
        if not(user.userClan is None):
            return Response({'detail': 'this user currently had joined in another clan'}, status=status.HTTP_406_NOT_ACCEPTABLE)
        data = {'time': int(time.time()), 'clan_name': clan.clanName}
        invite_user.invitaion_list[str(clan.idClan)] = json.dumps(data)
        invite_user.save()
        return Response({}, status=status.HTTP_406_NOT_ACCEPTABLE)
示例#17
0
def signin():
    if request.method == 'GET':
        return render_template('signin.html')
    if request.method == 'POST':
        if db.session.query(User).filter(
                User.username == request.form['user']).all():
            return "account exist"
        else:
            db.session.add(
                User(username=request.form['user'],
                     password=request.form['pwd'],
                     email=request.form['email']))
            db.session.commit()
            db.session.close()
            return "register success"
示例#18
0
def userget():
    """
    获取用户信息
    :return: json
    """
    result = Auth.identify(Auth, request)
    if (result['status'] and result['data']):
        user = User.get(User, result['data'])
        returnUser = {
            'id': user.userid,
            'username': user.username,
            'email': user.email,
            'login_time': user.login_time
        }
        result = utils.trueReturn(returnUser, "请求成功")
    return jsonify(result)
示例#19
0
def users(count=100):
    fake = Faker()
    i = 0
    while i < count:
        u = User(email=fake.email(),
                 username=fake.user_name(),
                 password='******',
                 confirmed=True,
                 name=fake.name(),
                 location=fake.city(),
                 about_me=fake.text(),
                 member_since=fake.past_date())
        db.session.add(u)
        try:
            db.session.commit()
            i += 1
        except IntegrityError:
            db.session.rollback()
示例#20
0
文件: views.py 项目: hyc5656/django--
def reg(req):
    if req.method == 'POST':
        uf = uform(req.POST, req.FILES)
        if uf.is_valid():
            user = User()
            user.username = uf.cleaned_data['username']
            user.img = uf.cleaned_data['img']
            user.save()
            req.session['usr'] = user.username
            return HttpResponseRedirect(r'/success/')
        else:
            return render_to_response('register.html', {'f': uf})
    else:
        uf = uform()
        return render_to_response('register.html', {'f': uf})
示例#21
0
def regverify(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        email = request.POST['email']
        users = User.objects.all()
        #注册验证
        for user in users:
            if user.username == username:
                return render(request, 'chat/register.html', {'error': 1})
        if username and email and password:
            u1 = User()
            u1.username = username
            u1.email = email
            u1.password = password
            u1.createTime = datetime.datetime.now()
            u1.save()
            #redis
            return render(request, 'chat/login.html', {})
        else:
            return render(request, 'chat/register.html', {'error': 2})
    else:
        return render(request, 'chat/login.html', {})
示例#22
0
def regist(request):
    if request.method == 'POST':
        uf = registForm(request.POST)
        if uf.is_valid():
            username = uf.cleaned_data['username']
            password = uf.cleaned_data['password']
            password1 = uf.cleaned_data['password1']
            if password != password1:
                return render_to_response('error_2.html')
            user = User.objects.filter(username=username)
            if user:
                return render_to_response('error_1.html')
            if len(user) == 0:
                info = '注册成功!'
                user = User()
                user.username = username
                user.password = password
                user.save()
                return render_to_response('success.html')
    else:
        uf = UserForm()
    return render_to_response('regist.html', {'uf': uf})
示例#23
0
 def test_password_verification(self):
     u = User(password='******')
     self.assertTrue(u.verify_password('cat'))
     self.assertFalse(u.verify_password('dog'))
示例#24
0
 def test_password_salts_are_random(self):
     u = User(password='******')
     u2 = User(password='******')
     self.assertTrue(u.password_hash != u2.password_hash)
示例#25
0
文件: login_.py 项目: GTP12/t1
def register(request):
    #用户名username
    #密码password
    #qq
    #email
    #tel
    #photo
    if request.method == "GET":
        return render(request, 'login_/register.html')
    elif request.method == "POST":
        username = request.POST.get("username")  #接收用户名
        password = request.POST.get("password")  #
        qq = request.POST.get("qq")
        email = request.POST.get("email")
        tel = request.POST.get("tel")
        photo = request.FILES.get("photo")  # 接收头像

        new_user = User()
        new_user.username = username
        md5 = hashlib.md5()
        md5.update(password.encode("utf-8"))
        new_user.password = md5.hexdigest()
        new_user.qq = qq
        new_user.email = email
        new_user.tel = tel
        if photo:
            new_user.photo = photo
        else:
            photo = '/uploads/morenphoto.jpg'
            new_user.photo = photo
        new_user.save()
        return redirect(reverse("transaction:login_"))
示例#26
0
 def test_roles_and_permissions(self):
     Role.insert_roles()
     u = User(email='*****@*****.**', password='******')
     self.assertTrue(u.can(Permission.WRITE))
     self.assertFalse(u.can(Permission.MODERATE))
示例#27
0
def login(request):
    result = {}
    user = User()
    if request.method == "POST":
        phone = request.POST.get("phone", None)  # 读取get数据,None为默认值
        password = request.POST.get("password", None)  # 读取get数据,None为默认值
        identity = request.POST.get("identity", None)  # 读取get数据,None为默认值
        school = request.POST.get("school", None)  # 读取get数据,None为默认值
        qunid = request.POST.get("qunid", 0)  # 读取get数据,None为默认值

    if request.method == "GET":
        phone = request.GET.get("phone", None)  # 读取get数据,None为默认值
        password = request.GET.get("password", None)  # 读取get数据,None为默认值
        identity = request.GET.get("identity", None)  # 读取get数据,None为默认值
        school = request.GET.get("school", None)  # 读取get数据,None为默认值
        qunid = request.GET.get("qunid", 0)  # 读取get数据,None为默认值

    print("用户登录接口参数:电话", phone, "密码", password)
    user.phone = phone
    user.password = password

    user = UserDAO.login(user)
    if (user):
        if (identity): user.identity = identity
        if (school): user.school = school
        UserDAO.updateUserInfo(user)
        # 如果登陆时需要加入群组,这里加入群组
        if (qunid):
            try:
                qun = QunDAO.getqunInfoqunid(qunid)
                userqun = Userqun()
                userqun.userid = user.id
                userqun.qunid = qunid
                userquntemp = UserqunDAO.getuserqunInfouserqun(userqun)
                if (not userquntemp):
                    if (qun.quntype == ResultCode.QUN_USER
                            or qun.quntype == ResultCode.QUN_USER_DIARY or
                            qun.quntype == ResultCode.QUN_USER_DIARY_NOT_USER):
                        userqun.userstate = ResultCode.USERQUN_NOT
                    else:
                        userqun.userstate = ResultCode.USERQUN_YUAN

                    UserqunDAO.adduserqun(userqun)

                    # 添加群聊关系
                    chatuser = Chatuser()
                    chatuser.send_id = qunid
                    chatuser.receive_id = user.id
                    chatuser.usertype = ResultCode.CHATUSER_TYPE_QUN
                    chatuser.state = ResultCode.CHATUSER_HIDE
                    chatuser.abid = str(qunid)
                    chatuser.content = ""
                    chatuser.time = TimeUtil.getCurrentTime()
                    chatuser.date = TimeUtil.getCurrentDate()
                    ChatuserDAO.addchatuser(chatuser)

            except Exception as e:
                print(e)

        user_me_back = user2meBack(user)
        # appBean = AppVersionDAO.queryVersionById(1)   # 这里要求数据库中首先在版本表中存在版本的相关信息
        result["data"] = user_me_back
        result["respcode"] = ResultCode.SUCCESS
        result["errorcode"] = ""
        result["message"] = "登陆成功"
        print('登陆成功')
    else:
        result["data"] = ""
        result["respcode"] = ResultCode.FAIL
        result["errorcode"] = ResultCode.FAIL
        result["message"] = "账号或密码错误"
        print('账号密码错误')

    return JsonResponse(result)
示例#28
0
def userRegist(request):
    user = User()
    result = {}
    if request.method == "POST":
        phone = request.POST.get("phone", None)  # 读取post数据,None为默认值
        qunid = request.POST.get("qunid", 0)  # 读取get数据,None为默认值
        password = request.POST.get("password", None)  # 读取post数据,None为默认值
        name = request.POST.get("name", None)  # 读取post数据,None为默认值
        identity = request.POST.get("identity", None)  # 读取post数据,None为默认值
        email = request.POST.get("email", None)  # 读取post数据,None为默认值
        address = request.POST.get("address", None)  # 读取post数据,None为默认值
        school = request.POST.get("school", None)  # 读取post数据,None为默认值
        usertype = request.POST.get("usertype", 0)  # 读取post数据,None为默认值
        usericon = request.POST.get("usericon", None)  # 读取get数据,None为默认值
        wechat = request.POST.get("wechat", None)  # 读取get数据,None为默认值
        alipay = request.POST.get("alipay", None)  # 读取get数据,None为默认值
        parameter1 = request.POST.get("parameter1", None)  # 读取get数据,None为默认值
        parameter2 = request.POST.get("parameter2", None)  # 读取get数据,None为默认值
        parameter3 = request.POST.get("parameter3", None)  # 读取get数据,None为默认值
        parameter4 = request.POST.get("parameter4", None)  # 读取get数据,None为默认值
        parameter5 = request.POST.get("parameter5", None)  # 读取get数据,None为默认值
        parameter6 = request.POST.get("parameter6", None)  # 读取get数据,None为默认值
        parameter7 = request.POST.get("parameter7", None)  # 读取get数据,None为默认值
        parameter8 = request.POST.get("parameter8", None)  # 读取get数据,None为默认值
        parameter9 = request.POST.get("parameter9", None)  # 读取get数据,None为默认值
        parameter10 = request.POST.get("parameter10", None)  # 读取get数据,None为默认值
        parameter11 = request.POST.get("parameter11", None)  # 读取get数据,None为默认值
        parameter12 = request.POST.get("parameter12", None)  # 读取get数据,None为默认值
        parameter13 = request.POST.get("parameter13", None)  # 读取get数据,None为默认值
        parameter14 = request.POST.get("parameter14", None)  # 读取get数据,None为默认值
        parameter15 = request.POST.get("parameter15", None)  # 读取get数据,None为默认值
        parameter16 = request.POST.get("parameter16", None)  # 读取get数据,None为默认值
        parameter17 = request.POST.get("parameter17", None)  # 读取get数据,None为默认值
        parameter18 = request.POST.get("parameter18", None)  # 读取get数据,None为默认值
        parameter19 = request.POST.get("parameter19", None)  # 读取get数据,None为默认值
        parameter20 = request.POST.get("parameter20", None)  # 读取get数据,None为默认值

    if request.method == "GET":
        phone = request.GET.get("phone", None)  # 读取get数据,None为默认值
        qunid = request.GET.get("qunid", 0)  # 读取get数据,None为默认值
        password = request.GET.get("password", None)  # 读取get数据,None为默认值
        name = request.GET.get("name", None)  # 读取get数据,None为默认值
        identity = request.GET.get("identity", None)  # 读取get数据,None为默认值
        email = request.GET.get("email", None)  # 读取get数据,None为默认值
        address = request.GET.get("address", None)  # 读取get数据,None为默认值
        school = request.GET.get("school", None)  # 读取get数据,None为默认值
        usertype = request.GET.get("usertype", 0)  # 读取post数据,None为默认值
        usericon = request.GET.get("usericon", None)  # 读取get数据,None为默认值
        wechat = request.GET.get("wechat", None)  # 读取get数据,None为默认值
        alipay = request.GET.get("alipay", None)  # 读取get数据,None为默认值
        parameter1 = request.GET.get("parameter1", None)  # 读取get数据,None为默认值
        parameter2 = request.GET.get("parameter2", None)  # 读取get数据,None为默认值
        parameter3 = request.GET.get("parameter3", None)  # 读取get数据,None为默认值
        parameter4 = request.GET.get("parameter4", None)  # 读取get数据,None为默认值
        parameter5 = request.GET.get("parameter5", None)  # 读取get数据,None为默认值
        parameter6 = request.GET.get("parameter6", None)  # 读取get数据,None为默认值
        parameter7 = request.GET.get("parameter7", None)  # 读取get数据,None为默认值
        parameter8 = request.GET.get("parameter8", None)  # 读取get数据,None为默认值
        parameter9 = request.GET.get("parameter9", None)  # 读取get数据,None为默认值
        parameter10 = request.GET.get("parameter10", None)  # 读取get数据,None为默认值
        parameter11 = request.GET.get("parameter11", None)  # 读取get数据,None为默认值
        parameter12 = request.GET.get("parameter12", None)  # 读取get数据,None为默认值
        parameter13 = request.GET.get("parameter13", None)  # 读取get数据,None为默认值
        parameter14 = request.GET.get("parameter14", None)  # 读取get数据,None为默认值
        parameter15 = request.GET.get("parameter15", None)  # 读取get数据,None为默认值
        parameter16 = request.GET.get("parameter16", None)  # 读取get数据,None为默认值
        parameter17 = request.GET.get("parameter17", None)  # 读取get数据,None为默认值
        parameter18 = request.GET.get("parameter18", None)  # 读取get数据,None为默认值
        parameter19 = request.GET.get("parameter19", None)  # 读取get数据,None为默认值
        parameter20 = request.GET.get("parameter20", None)  # 读取get数据,None为默认值

    print("注册用户接口参数:电话", phone, "密码", password, "名称:", name)
    if (not phone or not password):
        result["data"] = ""
        result["respcode"] = ResultCode.FAIL
        result["errorcode"] = ResultCode.FAIL
        result["message"] = "注册失败,电话密码不能为空"
        print("注册失败,电话密码不能为空")
        return JsonResponse(result)

    # 先查询手机号是否已经注册过了
    u = UserDAO.queryuserforphone(phone)
    if u:
        result["data"] = ResultCode.FAIL
        result["respcode"] = ResultCode.FAIL
        result["errorcode"] = ResultCode.USEREXIST
        result["message"] = "注册失败,用户已经存在"
        print("注册失败用户存在")
    else:
        # u1 = UserDAO.queryUserForidentity(identity)
        # if u1:
        #     result["data"] = ResultCode.FAIL
        #     result["respcode"] = ResultCode.FAIL
        #     result["errorcode"] = ResultCode.USEREXIST
        #     result["message"] = "注册失败,该用户已经注册过一次"
        # else:
        user.usertype = usertype
        if (usertype == 0):
            user.state = ResultCode.USERQUN_NOT  # 客户从手机端注册,,默认为未审核
        if (usertype == 1):
            user.state = ResultCode.USERQUN_QUNZHU  # 代理商从pc端注册,默认为审核
        user.image = usericon
        user.email = email
        user.phone = phone
        user.password = password
        user.name = name
        user.address = address
        user.school = school
        user.identity = identity
        user.wechat = wechat
        user.alipay = alipay
        user.parameter1 = parameter1
        user.parameter2 = parameter2
        user.parameter3 = parameter3
        user.parameter4 = parameter4
        user.parameter5 = parameter5
        user.parameter6 = parameter6
        user.parameter7 = parameter7
        user.parameter8 = parameter8
        user.parameter9 = parameter9
        user.parameter10 = parameter10
        user.parameter11 = parameter11
        user.parameter12 = parameter12
        user.parameter13 = parameter13
        user.parameter14 = parameter14
        user.parameter15 = parameter15
        user.parameter16 = parameter16
        user.parameter17 = parameter17
        user.parameter18 = parameter18
        user.parameter19 = parameter19
        user.parameter20 = parameter20

        UserDAO.regist(user)  # 注册函数  无返回值
        users = UserDAO.login(user)  # 同时登陆,返回数据,尤其是ID号
        # 如果注册时需要加入群组,这里加入群组
        if (qunid):
            try:
                # 添加用户群关系就是加入了群组
                qun = QunDAO.getqunInfoqunid(qunid)
                userqun = Userqun()
                userqun.userid = users.id
                userqun.qunid = qunid
                userquntemp = UserqunDAO.getuserqunInfouserqun(userqun)
                if (not userquntemp):
                    if (qun.quntype == ResultCode.QUN_USER
                            or qun.quntype == ResultCode.QUN_USER_DIARY or
                            qun.quntype == ResultCode.QUN_USER_DIARY_NOT_USER):
                        userqun.userstate = ResultCode.USERQUN_NOT
                    else:
                        userqun.userstate = ResultCode.USERQUN_YUAN
                    UserqunDAO.adduserqun(userqun)

                    # 添加群聊关系
                    chatuser = Chatuser()
                    chatuser.send_id = qunid
                    chatuser.receive_id = users.id
                    chatuser.usertype = ResultCode.CHATUSER_TYPE_QUN
                    chatuser.state = ResultCode.CHATUSER_HIDE
                    chatuser.abid = str(qunid)
                    chatuser.content = ""
                    chatuser.time = TimeUtil.getCurrentTime()
                    chatuser.date = TimeUtil.getCurrentDate()
                    ChatuserDAO.addchatuser(chatuser)
            except Exception as e:
                print(e)
        usermeback = user2meBack(users)

        result["data"] = usermeback
        result["respcode"] = ResultCode.SUCCESS
        result["errorcode"] = ""
        result["message"] = "注册成功"
        print("注册成功")

    return JsonResponse(result)
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        # user = User(oxygen_concentration=form.oxygen_concentration.data, dry_cough=form.dry_cough.data,
        #  septic_shock=form.septic_shock.data, age=form.age.data, breathe_rate=form.breathe_rate.data,
        # prior_disease=form.prior_disease.data)
        dataset = pd.read_csv(
            'C:\ProgramFiles\JetBrains\PyCharmCommunityEdition2019.3.3\Covid19_Final_dataset.csv'
        )
        # Reading the covid-19 dataset using pandas
        # print(dataset.head())
        dataset = dataset.replace([np.inf, -np.inf], np.nan).dropna(axis=0)
        # Cleaning the dataset to increase the performance
        septic_shock = LabelEncoder()
        dry_cough = LabelEncoder()  # Labelling the string data as integers
        prior_disease = LabelEncoder()
        dataset['Septic_Shock'] = septic_shock.fit_transform(
            dataset['Septic Shock'])
        dataset['Dry_Cough'] = dry_cough.fit_transform(
            dataset['Dry Cough'])  # Creating new columns of labelled data
        dataset['Prior_Disease'] = prior_disease.fit_transform(
            dataset['Prior Respiratory Disease'])
        x = np.array(
            dataset.drop([
                'Septic Shock', 'Dry Cough', 'Prior Respiratory Disease',
                'Severity Status'
            ],
                         axis='columns'))
        # Creating a feature data
        y = np.array(dataset['Severity Status'])  # creating the target data
        reg = KNeighborsClassifier(
            n_neighbors=1
        )  # training the model using K nearest neighbour algorithm
        x_train, x_test, y_train, y_test = train_test_split(x,
                                                            y,
                                                            test_size=0.1,
                                                            random_state=0)
        # splitting the data into training and testing data. 30% of the data is for testing
        reg.fit(x_train, y_train)
        reg.fit(x_train, y_train)  # training the model
        # print(x_train)
        # print('The model gives you information about COVID-19 status based on your visible symptoms')
        # print('Enter 0 if your answer is No, if answer is Yes, enter 1')
        breadth_rate = form.breathe_rate.data
        oxygen_concentration = form.oxygen_concentration.data
        age = form.age.data
        septic_shock = form.septic_shock.data
        dry_cough = form.dry_cough.data
        prior_disease = form.prior_disease.data

        classified = reg.predict([[
            breadth_rate, oxygen_concentration, age, septic_shock, dry_cough,
            prior_disease
        ]])
        # classify the input features or symptoms.
        if classified == 0 or classified == 1:
            temp = 'The symptoms do not promise COVID-19. Stay alert and take every possible precaution.'
            if dry_cough == 1:
                temp += 'At-home treatments: A cough that results from a virus can’t be treated with antibiotics. ' \
                        'You can, however, soothe it in the following ways: Keep hydrated by drinking plenty of ' \
                        'water. Elevate your head with extra pillows when sleeping. Use cough drops to ' \
                        'soothe your throat. Gargle with warm salt water regularly to remove mucus and soothe ' \
                        'your throat. Avoid irritants, including smoke and dust. Add honey or ginger to hot ' \
                        'tea to relieve your cough and clear your airway. Use decongestant sprays to unblock ' \
                        'your nose and ease breathing.'
            if septic_shock == 1:
                temp += 'There are a few steps that people can take to reduce their risk of developing sepsis and ' \
                        'septic shock: Get regular vaccinations against viral infections, such as flu, pneumonia, ' \
                        'chickenpox, HIV, and other infections that could potentially lead to sepsis. Practice ' \
                        'good hygiene, such as bathing and changing clothes regularly. Washing the hands frequently, ' \
                        'especially after handling food, touching pets, and using bathroom facilities, is another way ' \
                        'to keep infection at bay. Care for and clean any open or gaping wounds. Wear disposable ' \
                        'gloves, and rinse wounds with clean, soap-free water to clear out debris or dirt. Cover ' \
                        'the wound to protect it, and see a doctor if the wound does not close or might still ' \
                        'contain dirt. Look out for signs of infection, such as fever, chills, rapid breathing, ' \
                        'rash, or confusion. For any bacterial infections, follow the doctor’s advice on how to take ' \
                        'the antibiotics and finish the whole course of treatment. Store the medicine according to the ' \
                        'packaging instructions. Treat fungal and parasitic infections as soon as symptoms appear, ' \
                        'and use medication specific to the particular fungus or parasite. Control diabetes, if ' \
                        'relevant. Avoid smoking.'
            if prior_disease == 1:
                temp += 'N95 masks must be worn when taking care of this type of patient. Place the patient in a ' \
                        'negative airflow room with anteroom. Keep the door closed to maintain the negative airflow.'
            string = User(string1=temp)
            db.session.add(string)
        elif classified == 2:
            string = User(string1='The symptoms direct to a moderate case.'
                          )  # telling the user, the condition
            db.session.add(string)
        else:
            string = User(
                string1='The symptoms correspond to a critical case.')
            db.session.add(string)
        db.session.commit()
        # db.session.add(user)
        # db.session.commit()
        return redirect(url_for('details'))
    return render_template('Covid-19.html', form=form)
示例#30
0
def register(request):
    if request.session.get('is_login', None):
        return redirect('/homepage/')
    if request.method == 'POST':
        user_name = request.POST.get('username', '')
        pass_word_1 = request.POST.get('password_1', '')
        pass_word_2 = request.POST.get('password_2', '')
        name = request.POST.get('name', '')
        collage = request.POST.get('collage', '')
        sex = request.POST.get('sex', '')
        classname = request.POST.get('classname', '')
        tel = request.POST.get('tel', '')
        email = request.POST.get('email', '')
        usertype = request.POST.get('usertype', '')
        if User.objects.filter(username=user_name):
            return render(request, 'login/register.html', {'error': '用户已存在'}, locals())
            # 将表单写入数据库
        if pass_word_1 != pass_word_2:
            return render(request, 'login/register.html', {'error': '两次密码请输入一致'}, locals())
        user = User()
        user.username = user_name
        user.password = pass_word_1
        user.tel = tel
        user.classname = classname
        user.collage = collage
        user.email = email
        user.name = name
        user.sex = sex
        user.usertype = usertype
        user.save()
        # 返回注册成功页面
        return redirect('login/login.html')
    else:
        return render(request, 'login/register.html', locals())
示例#31
0
def updateuserinf(request):
    result = {}
    user = User()
    if request.method == "POST":
        userid = request.POST.get("userid", None)  # 读取post数据,None为默认值
        phone = request.POST.get("phone", None)  # 读取post数据,None为默认值
        qunidstr = request.POST.get("qunid", None)  # 读取get数据,None为默认值
        password = request.POST.get("password", None)  # 读取post数据,None为默认值
        name = request.POST.get("name", None)  # 读取post数据,None为默认值
        identity = request.POST.get("identity", None)  # 读取post数据,None为默认值
        email = request.POST.get("email", None)  # 读取post数据,None为默认值
        address = request.POST.get("address", None)  # 读取post数据,None为默认值
        id_number = request.POST.get("id_number", None)  # 读取get数据,None为默认值
        push_userId = request.POST.get("push_userId", None)  # 读取get数据,None为默认值
        push_channelId = request.POST.get("push_channelId", None)  # 读取get数据,None为默认值
        school = request.POST.get("school", None)  # 读取post数据,None为默认值
        usertype = request.POST.get("usertype", 0)  # 读取post数据,None为默认值
        usericon = request.POST.get("usericon", None)  # 读取get数据,None为默认值
        wechat = request.POST.get("wechat", None)  # 读取get数据,None为默认值
        alipay = request.POST.get("alipay", None)  # 读取get数据,None为默认值
        parameter1 = request.POST.get("parameter1", None)  # 读取get数据,None为默认值
        parameter2 = request.POST.get("parameter2", None)  # 读取get数据,None为默认值
        parameter3 = request.POST.get("parameter3", None)  # 读取get数据,None为默认值
        parameter4 = request.POST.get("parameter4", None)  # 读取get数据,None为默认值
        parameter5 = request.POST.get("parameter5", None)  # 读取get数据,None为默认值
        parameter6 = request.POST.get("parameter6", None)  # 读取get数据,None为默认值
        parameter7 = request.POST.get("parameter7", None)  # 读取get数据,None为默认值
        parameter8 = request.POST.get("parameter8", None)  # 读取get数据,None为默认值
        parameter9 = request.POST.get("parameter9", None)  # 读取get数据,None为默认值
        parameter10 = request.POST.get("parameter10", None)  # 读取get数据,None为默认值
        parameter11 = request.POST.get("parameter11", None)  # 读取get数据,None为默认值
        parameter12 = request.POST.get("parameter12", None)  # 读取get数据,None为默认值
        parameter13 = request.POST.get("parameter13", None)  # 读取get数据,None为默认值
        parameter14 = request.POST.get("parameter14", None)  # 读取get数据,None为默认值
        parameter15 = request.POST.get("parameter15", None)  # 读取get数据,None为默认值
        parameter16 = request.POST.get("parameter16", None)  # 读取get数据,None为默认值
        parameter17 = request.POST.get("parameter17", None)  # 读取get数据,None为默认值
        parameter18 = request.POST.get("parameter18", None)  # 读取get数据,None为默认值
        parameter19 = request.POST.get("parameter19", None)  # 读取get数据,None为默认值
        parameter20 = request.POST.get("parameter20", None)  # 读取get数据,None为默认值

    if request.method == "GET":
        userid = request.GET.get("userid", None)  # 读取get数据,None为默认值
        phone = request.GET.get("phone", None)  # 读取get数据,None为默认值
        qunidstr = request.GET.get("qunid", None)  # 读取get数据,None为默认值
        password = request.GET.get("password", None)  # 读取get数据,None为默认值
        name = request.GET.get("name", None)  # 读取get数据,None为默认值
        identity = request.GET.get("identity", None)  # 读取get数据,None为默认值
        email = request.GET.get("email", None)  # 读取get数据,None为默认值
        address = request.GET.get("address", None)  # 读取get数据,None为默认值
        id_number = request.GET.get("id_number", None)  # 读取get数据,None为默认值
        push_userId = request.GET.get("push_userId", None)  # 读取get数据,None为默认值
        push_channelId = request.GET.get("push_channelId", None)  # 读取get数据,None为默认值
        school = request.GET.get("school", None)  # 读取get数据,None为默认值
        usertype = request.GET.get("usertype", 0)  # 读取post数据,None为默认值
        usericon = request.GET.get("usericon", None)  # 读取get数据,None为默认值
        wechat = request.GET.get("wechat", None)  # 读取get数据,None为默认值
        alipay = request.GET.get("alipay", None)  # 读取get数据,None为默认值
        parameter1 = request.GET.get("parameter1", None)  # 读取get数据,None为默认值
        parameter2 = request.GET.get("parameter2", None)  # 读取get数据,None为默认值
        parameter3 = request.GET.get("parameter3", None)  # 读取get数据,None为默认值
        parameter4 = request.GET.get("parameter4", None)  # 读取get数据,None为默认值
        parameter5 = request.GET.get("parameter5", None)  # 读取get数据,None为默认值
        parameter6 = request.GET.get("parameter6", None)  # 读取get数据,None为默认值
        parameter7 = request.GET.get("parameter7", None)  # 读取get数据,None为默认值
        parameter8 = request.GET.get("parameter8", None)  # 读取get数据,None为默认值
        parameter9 = request.GET.get("parameter9", None)  # 读取get数据,None为默认值
        parameter10 = request.GET.get("parameter10", None)  # 读取get数据,None为默认值
        parameter11 = request.GET.get("parameter11", None)  # 读取get数据,None为默认值
        parameter12 = request.GET.get("parameter12", None)  # 读取get数据,None为默认值
        parameter13 = request.GET.get("parameter13", None)  # 读取get数据,None为默认值
        parameter14 = request.GET.get("parameter14", None)  # 读取get数据,None为默认值
        parameter15 = request.GET.get("parameter15", None)  # 读取get数据,None为默认值
        parameter16 = request.GET.get("parameter16", None)  # 读取get数据,None为默认值
        parameter17 = request.GET.get("parameter17", None)  # 读取get数据,None为默认值
        parameter18 = request.GET.get("parameter18", None)  # 读取get数据,None为默认值
        parameter19 = request.GET.get("parameter19", None)  # 读取get数据,None为默认值
        parameter20 = request.GET.get("parameter20", None)  # 读取get数据,None为默认值



    print("更新资料接口参数:" + "昵称:" + name + "手机号" + phone + "邮箱:" + email + "身份账号" + id_number + "地址:" + address)

    user = UserDAO.getUserInfoId(userid)
    if(not user):
        result["message"]= "修改用户资料失败"
        result["respcode"]= ResultCode.FAIL
        result["data"]="0"
        result["errorcode"]= ResultCode.FAIL
        return result

    user.id = userid
    if(name):  user.name=name
    if(qunidstr):  user.qunid=int(qunidstr)
    if(phone):  user.phone=phone
    if(email):  user.email=email
    if(id_number):  user.id_number=id_number
    if(address):  user.address=address
    if(school):  user.school=school
    if(wechat):  user.wechat=wechat
    if(alipay):  user.alipay=alipay
    if(usericon):  user.image=usericon
    if(push_userId):  user.push_userId=push_userId
    if(push_channelId):  user.push_channelId=push_channelId
    if(parameter1):  user.parameter1=parameter1
    if(parameter2):  user.parameter2=parameter2
    if(parameter3):  user.parameter3=parameter3
    if(parameter4):  user.parameter4=parameter4
    if(parameter5):  user.parameter5=parameter5
    if(parameter6):  user.parameter6=parameter6
    if(parameter7):  user.parameter7=parameter7
    if(parameter8):  user.parameter8=parameter8
    if(parameter9):  user.parameter9=parameter9
    if(parameter10):  user.parameter10=parameter10
    if(parameter11):  user.parameter11=parameter11
    if(parameter12):  user.parameter12=parameter12
    if(parameter13):  user.parameter13=parameter13
    if(parameter14):  user.parameter14=parameter14
    if(parameter15):  user.parameter15=parameter15
    if(parameter16):  user.parameter16=parameter16
    if(parameter17):  user.parameter17=parameter17
    if(parameter18):  user.parameter18=parameter18
    if(parameter19):  user.parameter19=parameter19
    if(parameter20):  user.parameter20=parameter20

    #升级为高级会员的条件,能创建群组
    if(id_number):
        pass
        #user.setState(ResultCode.USER_VIP)


    try:
        #先修该用户资料
        UserDAO.updateUserInfo(user)
        #根据用户id查询用户信息
        users_back = UserDAO.getUserInfoId(user.id)

        #将返回信息转变为本文信息类
        loginResult = user2meBack(users_back)

        result["data"]=  loginResult
        result["respcode"]=  ResultCode.SUCCESS
        result["errorcode"]=  ""
        result["message"]=  "修改用户资料成功"


    except Exception as e:
        print(e)
        result["message"]=  "修改用户资料失败"
        result["respcode"]=  ResultCode.FAIL
        result["data"]=  "0"
        result["errorcode"]=  ResultCode.FAIL

    return result