增加删除留言的功能
This commit is contained in:
parent
ca37eba757
commit
85bed0e0f5
|
|
@ -1170,6 +1170,20 @@ db.delNote = function (id) {
|
|||
});
|
||||
}
|
||||
|
||||
db.delCommit = function (id, user_id) {
|
||||
var sql = "DELETE FROM `advices` WHERE `id` = '" + id + "' AND `user_id` = '" + user_id + "'";
|
||||
console.log(sql);
|
||||
return new Promise(function (resolve, reject) {
|
||||
client.query(sql, (err, result) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
resolve(result.affectedRows);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
db.updateNote = function (id, content, tag_id) {
|
||||
var sql = "UPDATE `notes` SET `content`=" + client.escape(content) + ", `tag_id`='" + tag_id + "' WHERE (`id`='" + id + "')";
|
||||
console.log(sql);
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
|
|
@ -4,16 +4,17 @@ app.controller('adviceCtr', ['$scope', '$state', '$timeout', 'bookmarkService',
|
|||
$window.location = "http://m.mybookmark.cn/#/tags";
|
||||
return;
|
||||
}
|
||||
var maxSelections = 3;
|
||||
|
||||
$scope.comment = '';
|
||||
$scope.advices = [];
|
||||
$scope.curAdvice = {};
|
||||
$scope.category = ["功能", "BUG", "其他"];
|
||||
$scope.user = {};
|
||||
|
||||
bookmarkService.userInfo({})
|
||||
.then((data) => {
|
||||
$scope.user = data;
|
||||
console.log(data);
|
||||
})
|
||||
.catch((err) => {
|
||||
|
||||
|
|
@ -49,6 +50,28 @@ app.controller('adviceCtr', ['$scope', '$state', '$timeout', 'bookmarkService',
|
|||
});
|
||||
}
|
||||
|
||||
$scope.showDelComment = function (advice) {
|
||||
$scope.curAdvice = advice;
|
||||
$('.js-comment-del').modal('show');
|
||||
}
|
||||
|
||||
$scope.delComment = function () {
|
||||
// console.log($scope.curAdvice);
|
||||
bookmarkService.delComment($scope.curAdvice)
|
||||
.then((data) => {
|
||||
if (data.result == 1) {
|
||||
toastr.success('删除成功', "提示");
|
||||
getAdvices({});
|
||||
} else {
|
||||
toastr.error('删除失败', "错误");
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
toastr.error('删除失败', "错误");
|
||||
});
|
||||
$('.js-comment-del').modal('hide');
|
||||
}
|
||||
|
||||
function getAdvices(params) {
|
||||
bookmarkService.getAdvices(params)
|
||||
.then((data) => {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,13 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
|||
$scope.order = [false, false, false];
|
||||
$scope.order[($stateParams && $stateParams.orderIndex) || 0] = true;
|
||||
$scope.bookmarkData = {};
|
||||
var timeagoInstance = timeago();
|
||||
|
||||
var menusScope = $('div[ng-controller="menuCtr"]').scope();
|
||||
var login = (menusScope && menusScope.login) || false;
|
||||
pubSubService.publish('Common.menuActive', {
|
||||
login: login,
|
||||
index: login ? dataService.LoginIndexBookmarks : dataService.NotLoginIndexBookmarks
|
||||
});
|
||||
|
||||
getBookmarks();
|
||||
|
||||
|
|
@ -91,23 +97,11 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
|||
|
||||
function getBookmarks() {
|
||||
var params = {}
|
||||
params.showStyle = $scope.showStyle
|
||||
params.showStyle = 'navigate';
|
||||
params.currentPage = $scope.currentPage;
|
||||
params.perPageItems = perPageItems;
|
||||
|
||||
if (!params.showStyle) {
|
||||
bookmarkService.userInfo({})
|
||||
.then((user) => {
|
||||
$scope.showStyle = (user && user.show_style) || 'navigate';
|
||||
updateShowStyle();
|
||||
getBookmarks(); // 拿到默认显示风格了,继续取获取书签
|
||||
})
|
||||
.catch((err) => dataService.netErrorHandle(err, $state));
|
||||
} else {
|
||||
$scope.loadBusy = true;
|
||||
if (params.showStyle == 'table' && (!$scope.forbidTransition)) {
|
||||
$('.js-table-bookmarks').transition('hide');
|
||||
}
|
||||
bookmarkService.getBookmarks(params)
|
||||
.then((data) => {
|
||||
$scope.bookmarks = data;
|
||||
|
|
@ -117,40 +111,12 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
|||
if ($scope.bookmarks.length == 0) {
|
||||
toastr.info('您还没有书签,请点击菜单栏的添加按钮进行添加', "提示");
|
||||
}
|
||||
|
||||
pubSubService.publish('Common.menuActive', {
|
||||
login: true,
|
||||
index: dataService.LoginIndexBookmarks
|
||||
});
|
||||
if (!$scope.forbidTransition) {
|
||||
transition();
|
||||
}
|
||||
$scope.forbidTransition = false;
|
||||
$scope.loadBusy = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
dataService.netErrorHandle(err, $state);
|
||||
$scope.loadBusy = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function transition() {
|
||||
if ($scope.showStyle == 'card' && $scope.currentPage > 1) {
|
||||
return;
|
||||
}
|
||||
var className = 'js-segment-navigate';
|
||||
if ($scope.showStyle == 'card') {
|
||||
className = 'js-segment-card'
|
||||
} else if ($scope.showStyle == 'table') {
|
||||
className = 'js-table-bookmarks'
|
||||
} else if ($scope.showStyle == 'costomTag') {
|
||||
className = 'js-segment-costomTag'
|
||||
}
|
||||
$('.' + className).transition('hide');
|
||||
$('.' + className).transition({
|
||||
animation: dataService.animation(),
|
||||
duration: 500,
|
||||
});
|
||||
}
|
||||
}]);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$timeout', '$document', 'ngDialog', 'pubSubService', 'bookmarkService', 'dataService', function ($scope, $stateParams, $state, $window, $timeout, $document, ngDialog, pubSubService, bookmarkService, dataService) {
|
||||
console.log("Hello menuCtr")
|
||||
$scope.login = true; /**< 是否登陆 */
|
||||
$scope.login = false; /**< 是否登陆 */
|
||||
$scope.selectLoginIndex = 0; /**< 默认登陆之后的选择的菜单索引,下表从 0 开始 */
|
||||
$scope.selectNotLoginIndex = 0; /**< 默认未登陆之后的选择的菜单索引,下表从 0 开始 */
|
||||
$scope.searchWord = ''; /**< 搜索关键字 */
|
||||
|
|
@ -14,6 +14,8 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time
|
|||
$scope.showSearchBtn = true;
|
||||
$scope.user = {};
|
||||
|
||||
|
||||
|
||||
// 防止在登陆的情况下,在浏览器里面直接输入url,这时候要更新菜单选项
|
||||
pubSubService.subscribe('Common.menuActive', $scope, function (event, params) {
|
||||
console.log("subscribe Common.menuActive, login = " + params.login + ", index = " + params.index);
|
||||
|
|
@ -26,6 +28,10 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time
|
|||
$scope.quickUrl = params.quickUrl;
|
||||
});
|
||||
|
||||
pubSubService.subscribe('loginCtr.login', $scope, function (event, params) {
|
||||
$scope.login = params.login;
|
||||
});
|
||||
|
||||
$scope.loginMenus = dataService.loginMenus; // 登陆之后显示的菜单数据。uiSerf:内部跳转链接。
|
||||
$scope.notLoginMenus = dataService.notLoginMenus; // 未登陆显示的菜单数据
|
||||
|
||||
|
|
@ -34,11 +40,13 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time
|
|||
pubSubService.publish('loginCtr.login', {
|
||||
'login': data.logined,
|
||||
});
|
||||
$scope.login = data.logined;
|
||||
})
|
||||
.catch((err) => {
|
||||
pubSubService.publish('loginCtr.login', {
|
||||
'login': data.logined,
|
||||
});
|
||||
$scope.login = false;
|
||||
});
|
||||
|
||||
bookmarkService.userInfo({})
|
||||
|
|
|
|||
|
|
@ -256,6 +256,19 @@ app.factory('bookmarkService', ['$http', '$q', function ($http, $q) {
|
|||
});
|
||||
return def.promise;
|
||||
},
|
||||
delComment: function (params) {
|
||||
var def = $q.defer();
|
||||
$http.delete('/api/delComment/', {
|
||||
params: params
|
||||
})
|
||||
.success(function (data) {
|
||||
def.resolve(data);
|
||||
})
|
||||
.error(function (data) {
|
||||
def.reject(data);
|
||||
});
|
||||
return def.promise;
|
||||
},
|
||||
/**
|
||||
* @func
|
||||
* @desc 根据显示页数的索引,获取书签的数据
|
||||
|
|
|
|||
|
|
@ -10,10 +10,9 @@ app.factory('dataService', [function () {
|
|||
LoginIndexPraise: 6,
|
||||
|
||||
// 非登陆索引
|
||||
NotLoginIndexHome: 0,
|
||||
NotLoginIndexBookmarks: 0,
|
||||
NotLoginIndexLogin: 1,
|
||||
NotLoginIndexHot: 2,
|
||||
NotLoginIndexPraise: 3,
|
||||
|
||||
loginMenus: [{
|
||||
uiSref: 'bookmarks',
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@
|
|||
<h3 class="ui header">最新100条留言</h3>
|
||||
<div class="comment" ng-repeat="advice in advices">
|
||||
<a class="avatar">
|
||||
<img ng-if="advice.username == 'lcq'" src="./images/admin.jpg" />
|
||||
<img ng-if="advice.username != 'lcq'" ng-src="data:image/png;base64,{{advice.imgData}}" />
|
||||
<img ng-if="advice.username == 'admin'" src="./images/admin.png" />
|
||||
<img ng-if="advice.username != 'admin'" ng-src="data:image/png;base64,{{advice.imgData}}" />
|
||||
</a>
|
||||
<div class="content">
|
||||
<a class="author">{{ advice.username }}</a>
|
||||
|
|
@ -39,8 +39,21 @@
|
|||
<div class="metadata">
|
||||
<span class="category">{{ category[advice.category] }}</span>
|
||||
</div>
|
||||
<div class="metadata" ng-if="user.username === 'admin' || user.username === advice.username">
|
||||
<i class="red trash alternate outline icon" ng-click="showDelComment(advice)"></i>
|
||||
</div>
|
||||
<div class="text">{{ advice.comment }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui mini js-comment-del modal">
|
||||
<div class="header">删除留言</div>
|
||||
<div class="content">
|
||||
<p>您确认要删除留言 {{ curAdvice.comment }} 吗?删除之后再也无法恢复了!</p>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="ui negative button">不删除</div>
|
||||
<div class="ui positive button" ng-click="delComment(advice)">删除</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -332,6 +332,25 @@ api.delete('/delBookmark', function (req, res) {
|
|||
.catch((err) => console.log('delBookmark err', err));
|
||||
})
|
||||
|
||||
api.delete('/delComment', function (req, res) {
|
||||
console.log("delComment username = ", req.session.username);
|
||||
if (!req.session.user) {
|
||||
res.send(401);
|
||||
return;
|
||||
}
|
||||
|
||||
var userId = req.session.username === 'admin' ? req.query.user_id : req.session.user.id;
|
||||
db.delCommit(req.query.id, userId)
|
||||
.then((affectedRows) => {
|
||||
res.json({
|
||||
code: 0,
|
||||
result: affectedRows
|
||||
});
|
||||
})
|
||||
.catch((err) => console.log('delComment err', err));
|
||||
})
|
||||
|
||||
|
||||
api.post('/updateBookmark', function (req, res) {
|
||||
console.log("updateBookmark username = ", req.session.username);
|
||||
if (!req.session.user) {
|
||||
|
|
@ -393,10 +412,6 @@ api.get('/bookmark', function (req, res) {
|
|||
|
||||
api.get('/bookmarks', function (req, res) {
|
||||
console.log("bookmarks username = ", req.session.username);
|
||||
if (!req.session.user) {
|
||||
res.send(401);
|
||||
return;
|
||||
}
|
||||
var userId = 226; //req.session.user.id;
|
||||
db.getTags(userId)
|
||||
.then((tags) => db.getBookmarksNavigate(tags))
|
||||
|
|
|
|||
Loading…
Reference in New Issue