用http模块实现:nodejs作为客户端去对接第三方sdk(如发短信、实名认证等)

背景:

不仅仅客户端向我们的游戏服务器请求,有时也需要我们服务器去请求第三方sdk,如:身份证验证等...

这个时候我们可以包装一下,让客户端-->我们的express web服务器-->3rd sdk,这样3rd sdk返回后,我们再通过express将认证结果返回给客户端

1)代码实现

/**
 * 对接第三方sdk api 
 */

var http = require("http");
var util = require("util");
var log = require("../utils/log.js");

/**
 * 功能:向指定的手机发送指定的内容
 * @param phone_num 向哪个手机号码发送验证码
 * @param content   验证码内容
 */
function send_phone_chat(phone_num,  content) {
	var cmd_url = "http://api.cnsms.cn/?ac=send&uid=117000&pwd=9A27BF288337541C87D3EE9FE3A18ACAxxx&mobile=%s&content=%s&encode=utf8";
	content = encodeURI(content);

	var url = util.format(cmd_url, phone_num, content);
	log.info(url);

	http.get(url, function(incoming_msg) {
		log.info("respones status " + incoming_msg.statusCode);
		incoming_msg.on("data", function(data) {
			if (incoming_msg.statusCode === 200) {
				log.info(data.toString());
			}
			else {

			}
		});
	})
}

/**
 * 向手机号发送code的验证码
 * @param phone_num
 * @param code
 */
function send_indentify_code(phone_num, code) {
	var content = "你通过手机号码注册<<鱼乐圈>>账号,验证码为%s,如果不是本人操作,可以不用理会。";
	content = util.format(content, code);
	send_phone_chat(phone_num, content);
}

module.exports = {
	send_indentify_code: send_indentify_code,
};

注意:

nodejs的util模块已经具备了字符串格式化功能。

你可能感兴趣的:(用http模块实现:nodejs作为客户端去对接第三方sdk(如发短信、实名认证等))