users.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. * 用户控制器。
  3. */
  4. var express = require('express');
  5. var router = express.Router();
  6. var user = require("../models/user");
  7. var http = require('http');
  8. var qs = require('querystring');
  9. /**
  10. * 登录:/users/login.im?user_id=x&token=xx&client_id=xxx&platform=0
  11. * 参数:
  12. * user_id:用户ID
  13. * token:个推的token
  14. * client_id:个推的clientid
  15. * platform:平台类型:0为ios,1为android
  16. */
  17. router.get('/login.im', function (req, res, next) {
  18. if (req.query.user_id == null
  19. || req.query.token == null
  20. || req.query.client_id == null
  21. || req.query.platform == null) {
  22. res.send({errno: -1, errmsg: 'parameter error'});
  23. return;
  24. }
  25. user.deleteToken(req.query.token, function (err, result) {
  26. if (err) {
  27. res.send({errno: 1, errmsg: 'delete token error'});
  28. return;
  29. }
  30. user.login(req.query.user_id,
  31. req.query.token,
  32. req.query.client_id,
  33. req.query.platform,
  34. function (err, result) {
  35. if (err) {
  36. res.send({errno: 2, errmsg: 'update users status error'});
  37. return;
  38. }
  39. res.send({errno: 0, errmsg: 'login successful'});
  40. });
  41. });
  42. });
  43. /**
  44. * 登出:/users/logout.im?user_id=x
  45. * 参数:
  46. * user_id:用户ID
  47. */
  48. router.get('/logout.im', function (req, res, next) {
  49. if (req.query.user_id == null) {
  50. res.send({errno: -1, errmsg: 'parameter error'});
  51. return;
  52. }
  53. user.logout(req.query.user_id,
  54. function (err, result) {
  55. if (err) {
  56. res.send({errno: 255, errmsg: 'update users status error'});
  57. return;
  58. }
  59. res.send({errno: 0, errmsg: 'logout successful'});
  60. });
  61. });
  62. /**
  63. * 更新app状态:/users/updatestatus.im?user_id=x&status=1
  64. * 参数:
  65. * user_id:用户ID
  66. * status:App状态,0在后台,1在前台
  67. */
  68. router.get('/updatestatus.im', function (req, res, next) {
  69. if (req.query.user_id == null || (req.query.status != 0 && req.query.status != 1)) {
  70. res.send({errno: -1, errmsg: 'parameter error'});
  71. return;
  72. }
  73. user.updateStatus(req.query.user_id, req.query.status,
  74. function (err, result) {
  75. if (err) {
  76. res.send({errno: 255, errmsg: 'update users status error'});
  77. return;
  78. }
  79. res.send({errno: 0, errmsg: 'update status successful'});
  80. });
  81. });
  82. module.exports = router;