def add(self): # 参数 req = self.request() data = Inc.json_decode(req.get('data')) if not data or type(data)!=dict or not data.get('tel') : return self.getJSON({'code':4000,'msg':'参数错误!'}) tel = data['tel'].strip() passwd = Inc.md5(data['passwd']) if data['passwd']!='' else Inc.md5('123456') # 验证手机 res = Safety.isRight('tel',tel) if not Safety.isRight('tel',tel) : return self.getJSON({'code':4000,'msg':'手机号码有误!'}) # 是否存在 res = User().findFirst({'where':'tel=:tel:','bind':{'tel':tel}}) if res : return self.getJSON({'code':4000,'msg':'该用户已存在!'}) # 保存 params = { 'id': Data.getId(), 'tel': tel, 'password': passwd, 'rtime': Inc.date('%Y%m%d%H%M%S'), } # 结果 if User().insert(params) == 0 : return self.getJSON({'code':0,'msg':'成功'}) else : return self.getJSON({'code':5000,'msg':'添加失败!'})
def create(self,data) : data['l_time'] = Inc.date('%Y-%m-%d %H:%M:%S') token = Safety.encode(data) # 缓存 name = Env.admin_token_prefix+str(data['uid']) Redis.run().setex(name,Env.admin_token_time,'1') return token
def login(self): req = self.request() uname = req.get('uname') passwd = Inc.md5(req.get('passwd')) # 验证用户名 if Safety.isRight('uname', uname) and Safety.isRight( 'tel', uname) and Safety.isRight('email', uname): return self.getJSON({'code': 4000, 'msg': '请输入用户名/手机/邮箱'}) # 查询 model = User() model.table( 'user AS a LEFT JOIN user_info AS b ON a.id=b.uid LEFT JOIN user_perm AS c ON a.id=c.uid' ) model.columns( 'a.id, a.state, b.position, b.nickname, b.name, b.gender, b.img, c.state_admin' ) model.where( '(a.uname=":uname:" OR a.tel=":uname:" OR a.email=":uname:") AND a.password="******"', { 'uname': uname, 'passwd': passwd }) uData = model.findFirst() # 是否存在 if len(uData) == 0: return self.getJSON({'code': 4000, 'msg': '帐号或密码错误'}) # 是否禁用 if uData['state'] != '1': return self.getJSON({'code': 4000, 'msg': '该用户已被禁用'}) elif uData['state_admin'] != '1': return self.getJSON({'code': 4000, 'msg': '该用户不允许登录'}) # 登录时间 m = User() m.ltime = Inc.date('%Y%m%d%H%M%S') m.where('id=' + str(uData['id'])) m.update() # 返回 return self.getJSON({ 'code': 0, 'msg': '成功登录', 'uinfo': { 'uid': uData['id'], 'uname': uname, 'position': uData['position'], 'nickname': uData['nickname'], 'name': uData['name'], 'gender': uData['gender'], 'img': Env.base_url + uData['img'] if uData['img'] != '' else '', }, 'token': AdminToken().create({ 'uid': str(uData['id']), 'uname': uname }) })
def login(self): req = self.request() uname = req.get('uname') passwd = Inc.md5(req.get('passwd')) # 验证用户名 if Safety.isRight('uname', uname) and Safety.isRight( 'tel', uname) and Safety.isRight('email', uname): return self.getJSON({'code': 4000, 'msg': '请输入用户名/手机/邮箱'}) # 查询数据 uData = User().findFirst({ 'table': 'user as a LEFT JOIN user_info as b ON a.id=b.uid LEFT JOIN user_perm as c ON a.id=c.uid', 'columns': 'a.id, a.state, b.position, b.nickname, b.name, b.gender, b.img, c.state_admin', 'where': f'(a.uname="{uname}" OR a.tel="{uname}" OR a.email="{uname}") AND a.password="******"', }) # 是否存在 if uData == None: return self.getJSON({'code': 4000, 'msg': '帐号或密码错误'}) # 是否禁用 if uData['state'] != '1': return self.getJSON({'code': 4000, 'msg': '该用户已被禁用'}) elif uData['state_admin'] != '1': return self.getJSON({'code': 4000, 'msg': '该用户不允许登录'}) # 登录时间 User().update({ 'data': { 'ltime': Inc.date('%Y%m%d%H%M%S') }, 'where': 'id=' + str(uData['id']), }), # 返回 return self.getJSON({ 'code': 0, 'msg': '成功登录', 'uinfo': { 'uid': uData['id'], 'uname': uname, 'position': uData['position'], 'nickname': uData['nickname'], 'name': uData['name'], 'gender': uData['gender'], 'img': Env.base_url + uData['img'] if uData['img'] != '' else '', }, 'token': AdminToken().create({ 'uid': str(uData['id']), 'uname': uname }) })
def upImg(self): req = self.request() base64 = req.get('base64') if not base64: return self.getJSON({'code': 4000, 'msg': 'Base64内容为空!'}) # 上传 res = Upload().base64({'path': self.imgDir, 'base64': base64}) if res: info = UserInfo().findFirst( {'where': 'uid=' + str(self.tokenData['uid'])}) if not info: UserInfo().insert({ 'uid': self.tokenData['uid'], 'img': self.imgDir + res['filename'], 'ctime': Inc.date('%Y%m%d%H%M%S'), }) else: # 头像 img = info['img'] if info['img'] else '' # 保存 UserInfo().update({ 'data': { 'img': self.imgDir + res['filename'], 'utime': Inc.date('%Y%m%d%H%M%S'), }, 'where': 'uid=' + str(self.tokenData['uid']), }) # 清理头像 if os.path.exists(img): os.remove(img) return self.getJSON({ 'code': 0, 'msg': '上传成功', 'img': Env.base_url + self.imgDir + res['filename'] }) else: return self.getJSON({'code': 5000, 'msg': '保存图片失败!'})
def list(self): info = UserInfo().findFirst( {'where': 'uid=' + str(self.tokenData['uid'])}) # 添加 if not info: UserInfo().insert({ 'uid': str(self.tokenData['uid']), 'ctime': Inc.date('%Y%m%d%H%M%S'), }) # 查询 info = UserInfo().findFirst( {'where': 'uid=' + str(self.tokenData['uid'])}) # 数据 list = { 'img': Env.base_url + info['img'] if info['img'] else '', 'nickname': info['nickname'], 'name': info['name'], 'gender': info['gender'], 'birthday': str(info['birthday']) if info['birthday'] else "", 'position': info['position'], } return self.getJSON({'code': 0, 'msg': '成功', 'list': list})
def beforeUpdate(self): if self.utime == 'null': self.utime = Inc.date('%Y%m%d%H%M%S')
def beforeCreate(self): if self.ctime == 'null': self.ctime = Inc.date('%Y%m%d%H%M%S')
def getMtime(self, ff): return Inc.date('%Y-%m-%d %H:%M:%S', os.path.getmtime(ff))