实时更新点击时间与点击次数
This commit is contained in:
parent
9bebbb40fc
commit
cbcc4f7e23
|
|
@ -564,7 +564,11 @@ db.getBookmarksTable = function(params) {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
var bookmarksClickCount, bookmarksCreatedAt, bookmarksLatestClick;
|
var temp = [];
|
||||||
|
var bookmarks = [];
|
||||||
|
var begin = (params.currentPage - 1) * params.perPageItems;
|
||||||
|
var end = params.currentPage * params.perPageItems;
|
||||||
|
|
||||||
result.sort((a, b) => {
|
result.sort((a, b) => {
|
||||||
var click1 = parseInt(a.click_count);
|
var click1 = parseInt(a.click_count);
|
||||||
var click2 = parseInt(b.click_count);
|
var click2 = parseInt(b.click_count);
|
||||||
|
|
@ -576,19 +580,50 @@ db.getBookmarksTable = function(params) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
bookmarksClickCount = result.slice((params.currentPage - 1) * params.perPageItems, params.currentPage * params.perPageItems);
|
temp = result.slice(begin, end);
|
||||||
|
temp.forEach((b1) => {
|
||||||
|
var find = false;
|
||||||
|
bookmarks.forEach((b2) => {
|
||||||
|
if (b1.id == b2.id) {
|
||||||
|
find = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!find) {
|
||||||
|
bookmarks.push(b1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
result.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
result.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
||||||
bookmarksCreatedAt = result.slice((params.currentPage - 1) * params.perPageItems, params.currentPage * params.perPageItems);
|
temp = result.slice(begin, end);
|
||||||
|
temp.forEach((b1) => {
|
||||||
|
var find = false;
|
||||||
|
bookmarks.forEach((b2) => {
|
||||||
|
if (b1.id == b2.id) {
|
||||||
|
find = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!find) {
|
||||||
|
bookmarks.push(b1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
result.sort((a, b) => a.last_click >= b.last_click ? -1 : 1);
|
result.sort((a, b) => a.last_click >= b.last_click ? -1 : 1);
|
||||||
bookmarksLatestClick = result.slice((params.currentPage - 1) * params.perPageItems, params.currentPage * params.perPageItems);
|
temp = result.slice(begin, end);
|
||||||
|
temp.forEach((b1) => {
|
||||||
|
var find = false;
|
||||||
|
bookmarks.forEach((b2) => {
|
||||||
|
if (b1.id == b2.id) {
|
||||||
|
find = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!find) {
|
||||||
|
bookmarks.push(b1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
var bookmarksData = {
|
var bookmarksData = {
|
||||||
totalItems: result.length,
|
totalItems: result.length,
|
||||||
bookmarksClickCount: bookmarksClickCount,
|
bookmarks: bookmarks,
|
||||||
bookmarksCreatedAt: bookmarksCreatedAt,
|
|
||||||
bookmarksLatestClick: bookmarksLatestClick,
|
|
||||||
}
|
}
|
||||||
resolve(bookmarksData);
|
resolve(bookmarksData);
|
||||||
}
|
}
|
||||||
|
|
@ -608,7 +643,11 @@ db.getBookmarksByTag = function(params) {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
var bookmarksClickCount, bookmarksCreatedAt, bookmarksLatestClick;
|
var temp = [];
|
||||||
|
var bookmarks = [];
|
||||||
|
var begin = (params.currentPage - 1) * params.perPageItems;
|
||||||
|
var end = params.currentPage * params.perPageItems;
|
||||||
|
|
||||||
result.sort((a, b) => {
|
result.sort((a, b) => {
|
||||||
var click1 = parseInt(a.click_count);
|
var click1 = parseInt(a.click_count);
|
||||||
var click2 = parseInt(b.click_count);
|
var click2 = parseInt(b.click_count);
|
||||||
|
|
@ -620,19 +659,50 @@ db.getBookmarksByTag = function(params) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
bookmarksClickCount = result.slice((params.currentPage - 1) * params.perPageItems, params.currentPage * params.perPageItems);
|
temp = result.slice(begin, end);
|
||||||
|
temp.forEach((b1) => {
|
||||||
|
var find = false;
|
||||||
|
bookmarks.forEach((b2) => {
|
||||||
|
if (b1.id == b2.id) {
|
||||||
|
find = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!find) {
|
||||||
|
bookmarks.push(b1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
result.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
result.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
||||||
bookmarksCreatedAt = result.slice((params.currentPage - 1) * params.perPageItems, params.currentPage * params.perPageItems);
|
temp = result.slice(begin, end);
|
||||||
|
temp.forEach((b1) => {
|
||||||
|
var find = false;
|
||||||
|
bookmarks.forEach((b2) => {
|
||||||
|
if (b1.id == b2.id) {
|
||||||
|
find = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!find) {
|
||||||
|
bookmarks.push(b1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
result.sort((a, b) => a.last_click >= b.last_click ? -1 : 1);
|
result.sort((a, b) => a.last_click >= b.last_click ? -1 : 1);
|
||||||
bookmarksLatestClick = result.slice((params.currentPage - 1) * params.perPageItems, params.currentPage * params.perPageItems);
|
temp = result.slice(begin, end);
|
||||||
|
temp.forEach((b1) => {
|
||||||
|
var find = false;
|
||||||
|
bookmarks.forEach((b2) => {
|
||||||
|
if (b1.id == b2.id) {
|
||||||
|
find = true;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (!find) {
|
||||||
|
bookmarks.push(b1);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
var bookmarksData = {
|
var bookmarksData = {
|
||||||
totalItems: result.length,
|
totalItems: result.length,
|
||||||
bookmarksClickCount: bookmarksClickCount,
|
bookmarks: bookmarks,
|
||||||
bookmarksCreatedAt: bookmarksCreatedAt,
|
|
||||||
bookmarksLatestClick: bookmarksLatestClick,
|
|
||||||
}
|
}
|
||||||
resolve(bookmarksData);
|
resolve(bookmarksData);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ app.controller('bookmarkInfoCtr', ['$scope', '$state', '$timeout', '$sce', '$win
|
||||||
id: id
|
id: id
|
||||||
});
|
});
|
||||||
$scope.bookmark.click_count += 1;
|
$scope.bookmark.click_count += 1;
|
||||||
$scope.bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd");
|
$scope.bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
clicked: false,
|
clicked: false,
|
||||||
name: '最多使用'
|
name: '最多使用'
|
||||||
}]
|
}]
|
||||||
|
var timeagoInstance = timeago();
|
||||||
|
|
||||||
updateShowStyle();
|
updateShowStyle();
|
||||||
getBookmarks();
|
getBookmarks();
|
||||||
|
|
@ -58,7 +59,9 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
$scope.bookmarks.forEach(function(bookmark) {
|
$scope.bookmarks.forEach(function(bookmark) {
|
||||||
if (bookmark.id == id) {
|
if (bookmark.id == id) {
|
||||||
bookmark.click_count += 1;
|
bookmark.click_count += 1;
|
||||||
bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd");
|
bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd HH:mm:ss");
|
||||||
|
$("#time"+bookmark.id).attr('data-timeago', bookmark.last_click);
|
||||||
|
timeagoInstance.render(document.querySelectorAll("#time"+bookmark.id), 'zh_CN');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -109,15 +112,10 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
var bookmark = $.extend(true, {}, b); // 利用jQuery执行深度拷贝
|
var bookmark = $.extend(true, {}, b); // 利用jQuery执行深度拷贝
|
||||||
bookmark.own = true;
|
bookmark.own = true;
|
||||||
if ($scope.showStyle == 'navigate') {
|
if ($scope.showStyle == 'navigate') {
|
||||||
bookmark.last_click = bookmark.last_click.substring(0, 10);
|
|
||||||
bookmark.created_at = bookmark.created_at.substring(0, 10);
|
|
||||||
bookmark.tags = [{
|
bookmark.tags = [{
|
||||||
id: bookmark.tag_id,
|
id: bookmark.tag_id,
|
||||||
name: bookmark.tag_name
|
name: bookmark.tag_name
|
||||||
}];
|
}];
|
||||||
} else if ($scope.showStyle == 'card') {
|
|
||||||
bookmark.last_click = bookmark.last_click.substring(0, 10);
|
|
||||||
bookmark.created_at = bookmark.created_at.substring(0, 10);
|
|
||||||
}
|
}
|
||||||
pubSubService.publish('TagCtr.showBookmarkInfo', bookmark);
|
pubSubService.publish('TagCtr.showBookmarkInfo', bookmark);
|
||||||
bookmarkService.clickBookmark({
|
bookmarkService.clickBookmark({
|
||||||
|
|
@ -183,16 +181,21 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
}
|
}
|
||||||
$scope.order = $scope.order.map(() => false);
|
$scope.order = $scope.order.map(() => false);
|
||||||
$scope.order[index] = true;
|
$scope.order[index] = true;
|
||||||
|
var begin = ($scope.currentPage - 1) * perPageItems;
|
||||||
|
var end = $scope.currentPage * perPageItems;
|
||||||
if ($scope.order[0]) {
|
if ($scope.order[0]) {
|
||||||
$scope.bookmarks = $scope.bookmarkData.bookmarksClickCount;
|
$scope.bookmarkData.bookmarks.sort(clickCmp)
|
||||||
|
$scope.bookmarks = $scope.bookmarkData.bookmarks.slice(begin, end);
|
||||||
} else if ($scope.order[1]) {
|
} else if ($scope.order[1]) {
|
||||||
$scope.bookmarks = $scope.bookmarkData.bookmarksCreatedAt;
|
$scope.bookmarkData.bookmarks.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
||||||
|
$scope.bookmarks = $scope.bookmarkData.bookmarks.slice(begin, end);
|
||||||
} else {
|
} else {
|
||||||
$scope.bookmarks = $scope.bookmarkData.bookmarksLatestClick;
|
$scope.bookmarkData.bookmarks.sort((a, b) => a.last_click >= b.last_click ? -1 : 1);
|
||||||
|
$scope.bookmarks = $scope.bookmarkData.bookmarks.slice(begin, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
var timeagoInstance = timeago();
|
timeagoInstance.cancel();
|
||||||
timeagoInstance.render(document.querySelectorAll('.need_to_be_rendered'), 'zh_CN');
|
timeagoInstance.render(document.querySelectorAll('.need_to_be_rendered'), 'zh_CN');
|
||||||
}, 100)
|
}, 100)
|
||||||
}
|
}
|
||||||
|
|
@ -209,17 +212,7 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
} else if (index == 1) {
|
} else if (index == 1) {
|
||||||
$scope.bookmarkData.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
$scope.bookmarkData.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
||||||
} else {
|
} else {
|
||||||
$scope.bookmarkData.sort((a, b) => {
|
$scope.bookmarkData.sort(clickCmp)
|
||||||
var click1 = parseInt(a.click_count);
|
|
||||||
var click2 = parseInt(b.click_count);
|
|
||||||
if (click1 > click2) {
|
|
||||||
return -1;
|
|
||||||
} else if (click1 == click2) {
|
|
||||||
return a.created_at >= b.created_at ? -1 : 1;
|
|
||||||
} else {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
$scope.bookmarks = $scope.bookmarkData.slice(0, 68);
|
$scope.bookmarks = $scope.bookmarkData.slice(0, 68);
|
||||||
}
|
}
|
||||||
|
|
@ -248,7 +241,7 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
if (!params.showStyle) {
|
if (!params.showStyle) {
|
||||||
bookmarkService.userInfo({})
|
bookmarkService.userInfo({})
|
||||||
.then((user) => {
|
.then((user) => {
|
||||||
$scope.showStyle = user && user.show_style;
|
$scope.showStyle = (user && user.show_style) || 'navigate';
|
||||||
updateShowStyle();
|
updateShowStyle();
|
||||||
getBookmarks(); // 拿到默认显示风格了,继续取获取书签
|
getBookmarks(); // 拿到默认显示风格了,继续取获取书签
|
||||||
})
|
})
|
||||||
|
|
@ -363,4 +356,16 @@ app.controller('bookmarksCtr', ['$scope', '$state', '$stateParams', '$filter', '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clickCmp(a, b){
|
||||||
|
var click1 = parseInt(a.click_count);
|
||||||
|
var click2 = parseInt(b.click_count);
|
||||||
|
if (click1 > click2) {
|
||||||
|
return -1;
|
||||||
|
} else if (click1 == click2) {
|
||||||
|
return a.created_at >= b.created_at ? -1 : 1;
|
||||||
|
} else {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}]);
|
}]);
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi
|
||||||
$scope.loading = false;
|
$scope.loading = false;
|
||||||
$scope.waitDelBookmark = {};
|
$scope.waitDelBookmark = {};
|
||||||
$scope.searchHotBookmarks = false;
|
$scope.searchHotBookmarks = false;
|
||||||
|
var timeagoInstance = timeago();
|
||||||
|
|
||||||
$scope.changeCurrentPage = function(currentPage) {
|
$scope.changeCurrentPage = function(currentPage) {
|
||||||
currentPage = parseInt(currentPage) || 0;
|
currentPage = parseInt(currentPage) || 0;
|
||||||
|
|
@ -62,9 +63,11 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi
|
||||||
id: id
|
id: id
|
||||||
});
|
});
|
||||||
$scope.bookmarks.forEach(function(bookmark) {
|
$scope.bookmarks.forEach(function(bookmark) {
|
||||||
if (bookmark.id == id) {
|
if (bookmark.id == id && bookmark.own) {
|
||||||
bookmark.click_count += 1;
|
bookmark.click_count += 1;
|
||||||
bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd");
|
bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd HH:mm:ss");
|
||||||
|
$("#time"+bookmark.id).attr('data-timeago', bookmark.last_click);
|
||||||
|
timeagoInstance.render(document.querySelectorAll("#time"+bookmark.id), 'zh_CN');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -274,7 +277,6 @@ app.controller('searchCtr', ['$scope', '$state', '$stateParams', '$filter', '$wi
|
||||||
|
|
||||||
function transition() {
|
function transition() {
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
var timeagoInstance = timeago();
|
|
||||||
timeagoInstance.render(document.querySelectorAll('.need_to_be_rendered'), 'zh_CN');
|
timeagoInstance.render(document.querySelectorAll('.need_to_be_rendered'), 'zh_CN');
|
||||||
}, 100)
|
}, 100)
|
||||||
var className = 'js-table-search';
|
var className = 'js-table-search';
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
$scope.waitDelTag = {};
|
$scope.waitDelTag = {};
|
||||||
$scope.waitDelBookmark = {};
|
$scope.waitDelBookmark = {};
|
||||||
$scope.bookmarkData = {};
|
$scope.bookmarkData = {};
|
||||||
|
var timeagoInstance = timeago();
|
||||||
|
|
||||||
pubSubService.subscribe('MenuCtr.tags', $scope, function(event, data) {
|
pubSubService.subscribe('MenuCtr.tags', $scope, function(event, data) {
|
||||||
console.log('subscribe MenuCtr.tags', data);
|
console.log('subscribe MenuCtr.tags', data);
|
||||||
|
|
@ -34,15 +35,21 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
}
|
}
|
||||||
$scope.order = $scope.order.map(() => false);
|
$scope.order = $scope.order.map(() => false);
|
||||||
$scope.order[index] = true;
|
$scope.order[index] = true;
|
||||||
|
var begin = ($scope.currentPage - 1) * perPageItems;
|
||||||
|
var end = $scope.currentPage * perPageItems;
|
||||||
|
|
||||||
if ($scope.order[0]) {
|
if ($scope.order[0]) {
|
||||||
$scope.bookmarks = $scope.bookmarkData.bookmarksClickCount;
|
$scope.bookmarkData.bookmarks.sort(clickCmp)
|
||||||
|
$scope.bookmarks = $scope.bookmarkData.bookmarks.slice(begin, end);;
|
||||||
} else if ($scope.order[1]) {
|
} else if ($scope.order[1]) {
|
||||||
$scope.bookmarks = $scope.bookmarkData.bookmarksCreatedAt;
|
$scope.bookmarkData.bookmarks.sort((a, b) => a.created_at >= b.created_at ? -1 : 1);
|
||||||
|
$scope.bookmarks = $scope.bookmarkData.bookmarks.slice(begin, end);;
|
||||||
} else {
|
} else {
|
||||||
$scope.bookmarks = $scope.bookmarkData.bookmarksLatestClick;
|
$scope.bookmarkData.bookmarks.sort((a, b) => a.last_click >= b.last_click ? -1 : 1);
|
||||||
|
$scope.bookmarks = $scope.bookmarkData.bookmarks.slice(begin, end);;
|
||||||
}
|
}
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
var timeagoInstance = timeago();
|
timeagoInstance.cancel();
|
||||||
timeagoInstance.render(document.querySelectorAll('.need_to_be_rendered'), 'zh_CN');
|
timeagoInstance.render(document.querySelectorAll('.need_to_be_rendered'), 'zh_CN');
|
||||||
}, 100)
|
}, 100)
|
||||||
}
|
}
|
||||||
|
|
@ -104,10 +111,12 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
bookmarkService.clickBookmark({
|
bookmarkService.clickBookmark({
|
||||||
id: id
|
id: id
|
||||||
});
|
});
|
||||||
$scope.bookmarks.forEach(function(bookmark) {
|
$scope.bookmarks.forEach(function(bookmark, index) {
|
||||||
if (bookmark.id == id) {
|
if (bookmark.id == id) {
|
||||||
bookmark.click_count += 1;
|
bookmark.click_count += 1;
|
||||||
bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd");
|
bookmark.last_click = $filter("date")(new Date(), "yyyy-MM-dd HH:mm:ss");
|
||||||
|
$("#time"+bookmark.id).attr('data-timeago', bookmark.last_click);
|
||||||
|
timeagoInstance.render(document.querySelectorAll("#time"+bookmark.id), 'zh_CN');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -469,4 +478,16 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
duration: 500,
|
duration: 500,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clickCmp(a, b){
|
||||||
|
var click1 = parseInt(a.click_count);
|
||||||
|
var click2 = parseInt(b.click_count);
|
||||||
|
if (click1 > click2) {
|
||||||
|
return -1;
|
||||||
|
} else if (click1 == click2) {
|
||||||
|
return a.created_at >= b.created_at ? -1 : 1;
|
||||||
|
} else {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}]);
|
}]);
|
||||||
|
|
|
||||||
|
|
@ -106,7 +106,7 @@
|
||||||
<span title="{{bookmark.created_at}}" class="need_to_be_rendered" data-timeago="{{bookmark.created_at}}"></span>
|
<span title="{{bookmark.created_at}}" class="need_to_be_rendered" data-timeago="{{bookmark.created_at}}"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span title="{{bookmark.last_click}}" class="need_to_be_rendered" data-timeago="{{bookmark.last_click}}"></span>
|
<span id="time{{bookmark.id}}" title="{{bookmark.last_click}}" class="need_to_be_rendered" data-timeago="{{bookmark.last_click}}"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="ui label" ng-repeat="tag in bookmark.tags" tag-id="{{ tag.id }}" ng-click="jumpToTags(tag.id)">
|
<div class="ui label" ng-repeat="tag in bookmark.tags" tag-id="{{ tag.id }}" ng-click="jumpToTags(tag.id)">
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,7 @@
|
||||||
<span title="{{bookmark.created_at}}" class="need_to_be_rendered" data-timeago="{{bookmark.created_at}}"></span>
|
<span title="{{bookmark.created_at}}" class="need_to_be_rendered" data-timeago="{{bookmark.created_at}}"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span title="{{bookmark.last_click}}" class="need_to_be_rendered" data-timeago="{{bookmark.last_click}}"></span>
|
<span id="time{{bookmark.id}}" title="{{bookmark.last_click}}" class="need_to_be_rendered" data-timeago="{{bookmark.last_click}}"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="ui label" ng-repeat="tag in bookmark.tags" tag-id="{{ tag.id }}" ng-if="!searchHotBookmarks">
|
<div class="ui label" ng-repeat="tag in bookmark.tags" tag-id="{{ tag.id }}" ng-if="!searchHotBookmarks">
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@
|
||||||
<span title="{{bookmark.created_at}}" class="need_to_be_rendered" data-timeago="{{bookmark.created_at}}"></span>
|
<span title="{{bookmark.created_at}}" class="need_to_be_rendered" data-timeago="{{bookmark.created_at}}"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span title="{{bookmark.last_click}}" class="need_to_be_rendered" data-timeago="{{bookmark.last_click}}"></span>
|
<span id="time{{bookmark.id}}" title="{{bookmark.last_click}}" class="need_to_be_rendered" data-timeago="{{bookmark.last_click}}"></span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="ui label" ng-repeat="tag in bookmark.tags" tag-id="{{ tag.id }}" ng-click="getBookmarks(tag.id, 1)">
|
<div class="ui label" ng-repeat="tag in bookmark.tags" tag-id="{{ tag.id }}" ng-click="getBookmarks(tag.id, 1)">
|
||||||
|
|
|
||||||
|
|
@ -315,6 +315,8 @@ api.get('/bookmarks', function(req, res) {
|
||||||
tag.bookmarks = [];
|
tag.bookmarks = [];
|
||||||
}
|
}
|
||||||
tag.click += bookmark.click_count;
|
tag.click += bookmark.click_count;
|
||||||
|
bookmark.created_at = new Date(bookmark.created_at).format("yyyy-MM-dd hh:mm:ss");
|
||||||
|
bookmark.last_click = new Date(bookmark.last_click).format("yyyy-MM-dd hh:mm:ss");
|
||||||
tag.bookmarks.push(bookmark);
|
tag.bookmarks.push(bookmark);
|
||||||
});
|
});
|
||||||
if (result && result.length > 0) {
|
if (result && result.length > 0) {
|
||||||
|
|
@ -367,19 +369,14 @@ api.get('/bookmarks', function(req, res) {
|
||||||
var tagsBookmarks = [];
|
var tagsBookmarks = [];
|
||||||
var sendData = {
|
var sendData = {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
bookmarksClickCount: [],
|
bookmarks: [],
|
||||||
bookmarksCreatedAt: [],
|
|
||||||
bookmarksLatestClick: [],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
params.userId = userId;
|
params.userId = userId;
|
||||||
db.getBookmarksTable(params)
|
db.getBookmarksTable(params)
|
||||||
.then((bookmarksData) => {
|
.then((bookmarksData) => {
|
||||||
sendData = bookmarksData;
|
sendData = bookmarksData;
|
||||||
var bookmarkIds = []
|
var bookmarkIds = sendData.bookmarks.map((bookmark) => bookmark.id)
|
||||||
.concat(sendData.bookmarksClickCount.map((bookmark) => bookmark.id))
|
|
||||||
.concat(sendData.bookmarksCreatedAt.map((bookmark) => bookmark.id))
|
|
||||||
.concat(sendData.bookmarksLatestClick.map((bookmark) => bookmark.id))
|
|
||||||
return db.getTagsBookmarks(bookmarkIds);
|
return db.getTagsBookmarks(bookmarkIds);
|
||||||
})
|
})
|
||||||
.then((tbs) => {
|
.then((tbs) => {
|
||||||
|
|
@ -387,22 +384,20 @@ api.get('/bookmarks', function(req, res) {
|
||||||
return db.getTags(userId);
|
return db.getTags(userId);
|
||||||
})
|
})
|
||||||
.then((tags) => {
|
.then((tags) => {
|
||||||
var objectName = ['bookmarksClickCount', 'bookmarksCreatedAt', 'bookmarksLatestClick'];
|
sendData.bookmarks.forEach(function(bookmark, index) {
|
||||||
objectName.forEach((name) => {
|
var bookmarkTags = [];
|
||||||
sendData[name].forEach(function(bookmark, index) {
|
tagsBookmarks.forEach(function(tb) {
|
||||||
var bookmarkTags = [];
|
if (tb.bookmark_id == bookmark.id) {
|
||||||
tagsBookmarks.forEach(function(tb) {
|
tags.forEach(function(tag) {
|
||||||
if (tb.bookmark_id == bookmark.id) {
|
if (tb.tag_id == tag.id) {
|
||||||
tags.forEach(function(tag) {
|
bookmarkTags.push(tag)
|
||||||
if (tb.tag_id == tag.id) {
|
}
|
||||||
bookmarkTags.push(tag)
|
})
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
sendData.bookmarks[index].tags = bookmarkTags;
|
||||||
});
|
|
||||||
sendData[name][index].tags = bookmarkTags;
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
res.json(sendData);
|
res.json(sendData);
|
||||||
})
|
})
|
||||||
.catch((err) => console.log('bookmarks table or card err', err))
|
.catch((err) => console.log('bookmarks table or card err', err))
|
||||||
|
|
@ -440,17 +435,12 @@ api.get('/bookmarksByTag', function(req, res) {
|
||||||
var totalItems = 0;
|
var totalItems = 0;
|
||||||
var sendData = {
|
var sendData = {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
bookmarksClickCount: [],
|
bookmarks: [],
|
||||||
bookmarksCreatedAt: [],
|
|
||||||
bookmarksLatestClick: [],
|
|
||||||
}
|
}
|
||||||
db.getBookmarksByTag(params)
|
db.getBookmarksByTag(params)
|
||||||
.then((bookmarksData) => {
|
.then((bookmarksData) => {
|
||||||
sendData = bookmarksData;
|
sendData = bookmarksData;
|
||||||
var bookmarkIds = []
|
var bookmarkIds = sendData.bookmarks.map((bookmark) => bookmark.id)
|
||||||
.concat(sendData.bookmarksClickCount.map((bookmark) => bookmark.id))
|
|
||||||
.concat(sendData.bookmarksCreatedAt.map((bookmark) => bookmark.id))
|
|
||||||
.concat(sendData.bookmarksLatestClick.map((bookmark) => bookmark.id))
|
|
||||||
return db.getTagsBookmarks(bookmarkIds);
|
return db.getTagsBookmarks(bookmarkIds);
|
||||||
})
|
})
|
||||||
.then((tbs) => {
|
.then((tbs) => {
|
||||||
|
|
@ -459,25 +449,22 @@ api.get('/bookmarksByTag', function(req, res) {
|
||||||
})
|
})
|
||||||
.then((tags) => {
|
.then((tags) => {
|
||||||
// 获取每个书签的所有分类标签
|
// 获取每个书签的所有分类标签
|
||||||
var objectName = ['bookmarksClickCount', 'bookmarksCreatedAt', 'bookmarksLatestClick'];
|
sendData.bookmarks.forEach(function(bookmark, index) {
|
||||||
objectName.forEach((name) => {
|
var bookmarkTags = [];
|
||||||
sendData[name].forEach(function(bookmark, index) {
|
tagsBookmarks.forEach(function(tb) {
|
||||||
var bookmarkTags = [];
|
if (tb.bookmark_id == bookmark.id) {
|
||||||
tagsBookmarks.forEach(function(tb) {
|
tags.forEach(function(tag) {
|
||||||
if (tb.bookmark_id == bookmark.id) {
|
if (tb.tag_id == tag.id) {
|
||||||
tags.forEach(function(tag) {
|
bookmarkTags.push(tag)
|
||||||
if (tb.tag_id == tag.id) {
|
}
|
||||||
bookmarkTags.push(tag)
|
})
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
sendData.bookmarks[index].tags = bookmarkTags;
|
||||||
});
|
|
||||||
sendData[name][index].tags = bookmarkTags;
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
res.json(sendData);
|
res.json(sendData);
|
||||||
})
|
})
|
||||||
.catch((err) => console.log('bookmarks table or card err', err))
|
.catch((err) => console.log('getBookmarksByTag err', err))
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue