Пример #1
0
def register():
    """
    用户注册
    :param username:用户名
    :param password:密码
    :return: json
    """
    User = currentUser()
    if User[0] == False or User[1]['username'] != 'admin':
        rtn = {'code': -1}

        return falseReturn(rtn, '没有权限,访问被拒绝')
    username = request.form.get('username')
    password = request.form.get('password')
    usr = Users.query.filter_by(username=username).first()
    if usr is not None:
        return falseReturn(-2, '用户名已被注册')
    user = Users(username=username,
                 password=Users.set_password(username, password))
    result = Users.add(username, user)
    if user.id is not None:
        returnUser = {
            'id': user.id,
            'username': user.username,
            'login_time': user.login_time
        }
        return jsonify(trueReturn(returnUser, "用户注册成功"))
    else:
        return jsonify(falseReturn('', '用户注册失败'))
Пример #2
0
 def put(self, id):
     user = current_user()
     activity = query_activity(id)
     if activity is None:
         return jsonify(falseReturn("该活动不存在"))
     if activity.sponsor_student_number != user.student_number:
         return jsonify(falseReturn("非法篡改"))
     try:
         title = request.form['title']
         bt = request.form['begin_time']
         et = request.form['end_time']
         content = request.form['content']
     except:
         return jsonify(falseReturn("缺少部分必要信息"))
     try:
         begin_time = int(
             time.mktime(time.strptime(bt, "%Y-%m-%d %H:%M:%S")))
         end_time = int(time.mktime(time.strptime(et, "%Y-%m-%d %H:%M:%S")))
     except:
         return jsonify(falseReturn("时间格式错误"))
     activity.title = title
     activity.content = content
     activity.begin_time = begin_time
     activity.end_time = end_time
     session_commit()
     return jsonify(trueReturn("修改文章成功"))
Пример #3
0
def pay():
    '''
    车辆支付过路费
    :param: car:下道车辆
    :return:json
    '''
    User = currentUser()
    if User[0] == False:
        return falseReturn(User[1])
    car = request.form.get("car")
    if car is None:
        rtn = {
            'code': -1,
        }
        return falseReturn(rtn, "参数不完整")
    toll = Toll.query.filter_by(car=car, status=0).first()
    rtn = {}
    if toll is None:
        rtn = {
            'code': -4,
        }
        return falseReturn(rtn, "车辆没有上道记录")
    if toll.fee is not None:
        toll.status = 1
        db.session.add(toll)
        db.session.commit()
        return trueReturn("success", "支付成功")
    rtn = {
        'code': -3,
    }
    return falseReturn(rtn, "车辆没有下道记录")
Пример #4
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 = common.falseReturn('', '请传递正确的验证头信息')
         else:
             auth_token = auth_tokenArr[1]
             payload = self.decode_auth_token(auth_token)
             if not isinstance(payload, str):
                 user = Users.get(Users, payload['data']['id'])
                 if (user is None):
                     result = common.falseReturn('', '找不到该用户信息')
                 else:
                     if (user.login_time == payload['data']['login_time']):
                         result = common.trueReturn(user.id, '请求成功')
                     else:
                         result = common.falseReturn('', 'Token已更改,请重新登录获取')
             else:
                 result = common.falseReturn('', payload)
     else:
         result = common.falseReturn('', '没有提供认证token')
     return result
Пример #5
0
 def delete(self, id):
     user = current_user()
     article = query_article(id)
     if article is None:
         return jsonify(falseReturn("该文章不存在"))
     if article.writer_student_number != user.student_number:
         return jsonify(falseReturn("非法删除,只有该文章的作者才可以删除文章"))
     Article.delete_article(article)
     return jsonify(trueReturn("删除文章成功"))
Пример #6
0
    def decorator(*args, **kwargs):
        token = request.form['token']
        if not token:
            return jsonify(falseReturn("需要token验证"))
        a_user = verify_auth_token(token)
        if a_user is None:
            return jsonify(falseReturn("非法token,请重新登录"))

        return f(*args, **kwargs)
