/* * Copyright (c) 杭州颉创科技有限公司 2025. All rights reserved. * This source file is licensed under the MIT License found in the * LICENSE file in the root directory of this source tree. */ package simcu::simapi.annotations /** * @brief 为控制器或动作提供 API 文档元数据(对齐 C# [SimApiDoc] 特性)。 * * 用法: * @SimApiDoc[tags: "登录", summary: "用户登录相关接口"] * @SimApiDoc[tags: "认证", summary: "后台登录", groupNames: "admin"] * @SimApiDoc[tags: "公共", groupNames: "api,admin"] // 同时出现在 api 和 admin 文档 * @SimApiDoc[tags: "公共", groupNames: "*"] // 出现在所有文档 */ @Annotation[target: [MemberFunction, Type, MemberProperty, MemberVariable, Parameter]] public class SimApiDoc { /** * @brief API 名称。 */ public let name: ?String /** * @brief 当前 API 是否应被忽略。 */ public let ignore: Bool /** * @brief API 摘要信息。 */ public let summary: ?String /** * @brief API 分组名称(逗号分隔,如 "api,admin");"*" 表示出现在所有文档;空串表示未分组(仅进默认文档)。 */ public let groupNames: String /** * @brief API 描述信息。 */ public let description: ?String /** * @brief API 标签字符串。 */ public let tags: ?String /** * @brief 创建 SimApiDoc 注解实例。 * @param name API 名称。 * @param ignore 是否忽略当前 API。 * @param summary API 摘要。 * @param groupNames API 分组名称(逗号分隔,如 "api,admin");"*" 表示出现在所有文档;空串表示未分组(仅进默认文档)。 * @param description API 描述。 * @param tags API 标签字符串。 */ public const init(name!: ?String = None, ignore!: Bool = false, summary!: ?String = None, groupNames!: String = "", description!: ?String = None, tags!: ?String = None) { this.tags = tags this.name = name this.ignore = ignore this.summary = summary this.groupNames = groupNames this.description = description } }