示例#1
0
        def wrapper(*args, **kwargs):
            if request.method == 'POST':

                token = request.headers.get('Authorization', None)
                if not token:
                    return ReturnRequest(
                        (BaseConfig.ERRORTOKEN, "用户Token不正确或有误", {}))

                if permission == 1:
                    account = AccountAdmin.query.filter(
                        AccountAdmin.token == token).first()

                elif permission == 2:
                    account = AccountUser.query.filter(
                        AccountUser.token == token).first()

                else:
                    print('注意![Middleware]@TOKEN: 未设置可访问的用户权限')

                if account:
                    print('request: ', request.json)
                    request.json['current_account'] = account
                    return func(request, *args, **kwargs)

                else:
                    return ReturnRequest(
                        (BaseConfig.ERRORTOKEN, "用户Token不正确或有误", {}))

            else:
                return ReturnRequest((405, '请求方法不正确', {}))
示例#2
0
        def wrapper(*args, **kwargs):
            if request.method == 'POST':

                token = GetRequestJsonData(request, 'Token', None)

                if not token:
                    return ReturnRequest(ReturnCode.paramete_error, '非法请求', '')

                account = Account.query.filter(Account.token == token).first()

                if not account:
                    return ReturnRequest(SystemCode.TokenInvalid,
                                         'Token已失效或不正确, 请重新登录', '')

                if not user_group:
                    print('注意!@UserTokenAuthPost: 未设置可访问的用户权限')
                    return ''

                if account.account_group not in user_group:
                    return ReturnRequest(ReturnCode.paramete_error,
                                         '你没有权限访问该接口', '')

                request.json['current_account'] = account

                return func(request, *args, **kwargs)

                # try:
                # except:
                #     return ReturnRequest(ReturnCode.paramete_type_error, '请求参数格式有误', '')

            else:
                return ReturnRequest(SystemCode.ErrorRequestMethod, '请求方法不正确',
                                     '')
示例#3
0
def auth_register(request):
    '''注册
    Args
        email(str)注册邮箱
        password(str)登录密码
        repassword(str)重复输入一次密码
        username(str)用户名已存在

    Result
        200 
            成功 {'vcode': vcode, 'email':email}
        10000
            账户未通过邮箱验证 请先完成验证
        400 
            输入信息有误
            用户名已存在
            邮箱格式有误
            邮箱已存在
            两次输入不一致
        503,502,504
            服务器出错

    '''
    c, m, d = views.auth_register(request.json)
    return ReturnRequest(c, m, d)
示例#4
0
文件: urls.py 项目: weivis/Flask-Cli
def upload_file(request):
    """多用文件上传接口
    Args:
        file: 文件
        uploadKey: 上传的key值

    Returns:
        ospath, 系统内的储存路径 一般不用
        lodpath, 加载路径 带http路径 + /static + ospath, 一般用于上传完成后加载用
        filename, 文件名

    Raises:
        200 ok
        400 错误: 没有文件
            错误: Key值不能为空
            文件类型不允许
            错误: 不允许使用的Key值

    ReturnJson:
        {
            "code": 200,
            "data": {
                "filename": "20201012115423509.jpg",
                "lodpath": "http://127.0.0.1/static/head/20201012115423509.jpg",
                "ospath": "/head/20201012115423509.jpg"
            },
            "msg": "ok"
        }
    """
    return ReturnRequest(views.upload_file(request))
示例#5
0
def album_list(request):
    '''资源列表
    Args
        types(int) 获取的资源类型
            1 = 番剧
            2 = OST
            3 = MMD
            4 = Live2D
        pages(int) 分页 默认1
        sfilter(int) 默认0 0正常 1全部

    Result
        code:   状态码
        msg:    消息
        data:
            result
                id
                classification
                identification
                name
                cover
                introduce
                status
                show_index
                relation_bangumi_id
            count   总搜索结果条数
            page    当前页数
            pages   总页数
    '''
    c, m, d = views.album_list(request.json)
    return ReturnRequest(c, m, d)
示例#6
0
def video_upload_or_edit(request):
    '''视频投稿和编辑
    Args
        id              int             视频id
        classification  int             视频分类
            1   MAD·AMV
            2   MMD
            3   技术宅
            4   其他
            10  pv
        content_classification int      视频内容分类
            1   静止系
            2   剪辑向
            3   混合向
        title           str             标题
        cover           str             封面
        introduce       str             介绍
        source_type     int             来源类型
            1   B站
            2   A站
            10  直传
        original_type   int             投稿类型
            1   原创
            2   转载
        original_url    str             转载地址
        original_author str             原作者名称
        videoloadurl    str             videoloadurl

    Result
        code:   状态码
        msg:    消息
        data:
    '''
    c, m, d = views.video_upload_or_edit(request.json)
    return ReturnRequest(c, m, d)
