import { get } from "http"; export type CloudReturnType = { code: number,// 200成功 msg?:string, data?:T } export class WxCloudApi{ /** * @en init the cloud * @zh 初始化云客户端(只调用一次即可) * @param {string} env 云环境名称 */ public static init(env:string){ wx?.cloud.init({ env: env }); } /** * @en Login to the cloud * @zh 登录云 * @return 返回结果 * 参考: * result.result = { * code: number, // 200成功,其他都是失败 * msg: string, // 如果失败,这里是失败原因等信息 * data: { // 成功才有 * openid: string, // 用户微信平台openid * regist_time: number, // 时间戳,用户注册时间 * game_data: object, // 开发者自己保存的数据 * } * } * 如果这个泛型令你报错(一般是因为你删了wx.api.d.ts导致),请使用以下签名: * login():Promise<{result: CloudReturnType<{openid: string, regist_time: number, game_data: object}>}> * 或者你是个“不拘小节”的老哥,可以用以下简洁版签名(参考上方的数据结构例子使用即可) * login():Promise */ public static async login(): Promise>>{ return await wx?.cloud.callFunction({ name: 'cocos_cloud', data: { cmd: "login" } }); } /** * @en Save game data to the cloud * @zh 把客户端数据写入云,此为全覆盖写入,请自行管理完整数据 * @return 返回结果 * 参考: * result.result = { * code: number, // 200成功,其他都是失败 * msg: string, // 如果失败,这里是失败原因等信息 * data: { * errMsg: "document.update:ok", // 数据库返回结果 * stats: { * updated: number, // 更新了几条数据(正常是1) * } * } * 如果这个泛型令你报错(一般是因为你删了wx.api.d.ts导致),请使用以下签名: * save(gameData: any): Promise<{resoult:CloudReturnType}> * 或者你是个“不拘小节”的老哥,可以用以下简洁版签名(参考上方的数据结构例子使用即可) * login():Promise */ public static async save(gameData: any): Promise>> { return await wx?.cloud.callFunction({ name: 'cocos_cloud', data: { cmd: 'save', data: gameData } }); } public static async get(): Promise>> { return await wx?.cloud.callFunction({ name: 'cocos_cloud', data: { cmd: 'get', } }); } }