CLAUDE.md 1.7 KB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

模块概述

frame/zero 是一个零配置接入工具包,提供了项目的核心基础类型定义。它是整个框架的最基础模块,定义了统一的错误处理和结果包装机制。

核心架构

RLT 状态管理模式

该模块实现了基于 Rlt<R> (Result Like Type) 的状态管理模式:

sealed class Rlt<out R> {
    data class Success<out T>(val data: T) : Rlt<T>()
    data class Failed(val error: IError) : Rlt<Nothing>()
}

关键特性:

  • 统一的成功/失败状态表示
  • 类型安全的结果包装
  • 强制错误处理机制

错误体系

基于 IError 的统一错误处理体系,包含:

核心属性:

  • msg: 用户提示信息(null表示不提示)
  • serverCode: 服务端错误码
  • exception: 异常信息收集
  • data: 附属数据
  • toastSecond: 错误提示显示时长

预定义错误类型:

  • NetworkHttpStatusNoSuccessError: HTTP状态码异常
  • NetworkHttpExecuteError: HTTP执行异常
  • NetworkHttpResBodyNullError: HTTP响应体为空
  • CommonParamError: 通用参数错误
  • CommonDataNullError: 数据为空错误
  • PermissionNoGrantError: 权限未授予错误

开发规范

错误类命名规范

<模块><功能><具体错误>

例如:NetworkHttpExecuteError, CommonParamError

使用模式

  • 所有异步操作返回 Rlt<T> 类型
  • 通过 when 表达式处理成功/失败状态
  • 自定义错误继承 IError 基类

依赖关系

当前依赖:

  • Kotlin 标准库(compileOnly)

作为依赖:

  • 被所有其他 frame 模块依赖的基础模块