예제 #1
0
def add_info():
    try:
        req_data = request.get_json()
        u_id = req_data["u_id"]
        u_name = req_data["u_name"]
        u_sex = req_data["u_sex"]
        u_height = req_data["u_height"]
        u_weight = req_data["u_weight"]
        print(req_data)
    except:
        return jsonify({
            "status": 400,
            "msg": "请求参数错误"
        })
    else:
        query = db.session.query(UserInfo).filter(UserInfo.u_id == u_id)
        if query.count() == 0:
            new_info = UserInfo(u_id=u_id, u_height=u_height, u_weight=u_weight, u_relname=u_name, u_sex=u_sex)
            db.session.add(new_info)
            db.session.commit()
            return jsonify({
                "status": 200,
                "msg": "添加用户详细信息成功"
            })
        else:
            return jsonify({
                "status": 300,
                "msg": "记录已存在"
            })
예제 #2
0
    def import_user_es(self):
        try:
            self._cursor.execute(self.SQL)
            result_list = self._cursor.fetchall()
            for res in result_list:
                userinfo = UserInfo(_userlink=res[0],
                                    _nickname=res[1],
                                    _bio=res[2],
                                    _weibo=res[3],
                                    _location=res[4],
                                    _business=res[5],
                                    _career=res[6],
                                    _education=res[7],
                                    _upvote=res[8],
                                    _thanks=res[9],
                                    _collection=res[10],
                                    _share=res[11],
                                    _followees=res[12],
                                    _followers=res[13],
                                    _views=res[14])
                self.generate_user_model(userinfo=userinfo,
                                         esmodel=self._esmodel)
                print "Import successfully"

        except MySQLdb.Error, e:
            print "Error %d: %s" % (e.args[0], e.args[1])
예제 #3
0
def register():
    dict1 = request.form
    mobile = dict1.get('mobile')
    yzm_image = dict1.get('yzm_image')
    yzm_sms = dict1.get('yzm_sms')
    pwd = dict1.get('pwd')
    if not all([mobile, yzm_image, yzm_sms, pwd]):
        return jsonify(result=1)
    if yzm_image != session['image_yzm']:
        return jsonify(result=2)
    if int(yzm_sms) != session['sms_yzm']:
        return jsonify(result=3)
    if not re.match(r'[a-zA-Z0-9_]{6,20}', pwd):
        return jsonify(result=4)
    mobile_count = UserInfo.query.filter_by(mobile=mobile).count()
    if mobile_count > 0:
        return jsonify(result=5)
    user = UserInfo()
    user.nick_name = mobile
    user.mobile = mobile
    user.password = pwd
    try:
        db.session.add(user)
        db.session.commit()
    except:
        current_app.logger_xjzx.error('用户注册访问数据库失败')
        return jsonify(result=7)
    return jsonify(result=6)
예제 #4
0
def register():
    # 接收
    form = request.form
    mobile = form.get('mobile')  # '' None
    # sms_code = form.get('sms_code')
    pwd = form.get('pwd')
    # 验证
    # 1.所有数据不为空
    # if not all([mobile, sms_code, pwd]):  # 判断参数中是否有空值bool(x)
    #     return jsonify(result=1)  # 参数为空则返回1
    # # 2.验证短信是否正确
    # sms_code_session = str(session.get('sms_code'))
    # if sms_code != sms_code_session:
    #     return jsonify(result=2)  # 短信验证码错误
    # 3.验证手机号是否存在
    mobile_exists = UserInfo.query.filter_by(mobile=mobile).count()
    if mobile_exists:
        return jsonify(result=3)  # 手机号存在
    # 4.验证当前手机号是否与接收短信的手机号一致
    # mobile_session = session.get('mobile')
    # if mobile != mobile_session:
    #     return jsonify(result=5)  # 两次手机号不一致

    # 处理:新建对象并保存
    user = UserInfo()
    user.nick_name = mobile
    user.mobile = mobile
    user.password = pwd
    # 添加
    db.session.add(user)
    # 保存到数据库
    db.session.commit()

    # 响应
    return jsonify(result=4)  # 注册成功
