增加删除留言的功能
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) {
|
db.updateNote = function (id, content, tag_id) {
|
||||||
var sql = "UPDATE `notes` SET `content`=" + client.escape(content) + ", `tag_id`='" + tag_id + "' WHERE (`id`='" + id + "')";
|
var sql = "UPDATE `notes` SET `content`=" + client.escape(content) + ", `tag_id`='" + tag_id + "' WHERE (`id`='" + id + "')";
|
||||||
console.log(sql);
|
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";
|
$window.location = "http://m.mybookmark.cn/#/tags";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var maxSelections = 3;
|
|
||||||
|
|
||||||
$scope.comment = '';
|
$scope.comment = '';
|
||||||
$scope.advices = [];
|
$scope.advices = [];
|
||||||
|
$scope.curAdvice = {};
|
||||||
$scope.category = ["功能", "BUG", "其他"];
|
$scope.category = ["功能", "BUG", "其他"];
|
||||||
$scope.user = {};
|
$scope.user = {};
|
||||||
|
|
||||||
bookmarkService.userInfo({})
|
bookmarkService.userInfo({})
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
$scope.user = data;
|
$scope.user = data;
|
||||||
|
console.log(data);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.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) {
|
function getAdvices(params) {
|
||||||
bookmarkService.getAdvices(params)
|
bookmarkService.getAdvices(params)
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,13 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
$scope.order = [false, false, false];
|
$scope.order = [false, false, false];
|
||||||
$scope.order[($stateParams && $stateParams.orderIndex) || 0] = true;
|
$scope.order[($stateParams && $stateParams.orderIndex) || 0] = true;
|
||||||
$scope.bookmarkData = {};
|
$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();
|
getBookmarks();
|
||||||
|
|
||||||
|
|
@ -91,66 +97,26 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
|
|
||||||
function getBookmarks() {
|
function getBookmarks() {
|
||||||
var params = {}
|
var params = {}
|
||||||
params.showStyle = $scope.showStyle
|
params.showStyle = 'navigate';
|
||||||
params.currentPage = $scope.currentPage;
|
params.currentPage = $scope.currentPage;
|
||||||
params.perPageItems = perPageItems;
|
params.perPageItems = perPageItems;
|
||||||
|
|
||||||
if (!params.showStyle) {
|
$scope.loadBusy = true;
|
||||||
bookmarkService.userInfo({})
|
bookmarkService.getBookmarks(params)
|
||||||
.then((user) => {
|
.then((data) => {
|
||||||
$scope.showStyle = (user && user.show_style) || 'navigate';
|
$scope.bookmarks = data;
|
||||||
updateShowStyle();
|
if ($scope.bookmarks.length <= 2) {
|
||||||
getBookmarks(); // 拿到默认显示风格了,继续取获取书签
|
$(".js-msg").removeClass("hidden");
|
||||||
})
|
}
|
||||||
.catch((err) => dataService.netErrorHandle(err, $state));
|
if ($scope.bookmarks.length == 0) {
|
||||||
} else {
|
toastr.info('您还没有书签,请点击菜单栏的添加按钮进行添加', "提示");
|
||||||
$scope.loadBusy = true;
|
}
|
||||||
if (params.showStyle == 'table' && (!$scope.forbidTransition)) {
|
$scope.loadBusy = false;
|
||||||
$('.js-table-bookmarks').transition('hide');
|
})
|
||||||
}
|
.catch((err) => {
|
||||||
bookmarkService.getBookmarks(params)
|
dataService.netErrorHandle(err, $state);
|
||||||
.then((data) => {
|
$scope.loadBusy = false;
|
||||||
$scope.bookmarks = data;
|
});
|
||||||
if ($scope.bookmarks.length <= 2) {
|
|
||||||
$(".js-msg").removeClass("hidden");
|
|
||||||
}
|
|
||||||
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) {
|
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")
|
console.log("Hello menuCtr")
|
||||||
$scope.login = true; /**< 是否登陆 */
|
$scope.login = false; /**< 是否登陆 */
|
||||||
$scope.selectLoginIndex = 0; /**< 默认登陆之后的选择的菜单索引,下表从 0 开始 */
|
$scope.selectLoginIndex = 0; /**< 默认登陆之后的选择的菜单索引,下表从 0 开始 */
|
||||||
$scope.selectNotLoginIndex = 0; /**< 默认未登陆之后的选择的菜单索引,下表从 0 开始 */
|
$scope.selectNotLoginIndex = 0; /**< 默认未登陆之后的选择的菜单索引,下表从 0 开始 */
|
||||||
$scope.searchWord = ''; /**< 搜索关键字 */
|
$scope.searchWord = ''; /**< 搜索关键字 */
|
||||||
|
|
@ -14,6 +14,8 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time
|
||||||
$scope.showSearchBtn = true;
|
$scope.showSearchBtn = true;
|
||||||
$scope.user = {};
|
$scope.user = {};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 防止在登陆的情况下,在浏览器里面直接输入url,这时候要更新菜单选项
|
// 防止在登陆的情况下,在浏览器里面直接输入url,这时候要更新菜单选项
|
||||||
pubSubService.subscribe('Common.menuActive', $scope, function (event, params) {
|
pubSubService.subscribe('Common.menuActive', $scope, function (event, params) {
|
||||||
console.log("subscribe Common.menuActive, login = " + params.login + ", index = " + params.index);
|
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;
|
$scope.quickUrl = params.quickUrl;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
pubSubService.subscribe('loginCtr.login', $scope, function (event, params) {
|
||||||
|
$scope.login = params.login;
|
||||||
|
});
|
||||||
|
|
||||||
$scope.loginMenus = dataService.loginMenus; // 登陆之后显示的菜单数据。uiSerf:内部跳转链接。
|
$scope.loginMenus = dataService.loginMenus; // 登陆之后显示的菜单数据。uiSerf:内部跳转链接。
|
||||||
$scope.notLoginMenus = dataService.notLoginMenus; // 未登陆显示的菜单数据
|
$scope.notLoginMenus = dataService.notLoginMenus; // 未登陆显示的菜单数据
|
||||||
|
|
||||||
|
|
@ -34,11 +40,13 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time
|
||||||
pubSubService.publish('loginCtr.login', {
|
pubSubService.publish('loginCtr.login', {
|
||||||
'login': data.logined,
|
'login': data.logined,
|
||||||
});
|
});
|
||||||
|
$scope.login = data.logined;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
pubSubService.publish('loginCtr.login', {
|
pubSubService.publish('loginCtr.login', {
|
||||||
'login': data.logined,
|
'login': data.logined,
|
||||||
});
|
});
|
||||||
|
$scope.login = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
bookmarkService.userInfo({})
|
bookmarkService.userInfo({})
|
||||||
|
|
|
||||||
|
|
@ -256,6 +256,19 @@ app.factory('bookmarkService', ['$http', '$q', function ($http, $q) {
|
||||||
});
|
});
|
||||||
return def.promise;
|
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
|
* @func
|
||||||
* @desc 根据显示页数的索引,获取书签的数据
|
* @desc 根据显示页数的索引,获取书签的数据
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,9 @@ app.factory('dataService', [function () {
|
||||||
LoginIndexPraise: 6,
|
LoginIndexPraise: 6,
|
||||||
|
|
||||||
// 非登陆索引
|
// 非登陆索引
|
||||||
NotLoginIndexHome: 0,
|
NotLoginIndexBookmarks: 0,
|
||||||
NotLoginIndexLogin: 1,
|
NotLoginIndexLogin: 1,
|
||||||
NotLoginIndexHot: 2,
|
NotLoginIndexHot: 2,
|
||||||
NotLoginIndexPraise: 3,
|
|
||||||
|
|
||||||
loginMenus: [{
|
loginMenus: [{
|
||||||
uiSref: 'bookmarks',
|
uiSref: 'bookmarks',
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@
|
||||||
<h3 class="ui header">最新100条留言</h3>
|
<h3 class="ui header">最新100条留言</h3>
|
||||||
<div class="comment" ng-repeat="advice in advices">
|
<div class="comment" ng-repeat="advice in advices">
|
||||||
<a class="avatar">
|
<a class="avatar">
|
||||||
<img ng-if="advice.username == 'lcq'" src="./images/admin.jpg" />
|
<img ng-if="advice.username == 'admin'" src="./images/admin.png" />
|
||||||
<img ng-if="advice.username != 'lcq'" ng-src="data:image/png;base64,{{advice.imgData}}" />
|
<img ng-if="advice.username != 'admin'" ng-src="data:image/png;base64,{{advice.imgData}}" />
|
||||||
</a>
|
</a>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<a class="author">{{ advice.username }}</a>
|
<a class="author">{{ advice.username }}</a>
|
||||||
|
|
@ -39,8 +39,21 @@
|
||||||
<div class="metadata">
|
<div class="metadata">
|
||||||
<span class="category">{{ category[advice.category] }}</span>
|
<span class="category">{{ category[advice.category] }}</span>
|
||||||
</div>
|
</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 class="text">{{ advice.comment }}</div>
|
||||||
</div>
|
</div>
|
||||||
</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>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -332,6 +332,25 @@ api.delete('/delBookmark', function (req, res) {
|
||||||
.catch((err) => console.log('delBookmark err', err));
|
.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) {
|
api.post('/updateBookmark', function (req, res) {
|
||||||
console.log("updateBookmark username = ", req.session.username);
|
console.log("updateBookmark username = ", req.session.username);
|
||||||
if (!req.session.user) {
|
if (!req.session.user) {
|
||||||
|
|
@ -393,10 +412,6 @@ api.get('/bookmark', function (req, res) {
|
||||||
|
|
||||||
api.get('/bookmarks', function (req, res) {
|
api.get('/bookmarks', function (req, res) {
|
||||||
console.log("bookmarks username = ", req.session.username);
|
console.log("bookmarks username = ", req.session.username);
|
||||||
if (!req.session.user) {
|
|
||||||
res.send(401);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var userId = 226; //req.session.user.id;
|
var userId = 226; //req.session.user.id;
|
||||||
db.getTags(userId)
|
db.getTags(userId)
|
||||||
.then((tags) => db.getBookmarksNavigate(tags))
|
.then((tags) => db.getBookmarksNavigate(tags))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue