session.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. 'use strict';
  2. var Session = {
  3. set:function(key,value,sessionid){
  4. if(!key || !value) return null;
  5. let sessionData;
  6. if(sessionid){
  7. try{
  8. sessionData = JSON.parse(FILE.readFileSync(Core.Path.Session + '/' + sessionid,'UTF-8'));
  9. }catch(e){
  10. sessionid = '';
  11. }
  12. }
  13. if(!sessionid){
  14. sessionid = MD5(new Date().getTime()+''+Math.floor(Math.random()*9000+1000));
  15. sessionData = {id:sessionid,expire:(new Date().getTime()+Config.SessionExpire*60000)};
  16. }
  17. sessionData[key]=value;
  18. FILE.writeFileSync(Core.Path.Session + '/' + sessionid,JSON.stringify(sessionData),'UTF-8');
  19. return sessionid;
  20. },
  21. get:function(sessionid,key){
  22. if(!sessionid) return null;
  23. let sessionData;
  24. try{
  25. sessionData = JSON.parse(FILE.readFileSync(Core.Path.Session + '/' + sessionid,'UTF-8'));
  26. if(sessionData.expire < new Date().getTime()){
  27. sessionData = null;
  28. Session.clear(sessionid);
  29. }
  30. }catch(e){
  31. sessionData = null;
  32. }
  33. if(key && sessionData){
  34. if(sessionData[key]!=undefined){
  35. return sessionData[key];
  36. }else{
  37. return null;
  38. }
  39. }
  40. return sessionData;
  41. },
  42. clear:function(sessionid){
  43. if(!sessionid) return;
  44. try{
  45. FILE.rmdirSync(Core.Path.Session + '/' + sessionid);
  46. }catch(e){}
  47. }
  48. };
  49. module.exports = Session;
  50. var FileManager = {
  51. }
  52. var Session = {
  53. }