Esempio n. 1
0
class Note_Category(db.Model):

    __tablename__ = 'note-category'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Text)
    create_time = db.Column(db.DateTime, default=datetime.now)
Esempio n. 2
0
class AccountAdmin(BaseModel, AccountInfo, BaseModelAuth, db.Model):
    """管理员表"""

    __tablename__ = 'account_admin'

    remarks = db.Column(db.String(255))  # 账户备注
    jurisdiction = db.Column(db.Integer,
                             default=1)  # 管理员角色        1 高级管理员 2 一般管理员

    def toDict(self):
        return dict(remarks=self.remarks,
                    jurisdiction=self.jurisdiction,
                    **self._base(),
                    **self._BaseModelAuth_Base(),
                    **self._AccountInfo_Base())

    def createadmin(self, username, email, password):
        """新增管理员(username: 用户名,email: 登录邮箱,password: 密码)"""
        self.email = email
        self.username = username
        self.password = generate_password_hash(password)
        self.jurisdiction = 1
        self._add()
        self._commit()
        return self
class PhotoData(db.Model):

    __tablename__ = 'photo_data'
    id = db.Column(db.Integer, primary_key=True)  # id
    upload_user = db.Column(db.Integer)  # 上传用户
    file = db.Column(db.Text)  # 文件
    title = db.Column(db.String(255))  # 标题
    info = db.Column(db.Text)  # 介绍
    category = db.Column(db.Integer)  # 类目
    '''
        1 : 原创
        2 : Pixiv
        3 : Cospaly
    '''
    pixiv_author = db.Column(db.String(255))  # pixiv 作者
    verify = db.Column(db.Integer)  # 审核
    '''
        1 : 通过审核
        2 : 未审核
        3 : 退回
    '''
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 4
0
class Photo(db.Model):
    
    __tablename__ = 'photo'

    id = db.Column(db.Integer, primary_key=True)
    sort = db.Column(db.Integer) # 权重
    link = db.Column(db.String(255)) # 地址
    status = db.Column(db.Integer) # 是否生效
    '''
Esempio n. 5
0
class CommentReport(db.Model):

    __tablename__ = 'comment_report'

    id = db.Column(db.Integer, primary_key=True)
    report_comment_id = db.Column(db.Integer)
    userid = db.Column(db.Integer)
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 6
0
class BaseModel(object):
    """数据库表基类
        补充id, create_time, update_time

        数据库事务方法:
            _delete()
            _add()
            _commit()
    """
    id = db.Column(db.Integer, primary_key=True)
    create_time = db.Column(db.DateTime, default=datetime.now)  # 记录的创建时间
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)  # 记录的更新时间

    def _delete(self):
        """delete方法"""
        db.session.delete(self)

    def _add(self, data=None):
        """add()方法"""
        db.session.add(self)

    def _flush(self):
        """flush()方法"""
        db.session.flush(self)

    def _commit(self, data=None, msg="成功"):
        """带事务提交成功
            返回200,失败返回400
            :data 附加返回数据 {**data}
            :msg  附加返回消息
        """
        try:
            db.session.commit()
            if data:
                return 200, msg, dict({"id": self.id}, **data)
            return 200, msg, {"id": self.id}

        except Exception as e:
            print("事务异常>", e)
            db.session.rollback()
            return 400, "内部出错", {}

    def _base(self):
        """返回模型基类参数"""
        return dict(id=self.id,
                    create_time=datetime.strftime(self.create_time,
                                                  "%Y-%m-%d %H:%M:%S"),
                    update_time=datetime.strftime(self.update_time,
                                                  "%Y-%m-%d %H:%M:%S"))
Esempio n. 7
0
def demo():
    db.Column(db.Integer, default=0)
    db.Column(db.Text)
    db.Column(db.String(255))
    db.Column(LONGTEXT)
    db.Column(db.DateTime)
    db.Column(db.Boolean, default=False)
    db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
Esempio n. 8
0
class User(db.Model):
    
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    reg_time = db.Column(db.DateTime) # 注册时间
    token = db.Column(db.Text) # 登录token 需要开启Token认证登录的时候才需要解开注释
    username = db.Column(db.String(255))
    email = db.Column(db.String(255))
    password = db.Column(db.Text)
    head = db.Column(db.Text)
    userstatus = db.Column(db.Integer)
    '''
Esempio n. 9
0
class BaseModelAuth(object):
    """认证基础表
        token, status"""

    token = db.Column(db.Text)
    status = db.Column(db.Integer, default=0)  # 用户状态          0正常 1禁止登录

    def _set_token(self):
        """设置新的Token"""
        from app.Tool import GenerateToken
        self.token = GenerateToken(str(self.account))
        return True

    def _clear_token(self):
        """清除Token"""
        self.token = None
        return True

    def _BaseModelAuth_Base(self):
        return dict(status=self.status)
