Skip to content

Commit e6f9fbe

Browse files
committed
修复句号导致的错误
1 parent ffbb844 commit e6f9fbe

File tree

6 files changed

+74
-32
lines changed

6 files changed

+74
-32
lines changed

Backend/user/urls.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
routers = routers.DefaultRouter()
77
routers.register('userdata', views.UserDataView)
88
routers.register('user', views.UserView)
9-
routers.register('change', views.UserChangeView)
10-
routers.register('changeall', views.UserChangeAllView)
9+
#routers.register('change', views.UserChangeView)
10+
#routers.register('changeall', views.UserChangeAllView)
1111
routers.register('userlogindata', views.UserLoginDataView)
1212

1313
urlpatterns = [
@@ -17,4 +17,6 @@
1717
url(r'^logout', views.UserLogoutAPIView.as_view()),
1818
url(r'^updaterating', views.UserUpdateRatingAPIView.as_view()),
1919
url(r'^setlogindata', views.UserLoginDataAPIView.as_view()),
20+
url(r'^changeone', views.UserChangeView.as_view()),
21+
url(r'^changeall', views.UserChangeAllView.as_view()),
2022
]

Backend/user/views.py

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,62 @@ class UserView(viewsets.ModelViewSet):
4646
throttle_classes = [ScopedRateThrottle, ]
4747

4848

49-
class UserChangeView(viewsets.ModelViewSet):
50-
queryset = User.objects.all()
51-
serializer_class = UserNoTypeSerializer
52-
permission_classes = (UserPUTOnly,)
49+
class UserChangeView(APIView):
50+
5351
throttle_scope = "post"
5452
throttle_classes = [ScopedRateThrottle, ]
5553

56-
57-
class UserChangeAllView(viewsets.ModelViewSet):
58-
queryset = User.objects.all()
59-
serializer_class = UserSerializer
60-
permission_classes = (AuthPUTOnly,)
54+
def put(self, request, format=None):
55+
data = request.data.copy()
56+
username = request.session.get('user_id', None)
57+
if username != None:
58+
user = User.objects.get(username=username)
59+
user.password = data["password"]
60+
user.name = data["name"]
61+
user.school = data["school"]
62+
user.course = data["course"]
63+
user.classes = data["classes"]
64+
user.number = data["number"]
65+
user.realname = data["realname"]
66+
user.qq = data["qq"]
67+
user.email = data["email"]
68+
user.save()
69+
user2 = UserData.objects.get(username=username)
70+
user2.des=data["des"]
71+
user2.save()
72+
73+
return Response("ok", status=HTTP_200_OK)
74+
75+
return Response("nologin", status=HTTP_400_BAD_REQUEST)
76+
77+
78+
class UserChangeAllView(APIView):
6179
throttle_scope = "post"
6280
throttle_classes = [ScopedRateThrottle, ]
6381

82+
def put(self, request, format=None):
83+
if request.session.get('type',None) != 3:
84+
return Response("no permission", status=HTTP_400_BAD_REQUEST)
85+
86+
data = request.data.copy()
87+
username = data["username"]
88+
if username != None:
89+
user = User.objects.get(username=username)
90+
if data["password"] != ".":
91+
user.password = data["password"]
92+
user.name = data["name"]
93+
user.school = data["school"]
94+
user.course = data["course"]
95+
user.classes = data["classes"]
96+
user.number = data["number"]
97+
user.realname = data["realname"]
98+
user.qq = data["qq"]
99+
user.email = data["email"]
100+
user.type = data["type"]
101+
user.save()
102+
return Response("ok", status=HTTP_200_OK)
103+
return Response("username error", status=HTTP_400_BAD_REQUEST)
104+
64105
class UserLoginDataView(viewsets.ModelViewSet):
65106
queryset = UserLoginData.objects.all().order_by('-id')
66107
serializer_class = UserLoginDataSerializer

