# 授权码与部署

在创建产品前设置授权码，按产品线和实际部署环境检查结果。

先根据[免费评估与社区授权](/classic/free)或[付费使用](/classic/commercial)确认使用范围。授权码设置不等于取得所有包，也不能替代授权协议。

## 设置与检查

在浏览器创建 Classic 前，通过 `@quirekit/license` 设置应用取得的授权码。同一页面的商业组件共享该状态；替换授权码后已挂载的许可提示会重新检查。

### recipes/license.ts

```ts
import { checkQuireKitLicense, setQuireKitLicense, type QuireKitLicenseCheck } from "@quirekit/license";

/**
 * Configures the page's issued key before creating Classic and checks its Standard product line.
 * @param key - Key supplied by the deployment, or null for evaluation.
 * @returns The public check result for host feedback; product components own their notices.
 */
export async function configureClassicLicense(key: string | null): Promise<QuireKitLicenseCheck> {
  setQuireKitLicense(key);
  return checkQuireKitLicense("classic");
}

```

此例检查 `classic` 标准产品线。启用专业版或导出时，按需检查 `classic-pro`、`export`；签发的覆盖关系由许可运行时处理。接入页提供的 `licenseKey` 是宿主示例属性，不是 `createClassicEditor()` 的顶层配置。

## 结果含义

| `status` | 含义 | 宿主处理 |
| --- | --- | --- |
| `licensed` | 当前环境下校验通过 | 继续使用已安装的产品能力 |
| `evaluation` | 未设置授权码 | 产品组件按规则显示评估提示 |
| `invalid` | 授权码不适用或校验失败 | 查看 `reason`，核对产品、域名和版本 |

常见原因包括 `product`（产品线不覆盖）、`domain`（域名不符）、`updates-expired`（运行版本超出升级范围），以及签名、格式或吊销检查。校验失败会恢复评估提示，不删除正文或阻断编辑；使用权仍须符合实际许可。

## 部署环境

授权码离线验签，不需要联网激活。应用使用签发的授权码，签发私钥不进入客户端。

当前本地开发豁免仅适用于带显式端口的 HTTP(S) 本地主机或开发域名。本站 `127.0.0.1:3220` 不显示评估提示，不能据此证明生产授权已配置。桌面、移动端打包应用与无界面的生产任务不能通过开发域名替代生产授权。

上线前，在实际域名核对已安装的产品线、授权码覆盖范围与版本；同时验证编辑、只读、JSON 保存和所需文件导出。本站 Nuxt 宿主通过 `NUXT_PUBLIC_QUIREKIT_LICENSE_KEY` 提供授权码；普通 Vue 工程使用相同的公开 SDK，无需 Nuxt。
