# 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 调用时返回的错误消息
● 没有与当前主体一致的服务商
点击咨询小助手