Beispiel #1
0
def email_captcha():
    #/cms/email_capthcha/[email protected]
    email = request.args.get('email')
    print(email)
    if not email:
        return xjson.json_params_error('请传递邮件参数!')

    #生成6位数的随机验证码
    source = list(string.ascii_letters)
    source.extend(map(lambda x: str(x), range(0, 10)))
    captcha = ''.join(random.sample(source, 6))

    #发送邮件
    msg = Message('BBS论坛更换邮箱验证码',
                  recipients=[email],
                  body='您的验证码:{},5分钟内邮箱'.format(captcha))
    try:
        mail.send(msg)
    except Exception as err:
        print(err)
        return xjson.json_server_error(message='邮件发送失败')

    #验证码存入memcached
    xcache.set(email, captcha)
    return xjson.json_sucess(message='邮件发送成功')
Beispiel #2
0
def dboard():
    board_id = request.form.get('board_id')
    if not board_id:
        return xjson.json_param_error(message='请传入板块id')
    board = BoardModel.query.get(board_id)
    if not board:
        return xjson.json_param_error(message='没有这个板块')
    db.session.delete(board)
    db.session.commit()
    return xjson.json_sucess(message='删除板块成功')
Beispiel #3
0
 def post(self):
     resetemail_form = RestEmailForm(request.form)
     if resetemail_form.validate():
         email = resetemail_form.email.data
         g.cms_user.email = email
         db.session.commit()
         return xjson.json_sucess('邮箱修改成功')
     else:
         message = resetemail_form.get_error()
         return xjson.json_params_error(message)
Beispiel #4
0
def aboard():
    add_form_board = AddBoardForm(request.form)
    if add_form_board.validate():
        print()
        name = add_form_board.name.data
        board = BoardModel(name=name)
        db.session.add(board)
        db.session.commit()
        return xjson.json_sucess(message='添加板块成功')
    else:
        return xjson.json_params_error(message=add_form_board.get_error())
Beispiel #5
0
def dbanner():
    banner_id = request.form.get('banner_id')
    if not banner_id:
        return xjson.json_params_error(message='请传入轮播图id')

    banner = BannerModel.query.get(banner_id)
    if not banner:
        return xjson.json_params_error(message='没有这个轮播图!')

    db.session.delete(banner)
    db.session.commit()
    return xjson.json_sucess()
Beispiel #6
0
def uhpost():
    post_id = request.form.get("post_id")
    if not post_id:
        return xjson.json_params_error('请传入帖子id')
    post = PostModel.query.get(post_id)
    if not post:
        return xjson.json_params_error("没有这篇帖子")

    highlight = HighlightPostModel.query.filter_by(post_id=post_id).first()
    db.session.delete(highlight)
    db.session.commit()
    return xjson.json_sucess()
Beispiel #7
0
def hpost():
    post_id = request.form.get("post_id")
    if not post_id:
        return xjson.json_params_error('请传入帖子id')
    post = PostModel.query.get(post_id)
    if not post:
        return xjson.json_params_error("没有这篇帖子")

    highlight = HighlightPostModel()
    highlight.post = post
    db.session.add(highlight)
    db.session.commit()
    return xjson.json_sucess()
Beispiel #8
0
    def post(self):
        signup_form = SignUpForm(request.form)
        if signup_form.validate():

            telephone = signup_form.telephone.data
            username = signup_form.username.data
            password = signup_form.password1.data
            user = FrontUser(telephone=telephone,
                             username=username,
                             password=password)
            db.session.add(user)
            db.session.commit()
            return xjson.json_sucess('恭喜您,注册成功')
        else:
            return xjson.json_params_error(signup_form.get_error())
Beispiel #9
0
def uboard():
    update_board_form = UpdateBoardForm(request.form)
    if update_board_form.validate():
        board_id = update_board_form.board_id.data
        name = update_board_form.name.data
        print(name)
        if board_id:
            board = BoardModel.query.get(board_id)
            board.name = name
            db.session.commit()
            return xjson.json_sucess(message='更新成功')
        else:
            return xjson.json_param_error(message='板块不存在')
    else:
        return xjson.json_param_error(message=update_board_form.get_error())
