Created by Allen7D on 2020/6/15. ↓↓↓ 操作日志接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import oper_log as api_doc from app.core.token_auth import auth from app.core.utils import paginate, time_interval from app.core.db import db from app.models.oper_log import OperLog from app.dao.oper_log import OperLogDao from app.libs.error_code import Success from app.validators.forms import LogSearchValidator __author__ = 'Allen7D' api = Redprint(name='log/oper', module='操作日志管理', api_doc=api_doc, alias='cms_oper_log') @api.route('/list/search', methods=['GET']) @api.route_meta(auth='搜索操作日志', module='操作日志') @api.doc(args=['g.query.page', 'g.query.size', 'g.query.start', 'g.query.end', 'g.query.username', '*str.query.keyword'], auth=True) @auth.group_required def get_log_list_by_search(): '''搜索操作日志(按人员&时间&内容)''' page, size = paginate() start, end = time_interval() user_name, keyword = LogSearchValidator().get_data('username', 'keyword') paginator = OperLogDao.get_log_list_by_search(page, size, start, end, user_name, keyword) return Success({ 'total': paginator.total,
↓↓↓ 文章管理接口 ↓↓↓ """ from flask import g from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import article as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.models.article import Article from app.dao.article import ArticleDao from app.libs.error_code import Success from app.validators.article import ArticleValidator, ArticleTypeValidator __author__ = 'Allen7D' api = Redprint(name='article', module='文章管理', api_doc=api_doc, alias='cms_article') @api.route('/list', methods=['GET']) @api.doc(args=['query.type', 'g.query.page', 'g.query.size']) def get_article_list(): '''查询文章列表''' type = ArticleTypeValidator().get_data('type') page, size = paginate() articles = ArticleDao.get_article_list(type, page, size) return Success(articles) @api.route('/latest', methods=['GET']) @api.doc(args=['query.type', 'g.query.page', 'g.query.size']) def get_latest_article_list():
Created by Allen7D on 2019/6/27. ↓↓↓ 管理员接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.core.token_auth import auth from app.core.utils import paginate from app.core.logger import Logger from app.models.user import User from app.dao.user import UserDao from app.libs.enums import OperTyepEnum from app.libs.error_code import Success from app.validators.forms import ResetPasswordValidator, UpdateAdminValidator __author__ = 'Allen7D' api = Redprint(name='user', module='用户管理', api_doc=None, alias='cms_user') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询用户列表', module='用户') @api.doc(args=['g.query.page', 'g.query.size'], auth=True) @auth.group_required def get_user_list(): '''查询用户列表(分页)''' page, size = paginate() rv = UserDao.get_user_list(page, size) return Success(rv) @api.route('/<int:uid>', methods=['GET']) @api.route_meta(auth='查询用户详情', module='用户')
from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import file as api_doc from app.extensions.file.local_uploader import LocalUploader from app.extensions.file.qiniu_uploader import QiniuUploader from app.core.token_auth import auth from app.core.utils import paginate from app.models.file import File from app.dao.file import FileDao from app.service.file import FileService from app.libs.error_code import Success from app.validators.forms import UploadFileValidator, FileParentIDValidator, IDCollectionValidator, \ CreateFileValidator, UpdateFileValidator, MoveOrCopyFileValidator __author__ = 'Allen7D' api = Redprint(name='file', module='文件管理', api_doc=api_doc, alias='cms_file') @api.route('/types', methods=['GET']) @api.doc() def get_file_types(): '''支持的文件类型''' types = list(current_app.config['FILE']['INCLUDE']) return Success({ 'items': types }) @api.route('/<id>', methods=['POST']) @api.route_meta(auth='上传文件', module='文件') @api.doc(args=['g.path.parent_id'], auth=True)
""" from flask import g from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import notice as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.models.notice import Notice from app.dao.notice import NoticeDao from app.libs.error_code import Success from app.validators.forms import CreateNoticeValidator, UpdateNoticeValidator, IDCollectionValidator __author__ = 'Allen7D' api = Redprint(name='notice', module='通知(公告)', api_doc=api_doc, alias='cms_notice') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询通知列表', module='通知(公告)') @api.doc(args=['g.query.page', 'g.query.size'], auth=True) @auth.group_required def get_notice_list(): '''查询通知列表''' page, size = paginate() paginator = Notice.query.filter_by().paginate(page=page, per_page=size, error_out=True) return Success({ 'total': paginator.total,
""" Created by Mohan on 2020/5. ↓↓↓ 权限组路由管理接口 ↓↓↓ """ from flask import request from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import menu as api_doc from app.core.token_auth import auth from app.libs.error_code import Success from app.dao.menu import MenuDao from app.validators.forms import MenuGroupIdValidator __author__ = 'Mohan' api = Redprint(name='menu', module='菜单管理', api_doc=api_doc, alias='cms_menu') @api.route('', methods=['GET']) @api.doc(args=['query.group_id'], auth=True) @auth.admin_required def get_routes(): """根据权限组ID, 获取菜单""" gid = MenuGroupIdValidator().group_id.data return Success(MenuDao.get_routes(gid)) @api.route('', methods=['PUT']) @api.doc(args=['body.routes', 'body.group_id'], auth=True) @auth.admin_required def delete_route():
from flask import request from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import admin as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.dao.admin import AdminDao from app.models.user import User from app.dao.user import UserDao from app.libs.error_code import Success from app.validators.forms import ResetPasswordValidator, CreateAdminValidator __author__ = 'Allen7D' api = Redprint(name='admin', module='管理员管理', api_doc=api_doc, alias='cms_admin') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询管理员列表', module='管理员', mount=False) @api.doc(args=['g.query.page', 'g.query.size', 'query.group_id'], auth=True) @auth.admin_required def get_admin_list(): '''查询管理员列表''' page, size = paginate() group_id = int(request.args.get('group_id')) # 可选 rv = AdminDao.get_admin_list(group_id=group_id, page=page, size=size) return Success(rv)
↓↓↓ 页面元素管理接口 ↓↓↓ """ from app.core.error import Success from app.extensions.api_docs.cms import element as api_doc from app.extensions.api_docs.redprint import Redprint from app.dao.element import ElementDao from app.models.element import Element from app.core.utils import paginate from app.validators.element import ElementValidator, Group2ElementValidator, RouteIdValidator from app.validators.forms import IDCollectionValidator, GroupIdValidator from app.core.token_auth import auth __author__ = 'Chai' api = Redprint(name='element', module='页面元素管理', api_doc=api_doc, alias='cms_element') @api.route('', methods=['POST']) @api.route_meta(auth='新增页面元素', module='页面元素', mount=False) @api.doc(args=['body.name', 'body.sign', 'body.route_id'], auth=True) @auth.admin_required def create_element(): '''新增页面元素''' form = ElementValidator().dt_data ElementDao.create_element(form) return Success(error_code=1) @api.route('/deploy', methods=['PUT'])
""" from flask import g from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import order as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.service.order import OrderService from app.models.order import Order from app.dao.order import OrderDao from app.libs.error_code import Success from app.validators.forms import OrderPlaceValidator, OrderIDValidator __author__ = 'Allen7D' api = Redprint(name='order', module='订单', api_doc=api_doc) @api.route('', methods=['POST']) @api.doc(auth=True) @auth.login_required def place_order(): '''提交订单''' products = OrderPlaceValidator().validate_for_api().products.data status = OrderService().palce(uid=g.user.id, o_products=products) return Success(status) @api.route('', methods=['GET']) @api.doc(args=['g.query.page', 'g.query.size'], auth=True) @auth.login_required
# _*_ coding: utf-8 _*_ """ Created by Allen7D on 2020/6/16. ↓↓↓ 服务监控接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import server as api_doc from app.core.token_auth import auth from app.libs.server import Server from app.libs.error_code import Success __author__ = 'Allen7D' api = Redprint(name='server', module='服务监控', api_doc=api_doc, alias='cms_server') @api.route('', methods=['GET']) @api.route_meta(auth='查询服务器信息', module='服务监控') @api.doc(auth=True) # @auth.group_required def get_server_info(): '''查询服务器信息''' server = Server() return Success({ 'system': server.system, # 系统 'cpu': server.cpu, # CPU 'memory': server.memory, # 内存 'disk': server.disk, # 硬盘
""" Created by Allen7D on 2020/6/30. ↓↓↓ Banner接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import banner as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.models.banner import Banner from app.dao.banner import BannerDao from app.libs.error_code import Success, BannerException __author__ = 'Allen7D' api = Redprint(name='banner', module='轮播图管理', api_doc=api_doc, alias='cms_banner') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询轮播图列表', module='轮播图') @api.doc(args=['g.query.page', 'g.query.size'], auth=True) @auth.group_required def get_banner_list(): '''查询订单列表''' page, size = paginate() banner_list = BannerDao.get_list(page=page, size=size) return Success(banner_list) @api.route('/<int:id>', methods=['GET'])
# from flask import Flask # app = Flask(__name__) # @app.route('/') # def hello_world(): # return 'Hello World!' from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import pay as api_doc api = Redprint(name='hello', module='测试示例', api_doc=api_doc) @api.route('/all', methods=['GET']) @api.doc(auth=True) # 可以显示接口调用和测试 # @auth.login_required def get_pre_order(): '''查询预订单''' # order_id = IDMustBePositiveIntValidator().nt_data.id # pay_service = PayService(order_id) # pay_service.pay() # Success() return 'Hello World!'
# _*_ coding: utf-8 _*_ """ Created by Allen7D on 2018/6/16. ↓↓↓ Banner接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import banner as api_doc from app.models.banner import Banner from app.libs.error_code import Success, BannerException __author__ = 'Allen7D' api = Redprint(name='banner', module='首页轮播图', api_doc=api_doc) @api.route('/<int:id>', methods=['GET']) @api.doc(args=['g.path.banner_id']) def get_banner(id): '''查询首页轮播图''' banner = Banner.query.filter_by(id=id).first_or_404(e=BannerException) return Success(banner)
Created by Allen7D on 2020/6/28. ↓↓↓ 异常日志接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import login_log as api_doc from app.core.token_auth import auth from app.core.utils import paginate, time_interval from app.core.db import db from app.models.error_log import ErrorLog from app.libs.error_code import Success from app.validators.forms import IDCollectionValidator __author__ = 'Allen7D' api = Redprint(name='log/error', module='异常日志管理', api_doc=api_doc, alias='cms_error_log') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询异常日志列表', module='异常日志') @api.doc(args=['g.query.page', 'g.query.size', 'g.query.start', 'g.query.end'], auth=True) @auth.group_required def get_log_list(): '''查询异常日志列表''' page, size = paginate() start, end = time_interval() return Success()
Created by Allen7D on 2020/6/15. ↓↓↓ 登录日志接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import login_log as api_doc from app.core.db import db from app.core.token_auth import auth from app.core.utils import paginate, time_interval from app.models.login_log import LoginLog from app.dao.login_log import LoginLogDao from app.libs.error_code import Success __author__ = 'Allen7D' api = Redprint(name='log/login', module='登录日志管理', api_doc=api_doc, alias='cms_login_log') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询登录日志列表', module='登录日志') @api.doc(args=['g.query.page', 'g.query.size', 'g.query.start', 'g.query.end'], auth=True) @auth.group_required def get_log_list(): '''查询登录日志列表''' page, size = paginate() start, end = time_interval() paginator = LoginLogDao.get_log_list(page, size, start, end) return Success({ 'total': paginator.total,
""" Created by Allen7D on 2018/6/17. ↓↓↓ 主题接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import theme as api_doc from app.core.token_auth import auth from app.core.utils import get_request_args, paginate from app.models.theme import Theme from app.dao.theme import ThemeDao from app.libs.error_code import Success from app.validators.forms import IDCollectionValidator __author__ = 'Allen7D' api = Redprint(name='theme', module='主题', api_doc=api_doc) @api.route('', methods=['GET']) @api.doc(args=['theme_ids']) def get_simple_list(): '''基于一组id的主题 只查询存在的id,不存在的则不返回结果 :arg /theme?ids=id1,id2,id3,... :return: 一组theme模型 ''' ids = IDCollectionValidator().validate_for_api().ids.data themes = Theme.query.filter(Theme.id.in_(ids)).all() return Success({'items': themes})
# _*_ coding: utf-8 _*_ """ Created by Allen7D on 2020/6/11. ↓↓↓ 字典管理接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import dict as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.models.dict import Dict from app.libs.error_code import Success from app.validators.forms import DictTypeValidator, UpdateDictValidator, CreateDictValidator __author__ = 'Allen7D' api = Redprint(name='dict', module='字典数据', api_doc=api_doc, alias='cms_dict') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询字典数据列表', module='字典数据') @api.doc(args=['g.query.page', 'g.query.size', 'query.type'], auth=True) @auth.group_required def get_dict_list(): '''查询字典数据列表''' page, size = paginate() type = DictTypeValidator().get_data('type') paginator = Dict.query.filter_by(type=type).paginate(page=page, per_page=size, error_out=True) return Success({ 'total': paginator.total,
""" Created by Allen7D on 2018/6/17. ↓↓↓ 产品接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import product as api_doc from app.core.token_auth import auth from app.models.product import Product from app.dao.product import ProductDao from app.libs.error_code import Success from app.core.utils import paginate from app.validators.forms import CountValidator, CategoryIDValidator, ReorderValidator __author__ = 'Allen7D' api = Redprint(name='product', module='产品', api_doc=api_doc) @api.route('/recent', methods=['GET']) @api.doc(args=['count']) def get_recent(): '''最新的商品''' count = CountValidator().validate_for_api().count.data rv = ProductDao.get_most_recent(count=count) return Success(rv) @api.route('/all/by_category', methods=['GET']) @api.doc(args=['g.query.category_id']) def get_all_by_category(): '''查询类别下所有商品'''
# _*_ coding: utf-8 _*_ """ Created by Allen7D on 2020/6/30. ↓↓↓ BannerItem接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import banner_item as api_doc from app.core.token_auth import auth from app.models.banner_item import BannerItem from app.libs.error_code import Success, BannerException __author__ = 'Allen7D' api = Redprint(name='banner_item', module='轮播子图管理', api_doc=api_doc, alias='cms_banner_item') @api.route('/<int:id>', methods=['GET']) @api.doc(args=['g.path.banner_item_id']) def get_banner_item(id): '''查询轮播子图''' banner_item = BannerItem.query.filter_by(id=id).first_or_404( e=BannerException) return Success(banner_item) @api.route('', methods=['POST']) @api.route_meta(auth='新建轮播子图', module='轮播子图') @api.doc(args=[], auth=True)
""" Created by Allen7D on 2020/5/18. """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import order as api_doc from app.core.token_auth import auth from app.core.utils import get_request_args, paginate from app.models.order import Order from app.dao.order import OrderDao from app.service.order import OrderService from app.libs.error_code import Success from app.validators.forms import TimeIntervalValidator, OrderIDValidator __author__ = 'Allen7D' api = Redprint(name='order', module='订单管理', api_doc=api_doc, alias='cms_order') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询订单列表', module='订单') @api.doc(args=['g.query.page', 'g.query.size', 'g.query.start', 'g.query.end'], auth=True) @auth.group_required def get_order_list(): '''查询订单列表''' page, size = paginate() time_validator = TimeIntervalValidator().nt_data paged_orders = OrderDao.get_summary(page=page, size=size, start=time_validator.start, end=time_validator.end) return Success(paged_orders)
# _*_ coding: utf-8 _*_ """ Created by Allen7D on 2018/6/13. ↓↓↓ Token接口 ↓↓↓ """ from flask import current_app from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import token as api_doc from app.service.login_verify import LoginVerifyService from app.libs.error_code import Success from app.validators.forms import ClientValidator, TokenValidator __author__ = 'Allen7D' api = Redprint(name='token', module='令牌', api_doc=api_doc) @api.route('', methods=['POST']) @api.doc(args=['g.body.account', 'g.body.secret', 'g.body.type'], body_desc='''登录的基本信息: 账号、密码、登录类型: - 用户名登录(type:100) - 邮箱账号登录(type:101) - 手机账号登录(type:102) - 小程序登录(type:200) - 微信扫码登录(type:201)''' ) def get_token(): '''生成「令牌」(5种登录方式)''' form = ClientValidator().nt_data token = LoginVerifyService.get_token(account=form.account,
↓↓↓ 权限组管理接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import group as api_doc from app.core.token_auth import auth from app.core.utils import get_request_args from app.models.group import Group from app.dao.group import GroupDao from app.libs.error_code import Success from app.validators.forms import UpdateGroupValidator, MigrateUserValidator __author__ = 'Allen7D' api = Redprint(name='group', module='权限组管理', api_doc=api_doc, alias='cms_group') @api.route('/all', methods=['GET']) @api.route_meta(auth='查询所有权限组', module='管理员', mount=False) @api.doc(auth=True) @auth.admin_required def get_all_group(): '''查询所有权限组''' group_list = Group.get_all() return Success({'items': group_list}) @api.route('/<int:id>', methods=['GET']) @api.doc(args=['g.path.group_id'], auth=True)
""" Created by Allen7D on 2020/6/11. ↓↓↓ 字典管理接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import dict_type as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.models.dict_type import DictType from app.libs.error_code import Success from app.validators.forms import UpdateDictTypeValidator, CreateDictTypeValidator __author__ = 'Allen7D' api = Redprint(name='dict/type', module='字典类型', api_doc=api_doc, alias='cms_dict_type') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询字典类型列表', module='字典类型') @api.doc(args=['g.query.page', 'g.query.size'], auth=True) @auth.group_required def get_dict_type_list(): '''查询字典类型列表''' page, size = paginate() paginator = DictType.query.filter_by().paginate(page=page, per_page=size, error_out=True) return Success({ 'total': paginator.total,
from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import user as api_doc from app.core.token_auth import auth from app.core.utils import get_request_args from app.models.user import User from app.dao.user import UserDao from app.dao.auth import AuthDao from app.dao.identity import IdentityDao from app.libs.error_code import Success from app.validators.forms import ChangePasswordValidator, \ CreateUserValidator, UpdateUserValidator, UpdateAvatarValidator __author__ = 'Allen7D' api = Redprint(name='user', module='用户', api_doc=api_doc) @api.route('', methods=['GET']) @api.doc(auth=True) @auth.login_required def get_user(): '''查询自身''' user = User.get(id=g.user.id) return Success(user) @api.route('', methods=['POST']) @api.doc(args=[ 'g.body.username', 'g.body.email', 'g.body.mobile', 'g.body.nickname', 'g.body.password', 'g.body.confirm_password'
""" Created by Allen7D on 2020/6/11. ↓↓↓ 参数配置接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import config as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.models.config import Config from app.libs.error_code import Success from app.validators.forms import CreateConfigValidator, UpdateConfigValidator, UpdateConfigValueValidator __author__ = 'Allen7D' api = Redprint(name='config', module='参数配置管理', api_doc=api_doc, alias='cms_config') @api.route('/list', methods=['GET']) @api.route_meta(auth='查询参数配置列表', module='参数') @api.doc(args=['g.query.page', 'g.query.size'], auth=True) def get_config_list(): '''查询参数配置列表''' page, size = paginate() paginator = Config.query.filter_by().paginate(page=page, per_page=size, error_out=True) return Success({ 'total': paginator.total, 'current_page': paginator.page,
""" Created by Allen7D on 2020/3/24. ↓↓↓ 权限管理接口 ↓↓↓ """ from flask import request from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import auth as api_doc from app.core.token_auth import auth from app.dao.auth import AuthDao from app.libs.error_code import Success from app.validators.forms import AuthsValidator __author__ = 'Allen7D' api = Redprint(name='auth', module='权限管理', api_doc=api_doc, alias='cms_auth') @api.route('/all', methods=['GET']) @api.route_meta(auth='查询所有可分配的权限', module='管理员', mount=False) @api.doc(auth=True) @auth.admin_required def get_auths(): '''查询所有可分配的权限''' auths = AuthDao.get_auths() return Success(auths) @api.route('/by_group', methods=['GET']) @api.route_meta(auth='查询权限组的所有权限', module='管理员', mount=False) @api.doc(args=['g.query.group_id'], auth=True)
# _*_ coding: utf-8 _*_ """ Created by Allen7D on 2018/6/17. ↓↓↓ 类别接口 ↓↓↓ """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import category as api_doc from app.core.token_auth import auth from app.core.utils import paginate from app.models.category import Category from app.libs.error_code import Success __author__ = 'Allen7D' api = Redprint(name='category', module='产品类别', api_doc=api_doc) @api.route('/all', methods=['GET']) @api.doc() def get_all_category(): '''查询所有「产品类别」''' category_list = Category.query.all() return Success(category_list) @api.route('/list', methods=['GET']) @api.doc(args=['g.query.page', 'g.query.size'], auth=True) def get_category_list(): '''查询「产品类别」列表''' page, size = paginate()
↓↓↓ 文件上传下载接口 ↓↓↓ 可以用来处理上传产品图片、Excel等 """ from flask import request from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.cms import route as api_doc from app.core.token_auth import auth from app.libs.error_code import Success from app.dao.route import RouteDao from app.models.route import Route from app.validators.forms import RouteNodeValidator, RouteNodeWithoutIdValidator __author__ = 'Mohan' api = Redprint(name='route', module='路由管理', api_doc=api_doc, alias='cms_route') @api.route('/tree', methods=['GET']) @api.doc(auth=True) @auth.admin_required def get_all_route_tree(): """获取所有路由结构""" route_root = RouteDao.get_all_route_tree() route_tree = route_root['children'] return Success(route_tree) @api.route('/tree/with_element', methods=['GET']) @api.doc(auth=True) @auth.admin_required
Created by Allen7D on 2018/6/25. ↓↓↓ 配送信息接口 ↓↓↓ """ from flask import g from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import address as api_doc from app.core.token_auth import auth from app.models.address import Address from app.dao.address import AddressDao from app.libs.error_code import Success from app.validators.forms import CreateOrUpdateAddressValidator __author__ = 'Allen7D' api = Redprint(name='address', module='配送信息', api_doc=api_doc) @api.route('/all', methods=['GET']) @api.doc(auth=True) @auth.login_required def get_all_address(): '''查询所有「配送信息」''' address_list = Address.query.filter_by(user_id=g.user.id).all_by_wrap() return Success(address_list) @api.route('/<int:id>', methods=['GET']) @api.doc(args=['g.path.address_id'], auth=True) @auth.login_required def get_address(id):
# _*_ coding: utf-8 _*_ """ Created by Allen7D on 2019/4/4. ↓↓↓ 支付接口 ↓↓↓ 「pay接口」只能用户访问,CMS管理员不能访问 """ from app.extensions.api_docs.redprint import Redprint from app.extensions.api_docs.v1 import pay as api_doc from app.core.token_auth import auth from app.service.pay import PayService from app.libs.error_code import Success from app.validators.forms import IDMustBePositiveIntValidator __author__ = 'Allen7D' api = Redprint(name='pay', module='支付', api_doc=api_doc) @api.route('/pre_order', methods=['POST']) @api.doc(auth=True) @auth.login_required def get_pre_order(): '''查询预订单''' order_id = IDMustBePositiveIntValidator().nt_data.id pay_service = PayService(order_id) pay_service.pay() Success() @api.route('/notify', methods=['POST']) @api.doc(auth=True)