增加全站定制
This commit is contained in:
parent
b2c443b041
commit
289c286861
|
|
@ -627,6 +627,69 @@ db.getBookmarksCostomTag = function(user_id, perPageItems) {
|
|||
});
|
||||
};
|
||||
|
||||
db.getBookmarksCostomAllUsersTag = function(user_id, perPageItems) {
|
||||
console.log('getBookmarksCostomAllUsersTag', user_id, perPageItems);
|
||||
perPageItems = perPageItems || 50;
|
||||
var sql1 = "(SELECT id, user_id, title, description, url, public, click_count, DATE_FORMAT(created_at, '%Y-%m-%d %H:%i:%s') as created_at, DATE_FORMAT(last_click, '%Y-%m-%d %H:%i:%s') as last_click FROM `bookmarks` WHERE `user_id` != '" + user_id + "' ORDER BY `click_count` DESC LIMIT 0, " + perPageItems + ")";
|
||||
var sql2 = "(SELECT id, user_id, title, description, url, public, click_count, DATE_FORMAT(created_at, '%Y-%m-%d %H:%i:%s') as created_at, DATE_FORMAT(last_click, '%Y-%m-%d %H:%i:%s') as last_click FROM `bookmarks` WHERE `user_id` != '" + user_id + "' ORDER BY `created_at` DESC LIMIT 0, " + perPageItems + ")";
|
||||
var sql3 = "(SELECT id, user_id, title, description, url, public, click_count, DATE_FORMAT(created_at, '%Y-%m-%d %H:%i:%s') as created_at, DATE_FORMAT(last_click, '%Y-%m-%d %H:%i:%s') as last_click FROM `bookmarks` WHERE `user_id` != '" + user_id + "' ORDER BY `last_click` DESC LIMIT 0, " + perPageItems + ")";
|
||||
|
||||
var sql = sql1 + " UNION " + sql2 + " UNION " + sql3;
|
||||
return new Promise(function(resolve, reject) {
|
||||
client.query(sql, (err, result) => {
|
||||
if (err) {
|
||||
reject(err);
|
||||
} else {
|
||||
var bookmarks = [];
|
||||
var begin = 0;
|
||||
var end = perPageItems;
|
||||
|
||||
result.sort((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;
|
||||
}
|
||||
})
|
||||
.slice(begin, end)
|
||||
.forEach((b) => {
|
||||
var bookmark = JSON.parse(JSON.stringify(b)); // 执行深度复制
|
||||
bookmark.type = 1;
|
||||
bookmarks.push(bookmark);
|
||||
})
|
||||
|
||||
result.sort((a, b) => a.created_at >= b.created_at ? -1 : 1)
|
||||
.slice(begin, end)
|
||||
.forEach((b) => {
|
||||
var bookmark = JSON.parse(JSON.stringify(b)); // 执行深度复制
|
||||
bookmark.type = 2;
|
||||
bookmarks.push(bookmark);
|
||||
})
|
||||
|
||||
result.sort((a, b) => a.last_click >= b.last_click ? -1 : 1)
|
||||
.slice(begin, end)
|
||||
.forEach((b) => {
|
||||
var bookmark = JSON.parse(JSON.stringify(b)); // 执行深度复制
|
||||
bookmark.type = 3;
|
||||
bookmarks.push(bookmark);
|
||||
})
|
||||
|
||||
|
||||
var bookmarksData = {
|
||||
totalItems: result.length,
|
||||
bookmarks: bookmarks,
|
||||
}
|
||||
resolve(bookmarksData);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
db.getBookmarksTable = function(params) {
|
||||
var user_id = params.userId;
|
||||
params.currentPage = params.currentPage || 1;
|
||||
|
|
|
|||
|
|
@ -31,7 +31,13 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
|||
id: -1,
|
||||
cnt: 50,
|
||||
bookmarkClicked: false,
|
||||
name: '分类定制',
|
||||
name: '个人定制',
|
||||
}
|
||||
$scope.costomAllUsersTag = {
|
||||
id: -1,
|
||||
cnt: 50,
|
||||
bookmarkClicked: false,
|
||||
name: '全站定制',
|
||||
}
|
||||
|
||||
var timeagoInstance = timeago();
|
||||
|
|
@ -100,6 +106,10 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
|||
$scope.costomTag.bookmarkClicked = true;
|
||||
}
|
||||
|
||||
if (tagId == -2) {
|
||||
$scope.costomAllUsersTag.bookmarkClicked = true;
|
||||
}
|
||||
|
||||
var params = {
|
||||
tagId: tagId,
|
||||
currentPage: currentPage,
|
||||
|
|
@ -113,7 +123,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
|||
$scope.bookmarkData = data;
|
||||
$scope.changeOrder($scope.order.indexOf(true));
|
||||
$scope.bookmarkCount = $scope.bookmarkData.totalItems;
|
||||
$scope.totalPages = tagId == -1 ? 1 : Math.ceil($scope.bookmarkCount / perPageItems);
|
||||
$scope.totalPages = tagId <= -1 ? 1 : Math.ceil($scope.bookmarkCount / perPageItems);
|
||||
|
||||
$scope.inputPage = '';
|
||||
$scope.loadBookmarks = false;
|
||||
|
|
|
|||
|
|
@ -13,6 +13,12 @@
|
|||
({{ costomTag.cnt || 0 }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="two wide column js-tag-label">
|
||||
<div class="ui small label" ng-class="{green:costomAllUsersTag.bookmarkClicked}" ng-click="getBookmarks(-2, 1)">
|
||||
{{ costomAllUsersTag.name }}
|
||||
({{ costomAllUsersTag.cnt || 0 }})
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui container" ng-show="editMode" ng-mousedown="storeTagIndex()" ng-mouseup="updateTagIndex()">
|
||||
|
|
|
|||
|
|
@ -515,9 +515,9 @@ api.get('/bookmarksByTag', function(req, res) {
|
|||
bookmarks: [],
|
||||
}
|
||||
|
||||
var fun = (params.tagId == -1) ? (db.getBookmarksCostomTag) : (db.getBookmarksByTag);
|
||||
var fun = (params.tagId <= -1) ? (params.tagId == -1 ? db.getBookmarksCostomTag : db.getBookmarksCostomAllUsersTag) : (db.getBookmarksByTag);
|
||||
|
||||
fun((params.tagId == -1) ? (userId) : (params), params.perPageItems)
|
||||
fun((params.tagId <= -1) ? (userId) : (params), params.perPageItems)
|
||||
.then((bookmarksData) => {
|
||||
sendData = bookmarksData;
|
||||
var bookmarkIds = sendData.bookmarks.map((bookmark) => bookmark.id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue