CS2VIEW开发者文档
查看 Markdown

JS SDK 参考

初始化配置

字段必填说明
container是DOM 元素或 CSS 选择器,需有明确高度
item是检视三档只接受 {inspect:string};editor 另可接受 {query:string}
tier是inspect / first_person / third_person / editor
getGrant是异步回调,调用厂商后端获取短期凭证
embedUrl否默认 https://www.cs2view.com/embed;本地只允许 loopback HTTP
title否iframe 的无障碍名称
timeoutMs否握手超时,默认 20000;不是下载超时

getGrant 收到 openId、item、tier、parentOrigin 与 AbortSignal。取消后不要继续返回旧凭证。SDK 核验 iframe 来源、窗口身份、消息版本和 channel。

方法

方法行为
on(event, listener)注册事件,返回取消订阅函数
load(item, tier?)创建一次新的收费访问,切换物品;即使参数相同也算新访问
retry()重试当前访问的凭证申请或渲染,不自动创建新收费访问
setView(view)切换已授权视角;未授权档位会抛错
pause()暂停渲染;访问无固定时长限制
resume()恢复;不创建新访问
destroy()返回 Promise,通知关闭会话并移除 iframe,重复调用安全

iframe 重载会产生新的 openId 并重新申请进入。普通框架重渲染时请保留同一个实例。组件销毁时调用 destroy;切换物品时明确调用 load。

事件

事件数据含义
readyopenId查看器已准备握手,尚未扣费
authorizedvisitId、tier、expiresAt本次进入已获准,已产生计费用量;expiresAt 固定为 null
progresspercent、label加载进度;percent 可为空
loadedvisitId当前物品已经显示
errorcode、message申请、加载或运行错误
expiredcode、message访问被关闭或撤销,需要用户重新进入;不表示计时到期
viewview视角改变

隐藏标签页或离开可视区域时 SDK 自动暂停,手动 pause 的状态优先。暂停不会免除已经产生的费用,没有会话倒计时。

物品输入

js
// 仅独立编辑器(tier:'editor')可使用参数。
{query:'skin=skin%3A7%3A1171&wear=0.1&seed=50&scene=warehouse'}

// 三个检视档只能使用包含物品数据的 Steam 检视链接(编辑器也接受)。
{inspect:'steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20<hex>'}

// 也可提供对应的纯十六进制检视数据。
{inspect:'<hex>'}

仅 editor 的 query 支持物品、wear/seed、StatTrak、贴纸、挂件、探员、手套、场景和已授权视角等现有参数。旧的 S/A/D 或 M/A/D 链接不属于本版凭证输入范围。只读检视内不能改武器、手套、探员、印花、挂件或其参数;由厂商调用 load 传入新链接才能开启另一访问。嵌入页不显示 QQ 群、联系我们和 ICP。渲染器自身对不支持的物品属性仍可报错;通过凭证校验不等于游戏像素验收。