Пример #7
0
def godown():
    '''
    车辆离开高速
    :param car:车牌号
    :param pos:下道口
    :return:json
    '''
    User = currentUser()
    if User[0] == False:
        return falseReturn(User[1])
    car = request.form.get("car")
    pos = request.form.get("pos")
    if car is None or pos is None:
        rtn = {
            'code': -1,
        }
        return falseReturn(rtn, "参数不完整")
    toll = Toll.query.filter_by(car=car, status=0).first()
    rtn = {}
    if toll is None:
        rtn = {
            'code': -4,
        }
        return falseReturn(rtn, "车辆没有上道记录")
    if toll.downp is not None:
        if toll.status is not None:
            if toll.status == 1:
                rtn = {
                    'code': 3,
                    'fee': toll.fee,
                    'upp': toll.upp,
                    'upt': toll.upt.strftime("%Y-%m-%d %H:%M:%S"),
                    'id': toll.id
                }
                return falseReturn(rtn, "车辆已下道且完成付费")
        rtn = {
            'code': 2,
            'fee': toll.fee,
            'upp': toll.upp,
            'upt': toll.upt.strftime("%Y-%m-%d %H:%M:%S"),
            'id': toll.id
        }
        return falseReturn(rtn, "车辆当前已在下道口但未付费")
    toll.downp = pos
    toll.downt = datetime.datetime.now()
    toll.downu = User[1]['id']
    toll.fee = calmoney(toll.upp, pos)
    db.session.add(toll)
    db.session.commit()
    rtn = {
        'code': 1,
        'fee': toll.fee,
        'upp': toll.upp,
        'upt': toll.upt.strftime("%Y-%m-%d %H:%M:%S"),
        'id': toll.id
    }
    return trueReturn(rtn)
Пример #8
0
 def delete(self, id):
     user = current_user()
     activity = query_activity(id)
     if activity is None:
         return jsonify(falseReturn("该活动不存在"))
     if activity.sponsor_student_number != user.student_number:
         return jsonify(falseReturn("非法删除,只有该活动的作者才可以删除该活动"))
     Activity.delete_activity(activity)
     return jsonify(trueReturn("删除活动成功"))
Пример #9
0
def wiki(key):
    if True:
        _wiki = Wiki.objects.filter(name=key)
        # Wiki(name='三角函数', content='<p>三角函数是基本初等函数之一,是以角度(数学上最常用弧度制,下同)为自变量,角度对应任意角终边与单位圆交点坐标或其比值为因变量的函数。</p>').save()
        if _wiki:
            wiki = _wiki[0]
        else:
            return jsonify(falseReturn('0000', '', '无此wiki'))
        # Wiki 内容
        return jsonify(trueReturn('1111', wiki.toJson(), ''))
    else:
        return jsonify(falseReturn('000', '', '查询失败'))
Пример #10
0
    def delete(self):
        user = current_user()
        try:
            attention_id = request.form['attention_id']
        except:
            return jsonify(falseReturn("缺少部分必要信息"))

        get_one = query_attention(attention_id)
        if user.student_number != get_one.student_number:
            return jsonify(falseReturn("非法删除"))
        if get_one is None:
            return jsonify(falseReturn("不存在该数据"))
        Attention.delete_attention(get_one)
        return jsonify(trueReturn("取消关注成功"))
Пример #11
0
def setconfig():
    key = request.args.get('key')
    value = request.args.get('value')
    if (set_config(key, value)):
        return jsonify(trueReturn("null", "设置成功!"))
    else:
        return jsonify(falseReturn("null", "设置失败!"))
Пример #12
0
def getConfig():
    key = request.args.get('key')

    if (get_config(key)):
        return jsonify(trueReturn(data=get_config(key), msg="获取成功!"))
    else:
        return jsonify(falseReturn("null", "获取失败"))
Пример #13
0
 def get(self, id):
     article = query_article(id)
     if article is None:
         return jsonify(falseReturn("该文章不存在"))
     data = []
     data.append(Article.get_article(article))
     history("article", article.title, id)
     return jsonify(true_data_Return(data, "", "获取数据成功"))
Пример #14
0
 def get(self, id):
     activity = query_activity(id)
     if activity is None:
         return jsonify(falseReturn("该活动不存在"))
     data = []
     data.append(Activity.get_activities(activity))
     history("activity", activity.title, id)
     return jsonify(true_data_Return(data, "", "获取数据成功"))
