Files
blog-frontEnd/admin/src/app/services/comment/comment.service.ts
2019-11-28 19:26:45 +08:00

99 lines
2.8 KiB
TypeScript

import {Injectable} from '@angular/core';
import {HttpService} from '../http.service';
import {Page} from '../../classes/page';
import {Comment} from '../../classes/comment';
import {exist} from '../../utils/dataUtil';
import {CommentReq} from "../../classes/commentReq";
@Injectable({
providedIn: 'root'
})
export class CommentService {
constructor(public http: HttpService) {
}
// 存放
leaveMsgPage: Page<Comment>[] = [];
commentPage: Page<Comment>[] = [];
currentComment: Page<Comment>;
currentLeaveMsg: Page<Comment>;
/**
* 获取 评论
* @param pageNum 页码
* @param pageSize 单页数据数量
* @param isAdmin 是否是管理员
*/
getComments(pageNum: number, pageSize: number, isAdmin: boolean) {
const exist1 = exist<Comment>(pageNum, pageSize, this.commentPage);
if (exist1) {
exist1.subscribe(data => {
this.currentComment = data;
});
return exist1;
}
const observable = this.http.get(`/${isAdmin ? 'admin' : 'user'}/comment/type/1?count=${pageSize}&page=${pageNum}`);
observable.subscribe(data => {
if (data.code === 0) {
this.commentPage.unshift(data.result);
this.currentComment = data.result;
}
});
return observable;
}
/**
* 获取 留言
* @param pageNum 页码
* @param pageSize 单页数据数量
* @param isAdmin 是否是管理员
*/
getLeaveMsg(pageNum: number, pageSize: number, isAdmin: boolean) {
const exist1 = exist<Comment>(pageNum, pageSize, this.leaveMsgPage);
if (exist1) {
exist1.subscribe(data => {
this.currentLeaveMsg = data;
});
return exist1;
}
const observable = this.http.get(`/${isAdmin ? 'admin' : 'user'}/comment/type/0?count=${pageSize}&page=${pageNum}`);
observable.subscribe(data => {
if (data.code === 0) {
this.leaveMsgPage.unshift(data.result);
this.currentLeaveMsg = data.result;
}
});
return observable;
}
/**
* 回复评论/留言
* @param responseComment 请求体
*/
rely(responseComment: CommentReq) {
return this.http.post('/user/comment/create', responseComment, true);
}
/**
* 通过父评论 获取回复
* @param pid 父评论id
*/
getByPid(pid: number) {
return this.http.get('/comment/pid/' + pid + '?count=5&page=1');
}
update(subComment) {
return this.http.put('/user/comment/update', subComment);
}
delete(id: number) {
return this.http.delete('/user/comment/del?id=' + id);
}
}