bwstudio 4ece453f00 feat(public): 首页卡片/主题菜单/侧栏/移动端多项优化
卡片
- 描述与网址共用一行(.meta-line + grid 同格),默认显示描述、悬停交叉淡出为网址;
  触屏 (hover:none) 直接显示网址,卡片不再被两行文字撑高

主题菜单
- 修复「暗色」项与其他项不一致:主题变量块原用裸属性选择器 [data-theme="dark"],
  会连菜单里的 <li data-theme="dark"> 一起命中导致颜色被局部覆盖;
  全部改为 html[data-theme="…"](8 个主题 + 关于页 dark 特例)
- 每项加统一色块标识 + 选中对勾,宽高与对齐方式一致

左侧菜单栏
- 「我常访问」「热门网址」合并为一个「常用 & 热门」分区(侧栏 + 移动端抽屉),
  标题随数据动态切换;右侧内容区两个 section 保持独立不变
- addSideNavEntry/addDrawerEntry 改为往合并分区插 li,removeEntries 只摘单条,
  避免整块删除把热门入口一起干掉
- 新增 retitleFeatured():JS 补入/移除个人榜后同步标题与图标

PC 侧栏
- 修复滚轮无响应:overscroll-behavior 由 contain 改为 auto(contain 会阻断滚动链接,
  内容未溢出时侧栏上滚轮完全没反应)
- 滚动条加宽到 6px 并使用 --text-soft,加 scrollbar-gutter: stable

移动端顶栏
- 修复 360px 小屏三个控件挤成两行:.topbar-actions 改 flex: 1 1 0 + min-width: 0
  (flex 换行先于收缩,basis auto 会先按固有宽度判定放不下而换行)
- 恢复显示站点名与副标题作为第二行,消除顶部空白
- 手机端隐藏「搜索」按钮,改由左侧放大镜提交,input 加 enterkeyhint
- placeholder 按视口自适应:手机「搜索书签」

抽屉
- 主题菜单在窄屏改为内联展开(280px 抽屉放不下 160px fixed 浮层,
  原逻辑会算出负数 left 飞出屏幕)
- positionThemeMenu 增加边界兜底:两侧都放不下时贴可视区右边缘
- 面板补 width: min(280px,84vw) + overflow-y:auto(原被内容撑成 173px)
2026-09-07 20:38:06 +08:00
2025-01-24 19:13:41 +08:00
2021-02-15 23:03:20 +08:00
2025-09-02 16:38:52 +08:00



Pear Admin Flask

开 箱 即 用 的 Flask 快 速 开 发 平 台

预览 | 官网 | 群聊 | 文档

Pear Admin Layui Version Python Version Mysql Version

项目简介

⚠️注意 Pear Admin Flask 已同步主项目 Pear Admin Layui 4.0,部分页面变化较大,如果是从旧的框架迁移,请查阅 从旧项目迁移 章节。另外,可以在此查看 更新日志

Pear Admin Flask 基于 Flask 的后台管理系统,拥抱应用广泛的python语言,通过使用本系统,即可快速构建你的功能业务 项目旨在为 python 开发者提供一个后台管理系统的模板,可以快速构建信息管理系统。

项目使用 flask-sqlalchemy + 权限验证 + marshmallow 序列化与数据验证,以此方式集成了若干不同的功能。

内置功能

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  • 权限管理:配置系统菜单,操作权限,按钮权限标识等。
  • 角色管理:角色菜单权限分配。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 登录日志:系统登录日志记录查询包含登录异常。
  • 服务监控:监视当前系统CPU、内存、磁盘、python版本,运行时长等相关信息。
  • 文件上传: 图片上传示例

项目分支说明

⚠️注意 Pear Admin Flask 不仅仅只提供一种对于 Pear Admin 后端的实现方式,所以提供了不同的分支版本,不同分支版本各有其优劣,并且由不同的开发者维护。

分支名称 特点
master(您目前浏览的分支版本) 功能齐全,处于开发阶段,代码量较大。
main 功能精简,代码量小,处于开发阶段,易于维护。
mini 不再更新,是最初版本的镜像。

⚠️注意 由于 master 分支项目需要,暂时移除了 Flask-APScheduler 定时任务 功能。

版本支持情况

经过测试,此项目的(master分支)运行要求是 >= Python 3.8 ,推荐使用 Python 3.11

💡提示 由于 Flask 中使用的 Werkzeug 模块更新,Flask 官方并未进行更新,所以可能会出现 ImportError 。 此类情况的出现可以通过正确安装 requirements.txt 中的模块(以及其对应版本)解决。

项目结构

应用结构

Pear Admin Flask (master)
├─applications  # 项目核心模块
│  ├─common  # 公共模块(初始化数据库、公用函数)
│  ├─extensions  # 注册项目插件
│  ├─schemas  # 序列化模型
│  ├─models  # 数据库模型
│  ├─views  # 视图部分
│  ├─config.py  # 项目配置
│  └─__init__.py  # 项目初始化入口
├─docs  # 文档说明
├─static  # 静态资源文件
├─templates  # 静态模板文件
└─app.py  # 程序入口

资源结构

Pear Admin Flask
├─static    # 项目设定的 Flask 资源文件夹
│  ├─admin    # pear admin flask 的后端资源文件(与 pear admin layui 同步)
│  ├─index    # pear admin flask 的前端资源文件
│  └─upload     # 用户上传保存目录
└─templates # 项目设定的 Flask 模板文件夹
  ├─admin   # pear admin flask 的后端管理页面模板
  │  ├─admin_log    # 日志页面
  │  ├─common       # 基本模板页面(头部模板与页脚模板)
  │  ├─console      # 系统监控页面模板
  │  ├─dept         # 部门管理页面模板
  │  ├─dict         # 数据字典页面模板
  │  ├─mail         # 邮件管理页面模板
  │  ├─photo        # 图片上传页面模板
  │  ├─power        # 权限(菜单)管理页面模板
  │  ├─role         # 角色管理页面模板
  │  ├─task         # 任务设置页面模板
  │  └─user         # 用户管理页面模板
  ├─errors  # 错误页面模板
  └─index   # 主页模板

项目安装

从仓库获取

# 克隆仓库 / 手动下载
git clone https://gitee.com/pear-admin/pear-admin-flask
cd pear-admin-flask  # 进入到项目目录

修改配置

💡提示 配置文件位于 applications/config.py ,打开配置文件看到的是位于 BaseConfig 类下的默认配置文件,您可以编写自己的配置类并继承 BaseConfig 类。 项目启动时,会调用 applications/__init__.py ,这个文件中加载了程序的配置,所以在您编写了自己的类后不要忘记在文件 applications/__init__.py 中修改使用的配置类。

⚠️注意 配置文件中对于数据库的配置有所更改,请查看代码中的注释修改配置。

# 部分配置信息如下所示

# 验证密钥(⚠️ 一定要记得修改 ⚠️)
SECRET_KEY = "pear-system-flask"

# 数据库的配置信息
SQLALCHEMY_DATABASE_URI = 'sqlite:///../pear.db'

# 默认日志等级
LOG_LEVEL = logging.WARN

# flask-mail配置
MAIL_SERVER = 'smtp.qq.com'
MAIL_USE_TLS = False
MAIL_USE_SSL = True
MAIL_PORT = 465
MAIL_USERNAME = '123@qq.com'
MAIL_PASSWORD = 'XXXXX'  # 生成的授权码
MAIL_DEFAULT_SENDER = MAIL_USERNAME

虚拟环境安装项目(推荐)

💡提示 为了保证项目所依赖的库不影响其他部署在同一主机上的项目,我们推荐使用虚拟环境安装。

python -m venv venv

# 进入虚拟环境下
venv\Scripts\activate.bat  # Windows 提示命令符
venv\Scripts\Activate.ps1  # Windows Powershell
source venv/bin/activate  # Linux

# 使用 pip 安装
pip install -r requirements.txt

直接安装项目

# 使用 pip 安装
pip install -r requirements.txt
# 同时你可以选择以模块的方式调用 pip
python -m pip install -r requirements.txt

运行项目

  • 一般情况运行项目
# 初始化数据库
flask db init
flask db migrate
flask db upgrade
flask admin init

# 运行项目
flask --app app.py run -h 0.0.0.0 -p 8000 --debug

# 或者直接调用 app.py
python app.py
  • 使用 docker-compose 运行项目
git clone https://gitee.com/pear-admin/pear-admin-flask

# 安装 docker-compose 
curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose 

# 运行如下命令,有输出版本,表示 docker-compose 可以用了
docker-compose --version 

# 在当前目录执行如下命令即可以运行 app
docker-compose -f dockercompose.yaml up

# 看到如下表示运行成功,由于 pip 下载慢,需要一些时间,请耐心等待;如果安装失败,重新执行上面的命令即可。

# 运行后在浏览器访问 127.0.0.1:5000 

#如果要停止容器运行,在当前文件夹执行如下命令:
docker-compose -f dockercompose.yaml down

预览项目

其他说明

项目初始用户以及其密码

默认用户为 admin ,密码默认为 123456

S
Description
这是我clone的项目,然后此项目中增加了一些内容。
Readme MIT
31 MiB
Languages
JavaScript 90.5%
CSS 4.3%
HTML 3.2%
Python 1.9%