- 新增图像生成接口,支持试用、积分和自定义API Key模式 - 实现生成图片结果异步上传至MinIO存储,带重试机制 - 优化积分预扣除和异常退还逻辑,保障用户积分准确 - 添加获取生成历史记录接口,支持时间范围和分页 - 提供本地字典配置接口,支持模型、比例、提示模板和尺寸 - 实现图片批量上传接口,支持S3兼容对象存储 feat(admin): 增加管理员角色管理与权限分配接口 - 实现角色列表查询、角色创建、更新及删除功能 - 增加权限列表查询接口 - 实现用户角色分配接口,便于统一管理用户权限 - 增加系统字典增删查改接口,支持分类过滤和排序 - 权限控制全面覆盖管理接口,保证安全访问 feat(auth): 完善用户登录注册及权限相关接口与页面 - 实现手机号验证码发送及校验功能,保障注册安全 - 支持手机号注册、登录及退出接口,集成日志记录 - 增加修改密码功能,验证原密码后更新 - 提供动态导航菜单接口,基于权限展示不同菜单 - 实现管理界面路由及日志、角色、字典管理页面访问权限控制 - 添加系统日志查询接口,支持关键词和等级筛选 feat(app): 初始化Flask应用并配置蓝图与数据库 - 创建应用程序工厂,加载配置,初始化数据库和Redis客户端 - 注册认证、API及管理员蓝图,整合路由 - 根路由渲染主页模板 - 应用上下文中自动创建数据库表,保证运行环境准备完毕 feat(database): 提供数据库创建与迁移支持脚本 - 新增数据库创建脚本,支持自动检测是否已存在 - 添加数据库表初始化脚本,支持创建和删除所有表 - 实现RBAC权限初始化,包含基础权限和角色创建 - 新增字段手动修复脚本,添加用户API Key和积分字段 - 强制迁移脚本支持清理连接和修复表结构,初始化默认数据及角色分配 feat(config): 新增系统配置参数 - 配置数据库、Redis、Session和MinIO相关参数 - 添加AI接口地址及试用Key配置 - 集成阿里云短信服务配置及开发模式相关参数 feat(extensions): 初始化数据库、Redis和MinIO客户端 - 创建全局SQLAlchemy数据库实例和Redis客户端 - 配置基于boto3的MinIO兼容S3客户端 chore(logs): 添加示例系统日志文件 - 记录用户请求、验证码发送成功与失败的日志信息
196 lines
4.2 KiB
INI
196 lines
4.2 KiB
INI
#-----------------------------------------------------------------
|
|
# pycparser: _c_ast.cfg
|
|
#
|
|
# Defines the AST Node classes used in pycparser.
|
|
#
|
|
# Each entry is a Node sub-class name, listing the attributes
|
|
# and child nodes of the class:
|
|
# <name>* - a child node
|
|
# <name>** - a sequence of child nodes
|
|
# <name> - an attribute
|
|
#
|
|
# Eli Bendersky [https://eli.thegreenplace.net/]
|
|
# License: BSD
|
|
#-----------------------------------------------------------------
|
|
|
|
# ArrayDecl is a nested declaration of an array with the given type.
|
|
# dim: the dimension (for example, constant 42)
|
|
# dim_quals: list of dimension qualifiers, to support C99's allowing 'const'
|
|
# and 'static' within the array dimension in function declarations.
|
|
ArrayDecl: [type*, dim*, dim_quals]
|
|
|
|
ArrayRef: [name*, subscript*]
|
|
|
|
# op: =, +=, /= etc.
|
|
#
|
|
Assignment: [op, lvalue*, rvalue*]
|
|
|
|
Alignas: [alignment*]
|
|
|
|
BinaryOp: [op, left*, right*]
|
|
|
|
Break: []
|
|
|
|
Case: [expr*, stmts**]
|
|
|
|
Cast: [to_type*, expr*]
|
|
|
|
# Compound statement in C99 is a list of block items (declarations or
|
|
# statements).
|
|
#
|
|
Compound: [block_items**]
|
|
|
|
# Compound literal (anonymous aggregate) for C99.
|
|
# (type-name) {initializer_list}
|
|
# type: the typename
|
|
# init: InitList for the initializer list
|
|
#
|
|
CompoundLiteral: [type*, init*]
|
|
|
|
# type: int, char, float, string, etc.
|
|
#
|
|
Constant: [type, value]
|
|
|
|
Continue: []
|
|
|
|
# name: the variable being declared
|
|
# quals: list of qualifiers (const, volatile)
|
|
# funcspec: list function specifiers (i.e. inline in C99)
|
|
# storage: list of storage specifiers (extern, register, etc.)
|
|
# type: declaration type (probably nested with all the modifiers)
|
|
# init: initialization value, or None
|
|
# bitsize: bit field size, or None
|
|
#
|
|
Decl: [name, quals, align, storage, funcspec, type*, init*, bitsize*]
|
|
|
|
DeclList: [decls**]
|
|
|
|
Default: [stmts**]
|
|
|
|
DoWhile: [cond*, stmt*]
|
|
|
|
# Represents the ellipsis (...) parameter in a function
|
|
# declaration
|
|
#
|
|
EllipsisParam: []
|
|
|
|
# An empty statement (a semicolon ';' on its own)
|
|
#
|
|
EmptyStatement: []
|
|
|
|
# Enumeration type specifier
|
|
# name: an optional ID
|
|
# values: an EnumeratorList
|
|
#
|
|
Enum: [name, values*]
|
|
|
|
# A name/value pair for enumeration values
|
|
#
|
|
Enumerator: [name, value*]
|
|
|
|
# A list of enumerators
|
|
#
|
|
EnumeratorList: [enumerators**]
|
|
|
|
# A list of expressions separated by the comma operator.
|
|
#
|
|
ExprList: [exprs**]
|
|
|
|
# This is the top of the AST, representing a single C file (a
|
|
# translation unit in K&R jargon). It contains a list of
|
|
# "external-declaration"s, which is either declarations (Decl),
|
|
# Typedef or function definitions (FuncDef).
|
|
#
|
|
FileAST: [ext**]
|
|
|
|
# for (init; cond; next) stmt
|
|
#
|
|
For: [init*, cond*, next*, stmt*]
|
|
|
|
# name: Id
|
|
# args: ExprList
|
|
#
|
|
FuncCall: [name*, args*]
|
|
|
|
# type <decl>(args)
|
|
#
|
|
FuncDecl: [args*, type*]
|
|
|
|
# Function definition: a declarator for the function name and
|
|
# a body, which is a compound statement.
|
|
# There's an optional list of parameter declarations for old
|
|
# K&R-style definitions
|
|
#
|
|
FuncDef: [decl*, param_decls**, body*]
|
|
|
|
Goto: [name]
|
|
|
|
ID: [name]
|
|
|
|
# Holder for types that are a simple identifier (e.g. the built
|
|
# ins void, char etc. and typedef-defined types)
|
|
#
|
|
IdentifierType: [names]
|
|
|
|
If: [cond*, iftrue*, iffalse*]
|
|
|
|
# An initialization list used for compound literals.
|
|
#
|
|
InitList: [exprs**]
|
|
|
|
Label: [name, stmt*]
|
|
|
|
# A named initializer for C99.
|
|
# The name of a NamedInitializer is a sequence of Nodes, because
|
|
# names can be hierarchical and contain constant expressions.
|
|
#
|
|
NamedInitializer: [name**, expr*]
|
|
|
|
# a list of comma separated function parameter declarations
|
|
#
|
|
ParamList: [params**]
|
|
|
|
PtrDecl: [quals, type*]
|
|
|
|
Return: [expr*]
|
|
|
|
StaticAssert: [cond*, message*]
|
|
|
|
# name: struct tag name
|
|
# decls: declaration of members
|
|
#
|
|
Struct: [name, decls**]
|
|
|
|
# type: . or ->
|
|
# name.field or name->field
|
|
#
|
|
StructRef: [name*, type, field*]
|
|
|
|
Switch: [cond*, stmt*]
|
|
|
|
# cond ? iftrue : iffalse
|
|
#
|
|
TernaryOp: [cond*, iftrue*, iffalse*]
|
|
|
|
# A base type declaration
|
|
#
|
|
TypeDecl: [declname, quals, align, type*]
|
|
|
|
# A typedef declaration.
|
|
# Very similar to Decl, but without some attributes
|
|
#
|
|
Typedef: [name, quals, storage, type*]
|
|
|
|
Typename: [name, quals, align, type*]
|
|
|
|
UnaryOp: [op, expr*]
|
|
|
|
# name: union tag name
|
|
# decls: declaration of members
|
|
#
|
|
Union: [name, decls**]
|
|
|
|
While: [cond*, stmt*]
|
|
|
|
Pragma: [string]
|