ruoyi-vue-pro 开发指南 ruoyi-vue-pro 开发指南
  • 萌新必读
  • 后端手册
  • 中间件手册
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
  • 运维手册
  • 前端手册 Vue 2.x
  • 前端手册 Vue 3.x
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
视频教程
  • Vue3 + element-plus (opens new window)
  • Vue3 + vben(ant-design-vue) (opens new window)
  • Vue2 + element-ui (opens new window)
微服务版 (opens new window)
作者博客 (opens new window)
GitHub (opens new window)
  • 萌新必读
  • 后端手册
  • 中间件手册
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
  • 运维手册
  • 前端手册 Vue 2.x
  • 前端手册 Vue 3.x
  • 工作流手册
  • 大屏手册
  • 支付手册
  • 会员手册
  • 商城手册
  • ERP 手册
  • CRM 手册
  • AI 大模型手册
  • IoT 物联网手册
  • 公众号手册
  • 系统手册
视频教程
  • Vue3 + element-plus (opens new window)
  • Vue3 + vben(ant-design-vue) (opens new window)
  • Vue2 + element-ui (opens new window)
微服务版 (opens new window)
作者博客 (opens new window)
GitHub (opens new window)
  • 萌新必读

    • 简介
    • 交流群
    • 视频教程
    • 功能列表
    • 快速启动(后端项目)
    • 快速启动(前端项目)
    • 接口文档
    • 技术选型
    • 项目结构
    • 代码热加载
    • 一键改包
    • 迁移模块(适合新项目)
    • 删除功能(以租户为例)
    • 表结构变更(版本升级)
    • 国产信创数据库(DM 达梦、大金、OpenGauss)
    • 如何去除 Redis 缓存
    • 内网穿透
    • 面试题、简历模版、简历优化
    • 项目外包
  • 后端手册

    • 新建模块
    • 代码生成【单表】(新增功能)
    • 代码生成【主子表】
    • 代码生成(树表)
    • 功能权限
    • 数据权限
    • 用户体系
    • 三方登录
    • OAuth 2.0(SSO 单点登录)
    • SaaS 多租户【字段隔离】
    • SaaS 多租户【数据库隔离】
    • WebSocket 实时通信
    • 异常处理(错误码)
    • 参数校验、时间传参
    • 分页实现
    • VO 对象转换、数据翻译
    • 文件存储(上传下载)
    • Excel 导入导出
    • 操作日志、访问日志、异常日志
    • MyBatis 数据库
    • MyBatis 联表&分页查询
    • 多数据源(读写分离)、事务
    • Redis 缓存
    • 本地缓存
    • 异步任务
    • 分布式锁
    • 幂等性(防重复提交)
    • 请求限流(RateLimiter)
    • HTTP 接口签名(防篡改)
    • 单元测试
    • 验证码
    • 工具类 Util
    • 配置管理
    • 数据库文档
  • 中间件手册

    • 定时任务
    • 消息队列(内存)
    • 消息队列(Redis)
    • 消息队列(RocketMQ)
    • 消息队列(RabbitMQ)
    • 消息队列(Kafka)
    • 限流熔断
  • 工作流手册

    • 工作流演示
    • 功能开启
    • 工作流(达梦适配)
    • 审批接入(流程表单)
    • 审批接入(业务表单)
    • 流程设计器(BPMN)
    • 流程设计器(钉钉、飞书)
    • 选择审批人、发起人自选
    • 会签、或签、依次审批
    • 流程发起、取消、重新发起
    • 审批通过、不通过、驳回
    • 审批加签、减签
    • 审批转办、委派、抄送
    • 执行监听器、任务监听器
    • 流程表达式
    • 流程审批通知
  • 大屏手册

    • 报表设计器
    • 大屏设计器
  • 支付手册

    • 功能开启
    • 支付宝支付接入
    • 微信公众号支付接入
    • 微信小程序支付接入
    • 支付宝、微信退款接入
    • 支付宝转账接入
    • 微信转账接入
    • 钱包充值、支付、退款
    • 模拟支付、退款
  • 会员手册

    • 功能开启
    • 微信公众号登录
    • 微信小程序登录
    • 微信小程序订阅消息
    • 微信小程序码
    • 会员用户、标签、分组
    • 会员等级、积分、签到
  • 商城手册

    • 商城演示
    • 功能开启
    • 商城装修
    • 在线客服
    • 【商品】商品分类
    • 【商品】商品属性
    • 【商品】商品 SPU 与 SKU
    • 【商品】商品评价
    • 【交易】购物车
    • 【交易】交易订单
    • 【交易】售后退款
    • 【交易】快递发货
    • 【交易】门店自提
    • 【交易】分销返佣
    • 【营销】优惠劵
    • 【营销】积分商城
    • 【营销】拼团活动
    • 【营销】秒杀活动
    • 【营销】砍价活动
    • 【营销】满减送活动
    • 【营销】限时折扣
    • 【营销】内容管理
    • 【统计】会员、商品、交易统计
  • ERP手册

    • ERP 演示
    • 功能开启
    • 【产品】产品信息、分类、单位
    • 【库存】产品库存、库存明细
    • 【库存】其它入库、其它出库
    • 【库存】库存调拨、库存盘点
    • 【采购】采购订单、入库、退货
    • 【销售】销售订单、出库、退货
    • 【财务】采购付款、销售收款
  • CRM手册

    • CRM 演示
    • 功能开启
    • 【线索】线索管理
    • 【客户】客户管理、公海客户
    • 【商机】商机管理、商机状态
    • 【合同】合同管理、合同提醒
    • 【回款】回款管理、回款计划
    • 【产品】产品管理、产品分类
    • 【通用】数据权限
    • 【通用】跟进记录、待办事项
  • AI大模型手册

    • AI 大模型演示
    • 功能开启
    • AI 聊天对话
    • AI 绘画创作
    • AI 知识库
    • AI 音乐创作
    • AI 写作助手
    • AI 思维导图
    • AI 工具(function calling)
    • AI 工作流
    • Dify 工作流
    • FastGPT 工作流
    • Coze 智能体
    • 【模型接入】OpenAI
    • 【模型接入】通义千问
    • 【模型接入】DeepSeek
    • 【模型接入】字节豆包
    • 【模型接入】腾讯混元
    • 【模型接入】硅基流动
    • 【模型接入】MiniMax
    • 【模型接入】月之暗灭
    • 【模型接入】百川智能
    • 【模型接入】文心一言
    • 【模型接入】LLAMA
    • 【模型接入】智谱 GLM
    • 【模型接入】讯飞星火
    • 【模型接入】微软 OpenAI
    • 【模型接入】谷歌 Gemini
    • 【模型接入】Stable Diffusion
    • 【模型接入】Midjourney
    • 【模型接入】Suno
  • IoT物联网手册

    • 功能开启
  • 公众号手册

    • 功能开启
    • 公众号接入
    • 公众号粉丝
    • 公众号标签
    • 公众号消息
    • 自动回复
    • 公众号菜单
    • 公众号素材
    • 公众号图文
    • 公众号统计
  • 系统手册

    • 短信配置
    • 邮件配置
    • 站内信配置
    • 数据脱敏、字段权限
    • 敏感词
    • 地区 & IP 库
  • 运维手册

    • 开发环境
    • Linux 部署
    • Docker 部署
    • Jenkins 部署
    • 宝塔部署
    • HTTPS 证书
    • 服务监控
  • 前端手册 Vue 3.x

    • 开发规范
    • 菜单路由
    • Icon 图标
    • 字典数据
    • 系统组件
    • 通用方法
    • 配置读取
    • CRUD 组件
    • 国际化
    • IDE 调试
    • 代码格式化
  • 前端手册 Vue 2.x

    • 开发规范
    • 菜单路由
    • Icon 图标
    • 字典数据
    • 系统组件
    • 通用方法
    • 配置读取
  • 更新日志

    • 【v2-6-1】开发中
    • 【v2-6-0】2025-06-07
    • 【v2.5.0】2025-05-13
    • 【v2.4.2】2025-04-12
    • 【v2.4.1】2025-02-09
    • 【v2.4.0】2024-12-31
    • 【v2.3.0】2024-10-07
    • 【v2.2.0】2024-08-02
    • 【v2.1.0】2024-05-05
      • 优化操作日志、多数据库的支持
      • 📈 Statistic
        • ⭐ New Features
        • 🐞 Bug Fixes
    • 【v2.0.1】2024-03-01
    • 【v2.0.0】2024-01-26
  • 开发指南
  • 更新日志
芋道源码
2024-03-02
目录

【v2.1.0】2024-05-05

# 优化操作日志、多数据库的支持

# 📈 Statistic

  • 总代码行数:207512
  • 源码代码行数:129166
  • 注释行数:46828
  • 单元测试用例数:1024

# ⭐ New Features

  • 【新增】MySQL 转 Oracle、PostgreSQL、SQLServer 脚本,更好的支持多 DB,由 @dhb52 (opens new window) 贡献 #958 (opens new window)、#959 (opens new window)、#960 (opens new window)、#961 (opens new window)、#962 (opens new window)、#963 (opens new window)、#964 (opens new window)、#965 (opens new window)
  • 【重构】V2 操作日志转正,基于注解的可使用变量、可以自定义函数的通用操作日志组件,由 @芋道源码 (opens new window) 贡献 132c1cc (opens new window)
  • 【优化】增强访问日志,支持是否记录、脱敏、操作信息等功能,由 @芋道源码 (opens new window) 贡献 132c1cc (opens new window)
  • 【新增】ApiAccessLogInterceptor 拦截器,打印请求日志到 IDEA 控制台,由 @芋道源码 (opens new window) 贡献 132c1cc (opens new window)
  • 【重构】Excel 导入时,增加 @ExcelSelect 注解,支持下拉选择数据,由 @puhui999 (opens new window) 贡献 #900 (opens new window)
  • 【新增】二次封装 form-create 组件,使用项目重新封装的文件上传组件,由 @puhui999 (opens new window) 贡献 #3820710 (opens new window)、#412 (opens new window)
  • 【优化】支持登陆用户,直接读取昵称、部门等信息,也支持自定义字段,由 @芋道源码 (opens new window) 贡献 909d330 (opens new window)
  • 【新增】UserIdempotentKeyResolver 解析器,支持用户级别的幂等,由 @芋道源码 (opens new window) 贡献 38db5fe (opens new window)
  • 【新增】RateLimiter 限流器,支持全局、用户、IP 等级别的限流,由 @芋道源码 (opens new window) 贡献 cc50891 (opens new window)
  • 【完善】代码生成对 DM 达梦数据的兼容性,由 @再见七月 (opens new window) 贡献 #422 (opens new window)、#108 (opens new window)
  • 【移除】数据库文档,简化项目的复杂度,由 @芋道源码 (opens new window) 贡献 ff0c12c (opens new window)、ff52769 (opens new window)
  • 【移除】错误码的管理,简化项目的复杂度,由 @芋道源码 (opens new window) 贡献 8093ef3 (opens new window)、98bf5a1 (opens new window)
  • 【移除】敏感词的管理,简化项目的复杂度,由 @芋道源码 (opens new window) 贡献 9a31613 (opens new window)、0925253 (opens new window)
  • 【优化】新增 sslEnable 字段,支持 outlook 邮箱,由 @ZJY (opens new window) 贡献 #496 (opens new window)、#19 (opens new window)
  • 【增强】一键改包:支持 site、org 等包,由 @芋道源码 (opens new window) 贡献 cd5e631 (opens new window)
  • 【新增】Vue3 管理后台:在菜单管理中,可通过“路由地址”添加 ? 拼接参数,由 @芋道源码 (opens new window) 贡献 f75e8d1 (opens new window)

CRM 客户管理系统专区:

  • 【完善】在客户添加团队成员时,可以同时添加到商机、合同,由 @puhui999 (opens new window) 贡献 #900 (opens new window)、#399 (opens new window)、#907 (opens new window)、#403 (opens new window)
  • 【新增】员工客户分析,由 @dhb52 (opens new window) 贡献 #902 (opens new window)、#931 (opens new window)、#415 (opens new window)、#932 (opens new window)、#419 (opens new window)、#944 (opens new window)、#947 (opens new window)
  • 【新增】客户画像分析,由 @puhui999 (opens new window) 贡献 #410 (opens new window)、#923 (opens new window)
  • 【新增】员工业绩统计,由 @scholarli (opens new window) 贡献 #916 (opens new window)、#416 (opens new window)、#952 (opens new window)、#431 (opens new window)
  • 【新增】员工客户分析,由 @dhb52 (opens new window) 贡献 #902 (opens new window)、#909 (opens new window)、#934 (opens new window)、#417 (opens new window)
  • 【新增】销售漏斗分析,由 @puhui999 (opens new window) 贡献 #426 (opens new window)、#428 (opens new window)、#946 (opens new window)、#949 (opens new window)

MALL 商城专区:

  • 【新增】小程序的微信地址,导入成收货地址,由 @DH (opens new window) 贡献 #47 (opens new window)
  • 【完善】适配顶部导航,由 @疯狂的世界 (opens new window) 贡献 #406 (opens new window)、#50 (opens new window)
  • 【完善】兼容 HBuilder 最新版本 vite5,由 @芋道源码 (opens new window) 贡献 c3f3c44 (opens new window)

BPM 工作流专区:

  • 【重构】审批人的分配规则实现,移除 bpm_task_assign_rule 表,使用 bpmn UserTask 自定义属性存储,由 @芋道源码 (opens new window) 贡献 feadd02 (opens new window)、797fddf (opens new window)
  • 【重构】流程分配人的实现,通过 BpmTaskCandidateStrategy 策略模式,并支持 Flowable Expression 流程表达式(替代 BpmTaskAssignScript 脚本),由 @芋道源码 (opens new window) 贡献 797fddf (opens new window)、f5f73ad (opens new window)、960f27f (opens new window)、5f7ccd4 (opens new window)
  • 【新增】顺序会签、或签的实现,由 @芋道源码 (opens new window) 贡献 a1defeb (opens new window)、33d59c8 (opens new window)
  • 【重构】流程实例的 status 状态实现,使用 Flowable 的 variables 存储,移除 bpm_process_instance_ext 表,由 @芋道源码 (opens new window) 贡献 7967a2a (opens new window)、59c7c49 (opens new window)
  • 【重构】流程任务的 status 状态实现,使用 Flowable 的 variables 存储,移除 bpm_task_ext 表,由 @芋道源码 (opens new window) 贡献 7967a2a (opens new window)
  • 【完善】调整抄送逻辑的实现,改成审批通过、不通过时,可选择抄送,由 @芋道源码 (opens new window) 贡献
  • 【重构】新增流程分类表,替代现有的 bpm_category 数据字典,由 @芋道源码 (opens new window) 贡献 ed83b91 (opens new window)、501a1c2 (opens new window)
  • 【新增】支持多表单,每个流程任务都可以绑定流程表单,由 @芋道源码 (opens new window) 贡献 08dd4ed (opens new window)、29a0fbf (opens new window)
  • 【移除】flowable starter 模块,融合到 bpm 模块中,由 @芋道源码 (opens new window) 贡献 559bab5 (opens new window)
  • 【新增】增加「发起人自选」的任务审批人的分配策略,由 @芋道源码 (opens new window) 贡献 528a321 (opens new window)、728cf15 (opens new window)
  • 【新增】流程监听器,可配置 BPMN 任务监听器、执行监听器的模版,后续在 BPMN 选择使用,由 @芋道源码 (opens new window) 贡献 7218e71 (opens new window)

MP 公众号专区:

  • 【新增】增加 unionid,由 @Fanjc (opens new window) 贡献 #104 (opens new window)

REPORT 报表专区:

  • 【完善】适配 jimu 报表的安全配置,由 @芋道源码 (opens new window) 贡献 0222387 (opens new window)

# 🐞 Bug Fixes

  • 【修复】MapUtils.findAndThen,key 为 null 时,不处理,由 @dhb52 (opens new window) 贡献 #904 (opens new window)
  • 【修复】convertXxxByFlatMap, 当 map 后内容为 null 时,flatMap 会出现 NPE,由 @dhb52 (opens new window) 贡献 #926 (opens new window)
  • 【修复】Vue3 管理后台:取消社交登录时,登录按钮 loading 状态未取消,由 @AhJindeg (opens new window) 贡献 #400 (opens new window)
  • 【修复】Vue3 管理后台:引入 prettier-eslint 依赖,修复 settings.json 文件中设置格式化插件 rvest.vs-code-prettier-eslint 未生效问题,由 @AhJindeg (opens new window) 贡献 #401 (opens new window)
  • 【修复】角色在编辑数据权限时,无法回显的问题,由 @moon69 (opens new window) 贡献 #402 (opens new window)
  • 【修复】(crontab): add inputChange for crontab,由 @AhJindeg (opens new window) 贡献 #409 (opens new window)
  • 【修复】【系统管理/岗位管理/新增按钮与导出按钮】权限 hasPermi 错误,由 @aqiangaqiang (opens new window) 贡献 #411 (opens new window)
  • 【修复】中山市缺失,由 @cheng102e (opens new window) 贡献 #462 (opens new window)
  • 【修复】Xss 开启时,忽略的 URL 针对 RequestBody 还是会 XSS 过滤的问题,由 @芋道源码 (opens new window) 贡献 c943233 (opens new window)
  • 【修复】jdk21 版本下 docker-compose 中 Redis Host 参数名称不正确的问题,由 E1 (opens new window) 贡献 #901 (opens new window)
  • 【修复】(role): add nextTick for open,由 @AhJindeg (opens new window) 贡献 #414 (opens new window)
  • 【修复】Vue3 管理后台:导入用户的 UserImportForm 一些列 bug,由 @AhJindeg (opens new window) 贡献 #421 (opens new window)
  • 【修复】获取登录用户的权限信息接口在没有授权角色时,没有菜单列表导致报错的问题,由 @a472159403 (opens new window) 贡献 #945 (opens new window)、#110 (opens new window)
  • 【修复】Swagger 部分字段的注释不正确的问题,由 @moon69 (opens new window) 贡献 #933 (opens new window)
  • 【修复】Vue3 管理后台:修复第四个导航模式 hover 无法点开菜单的问题,由 @moon69 (opens new window) 贡献 #427 (opens new window)
  • 【修复】Vue3 管理后台:部分文件中 v-hasPermi 权限标识填写错误,由 @AhJindeg (opens new window) 贡献 #429 (opens new window)
  • 【修复】非 json 请求(文件上传)时,token 过期时,错误读取 request body 问题,由 @芋道源码 (opens new window) 贡献 fd832e2 (opens new window)
  • 【修复】Vue3 管理后台:角色类型字段没有被字典翻译问题,由 @jnlimz (opens new window) 贡献 #430 (opens new window)
  • 【修复】角色管理页面-查询未按照排序字段排序的问题,由 @jnlimz (opens new window) 贡献 #112 (opens new window)
  • 【修复】短信模板中关于 type 字段的描述,由 @邓超 (opens new window) 贡献 #496 (opens new window)、#487 (opens new window)
  • 【修复】Oracle 自带系统表,影响代码生成,由 @芋道源码 (opens new window) 贡献 c6eed9a (opens new window)
  • 【修复】Vue3 管理后台:修复前端文件上传 Content-Type 异常问题,由 @Khalid (opens new window) 贡献 #436 (opens new window)
  • 【修复】Vue3 管理后台:WebSocket 示例菜单,存在死循环的问题,由 @AhJindeg (opens new window) 贡献 #437 (opens new window)
  • 【修复】代码生成:处理 SQLServer 数据库获取不到数据表结构注释,由 @ArlenBoy (opens new window) 贡献 #760 (opens new window)
  • 【修复】移除 Druid 广告逻辑未按照期望执行,由 @芋道源码 (opens new window) 贡献 290a981 (opens new window)

