ktianc 7fbdcb3b0f 版本升级
1. 新增:微信小程序端新增微信手机号登录功能(必须为企业认证小程序)
2. 新增:加入动态更新常见问题
3. 新增:新增小程序分享功能
4. 新增:小程序新增第一次登录需要修改密码
5. 新增:新增接口权限控制
6. 新增:用户新增is_staff用来判断是否为工作人员
7. 新增:软删除新增is_delete字段来判断,delete_datetime当前主要来记录时间
8. 更新:部分接口删除功能已更新,需要试用软删除的才会试用软删除
9. 更新:更新系统配置缓存功能
10. 更新:接口认证依赖项更新
11. 更新:获取系统基础配置信息与用户协议与隐私协议更新
12. 优化:优化接口与数据库操作
2023-02-27 17:28:27 +08:00

162 lines
4.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/python
# -*- coding: utf-8 -*-
# @version : 1.0
# @Creaet Time : 2022/10/19 15:41
# @File : views.py
# @IDE : PyCharm
# @desc : 简要说明
from fastapi import APIRouter, Depends
from apps.vadmin.auth.utils.current import AllUserAuth
from apps.vadmin.auth.utils.validation.auth import Auth
from utils.response import SuccessResponse
import datetime
from apps.vadmin.record.crud import LoginRecordDal
app = APIRouter()
###########################################################
# 工作区管理
###########################################################
@app.get("/total/", summary="获取统计")
async def get_total(auth: Auth = Depends(AllUserAuth())):
data = {
"project": 40,
"access": await LoginRecordDal(auth.db).get_count(),
"todo": 10
}
return SuccessResponse(data)
@app.get("/project/", summary="获取项目")
async def get_project():
data = [
{
"name": 'Mysql',
"icon": 'vscode-icons:file-type-mysql',
"message": 'MySQL 是最流行的关系型数据库管理系统',
"personal": 'kinit',
"link": "https://www.mysql.com/",
"time": datetime.datetime.now().strftime("%Y-%m-%d")
},
{
"name": 'FastAPI',
"icon": 'simple-icons:fastapi',
"message": '一个现代、快速(高性能)的 web 框架',
"personal": 'kinit',
"link": "https://fastapi.tiangolo.com/zh/",
"time": datetime.datetime.now().strftime("%Y-%m-%d")
},
{
"name": 'Vue',
"icon": 'logos:vue',
"message": '渐进式 JavaScript 框架',
"personal": 'kinit',
"link": "https://cn.vuejs.org/",
"time": datetime.datetime.now().strftime("%Y-%m-%d")
},
{
"name": 'Element-plus',
"icon": 'logos:element',
"message": '基于 Vue3面向设计师和开发者的组件库',
"personal": 'kinit',
"link": "https://element-plus.org/zh-CN/",
"time": datetime.datetime.now().strftime("%Y-%m-%d")
},
{
"name": 'Typescript',
"icon": 'vscode-icons:file-type-typescript-official',
"message": 'TypeScript是JavaScript类型的超集',
"personal": 'kinit',
"link": "https://www.typescriptlang.org/",
"time": datetime.datetime.now().strftime("%Y-%m-%d")
},
{
"name": 'Vite',
"icon": 'vscode-icons:file-type-vite',
"message": 'Vite 下一代的前端工具链',
"personal": 'kinit',
"link": "https://cn.vitejs.dev/",
"time": datetime.datetime.now().strftime("%Y-%m-%d")
}
]
return SuccessResponse(data)
@app.get("/dynamic/", summary="获取动态")
async def get_dynamic():
data = [
{
"keys": ['workplace.push', 'Github'],
"time": datetime.datetime.now().strftime("%Y-%m-%d")
},
{
"keys": ['workplace.push', 'Github'],
"time": datetime.datetime.now().strftime("%Y-%m-%d")
}
]
return SuccessResponse(data)
@app.get("/team/", summary="获取团队信息")
async def get_team():
data = [
{
"name": 'Mysql',
"icon": 'vscode-icons:file-type-mysql'
},
{
"name": 'Vue',
"icon": 'logos:vue'
},
{
"name": 'Element-plus',
"icon": 'logos:element'
},
{
"name": 'Fastapi',
"icon": 'simple-icons:fastapi'
},
{
"name": 'Typescript',
"icon": 'vscode-icons:file-type-typescript-official'
},
{
"name": 'Vite',
"icon": 'vscode-icons:file-type-vite'
}
]
return SuccessResponse(data)
@app.get("/shortcuts/", summary="获取快捷操作")
async def get_shortcuts():
data = [
{
"name": "前端文档",
"link": "https://element-plus-admin-doc.cn/"
},
{
"name": "Swagger UI 接口文档",
"link": "http://kinit.ktianc.top/api/docs"
},
{
"name": "Redoc 接口文档",
"link": "http://kinit.ktianc.top/api/redoc"
},
{
"name": "Windi CSS 文档",
"link": "https://cn.windicss.org/guide/"
},
{
"name": "Iconify 文档",
"link": "https://icon-sets.iconify.design/"
},
{
"name": "echarts 文档",
"link": "https://echarts.apache.org/zh/index.html"
},
]
return SuccessResponse(data)