Frontend/src/components/admin/adminmanageuser.vue

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,8 +380,11 @@ export default {
380380
381381
myform["password"] = this.password;
382382
}
383+
else{
384+
myform["password"] = "." //用于后台特判
385+
}
383386
384-
this.$axios.patch("/changeall/" + this.userid + "/", myform).then(
387+
this.$axios.put("/changeall/", myform).then(
385388
response => {
386389
this.$message({
387390
message: "更新成功!",

Frontend/src/components/mainpage/setting.vue

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</el-row>
2020
<el-row :gutter="10">
2121
<el-col :span="3">
22-
<div style="text-align:center;margin:5px;">密码</div>
22+
<div style="text-align:center;margin:5px;">新密码(不更改,请输入上次密码)</div>
2323
</el-col>
2424
<el-col :span="12">
2525
<el-input type="password" v-model="form.password" autocomplete="off"></el-input>
@@ -107,7 +107,7 @@ export default {
107107
password: "",
108108
comfirm: "",
109109
name: "",
110-
des:"这个人很懒,什么都没有没有留下。",
110+
des:"",
111111
school: "",
112112
course: "",
113113
classes: "",
@@ -175,19 +175,10 @@ export default {
175175
this.form.password = this.$md5(this.form.password);
176176
this.$axios
177177
.put(
178-
"/change/" +
179-
this.userid +
180-
"/",
178+
"/changeone/",
181179
this.form
182180
)
183-
.then(response => {
184-
this.$axios
185-
.put(
186-
"/userdata/" +
187-
this.userid +
188-
"/",
189-
this.form
190-
)
181+
191182
.then(
192183
response => {
193184
this.$message({
@@ -204,7 +195,7 @@ export default {
204195
this.$message.error("更新失败(" + response + "");
205196
}
206197
);
207-
});
198+
208199
})
209200
210201

Frontend/src/components/utils/cfrate.vue

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
:row-style="ratingcolor"
1212
>
1313
<el-table-column type="index" width="40"></el-table-column>
14-
<el-table-column prop="username" label="User"></el-table-column>
14+
<el-table-column prop="username" label="User" width="100"></el-table-column>
1515
<el-table-column prop="cfratestr" label="Rate"></el-table-column>
1616
</el-table>
1717
</el-card>
@@ -39,7 +39,7 @@ export default {
3939
},
4040
ratingcolor({ row, rowIndex }) {
4141
if (row.cfrate >= 2400) return "color:red;font-weight: bold;";
42-
if (row.rating >= 2300) return "color:#BB5E00;font-weight: bold;";
42+
if (row.cfrate >= 2300) return "color:#BB5E00;font-weight: bold;";
4343
if (row.cfrate >= 2100) return "color:#E6A23C;font-weight: bold;";
4444
if (row.cfrate >= 1900) return "color:#930093;font-weight: bold;";
4545
if (row.cfrate >= 1600) return "color:#0000AA;font-weight: bold;";
@@ -61,14 +61,19 @@ export default {
6161
}
6262
tot = parseInt(tot / response.data.length)
6363
64-
if(tot<0)
64+
if(tot>0)
6565
tot = 0
6666
6767
for(let i =0;i<response.data.length;i++){
6868
var ls = response.data[i].cfrate.split("|")
69-
var score = ls[0] + parseInt(ls[1]) * (-tot)
69+
70+
var score = parseInt(ls[0])
71+
7072
response.data[i].cfrate = score
71-
response.data[i]["cfratestr"] = score + "(" + ls[0]+" + "+ls[1]+" * "+tot+ ")"
73+
74+
response.data[i]["cfratestr"] = score
75+
76+
7277
}
7378
7479

Frontend/src/register.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ export default {
162162
}
163163
if (
164164
this.form.username.indexOf("|") >= 0 ||
165-
this.form.username.indexOf("'") >= 0 ||
165+
this.form.username.indexOf(".") >= 0 ||
166166
this.form.username.indexOf("#") >= 0
167167
) {
168168
this.$message.error("用户名包含非法字符!");

0 commit comments

Comments
 (0)