feat:接口异常描述
fix:接口注释 fix:前端认证过期提示
This commit is contained in:
parent
6bcce4ed1a
commit
4320d2db82
@ -114,7 +114,7 @@ service.interceptors.response.use(
|
|||||||
// 强制要求重新登录,因账号已冻结,账号已过期,手机号码错误,刷新token无效等问题导致
|
// 强制要求重新登录,因账号已冻结,账号已过期,手机号码错误,刷新token无效等问题导致
|
||||||
const authStore = useAuthStore()
|
const authStore = useAuthStore()
|
||||||
authStore.logout()
|
authStore.logout()
|
||||||
message = '未认证,请登录'
|
message = '认证已过期,请重新登录'
|
||||||
break
|
break
|
||||||
case 403:
|
case 403:
|
||||||
message = '拒绝访问'
|
message = '拒绝访问'
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : development.py
|
# @File : development.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 数据库生产配置文件
|
# @desc : 数据库生产配置文件
|
||||||
@ -12,7 +12,6 @@ Mysql 数据库配置项
|
|||||||
数据库链接配置说明:mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
|
数据库链接配置说明:mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
|
||||||
"""
|
"""
|
||||||
SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称"
|
SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称"
|
||||||
SQLALCHEMY_DATABASE_TYPE = "mysql"
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : production.py
|
# @File : production.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 数据库开发配置文件
|
# @desc : 数据库开发配置文件
|
||||||
@ -12,7 +12,6 @@ Mysql 数据库配置项
|
|||||||
数据库链接配置说明:mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
|
数据库链接配置说明:mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称
|
||||||
"""
|
"""
|
||||||
SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称"
|
SQLALCHEMY_DATABASE_URL = "mysql+asyncmy://数据库用户名:数据库密码@数据库地址:数据库端口/数据库名称"
|
||||||
SQLALCHEMY_DATABASE_TYPE = "mysql"
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : settings.py
|
# @File : settings.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 主配置文件
|
# @desc : 主配置文件
|
||||||
@ -11,7 +11,7 @@ from fastapi.security import OAuth2PasswordBearer
|
|||||||
"""
|
"""
|
||||||
系统版本
|
系统版本
|
||||||
"""
|
"""
|
||||||
VERSION = "1.7.7"
|
VERSION = "1.7.8"
|
||||||
|
|
||||||
"""安全警告: 不要在生产中打开调试运行!"""
|
"""安全警告: 不要在生产中打开调试运行!"""
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
@ -55,7 +55,7 @@ ACCESS_TOKEN_EXPIRE_MINUTES = 1440
|
|||||||
"""refresh_token 过期时间,用于刷新token使用,两天"""
|
"""refresh_token 过期时间,用于刷新token使用,两天"""
|
||||||
REFRESH_TOKEN_EXPIRE_MINUTES = 1440 * 2
|
REFRESH_TOKEN_EXPIRE_MINUTES = 1440 * 2
|
||||||
"""access_token 缓存时间,用于刷新token使用,30分钟"""
|
"""access_token 缓存时间,用于刷新token使用,30分钟"""
|
||||||
ACCESS_TOKEN_CACHE_MINUTES = 30
|
ACCESS_TOKEN_CACHE_MINUTES = 60 * 2
|
||||||
|
|
||||||
"""
|
"""
|
||||||
挂载临时文件目录,并添加路由访问,此路由不会在接口文档中显示
|
挂载临时文件目录,并添加路由访问,此路由不会在接口文档中显示
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : urls.py
|
# @File : urls.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 路由文件
|
# @desc : 路由文件
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/2/24 10:19
|
# @Create Time : 2022/2/24 10:19
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/10/19 15:41
|
# @Create Time : 2022/10/19 15:41
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/2/24 10:21
|
# @Create Time : 2022/2/24 10:21
|
||||||
# @File : crud.py
|
# @File : crud.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 增删改查
|
# @desc : 增删改查
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : m2m.py
|
# @File : m2m.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 关联中间表
|
# @desc : 关联中间表
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : menu.py
|
# @File : menu.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 菜单模型
|
# @desc : 菜单模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : role.py
|
# @File : role.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 角色模型
|
# @desc : 角色模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : user.py
|
# @File : user.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 用户模型
|
# @desc : 用户模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : role.py
|
# @File : role.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 查询参数-类依赖项
|
# @desc : 查询参数-类依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : user.py
|
# @File : user.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 查询参数-类依赖项
|
# @desc : 查询参数-类依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : role.py
|
# @File : role.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : role.py
|
# @File : role.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : user.py
|
# @File : user.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/8/8 11:02
|
# @Create Time : 2022/8/8 11:02
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/24 16:44
|
# @Create Time : 2021/10/24 16:44
|
||||||
# @File : current.py
|
# @File : current.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 获取认证后的信息工具
|
# @desc : 获取认证后的信息工具
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/24 16:44
|
# @Create Time : 2021/10/24 16:44
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 安全认证视图
|
# @desc : 安全认证视图
|
||||||
@ -21,9 +21,10 @@ PassLib 是一个用于处理哈希密码的很棒的 Python 包。它支持许
|
|||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import jwt
|
import jwt
|
||||||
|
from aioredis import Redis
|
||||||
from fastapi import APIRouter, Depends, Request, Body
|
from fastapi import APIRouter, Depends, Request, Body
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from core.database import db_getter
|
from core.database import db_getter, redis_getter
|
||||||
from utils import status
|
from utils import status
|
||||||
from utils.response import SuccessResponse, ErrorResponse
|
from utils.response import SuccessResponse, ErrorResponse
|
||||||
from application import settings
|
from application import settings
|
||||||
@ -74,11 +75,11 @@ async def login_for_access_token(
|
|||||||
|
|
||||||
|
|
||||||
@app.post("/wx/login/", summary="微信服务端一键登录", description="员工登录通道")
|
@app.post("/wx/login/", summary="微信服务端一键登录", description="员工登录通道")
|
||||||
async def wx_login_for_access_token(request: Request, data: WXLoginForm, db: AsyncSession = Depends(db_getter)):
|
async def wx_login_for_access_token(data: WXLoginForm, db: AsyncSession = Depends(db_getter), rd: Redis = Depends(redis_getter)):
|
||||||
try:
|
try:
|
||||||
if data.platform != "1" or data.method != "2":
|
if data.platform != "1" or data.method != "2":
|
||||||
raise ValueError("无效参数")
|
raise ValueError("无效参数")
|
||||||
wx = WXOAuth(request.app.state.redis, 0)
|
wx = WXOAuth(rd, 0)
|
||||||
telephone = await wx.parsing_phone_number(data.code)
|
telephone = await wx.parsing_phone_number(data.code)
|
||||||
if not telephone:
|
if not telephone:
|
||||||
raise ValueError("无效Code")
|
raise ValueError("无效Code")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/8/8 11:02
|
# @Create Time : 2022/8/8 11:02
|
||||||
# @File : auth_util.py
|
# @File : auth_util.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/9 10:14
|
# @Create Time : 2022/11/9 10:14
|
||||||
# @File : __init__.py.py
|
# @File : __init__.py.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/24 16:44
|
# @Create Time : 2021/10/24 16:44
|
||||||
# @File : auth.py
|
# @File : auth.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 用户凭证验证装饰器
|
# @desc : 用户凭证验证装饰器
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/9 10:15
|
# @Create Time : 2022/11/9 10:15
|
||||||
# @File : login.py
|
# @File : login.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 登录验证装饰器
|
# @desc : 登录验证装饰器
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/2/24 17:02
|
# @Create Time : 2022/2/24 17:02
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
from aioredis import Redis
|
||||||
from fastapi import APIRouter, Depends, Body, UploadFile, Request
|
from fastapi import APIRouter, Depends, Body, UploadFile, Request
|
||||||
from sqlalchemy.orm import joinedload
|
from sqlalchemy.orm import joinedload
|
||||||
|
|
||||||
|
from core.database import redis_getter
|
||||||
from utils.response import SuccessResponse, ErrorResponse
|
from utils.response import SuccessResponse, ErrorResponse
|
||||||
from . import schemas, crud, models
|
from . import schemas, crud, models
|
||||||
from core.dependencies import IdList
|
from core.dependencies import IdList
|
||||||
@ -114,23 +116,25 @@ async def post_import_users(file: UploadFile, auth: Auth = Depends(FullAdminAuth
|
|||||||
async def post_users_init_password(
|
async def post_users_init_password(
|
||||||
request: Request,
|
request: Request,
|
||||||
ids: IdList = Depends(),
|
ids: IdList = Depends(),
|
||||||
auth: Auth = Depends(FullAdminAuth(permissions=["auth.user.reset"]))
|
auth: Auth = Depends(FullAdminAuth(permissions=["auth.user.reset"])),
|
||||||
|
rd: Redis = Depends(redis_getter)
|
||||||
):
|
):
|
||||||
return SuccessResponse(await crud.UserDal(auth.db).init_password_send_sms(ids.ids, request.app.state.redis))
|
return SuccessResponse(await crud.UserDal(auth.db).init_password_send_sms(ids.ids, rd))
|
||||||
|
|
||||||
|
|
||||||
@app.post("/users/init/password/send/email/", summary="初始化所选用户密码并发送通知邮件")
|
@app.post("/users/init/password/send/email/", summary="初始化所选用户密码并发送通知邮件")
|
||||||
async def post_users_init_password_send_email(
|
async def post_users_init_password_send_email(
|
||||||
request: Request,
|
request: Request,
|
||||||
ids: IdList = Depends(),
|
ids: IdList = Depends(),
|
||||||
auth: Auth = Depends(FullAdminAuth(permissions=["auth.user.reset"]))
|
auth: Auth = Depends(FullAdminAuth(permissions=["auth.user.reset"])),
|
||||||
|
rd: Redis = Depends(redis_getter)
|
||||||
):
|
):
|
||||||
return SuccessResponse(await crud.UserDal(auth.db).init_password_send_email(ids.ids, request.app.state.redis))
|
return SuccessResponse(await crud.UserDal(auth.db).init_password_send_email(ids.ids, rd))
|
||||||
|
|
||||||
|
|
||||||
@app.put("/users/wx/server/openid/", summary="更新当前用户服务端微信平台openid")
|
@app.put("/users/wx/server/openid/", summary="更新当前用户服务端微信平台openid")
|
||||||
async def put_user_wx_server_openid(request: Request, code: str, auth: Auth = Depends(AllUserAuth())):
|
async def put_user_wx_server_openid(code: str, auth: Auth = Depends(AllUserAuth()), rd: Redis = Depends(redis_getter)):
|
||||||
result = await crud.UserDal(auth.db).update_wx_server_openid(code, auth.user, request.app.state.redis)
|
result = await crud.UserDal(auth.db).update_wx_server_openid(code, auth.user, rd)
|
||||||
return SuccessResponse(result)
|
return SuccessResponse(result)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023-02-15 20:03:49
|
# @Create Time : 2023-02-15 20:03:49
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 帮助中心
|
# @desc : 帮助中心
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023-02-15 20:03:49
|
# @Create Time : 2023-02-15 20:03:49
|
||||||
# @File : crud.py
|
# @File : crud.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 帮助中心 - 增删改查
|
# @desc : 帮助中心 - 增删改查
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023-02-15 20:03:49
|
# @Create Time : 2023-02-15 20:03:49
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 初始化文件
|
# @desc : 初始化文件
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : issue.py
|
# @File : issue.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 常见问题
|
# @desc : 常见问题
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023-02-15 20:03:49
|
# @Create Time : 2023-02-15 20:03:49
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 初始化文件
|
# @desc : 初始化文件
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : issue.py
|
# @File : issue.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 常见问题
|
# @desc : 常见问题
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023-02-15 20:03:49
|
# @Create Time : 2023-02-15 20:03:49
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 初始化文件
|
# @desc : 初始化文件
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : issue.py
|
# @File : issue.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 常见问题
|
# @desc : 常见问题
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : issue_category.py
|
# @File : issue_category.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 常见问题类别
|
# @desc : 常见问题类别
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023/2/17 15:18
|
# @Create Time : 2023/2/17 15:18
|
||||||
# @File : issue_m2m.py.py
|
# @File : issue_m2m.py.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023-02-15 20:03:49
|
# @Create Time : 2023-02-15 20:03:49
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 帮助中心视图
|
# @desc : 帮助中心视图
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:18
|
# @Create Time : 2021/10/18 22:18
|
||||||
# @File : crud.py
|
# @File : crud.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 数据库 增删改查操作
|
# @desc : 数据库 增删改查操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/2/14 21:11
|
# @Create Time : 2022/2/14 21:11
|
||||||
# @File : __init__.py.py
|
# @File : __init__.py.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : xpath例子
|
# @desc : xpath例子
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : login.py
|
# @File : login.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 登录记录模型
|
# @desc : 登录记录模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/3/21 17:36
|
# @Create Time : 2022/3/21 17:36
|
||||||
# @File : sms.py
|
# @File : sms.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 短信发送记录模型
|
# @desc : 短信发送记录模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : login.py
|
# @File : login.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 查询参数-类依赖项
|
# @desc : 查询参数-类依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : operation.py
|
# @File : operation.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 查询参数-类依赖项
|
# @desc : 查询参数-类依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : sms.py
|
# @File : sms.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 查询参数-类依赖项
|
# @desc : 查询参数-类依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : login.py
|
# @File : login.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : operation.py
|
# @File : operation.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/3/21 17:54
|
# @Create Time : 2022/3/21 17:54
|
||||||
# @File : sms.py
|
# @File : sms.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/24 16:44
|
# @Create Time : 2021/10/24 16:44
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 主要接口文件
|
# @desc : 主要接口文件
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:18
|
# @Create Time : 2021/10/18 22:18
|
||||||
# @File : crud.py
|
# @File : crud.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 数据库 增删改查操作
|
# @desc : 数据库 增删改查操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : user.py
|
# @File : user.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 系统字典模型
|
# @desc : 系统字典模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : settings.py
|
# @File : settings.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 系统字典模型
|
# @desc : 系统字典模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/7/7 13:41
|
# @Create Time : 2022/7/7 13:41
|
||||||
# @File : settings_tab.py
|
# @File : settings_tab.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 系统配置分类模型
|
# @desc : 系统配置分类模型
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : dict_type.py
|
# @File : dict_type.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 查询参数-类依赖项
|
# @desc : 查询参数-类依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : dict_type.py
|
# @File : dict_type.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 查询参数-类依赖项
|
# @desc : 查询参数-类依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : dict.py
|
# @File : dict.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : settings.py
|
# @File : settings.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : settings_tab.py
|
# @File : settings_tab.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型,用于数据库序列化操作
|
# @desc : pydantic 模型,用于数据库序列化操作
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/24 16:44
|
# @Create Time : 2021/10/24 16:44
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 主要接口文件
|
# @desc : 主要接口文件
|
||||||
|
|
||||||
# UploadFile 库依赖:pip install python-multipart
|
# UploadFile 库依赖:pip install python-multipart
|
||||||
from typing import List
|
from typing import List
|
||||||
|
from aioredis import Redis
|
||||||
from fastapi import APIRouter, Depends, Body, UploadFile, Request, Form
|
from fastapi import APIRouter, Depends, Body, UploadFile, Request, Form
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
from application.settings import ALIYUN_OSS
|
from application.settings import ALIYUN_OSS
|
||||||
from core.database import db_getter
|
from core.database import db_getter, redis_getter
|
||||||
from utils.file.aliyun_oss import AliyunOSS, BucketConf
|
from utils.file.aliyun_oss import AliyunOSS, BucketConf
|
||||||
from utils.aliyun_sms import AliyunSMS
|
from utils.aliyun_sms import AliyunSMS
|
||||||
from utils.file.file_manage import FileManage
|
from utils.file.file_manage import FileManage
|
||||||
@ -126,8 +127,8 @@ async def upload_image_to_local(file: UploadFile, path: str = Form(...)):
|
|||||||
# 短信服务管理
|
# 短信服务管理
|
||||||
###########################################################
|
###########################################################
|
||||||
@app.post("/sms/send/", summary="发送短信验证码(阿里云服务)")
|
@app.post("/sms/send/", summary="发送短信验证码(阿里云服务)")
|
||||||
async def sms_send(request: Request, telephone: str):
|
async def sms_send(telephone: str, rd: Redis = Depends(redis_getter)):
|
||||||
sms = AliyunSMS(request.app.state.redis, telephone)
|
sms = AliyunSMS(rd, telephone)
|
||||||
return SuccessResponse(await sms.main_async(AliyunSMS.Scene.login))
|
return SuccessResponse(await sms.main_async(AliyunSMS.Scene.login))
|
||||||
|
|
||||||
|
|
||||||
@ -145,8 +146,8 @@ async def get_settings_tabs_values(tab_id: int, auth: Auth = Depends(FullAdminAu
|
|||||||
|
|
||||||
|
|
||||||
@app.put("/settings/tabs/values/", summary="更新系统配置信息")
|
@app.put("/settings/tabs/values/", summary="更新系统配置信息")
|
||||||
async def put_settings_tabs_values(request: Request, datas: dict = Body(...), auth: Auth = Depends(FullAdminAuth())):
|
async def put_settings_tabs_values(datas: dict = Body(...), auth: Auth = Depends(FullAdminAuth()), rd: Redis = Depends(redis_getter)):
|
||||||
return SuccessResponse(await crud.SettingsDal(auth.db).update_datas(datas, request.app.state.redis))
|
return SuccessResponse(await crud.SettingsDal(auth.db).update_datas(datas, rd))
|
||||||
|
|
||||||
|
|
||||||
@app.get("/settings/base/config/", summary="获取系统基础配置", description="每次进入系统中时使用")
|
@app.get("/settings/base/config/", summary="获取系统基础配置", description="每次进入系统中时使用")
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/10/19 15:41
|
# @Create Time : 2022/10/19 15:41
|
||||||
# @File : __init__.py.py
|
# @File : __init__.py.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/10/19 15:41
|
# @Create Time : 2022/10/19 15:41
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:18
|
# @Create Time : 2021/10/18 22:18
|
||||||
# @File : crud.py
|
# @File : crud.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 数据库 增删改查操作
|
# @desc : 数据库 增删改查操作
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/14 12:42
|
# @Create Time : 2022/11/14 12:42
|
||||||
# @File : data_types.py
|
# @File : data_types.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 自定义数据类型
|
# @desc : 自定义数据类型
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : database.py
|
# @File : database.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : SQLAlchemy 部分
|
# @desc : SQLAlchemy 部分
|
||||||
@ -10,13 +10,16 @@
|
|||||||
安装: pip install sqlalchemy
|
安装: pip install sqlalchemy
|
||||||
中文文档:https://www.osgeo.cn/sqlalchemy/
|
中文文档:https://www.osgeo.cn/sqlalchemy/
|
||||||
"""
|
"""
|
||||||
|
from aioredis import Redis
|
||||||
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
||||||
from sqlalchemy.ext.declarative import declared_attr, declarative_base
|
from sqlalchemy.ext.declarative import declared_attr, declarative_base
|
||||||
from sqlalchemy.orm import sessionmaker
|
from sqlalchemy.orm import sessionmaker
|
||||||
from application.settings import SQLALCHEMY_DATABASE_URL, DEBUG, SQLALCHEMY_DATABASE_TYPE
|
from application.settings import SQLALCHEMY_DATABASE_URL, REDIS_DB_ENABLE
|
||||||
|
from fastapi import Request
|
||||||
|
from core.exception import CustomException
|
||||||
|
|
||||||
|
|
||||||
def create_async_engine_session(database_url: str, database_type: str = "mysql"):
|
def create_async_engine_session(database_url: str):
|
||||||
"""
|
"""
|
||||||
创建数据库会话
|
创建数据库会话
|
||||||
|
|
||||||
@ -33,13 +36,13 @@ def create_async_engine_session(database_url: str, database_type: str = "mysql")
|
|||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
engine = create_async_engine(
|
engine = create_async_engine(
|
||||||
database_url
|
database_url,
|
||||||
, echo=False
|
echo=False,
|
||||||
, pool_pre_ping=True
|
pool_pre_ping=True,
|
||||||
, pool_recycle=3600
|
pool_recycle=3600,
|
||||||
, future=True
|
future=True,
|
||||||
, max_overflow=5
|
max_overflow=5,
|
||||||
, connect_args={"check_same_thread": False, "timeout": 30} if database_type == "sqlite3" else {}
|
connect_args={}
|
||||||
)
|
)
|
||||||
return sessionmaker(autocommit=False, autoflush=False, bind=engine, expire_on_commit=True, class_=AsyncSession)
|
return sessionmaker(autocommit=False, autoflush=False, bind=engine, expire_on_commit=True, class_=AsyncSession)
|
||||||
|
|
||||||
@ -84,6 +87,17 @@ async def db_getter():
|
|||||||
|
|
||||||
数据库依赖项,它将在单个请求中使用,然后在请求完成后将其关闭。
|
数据库依赖项,它将在单个请求中使用,然后在请求完成后将其关闭。
|
||||||
"""
|
"""
|
||||||
async with create_async_engine_session(SQLALCHEMY_DATABASE_URL, SQLALCHEMY_DATABASE_TYPE)() as session:
|
async with create_async_engine_session(SQLALCHEMY_DATABASE_URL)() as session:
|
||||||
async with session.begin():
|
async with session.begin():
|
||||||
yield session
|
yield session
|
||||||
|
|
||||||
|
|
||||||
|
def redis_getter(request: Request) -> Redis:
|
||||||
|
"""
|
||||||
|
获取关系数据库
|
||||||
|
|
||||||
|
数据库依赖项,它将在单个请求中使用,然后在请求完成后将其关闭。
|
||||||
|
"""
|
||||||
|
if not REDIS_DB_ENABLE:
|
||||||
|
raise CustomException("请先配置Redis数据库链接并启用!", desc="请启用 application/settings.py: REDIS_DB_ENABLE")
|
||||||
|
return request.app.state.redis
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/8/8 14:18
|
# @Create Time : 2022/8/8 14:18
|
||||||
# @File : dependencies.py
|
# @File : dependencies.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 常用依赖项
|
# @desc : 常用依赖项
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023/02/12 22:18
|
# @Create Time : 2023/02/12 22:18
|
||||||
# @File : enum.py
|
# @File : enum.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 增加枚举类方法
|
# @desc : 增加枚举类方法
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/3/21 11:03
|
# @Create Time : 2022/3/21 11:03
|
||||||
# @File : event.py
|
# @File : event.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 全局事件
|
# @desc : 全局事件
|
||||||
@ -63,7 +63,6 @@ async def connect_redis(app: FastAPI, status: bool):
|
|||||||
"""
|
"""
|
||||||
if status:
|
if status:
|
||||||
print("Connecting to Redis")
|
print("Connecting to Redis")
|
||||||
assert isinstance(app, FastAPI)
|
|
||||||
app.state.redis = aioredis.from_url(REDIS_DB_URL, decode_responses=True, health_check_interval=1)
|
app.state.redis = aioredis.from_url(REDIS_DB_URL, decode_responses=True, health_check_interval=1)
|
||||||
await Cache(app.state.redis).cache_tab_names()
|
await Cache(app.state.redis).cache_tab_names()
|
||||||
else:
|
else:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : exception.py
|
# @File : exception.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 全局异常处理
|
# @desc : 全局异常处理
|
||||||
@ -17,10 +17,17 @@ from core.logger import logger
|
|||||||
|
|
||||||
class CustomException(Exception):
|
class CustomException(Exception):
|
||||||
|
|
||||||
def __init__(self, msg: str, code: int = status.HTTP_400_BAD_REQUEST, status_code: int = status.HTTP_200_OK):
|
def __init__(
|
||||||
|
self,
|
||||||
|
msg: str,
|
||||||
|
code: int = status.HTTP_400_BAD_REQUEST,
|
||||||
|
status_code: int = status.HTTP_200_OK,
|
||||||
|
desc: str = None
|
||||||
|
):
|
||||||
self.msg = msg
|
self.msg = msg
|
||||||
self.code = code
|
self.code = code
|
||||||
self.status_code = status_code
|
self.status_code = status_code
|
||||||
|
self.desc = desc
|
||||||
|
|
||||||
|
|
||||||
def register_exception(app: FastAPI):
|
def register_exception(app: FastAPI):
|
||||||
@ -33,8 +40,14 @@ def register_exception(app: FastAPI):
|
|||||||
"""
|
"""
|
||||||
自定义异常
|
自定义异常
|
||||||
"""
|
"""
|
||||||
|
print("请求地址", request.url.__str__())
|
||||||
|
print("捕捉到重写CustomException异常异常:custom_exception_handler")
|
||||||
|
logger.error(exc.desc)
|
||||||
|
logger.error(exc.msg)
|
||||||
|
print(exc.desc)
|
||||||
|
print(exc.msg)
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
status_code=exc.status_code,
|
status_code=200,
|
||||||
content={"message": exc.msg, "code": exc.code},
|
content={"message": exc.msg, "code": exc.code},
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -43,6 +56,7 @@ def register_exception(app: FastAPI):
|
|||||||
"""
|
"""
|
||||||
重写HTTPException异常处理器
|
重写HTTPException异常处理器
|
||||||
"""
|
"""
|
||||||
|
print("请求地址", request.url.__str__())
|
||||||
print("捕捉到重写HTTPException异常异常:unicorn_exception_handler")
|
print("捕捉到重写HTTPException异常异常:unicorn_exception_handler")
|
||||||
logger.error(exc.detail)
|
logger.error(exc.detail)
|
||||||
print(exc.detail)
|
print(exc.detail)
|
||||||
@ -59,6 +73,7 @@ def register_exception(app: FastAPI):
|
|||||||
"""
|
"""
|
||||||
重写请求验证异常处理器
|
重写请求验证异常处理器
|
||||||
"""
|
"""
|
||||||
|
print("请求地址", request.url.__str__())
|
||||||
print("捕捉到重写请求验证异常异常:validation_exception_handler")
|
print("捕捉到重写请求验证异常异常:validation_exception_handler")
|
||||||
logger.error(exc.errors())
|
logger.error(exc.errors())
|
||||||
print(exc.errors())
|
print(exc.errors())
|
||||||
@ -88,6 +103,7 @@ def register_exception(app: FastAPI):
|
|||||||
"""
|
"""
|
||||||
捕获值异常
|
捕获值异常
|
||||||
"""
|
"""
|
||||||
|
print("请求地址", request.url.__str__())
|
||||||
print("捕捉到值异常:value_exception_handler")
|
print("捕捉到值异常:value_exception_handler")
|
||||||
logger.error(exc.__str__())
|
logger.error(exc.__str__())
|
||||||
print(exc.__str__())
|
print(exc.__str__())
|
||||||
@ -106,6 +122,7 @@ def register_exception(app: FastAPI):
|
|||||||
"""
|
"""
|
||||||
捕获全部异常
|
捕获全部异常
|
||||||
"""
|
"""
|
||||||
|
print("请求地址", request.url.__str__())
|
||||||
print("捕捉到全局异常:all_exception_handler")
|
print("捕捉到全局异常:all_exception_handler")
|
||||||
logger.error(exc.__str__())
|
logger.error(exc.__str__())
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
|
@ -20,10 +20,3 @@ log_path_error = os.path.join(log_path, f'error_{time.strftime("%Y-%m-%d")}.log'
|
|||||||
|
|
||||||
info = logger.add(log_path_info, rotation="00:00", retention="3 days", enqueue=True, encoding="UTF-8", level="INFO")
|
info = logger.add(log_path_info, rotation="00:00", retention="3 days", enqueue=True, encoding="UTF-8", level="INFO")
|
||||||
error = logger.add(log_path_error, rotation="00:00", retention="3 days", enqueue=True, encoding="UTF-8", level="ERROR")
|
error = logger.add(log_path_error, rotation="00:00", retention="3 days", enqueue=True, encoding="UTF-8", level="ERROR")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
print(BASE_DIR)
|
|
||||||
# logger.info("1")
|
|
||||||
retry: int = 1
|
|
||||||
logger.error("未从Redis中获取到配置信息,正在重新更新配置信息,重试次数:{}。".format(retry))
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : middleware.py
|
# @File : middleware.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 中间件
|
# @desc : 中间件
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : validator.py
|
# @File : validator.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : pydantic 模型重用验证器
|
# @desc : pydantic 模型重用验证器
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/18 22:19
|
# @Create Time : 2021/10/18 22:19
|
||||||
# @File : db_base.py
|
# @File : db_base.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 数据库公共 ORM 模型
|
# @desc : 数据库公共 ORM 模型
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : main.py
|
# @File : main.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 主程序入口
|
# @desc : 主程序入口
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/12/9 15:26
|
# @Create Time : 2022/12/9 15:26
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/12/9 15:27
|
# @Create Time : 2022/12/9 15:27
|
||||||
# @File : main.py
|
# @File : main.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : {create_datetime}
|
# @Create Time : {create_datetime}
|
||||||
# @File : crud.py
|
# @File : crud.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc :
|
# @desc :
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : {create_datetime}
|
# @Create Time : {create_datetime}
|
||||||
# @File : {filename}
|
# @File : {filename}
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : {desc}
|
# @desc : {desc}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : {create_datetime}
|
# @Create Time : {create_datetime}
|
||||||
# @File : views.py
|
# @File : views.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc :
|
# @desc :
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/10/19 15:47
|
# @Create Time : 2021/10/19 15:47
|
||||||
# @File : initialize.py
|
# @File : initialize.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 初始化数据
|
# @desc : 初始化数据
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/23 11:21
|
# @Create Time : 2022/11/23 11:21
|
||||||
# @File : initialize.py
|
# @File : initialize.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.3
|
# @version : 1.3
|
||||||
# @Creaet Time : 2021/3/15
|
# @Create Time : 2021/3/15
|
||||||
# @Author : LZK
|
# @Author : LZK
|
||||||
# @File : aliyun_sms.py
|
# @File : aliyun_sms.py
|
||||||
# @Software : PyCharm
|
# @Software : PyCharm
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/3/21 11:03
|
# @Create Time : 2022/3/21 11:03
|
||||||
# @File : cache.py
|
# @File : cache.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 缓存
|
# @desc : 缓存
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/3 17:23
|
# @Create Time : 2022/11/3 17:23
|
||||||
# @File : count.py
|
# @File : count.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 计数
|
# @desc : 计数
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/14 9:56
|
# @Create Time : 2022/11/14 9:56
|
||||||
# @File : __init__.py.py
|
# @File : __init__.py.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/5/6 17:25
|
# @Create Time : 2022/5/6 17:25
|
||||||
# @File : excel_manage.py
|
# @File : excel_manage.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : EXCEL 文件操作
|
# @desc : EXCEL 文件操作
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/12/5 8:45
|
# @Create Time : 2021/12/5 8:45
|
||||||
# @File : import_manage.py
|
# @File : import_manage.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 数据导入管理
|
# @desc : 数据导入管理
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/11 12:01
|
# @Create Time : 2022/11/11 12:01
|
||||||
# @File : write_xlsx.py
|
# @File : write_xlsx.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/12/12 14:30
|
# @Create Time : 2022/12/12 14:30
|
||||||
# @File : __init__.py.py
|
# @File : __init__.py.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/4/28 22:32
|
# @Create Time : 2022/4/28 22:32
|
||||||
# @File : aliyun_oss.py
|
# @File : aliyun_oss.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 阿里云对象存储
|
# @desc : 阿里云对象存储
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/12/12 14:31
|
# @Create Time : 2022/12/12 14:31
|
||||||
# @File : file_base.py
|
# @File : file_base.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/12/5 8:45
|
# @Create Time : 2021/12/5 8:45
|
||||||
# @File : file_manage.py
|
# @File : file_manage.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 保存图片到本地
|
# @desc : 保存图片到本地
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/11/3 17:23
|
# @Create Time : 2022/11/3 17:23
|
||||||
# @File : ip_manage.py
|
# @File : ip_manage.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 获取IP地址归属地
|
# @desc : 获取IP地址归属地
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2023/3/27 9:48
|
# @Create Time : 2023/3/27 9:48
|
||||||
# @File : send_email.py
|
# @File : send_email.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 发送邮件封装类
|
# @desc : 发送邮件封装类
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/8/10 22:20
|
# @Create Time : 2022/8/10 22:20
|
||||||
# @File : status.py
|
# @File : status.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/10/9 17:09
|
# @Create Time : 2022/10/9 17:09
|
||||||
# @File : tools.py
|
# @File : tools.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 工具类
|
# @desc : 工具类
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/3/15 20:18
|
# @Create Time : 2022/3/15 20:18
|
||||||
# @File : __init__.py
|
# @File : __init__.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2022/3/15 20:44
|
# @Create Time : 2022/3/15 20:44
|
||||||
# @File : oauth.py
|
# @File : oauth.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 简要说明
|
# @desc : 简要说明
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# @version : 1.0
|
# @version : 1.0
|
||||||
# @Creaet Time : 2021/11/27 18:37
|
# @Create Time : 2021/11/27 18:37
|
||||||
# @File : wx_access_token.py
|
# @File : wx_access_token.py
|
||||||
# @IDE : PyCharm
|
# @IDE : PyCharm
|
||||||
# @desc : 获取小程序全局唯一后台接口调用凭据
|
# @desc : 获取小程序全局唯一后台接口调用凭据
|
||||||
|
Loading…
x
Reference in New Issue
Block a user