Esempio n. 10
0
class AccountUser(BaseModel, AccountInfo, BaseModelAuth, db.Model):
    """用户表"""

    __tablename__ = 'account_user'

    introduce = db.Column(db.Text)  # 个人介绍

    def toDict(self):
        return dict(introduce=self.introduce,
                    **self._base(),
                    **self._BaseModelAuth_Base(),
                    **self._AccountInfo_Base())
Esempio n. 11
0
class ApiMoreArticle(db.Model):

    __tablename__ = 'api-more-article'

    id = db.Column(db.Integer, primary_key=True)
    line_type = db.Column(db.Integer)
    '''
        0 = 站内文章
        1 = 站外链接
    '''
    sort = db.Column(db.Integer)  # 排序
    link = db.Column(db.String(255))  # 地址
    articleid = db.Column(db.Integer)  # 文章id
    introduce = db.Column(db.String(255))  # 介绍
    title = db.Column(db.String(255))  # 标题
    cover = db.Column(db.String(255))  # 封面
    status = db.Column(db.Integer)  # 是否生效
    '''
Esempio n. 12
0
class BangumiVideo(db.Model):

    __tablename__ = 'bangumi_video'
    id = db.Column(db.Integer, primary_key=True)
    bangumi_id = db.Column(db.Integer)  # 所属番剧id
    playsource_url = db.Column(db.String(255))  # 播放源地址
    title = db.Column(db.String(255))  # 集标题
    sort = db.Column(db.Integer)  # 集数
    cover = db.Column(db.Text)  # 封面
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 13
0
class AlbumDowurl(db.Model):

    __tablename__ = 'album_dowurl'
    id = db.Column(db.Integer, primary_key=True)
    album_id = db.Column(db.Integer)  # 资源id
    dowsource_name = db.Column(db.String(255))  # 下载资源来源名
    name = db.Column(db.String(255))  # 资源名
    dowinfo = db.Column(db.Text)  # 下载信息
    feedback = db.Column(db.Integer, default=0)  # 反馈次数统计 管理员确认资源没问题后恢复0
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 14
0
class AccountAdmin(db.Model):

    __tablename__ = 'account_admin'
    id = db.Column(db.Integer, primary_key=True)

    token = db.Column(db.Text)
    email = db.Column(db.Text)
    head = db.Column(db.Text)
    username = db.Column(db.String(255))
    password = db.Column(db.Text)
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 15
0
class CvData(db.Model):
    
    __tablename__ = 'cv_data'
    id = db.Column(db.Integer, primary_key=True)
    people_name = db.Column(db.String(255))         # 人名
    head = db.Column(db.String(255))                # 头像
    isdelete = db.Column(db.Boolean, default=False) # 删除
    update_time = db.Column(db.DateTime, index=True, default=datetime.now, onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True, default=datetime.now)  # 创建时间
Esempio n. 16
0
class Article(db.Model):
    
    __tablename__ = 'article'

    id = db.Column(db.Integer, primary_key=True)
    upload_userid = db.Column(db.Integer)
    upload_time = db.Column(db.DateTime) # 注册时间

    article_type = db.Column(db.Integer)
    '''
        1 = 作品分类
        2 = 文章分类
        3 = 项目分类
    '''
    title = db.Column(db.String(255))
    cover = db.Column(db.String(255))
    introduce = db.Column(db.String(255))
    content = db.Column(db.Text) # content
    status = db.Column(db.Integer)
    '''