Пример #15
0
 def authenticate(self, username, password):
     """
     用户登录,登录成功返回token,写将登录时间写入数据库;登录失败返回失败原因
     :param password:
     :return: json
     """
     userInfo = Users.query.filter_by(username=username).first()
     if (userInfo is None):
         return jsonify(common.falseReturn('', '找不到用户'))
     else:
         if (Users.check_password(Users, userInfo.password, password)):
             login_time = int(time.time())
             userInfo.login_time = login_time
             Users.update(Users)
             token = self.encode_auth_token(userInfo.id, login_time)
             return jsonify(common.trueReturn(token.decode(), '登录成功'))
         else:
             return jsonify(common.falseReturn('', '密码不正确'))
Пример #16
0
 def put(self, id):
     user = current_user()
     article = query_article(id)
     if article is None:
         return jsonify(falseReturn("该文章不存在"))
     if article.writer_student_number != user.student_number:
         return jsonify(falseReturn("非法篡改"))
     try:
         title = request.form['title']
         content = request.form['content']
     except:
         return jsonify(falseReturn("缺少部分必要信息"))
     print(article.title)
     article.title = title
     article.content = content
     print(article.title)
     db.session.commit()
     return jsonify(trueReturn("修改文章成功"))
Пример #17
0
def deleteu():
    """
    删除用户
    :param:username:用户名
    :return:json
    """
    User = currentUser()
    if User[0] == False or User[1]['username'] != 'admin':
        rtn = {'code': -1}
        return falseReturn(rtn, '没有权限,访问被拒绝')
    username = request.form.get('username')
    if username == 'admin':
        return falseReturn(-1, '不能删除自己')
    usr = Users.query.filter_by(username=username).first()
    if usr is None:
        return falseReturn(-2, '找不到用户')
    db.session.delete(usr)
    db.session.commit()
    return trueReturn("success")
Пример #18
0
def search():
    """ search : 查一下
        返回分词结果,
    """
    _data = request.get_data()
    try:
        _data = json.loads(_data)
        key = _data['key']
        return jsonify(
            trueReturn('1111', {'data': executer.cutWords(key)}, "success"))
    except:
        return jsonify(falseReturn('0000', '', '请求失败'))
Пример #19
0
    def delete(self, student_number):
        user = current_user()
        h = query_all_history(student_number)
        if h is None:
            return jsonify(true_data_Return("null", "null", "无数据"))
        for i in h:
            if i.student_number != user.student_number:
                return jsonify(falseReturn("非法删除,错误"))
            else:
                History.delete_h(i)

        return jsonify(trueReturn("删除历史记录成功"))
Пример #20
0
 def post(self):
     user = current_user()
     try:
         title = request.form['title']
         content = request.form['content']
     except:
         return jsonify(falseReturn("缺少部分必要信息"))
     article_id = create_id()
     new = Article(title, user.student_number, article_id, content)
     db.session.add(new)
     session_commit()
     return jsonify(trueReturn("上传文章成功"))
Пример #21
0
def login():
    res = request.get_json()
    try:
        # 得到用户信息
        username = res.get('username')
        password = res.get('password')

        #查询数据库,是否正确
        user = cxf_user.query.filter_by(name=username).first()
        if user:
            if user.password == password:
                u_id = user.uid
                u_name = user.name
                u_group = user.group
                #包装jwt,uid为查询后的uid,username为username
                token = Auth.encode_token(uid=u_id,
                                          username=u_name,
                                          group=u_group)

                json = {
                    'msg': '登录成功!',
                    'data': {
                        'token': token,
                        'uid': u_id,
                        'username': u_name,
                        'group': u_group
                    },
                    'status': 200
                }

                return jsonify(json)
            else:
                return jsonify(falseReturn("null", "密码错误!"))
        else:
            return jsonify(falseReturn("null", "没有此用户!"))
    except Exception as e:
        pass

    return jsonify(falseReturn("null", "未知错误!"))
Пример #22
0
 def post(self):
     user = current_user()
     try:
         title = request.form['title']
         bt = request.form['begin_time']
         et = request.form['end_time']
         content = request.form['content']
     except:
         return jsonify(falseReturn("缺少必要信息"))
     try:
         begin_time = int(
             time.mktime(time.strptime(bt, "%Y-%m-%d %H:%M:%S")))
         end_time = int(time.mktime(time.strptime(et, "%Y-%m-%d %H:%M:%S")))
     except:
         return jsonify(falseReturn("时间格式错误"))
     activity_id = create_id()
     sponsor_student_number = user.student_number
     new = Activity(title, begin_time, end_time, activity_id,
                    sponsor_student_number, content)
     db.session.add(new)
     session_commit()
     return jsonify(trueReturn("创建活动成功"))
