Quellcode durchsuchen

修复权限管理

neo vor 1 Jahr
Ursprung
Commit
e364eea476
2 geänderte Dateien mit 185 neuen und 190 gelöschten Zeilen
  1. 1 161
      controllers/default.go
  2. 184 29
      models/permission.go

+ 1 - 161
controllers/default.go

@@ -11,166 +11,6 @@ type MainController struct {
11 11
 	beego.Controller
12 12
 }
13 13
 
14
-// IndexInfo 界面信息,每新增一个功能都要新增该结构
15
-type IndexInfo struct {
16
-	Id   int    //界面id,模板文件中会使用到这个id,作为焦点
17
-	Name string //界面在导航中的显示名
18
-	Url  string //界面的url地址
19
-}
20
-type NavInfo struct {
21
-	Name      string
22
-	IndexList []*IndexInfo
23
-}
24
-
25
-func getIndex(permission int64) []*NavInfo {
26
-	var navList []*NavInfo
27
-	if (permission & (1 << uint(models.ModelUser))) != 0 {
28
-		navInfo := &NavInfo{
29
-			Name: "系统",
30
-		}
31
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
32
-			Id:   models.ModelUser,
33
-			Name: "用户管理",
34
-			Url:  "user.html",
35
-		})
36
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
37
-			Id:   models.ModelUser,
38
-			Name: "角色管理",
39
-			Url:  "role.html",
40
-		})
41
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
42
-			Id:   models.ModelUser,
43
-			Name: "日志管理",
44
-			Url:  "log.html",
45
-		})
46
-
47
-		navList = append(navList, navInfo)
48
-	}
49
-	if (permission & (1 << uint(models.ModelStatment))) != 0 {
50
-		navInfo := &NavInfo{
51
-			Name: "统计数据",
52
-		}
53
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
54
-			Id:   models.ModelUser,
55
-			Name: "统计注册",
56
-			Url:  "register.html",
57
-		})
58
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
59
-			Id:   models.ModelUser,
60
-			Name: "统计留存",
61
-			Url:  "retained.html",
62
-		})
63
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
64
-			Id:   models.ModelUser,
65
-			Name: "统计登录",
66
-			Url:  "login.html",
67
-		})
68
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
69
-			Id:   models.ModelUser,
70
-			Name: "在线时长",
71
-			Url:  "onlinetime.html",
72
-		})
73
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
74
-			Id:   models.ModelUser,
75
-			Name: "玩家资源",
76
-			Url:  "resource.html",
77
-		})
78
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
79
-			Id:   models.ModelUser,
80
-			Name: "统计支付金额",
81
-			Url:  "pay.html",
82
-		})
83
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
84
-			Id:   models.ModelUser,
85
-			Name: "统计商品",
86
-			Url:  "goods.html",
87
-		})
88
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
89
-			Id:   models.ModelUser,
90
-			Name: "付费人数",
91
-			Url:  "paynum.html",
92
-		})
93
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
94
-			Id:   models.ModelUser,
95
-			Name: "订单查询",
96
-			Url:  "orderquery.html",
97
-		})
98
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
99
-			Id:   models.ModelUser,
100
-			Name: "客户端埋点",
101
-			Url:  "client.html",
102
-		})
103
-
104
-		navList = append(navList, navInfo)
105
-	}
106
-	if (permission & (1 << uint(models.ModelRealTime))) != 0 {
107
-		navInfo := &NavInfo{
108
-			Name: "实时数据",
109
-		}
110
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
111
-			Id:   models.ModelRealTime,
112
-			Name: "实时注册",
113
-			Url:  "rtregister.html",
114
-		})
115
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
116
-			Id:   models.ModelRealTime,
117
-			Name: "实时登录",
118
-			Url:  "rtlogin.html",
119
-		})
120
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
121
-			Id:   models.ModelRealTime,
122
-			Name: "实时在线",
123
-			Url:  "rtonline.html",
124
-		})
125
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
126
-			Id:   models.ModelRealTime,
127
-			Name: "实时支付金额",
128
-			Url:  "rtpay.html",
129
-		})
130
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
131
-			Id:   models.ModelRealTime,
132
-			Name: "实时支付登录",
133
-			Url:  "rtpaylogin.html",
134
-		})
135
-
136
-		navList = append(navList, navInfo)
137
-	}
138
-	if (permission & (1 << uint(models.ModelSystem))) != 0 {
139
-		navInfo := &NavInfo{
140
-			Name: "游戏系统设置",
141
-		}
142
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
143
-			Id:   models.ModelSystem,
144
-			Name: "版本更新",
145
-			Url:  "hotfix.html",
146
-		})
147
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
148
-			Id:   models.ModelSystem,
149
-			Name: "兑换码",
150
-			Url:  "exchangecode.html",
151
-		})
152
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
153
-			Id:   models.ModelSystem,
154
-			Name: "配置管理",
155
-			Url:  "gameconfig.html",
156
-		})
157
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
158
-			Id:   models.ModelSystem,
159
-			Name: "Roll奖励方案管理",
160
-			Url:  "rollaward.html",
161
-		})
162
-		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
163
-			Id:   models.ModelSystem,
164
-			Name: "Roll房管理",
165
-			Url:  "roll.html",
166
-		})
167
-
168
-		navList = append(navList, navInfo)
169
-	}
170
-
171
-	return navList
172
-}
173
-
174 14
 // 主界面
