zdppy专题

zdppy+vue3+onlyoffice文档管理系统实战 20240906 上课笔记 整合权限校验中间件

基于角色方法的中间件基本用法 import zdppy_api as apiimport zdppy_apimidauthasync def index(request):return api.resp.success()async def login(request):token = zdppy_apimidauth.get_role_token(role="admin")return ap

zdppy 自定义跨域配置

zdppy 自定义跨域配置 import zdppy_api as apiimport zdppy_env as envimport zdppy_mcrud as mcrudfrom zdppy_api.middleware import Middleware, CORSMiddlewareimport routesenv.load(".env")db = mcrud.new_env()d

zdppy+vue3+onlyoffice文档管理系统实战 20240903 上课笔记 登录功能完成

接下来 1、注销功能:点击注销按钮,清除登录信息跳转到登录页面2、token过期 注销功能 useUser.js import storage from "../../g/storage.js";import {useRouter} from "vue-router";import {message} from "ant-design-vue";export default funct

zdppy+vue3+onlyoffice文档管理系统实战 20240901 上课笔记 基于验证码登录功能基本完成

遗留的问题 1、点击切换验证码2、1分钟后自动切换验证码 点击切换验证码 实现步骤: 1、点击事件2、调用验证码接口3、更新验证码的值 点击事件 给图片添加点击事件: <img :src=" 'data:image/png;base64,' + captchaImg"style="width: 100%; height: 50px; margin-top: 10px; cursor:

zdppy+vue3+onlyoffice文档管理系统实战 20240831上课笔记 继续完善登录功能