Esempio n. 17
0
class Note_Content(db.Model):

    __tablename__ = 'note-content'

    id = db.Column(db.Integer, primary_key=True)
    subcategoryid = db.Column(db.Integer)  # 子类目id
    note_title = db.Column(db.Text)
    note_content = db.Column(LONGTEXT)
    is_delete = db.Column(db.Boolean, default=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
Esempio n. 18
0
class BangumiPlayurl(db.Model):

    __tablename__ = 'bangumi_playurl'
    id = db.Column(db.Integer, primary_key=True)
    url = db.Column(db.String(255))  # url
    source_name = db.Column(db.String(255))  # 来源名字
    bangumi_id = db.Column(db.Integer)  # 番剧id
    sort = db.Column(db.Integer)  # 权重
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 19
0
class BangumiRolecv(db.Model):

    __tablename__ = 'bangumi_rolecv'
    id = db.Column(db.Integer, primary_key=True)
    role_name = db.Column(db.String(255))  # 角色名
    bangumi_id = db.Column(db.Integer)  # 所属番剧id
    cv_id = db.Column(db.Integer)  # cv_id
    sort = db.Column(db.Integer)  # 权重
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 20
0
class Account(db.Model):
    
    __tablename__ = 'account'
    id = db.Column(db.Integer, primary_key=True)

    # Token认证
    token = db.Column(db.Text)                  # 登录token

    # 账户信息
    reg_time = db.Column(db.DateTime)           # 注册时间
    email = db.Column(db.String(255))   # 注册邮箱
    username = db.Column(db.String(255))    # 账户名
    profile = db.Column(db.String(255))         # 头像

    # 账户
    password = db.Column(db.String(255))        # 密码
    account_group = db.Column(db.Integer)       # 用户组
    '''
        1 = 站长
        2 = 游客
    '''
    status = db.Column(db.Integer)              # 账户状态
    '''
Esempio n. 21
0
class AccountInfo(object):
    """用户表模型基类
    为用户表和管理表继承相同字段和公共方法
        head,
        account,
        email,
        phone,
        password,
        username,
    """

    account = db.Column(db.Text)  # 账户          a-z0-9A-z
    email = db.Column(db.Text)  # 用户邮箱
    phone = db.Column(db.Integer)  # 用户手机
    head = db.Column(db.Text)  # 头像
    password = db.Column(db.Text)  # 密码
    username = db.Column(db.String(255))  # 用户名

    def _set_new_password(self, plaintext):
        """设置新的密码"""
        newpassword = generate_password_hash(plaintext)
        self.password = newpassword

    def _is_correct_password(self, plaintext):
        """判断密码 正确返回True"""
        if check_password_hash(self.password, plaintext):
            return True

    @property
    def userhead(self):
        """用户头像"""
        path = config[ENV].STATIC_LOADPATH + BaseConfig.UPLOADFILE_CONFIG[
            'userhead']
        if self.head:
            return path + self.head
        return path + 'default-userhead.jpg'

    def _AccountInfo_Base(self):
        """返回模型基类参数"""
        return dict(username=self.username,
                    head=self.userhead,
                    email=self.email,
                    account=self.account)
Esempio n. 22
0
class BangumiAnime(db.Model):

    __tablename__ = 'bangumi_anime'
    id = db.Column(db.Integer, primary_key=True)
    classification = db.Column(db.Integer)  # 视频分类
    identification = db.Column(db.String(255))  # 唯一身份标识
    '''
        1 = 番剧
        2 = 剧场版
        3 = OVA
        4 = SP
    '''
    name = db.Column(db.String(255))  # 番剧名
    setscount = db.Column(db.Integer)  # 集数
    introduce = db.Column(db.Text)  # 介绍
    cover = db.Column(db.Text)  # 封面
    upstatus = db.Column(db.Boolean)  # 连载状态 True 连载中 False 以完结
    staff = db.Column(db.Text)  # STAFF内容
    station_play = db.Column(db.Boolean)  # 是否支持站内播放
    openplay_time = db.Column(db.DateTime)  # 开播时间
    status = db.Column(db.Integer)  # 状态
    '''
        1 = 正常
        2 = 下架
    '''
    sort = db.Column(db.Integer, default=0)  # 权重
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 23
0
class AlbumData(db.Model):

    __tablename__ = 'album_data'
    id = db.Column(db.Integer, primary_key=True)
    classification = db.Column(db.Integer)  # 资源分类
    identification = db.Column(db.String(255))  # 唯一身份标识
    '''
        1 = 番剧
        2 = OST
        3 = MMD
        4 = Live2D
    '''
    name = db.Column(db.Text)  # 资源标题
    cover = db.Column(db.String(255))  # 封面图
    introduce = db.Column(db.Text)  # 介绍
    status = db.Column(db.Integer)  # 上下架状态
    '''
        1 = 正常
        2 = 下架
    '''
    is_delete = db.Column(db.Boolean, default=False)  # 是否删除
    show_index = db.Column(db.Boolean, default=False)  # 首页展示
    relation_bangumi_id = db.Column(db.Integer)  # 关联番剧id
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
Esempio n. 24
0
class Article(db.Model):
    
    __tablename__ = 'article'

    id = db.Column(db.Integer, primary_key=True)
    upload_userid = db.Column(db.Integer)
    upload_time = db.Column(db.DateTime) # 上传时间

    article_type = db.Column(db.Integer)
    '''
        1 = 作品分类
        2 = 文章分类
        3 = 项目分类
    '''
    content_type = db.Column(db.Integer)
    '''
        作品{
            1 设计
            2 视频
        }
        文章{

        }
        项目{

        }
    '''
    title = db.Column(db.String(255))
    cover = db.Column(db.String(255))
    introduce = db.Column(db.String(255))
    content = db.Column(LONGTEXT) # content
    status = db.Column(db.Integer)
    '''
        0 = 正常
        1 = 下架
    '''
    index = db.Column(db.Boolean, default=False)
    '''
        true的为在首页展示
    '''
    is_delete = db.Column(db.Boolean, default=False)
    '''
Esempio n. 25
0
class VideoData(db.Model):

    __tablename__ = 'video_data'
    id = db.Column(db.Integer, primary_key=True)
    upload_userid = db.Column(db.Integer)  # 上传者用户id
    verify_type = db.Column(db.Integer)  # 审核状态
    '''
        1 审核通过
        2 等待审核
        3 审核不合格退回
        4 被管理员删除
    '''
    verify_falseinfo = db.Column(db.String(255))  # 审核不通过的原因
    classification = db.Column(db.Integer)  # 视频分类
    '''
        1   MAD·AMV
        2   MMD
        3   技术宅
        4   其他
        10  pv
    '''
    content_classification = db.Column(db.Integer)  # 视频内容分类
    '''
        1 静止系
        2 剪辑向
        3 混合向
    '''
    identification = db.Column(db.String(255))  # 唯一身份标识
    title = db.Column(db.String(255))  # 视频标题
    cover = db.Column(db.Text)  # 封面
    introduce = db.Column(db.Text)  # 介绍
    source_type = db.Column(db.Integer)  # 来源类型
    '''
        1 B站
        2 A站
        10 直传
    '''
    original_type = db.Column(db.Integer)  # 投稿类型
    '''
        1 原创
        2 转载
    '''
    original_url = db.Column(db.String(255))  # 转载地址
    original_author = db.Column(db.String(255))  # 原作者名称
    videoloadurl = db.Column(db.Text)  # 视频加载地址
    show_index = db.Column(db.Boolean, default=False)  # 首页展示
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
    '''
Esempio n. 26
0
class AccountUser(db.Model):

    __tablename__ = 'account_user'
    id = db.Column(db.Integer, primary_key=True)

    token = db.Column(db.Text)
    email = db.Column(db.Text)
    head = db.Column(db.Text)
    username = db.Column(db.String(255))
    password = db.Column(db.Text)
    status = db.Column(db.Integer, default=0)
    '''
        0 = 未进行邮箱验证
        1 = 正常用户
        2 = 受限用户
        3 = 禁止登录
    '''
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间

    msg_remind = db.Column(db.Boolean)
    newreply_count = db.Column(db.Integer)
Esempio n. 27
0
class CommentMain(db.Model):

    __tablename__ = 'comment_main'

    id = db.Column(db.Integer, primary_key=True)
    masterid = db.Column(db.String(255))  # 唯一值 用做评论标识
    senduser_id = db.Column(db.Integer)  # 发送用户id
    comment_type = db.Column(db.Integer)  # 评论类型              1 主评论 2 子评论
    content = db.Column(db.Text)  # 内容
    mainid = db.Column(db.Integer)  # 主评论id
    reply_comment_id = db.Column(db.Integer)  # 回复评论id
    is_delete = db.Column(db.Boolean, default=False)  # 是否被删除
    deleteinfo = db.Column(db.String(255))  # 删除原因
    subcomment_type = db.Column(db.Boolean, default=False)  # 是否存在二级评论
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间
    '''
Esempio n. 28
0
class ArticleData(db.Model):

    __tablename__ = 'article_data'

    id = db.Column(db.Integer, primary_key=True)
    classification = db.Column(db.Integer)  # 分类
    identification = db.Column(db.String(255))  # 唯一身份标识
    '''
        1 = 官方资讯
        2 = 手办
    '''
    title = db.Column(db.String(255))  # 标题
    cover = db.Column(db.String(255))  # 封面图
    introduce = db.Column(db.String(255))  # 简介
    content = db.Column(LONGTEXT)  # 文章内容
    status = db.Column(db.Integer)  # 上下架状态
    '''
        1 = 正常
        2 = 下架
    '''
    sort = db.Column(db.Integer, default=0)  # 权重
    show_index = db.Column(db.Boolean, default=False)  # 首页展示
    is_delete = db.Column(db.Boolean, default=False)  # 是否删除
    update_time = db.Column(db.DateTime,
                            index=True,
                            default=datetime.now,
                            onupdate=datetime.now)  # 更新时间
    create_time = db.Column(db.DateTime, index=True,
                            default=datetime.now)  # 创建时间