예제 #1
0
파일: topic.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict


log = applog.get_log('web.topic')
dbins = DbOperate.instance()


class TopicListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取主题列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await topic_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)

class TopicAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加主题 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await topic_add(arg_key)
        self.send_cms_msg(code, msg)

class TopicEditHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 修改主题 '''
예제 #2
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool.tooltime import curDatetime
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.classinfo')
dbins = DbOperate.instance()


class ClassInfoListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取菜谱步骤列表 '''
        # page = self.verify_arg_legal(self.get_argument('page'), '页码', False, is_num=True)
        # epage = self.verify_arg_legal(self.get_argument('limit'), '每页数', False, is_num=True)
        # print(username, password)
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        blist = await classinfo_list(arg_key)
        d_status = {"code": 200, "message": "操作成功"}  # dtree 数据格式的问题
        return self.send_cms_msg(0, 'success', blist, status=d_status)


class ClassInfoAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加菜谱步骤 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await classinfo_add(arg_key)
        return self.send_cms_msg(code, msg)
예제 #3
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict
from chefcmsadmin.tool.tooltime import curDatetime, nowDaysAfter

log = applog.get_log('web.campaign.content')
dbins = DbOperate.instance()


class CampaignContentListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取活动内容内容列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await campaign_content_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class CampaignContentAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加活动内容 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await campaign_content_add(arg_key)
        self.send_cms_msg(code, msg)


class CampaignContentEditHandler(BaseHandler):
    @authenticated
예제 #4
0
파일: user.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from chefcmsadmin.tool.tooltime import curDatetime
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.recipe')
dbins = DbOperate.instance()


class UserListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取用户列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await user_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class UserCheckHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 审核高级认证 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await user_check(arg_key)
        self.send_cms_msg(code, msg)


class UserVerifyInfoHandler(BaseHandler):
    @authenticated
예제 #5
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.recipestep')
dbins = DbOperate.instance()


class AwardDetailListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取奖品详情步骤列表 '''
        # page = self.verify_arg_legal(self.get_argument('page'), '页码', False, is_num=True)
        # epage = self.verify_arg_legal(self.get_argument('limit'), '每页数', False, is_num=True)
        # print(username, password)
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        blist = await award_detail_list(arg_key)
        self.send_cms_msg(0, 'success', blist)


class AwardDetailAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加奖品详情步骤 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await award_detail_add(arg_key)
        self.send_cms_msg(code, msg)

예제 #6
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from chefcmsadmin.tool.tooltime import curDatetime
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.report')
dbins = DbOperate.instance()


class ReportListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取动态列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await report_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class ReportSetHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 删除动态 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await report_set(arg_key)
        self.send_cms_msg(code, msg)


async def report_set(arg_dict):
    ''' 设置举报状态 '''
예제 #7
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.channel')
dbins = DbOperate.instance()


class ChannelListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取频道列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await channel_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class ChannelAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加频道 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await channel_add(arg_key)
        self.send_cms_msg(code, msg)


class ChannelEditHandler(BaseHandler):
    @authenticated
    async def post(self):
예제 #8
0
파일: award.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict
from chefcmsadmin.tool.tooltime import curDatetime, nowDaysAfter

log = applog.get_log('web.award')
dbins = DbOperate.instance()


class AwardListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取积分奖品列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await award_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class AwardAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加积分奖品 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await award_add(arg_key)
        self.send_cms_msg(code, msg)


class AwardEditHandler(BaseHandler):
    @authenticated
예제 #9
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.point')
dbins = DbOperate.instance()


class PointListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取主题列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await point_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class PointAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加主题 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await point_add(arg_key)
        self.send_cms_msg(code, msg)


class PointEditHandler(BaseHandler):
    @authenticated
    async def post(self):
예제 #10
0
파일: dongtai.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from chefcmsadmin.tool.tooltime import curDatetime
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.dongtai')
dbins = DbOperate.instance()


class DongtaiListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取动态列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await dongtai_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class DongtaiDeleteHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 删除动态 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await dongtai_del(arg_key)
        self.send_cms_msg(code, msg)


class DongtaiSetLikeHandler(BaseHandler):
    @authenticated
예제 #11
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict
from chefcmsadmin.tool.tooltime import curDatetime, nowDaysAfter

log = applog.get_log('web.campaign')
dbins = DbOperate.instance()


class CampaignListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取活动列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await campaign_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class CampaignAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加活动 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await campaign_add(arg_key)
        self.send_cms_msg(code, msg)


class CampaignEditHandler(BaseHandler):
    @authenticated
예제 #12
0
파일: banner.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.banner')
dbins = DbOperate.instance()


class BannerListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取轮播列表 '''
        # page = self.verify_arg_legal(self.get_argument('page'), '页码', False, is_num=True)
        # epage = self.verify_arg_legal(self.get_argument('limit'), '每页数', False, is_num=True)
        # self.get_argument('limit')
        # print(username, password)
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await banner_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class BannerAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加轮播 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await banner_add(arg_key)
        self.send_cms_msg(code, msg)
예제 #13
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from chefcmsadmin.tool.tooltime import curDatetime
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.recommendtopic')
dbins = DbOperate.instance()


class RecommendTopicListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取推荐主题列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await recommendtopic_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class RecommendTopicAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加推荐主题 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await recommendtopic_add(arg_key)
        self.send_cms_msg(code, msg)


class RecommendTopicEditHandler(BaseHandler):
    @authenticated
예제 #14
0
파일: login.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from chefcmsadmin.tool.session import session_dict
from tornado.web import authenticated
import uuid, time

log = applog.get_log('web.login')
dbins = DbOperate.instance()


class LoginHandler(BaseHandler):
    async def get(self):
        username = self.verify_arg_legal(self.get_argument('username'),
                                         '用户名',
                                         False,
                                         is_len=True,
                                         olen=20)
        password = self.verify_arg_legal(self.get_argument('password'),
                                         '密码',
                                         False,
                                         is_len=True,
                                         olen=20)
        # print(username, password)
        login_result = await logincms(username, password)
        if login_result:
            randid = str(uuid.uuid4())
            if not self.get_secure_cookie("cmsadmincookie"):
                self.clear_cookie("cmsadmincookie")

            self.set_secure_cookie("cmsadmincookie", randid, expires=None)
예제 #15
0
파일: order.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.order')
dbins = DbOperate.instance()


class OrderListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取兑换订单列表 '''
        page = self.verify_arg_legal(self.get_argument('page'),
                                     '页码',
                                     False,
                                     is_num=True)
        epage = self.verify_arg_legal(self.get_argument('limit'),
                                      '每页数',
                                      False,
                                      is_num=True)
        # print(username, password)
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await order_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class OrderAddHandler(BaseHandler):
    @authenticated
    async def post(self):
예제 #16
0
from tornado.escape import json_encode, json_decode
from chefcmsadmin.tool import applog
from chefcmsadmin.config import CONFIG_REDIS_URI
import aioredis

log = applog.get_log('tool.async_redis_pool')


class RedisOperate(object):
    def __init__(self):
        self.obj_pool = None

    @classmethod
    def instance(cls, *args, **kwargs):
        if not hasattr(RedisOperate, "_instance"):
            RedisOperate._instance = RedisOperate(*args, **kwargs)
        return RedisOperate._instance

    async def create_redis_pool(self):
        log.info('create redis connection pool...')
        self.obj_pool = await aioredis.create_pool(CONFIG_REDIS_URI,
                                                   minsize=5,
                                                   maxsize=100)

    async def execute(self, *arg):
        # 总的执行方法
        if self.obj_pool is None:
            await self.create_redis_pool()
        try:
            return await self.obj_pool.execute(*arg)
        except Exception as e:
예제 #17
0
파일: dbpool.py 프로젝트: whisnos/guanfan
'''
dbpool 数据库操作类
'''
import aiomysql
from chefcmsadmin.tool import applog
from chefcmsadmin.config import CONFIG_MYSQL

log = applog.get_log('tool.dbpool')


class DbOperate(object):
    def __init__(self):
        self.__pool = None

    @classmethod
    def instance(cls, *args, **kwargs):
        if not hasattr(DbOperate, "_instance"):
            DbOperate._instance = DbOperate(*args, **kwargs)
        return DbOperate._instance

    async def create_db_pool(self):
        log.info('create database connection pool...')
        if isinstance(self.__pool, aiomysql.pool.Pool):
            return self.__pool
        try:
            obj_pool = await aiomysql.create_pool(
                host=CONFIG_MYSQL.get('host', '127.0.0.1'),
                port=CONFIG_MYSQL.get('port', 3306),
                user=CONFIG_MYSQL['user'],
                password=CONFIG_MYSQL['password'],
                db=CONFIG_MYSQL['db'],
예제 #18
0
# -*- coding: utf-8 -*-
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict
from urllib import parse, request
import base64
import hashlib
from Crypto.Hash import MD5
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5 as Signature_pkcs1_v1_5

log = applog.get_log('web.osscallbackhandler')


class OssCallBackHandler(BaseHandler):
    async def post(self):
        # arg_key = change_byte_to_dict(self.request.body, self.request.query)
        # print(self.request.body.decode('utf-8'))
        log.debug("header:{}".format(self.request.headers))
        log.debug("uri:{}".format(self.request.uri))
        log.debug("body:{}".format(self.request.body.decode('utf-8')))
        # responsedict = {"Status":"OK"} # 图片校验正确,返回给OSS正常
        auth_str = get_message(self.request.uri,
                               self.request.body.decode('utf-8'))
        log.debug("auth_str:{}".format(auth_str))
        res = oss_auth_crypto_verify(auth_str,
                                     self.request.headers['Authorization'],
                                     self.request.headers['X-Oss-Pub-Key-Url'])
        log.debug("结果:{}".format(res))
        responsedict = {"Status": "fail", "msg": res}  # 图片校验正确,返回给OSS正常
예제 #19
0
import tornado.web
import urllib.parse
from tornado.escape import json_decode
from chefcmsadmin.tool import applog
from chefcmsadmin.tool.session import session_dict
from chefcmsadmin.config import SESSION_EXPIRE
# 会话管理
import tornado.options
import time

log = applog.get_log('web.basehandler')


class BaseHandler(tornado.web.RequestHandler):
    def options(self):
        # no body
        self.set_status(204)
        raise tornado.web.Finish()

    def get_current_user(self):
        ''' 验证用户是否登录 '''
        # return True # DEBUG, 不验证登录
        sessionbyte = self.get_secure_cookie("cmsadmincookie")
        if sessionbyte is None:
            # return None
            self.send_cms_msg(9999, '未登录,请先登录', None)
        sessionid = sessionbyte.decode('utf-8')
        # print("auth:",sessionid)
        # print("sessionlist:",session_dict)
        if session_dict.get(sessionid, False) is False:
            # 返回数据
예제 #20
0
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict

log = applog.get_log('web.taochannel')
dbins = DbOperate.instance()


class TaoChannelListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取频道列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await taochannel_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)


class TaoChannelAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加频道 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await taochannel_add(arg_key)
        self.send_cms_msg(code, msg)


class TaoChannelEditHandler(BaseHandler):
    @authenticated
    async def post(self):
예제 #21
0
파일: trending.py 프로젝트: whisnos/guanfan
from chefcmsadmin.tool.basehandler import BaseHandler
from chefcmsadmin.tool.dbpool import DbOperate
from chefcmsadmin.tool import applog
from chefcmsadmin.tool.tooltime import curDatetime
from tornado.web import authenticated
from chefcmsadmin.tool.urlcommon import change_byte_to_dict


log = applog.get_log('web.trending')
dbins = DbOperate.instance()


class TrendingListHandler(BaseHandler):
    @authenticated
    async def get(self):
        ''' 获取热搜列表 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        count, blist = await trending_list(arg_key)
        self.send_cms_msg(0, 'success', blist, count=count)

class TrendingAddHandler(BaseHandler):
    @authenticated
    async def post(self):
        ''' 增加热搜 '''
        arg_key = change_byte_to_dict(self.request.body, self.request.query)
        code, msg = await trending_add(arg_key)
        self.send_cms_msg(code, msg)

class TrendingEditHandler(BaseHandler):
    @authenticated
    async def post(self):