"use strict"; let express = require('express'); let router = express.Router(); let request = require('request'); let http = require('http'); const APIv2 = require('../../include/endpoints').APIv2; const MODEL_EVENTS = require('../../include/commons').MODEL_EVENTS; let configFile = require('../../include/commons').CONFIG_FILE; let config = require('../../resources/config/' + configFile); let ImDb = require('../../repository/mysql/db/im.db'); let log = require('../../util/log.js'); /** * 获取应用角标数。 * * TODO: 角标数字为所有消息的总和 * * /application/badge_no?user_id=sand * * 参数: * uid:用户id */ router.get(APIv2.Application.BadgeNo, function (req, respone) { let userId = req.query.user_id; ImDb.execQuery({ "sql": "SELECT imei,token from wlyy.wlyy_token WHERE user=?", "args": [userId], "handler": function (err, result) { if (err || result.length == 0) { handler(null, 0); return; } var options = { hostname: config.wlyyServerConfig.host, port: config.wlyyServerConfig.port, path: '/wlyy/doctor/message/messages', method: 'POST', headers: { 'userAgent': '{"token":"' + result[0].token + '","uid":"' + userId + '","imei":"' + result[0].imei + '"}' } }; var req = http.request(options, function (res) { res.setEncoding('utf8'); log.info('请求家庭医生平台: http://', options.hostname + ":" + options.port + options.path); res.on('data', function (chunk) { log.info('家庭医生平台返回: ', chunk); var count = 0; if(chunk.status==200){ let data =JSON.parse(chunk).data; count = JSON.parse(data.imMsgCount).count+data.system.amount+data.healthIndex.amount+data.sign.amount; } respone.status(200).send({"count":count}); }); }); req.on('error', function (e) { log.error('家庭医生平台接口调用出错: ', e.message); handler(e, null); }); req.end(); } }); }); module.exports = router;