123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /**
- * Created by Sand on 2016/11/14.
- */
- "use strict";
- var express = require("express");
- var router = express.Router();
- var APIv1 = require('../include/endpoints').APIv1;
- var groupRepo = require('../repository/group.repo.js');
- /**
- * 获取成员头像。每个组最多返回5个成员的头像。
- *
- * 请求URL:
- * /groups/member/avatars?groups=433,10,63
- */
- router.get(APIv1.Groups.MembersAvatar, function (req, res) {
- var groups = req.query.groups;
- if (!groups) {
- throw {httpStatus: 406, message: "Missing field: groups"};
- }
- var tokens = groups.split(",");
- groups = "'" + tokens.join("', '") + "'";
- var avatars = [];
- groupRepo.getMembersAvatar(groups, function (err, members) {
- if(err){
- console.log("Get group member's avatar list failed: ", err);
- res.status(500).send({message: "Get group member's avatar list failed."});
- return;
- }
- var lastGroup;
- var lastGroupCode = '';
- for (var i = 0; i < members.length; ++i) {
- var member = members[i];
- var groupCode = member.g_code;
- if (lastGroupCode !== groupCode) {
- lastGroupCode = groupCode;
- lastGroup = {groupCode: groupCode, avatars: []};
- if(lastGroupCode !== ''){
- avatars.push(lastGroup);
- }
- }
- lastGroup.avatars.push({
- code: member.code,
- name: member.name,
- avatar: member.photo === null ? "" : member.photo,
- role: member.type
- });
- }
- res.status(200).send(avatars);
- });
- });
- module.exports = router;
|