之前我们已经在后台创了数据迁移工具文件了,并且生成了一个数据表,但后面还有很多东西没有做,今天我们继续,废话少说,下面直接开始。
1. (1)打开项目
(2)在后台的模块admin的控制器下新增一个api控制器文件。
(3)控制器也是继承Backend
(4)增加一个登录的方法,暂时写一些固定的数据,看下接口有没有返回数据。
/**
* @AdminAuth(auth=false,menu=false,login=false,title="Index")
*/
public function login(){
return json([
'code' => 0,
'data' => [
'menus' => 'sss',
'nodes' => 'ffff',
],
]);
}
(5)测试了一下,是可以返回数据的。证明接口是没问题。
2. 接下来,我们在小游戏端测试下,看下能不能请求到数据。
(1)打开game.ts脚本。封装一个请求http的函数。
//发送请求
sendHttp(api_url, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', api_url, true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 400) {
var data = JSON.parse(xhr.responseText);
callback(null, data);
} else {
callback('请求失败: ' + xhr.status, null);
}
};
xhr.onerror = function() {
callback('请求错误', null);
};
xhr.send();
}
(2)为什么封装一个原生的呢,因为我用的cocos creator 还是3.6的,官方3.7的文档里建议用的是fetch 方法,但我的3.6版本好像用不了,不知道是版本的问题还是我自己环境的问题,所以暂时用原生的。
(3)在success 里调用请求的接口
let api_url="http://xxxx.xxxx.cn/index.php/admin/api/login"
this.sendHttp(api_url, function(error, data) {
if (error) {
console.error(error);
return;
}
console.log(data);
});
(4)重新构建
(5)在微信开发者工具打开该项目。如果显示域名不在request 合法域名列表中,可以在详情列勾选不校验合法域名。这样就不报错了,但这只是临时的。最终还是要在小游戏开发平台上添加这个域名。
(6)在打印可以看到返回的数据了。
好了,今天就先介绍到这里了。可能写的过程中还有很多不好的地方,希望大家能指出来,在此,谢谢大家