123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /**
- * 用户端点。
- */
- "use strict";
- let ObjectUtil = require('../../util/object.util');
- let ControllerUtil = require('../../util/controller.util');
- let Users = require('../../models/user/users');
- let AppClient = require('../../models/client/app.client');
- 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.post(APIv2.Users.Login, function (req, res) {
- let payload = req.body;
- let testing = ObjectUtil.fieldsCheck(payload, "user_id", "token", "client_id", "platform");
- if (!testing.pass) {
- throw {httpStatus: 406, message: testing.message}
- }
- let users = new Users();
- ControllerUtil.regModelEventHandler(users, res);
-
- users.login(payload.user_id, payload.platform, payload.token, payload.client_id);
- });
- /**
- * 更新客户端状态。
- *
- * 请求URL:
- * /users/:user_id/status
- *
- * POST参数格式:
- * {status: 1}, app状态,0在后台,1在前台
- */
- router.put(APIv2.Users.UserStatus, function (req, res) {
- let userId = req.params.user_id;
- let payload = req.body;
- if (userId === null) {
- throw {httpStatus: 406, message: 'Validation Failed. Missing field(s): user_id.'};
- }
- let appClient = new AppClient();
- ControllerUtil.regModelEventHandler(appClient, res);
- appClient.updateAppStatus(userId, payload.app_in_bg);
- });
- /**
- * 退出。
- *
- * 请求URL:
- * /users/logout?user_id=sand
- *
- * 参数:
- * user_id:用户ID
- */
- router.delete(APIv2.Users.Logout, function (req, res) {
- let userId = req.query.user_id;
- if (!userId) {
- throw {httpStatus: 406, message: 'Logout Failed. Missing field: user_id.'};
- }
- let userStatus = new Users();
- ControllerUtil.regModelEventHandler(userStatus, res);
- userStatus.logout(userId,req.query.platform);
- });
- module.exports = router;
|