UNPKG

1.65 kBMarkdownView Raw
1# 如何开发控制器
2
3## 控制器的组织结构
4
5在 app/control 目录下存放所有用户级控制器, **按照节点类型分类**,目前包括两个类别:
6- CoreOfIndex: 门户服务器专用控制器
7- CoreOfLogic: 逻辑服务器专用控制器
8
9每个控制器都包含一个单独的类,这些类都是 facade.Control 的子类。
10控制器类名和文件名保持一致
11
12## 控制器的外部接口
13
14控制器外部接口名称的组织方式为 `${className}.${funcName}`,例如,test.js 包含 test 类,其 notify 成员方法的外部接口是 'test.notify', 调用方法如下所示:
15
16```js
17//引入工具包
18let {gameconn} = require('gamegoldtoolkit');
19
20//创建连接器对象
21let remote = new gameconn(
22 gameconn.CommMode.ws, //使用 WebSocket 连接方式
23 {
24 "UrlHead": "http", //协议选择: http/https
25 "webserver": {
26 "host": "127.0.0.1", //远程主机地址
27 "port": 9901 //远程主机端口
28 },
29 "auth": {
30 "openid": "18681223392", //用户标识
31 "openkey": "18681223392", //和用户标识关联的用户令牌
32 "domain": "tx.IOS", //用户所在的域,tx是提供登录验证服务的厂商类别,IOS是该厂商下的服务器组别
33 }
34 }
35)
36.setFetch(require('node-fetch')); //设置node服务端环境下的fetch函数,只在node服务端环境中执行,浏览器环境自带fetch函数
37
38remote.fetching({func: "test.notify", msg: 'helloworld'}, msg => {
39 console.log(msg);
40});
41```