123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- /**
- * 用户端点。
- */
- "use strict";
- let ObjectUtil = require('../../util/object.util');
- let ControllerUtil = require('../../util/controller.util');
- let Users = require('../../models/user/users');
- let express = require('express');
- let router = express.Router();
- let http = require('http');
- let configFile = require('../../include/commons').CONFIG_FILE;
- let config = require('../../resources/config/' + configFile);
- let log = require("../../util/log.js");
- const APIv2 = require('../../include/endpoints').APIv2;
- /**
- * 登录。用户登录后,更新数据库中的在线状态。
- *
- * 请求URL:
- * /users/login?user_id=sand&token=0PFWlKmLBN9YzhCfFWVgYA&client_id=H6FYbDejks6VjMmW3uH7V6&platform=0
- *
- * 返回值:
- * 登录后的token.
- *
- * 参数说明:
- * user_id:用户ID
- * token:个推的token
- * client_id:个推的client id
- * platform:平台类型,0为iOS,1为Android
- */
- router.get(APIv2.Users.Login, function (req, res) {
- let userId = req.query.user_id;
- let token = req.query.token;
- let clientId = req.query.client_id;
- let platform = req.query.platform;
- if (userId == null) {
- throw {httpStatus: 406, message: 'Missing field: user_id.'};
- }
- if (token == null) {
- throw {httpStatus: 406, message: 'Missing field: token.'};
- }
- if (clientId == null) {
- throw {httpStatus: 406, message: 'Missing field: client_id.'};
- }
- if (platform == null) {
- throw {httpStatus: 406, message: 'Missing field: platform.'};
- }
- let users = new Users();
- ControllerUtil.regModelEventHandler(users, res);
- users.login(userId, platform, token, clientId);
- });
- /**
- * 退出。
- *
- * 请求URL:
- * /users/logout?user_id=sand
- *
- * 参数:
- * user_id:用户ID
- */
- router.get(APIv2.Users.Logout, function (req, res) {
- let userId = req.query.user_id;
- if (userId == null) {
- throw {httpStatus: 406, message: 'Logout Failed. Missing field: user_id.'};
- }
- let userStatus = new Users();
- ControllerUtil.regModelEventHandler(userStatus, res);
- userStatus.logout(userId);
- });
- /**
- * 更新客户端状态。
- *
- * 请求URL:
- * /users/:user_id/status
- *
- * POST参数格式:
- * {status: 1}, app状态,0在后台,1在前台
- */
- router.post(APIv2.Users.UserStatus, function (req, res) {
- let userId = req.param('user_id');
- let status = req.body;
- if (!ObjectUtil.isJsonObject(status)) {
- throw {httpStatus: 406, message: "Problems parsing json."};
- }
- if (userId === null || (status.status != 0 && status.status != 1)) {
- throw {httpStatus: 406, message: 'Validation Failed. Missing fields.'};
- }
- let userStatus = new Users();
- ControllerUtil.regModelEventHandler(userStatus, res);
- userStatus.updateStatus(userId, status.status);
- });
- module.exports = router;
|