# FF.PyAdmin 接口服务/后台管理微框架 (Flask+LayUI)
GitHub - fufuok/FF.PyAdmin: FF.PyAdmin 接口服务/后台管理微框架 (Flask+LayUI)
Gitee: https://gitee.com/fufuok/FF.PyAdmin
## v1.2.4
**2021-05-04 更新:**
- 升级前端库: `LayUI==2.6.5`
- 弃用 `xxtea` 启用新环境变量加密库 `envcrypto`
- Ref: http://github.com/fufuok/envcrypto
- 敏感密钥可加密(见 `manage.py`)后设置到系统环境变量
- 程序代码中调用 `get_environ` 自动解密使用, 见: `secret_settings.py`
- 目的是确保 git 中的代码无明文密码, 服务器上的环境变量也无明文密码
- 升级所有包的小版本号到最新, `Python 3.9.5` 测试通过
- 补一个 BGP 删除操作示例代码
## v1.2.3
**2021-01-28 更新:**
- 修正自定义异常描述显示问题
- 新增访问第三方数据库的快捷方式, 数据源与逻辑分离, 详见: `/result_tpl`, 配置见: `development_settings.py`
- `OCI` Oracle 需要下载客户端环境, 安装 `cx-oracle`
- `MSSQL` SQLServer 推荐使用 `pyodbc`, 也可以用 `pymssql`
- `MYSQL` 驱动任选
- 助手函数新增 `get_json_loads`, `get_iso_date`
- 助手函数 `get_date` 增加秒参数, 增加输出时间戳(毫秒), 增加输出时间日期对象
## v1.2.2
**2020-09-21 更新:**
- 助手函数 `get_date` 增加支持传入时间戳
- 增加 `DEBUG_RESPONSE` 配置参数, 开关是否在 DEBUG` 模式下启用响应日志
- API 返回结果增加 `info` 字段, 无论成功或失败都可以附带该信息
- 新版 WTForms 同样有例外问题, 启用自定义 `CSRFProtect`
- SQLAlchemy 增加默认参数: `max_overflow': -1`
- 新增 `init_db_cache` 机制, 用于将更新频率低, 使用频率高的数据存入全局变量(如 IP 白名单, 示例中是 ASN 表: `/show_asn_cache`), 并实时更新, 应用启动后不再请求数据库
- 视图函数可直接返回集合数据类型 `return set()`
- 表单验证 `StripString()` 新增 `cls_whitespace=True` 用于清除所有空白字符
- 权限禁用 `role_deny` 限制只能禁用小权限(视图函数级别)
## v1.2.1
**2020-08-14 更新:**
- 增加助手函数 `get_real_ip`, 方便获取客户端 IP
- 增加部署方案示例配置: `script/gunicorn` `script/uwsgi`