setter.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. /** EasyWeb spa v3.1.7 date:2020-02-08 License By http://easyweb.vip */
  2. layui.define(function (exports) {
  3. var $ = layui.jquery;
  4. var setter = {
  5. // baseServer: 'http://manage.gxrrj.cn/api/',
  6. // baseServer: 'http://renrenjie.com/manage/',
  7. // baseServer: 'https://rrj.gxnwsoft.com/manage/',
  8. // baseServer: 'http://127.0.3.10/manage/',
  9. baseServer: 'https://rrc.mp.dongerkj.com/manage/',
  10. // baseServer: 'http://rrjie.gxnwsoft.com/manage/',
  11. mapKey: 'X5IBZ-XFY36-UGFSZ-MP2XB-VCS35-ZNBKZ',
  12. pageTabs: false,
  13. cacheTab: true,
  14. defaultTheme: 'theme-colorful',
  15. openTabCtxMenu: true,
  16. maxTabNum: 20,
  17. viewPath: 'pages',
  18. viewSuffix: '.html',
  19. reqPutToPost: false,
  20. apiNoCache: true,
  21. tableName: 'mniAdmin',
  22. getCache: function (key) {
  23. var cache = layui.data(setter.tableName);
  24. if (key !== undefined) {
  25. return cache[key]
  26. }
  27. return cache
  28. },
  29. setCache: function(key, data){
  30. layui.data(setter.tableName, {key: key, value: data})
  31. },
  32. putCache: function (key, data) {
  33. var cache = this.getCache(key);
  34. this.setCache(key, $.extend({}, cache, data));
  35. },
  36. removeCache: function (key) {
  37. layui.data(setter.tableName, {key: key, remove: true})
  38. },
  39. clearCache: function (key, data) {
  40. layui.data(setter.tableName, null)
  41. },
  42. getToken: function () {
  43. var cache = layui.data(setter.tableName);
  44. if (cache) {
  45. return cache.token
  46. }
  47. },
  48. removeToken: function () {
  49. layui.data(setter.tableName, {key: 'token', remove: true})
  50. },
  51. putToken: function (token) {
  52. layui.data(setter.tableName, {key: 'token', value: token})
  53. },
  54. getUser: function () {
  55. var cache = layui.data(setter.tableName);
  56. if (cache.loginUser) {
  57. return cache.loginUser
  58. }
  59. },
  60. updateUser: function () {
  61. layui.admin.req('person', (res) => {
  62. if (10000 === res.code) {
  63. this.putUser(res.data)
  64. } else {
  65. layui.notice.msg(res.message, {icon: 2})
  66. }
  67. }, 'GET')
  68. },
  69. updateConfig: function () {
  70. layui.admin.req('config', (res) => {
  71. if (10000 === res.code) {
  72. setter.setCache('config', res.data)
  73. } else {
  74. layui.notice.msg(res.message, {icon: 2})
  75. }
  76. }, 'GET')
  77. },
  78. putUser: function (user) {
  79. layui.data(setter.tableName, {key: 'loginUser', value: user})
  80. },
  81. removeUser: function () {
  82. layui.data(setter.tableName, {key: 'loginUser', remove: true})
  83. },
  84. getUserAuths: function () {
  85. var auths = [];
  86. var permissions = this.getUser().permissions;
  87. for (var i = 0; i < permissions.length; i++) {
  88. auths.push(permissions[i].policy + '<' + permissions[i].url + '>')
  89. }
  90. return auths
  91. },
  92. getAjaxHeaders: function (url) {
  93. var headers = [];
  94. var token = this.getToken();
  95. if (token) {
  96. headers.push({name: 'Authorization', value: token})
  97. }
  98. return headers
  99. },
  100. ajaxSuccessBefore: function (res, url, obj) {
  101. if (typeof (res.errcode) != 'undefined') {
  102. console.log('请求异常', res);
  103. if (res.errcode === 30001) {
  104. setter.removeToken();
  105. layui.notice.msg('用户失效,请重新登录!', {icon: 2, timeout: 1500}, function () {
  106. location.reload()
  107. });
  108. return false
  109. }
  110. layui.notice.msg(res.errmsg, {icon: 2, timeout: 1500});
  111. layer.closeAll('loading');
  112. return false
  113. }
  114. return true
  115. },
  116. routerNotFound: function (r) {
  117. layer.alert('路由' + location.hash + '不存在', {
  118. title: '提示',
  119. skin: 'layui-layer-admin',
  120. btn: [],
  121. offset: '30px',
  122. anim: 6,
  123. shadeClose: true
  124. })
  125. },
  126. lists2tree: function (lists, subtitle = 'children', pid = 0) {
  127. let arr = new Array();
  128. layui.jquery.each(lists, (index, item) => {
  129. if (item.parent_id === pid) {
  130. item[subtitle] = this.lists2tree(lists, subtitle, item.id);
  131. arr.push(item)
  132. }
  133. });
  134. return arr
  135. }
  136. };
  137. setter.base_server = setter.baseServer;
  138. exports('setter', setter)
  139. });