예제 #5
0
 def get_chat_data(self):
     """
     Get chat data from context, if it's first conversation save user info data
     :return: dialog_data(list) with: chat_id, command, step
     """
     dialog, created = DialogStepRouting.objects.\
         update_or_create(chat_id=self.context['message']['chat']['id'],
                          defaults={'chat_id': self.context['message']['chat']['id'],
                                    'command': self.context['message']['text'],
                                    'step': 0})
     if created:
         # If new dialog safe user info
         user_info = UserInfo(
             first_name=self.context['message']['from'].get(
                 'first_name', ''),
             last_name=self.context['message']['from'].get('last_name', ''),
             username=self.context['message']['from'].get('last_name', ''),
             chat_id=self.context['message']['from']['id'])
         user_info.save()
     dialog_data = {
         'chat_id': dialog.chat_id,
         'command': dialog.command,
         'step': dialog.step,
         'created': created
     }
     return dialog_data
예제 #6
0
def regist(request):
    # 所有返回数据都写到这里面
    return_data = dict()
    if request.method == "POST":
        user_name = request.POST.get("user_name","")
        user_psw = request.POST.get("user_psw","")
        # 通过正则匹配密码强度,匹配做两次,防止有人恶意更改
        result = UserInfo.objects.filter(user_name=user_name)
        if result:
            return_data["status"] = 0
            return_data["msg"] = "用户名已存在,请换个名字"
            return HttpResponse(json.dumps(return_data),content_type="application/json",status=404)
        else:
            if user_name == "" or user_psw == "":
                return_data["status"] = 0
                return_data["msg"] = "用户名密码不能为空"
                return HttpResponse(json.dumps(return_data), content_type="application/json", status=404)
            user = UserInfo()
            user.user_name = user_name
            user.user_psw = secure.md5_32(user_psw)
            user.user_head = ""
            user.save()
            return_data["status"] = 1
            return_data["msg"] = "注册成功"
            return HttpResponse(json.dumps(return_data), content_type="application/json", status=200)

    return render(request,"regist.html",{
        "title":"注册页面",
    })
예제 #7
0
def register_handle(request):
    """注册验证"""
    # 获取注册信息
    post = request.POST
    uname = post.get('user_name')
    upwd1 = post.get('pwd')
    upwd2 = post.get('cpwd')
    uemail = post.get('email')
    # 验证两次密码是否相同
    if upwd1 == upwd2:
        # 密码加密
        s1 = sha1()
        s1.update(upwd1)
        upwd3 = s1.hexdigest()

        #存入数据库
        user = UserInfo()
        user.uname = uname
        user.upwd = upwd3
        user.uemail = uemail
        user.save()

        return redirect('/user/login/')

    else:
        return redirect('/user/register/')
예제 #8
0
def add_user():
    fname = request.form['fname']
    lbrand = request.form['lbrand']
    phone = request.form['phone']
    email = request.form['email']
    gender = request.form['gender']
    left_power = request.form['left_power']
    right_power = request.form['right_power']
    age = request.form['age']
    paid = request.form['paid']
    address = request.form['address']
    price = request.form['price']
    date = datetime.date.today()
    #valdate = datetime.datetime.strptime(age,"%Y-%m-%d").date()
    me = UserInfo(first_name=fname,
                  mobile=phone,
                  email=email,
                  gender=gender,
                  age=age,
                  address=address)
    db.session.add(me)
    db.session.flush()
    sp = Spectacles(user_spec_id=me.user_id,
                    lens_brand=lbrand,
                    left_power=left_power,
                    right_power=right_power,
                    purchase_date=date,
                    price=price,
                    paid=paid)
    db.session.add(sp)
    db.session.commit()
    print("Registered")
    return redirect(url_for('register'))