175 15
 // 通过c.Data[key]返回数据
176 16
 // ace模板文件通过{{.key}}获取数据
@@ -186,7 +26,7 @@ func (c *MainController) Get() {
186 26
 	c.Data["title"] = beego.AppConfig.String("apptitle")
187 27
 	//用户权限
188 28
 	user_permission := models.GetPermission(username)
189
-	c.Data["navList"] = getIndex(user_permission)
29
+	c.Data["navList"] = models.GetNavList(user_permission)
190 30
 	c.Data["rolename"] = models.GetUserRoleName(username)
191 31
 	c.Data["username"] = username
192 32
 

+ 184 - 29
models/permission.go

@@ -9,13 +9,11 @@
9 9
 package models
10 10
 
11 11
 const (
12
-	ModelUser       = 0
13
-	ModelStatment   = 1
14
-	ModelRealTime   = 2
15
-	ModelSystem     = 3
16
-	ModelSccor      = 4
17
-	ModelStock      = 5
18
-	ModelPlayerRole = 6
12
+	ModelUser     = 0
13
+	ModelStatment = 1
14
+	ModelRealTime = 2
15
+	ModelSystem   = 3
16
+	ModelRoll     = 4
19 17
 )
20 18
 
21 19
 // 权限信息,新增大功能需要新增权限
@@ -24,35 +22,192 @@ type PermissionInfo struct {
24 22
 	Name string `form:"name"`
25 23
 }
26 24
 
25
+// IndexInfo 界面信息,每新增一个功能都要新增该结构
26
+type IndexInfo struct {
27
+	Id   int    //界面id,模板文件中会使用到这个id,作为焦点
28
+	Name string //界面在导航中的显示名
29
+	Url  string //界面的url地址
30
+}
31
+type NavInfo struct {
32
+	Id        int //界面id,模板文件中会使用到这个id,作为焦点
33
+	Name      string
34
+	IndexList []*IndexInfo
35
+}
36
+
27 37
 func GetPermissions() []*PermissionInfo {
28
-	return []*PermissionInfo{
29
-		{
38
+	var perList []*PermissionInfo
39
+	navList := GetNavList(GetPermission("admin"))
40
+	for _, v := range navList {
41
+		perList = append(perList, &PermissionInfo{
42
+			Id:   v.Id,
43
+			Name: v.Name,
44
+		})
45
+	}
46
+	return perList
47
+}
48
+
49
+func GetNavList(permission int64) []*NavInfo {
50
+	var navList []*NavInfo
51
+	if (permission & (1 << uint(ModelUser))) != 0 {
52
+		navInfo := &NavInfo{
53
+			Id:   ModelUser,
54
+			Name: "系统",
55
+		}
56
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
30 57
 			Id:   ModelUser,
31 58
 			Name: "用户管理",
32
-		},
33
-		{
59
+			Url:  "user.html",
60
+		})
61
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
62
+			Id:   ModelUser,
63
+			Name: "角色管理",
64
+			Url:  "role.html",
65
+		})
66
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
67
+			Id:   ModelUser,
68
+			Name: "日志管理",
69
+			Url:  "log.html",
70
+		})
71
+
72
+		navList = append(navList, navInfo)
73
+	}
74
+	if (permission & (1 << uint(ModelStatment))) != 0 {
75
+		navInfo := &NavInfo{
34 76
 			Id:   ModelStatment,
35 77
 			Name: "统计数据",
36
-		},
37
-		{
78
+		}
79
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
80
+			Id:   ModelStatment,
81
+			Name: "统计注册",
82
+			Url:  "register.html",
83
+		})
84
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
85
+			Id:   ModelStatment,
86
+			Name: "统计留存",
87
+			Url:  "retained.html",
88
+		})
89
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
90
+			Id:   ModelStatment,
91
+			Name: "统计登录",
92
+			Url:  "login.html",
93
+		})
94
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
95
+			Id:   ModelStatment,
96
+			Name: "在线时长",
97
+			Url:  "onlinetime.html",
98
+		})
99
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
100
+			Id:   ModelStatment,
101
+			Name: "玩家资源",
102
+			Url:  "resource.html",
103
+		})
104
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
105
+			Id:   ModelStatment,
106
+			Name: "统计支付金额",
107
+			Url:  "pay.html",
108
+		})
109
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
110
+			Id:   ModelStatment,
111
+			Name: "统计商品",
112
+			Url:  "goods.html",
113
+		})
114
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
115
+			Id:   ModelStatment,
116
+			Name: "付费人数",
117
+			Url:  "paynum.html",
118
+		})
119
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
120
+			Id:   ModelStatment,
121
+			Name: "订单查询",
122
+			Url:  "orderquery.html",
123
+		})
124
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
125
+			Id:   ModelStatment,
126
+			Name: "客户端埋点",
127
+			Url:  "client.html",
128
+		})
129
+
130
+		navList = append(navList, navInfo)
131
+	}
132
+	if (permission & (1 << uint(ModelRealTime))) != 0 {
133
+		navInfo := &NavInfo{
38 134
 			Id:   ModelRealTime,
39 135
 			Name: "实时数据",
40
-		},
41
-		{
136
+		}
137
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
138
+			Id:   ModelRealTime,
139
+			Name: "实时注册",
140
+			Url:  "rtregister.html",
141
+		})
142
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
143
+			Id:   ModelRealTime,
144
+			Name: "实时登录",
145
+			Url:  "rtlogin.html",
146
+		})
147
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
148
+			Id:   ModelRealTime,
149
+			Name: "实时在线",
150
+			Url:  "rtonline.html",
151
+		})
152
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
153
+			Id:   ModelRealTime,
154
+			Name: "实时支付金额",
155
+			Url:  "rtpay.html",
156
+		})
157
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
158
+			Id:   ModelRealTime,
159
+			Name: "实时支付登录",
160
+			Url:  "rtpaylogin.html",
161
+		})
162
+
163
+		navList = append(navList, navInfo)
164
+	}
165
+	if (permission & (1 << uint(ModelSystem))) != 0 {
166
+		navInfo := &NavInfo{
42 167
 			Id:   ModelSystem,
43
-			Name: "系统设置",
44
-		},
45
-		{
46
-			Id:   ModelSccor,
47
-			Name: "足彩",
48
-		},
49
-		{
50
-			Id:   ModelStock,
51
-			Name: "股票",
52
-		},
53
-		{
54
-			Id:   ModelPlayerRole,
55
-			Name: "玩家角色",
56
-		},
168
+			Name: "游戏系统设置",
169
+		}
170
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
171
+			Id:   ModelSystem,
172
+			Name: "版本更新",
173
+			Url:  "hotfix.html",
174
+		})
175
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
176
+			Id:   ModelSystem,
177
+			Name: "兑换码",
178
+			Url:  "exchangecode.html",
179
+		})
180
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
181
+			Id:   ModelSystem,
182
+			Name: "配置管理",
183
+			Url:  "gameconfig.html",
184
+		})
185
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
186
+			Id:   ModelSystem,
187
+			Name: "Roll奖励方案管理",
188
+			Url:  "rollaward.html",
189
+		})
190
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
191
+			Id:   ModelSystem,
192
+			Name: "Roll房管理",
193
+			Url:  "roll.html",
194
+		})
195
+
196
+		navList = append(navList, navInfo)
197
+	}
198
+	if (permission & (1 << uint(ModelRoll))) != 0 {
199
+		navInfo := &NavInfo{
200
+			Id:   ModelRoll,
201
+			Name: "Roll房",
202
+		}
203
+		navInfo.IndexList = append(navInfo.IndexList, &IndexInfo{
204
+			Id:   ModelRoll,
205
+			Name: "Roll房管理",
206
+			Url:  "roll.html",
207
+		})
208
+
209
+		navList = append(navList, navInfo)
57 210
 	}
211
+
212
+	return navList
58 213
 }