UNPKG

2.68 kBJavaScriptView Raw
1require([
2 'jquery',
3 'knockout',
4 'director',
5 'polyfill',
6 'bdtpl',
7 'text!js/menumgr/menulist.html'
8 ], function($, ko) {
9 var layoutDom = require('text!js/menumgr/menulist.html');
10 var MenuList = baidu.template(layoutDom);
11 var nodeNames = {};
12 window.addRouter = function(path, func) {
13 var pos = path.indexOf('/:');
14 var truePath = path;
15 if (pos != -1)
16 truePath = path.substring(0, pos);
17 func = func || function() {
18 document.getElementById("navTag").innerText = nodeNames["#" + path];
19 var params = arguments;
20 initPage('pages/' + truePath, params);
21 }
22 var tmparray = truePath.split("/");
23 if (tmparray[1] in router.routes && tmparray[2] in router.routes[tmparray[1]] && tmparray[3] in router.routes[tmparray[1]][tmparray[2]]) {
24 return;
25 } else {
26 router.on(path, func);
27 }
28 }
29
30 window.router = Router();
31 window.ko=ko;
32 window.$ = $;
33 ctx="/iuap_product_boot";
34 fdfsread_server="172.16.50.238";
35 maxUploadSize=102400;
36 $(function() {
37 initMenu();
38 })
39
40 //初始化页面
41 function initPage(p, id) {
42 var module = p;
43 // requirejs.undef(module);
44 var content = document.getElementById("content");
45 require([module], function(module) {
46 ko.cleanNode(content);
47 content.innerHTML = "";
48 module.init(content);
49 })
50 }
51
52 //初始化菜单
53 function initMenu(){
54 var menuTreeList = ctx+"/menumgr/menuList";
55 $.ajax({
56 url: menuTreeList,
57 type: 'GET',
58 dataType: 'json',
59 contentType: 'application/json',
60 success: function (result) {
61 if (result.status) {
62 for (var i = 0; i < result.data.length; i++) {
63 node = result.data[i];
64 nodeNames[node.funcId] = node.name;
65 }
66 //渲染菜单的列表
67 $('#menuarea').empty().append(MenuList({data: result.data}));
68 //菜单点击事件
69 $('#menu').find("a").each(function() {
70 var path = this.hash.replace('#', '');
71 addRouter(path);
72 });
73 window.router.init();
74 } else {
75 result.msg ? alert(result.msg) : '';
76 }
77 },
78 error: function (e) {
79 alert(e.message || "网络请求失败");
80 }
81 });
82 }
83})