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): ''' 修改主题 '''
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)
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
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
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)
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): ''' 设置举报状态 '''
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):
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
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):
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
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
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)
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
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)
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):
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:
''' 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'],
# -*- 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正常
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: # 返回数据
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):
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):