# CPS组件API开发接入文档(Alpha)
# 1.组件概览
CPS组件需未来基础库版本支持,基于 PageManager 能力。 CPS组件分为「单游戏组件、多游戏组件、游戏橱窗」三种,mp端配置后均可使用API创建。
从左往右依次是「单游戏组件、多游戏组件、游戏橱窗」
CPS组件query:Object
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
Object.id | string | 是 | 必选,填入mp端配置的组件ID |
Object.left | number | 否 | 可选,组件左上角屏幕横坐标 单游戏组件/多游戏组件时有效 不填时平台将自动适应游戏类型并展示 |
Object.top | number | 否 | 可选,组件左上角屏幕纵坐标 单游戏组件/多游戏组件时有效 不填时平台将自动适应游戏类型并展示 |
Object.isVertical | boolean | 否 | 可选,当为「多游戏组件」时,可以选择「水平展示/竖直展示」,默认为false |
Object.query | object | 否 | 可选,打开CPS游戏时传入的启动query参数 |
# 2.开发接入实现
# ● 获取PageManager实例
const pageManager = wx.createPageManager();
# ● 预加载
pageManager.load({
openlink: 'openlinkxxxx', // CPS推荐组件OPENLINK常量,暂未配置,仅为示例
query:{
id: 'xxxx' // mp端配置的组件id,必填,在mp申请
//组件的位置,选填,不填时系统自动适应
left: 0, // 组件左上角屏幕横坐标,单游戏组件/多游戏组件时有效,
top: 100, // 组件左上角屏幕纵坐标,单游戏组件/多游戏组件时有效
isVertical:false, // 可选,多游戏组件时有效,默认为false。
}
});
# ● 展示(若未进行预加载会首先进行预加载)
// 已进行预加载
pageManager.show();
// 未进行预加载
pageManager.show({
openlink: 'openlinkxxxx', // CPS推荐组件OPENLINK常量,暂未配置,仅为示例
query:{
id: 'idxxxx' // mp端配置的组件id,必填,在 mp 申请
//组件的位置,选填,不填时系统自动适应
left: 0, // 组件左上角屏幕横坐标,单游戏组件/多游戏组件时有效,
top: 100, // 组件左上角屏幕纵坐标,单游戏组件/多游戏组件时有效
isVertical:false, // 可选,多游戏组件时有效,默认为false。
}
});
# ● 销毁
pageManager.destroy();
# ● 监听事件
pageManager.on(
'show', // show | destroy | error| click
() => {
console.log('cps recommend component show.');
},
)
pageManager.on(
'click', // show | destroy | error| click
(res) => {
console.log('cps recommend component click:', res.targetAppName);
},
)
# 3.pageManager.on 监听事件回调
回调类型 | 回调时机 | 返回 |
---|---|---|
show | 用户侧展示组件时触发 | - |
destroy | 用户关闭组件时触发 | - |
click | 用户点击组件中的CPS游戏时触发 | Object |
error | 组件发生错误时触发 | Object |
click callback回调返回:
参数名 | 类型 | 说明 |
---|---|---|
Object.targetAppName | string | 表示玩家点击的CPS游戏的名称 |
error callback 回调返回:
参数名 | 类型 | 说明 |
---|---|---|
Object.errCode | number | 错误码 |
Object.errMsg | string | 调用时返回的错误消息 ● 没有与当前主体一致的服务商 |