From ead7f0319ae1d61a3adcce6f83cbc6f5d9b6319d Mon Sep 17 00:00:00 2001 From: mryanshenghong Date: Thu, 23 Jul 2020 17:13:31 -0400 Subject: [PATCH] feature update --- src/api/blog.ts | 52 ++--- src/api/comments.ts | 54 +++++ src/api/login.ts | 15 ++ src/components/CardView.vue | 68 +++++-- src/components/Drawer.vue | 32 +++ src/components/comments/Comments.vue | 120 +++++++++++ .../comments/components/CommentItem.vue | 132 ++++++++++++ src/components/createBlog.vue | 192 ++++++------------ src/components/header.vue | 40 +--- src/components/loginModal.vue | 148 ++++++++++---- src/utils/element.ts | 66 +++--- tslint.json | 9 +- 12 files changed, 645 insertions(+), 283 deletions(-) create mode 100644 src/api/comments.ts create mode 100644 src/components/Drawer.vue create mode 100644 src/components/comments/Comments.vue create mode 100644 src/components/comments/components/CommentItem.vue diff --git a/src/api/blog.ts b/src/api/blog.ts index 4ac20ec..0810227 100644 --- a/src/api/blog.ts +++ b/src/api/blog.ts @@ -1,4 +1,4 @@ -import axios from 'axios' +import axios from 'axios'; export const getBlogsBasicInfo = (cat: string) => { return new Promise((resolve, reject) => { @@ -10,13 +10,13 @@ export const getBlogsBasicInfo = (cat: string) => { }, }) .then((res) => { - resolve(res) + resolve(res); }) .catch((err) => { - reject(err) - }) - }) -} + reject(err); + }); + }); +}; export const getBlogCats = (token: string) => { return new Promise((resolve, reject) => { @@ -31,13 +31,13 @@ export const getBlogCats = (token: string) => { }, }) .then((res) => { - resolve(res) + resolve(res); }) .catch((err) => { - reject(err) - }) - }) -} + reject(err); + }); + }); +}; export const getBlog = (id: string) => { return new Promise((resolve, reject) => { @@ -48,13 +48,13 @@ export const getBlog = (id: string) => { }, }) .then((res) => { - resolve(res) + resolve(res); }) .catch((err) => { - reject(err) - }) - }) -} + reject(err); + }); + }); +}; export const saveBlog = (blogInfo: any, token: string) => { return new Promise((resolve, reject) => { @@ -66,13 +66,13 @@ export const saveBlog = (blogInfo: any, token: string) => { }, }) .then((res) => { - resolve(res) + resolve(res); }) .catch((err) => { - reject(err) - }) - }) -} + reject(err); + }); + }); +}; export const createBlog = (newBlog: any, token: string) => { return new Promise((resolve, reject) => { @@ -84,10 +84,10 @@ export const createBlog = (newBlog: any, token: string) => { }, }) .then((res) => { - resolve(res.data) + resolve(res.data); }) .catch((err) => { - reject(err) - }) - }) -} + reject(err); + }); + }); +}; diff --git a/src/api/comments.ts b/src/api/comments.ts new file mode 100644 index 0000000..8d609a7 --- /dev/null +++ b/src/api/comments.ts @@ -0,0 +1,54 @@ +import axios from 'axios'; + +export interface IComment { + repliedTo: { + name: string; + id: string; + } | null; + blogId: string; + content: string; + parentId: string; +} + +export const queryComments = (blogId: string, token: string) => { + return new Promise((resolve, reject) => { + axios + .get(`${process.env.VUE_APP_URL}/myWeb/comment`, { + headers: { + authorization: 'Bearer ' + token, + 'Content-Type': 'application/json', + }, + params: { blogId }, + }) + .then((res) => { + resolve(res.data); + }) + .catch((err) => { + reject(err); + }); + }); +}; + +export const newComment = (comment: IComment, token: string) => { + return new Promise((resolve, reject) => { + axios + .post( + `${process.env.VUE_APP_URL}/myWeb/comment`, + { + data: { ...comment }, + }, + { + headers: { + authorization: 'Bearer ' + token, + 'Content-Type': 'application/json', + }, + } + ) + .then((res) => { + resolve(res.data); + }) + .catch((err) => { + reject(err); + }); + }); +}; diff --git a/src/api/login.ts b/src/api/login.ts index 980f13f..2decfe0 100644 --- a/src/api/login.ts +++ b/src/api/login.ts @@ -18,6 +18,21 @@ export const login = (email: string, pwd: string) => { }) } +export const signup = (user: { user_name: string; user_pwd: string; email: string }) => { + return new Promise((resolve, reject) => { + axios + .post(`${process.env.VUE_APP_URL}/myWeb/user/signup`, { + data: { ...user }, + }) + .then((res) => { + resolve(res.data) + }) + .catch((err) => { + reject(err) + }) + }) +} + export const verifyToken = (user_name: string, token: string) => { return new Promise((resolve, reject) => { axios diff --git a/src/components/CardView.vue b/src/components/CardView.vue index 7710b56..b316e60 100644 --- a/src/components/CardView.vue +++ b/src/components/CardView.vue @@ -2,8 +2,14 @@
-

{{ title }}

-
 0   0
+

+ {{ title }} + +

+
+  0 +   0 +
{{ formatTime(time) }} @@ -12,7 +18,7 @@

{{ title }}

- {{ formatTime(time) }} + {{ formatTime(time) }}
+
+ 查看评论 + + + +
@@ -132,9 +154,13 @@ export default class CardView extends Vue { } .media_box { - padding: 20px; border-radius: 10px; } + .comment_box { + .el-button { + color: #909399; + } + } } } diff --git a/src/components/Drawer.vue b/src/components/Drawer.vue new file mode 100644 index 0000000..73be6bd --- /dev/null +++ b/src/components/Drawer.vue @@ -0,0 +1,32 @@ + + + + \ No newline at end of file diff --git a/src/components/comments/Comments.vue b/src/components/comments/Comments.vue new file mode 100644 index 0000000..5f6938b --- /dev/null +++ b/src/components/comments/Comments.vue @@ -0,0 +1,120 @@ + + + + diff --git a/src/components/comments/components/CommentItem.vue b/src/components/comments/components/CommentItem.vue new file mode 100644 index 0000000..5077472 --- /dev/null +++ b/src/components/comments/components/CommentItem.vue @@ -0,0 +1,132 @@ + + + + + \ No newline at end of file diff --git a/src/components/createBlog.vue b/src/components/createBlog.vue index 95c3e58..4a0ba52 100644 --- a/src/components/createBlog.vue +++ b/src/components/createBlog.vue @@ -8,104 +8,34 @@ :lock-scroll="true" :modal-append-to-body="false" > - - - + + + - +
- - 添加 + + 添加
- {{ value }} + {{ value }}
- - - + + + - - - - - - + + + + + + - - add + + add
- + accept="image/jpg, image/jpeg, image/png, video/mp4, audio/*" + /> -