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

    xiaoxiao2022-07-05  197

    背景:

    不仅仅客户端向我们的游戏服务器请求,有时也需要我们服务器去请求第三方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模块已经具备了字符串格式化功能。

    最新回复(0)