Crystal-Addons

Crystal's Personal Infrastructure: Shards

Odo Addons

Odo-i Addons

Enterprise Infrastructure & Business Building Blocks for Crystal
开箱即用、无框架绑定、安全合规的企业级 Crystal 基础设施与业务构件单仓

License Crystal Fossil SCM Shards Tests


💡 为什么选择 Odo Addons?

在构建现代 CRM、全渠道分销、医疗健康等复杂业务系统时,Crystal 生态通常缺乏经过真实生产环境与资金安全检验的标准化构件。Odo Addons 采用 Monorepo 统一研发与演进,提供 60 个相互解耦的高内聚 Shards。

  • 🚀 零框架绑定(Zero Framework Lock-in):所有 Shard 纯标准库实现,不绑定 Kemal、Amber 或 Lucky,可无缝嵌入任何 Crystal 架构。
  • 🔒 Fail-Closed 安全哲学:核心敏感数据天然脱敏、异常杜绝泄露 raw body/PII、HMAC 恒定时间比对、防重放与严格签名。
  • 原子并发与幂等保障:核心资金/异步回调统一接入 CallbackDedup 与分布式租约;延迟队列与预约锁采用原子 Lua 状态机。
  • 🎯 强类型与严格精度:金额全局整数(分)计算,规则引擎 AST 保持 64 位大整数不降级,除零/模零严格防御。

📦 模块全景图 (Shard Matrix)

每个子目录均为独立可引用的 Shard。状态遵循 稳定可用

💳 支付与交易结算

模块 状态 功能简介
core/ 稳定 HTTP 传输 / 统一加密 / 金额单位 / 时钟源 / 重试策略与 API 契约
wechat_pay/ 可用 微信支付 APIv3:JSAPI/Native 下单、退款、证书自动下载与回调验签解密
alipay/ 可用 支付宝 OpenAPI:Page 支付 / 预下单 / 退款 / RSA2 异步通知与公钥证书
stripe/ 可用 跨境支付:PaymentIntent、Checkout 收银台、退款、Webhook 验签与版本锁定
profit_sharing/ 可用 微信与支付宝分账中台:接收方绑定、请求分账、分账查询与完结解冻
payout/ 可用 企业付款中台:微信商家转账到零钱、支付宝单笔转账至账户/银行卡
fapiao/ 可用 电子发票中台:数电发票申请、普票/专票开具、诺诺网 OpenAPI 查询与冲红
chs_pay/ 可用 国家医保移动支付:医保电子凭证核验、混合下单、退款与异步验签
card_bin/ 可用 银行卡 BIN 本地识别:发卡行与卡种解析、Luhn 校验与机构回退
payroll_tax/ 可用 薪税个税公式库:居民工资薪金累计预扣、劳务报酬与全年一次性奖金计算

🔐 身份、权限与认证

模块 状态 功能简介
pbac/ 稳定 策略式属性权限求值引擎(ABAC/PBAC,默认拒绝,Deny 严格优先)
idp/ 可用 身份提供商:本地账号会话体系 + 企业级 SAML 2.0 SP/IdP 双向单点登录
totp/ 可用 双因子认证:RFC 6238 TOTP、RFC 4226 HOTP 令牌生成与 Authenticator 绑定
oauth/ 可用 统一授权登录:微信公众号/开放平台/小程序 + 支付宝 OAuth 2.0
realname/ 可用 实名核验:身份证二要素 / 手机运营商三要素(阿里云 + 腾讯云双通道)
enterprise_info/ 可用 工商背调:统一社会信用代码校验、企业照面数据查询与三要素合规核验
captcha/ 可用 人机验证核验:极验 Geetest v4 / 阿里云验证码 2.0 / 腾讯天御验证码

☁️ 通讯、消息与企业协作

模块 状态 功能简介
sms/ 可用 多云短信中台:阿里云 ACS3 签名 + 腾讯云 TC3 签名单发与模版消息
mail/ 可用 邮件投递服务:RFC 5322 富文本与附件、Resend 与阿里云 DirectMail
push/ 可用 统一移动推送:极光 JPush / 个推 Getui / Google FCM HTTP v1 / APNs
oss/ 可用 阿里云 OSS 对象存储:Put/Get/Delete、V4 签名授权与上传回调验签
wecom/ 可用 企业微信:群机器人 Webhook、应用消息推送、OAuth userid 与外部联系人
wechat_kf/ 可用 微信客服:客服账号/客服链接管理、会话消息收发、事件回调与 sync_msg
wechat_mp/ 可用 微信公众号:行业模版消息下发、AccessToken 托管与关注事件处理
wechat_wxa/ 可用 微信小程序:手机号快速验证、开放数据解密、小程序码生成与发货上报
dingtalk/ 可用 阿里钉钉:机器人加签 Webhook、企业工作通知下发与免登 OAuth
feishu/ 可用 飞书开放平台:自定义机器人 Webhook、应用私聊/群聊 IM 与 OAuth 鉴权
virtual_number/ 可用 隐私号与智能语音:阿里/腾讯云 AXB 隐私绑定、录音提取与 TTS 语音外呼
douyin/ 可用 抖音生活服务:小程序 code2Session 登录、团购券核销与开放平台 Webhook
ad_conversion/ 可用 广告转化回传:巨量引擎 Conversion v2 与腾讯广告 Marketing API v3.0
express/ 可用 物流快递中台:快递 100 轨迹即时查询、地图轨迹解析与异步物流推送订阅

🏥 医疗与健康中台

