Skip to content

Commit e9b5c22

Browse files
UPWeChat MenuApi
1 parent 8a33dd0 commit e9b5c22

29 files changed

+2362
-0
lines changed

WebApiTest/WeChat/APP/__init__.py

Whitespace-only changes.

WebApiTest/WeChat/APP/admin.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import unicode_literals
3+
4+
from django.contrib import admin
5+
6+
# Register your models here.

WebApiTest/WeChat/APP/apps.py

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import unicode_literals
3+
4+
from django.apps import AppConfig
5+
6+
7+
class AppConfig(AppConfig):
8+
name = 'APP'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.7 on 2018-03-26 06:16
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
initial = True
11+
12+
dependencies = [
13+
]
14+
15+
operations = [
16+
migrations.CreateModel(
17+
name='MenuInfo',
18+
fields=[
19+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20+
('type', models.CharField(max_length=100)),
21+
('name', models.CharField(max_length=100)),
22+
('key', models.CharField(max_length=100)),
23+
('url', models.CharField(max_length=100)),
24+
('buttontype', models.CharField(max_length=100)),
25+
('createtime', models.DateTimeField(auto_now_add=True)),
26+
('uptime', models.DateTimeField(auto_now=True)),
27+
],
28+
),
29+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.7 on 2018-03-26 06:19
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
dependencies = [
11+
('APP', '0001_initial'),
12+
]
13+
14+
operations = [
15+
migrations.AlterField(
16+
model_name='menuinfo',
17+
name='buttontype',
18+
field=models.CharField(max_length=100, null=True),
19+
),
20+
migrations.AlterField(
21+
model_name='menuinfo',
22+
name='createtime',
23+
field=models.DateTimeField(auto_now_add=True, null=True),
24+
),
25+
migrations.AlterField(
26+
model_name='menuinfo',
27+
name='key',
28+
field=models.CharField(max_length=100, null=True),
29+
),
30+
migrations.AlterField(
31+
model_name='menuinfo',
32+
name='name',
33+
field=models.CharField(max_length=100, null=True),
34+
),
35+
migrations.AlterField(
36+
model_name='menuinfo',
37+
name='type',
38+
field=models.CharField(max_length=100, null=True),
39+
),
40+
migrations.AlterField(
41+
model_name='menuinfo',
42+
name='uptime',
43+
field=models.DateTimeField(auto_now=True, null=True),
44+
),
45+
migrations.AlterField(
46+
model_name='menuinfo',
47+
name='url',
48+
field=models.CharField(max_length=100, null=True),
49+
),
50+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.7 on 2018-03-26 06:30
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
dependencies = [
11+
('APP', '0002_auto_20180326_1419'),
12+
]
13+
14+
operations = [
15+
migrations.AddField(
16+
model_name='menuinfo',
17+
name='button',
18+
field=models.CharField(max_length=100, null=True),
19+
),
20+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.7 on 2018-03-26 06:36
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
dependencies = [
11+
('APP', '0003_menuinfo_button'),
12+
]
13+
14+
operations = [
15+
migrations.AddField(
16+
model_name='menuinfo',
17+
name='level',
18+
field=models.CharField(max_length=100, null=True),
19+
),
20+
]

WebApiTest/WeChat/APP/migrations/__init__.py

Whitespace-only changes.

WebApiTest/WeChat/APP/models.py

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import unicode_literals
3+
4+
from django.db import models
5+
6+
# Create your models here.
7+
8+
class MenuInfo(models.Model):
9+
type = models.CharField(max_length=100,null=True)
10+
name = models.CharField(max_length=100,null=True)
11+
key = models.CharField(max_length=100,null=True)
12+
url = models.CharField(max_length=100,null=True)
13+
button = models.CharField(max_length=100, null=True)
14+
level = models.CharField(max_length=100, null=True)
15+
buttontype = models.CharField(max_length=100,null=True)
16+
createtime = models.DateTimeField(auto_now_add=True,null=True)
17+
uptime = models.DateTimeField(auto_now=True,null=True)

WebApiTest/WeChat/APP/plugins.py

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/usr/bin/env python
2+
# -*- coding: utf-8 -*-
3+
# @Author : Benjamin
4+
# @Time : 2018/3/26 14:58
5+
from APP import models
6+
7+
8+
9+
# 检查菜单类型并添加dict
10+
def CheckButton(ButtonNum):
11+
button = models.MenuInfo.objects.filter(button=ButtonNum)
12+
13+
if button:
14+
15+
if button[0].level == '1':
16+
strs = {"type": button[0].type, "name": button[0].name,"id":button[0].id}
17+
if button[0].key:
18+
strs["key"] = button[0].key
19+
if button[0].url:
20+
strs["url"] = button[0].url
21+
return strs
22+
23+
if button[0].level == '2':
24+
strs = {"name": button[0].name,"id":button[0].id}
25+
26+
buttoninfo = models.MenuInfo.objects.filter(buttontype=ButtonNum,button=0)
27+
28+
sub_button = []
29+
CheckNum = 0
30+
for i in buttoninfo:
31+
32+
if CheckNum>=5:
33+
break
34+
35+
sub_strs = {"type": i.type, "name": i.name,"id":i.id}
36+
if i.type == "view":
37+
sub_strs["url"] = i.url
38+
if i.type == "click":
39+
sub_strs["key"] = i.key
40+
sub_button.append(sub_strs)
41+
42+
CheckNum +=1
43+
44+
strs["sub_button"] = sub_button
45+
return strs
46+
47+
48+
49+
# 依次遍历检查菜单数据
50+
def Buttons():
51+
52+
button = []
53+
54+
for i in range(1,4):
55+
if CheckButton(i):
56+
button.append(CheckButton(i))
57+
58+
return button
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>微信菜单管理</title>
6+
<!--图标样式-->
7+
<link rel="stylesheet" type="text/css" href="../static/css/bootstrap.min.css">
8+
9+
<!--主要样式-->
10+
<link rel="stylesheet" type="text/css" href="../static/css/style.css">
11+
12+
13+
</head>
14+
15+
<body>
16+
<h2>微信菜单管理</h2>
17+
<br>
18+
19+
<div class="tree well">
20+
<ul id="rootUL">
21+
22+
</ul>
23+
</div>
24+
25+
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
26+
<p>适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗.</p>
27+
<p>来源:<a href="http://sc.chinaz.com/" target="_blank">站长素材</a></p>
28+
</div>
29+
30+
31+
</body>
32+
33+
<script src="../static/js/jquery.min.js"></script>
34+
<script type="text/javascript" src="../static/js/menutree.js"></script>
35+
<script type="text/javascript">
36+
$(function () {
37+
$('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', '关闭');
38+
$('.tree li.parent_li > span').on('click', function (e) {
39+
var children = $(this).parent('li.parent_li').find(' > ul > li');
40+
if (children.is(":visible")) {
41+
children.hide('fast');
42+
$(this).attr('title', '展开').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
43+
} else {
44+
children.show('fast');
45+
$(this).attr('title', '关闭').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
46+
}
47+
e.stopPropagation();
48+
});
49+
});
50+
</script>
51+
52+
53+
54+
55+
</html>

0 commit comments

Comments
 (0)