Formulix 文档← 返回网站
参考 / Formulix 0.1.0

API 参考

预览、插入确认和元素周期表端点。请求中的标识符保持原样,不要翻译。

认证与 Origin

所有 /v1/* 路由均需 X-Formulix-Chave。密钥须有效,Origin 主机名须属于账户域名(含子域名)。Origin 由浏览器提供,不要在 JavaScript 中手动设置。OPTIONS 允许已登记或开发环境 Origin、GET/POST 和 Content-Type/X-Formulix-Chave;实际请求仍会核对密钥所属账户的域名。

响应使用 Vary: Origin 与 Cache-Control: no-store,回显获准 Origin,不使用通配符。拒绝可能只显示为浏览器 CORS 错误。密钥为公开用途,不是管理凭据;浏览器外可伪造 Origin。撤销密钥和域名变更通常约5秒后生效。

设置运营方提供的 HTTPS API 地址和账户公开密钥,在控制台登记编辑器域名;其子域名也受覆盖。https://api.formulix.example 和 YOUR_PUBLIC_KEY 均为占位示例,不是真实服务地址或密钥。

POST /v1/calc — 预览

JSON 为 { op, dados, idioma, notacao }。op 选择运算,dados 提供参数。默认语言 en;notacao 可选,例如 {"decimal":"."}。响应随运算返回 HTML、LaTeX、SVG 或辅助数据。成功请求记录1次预览、0次插入。

const response = await fetch('https://api.formulix.example/v1/calc', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-Formulix-Chave': 'YOUR_PUBLIC_KEY'
  },
  body: JSON.stringify({
    op: 'word', dados: { html: '<p>不含公式的文本</p>' },
    idioma: 'zh-Hans'
  })
});
const result = await response.json();
if (!response.ok) throw new Error(result.erro);
// { eqs: [] }

支持的运算标识符:divisao, multiplicacao, adicao, subtracao, ruffini, mmc, fatoracao, fracoes, regra3, eq1, eq2, sistema, tabela, estudo, grafico, qeq, qmassa, qdist, qvid, qtit, qpaul, qorg, qcad, qtab, word。dados 字段随运算不同,没有统一参数模式;请用适配器构建请求。

POST /v1/inserir — 确认

请求包含 tipo、下列数据,可选 idioma/notacao。响应为 JSON,没有统一外层结构,使用与预览相同的请求头。

tipo输入输出与计数
formulalatex;bloco 可选{ html } 含 MathML;LaTeX 非空,最多20,000字符;1次插入。
wordhtml;rtf 可选{ html };每个转换公式计1次,无公式为0。
grafico图像运算的 dados{ svg, w, h, funcoes, alt };1次。
conta / quimicaop 和 dados;支持的 op,但不含 grafico/word按运算返回 { html }、{ bloco: true, html } 或 { svg, w, h, alt };1次。
{"tipo":"formula","latex":"x^2","bloco":false,"idioma":"zh-Hans"}

成功示例:{"html":"<math ...>...</math>"}。客户端把 SVG 转为 PNG 并上传到教学平台。计算 API 不保存图片。每个受理的确认(包括重新编辑)都会计数,没有基于标识符的幂等机制;若首次结果不明,避免自动重试确认。

GET /v1/tabela?idioma=zh-Hans

返回周期表元素数组 { z, s, nome, pos, cor }。虽是公开数据,仍要求有效密钥和 Origin。不计插入或预览,但受每分钟请求限制。默认语言为英语。

限制

错误

应用错误使用 {"erro":"message"};运算校验消息可能本地化。

HTTP文档
400 Invalid JSON.JSON 无效或请求体不是对象
401 Invalid key.密钥缺失、无效或撤销
402 Monthly insertion limit reached.套餐或开发月额度已满
403 Origin not allowed for this key.此密钥不允许该 Origin;预检可能无响应体
404 Unknown route. / Unknown operation.未知路由或运算
413 Request too large.请求体过大
422输入无效,查看 erro
429 Rate limit reached.每分钟请求超限
500 Internal error.内部错误

/saude 无需认证并返回 {"ok":true},但不能据此证明某个密钥可访问服务。

简体中文界面使用 zh-Hans。Formulix 默认用小数点“.”、sin/tan、坐标 (2.5, -0.25)、根 x₁/x₂ 和长除法。“列竖式”支持加、减、乘、除。可按小学的进位退位、初中的一元二次方程与二元一次方程组、高中的函数和摩尔质量安排例题;并不承诺符合某一教材或课标。长除法排版请先与本校的竖式习惯核对。该 locale 尚未覆盖全部文本,部分界面和错误可能以英语显示。