模块 状态 功能简介
eprescription/ 可用 电子处方中台:规范处方结构、状态机流转、超量配伍校验与监管平台报送
drug_trace/ 可用 药品追溯与器械识别:中国药品追溯码(20位)与 GS1 医疗器械 UDI 离线解析
hl7_v2/ 可用 医院互联协议:MLLP 传输层封装与 HL7 v2.x 管道报文(ADT/ORM/ORU/ACK)
fhir/ 可用 HL7 FHIR R4 标准:Patient/Encounter/Condition/Observation 结构与 Bundle 交换
icd_codes/ 可用 临床疾病编码:ICD-10 / ICD-11 样本字典检索与拼音首字母联想
lab_report/ 可用 检验报告分析:参考区间动态比对、危急值自动拦截告警与多期趋势分析
dicom/ 可用 医学影像解析:DICM 格式头校验、CT/MR/CR 核心元数据提取与 Sequence 防御
medical_ca/ 可用 医疗电子病历存证:医护身份绑定、SHA-256 结构摘要与本地防篡改存证信封
medical_cert/ 可用 医护执业资质:医师/护士资格证编号离线格式校验与资质查验接口
medical_calc/ 可用 临床医学计算:2021 CKD-EPI/MDRD eGFR、CrCl、BMI/BSA、CHA2DS2-VASc 与 MELD
medical_scale/ 可用 临床量表评估:PHQ-9 抑郁危机干预、GAD-7 焦虑、VAS 疼痛与 Morse/Braden 护理

⚙️ 引擎、算法与调度

模块 状态 功能简介
rule_engine/ 可用 规则引擎:分销多级佣金阶梯、营销满减满折促销与 64 位整型安全 AST 求值
delay_queue/ 可用 分布式延迟队列:内存队列 + 原子 Redis Lua 队列(防任务丢失与并发争抢)
snowflake/ 可用 分布式唯一 ID:64 位 Snowflake、NTP 时钟回拨保护与格式化业务单号生成
shortlink/ 可用 营销短链中台:Base62 编解码、Feistel 混淆、HMAC 防篡改签名与渠道归因
ride_dispatch/ 可用 网约出行调度构件:GeoHash 空间分块、动态计价器、行程状态机与轨迹抽稀
table_reserve/ 可用 餐饮桌台预约引擎:时隙冲突判定、状态机与 ReservationStore 原子防超卖
ai_gateway/ 可用 大模型统一网关:OpenAI Chat Completions 协议兼容层与多模型适配
amap/ 可用 地理位置中台:高德/腾讯/百度/Google 地图统一适配与 WGS84/GCJ02/BD09 互转

🛡️ 数据安全、媒体与工具

模块 状态 功能简介
field_crypto/ 可用 敏感数据安全:手机/身份证掩码脱敏、字段级 AES-256-GCM 加密与盲索引
content_security/ 可用 文本内容安全:DFA 高性能敏感词过滤、智能脱敏与微信小程序内容安全审核
esign/ 可用 电子合同中台:e签宝 OpenAPI v3 与腾讯电子签 ESS API 3.0 签署流程
media_watermark/ 可用 媒体版权安全:防录屏动态跑马灯水印生成与阿里/腾讯云 VOD 防盗链签名
xlsx/ 可用 电子表格解析:内存型 OpenXML XLSX 读写与 ReaderLimits 内存放大防御
qrcode/ 可用 二维码生成器:QR 规范矩阵编码、SVG 矢量渲染与纯 Crystal PNG 输出
poster/ 可用 分销裂变海报:轻量 SVG 模板组合引擎、安全图片嵌入与海报生成
pcas/ 可用 中国行政区划:省/市/区/街道编码样本与中文非结构化地址分词解析
pinyin/ 可用 汉字拼音工具:常用汉字多音字拼音转换、首字母提取与声调标注

🚀 快速上手 (Quick Start)

1. 在业务项目的 shard.yml 中按需声明依赖

name: my_crm_service
version: 0.1.0

dependencies:
  core:
    path: ../addons/core
  wechat_pay:
    path: ../addons/wechat_pay
  pbac:
    path: ../addons/pbac
  delay_queue:
    path: ../addons/delay_queue

2. 编写业务逻辑

require "wechat_pay"
require "pbac"
require "delay_queue"

# 1. 权限引擎策略判定
policy = Odo::Pbac::Policy.new(
  name: "order_access",
  effect: Odo::Pbac::Effect::Allow,
  actions: ["orders:refund"],
  resources: ["order:*"]
)
ctx = Odo::Pbac::Context.new(action: "orders:refund", resource: "order:1001")
puts "Permission granted: #{policy.evaluate(ctx).allow?}"

# 2. 延迟任务队列
backend = Odo::DelayQueue::MemoryBackend.new
job = Odo::DelayQueue.push(
  topic: "order_timeout",
  payload: %({"order_id": "ORD-2026-999"}),
  delay: 15.minutes,
  backend: backend
)
puts "Enqueued delay job: #{job.id}"

🛠️ 本地开发与测试

运行全量测试套件(覆盖全部 60 个 Shards + 消费者跨模块集成测试):

# 全量测试门禁
bash test/run.sh

# 运行特定 Shard 测试
cd wechat_pay && crystal spec

# 代码格式化
crystal tool format

📄 许可证与贡献

Repository

Crystal-Addons

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 0
  • about 1 hour ago
  • August 24, 2026
License

GNU Affero General Public License v3.0

Links
Synced at

Mon, 24 Aug 2026 07:20:21 GMT

Languages