예제 #9
0
def register():
    dict1 = request.form
    mobile = dict1.get('mobile')
    image_yzm = dict1.get('image_yzm')
    msg_yzm = dict1.get('msg_yzm')
    password = dict1.get('password')
    if not all((mobile, image_yzm, msg_yzm, password)):
        return jsonify(error_info='数据填写不完整')
    if len(mobile) != 11:
        return jsonify(error_info='手机号不合法')
    if UserInfo.query.filter_by(mobile=mobile).count():
        return jsonify(error_info='该手机号已经被注册过')
    if image_yzm != session['image_yzm']:
        return jsonify(error_info='图片验证码不正确')
    if msg_yzm != session['msg_yzm']:
        return jsonify(error_info='短信验证码不正确')
    if not re.match(r'\w{6,20}', password):
        return jsonify(error_info='密码格式不正确')
    user = UserInfo()
    user.mobile = mobile
    user.nick_name = mobile
    user.password = password
    try:
        db.session.add(user)
        db.session.commit()
        return jsonify(success_info='注册成功,请登录')
    except:
        return jsonify(error_info='服务器出错')
예제 #10
0
def add_user():
    fname = request.form['fname']
    lname = request.form['lname']
    phone = request.form['phone']
    email = request.form['email']
    gender = request.form['gender']
    left_power = request.form['left_power']
    right_power = request.form['right_power']
    dob = request.form['dob']
    address = request.form['address']
    price = request.form['price']
    date = datetime.date.today()
    me = UserInfo(first_name=fname,
                  last_name=lname,
                  mobile=phone,
                  email=email,
                  gender=gender,
                  dob=dob,
                  address=address)
    db.session.add(me)
    db.session.flush()
    sp = Spectacles(user_spec_id=me.user_id,
                    left_power=left_power,
                    right_power=right_power,
                    purchased_date=date,
                    price=price)
    db.session.add(sp)
    db.session.commit()
    print "Registered"
    return redirect(url_for('register'))
예제 #11
0
def register(request):
    if request.method == 'GET':
        return render(request, 'df_user/register.html', {'title': 'sign up'})

    elif request.method == 'POST':
        body = request.POST
        uname = body.get('user_name')
        upwd = body.get('pwd')
        upwd2 = body.get('cpwd')
        uemail = body.get('email')

        if upwd != upwd2:
            return redirect('/user/register/')

        s1 = sha1()
        s1.update(upwd)
        upwd3 = s1.hexdigest()

        user = UserInfo()
        user.uname = uname
        user.upwd = upwd3
        user.uemail = uemail

        user.save()

        return redirect('/user/login/')
예제 #12
0
 def get_prev_step(self):
     """
     Get previous step of dialog for this chat ID
     :return: dialog_date(list) with: chat_id, command, step
     """
     dialog, created = DialogStepRouting.objects. \
         get_or_create(chat_id=self.context['message']['chat']['id'],
                       defaults={'chat_id': self.context['message']['chat']['id'],
                                 'command': self.context['message'].get('text', ''),
                                 'step': 0})
     if created:
         # If new dialog safe user info
         user_info = UserInfo(
             first_name=self.context['message']['from'].get(
                 'first_name', ''),
             last_name=self.context['message']['from'].get('last_name', ''),
             username=self.context['message']['from'].get('last_name', ''),
             chat_id=self.context['message']['from']['id'])
         user_info.save()
     dialog_data = {
         'chat_id': dialog.chat_id,
         'command': dialog.command,
         'step': dialog.step,
         'created': created
     }
     return dialog_data
