diff --git a/src/assets/css/basic.css b/src/assets/css/basic.css
index 5ae6f4c8..2102246b 100644
--- a/src/assets/css/basic.css
+++ b/src/assets/css/basic.css
@@ -63,26 +63,36 @@ h3::before {
content: "# ";
}
-.markdown-container h1 {
+.markdown-container h1,
+.cm-header-1 {
font-size: 30px;
}
-.markdown-container h2 {
+.markdown-container h2,
+.cm-header-2 {
font-size: 23px;
}
-.markdown-container h3 {
+.markdown-container h3,
+.cm-header-3 {
font-size: 18px;
}
-.markdown-container h4 {
+.markdown-container h4,
+.cm-header-4 {
font-size: 17px;
}
-.markdown-container h5 {
+.markdown-container h5,
+.cm-header-5 {
font-size: 14px;
}
+.cm-header,
+.cm-strong {
+ font-weight: 400 !important;
+}
+
body {
color: #606266;
}
diff --git a/src/components/problem/content.vue b/src/components/problem/content.vue
index 82520802..715ad368 100644
--- a/src/components/problem/content.vue
+++ b/src/components/problem/content.vue
@@ -94,7 +94,6 @@ export default {
.get(apiurl('/problem/' + String(this.$route.params.id)))
.then(res => {
let data = res.data.res;
- console.log(data);
this.title = data.title;
this.pid = data.pid;
this.allowHTML = data.allow_html;
diff --git a/src/components/problem/edit.vue b/src/components/problem/edit.vue
index 428192ce..180fb214 100644
--- a/src/components/problem/edit.vue
+++ b/src/components/problem/edit.vue
@@ -26,13 +26,9 @@ export default {
methods: {
loadproblem() {
this.$axios
- .get(apiurl('/problem/content'), {
- params: {
- pid: this.$route.params.id
- }
- })
+ .get(apiurl('/problem/' + String(this.$route.params.id)))
.then(res => {
- let data = res.data;
+ let data = res.data.res;
this.title = data.title;
this.mdContent = data.description;
})
diff --git a/src/components/problem/submit.vue b/src/components/problem/submit.vue
index 63887c13..67810ca5 100644
--- a/src/components/problem/submit.vue
+++ b/src/components/problem/submit.vue
@@ -118,7 +118,10 @@ export default {
}
this.buttonLoading = false;
});
- }
+ },
+ },
+ mounted() {
+ this.lang_num = String(this.$store.state.user.userlang);
}
};
diff --git a/src/components/user/content.vue b/src/components/user/content.vue
index 7614e8e6..f71bae3a 100644
--- a/src/components/user/content.vue
+++ b/src/components/user/content.vue
@@ -4,20 +4,51 @@
+
+ Tool Bar
+ Edit
+ Back
+
-
- User Name
- {{username}}
-
+
+
+
+ User Name
+ {{username}}
+
+
+
+
+ User ID
+ {{userid}}
+
+
+
Email
{{email}}
-
- Sloved
- {{solved}} Problems
-
+
+
+
+ Sloved
+ {{solved}} Problems
+
+
+
+
+ Submited
+ {{submit}} Problems
+
+
+
+
+ AC Rate
+
+
+
+
Introduction
@@ -34,9 +65,14 @@ export default {
name: 'UserHomepage',
data() {
return {
- username: '',
- email: '',
- introduction: null
+ username: '-',
+ userid: '-',
+ email: '-',
+ introduction: null,
+ solved: '-',
+ submit: '-',
+ rate: '-',
+ ismine: false
};
},
methods: {
@@ -46,9 +82,20 @@ export default {
.then(res => {
let data = res.data.res;
this.username = data.username;
+ this.userid = data.id;
this.email = data.email;
this.introduction = data.introduction;
this.solved = data.solved;
+ this.submit = data.submit_time;
+ if (this.solved == 0) {
+ this.rate = 100;
+ } else {
+ this.rate = (this.solved * 100.0) / this.submit;
+ this.rate = this.rate.toFixed(2);
+ }
+ if (this.userid == String(this.$store.state.user.userid)) {
+ this.ismine = true;
+ }
})
.catch(err => {
if(err.request.status === 404) {
@@ -57,6 +104,16 @@ export default {
this.$SegmentMessage.error(this, 'Unkown error');
}
});
+ },
+ ACRateColorMode(percentage) {
+ if (percentage < 20) {
+ return '#F56C6C';
+ } else if (percentage < 30) {
+ return '#E6A23C';
+ } else if (percentage < 50) {
+ return '#67C23A';
+ }
+ return '#409EFF';
}
},
mounted() {
diff --git a/src/components/user/login.vue b/src/components/user/login.vue
index 94a73ede..a5d7cc54 100644
--- a/src/components/user/login.vue
+++ b/src/components/user/login.vue
@@ -65,6 +65,13 @@ export default {
password: this.ldata.password
})
.then(res => {
+ this.$axios
+ .get(apiurl('/account/' + res.data.res.id))
+ .then(detail => {
+ this.$store.commit('userLang', {
+ lang: detail.data.res.lang
+ });
+ });
this.$store.commit('userLogin', {
username: this.ldata.username,
userid: res.data.res.id
diff --git a/src/components/user/register.vue b/src/components/user/register.vue
index 81c8f314..640dccae 100644
--- a/src/components/user/register.vue
+++ b/src/components/user/register.vue
@@ -69,18 +69,19 @@ export default {
rules: {
username: [
{ required: true, message: 'Input your username', trigger: 'blur' },
- { max: 10, message: 'No more than 10 characters', trigger: 'blur' },
+ { max: 150, message: 'No more than 150 characters', trigger: 'blur' },
{ validator: validateUsername, trigger: 'blur'}
],
password: [
{ required: true, message: 'Input your password', trigger: 'blur' },
- { min: 6, message: 'Password must be more than 6 characters', trigger: 'blur' }
+ { min: 6, message: 'No less than 6 characters', trigger: 'blur' }
],
passwdrepeat: [
{ required: true, message: 'Repeat your password', trigger: 'blur' },
{ validator: validatePasswd, trigger: 'blur' },
],
email: [
+ { required: true, message: 'Input your email', trigger: 'blur' },
{ validator: validateEmail, trigger: 'blur'}
]
},
diff --git a/src/store/user.js b/src/store/user.js
index 39d99adc..921a8afa 100644
--- a/src/store/user.js
+++ b/src/store/user.js
@@ -3,6 +3,7 @@ const userstore = {
authenticated: localStorage.getItem('user-authenticated') || false,
username: localStorage.getItem('user-username') || null,
userid: localStorage.getItem('user-userid') || null,
+ userlang: localStorage.getItem('user-userlang') || null,
showlogin: false,
showregister: false,
showlogout: false
@@ -12,16 +13,23 @@ const userstore = {
state.authenticated = true;
state.userid = data.userid;
state.username = data.username;
-
+
localStorage.setItem('user-authenticated', true);
localStorage.setItem('user-username', data.username);
localStorage.setItem('user-userid', data.userid);
},
+ userLang(state, data) {
+ state.userlang = data.lang;
+
+ localStorage.setItem('user-userlang', data.lang);
+ },
userLogout(state) {
state.authenticated = false;
state.userid = null;
state.username = null;
+ state.userlang = null;
+ localStorage.removeItem('user-userlang');
localStorage.removeItem('user-authenticated');
localStorage.removeItem('user-userid');
localStorage.removeItem('user-username');