const HttpHelper = cc.Class({
extends: cc.Component,
statics: {
},
properties: {
},
httpGet(url, callback) {
cc.myGame.gameUi.onShowLockScreen();
let xhr = cc.loader.getXMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status == 200) {
let respone = xhr.responseText;
let rsp = JSON.parse(respone);
cc.myGame.gameUi.onHideLockScreen();
callback(rsp);
} else if (xhr.readyState === 4 && xhr.status == 401) {
cc.myGame.gameUi.onHideLockScreen();
callback({status:401});
} else {
}
};
xhr.withCredentials = true;
xhr.open('GET', url, true);
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET, POST');
xhr.setRequestHeader('Access-Control-Allow-Headers', 'x-requested-with,content-type,authorization');
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader('Authorization', 'Bearer ' + cc.myGame.gameManager.getToken());
xhr.timeout = 8000;
xhr.send();
},
httpPost(url, params, callback) {
cc.myGame.gameUi.onShowLockScreen();
let xhr = cc.loader.getXMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status == 200) {
let respone = xhr.responseText;
let rsp = JSON.parse(respone);
cc.myGame.gameUi.onHideLockScreen();
callback(rsp);
} else {
callback(-1);
}
};
xhr.open('POST', url, true);
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET, POST');
xhr.setRequestHeader('Access-Control-Allow-Headers', 'x-requested-with,content-type');
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader('Authorization', 'Bearer ' + cc.myGame.gameManager.getToken());
xhr.timeout = 8000;
xhr.send(JSON.stringify(params));
},
httpPostLogin(url, params, callback, account, password) {
cc.myGame.gameUi.onShowLockScreen();
let xhr = cc.loader.getXMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status == 200) {
let respone = xhr.responseText;
let rsp = JSON.parse(respone);
cc.myGame.gameUi.onHideLockScreen();
callback(rsp);
} else {
callback(-1);
}
};
xhr.open('POST', url, true);
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET, POST');
xhr.setRequestHeader('Access-Control-Allow-Headers', 'x-requested-with,content-type');
xhr.setRequestHeader("Content-Type", "application/json");
let str = account + "@" + password;
xhr.setRequestHeader('Authorization', 'Basic' + ' ' + window.btoa(str));
xhr.timeout = 8000;
xhr.send(JSON.stringify(params));
}
});
window.HttpHelper = new HttpHelper();
分享到:
相关推荐
《CocosCreator简易框架详解》 CocosCreator是一款强大的2D游戏开发引擎,以其便捷的可视化编辑和高效的性能深受开发者喜爱。"cocoscreator简易框架"则是基于CocosCreator 2.4.2版本构建的一个简化开发流程的框架,...
在这个"标题"中提到的"Cocos Creator 框架封装大厅与小游戏设计实现demo",我们可以理解为一个示例项目,它展示了如何在Cocos Creator中实现游戏大厅以及小游戏之间的交互和模块化设计。 1. **模块化设计**:在游戏...
- Oops Framework 支持使用 JavaScript 或 TypeScript 进行游戏逻辑编写,两种语言均能充分利用 Cocos Creator 的 API,实现丰富的游戏交互。 - 脚本结构遵循模块化原则,便于代码重用和组织,同时支持事件驱动的...
PureMVC则是一个经典的多层应用程序框架,最初设计用于ActionScript环境,但现在已经有了多种语言版本,包括JavaScript,这使得它在Cocos Creator的JavaScript项目中也能应用。 在Cocos Creator中使用PureMVC,主要...
Cocos Creator内置了基于JavaScript的脚本系统,开发者可以通过编写JS代码来控制游戏的逻辑。JavaScript作为Web开发的主要语言,拥有丰富的库和框架,易于学习且具有高度可扩展性。在Cocos Creator中,JavaScript...
在Cocos2d-x项目中,通常会创建一个自定义的类来封装DWebBrowserEvents2接口。例如,你可以看到文件`UIWebViewImpl-win32.cpp`和`.h`,这是实现WebView内嵌的关键部分。你需要继承自Cocos的`Node`类,并且包含必要...
CocosCreator中的JavaScript模块化采用的是与Node.js类似的CommonJS规范。这意味着每个脚本文件都可以被看作是一个独立的模块,拥有自己的作用域,并且可以通过特定的方式与其他模块进行交互。 ##### 2.1 导入模块 ...
Cocos Creator Framework是一款基于Cocos Creator游戏引擎的轻量级框架,主要针对JavaScript开发,旨在简化游戏开发流程,提高开发效率。Cocos Creator自身已经提供了一套完整的2D和3D游戏开发工具集,而这个框架则...
4. 库与框架:提供了一些预封装的功能库和游戏框架,如物理引擎、UI框架、网络通信库等,便于开发者快速实现特定功能。 三、Cocos Creator的跨平台能力 Cocos Creator支持iOS、Android、Web、Windows、Mac等多个...
NaiveNet应用通信组件2.5+正式版 NaiveNet它是基于NIO网络模型设计完成的网络通信组件,这套... NaiveNet支持微信小程序,微信小游戏,字节跳动小程序,字节跳动小游戏,Cocos Creator等主流小程序平台及游戏开发引擎。
它的API基于Cocos2d-x,但封装为更易于JavaScript开发者使用的接口。例如,你可以使用 `cc` 命名空间下的各种函数来创建、操作游戏对象,如精灵(`cc.Sprite`)、节点(`cc.Node`)和组件(`cc.Component`)。 学习...
"creator-utils"是一个针对Cocos Creator游戏引擎的实用工具集,专门设计用于提升JavaScript开发效率。Cocos Creator是一款强大的2D和2.5D游戏开发工具,它集成了图形编辑器、资源管理、脚本系统以及发布流程,使得...
而在服务器端,如Node.js环境下的JavaScript则负责处理网络通信、游戏状态管理和用户数据存储。 1. **WebSocket技术**:为了实现实时的多人游戏体验,Ludo-Multiplayer项目很可能采用了WebSocket协议。WebSocket是...
微信小游戏通常会使用特定的开发框架,如Cocos Creator或LayaAir,它们简化了HTML5游戏的开发流程,提供了丰富的组件和资源管理工具。这些框架可能封装了与微信平台的接口,方便开发者快速接入微信生态,实现社交...