예제 #13
0
    def get(self, mode=''):
        if mode == 'login':
            if 'allowed' in self.request.cookies and \
                    self.request.cookies['allowed'].count('_'):
                _twitter_id, _login_hash = \
                    self.request.cookies['allowed'].split('_', 1)

                user_info = UserInfo.all().filter('twitter_id =',
                                                  _twitter_id).get()
                if user_info and _sha512(user_info.acc_key) == _login_hash:
                    self.session = Session()
                    self.session['twitter_id'] = _twitter_id
                    return self.redirect('/home')

            auth = _oauth_handler()
            auth_url = auth.get_authorization_url()
            memcache.set(auth.request_token.key, auth.request_token.secret,
                         3600)
            return self.redirect(auth_url)

        elif mode == 'verify':
            auth = _oauth_handler()
            ver = self.request.get('oauth_verifier')
            req_key = self.request.get('oauth_token')
            req_sec = memcache.get(req_key)
            auth.set_request_token(req_key, req_sec)
            acc_token = auth.get_access_token(ver)

            api = tweepy.API(auth_handler=auth)
            me = api.me()

            if not UserInfo.all().filter('twitter_id =', str(me.id)).get():
                user_info = UserInfo(twitter_id=str(me.id),
                                     screen_name=me.screen_name,
                                     name=me.name,
                                     image=me.profile_image_url,
                                     acc_key=acc_token.key,
                                     acc_sec=acc_token.secret)
                user_info.put()

            self.session = Session()
            self.session.delete_item('twitter_id')
            self.session['twitter_id'] = str(me.id)

            c = SimpleCookie()
            c['allowed'] = '%d_%s' % (me.id, _sha512(acc_token.key))
            c['allowed']['path'] = '/auth'
            c['allowed']['expires'] = 86400 * 10
            self.response.headers.add_header('Set-Cookie', c.output(header=''))

            return self.redirect('/home')

        elif mode == 'logout':
            user_info = _login_user(self)
            if user_info:
                self.session = Session()
                self.session.delete_item('twitter_id')

            return self.redirect('/')
예제 #14
0
def login():
    mobile = request.form.get('mobile')
    passwd = request.form.get('passwd')
    user = UserInfo().query.filter_by(mobile=mobile).first()
    if user and user.check_pwd(passwd):
        session['user_id'] = user.id
        return jsonify(res=2, nick_name=user.nick_name, avatar=user.avatar)
    return jsonify(res=1)
예제 #15
0
 def run(self):
     mobile = input('请输入账号:')
     password = input("请输入密码")
     user = UserInfo()
     user.mobile = mobile
     user.password = password
     user.isAdmin = True
     db.session.add(user)
     db.session.commit()
예제 #16
0
 def auth(self, *args, **kwargs):
     user = UserInfo.query.filter(UserInfo.id == 1).first()
     if not user:
         user = UserInfo()
         user.id = 1
         user.name = '匿名'
         user.username = '******'
         db.session.add(user)
         db.session.commit()
     self.login_user(user)
예제 #17
0
 def run(self):
     username = input('请输入管理员账号:')
     pwd = input('请输入密码')
     user = UserInfo()
     user.mobile = username
     user.nick_name = username
     user.password = pwd
     user.isAdmin = True
     db.session.add(user)
     db.session.commit()
     print('创建管理员成功')
예제 #18
0
def create_root(email, password, fullname):
    hash = argon2.hash(password)
    new_root = User(fullname=fullname, email=email, hash=hash, is_root=True)
    try:
        new_root.save()
        root = User.fetchone(email=email)
        root_info = UserInfo(
            user_id=root.id,
            permission_groups=[group.name for group in all_permission_groups])
        root_info.save()
    except UniqueViolatedError:
        print('Duplicated root user')