Beispiel #10
0
 def post(self):
     signin_form = SignInForm(request.form)
     if signin_form.validate():
         telephone = signin_form.telephone.data
         password = signin_form.password.data
         remember = signin_form.remember.data
         user = FrontUser.query.filter_by(telephone=telephone).first()
         if user and user.check_password(password):
             session[config.FRONT_USER_ID] = user.id
             if remember:
                 session.premanent = True
             return xjson.json_sucess('登陆成功')
         else:
             return xjson.json_params_error('手机号或密码错误')
     else:
         return xjson.json_params_error(signin_form.get_error())
Beispiel #11
0
def abanner():
    form = AddBannerForm(request.form)
    if form.validate():
        name = form.name.data
        image_url = form.image_url.data
        link_url = form.link_url.data
        priority = form.priority.data
        banner = BannerModel(name=name,
                             image_url=image_url,
                             link_url=link_url,
                             priority=priority)
        db.session.add(banner)
        db.session.commit()
        return xjson.json_sucess()
    else:
        return xjson.json_param_error(message=form.get_error())
Beispiel #12
0
def sms_captcha():
    sms_captcha_form = SmsCaptchaForm(request.form)
    if sms_captcha_form.validate():
        telephone = sms_captcha_form.telephone.data
        #生成随机的验证,之前图片那里有方法实现了,我们直接调用就行,生成6位的验证码
        radom_code = Captcha.gene_text(6)
        cont = '测试bbs,您的验证码为:%s' % (radom_code)
        params = {'code': cont}
        result = send_sms(telephone, params)
        dict_res = json.loads(result)
        if dict_res['code'] == 0:
            xcache.set(telephone,radom_code) #把手机号作为key
            return xjson.json_sucess('短信发送成功')
        else:
            return xjson.json_server_error('短信发送失败')
    else:
        return xjson.json_params_error('参数错误')
Beispiel #13
0
def add_comment():
    add_comment_form = AddCommentForm(request.form)
    if add_comment_form.validate():
        content = add_comment_form.content.data
        post_id = add_comment_form.post_id.data
        post_id = add_comment_form.post_id.data
        post = PostModel.query.get(post_id)
        if post:
            comment = CommentModel(content=content)
            comment.post = post
            comment.author = g.front_user
            db.session.add(comment)
            db.session.commit()
            return xjson.json_sucess()
        else:
            return xjson.json_params_error('没有这篇帖子')
    else:
        return xjson.json_params_error(add_comment_form.get_error())
Beispiel #14
0
 def post(self):
     resetpwd_form = ResetPwdForm(request.form)
     if resetpwd_form.validate():
         oldpwd = resetpwd_form.oldpwd.data
         newpwd = resetpwd_form.newpwd.data
         user = g.cms_user
         if user.check_password(oldpwd):
             user.password = newpwd
             db.session.commit()
             #因为接受是ajax,所以这里使用jsonify返回数据
             #返回code字段表示状态码,message信息提示
             # return jsonify({"code":200,"message":"修改成功"})
             return xjson.json_sucess('修改成功')
         else:
             # return jsonify({"code":400,"message":"原密码错误"})
             return xjson.json_params_error('原密码错误')
     else:
         message = resetpwd_form.get_error()
         # return jsonify({"code":400,"message":message})
         return xjson.json_params_error(message)
Beispiel #15
0
def ubanner():
    form = UpdateBannerForm(request.form)
    if form.validate():
        banner_id = form.banner_id.data
        name = form.name.data
        image_url = form.image_url.data
        link_url = form.link_url.data
        priority = form.priority.data
        banner = BannerModel.query.get(banner_id)

        if banner:
            banner.name = name
            banner.image_url = image_url
            banner.priority = priority
            db.session.commit()
            return xjson.json_sucess()
        else:
            return xjson.json_params_error(message='没有这个轮播图')
    else:
        return xjson.json_params_error(message=form.get_error())
Beispiel #16
0
def apost():
    if request.method == 'GET':
        boards = BoardModel.query.all()
        return render_template('front/front_apost.html', boards=boards)
    else:
        add_post_form = AddPostForm(request.form)
        if add_post_form.validate():
            title = add_post_form.title.data
            content = add_post_form.content.data
            board_id = add_post_form.board_id.data
            board = BoardModel.query.get(board_id)
            if not board:
                return xjson.json_params_error(message='没有这个模版')
            post = PostModel(title=title, content=content)
            post.board = board
            post.author = g.front_user
            db.session.add(post)
            db.session.commit()
            return xjson.json_sucess()
        else:
            return xjson.json_params_error(message=add_post_form.get_error())