From eb4ad763335ec3dc963b1dfa3fc3139e21e2c3a0 Mon Sep 17 00:00:00 2001 From: luchenqun Date: Sun, 26 Feb 2017 22:18:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A0=E9=99=A4=E4=B9=A6?= =?UTF-8?q?=E7=AD=BE=E7=A1=AE=E8=AE=A4=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controllers/bookmarks-controller.js | 26 ++++++++++++++--- .../scripts/controllers/search-controller.js | 29 ++++++++++++++----- public/scripts/controllers/tags-controller.js | 21 ++++++++++++-- public/views/bookmarks.html | 4 +-- public/views/dialog-del-bookmark.html | 11 +++++++ public/views/search.html | 8 +++-- public/views/tags.html | 2 +- routes/api.js | 11 +++++-- 8 files changed, 90 insertions(+), 22 deletions(-) create mode 100644 public/views/dialog-del-bookmark.html diff --git a/public/scripts/controllers/bookmarks-controller.js b/public/scripts/controllers/bookmarks-controller.js index a16230f..2e74eff 100644 --- a/public/scripts/controllers/bookmarks-controller.js +++ b/public/scripts/controllers/bookmarks-controller.js @@ -1,4 +1,4 @@ -app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, bookmarkService, pubSubService) { +app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'ngDialog', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, ngDialog, bookmarkService, pubSubService) { console.log("Hello bookmarksCtr...", $stateParams); $scope.bookmarks = []; // 书签数据 $scope.showSearch = false; // 搜索对话框 @@ -8,10 +8,13 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', ' $('.js-radio-' + $scope.showStyle).checkbox('set checked'); $scope.edit = false; const perPageItems = 20; + var dialog = null; $scope.totalPages = 0; $scope.currentPage = 1; $scope.inputPage = ''; $scope.loadBusy = false; + $scope.waitDelBookmark = {}; + $scope.changeCurrentPage = function(currentPage) { currentPage = parseInt(currentPage) || 0; console.log('currentPage = ', currentPage); @@ -51,16 +54,31 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', ' $scope.edit = !$scope.edit }; - $scope.delBookmark = function(bookmarkId) { + $scope.delBookmark = function(bookmark) { + console.log('delBookmark..........') + $scope.waitDelBookmark = $.extend(true, {}, bookmark); // 利用jQuery执行深度拷贝 + dialog = ngDialog.open({ + template: './views/dialog-del-bookmark.html', + className: 'ngdialog-theme-default', + scope: $scope + }); + } + + $scope.confirmDelBookmark = function(bookmarkId) { var params = { id: bookmarkId } + ngDialog.close(dialog); bookmarkService.delBookmark(params) - .then((data) => $("#" + bookmarkId).remove()) + .then((data) => { + $("#" + bookmarkId).remove(); + toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示"); + }) .catch((err) => { - console.log('delBookmark err ', err) + toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示"); }); } + $scope.editBookmark = function(bookmarkId) { pubSubService.publish('bookmarksCtr.editBookmark', { 'bookmarkId': bookmarkId diff --git a/public/scripts/controllers/search-controller.js b/public/scripts/controllers/search-controller.js index 604ce90..f6388fb 100644 --- a/public/scripts/controllers/search-controller.js +++ b/public/scripts/controllers/search-controller.js @@ -1,6 +1,7 @@ -app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, bookmarkService, pubSubService) { +app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$window', '$timeout', 'ngDialog', 'bookmarkService', 'pubSubService', function($scope, $state, $stateParams, $filter, $window, $timeout, ngDialog, bookmarkService, pubSubService) { console.log("Hello searchCtr...", $stateParams); const perPageItems = 20; + var dialog = null; $scope.bookmarks = []; // 书签数据 $scope.showSearch = false; // $scope.showTags = false; // @@ -18,6 +19,8 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi $scope.currentPage = 1; $scope.inputPage = ''; $scope.loading = false; + $scope.waitDelBookmark = {}; + $scope.changeCurrentPage = function(currentPage) { currentPage = parseInt(currentPage) || 0; console.log(currentPage); @@ -61,21 +64,31 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi } } - $scope.delBookmark = function(bookmarkId) { - toastr.warning('暂时不允许搜索的书签进行删除操作', "警告"); - return; + $scope.delBookmark = function(bookmark) { + $scope.waitDelBookmark = $.extend(true, {}, bookmark); // 利用jQuery执行深度拷贝 + dialog = ngDialog.open({ + template: './views/dialog-del-bookmark.html', + className: 'ngdialog-theme-default', + scope: $scope + }); + } + + $scope.confirmDelBookmark = function(bookmarkId) { var params = { id: bookmarkId } + ngDialog.close(dialog); bookmarkService.delBookmark(params) - .then((data) => $("#" + bookmarkId).remove()) + .then((data) => { + $("#" + bookmarkId).remove(); + toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示"); + }) .catch((err) => { - console.log('delBookmark err ', err) + toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示"); }); } + $scope.editBookmark = function(bookmarkId) { - toastr.warning('暂时不允许搜索的书签进行编辑操作', "警告"); - return; pubSubService.publish('bookmarksCtr.editBookmark', { 'bookmarkId': bookmarkId }); diff --git a/public/scripts/controllers/tags-controller.js b/public/scripts/controllers/tags-controller.js index 6055e35..c1cf153 100644 --- a/public/scripts/controllers/tags-controller.js +++ b/public/scripts/controllers/tags-controller.js @@ -16,6 +16,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim $scope.currentTagId = ($stateParams && $stateParams.tagId) || ''; $scope.edit = false; $scope.waitDelTag = {}; + $scope.waitDelBookmark = {}; pubSubService.subscribe('MenuCtr.tags', $scope, function(event, data) { console.log('subscribe MenuCtr.tags', data); @@ -85,16 +86,30 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim } } - $scope.delBookmark = function(bookmarkId) { + $scope.delBookmark = function(bookmark) { + $scope.waitDelBookmark = $.extend(true, {}, bookmark); // 利用jQuery执行深度拷贝 + dialog = ngDialog.open({ + template: './views/dialog-del-bookmark.html', + className: 'ngdialog-theme-default', + scope: $scope + }); + } + + $scope.confirmDelBookmark = function(bookmarkId) { var params = { id: bookmarkId } + ngDialog.close(dialog); bookmarkService.delBookmark(params) - .then((data) => $("#" + bookmarkId).remove()) + .then((data) => { + $("#" + bookmarkId).remove(); + toastr.success($scope.waitDelBookmark.title + ' 书签删除成功!', "提示"); + }) .catch((err) => { - console.log('delBookmark err ', err) + toastr.error($scope.waitDelBookmark.title + ' 书签删除失败!错误提示:' + JSON.stringify(err), "提示"); }); } + $scope.editBookmark = function(bookmarkId) { pubSubService.publish('bookmarksCtr.editBookmark', { 'bookmarkId': bookmarkId diff --git a/public/views/bookmarks.html b/public/views/bookmarks.html index f3905dd..78a6126 100644 --- a/public/views/bookmarks.html +++ b/public/views/bookmarks.html @@ -28,7 +28,7 @@ ng-click="jumpToUrl(bookmark.url, bookmark.id)" title="{{ bookmark.title }}" id="{{bookmark.id}}"> - + {{ bookmark.title}} @@ -73,7 +73,7 @@ - + diff --git a/public/views/dialog-del-bookmark.html b/public/views/dialog-del-bookmark.html new file mode 100644 index 0000000..05102c5 --- /dev/null +++ b/public/views/dialog-del-bookmark.html @@ -0,0 +1,11 @@ +
+

删除提示

+

您确认要删除书签: + {{ waitDelBookmark.title }}吗? +

+

如果删除该书签,那么再也无法查看到。

+
+
+ + +
diff --git a/public/views/search.html b/public/views/search.html index 53ea162..78d1396 100644 --- a/public/views/search.html +++ b/public/views/search.html @@ -147,8 +147,12 @@ - - + + + + + + diff --git a/public/views/tags.html b/public/views/tags.html index 5016a12..3a1832e 100644 --- a/public/views/tags.html +++ b/public/views/tags.html @@ -72,7 +72,7 @@ - + diff --git a/routes/api.js b/routes/api.js index e560f0a..bfba5da 100644 --- a/routes/api.js +++ b/routes/api.js @@ -384,7 +384,7 @@ api.get('/searchBookmarks', function(req, res) { params.userId = req.session.user.id; var bookmarks = []; var tagsBookmarks = []; - var userId = '1'; + var userId = req.session.user.id; var totalItems = 0; var sendData = { totalItems: totalItems, @@ -395,7 +395,13 @@ api.get('/searchBookmarks', function(req, res) { totalItems = searchData.totalItems; bookmarks = searchData.bookmarks; if (bookmarks.length > 0) { - var bookmarkIds = bookmarks.map((bookmark) => bookmark.id); + var bookmarkIds = bookmarks.map((bookmark) => { + bookmark.own = bookmark.user_id == userId ? true : false; + if (!bookmark.own) { + bookmark.description = "其他用户的描述信息不允许查看"; + } + return bookmark.id; + }); return db.getTagsBookmarks(bookmarkIds); } else { res.json(sendData); @@ -431,6 +437,7 @@ api.get('/searchBookmarks', function(req, res) { }) sendData.totalItems = totalItems; sendData.bookmarks = data; + console.log(JSON.stringify(sendData)) res.json(sendData); }) .catch((err) => console.log('bookmarks table or card err', err))