예제 #19
0
파일: views.py 프로젝트: halfopen/facestory
    def user_info():
        res = dict()
        if request.method == 'GET':
            openid = request.args.get('openid')
            user_info = UserInfo.query.filter_by(openid=openid).first()
            if user_info is not None:
                res = user_info.to_dict()

        elif request.method == 'POST':
            # '{"nickName":"我不是大哥","gender":1,"language":"zh_CN","city":"Xinzhou","province":"Shanxi","country":"China","avatarUrl":"https://wx.qlogo.cn/mmopen/vi_32/DYAIOgq83eokAGkics0CTDoLhUsukAmy4sTvb167M3kBKyGfYmBv0tj5InBiahpqhgXBaWic1Bz3OYXC2oYHCzNvg/132"}'
            if request.get_data() is not None:  # wx小程序请求格式

                json_data = str(request.get_data(), encoding="utf-8")
                json_dict = json.loads(json_data)
                json_dict.setdefault("")

                openid = json_dict.get('openid')
                nick_name = json_dict.get('nickName')
                avatar_url = json_dict.get('avatarUrl')
                gender = json_dict.get('gender')
                language = json_dict.get('language')
                province = json_dict.get('province')
                country = json_dict.get('country')
                city = json_dict.get('city')

            else:  # 普通post请求格式
                openid = request.form.get("openid")
                nick_name = request.form.get("nick_name")
                gender = str(request.form.get("gender", type=int, default=0))
                language = request.form.get("language")
                city = request.form.get("city")
                province = request.form.get("province")
                country = request.form.get("country")
                avatar_url = request.form.get("avatar_url")

            user_info_obj = UserInfo.query.filter_by(openid=openid).first()
            if user_info_obj is not None:  # 如果在数据库中已经有记录,则更新记录
                user_info_obj.nick_name = nick_name
                user_info_obj.gender = gender
                user_info_obj.language = language
                user_info_obj.city = city
                user_info_obj.province = province
                user_info_obj.country = country
                user_info_obj.avartar_url = avatar_url
            else:
                user_info_obj = UserInfo(openid, nick_name, gender, language,
                                         city, country, avatar_url)
            db.session.add(user_info_obj)
            db.session.commit()
            res = user_info_obj.to_dict()
        else:
            pass
        return Response(json.dumps(res), mimetype='application/json')
예제 #20
0
def bulk_users(dic, session):
    for key in dic:
        print(dic[key])
        if verify_user(dic[key]):
            username = dic[key]['name']
            answer = dic[key]['answerCount']
            url = dic[key]['url']
            sex = dic[key]['gender']
            new_user = UserInfo(username=username, answer_num=answer, url=url, sex=sex)
            MySQLServices.insert(session, new_user)
        else:
            continue
예제 #21
0
 def run(self):
     user_list = []
     for i in range(1000):
         user = UserInfo()
         user.mobile = str(i)
         user.create_time = datetime(2018, random.randint(1, 6),
                                     random.randint(1, 28))
         user.update_time = datetime(2018, random.randint(1, 6),
                                     random.randint(1, 28))
         user_list.append(user)
     db.session.add_all(user_list)
     db.session.commit()
예제 #22
0
 def run(self):
     user_list = []
     for i in range(100):
         user = UserInfo()
         user.nick_name = str(i)
         user.mobile = str(i)
         user.password = str(i)
         user.create_time = datetime(2018, random.randint(1, 7),
                                     random.randint(1, 16))
         user_list.append(user)
     db.session.add_all(user_list)
     db.session.commit()
     print('成功')
예제 #23
0
def user():
    if request.method == 'GET':
        user_info = UserInfo.query.filter(User.id == session['user_id']).first()
        print(user_info)
        return render_template('user.html', user_info=user_info)

    else:
        signature = request.form.get('signature')
        birthday = request.form.get('birthday')
        user_id = session['user_id']
        user_info = UserInfo.query.filter(User.id == session['user_id']).first()
        if user_info:
            db.session.delete(user_info)
            user_info = UserInfo(signature=signature, birthday=birthday, user_id=user_id)
            db.session.add(user_info)
            db.session.commit()
        else:
            user_info = UserInfo(signature=signature, birthday=birthday, user_id=user_id)
            db.session.add(user_info)
            db.session.commit()
        print(user_info.signature)
        return redirect(url_for('index'))
예제 #24
0
파일: my_command.py 프로젝트: k2tv/news
    def run(self):
        name = input('请输入用户名:')
        pwd = input('请输入密码:')

        user = UserInfo()
        user.mobile = name
        user.nick_name = name
        user.password = pwd
        user.isAdmin = True
        db.session.add(user)
        db.session.commit()

        print('管理员创建成功')