示例#7
0
def AddAndEdit(request):
    '''添加子类目或编辑子目名

        有id时为编辑 无id时为添加

        Param:
            fid 父id
            name 类目名
            id 需要修改的类目id
            
        ReturnCode:
            200 添加成功 or 编辑成功
            201 子类目名不能为空
            202 子类目名已存在
            203 父级类目id不能为空
            204 父级分类不存在
            301 需要修改的类目不存在
            401 添加失败
            402 修改失败

        ReturnJson:
            {
                "code": 200,
                "data": {},
                "msg": "添加成功"
            }

    '''
    c, m, d = views.category_add(request.json)
    return ReturnRequest(c, m, d)
示例#8
0
def article_list(request):
    '''文章列表
    Args
        types(int) 获取的资源类型
            0 = 全部 默认
            1 = 官方资讯
            2 = 手办
        pages(int) 分页 默认1
        sfilter(int) 默认0 0正常 1全部

    Result
        code:   状态码
        msg:    消息
        data:   
            result  [
                id
                classification
                title
                cover
                introduce
                sort
                status
                show_index
                is_delete
            ]
            count   总搜索结果条数
            page    当前页数
            pages   总页数
    '''
    c, m, d = views.article_list(request.json)
    return ReturnRequest(c, m, d)
示例#9
0
def bangumi_list(request):
    '''番剧列表
    Args
        types(int) 获取的资源类型
            1 = 番剧
            2 = 剧场版
            3 = OVA
            4 = SP
        pages(int) 分页 默认1
        sfilter(int) 默认0 0正常 1全部

    Result
        code:   状态码
        msg:    消息
        data:
            result
                id              id
                name            番剧名
                setscount       剧集总数
                introduce       介绍
                cover           封面
                upstatus        连载状态
                staff           staff制作信息
                station_play    是否支持站内播放
                openplay_time   开播时间
                sort            权重
            count   总搜索结果条数
            page    当前页数
            pages   总页数
    '''
    c,m,d = views.bangumi_list(request.json)
    return ReturnRequest(c,m,d)
示例#10
0
def bangumi_info(request):
    '''获取详细番剧信息
    Args
        id
    Result
        code:   状态码
        msg:    消息
        data:
            result
                id
                name
                setscount
                introduce
                cover
                upstatus
                staff
                station_play
                openplay_time
                sort
            playsource
                id
                url
                source_name
                bangumi_id
                sort
    '''
    c,m,d = views.bangumi_info(request.json)
    return ReturnRequest(c,m,d)
示例#11
0
def album_info(request):
    '''资源详细信息
    Args
        id      int     资源id
    Result
        code:   状态码
        msg:    消息
        data:
            result
                id
                classification
                identification
                name
                cover
                introduce
                status
                show_index
                relation_bangumi_id

            relation_bangumi
                id
                name
                cover
    '''
    c, m, d = views.album_info(request.json)
    return ReturnRequest(c, m, d)
示例#12
0
        def wrapper(*args, **kwargs):
            if request.method == 'POST':

                token = request.headers.get('Token', None)
                auth = Auth(token, user_group)

                if auth.status():
                    request.json['current_account'] = auth.account
                    return func(request, *args, **kwargs)

                else:
                    c, m, d = auth.errormsg()
                    return ReturnRequest(c, m, d)

            else:
                return ReturnRequest(405, '请求方法不正确', '', {})
示例#13
0
def bangumi_add_or_edit(request):
    '''添加番剧或编辑
    Args
        classification(int)类型
            1 = 番剧
            2 = 剧场版
            3 = OVA
            4 = SP
        openplay_time(str)开播日期 格式yyyy-MM-dd
        name(str)番剧名
        setscount(int)总集数
        introduce(str)介绍
        cover(str)封面
        upstatus(int)连载状态 1 = 连载中 2 = 已完结
        staff(str)制作信息
        station_play(int)1 = 运行 2 = 不允许
        status(int)上下架状态 1 正常 2 = 下架
        sort(int)权重

    Result
        code:   状态码
            200 成功
        msg:    消息
        data:   null
    '''
    c,m,d = views.bangumi_add_and_edit(request.json)
    return ReturnRequest(c,m,d)
示例#14
0
def List(request):
    '''子类目列表

        Param:
            fid 主类目id
    
        ReturnCode:
            200 正常
            201 父级类目id不能为空
            202 父级分类不存在

        ReturnJson:
            {
                "code": 0,
                "data": [
                    {
                    "categoryid": 1,
                    "create_time": "2020-04-29 01:28:41",
                    "id": 1,
                    "name": "测试修改子类目名字"
                    }
                ],
                "msg": "OK"
            }
    '''
    c, m, d = views.category_list(request.json)
    return ReturnRequest(c, m, d)
示例#15
0
def AddorEdit(request):
    '''增加或编辑笔记

        Param:
            id 笔记id
            cid 类目id
            content 内容
            title 标题

        ReturnCode:
            200 正常
            201 类目id不能为空
            202 类目不存在
            203 笔记内容不能为空
            204 要修改的笔记不存在
            400 添加失败
            401 修改失败

        ReturnJson:
            {
                "code": 200,
                "data": {},
                "msg": "修改成功"
            }
    '''
    c, m, d = views.addoredit(request.json)
    return ReturnRequest(c, m, d)
