1.0.1 • Published 7 years ago

socket-mock v1.0.1

Weekly downloads
1
License
MIT
Repository
-
Last release
7 years ago

假数据服务

安装

npm install socket-mock -g

配置

具体用法可参考 test目录

// 举例:项目根目录/mock/  存放假数据相关文件
// 配置文件 mock/conf.js
module.exports =  {
	// 默认推送的时间间隔
	interval: 1000,
	// 服务端口
	port: 9096,
	// 【必须】假数据文件目录相对路径(相对于node命令的执行路径)
	pushDir: 'mock/socket'
	//广播假数据路径为$pushDir/broadcast
}

使用

// 全局安装,命令行使用
$ socket-mock -c mock/conf.js
// npm项目中使用
$ npm install socket-mock
// npm scripts
$ npm run mock
// package.json
{
	"scripts": {
		"mock": "socket-mock -c mock/conf.js",
	}
}

数据规则

mock规则文档:http://mockjs.com/

简单示例:

// 响应数据
{
	//'connection'代表服务器接收到的事件
	'connection': {
		//responseName为服务器返回给客户端的事件名称
		responseName: 'serverConnectSuccess',
		//response为服务器返回给客户端的数据
		response: {
			'timestamp':Date.now();
		}
	}
}
// 广播数据
{
	//推送事件
	serverSyncEvent: {
		//推送事件间隔
        interval: 2000,
		//推送开始时间
		startHour: 9,
		//推送结束时间
        endHour: 22,
		//推送数据
        response: function(client) {
            return {
                "result":
                    {
                        "buyPrice": "197.27",
                        "commodityId": "LSPD1g",
                        "highPrice": "197.37",
                        "lowPrice": "195.96",
                        "openMarketPrice": "196.06",
                        "preCloseMarketPrice": "195.16",
                        "preSettlePrice": "195.19",
                        "sellPrice": "197.27",
                        "timestamp": Date.now()
                    }
				}
			}
		}
}
//监听系统开始与退出
//监听规则写在$pushDir/system目录下,目前支持监听system_start,system_exit
'use strict'
module.exports = {
	system_start: function () {
		console.log('system start');
	},
	system_exit: function () {
		console.log('system exit');
	}
};

高级示例:

// response若为函数,则每次请求均会执行。
// 需要对请求编程时可使用,可以自己处理响应
{
	//对于相应数据来说,client为socket对象,data为客户端传过来的数据
	response: function(client, data){

	}
	//对于广播数据来说,client为socket对象
	response: function(client){
		// 私有代码
	}
}