permission

This commit is contained in:
caoqianming 2020-06-26 18:55:40 +08:00
parent ee35e22b7e
commit da431ee3d9
23 changed files with 149 additions and 17 deletions

View File

@ -22,7 +22,8 @@
"pages/yati/index", "pages/yati/index",
"pages/article/index", "pages/article/index",
"pages/article/detail", "pages/article/detail",
"pages/quota/quota" "pages/quota/quota",
"pages/material/index"
], ],
"window": { "window": {
"backgroundTextStyle": "light", "backgroundTextStyle": "light",
@ -44,10 +45,16 @@
}, },
{ {
"pagePath": "pages/article/index", "pagePath": "pages/article/index",
"iconPath": "images/icon_doc.png", "iconPath": "images/news.png",
"selectedIconPath": "images/icon_doc_fill.png", "selectedIconPath": "images/newsc.png",
"text": "资讯" "text": "资讯"
}, },
{
"pagePath": "pages/material/index",
"iconPath": "images/data.png",
"selectedIconPath": "images/datac.png",
"text": "资料"
},
{ {
"pagePath": "pages/my/index", "pagePath": "pages/my/index",
"iconPath": "images/me.png", "iconPath": "images/me.png",

BIN
test_mini/images/data.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
test_mini/images/datac.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 723 B

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 B

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
test_mini/images/news.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

BIN
test_mini/images/newsc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 B

View File

@ -0,0 +1,100 @@
// pages/lianxi/index.js
const api = require("../../utils/request.js");
Page({
/**
* 页面的初始数据
*/
data: {
results: [],
query: {
page: 1,
limit: 10
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function () {
var that = this
that.getList(that.data.query)
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
getList: function () {
var that = this
api.request('/cms/material/', 'GET', that.data.query).then(res => {
if (that.data.query.page == 1) {
that.data.results = res.data.results
} else {
that.data.results = that.data.results.concat(res.data.results)
}
that.setData({
results: that.data.results,
count: res.data.count
})
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
var that = this
that.data.query.page = 1;
that.getList();
wx.stopPullDownRefresh();
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
var that = this
if (that.data.count <= that.data.query.page * that.data.query.limit) {
wx.showToast({
title: '没有更多了',
icon: 'none'
})
} else {
that.data.query.page = that.data.query.page + 1
that.getList()
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
})

View File

@ -0,0 +1,5 @@
{
"usingComponents": {},
"enablePullDownRefresh": true,
"onReachBottomDistance": 50
}

View File

@ -0,0 +1,21 @@
<view class="head">
{{count}}条资讯</view>
<view class="weui-cells weui-cells_after-title">
<block wx:for="{{results}}" wx:key="unique">
<navigator url="detail?id={{item.id}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
<view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
<view class="weui-media-box__title">
<text class="weui-badge" style="background:orange" wx:if="{{item.is_top}}">置顶</text>
{{item.title}}</view>
<view class="weui-media-box__desc">
<span style="font-weight:bold;color:darkblue">{{item.ifrom}} </span>
{{item.update_time}}
</view>
</view>
<view class="weui-panel__ft weui-cell__ft_in-access">
<view class="weui-media-box__desc">查看详情</view>
</view>
</navigator>
</block>
</view>

View File

@ -0,0 +1,5 @@
.head{
color:#fff;
background-color: cornflowerblue;
text-align: center;
}

View File

@ -6,8 +6,6 @@ class ArticelSerializer(serializers.ModelSerializer):
""" """
文章序列化 文章序列化
""" """
create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
update_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
class Meta: class Meta:
model = Article model = Article
fields = '__all__' fields = '__all__'
@ -16,8 +14,6 @@ class ArticelListSerializer(serializers.ModelSerializer):
""" """
文章列表序列化 文章列表序列化
""" """
create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
update_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
class Meta: class Meta:
model = Article model = Article
exclude = ('content',) exclude = ('content',)
@ -25,6 +21,6 @@ class ArticelListSerializer(serializers.ModelSerializer):
class MaterialSerializer(serializers.ModelSerializer): class MaterialSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Material model = Material
fields = '__all__' exclude = ('path',)

View File

@ -29,7 +29,7 @@ class ArticleViewSet(ModelViewSet):
文章增删改查 文章增删改查
""" """
perms_map = [ perms_map = [
{'get': 'article_list'}, {'post': 'article_create'}, {'get': '*'}, {'post': 'article_create'},
{'put': 'article_update'}, {'delete': 'article_delete'}] {'put': 'article_update'}, {'delete': 'article_delete'}]
queryset = Article.objects.filter(is_delete=0).all() queryset = Article.objects.filter(is_delete=0).all()
serializer_class = ArticelSerializer serializer_class = ArticelSerializer
@ -60,7 +60,7 @@ class MaterialViewSet(ModelViewSet):
资料增删改查 资料增删改查
""" """
perms_map = [ perms_map = [
{'get': 'material_list'}, {'post': 'material_create'}, {'get': '*'}, {'post': 'material_create'},
{'put': 'material_update'}, {'delete': 'material_delete'}] {'put': 'material_update'}, {'delete': 'material_delete'}]
queryset = Material.objects.filter(is_delete=0) queryset = Material.objects.filter(is_delete=0)
serializer_class = MaterialSerializer serializer_class = MaterialSerializer
@ -78,4 +78,4 @@ class MaterialViewSet(ModelViewSet):
instance = self.get_object() instance = self.get_object()
instance.down_count = instance.down_count + 1 instance.down_count = instance.down_count + 1
instance.save() instance.save()
return Response(status=status.HTTP_200_OK) return Response({'path':instance.path})

View File

@ -12,14 +12,12 @@ ConsumerPerms = [
'my_subjects', 'my_subjects',
'my_examtest', 'my_examtest',
'examtest_create', 'examtest_create',
'article_list',
'exercise' 'exercise'
] ]
VistorPerms = [ VistorPerms = [
'gen_monitest', 'gen_monitest',
'questioncat_list', 'questioncat_list',
'article_list',
'my_examtest', 'my_examtest',
'examtest_create' 'examtest_create'
] ]
@ -52,6 +50,6 @@ class MyPermission(RbacPermission):
_method = request._request.method.lower() _method = request._request.method.lower()
for i in perms_map: for i in perms_map:
for method, alias in i.items(): for method, alias in i.items():
if (_method == method or method == '*') and alias in perms: if ((_method == method or method == '*') and alias in perms)or alias == '*':
return True return True
return False return False

View File

@ -88,10 +88,10 @@ WSGI_APPLICATION = 'server.wsgi.application'
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.postgresql', 'ENGINE': 'django.db.backends.postgresql',
'NAME': 'devdb2', 'NAME': 'zkfs',
'USER':'ctcuser', 'USER':'ctcuser',
'PASSWORD':'ctcuser', 'PASSWORD':'zkfs1234',
'HOST':'121.36.23.77', 'HOST':'116.63.176.211',
'PORT':'5432', 'PORT':'5432',
}, },
# 'default': { # 'default': {