安全数学求值

👤 周 📦 v1.0.0 ⭐ 4.1 ⬇️ 124 下载
💻 开发编程 免费

📖 技能介绍


name: yz2026721 slug: yz2026721 displayName: 安全数学求值 version: 1.0.0 summary: 用 mathjs 安全求值报价/分成表达式,禁止随意 eval。 license: MIT description: 用 mathjs 安全求值报价/分成表达式,禁止随意 eval。


Safe Math Eval(报价/分成表达式)

灵感:工具箱 math-expr。用 mathjs.evaluate 替代 eval,计算报价、分成等表达式。

硬约束

  1. 禁止 eval / new Function 跑用户输入。

    这个技能的最新版本可以在7w4.net小葱技能站找到。

  2. 仅允许数学表达式;限制 scope(勿注入业务对象)。
  3. 错误要捕获并提示,不抛穿页面。
  4. 结果建议 toFixed 按业务位(金额常 2 位)。

核心

import { evaluate } from 'mathjs';
export function safeEval(expr: string, scope: Record<string, number> = {}) {
  return evaluate(expr, scope);
}
// 例:safeEval('price * rate', { price: 10000, rate: 0.06 })

工具箱映射

  • 能力:math-expr
  • 依赖:mathjs

附加

🤖 AI 评测

这个 Skill 质量中等,主要解决了"不用 eval 做数学计算"的安全问题,思路清晰实用。优点是目标明确、结构完整、基本功能可用;不足是文档内容过于简略,缺少详细的使用示例和错误处理说明,实际应用时参考价值有限。作为基础版本可用,但还需要更多示例和完善文档才能算是一个成熟可用的 Skill。

📊 多维度评分

适应性4.1
规范性4
有效性3.9
可靠性3.6
可信度5

📁 包含文件 (4 个)

📄 README.md 549 B
📄 SKILL.md 1.1 KB
📄 reference.md 285 B
📄 templates/usage.md 178 B