@betorigami/game-ui-shared (英语)
Lit 组件,控制器,翻译,有线类型和由每个Origami游戏UI共享的游戏模块注册. 已经搬出 @betorigami/games,它现在持有主机元素,游戏文件夹及其模块的注册.
消费
lit, (中文(简体) ), @lit/context 财务报告和审定财务报表 big.js 是同伴的依赖关系,以便每个副本都由主机捆绑。 导入包会记录每个共享自定义元素 .
import { GameComponent, RequiredContext, localeContext, getTranslation } from '@betorigami/game-ui-shared';
元素读取游戏上下文 RequiredContext,每片需要一张localeContext, (中文(简体) ), sessionContext, (中文(简体) ), limitsContext, (中文(简体) ), servicesContext, (中文(简体) ), skinContext, (中文(简体) ), preferencesContext, (中文(简体) ), layoutContext, (中文(简体) ), walletContext),全部由 <origami-game-provider-wrapper>在包装器外看片子 桌面和移动样式进入 ${desktopContainerQuery} { … } 财务报告和审定财务报表 ${mobileContainerQuery} { … } 块,在基础规则之后,它们会超越 game-layout 包装器提供的容器。 测试给元素切片 provideTestContexts 并用 updateTestContexts。 。 。 .
游戏通过一个 GameUiModule数字 :
import { registerGameUiModule, type GameUiModule } from '@betorigami/game-ui-shared';
registerGameUiModule(myGameUiModule);
共享组件仅通过此注册到达游戏: 提供者包装器制作 renderGame(),信息模式读取 gameInfo 财务报告和审定财务报表 maxMultiplier,注结果模式的用途 extractOutcome, (中文(简体) ), renderOutcome, (中文(简体) ), renderBetDetails 财务报告和审定财务报表 verifierInputs,并使用 verifierQuery。 。 。 .
游戏通过模块增强而不是编辑此套件来添加其线性类型:
declare module '@betorigami/game-ui-shared' {
interface GameActionData {
MY_GAME?: MyGameStartAction | EndAction;
}
}
软件包不读取环境变量 。 一个主机需要不同的 证明公正的核查员电话 setVerifierBaseUrl 启动时使用该 URL; 不将内置默认值留在原位的主机 .
API 客户端
ProviderApi 是提供者- api 的客户端, 用 嘿,亚庇 从提供者- api 的 OpenAPI spec. 在呼叫者看到之前,每个答复都与Zod/mini的谱对照.
import { ProviderApi } from '@betorigami/game-ui-shared';
const client = ProviderApi.createProviderApiClient({ baseUrl, authToken });
const { data, error } = await ProviderApi.postGamesDicePlay({ client, body });
createProviderApiClient 添加认证符号, 新的 X-Origami-Trace 页:1 REQUEST_TIMEOUT_MS 每个请求都暂停. data 是在请求成功时设定的,而答复则与规格相匹配。 否则 error 保存错误的正文, 该正文 resolveApiErrorCode 变成一个 ErrorCode。不匹配光谱投出的反应。 在此包中,导入自 src/shared/provider-api/provider-api-client 换句话说.
要在提供者 - api 的端点改变后再生成它 :
- 从后端雷波本地启动提供者- api
ENABLE_OPENAPI_DOCS=true,其默认值.env.template。它服务于http://localhost:3000/openapi.json。 。 。 . - 运行
pnpm run generate:provider-api本包中. - 在
src/shared/provider-api/generated/。 。 。 .
设置,包括被排除在外的设置 /internal/* 路径,在 openapi-ts.config.ts。不要用手编辑生成的文件.
接线
@betorigami/game-calculations 提供游戏中尚未取出的内容。 一个主机必须把它和这个软件包的同版本钉上,或者两个版本的引擎会最终被一个捆绑和enum身份破解.