美文网首页
flask09-Api分离

flask09-Api分离

作者: fly5 | 来源:发表于2018-10-20 15:51 被阅读0次
  • 注册
API
class Register(Resource):
    @marshal_with(users_fields)
    def post(self):
        parse = parser.parse_args()

        user = User()
        user.username = parse.get('username')
        user.password = generate_password_hash(parse.get('password'))
        user.email = parse.get('email')
        user.phone = parse.get('phone')
        user.token = str(uuid.uuid5(uuid.uuid4(),'register'))

        response = {
            'status':406,
            'msg':'注册失败',
            'date':str(time.ctime()),
        }

        testuser = User.query.filter(User.username == user.username).filter(User.email==user.email).first()

        if testuser: # 用户已存在
            response['error'] = '用户已注册'

            return response
        else: # 用户不存在
            # 判断邮箱
            testuser =User.query.filter(User.email == user.email).first()
            if testuser:
                response['error'] = '邮箱已被注册'
                return response

            # 用户名

            testuser = User.query.filter(User.username==user.username).first()
            if testuser:
                response['error'] = '用户名已被注册'
                return response

            db.session.add(user)
            db.session.commit()


            response['status'] = 200
            response['msg'] = '注册成功'
            response['data'] = user
            return response
Ajax请求
 $('#register').click(function () {
        $.post('/register/', {
            'username': $('#username').val(),
            'password': $('#password').val(),
            'phone': $('#phone').val(),
            'email': $('#email').val()
        }, function (response) {
            console.log(response)
            if (response['status'] == 200) {

                $.cookie('token', response['data']['token'])

                console.log($.cookie('token'))
                window.open('/static/html/login.html', '_self')
            }
        })
    })
  • 登录
API
class Login(Resource):
    @marshal_with(users_fields)
    def post(self):
        parse = parser.parse_args()

        username = parse.get('username')
        password = parse.get('password')

        response = {
            'status': 406,
            'msg': '登录失败',
            'date': str(time.ctime()),
        }

        user = User.query.filter(User.username == username).first()
        if user:
            if check_password_hash(user.password,password):
                
                user.token = str(uuid.uuid5(uuid.uuid4(),'login'))
                db.session.add(user)
                db.session.commit()

                response['msg'] = '登录成功'
                response['status'] = 200
                response['data'] = user
                return response
            else:
                response['error'] = '密码错误'
                return response

        else:
            response['error'] = '用户不存在'
            return response
Ajax请求
$('#login').click(function () {
        $.post('/login/', {
            'username': $('#username').val(),
            'password': $('#password').val(),
        }, function (response) {
            console.log(response)
            if (response['status'] == 200) {
                $.cookie('token', response['data']['token'])
                window.open('/static/html/index.html','_self')

            }
        })
    })
  • 首页
API
class Index(Resource):
    @marshal_with(users_fields)
    def get(self):
        parse = parser.parse_args()
        token = parse.get('token')

        response ={
            'status':406,
            'msg':'未获取到token',
            'date':str(time.ctime())
        }

        if token:
            user = User.query.filter(User.token==token).first()

            response['status']=200
            response['data']=user

            return response
        else:
            return response
Ajax请求
$.get('/index/',{
        'token':$.cookie('token')
    },function (response) {
        if (response['status']==200){

            var username = response['data']['username']
            console.log(username)

            $.cookie('token',response['data']['token'])


            $('<a></a>').attr('href','#').html(username).appendTo($('.username'))

        }else {
            $('<p>未登录</p>').appendTo($('.username'))
        }
    })

相关文章

  • flask09-Api分离

    注册 登录 首页

  • 分离 或者分离

    可能是你厌了我,也可能是我厌了你。 可能是你背叛了我,也可能是我背叛了你。 最有可能的是一次次消磨后, 彼此也都不...

  • 牙膏诗人的诗

    【相聚分离】 春天,冬天 相聚,分离 晴天,雨天 相聚,分离 叶绿,叶枯 相聚,分离 相聚是种分离 分离是种相聚 ...

  • 分离——情感分离与语言分离

    在关系当中,绝大多数都指向亲密,闺蜜、铁哥们,爱的像一个人一样……只有伟大的父母,在亲子关系中指向分离。 孩子有出...

  • Mysql读写分离

    常见读写分离方式 MySQL-Proxy读写分离 Amoeba读写分离 Mycat读写分离 基于程序读写分离 My...

  • 产后修复之腹直肌分离

    1.腹直肌分离精准评估 上分离 下分离 中间分离 全分离 按照不同的分离类型给出不同的调整方法 2.腹直肌分离是怀...

  • 不说分离的分离

    今天,是15年的最后一天了 也是我们的最后一天了 我跟自己说 就把你留在今天吧,把一切留在这里吧 我什么都不带走,...

  • 如何做好python项目的配置分离

    本文内容: 项目配置分离 为什么要分离 该怎么分离 配置合并 合并代码 分离 为什么要分离: 为区分正式和开发而分...

  • 分离

    我可以整理好每一次相遇却很难去做好一次分离 我一直认为我在人际交往上是有障碍的 很难在离别的时候好好说一句再见

  • 分离

    秋日的风 轻轻地 吹动似火的枫叶 吹散如丝的秀发 吹起胜雪的衣裙 你停在树下 静静凝视 微微泛黄的树叶 手轻轻扶上...

网友评论

      本文标题:flask09-Api分离

      本文链接:https://www.haomeiwen.com/subject/kjlmzftx.html