sa-code.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. // 在使用时,不建议你直接魔改模板的代码,以免在运行时出现意外bug,而是在本文件中根据模板的提供的API,来适应你的业务逻辑
  2. // sa-plus 快速开发平台: http://sa-plus.dev33.cn
  3. // ....
  4. // ================================= 示例:一些基本信息 =================================
  5. // 设置模板标题
  6. // sa_admin.title = "Sa-Admin";
  7. // sa_admin.logo = 'sa-frame/admin-logo.png'; // 设置logo图标地址
  8. // sa_admin.icon = 'sa-frame/admin-logo.png'; // 设置icon图标地址
  9. // ================================= 用户信息 和 菜单 =================================
  10. sa.ajax('/AccAdmin/getLoginInfo', function(res) {
  11. console.log(res)
  12. // 验证权限
  13. if(!(res.data.admin && res.data.perList.indexOf('in-system') > -1)) {
  14. sa.$sys.setCurrUser(res.data.admin);
  15. return sa.alert('当前账号暂无进入后台权限');
  16. }
  17. // 配置
  18. sa_admin.title = "智慧防疫后台";
  19. sa_admin.logo = 'sa-frame/admin-logo.png'; // 设置logo图标地址
  20. sa_admin.icon = "sa-frame/admin-logo.png"; // 设置logo图标地址
  21. // 当前用户信息
  22. sa_admin.user = {
  23. username: res.data.admin.name,
  24. avatar: res.data.admin.avatar || 'sa-frame/admin-logo.png' // 使用logo作为头像
  25. // avatar: res.data.admin.avatar // 此写法为账号头像
  26. };
  27. sa.$sys.setCurrUser(res.data.admin);
  28. // 所有菜单
  29. // var myMenuList = window.menuList; // window.menuList 在 menu-list.js 中定义
  30. sa_admin.initMenu(res.data.perList); // 初始化菜单
  31. sa.setAuth(res.data.perList); // 当前用户权限码集合
  32. // 配置信息
  33. sa.$sys.setAppCfg(res.appCfg);
  34. // 初始化模板(必须调用)
  35. sa_admin.init();
  36. }.bind(this), {msg: '正在加载登录信息', login_url: 'login.html'});
  37. // ================================= 示例:设置登录后的头像处,下拉可以出现的选项 =================================
  38. sa_admin.dropList = [ // 头像点击处可操作的选项
  39. {
  40. name: '我的资料',
  41. click: function() {
  42. sa.showIframe('我的资料', 'sa-view-sp/sp-admin/admin-info.html', '700px', '600px');
  43. }
  44. },
  45. {
  46. name: '修改名称',
  47. click: function () {
  48. layer.prompt({title: '请输入新名称'}, function(pass, index){
  49. layer.close(index);
  50. sa.ajax('/admin/updateInfo', {name: pass}, function(res){
  51. sa_admin.user.username = pass;
  52. sa.ok2('修改成功');
  53. });
  54. });
  55. }
  56. },
  57. {
  58. name: '修改密码',
  59. click: function () {
  60. sa.showIframe('修改密码', 'sa-view-sp/sp-admin/update-password.html', '550px', '350px');
  61. }
  62. },
  63. {
  64. name: '切换账号',
  65. click: function () {
  66. // sa.showIframe('切换账号', 'login.html', '70%', '80%');
  67. sa.$page.openLogin('login.html');
  68. }
  69. },
  70. {
  71. name: '退出登录',
  72. click: function() {
  73. layer.confirm('退出登录?', function() {
  74. sa.ajax('/AccAdmin/doExit', function(res) {
  75. layer.alert('注销成功', function() {
  76. location.href="login.html";
  77. })
  78. })
  79. });
  80. }
  81. }
  82. ]
  83. // 退出模拟登陆的方法
  84. sa_admin.closeRunAs = function() {
  85. layer.confirm('退出模拟登录?', function() {
  86. sa.ajax('/AccAdmin/doExit', function(res) {
  87. sa.ok('退出成功,即将刷新页面');
  88. sessionStorage.removeItem('runAsToken');
  89. setTimeout(function() {
  90. top.location.reload(true);
  91. }, 1000);
  92. })
  93. });
  94. }
  95. // ================================= 示例:js控制打开某个菜单 =================================
  96. // 显示主页选项卡
  97. // sa_admin.showHome();
  98. // 显示一个选项卡, 根据id
  99. // sa_admin.showTabById('1-1');
  100. // 关闭一个选项卡,根据 id
  101. // sa_admin.closeTabById('1-1');
  102. // 新增一个选项卡
  103. // sa_admin.addTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'}); // id不要和已有的菜单id冲突,其它属性均可参照菜单项
  104. // 新增一个选项卡、并立即显示
  105. // sa_admin.showTab({id: 12345, name: '新页面', url: 'http://web.yanzhi21.com'}); // 参数同上
  106. // 打开一个 菜单,根据 id
  107. // sa_admin.showMenuById('1-1');
  108. // ================================= 示例:调用另一个页面的代码 =================================
  109. // var win = sa_admin.getTabWindow('2-1'); // 根据id获取其页面的window对象 (如果此页面未打开,则返回空)(跨域模式下无法获取其window对象)
  110. // win.app.f5();
  111. // 注意:
  112. // 根据`iframe`的子父通信原则,在子页面中调用父页面的方法,需要加上parent前缀,例如:
  113. // parent.sa_admin.msg('啦啦啦'); // 调用父页面的弹窗方法