Esempio n. 1
0
 def get(self):
     #验证请求参数
     args = self.parser.parse_args()
     opt = args.get('opt')
     city = args.get('city')
     district = args.get('district')
     #用于查询某城市区域的影城信息
     if opt == 'cityAndDistrict':
         if city and district:
             cinemas = dao.queryOne(Cinemas).filter(
                 Cinemas.city == city, Cinemas.district == district)
             if not cinemas.count():
                 return {'msg': '该地区没有电影院'}
             self.selectCinemas(cinemas)
         return {'msg': '城市和城区区域不能为空'}
     #用于查询某一城市的影城信息
     elif opt == 'city':
         if city:
             cinemas = dao.queryOne(Cinemas).filter(Cinemas.city == city)
             if not cinemas.count():
                 return {'msg': '该城市没有电影院'}
             self.selectCinemas(cinemas)
         return {'msg': '搜索城市不能为空'}
     #查询所有的影城信息
     else:
         cinemas = dao.queryAll(Cinemas)
         self.selectCinemas(cinemas)
Esempio n. 2
0
 def get(self):
     #验证用户名是否已注册
     args = self.parser.parse_args()
     name = args.get('name')
     print('名字:', name)
     qs = dao.queryOne(User).filter(User.name == name)
     # print(qs)
     # print('sdfsdf',qs)
     if qs.count():
         return {'status': 202, 'msg': '{} 用户名已被注册!'.format(name)}
     return {'status': 200, 'msg': '{} 用户名可以使用!'.format(name)}
Esempio n. 3
0
 def wrapper(*args, **kwargs):
     token = request.args.get('token')
     if not token:
         token = request.form.get('token')
     user_id = session.get(token)
     loginUser = dao.getById(User, user_id)
     if not loginUser:
         return {'msg': '请先登录!'}
     if loginUser.rights & qx == qx:
         return fn(*args, **kwargs)
     qxObj = dao.queryOne(Qx).filter(Qx.right == qx).first()
     return {'msg': '您没有 {} 权限'.format(qxObj.name)}
Esempio n. 4
0
 def wrapper(*args,**kwargs):
     print('-check login-')
     token = request.args.get('token')
     user_id = session.get(token)
     loginUser = dao.getById(User,user_id)
     if not user_id:
         return {'msg':'用户必须先登录'}
     if loginUser.rights & qx == qx:
         return fun(*args,**kwargs)
     else:
         qxObj = dao.queryOne(Qx).filter(Qx.right==qx).first()
         return {'msg':'用户没有{}权限'.format(qxObj.name)}
Esempio n. 5
0
    def login(self):

        activeParser = self.parser.copy()
        activeParser.add_argument('Token')
        activeParser.add_argument('username', dest='name', required=True, help='用户名真的不能为空')
        activeParser.add_argument('password', dest='pwd', required=True, help='密码不能为空')

        args = activeParser.parse_args()
        print(session.get(args.get('Token')))
        if session.get(args.get('Token')):
            print('dfdfdfdfdfdf')
            return {'msg': '还想通过直接输入网页地址登录?'}


        name = args.get('name')
        print(name)
        # 将获取的用户输入密码加密,用于和数据库中密码相比较
        pwd = md5_crypt(args.get('pwd'))
        qs = dao.queryOne(User).filter(User.name == name,
                                       User.password == pwd)
        print('进来了峨眉')
        if not qs.count():
            return {'status':600,'msg': '您的用户名或口令有误'}
        else:
            qs:User = qs.first()
            if not qs.is_life:
                return {'status':700,'msg':'该用户已注销'}
            if qs.is_active:
                # 生成登录token,并将其存入至session中
                loginToken = md5_crypt(str(uuid.uuid4()))
                print(loginToken)
                session[loginToken] = qs.id
                print('这是进来的user_id',qs.id)
                qs.last_login_time=datetime.now()
                dao.save(qs)
                print('-----------')
                out_user_fields = {
                    'name': fields.String,
                    'email': fields.String,
                    'phone': fields.String,
                    'photo': fields.String(attribute='photo_1')
                }
                out_fieleds = {
                    'msg': fields.String,
                    'data': fields.Nested(out_user_fields),
                    'access_token': fields.String
                }
                data = {'msg': '登录成功',
                        'data': qs,
                        'access_token':loginToken}
                print('========')
                return marshal(data,out_fieleds)
            return {'msg':'该用户未被激活'}
Esempio n. 6
0
    def get(self):
        # 验证请求参数
        args = self.parser.parse_args()
        movies:BaseQuery = dao.queryOne(Movies).filter(Movies.flag == args.get('flag'))
        print(movies.all())

        sort = args.get('sort')
        #排序
        movies = movies.order_by(('-' if sort==1 else '')+args.get('orderby'))
        #分页
        pager = movies.paginate(args.get('page'),args.get('limit'))

        return {'returnValue': pager.items}
Esempio n. 7
0
    def reactive(self):
        reactiveParser = self.parser.copy()
        reactiveParser.add_argument('email', required=True, help='邮箱不能为空')
        args = reactiveParser.parse_args()
        email = args.get('email')
        qs = dao.queryOne(User).filter(User.email == email)
        print('我得qs用户',qs.first())
        if not qs.count():
            return {'status': 505, 'msg': email + '邮箱未被注册'}
        # 重新发送邮件,sendEmail封装的是发送邮件的代码
        helper.sendEmail(qs.first())

        return {'msg': '重新申请用户激活,请查收邮箱进行激活'}