示例#16
0
def Get(request):
    '''获取单条笔记详细

        Param:
            id 笔记id

        ReturnCode:
            200 正常
            201 笔记id不能为空
            202 笔记不存在

        ReturnJson:
            {
            "code": 200,
            "data": {
                "create_time": "2020-04-29 02:27:04",
                "id": 1,
                "is_delete": false,
                "note_content": "修改后的内容",
                "note_title": "修改后的标题",
                "subcategoryid": 2
            },
            "msg": "OK"
            }
    '''
    c, m, d = views.getanote(request.json)
    return ReturnRequest(c, m, d)
示例#17
0
def upload_article(request):
    '''发表文章

        Param:
            title 文章标题
            introduce 介绍
            content 内容
            article_type 发布类型
                1 作品
                2 文章
                3 项目
            content_type 内容类型
            cover 封面
            content_type 内容类型 # article_type为1时 content_type为必填项
                1 设计
                2 视频

        ReturnCode:
            200 成功
            400 标题不能为空
                介绍不能为空
                内容不能为空
                发布类型不能为空
                封面不能为空
                作品类型不能为空

        ReturnJson:
    '''
    c,m,d = views.upload_article(request.json)
    return ReturnRequest(c,m,d)
示例#18
0
def login(request):
    '''登录接口
        Param:
            email 邮箱
            password 密码

        ReturnCode:
            200 登录成功
            400 用户不存在
                邮箱或密码不正确
            1000 黑名单用户 禁止登录
            502 系统出错

        ReturnDoc:
            Token
            userID
            username
            head
            group

        ReturnJson:

    '''
    c, m, d = views.login(request.json)
    return ReturnRequest(c, m, d)
示例#19
0
def photo_list(request):
    '''获取列表
    Args
        category    int     分区
            1 : 原创
            2 : Pixiv
            3 : Cospaly
        sfilter     int|str 内容类型
        userid      int     用户id
        pages       int     分页
        type        int     不为空时获取未审核的    默认值0 传1

    Result
        id
        upload_userid
        file
        title
        info
        category
        pixiv_author
        verify
        create_time
    '''
    c, m, d = views.list(request.json)
    return ReturnRequest(c, m, d)
示例#20
0
def cv_del(request):
    '''CV删除
    Args
        id 要删除的cv的id
    Result
        200 成功
    '''
    c,m,d = views.cv_del(request.json)
    return ReturnRequest(c,m,d)
示例#21
0
def comment_report(request):
    '''评论举报
    Args
        commentid
    Result
        200
    '''
    c, m, d = views.comment_report(request.json)
    return ReturnRequest(c, m, d)
示例#22
0
文件: urls.py 项目: weivis/Flask-Cli
def admin_account_list(request):
    """获取全部管理员账户
    Args:
        querys: 查询集  
        query_page: int 需要获取的页数  

    Returns:
    """
    return ReturnRequest(account.admin_account_list(request.json))
示例#23
0
def auth_logout(request):
    '''退出登录
    Args
        null
    Result
        200
    '''
    c, m, d = views.auth_logout(request.json)
    return ReturnRequest(c, m, d)
示例#24
0
def auth_verify_register_vcode(request):
    '''验证注册验证码
    Args
        code(str)验证码
    Result
        200
    '''
    c, m, d = views.auth_verify_register_vcode(request.json)
    return ReturnRequest(c, m, d)
示例#25
0
文件: urls.py 项目: weivis/Flask-Cli
def Seed_Email_Test(request):
    """邮件发送测试"""
    SeedEmail(
        recipients=['*****@*****.**'],
        email_title="测试",
        email_body="BODY",
        email_html="<h>测试</h>"
    )
    return ReturnRequest(views.test(request.json))
示例#26
0
文件: urls.py 项目: weivis/My-Website
def index_dynamics_data(request):
    '''更多文章-获取
        Param:
            {}
        ReturnCode:
            200 成功
        ReturnJson:
    '''
    c, m, d = views.index_dynamics_data(request.json)
    return ReturnRequest(c, m, d)
示例#27
0
文件: urls.py 项目: weivis/My-Website
def list_more_article(request):
    '''更多文章-获取
        Param:
            {}
        ReturnCode:
            200 成功
        ReturnJson:
    '''
    c, m, d = views.list_more_article(request.json)
    return ReturnRequest(c, m, d)
示例#28
0
def auth_logout_admin(request):
    '''退出登录管理员
    Args
        null
    Result
        200 退出成功
        502 服务器出错
    '''
    c, m, d = views.auth_logout_admin(request.json)
    return ReturnRequest(c, m, d)
示例#29
0
def cv_add(request):
    '''CV添加
    Args
        people_name 人名
        head        头像
    Result
        200 成功
    '''
    c,m,d = views.cv_add_or_edit(request.json)
    return ReturnRequest(c,m,d)
示例#30
0
def article_edit(request):
    '''获取单篇文章

        Param:

        ReturnCode:

        ReturnJson:
    '''
    c,m,d = views.edit_article(request.json)
    return ReturnRequest(c,m,d)