Пример #23
0
def login():
    """
    用户登录
    :param username:用户名
    :param password:密码
    :return: json
    """
    username = request.form.get('username')
    password = request.form.get('password')
    if (not username or not password):
        return jsonify(falseReturn('', '用户名和密码不能为空'))
    else:
        return Auth.authenticate(Auth, username, password)
Пример #24
0
 def post(self):
     student_number = request.form['student_number']
     password = request.form['password']
     if login_to_fzu(student_number, password):
         token = generate_auth_token(student_number)
         user = User.query.filter_by(student_number=student_number).first()
         if user is None:
             new = User(student_number=student_number, password=password)
             db.session.add(new)
             session_commit()
         return jsonify(true_data_Return("null", token, "登录成功"))
     else:
         return jsonify(falseReturn("登录失败,用户名或密码错误"))
Пример #25
0
def goup():
    '''
    车辆进入高速
    :param car:车牌号
    :param pos:上道口
    :return:json
    '''
    User = currentUser()
    if User[0] == False:
        return falseReturn(User[1])
    car = request.form.get("car")
    pos = request.form.get("pos")
    if car is None or pos is None:
        rtn = {
            'code': -1,
        }
        return falseReturn(rtn, "参数不完整")
    checkhistory = Toll.query.filter_by(car=car, status=0).first()
    rtn = {}
    if checkhistory is not None:
        rtn = {
            'code': -5,
            'time': checkhistory.upt.strftime("%Y-%m-%d %H:%M:%S"),
            'pos': checkhistory.upp,
            'id': checkhistory.id
        }
        return falseReturn(rtn, "车辆有未驶出的记录")

    column = Toll(car=car,
                  upu=[User[1]['id']],
                  upt=datetime.datetime.now(),
                  upp=pos,
                  status=0)
    db.session.add(column)
    db.session.commit()
    return trueReturn({"id": column.id})
Пример #26
0
def getStuList():
    try:
        #按分数从高到低排列
        all_list = cxf_user.query.order_by(desc(cxf_user.now_point)).all()
        all_info = list()
        for user in all_list:
            if (user.group == 0):
                info = dict()
                info['id'] = user.uid
                info['name'] = user.name
                info['point'] = user.now_point
                all_info.append(info)
        return jsonify(trueReturn({'stuList': all_info}, msg="success"))
    except:
        return jsonify(falseReturn("null", '查询错误!'))
Пример #27
0
 def put(self):
     try:
         signature = request.form['signature']
         phone_number = request.form['phone_number']
         sex = request.form['sex']
         nickname = request.form['nickname']
     except:
         return jsonify(falseReturn("缺少部分个人信息"))
     user = current_user()
     user.signature = signature
     user.sex = sex
     user.phone_number = phone_number
     user.nickname = nickname
     db.session.commit()
     return jsonify(trueReturn("更新个人信息成功"))
Пример #28
0
def get():
    """
    获取用户信息
    :return: json
    """
    User = currentUser()
    if User[0] == False or User[1]['username'] != 'admin':
        rtn = {'code': -1}
        return falseReturn(rtn, '没有权限,访问被拒绝')
    usrs = db.session.query(Users).all()
    returnUser = []
    for usr in usrs:
        urd = {'id': usr.id, 'name': usr.username}
        returnUser.append(urd)
    return trueReturn(returnUser, "请求成功")
Пример #29
0
 def post(self):
     try:
         be_attention_student_number = request.form[
             'be_attention_student_number']
     except:
         return jsonify(falseReturn("缺少部分必要信息"))
     user = current_user()
     id = create_id()
     new = Attention(user.student_number, id, be_attention_student_number)
     db.session.add(new)
     session_commit()
     be_attention_user = User.query.filter_by(
         student_number=be_attention_student_number).first()
     be_attention_user.be_attention_number += 1
     session_commit()
     return jsonify(trueReturn("关注成功"))
Пример #30
0
def deluser():
    try:
        uid = request.args.get('uid')

        #通过uid找到所有mid
        query = cxf_relationships.query.filter_by(uid=uid).all()

        # 解除关系
        for res in query:
            delete(res)
        #删除用户
        u = cxf_user.query.filter_by(uid=uid).first()
        delete(u)
        return jsonify(trueReturn('null', '删除成功!'))
    except:
        return jsonify(falseReturn('null', '删除失败!服务器发生了未知错误!'))