遗留的问题 1、整合验证码的接口2、渲染验证码3、实现验证码校验的功能4、验证码校验通过之后,再校验登录功能 验证码框架怎么使用 安装: pip install zdppy_captcha 使用示例: import zdppy_api as apiimport zdppy_captchaimport zdppy_cachecache = zdppy_cache.Cache("tm

zdppy+vue3+onlyoffice文档管理系统实战 20240827上课笔记 zdppy_cache框架完善

遗留问题 1、判断是否为管理员2、批量增加 判断是否为管理员 目标: 1、管理员具有特殊权限2、普通用户有自己的专属缓存区域,能够实现物理分割 要解决的问题: 1、客户端需要传递自己的账号密码2、zdppy_cache 需要解析账号密码 怎么传递账号密码? 能明文传递吗? 网页的账号密码也是明文传递的,所以我们也使用明文传递,这是最简单的方式。 放在哪里? 请求头请求体?

zdppy+vue3+onlyoffice文档管理系统实战 20240825上课笔记 zdppy_cache框架增加resize清理缓存的方法

遗留问题 设置缓存,已完成获取缓存,已实现删除缓存,已实现查询所有key,带查询参数:active只查激活的,value包含value默认只获取key查询缓存大小清空缓存判断是否为管理员 实现删除缓存的接口 async def delete(req):"""删除缓存的接口"""data = await api.req.get_json(req)key = data.get("key")adm

zdppy_cache Python的国产开源缓存框架

zdppy_cache Python的缓存库 特性 1、轻量级,没有任何第三方依赖2、低代码,zdppy_api只需要一行代码就自动拥有缓存的相关接口3、简单易学4、完整的中文文档 安装 pip install zdppy_cache 使用教程 基本用法 import zdppy_cache as c# 设置缓存key = "code"value = "A13k"c.set

zdppy+vue3+onlyoffice文档管理系统实战 20240823上课笔记 zdppy_cache框架的低代码实现

遗留问题 1、封装API2、有账号密码3、查询所有有效的具体数据,也就是缓存的所有字段 封装查询所有有效具体数据的方法 基本封装 def get_all(self, is_active=True, limit=100000):"""遍历数据库中所有的key,默认查询所有没过期的:param is_active: 是否只查没过期的:param limit: 默认10000,但是允许做限制:r

zdppy_docserver结合zdpvue_client开发前后端分离的文档管理系统

创建前端应用 pnpm create vite 安装依赖 pnpm add @onlyoffice/document-editor-vue 基本使用 这里有三个非常关键的URL地址: 文档服务地址:http://192.168.101.5:8080文档地址:http://192.168.101.5:18889/test.docx回调地址:http://192.168.101.5:1

zdppy_amauth如何测试批量获取用户绑定的所有权限:思路

简单的思路 1、添加用户 2、添加角色 3、绑定用户和角色的关系 4、添加3个权限 5、绑定角色和权限关系,给角色绑定2个权限 6、查询用户绑定的所有权限 7、删除用户 8、删除角色 9、删除权限 10、解绑用户的所有角色 11、解绑角色的所有权限

zdppy_amauth 实现给角色批量绑定权限

新增接口 api.resp.post("/auth/role_auth", amauth.role.add_auths) 如何测试 如何测试能不能给指定的角色批量的添加权限呢? 1、需要新建一个角色2、需要拿到这个角色的ID3、需要新增三个权限4、需要拿到新增的三个权限的ID5、拿着角色ID和权限ID列表,调用批量新增角色接口进行测试6、校验测试结果7、调用根据角色ID批量获取权限的接口

zdppy_api 中间件请求原理详解

单个中间件的逻辑 整体执行流程: 1、客户端发起请求2、中间件拦截请求,在请求开始之前执行业务逻辑3、API服务接收到中间件处理之后的请求,和数据库交互,请求数据4、数据库返回数据5、API处理数据库的数据,然后给客户端6、中间件拦截API服务的响应数据,在响应抵达客户端之前添加业务逻辑7、将API服务的数据经过中间件处理之后,响应给客户端 多个中间件的执行逻辑 整体执行流程: 1

zdppy_api如何实现带参数的中间件

参考代码 import timefrom api.middleware import Middlewarefrom api.middleware.base import BaseHTTPMiddlewarefrom api.exceptions import AuthExceptionimport jwthas_logger = Falsetry:from log import logg

使用zdppy_amauth开发激活用户接口

服务端代码: 1、创建数据库连接对象2、初始化数据库3、声明一个上下文4、挂载用户相关的路由,这里主要由 用户登录接口用户注册注册获取用户列表接口激活指定用户接口 5、启动服务 import mcrudimport apiimport amauthimport envimport contextlibenv.load("../.env")db = mcrud.new_env()ama

使用zdppy_amauth开发获取用户列表接口

服务端代码: 1、创建数据库连接对象2、初始化数据库3、声明一个上下文4、挂载用户相关的路由,这里主要由:登录,注册,获取用户列表5、启动服务 import mcrudimport apiimport amauthimport envimport contextlibenv.load("../.env")db = mcrud.new_env()amauth.data.init(db,

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查 本套教程配套有录播课程和私教课程,欢迎私信我。 Docker部署ElasticSearch7 创建基本容器 docker run -itd --name elasticsearch -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS=

《zdppy_aocrud官方教程》 08 自动生成根据ID列表删除接口

08 自动生成根据ID列表删除接口 《zdppy_aocrud官方教程》 08 自动生成根据ID列表删除接口 生成方法 服务端 import aocrudimport envimport ormfrom api import Api, respenv.load("../.env")db, BaseModel = orm.get_mysql_pool_base_model_by_env

《zdppy_aocrud官方教程》 07 自动生成根据ID删除接口

07 自动生成根据ID删除接口 《zdppy_aocrud官方教程》 07 自动生成根据ID删除接口 生成方法 服务端 import aocrudimport envimport ormfrom api import Api, respenv.load("../.env")db, BaseModel = orm.get_mysql_pool_base_model_by_env()cl

zdppy_api框架快速入门

概述 zdppy_api是一款为了快速开发而生的,基于异步的,使用简单的Python后端API接口开发框架。 本框架的目标是让Python后端开发变得越来越简单,直到发现原来还可以更简单! 一切都是为了提高开发效率!!! 响应文本 服务端: from api import resp, Api# 创建应用app = Api(routes=[resp.text_route("/", "你好,