MALL 商城专区:

  • 【修复】小程序的 checkUpdate 未导出的问题,由 @cnyballk (opens new window) 贡献 #44 (opens new window)、#45 (opens new window)、#46 (opens new window)
  • 【修复】登录后的移除 returnUrl 的使用不正确,由 @天痕 (opens new window) 贡献 #49 (opens new window)
  • 【修复】发货日志物流公司名称不显示问题,由 @山野羡民 (opens new window) 贡献 #920 (opens new window)
  • 【修复】取消订单时,取消分销订单不正确的问题,由 @wangxiaorui (opens new window) 贡献 #924 (opens new window)
  • 【修复】解决查看未上架的商品时,报错缺少商品名称问题,由 @杨宇庆 (opens new window) 贡献 #908 (opens new window)
  • 【修复】添加加入购物车商品数量不可为 0 或更低数量的限制,由 @风狗 (opens new window) 贡献 #915 (opens new window)
  • 【修复】拼团详情错误传递 groupon_id 的问题,由 @芋道源码 (opens new window) 贡献 a816582 (opens new window)、5faa006 (opens new window)
  • 【修复】营销的商品范围枚举不正确的问题,由 @芋道源码 (opens new window) 贡献 427c2d5 (opens new window)
  • 【修复】会员等级变更修复,由 @天痕 (opens new window) 贡献 #93 (opens new window)
  • 【修复】修改商品评论的可见性时,未正确更新评论的可见性的问题,由 @云扬四海 (opens new window) 贡献 #939 (opens new window)
  • 【修复】取消订单,返回优惠劵时,状态校验不正确的问题,由 @芋道源码 (opens new window) 贡献 c1df35d (opens new window)
  • 【修复】秒杀时段点击编辑报错,由 @芋道源码 (opens new window) 贡献 20a9780 (opens new window)
  • 【修复】管理后台发放优惠劵时,只能发送未修改过有效期类型的优惠券,由 @芋道源码 (opens new window) 贡献 dae4e64 (opens new window)
  • 【修复】管理后台修改待支付订单,调整价格取值错误,由 @Evol郑天 (opens new window) 贡献 #77 (opens new window)
  • 【修复】管理后台的商城订单统计数据有问题,由 @芋道源码 (opens new window) 贡献 e2fe047 (opens new window)、3f7e99c (opens new window)
  • 【修复】订单详情,点击查看商品详情时应该跳转的是 spuId,由 @孙正涛 (opens new window) 贡献 #51 (opens new window)
  • 【修复】店铺装修时,商品列表组件返回的商品信息,按照选择的顺序返回,由 @芋道源码 (opens new window) 贡献 bbfff1b (opens new window)
  • 【修复】拼团装修组件,跳转拼团商品界面的 id 不正确的问题,由 @芋道源码 (opens new window) 贡献 68d2fc4 (opens new window)
  • 【修复】优惠活动中的限时活动,添加活动报错系统异常,由 @bumianri (opens new window) 贡献 #733 (opens new window)

REPORT 报表专区:

  • 【修复】UReport 包冲突,导致积木报表导出 Excel 报错,由 @李占宏 (opens new window) 贡献 #899 (opens new window)
  • 【移除】Ureport 的实现,因为和 Spring Boot 兼容性较差,由 @芋道源码 (opens new window) 贡献

PAY 支付专区:

  • 【修复】微信支付时,无法保证父线程的 ThreadLocal 传入子线程,由 @芋道源码 (opens new window) 贡献 d30700d (opens new window)
  • 【修复】解决退款失败时返回退款订单号错误的问题,由 @杨宇庆 (opens new window) 贡献 #912 (opens new window)

CRM 客户管理专区:

  • 【修复】@RequestBody 和 Multipart 不能同时存在的异常和导入客户后序列化产生的异常,由 @芋道源码 (opens new window) 贡献 a68abc4 (opens new window)
  • 【修复】修复创建跟进记录操作日志的 id 不正确,由 @芋道源码 (opens new window) 贡献 #938 (opens new window)
  • 【修复】CRM 管理员数据权限,由 @puhui999 (opens new window) 贡献 #957 (opens new window)
  • 【修复】CRM 客户导入无效的问题,由 @puhui999 (opens new window) 贡献 #433 (opens new window)

ERP 企业管理专区:

  • 【修复】ERP 采购订单菜单权限错误问题,由 @zengheng (opens new window) 贡献 #922 (opens new window)
【v2.2.0】2024-08-02
【v2.0.1】2024-03-01

← 【v2.2.0】2024-08-02 【v2.0.1】2024-03-01→

Theme by Vdoing | Copyright © 2019-2025 芋道源码 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×