예제 #25
0
def user_pass_info():
    if request.method == 'GET':
        return render_template('news/user_pass_info.html')
    passwd_old = request.form.get('passwd_old')
    passwd_new = request.form.get('passwd_new')
    user_id = session.get('user_id')
    user = UserInfo().query.get(user_id)
    if user.check_pwd(passwd_old):
        user.password = passwd_new
        db.session.commit()
        del session['user_id']
        return jsonify(res=1)
    return jsonify(res=2)
예제 #26
0
def index(name):
    lst = []
    user_info = UserInfo()
    data = user_info.get_users(name)
    for item in data:
        dic = dict()
        dic["img_url"] = item["img_url"]
        dic["title"] = item["title"]
        dic["aut_name"] = item["aut_name"]
        dic["nid"] = str(item["_id"])  # object id
        desc = ",".join(item["materials"].keys())
        dic["desc"] = desc[:25] + '...' if len(desc) > 25 else desc  # 描述
        lst.append(dic)
    return jsonify(lst)
예제 #27
0
def create_user():
    data = request.json["User"]
    name = data["Name"]
    email = data["Email"]
    _password = data["Password"]
    # new user created
    new_user = UserInfo(name, email)
    new_user.hash_password(_password)
    try:
        session.add(new_user)
        session.commit()
        return jsonify(new_user.toJSON()), 201
    except:
        return {"Error": "Internal Server Error"}, 500
예제 #28
0
 def run(self):
     now = datetime.datetime.now()
     user_list = []
     for i in range(0000, 1000):
         user = UserInfo()
         user.nick_name = '1360000' + str(i)
         user.mobile = '1360000' + str(i)
         user.password = '******' + str(i)
         user.create_time = datetime.datetime(now.year,
                                              random.randint(1, 6),
                                              random.randint(1, now.day))
         user_list.append(user)
     db.session.add_all(user_list)
     db.session.commit()
def user(user_id):
    if request.method == 'GET':
        user_info = UserInfo.query.filter(
            UserInfo.user_id == user_id).first()  # 目标访问用户的信息
        if (user_info is None):  # 用户主页尚未设置。id=13,14为无效用户
            if (int(user_id) != session['user_id']):  # 访问别人主页
                user_info = UserInfo.query.filter(
                    UserInfo.user_id == 13).first()  # 不可修改
            else:  # 自己访问自己主页
                user_info = UserInfo.query.filter(
                    UserInfo.user_id == 14).first()  # 可初始化主页
        user = User.query.filter(
            User.id == session['user_id']).first()  # 当前登录的用户
        print(user_info)
        print(user)
        return render_template('user.html', user_info=user_info, user=user)

    else:
        signature = request.form.get('signature')
        birthday = request.form.get('birthday')
        user_id = session['user_id']
        user_info = UserInfo.query.filter(
            UserInfo.user_id == session['user_id']).first()
        if user_info:  # 先删除后增添
            db.session.delete(user_info)
            user_info = UserInfo(signature=signature,
                                 birthday=birthday,
                                 user_id=user_id)
            db.session.add(user_info)
        else:
            user_info = UserInfo(signature=signature,
                                 birthday=birthday,
                                 user_id=user_id)
            db.session.add(user_info)
        db.session.commit()
        print(user_info.signature)
        return redirect(url_for('index'))
예제 #30
0
 def run(self):
     """创建管理员"""
     mobile = input('请输入账号:')
     pwd = input('请输入密码')
     user_exists = UserInfo.query.filter_by(mobile=mobile).count()
     if user_exists > 0:
         print('此账号已经存在')
         return
     user = UserInfo()
     user.mobile = mobile
     user.password = pwd
     user.isAdmin = True
     db.session.add(user)
     db.session.commit()
     print('管理员创建成功')