from datetime import datetime import time from sqlalchemy import create_engine, String, Column, Integer, DateTime from werkzeug.security import check_password_hash, generate_password_hash from app.modle import Base def cnNow(): """获取时间,年月日时分秒格式""" return datetime.now().strftime("%Y-%m-%d %H:%M:%S") class User(Base): """用户表""" __tablename__ = "users" id = Column(Integer, primary_key=True, autoincrement=True, nullable=False, unique=True, doc='用户id') user_name = Column(String, nullable=False, unique=True, index=False, doc='用户名') password = Column(String, nullable=False, unique=False, index=False, doc='密码') photograph = Column(String, nullable=True, unique=False, index=False, doc='照片') name = Column(String, nullable=True, unique=False, index=False, doc='姓名') phone = Column(Integer, nullable=True, unique=False, index=False, doc='电话') email = Column(String, nullable=True, unique=False, index=False, doc='邮箱') company = Column(String, nullable=True, unique=False, index=False, doc='公司') department = Column(String, nullable=True, unique=False, index=False, doc='部门') role = Column(String, nullable=True, unique=False, index=False, doc='角色') permission = Column(String, nullable=True, unique=False, index=False, doc='权限') on_job_status = Column(String, nullable=True, unique=False, index=False, doc='在职状态') duty = Column(String, nullable=True, unique=False, index=False, doc='职务') account_status = Column(Integer, nullable=True, unique=False, index=False, default=0, doc='账户状态,0为正常,1为禁用') nationality = Column(String, nullable=True, unique=False, index=False, doc='国籍') register_time = Column(DateTime, nullable=True, unique=False, index=False, default=cnNow(), doc='注册时间') # 赋值password,则自动加密存储。 def generate_password(self, value): return generate_password_hash(value) # 使用check_password,进行密码校验,返回True False。 def check_password(self, pasword): return check_password_hash(self.password, pasword)