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