Skip to content

Commit 223ffb7

Browse files
committed
update docs
1 parent 29dffbf commit 223ffb7

File tree

7 files changed

+942
-620
lines changed

7 files changed

+942
-620
lines changed

docs/.vuepress/_bulletin.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
🎉 v1.11.0 已发布 🎉
33
:::
44

5-
**重大变化**
5+
::: warning 重大变化
66

7-
- 🚀 重构外键约束为逻辑外键
7+
- 🚀 重构外键约束为逻辑外键(升级需重新创建数据库表并清理缓存)
8+
9+
:::
810

911
**cc 推荐**
1012

docs/.vuepress/styles/custom.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
}
3333
}
3434

35+
/* 首页非全屏样式 */
3536
.vp-home-hero:not(.full) .hero-container {
3637
padding-top: 166px !important;
3738
padding-bottom: 96px !important;
@@ -68,7 +69,7 @@
6869
border: 1px solid rgb(177 177 177 / 66%) !important;
6970
}
7071

71-
/* 文档页左侧边栏赞助位,如果提供 top 插槽,则更新 */
72+
/* 文档页左侧边栏赞助位,如果提供 top 插槽,则删除 */
7273
#SidebarNav > div.custom-content {
7374
position: sticky;
7475
top: 0;

docs/.vuepress/theme.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export const myTheme: Theme = plumeTheme({
4949
],
5050
navbarSocialInclude: ['github', 'gitee'],
5151
editLinkText: '编辑此页面',
52+
lastUpdated: false,
5253
contributors: false,
5354
//watermark: true,
5455
markdown: {

docs/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ watermark: false
55
signDown: true
66
config:
77
- type: hero
8-
effect: prism
98
hero:
109
name: FastAPI Best Architecture
1110
tagline: 企业级后端架构解决方案

docs/code/data_perm.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,23 @@
1-
def filter_data_permission(request: Request, model: Any) -> ColumnElement[bool]:
1+
def filter_data_permission(request_user: GetUserInfoWithRelationDetail, model: Any) -> ColumnElement[bool]:
22
"""
3-
过滤用户数据权限
3+
过滤数据权限,控制用户可见数据范围
44
5-
:param request: 接口请求对象
5+
使用场景:
6+
- 控制用户能看到哪些数据
7+
8+
:param request_user: 请求用户
69
:param model: 需要进行数据过滤的 sqlalchemy 模型
710
:return:
811
"""
9-
user = request.user
10-
1112
# 超级管理员可查看所有数据
12-
if user.is_superuser:
13+
if request_user.is_superuser:
1314
return or_(1 == 1)
1415

15-
user_id = user.id
16-
user_roles = user.roles
17-
1816
# 无角色只能查看自己数据
19-
if not user_roles:
20-
return or_(getattr(model, 'created_by') == user_id if hasattr(model, 'created_by') else 1 == 0)
17+
if not request_user.roles:
18+
return or_(getattr(model, 'created_by') == request_user.id if hasattr(model, 'created_by') else 1 == 0)
2119

22-
data_scope = min(role.data_scope for role in user_roles if role.status == 1)
20+
data_scope = min(role.data_scope for role in request_user.roles if role.status == 1)
2321
user_dept_id = user.dept_id
2422

2523
# 全部数据权限
@@ -28,8 +26,8 @@ def filter_data_permission(request: Request, model: Any) -> ColumnElement[bool]:
2826

2927
# 自定义数据权限
3028
elif data_scope == 1:
31-
dept_ids = select(sys_role_dept.c.dept_id).where(
32-
sys_role_dept.c.role_id.in_(role.id for role in user_roles if role.status == 1)
29+
dept_ids = select(role_dept.c.dept_id).where(
30+
role_dept.c.role_id.in_(role.id for role in request_user.roles if role.status == 1)
3331
)
3432
return or_(getattr(model, 'dept_id').in_(dept_ids) if hasattr(model, 'dept_id') else 1 == 0)
3533

@@ -44,7 +42,7 @@ def filter_data_permission(request: Request, model: Any) -> ColumnElement[bool]:
4442

4543
# 仅本人数据权限
4644
elif data_scope == 4:
47-
return or_(getattr(model, 'created_by') == user_id if hasattr(model, 'created_by') else 1 == 0)
45+
return or_(getattr(model, 'created_by') == request_user.id if hasattr(model, 'created_by') else 1 == 0)
4846

4947
# 默认
5048
else:

package.json

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,14 @@
2121
"@vuepress/plugin-baidu-analytics": "2.0.0-rc.118",
2222
"@vuepress/plugin-llms": "2.0.0-rc.118",
2323
"@vuepress/plugin-umami-analytics": "2.0.0-rc.118",
24-
"vue": "^3.5.22",
24+
"vue": "^3.5.24",
2525
"vuepress": "2.0.0-rc.26",
26-
"vuepress-theme-plume": "1.0.0-rc.175"
26+
"vuepress-theme-plume": "1.0.0-rc.176"
2727
},
2828
"dependencies": {
29-
"@iconify/json": "^2.2.402",
29+
"@iconify/json": "^2.2.406",
3030
"@vueuse/core": "^12.8.2",
3131
"mermaid": "^11.12.1",
32-
"ogl": "^1.0.11",
33-
"swiper": "^12.0.3",
34-
"three": "^0.180.0"
32+
"swiper": "^12.0.3"
3533
}
3634
}

0 commit comments

Comments
 (0)