Admin.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 后台管理切换Cookie事件
  7. */
  8. namespace app\common\event;
  9. use think\facade\Cookie;
  10. use think\facade\Session;
  11. use encrypter\Encrypter;
  12. class Admin{
  13. //管理登录
  14. const session_scope = 'sapixx_com'; //SESSION作用域
  15. const session_name = 'sapixx_system_AklUhS0FTPcT'; //SESSION值
  16. //管理应用
  17. const cookie_miniapp = 'admin_miniapp'; //Cookie名称
  18. const cookie_key = 'admin_miniapp_key_var'; //Cookie名称
  19. /**
  20. * ##########################################
  21. * 判断管理员是否登录
  22. * @access public
  23. * @return boolean
  24. */
  25. public static function getLoginSession(){
  26. if(Session::has(self::session_name,self::session_scope)){
  27. return Session::get(self::session_name,self::session_scope);
  28. }
  29. return false;
  30. }
  31. /**
  32. * 登录后台管理Session
  33. * @access public
  34. */
  35. public static function setLoginSession($param){
  36. $data = [
  37. 'username' => $param['username'],
  38. 'admin_id' => $param['id'],
  39. 'login_time' => time(),
  40. ];
  41. return Session::set(self::session_name,$data,self::session_scope);
  42. }
  43. /**
  44. * 退出后台管理Session
  45. * @access public
  46. */
  47. public static function setlogoutSession(){
  48. return Session::delete(self::session_name,self::session_scope);
  49. }
  50. /**
  51. * 以下是当前管理小程序
  52. * ########################################
  53. * 获取管理应用信息
  54. * @return void
  55. */
  56. public static function getMiniapp(){
  57. if(Cookie::has(self::cookie_miniapp)){
  58. $info = Cookie::get(self::cookie_miniapp);
  59. return json_decode(Encrypter::cpDecode($info,self::cookie_key),true);
  60. }
  61. return false;
  62. }
  63. /**
  64. * 设置管理应用信息
  65. * @access public
  66. */
  67. public static function setMiniapp($miniapp_id){
  68. $data['miniapp_id'] = $miniapp_id;
  69. $key = Encrypter::cpEncode(json_encode($data),self::cookie_key);
  70. return Cookie::set(self::cookie_miniapp,$key);
  71. }
  72. /**
  73. * 清空管理信息
  74. * @access public
  75. */
  76. public static function clearMiniapp(){
  77. return Cookie::delete(self::cookie_miniapp);
  78. }
  79. }