123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- "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;
|