分类里面增加分类定制
This commit is contained in:
parent
757ff6fd09
commit
c38f9b5593
|
|
@ -565,11 +565,12 @@ db.getBookmarksNavigate = function(tags) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
db.getBookmarksCostomTag = function(user_id) {
|
db.getBookmarksCostomTag = function(user_id, perPageItems) {
|
||||||
console.log('getBookmarksCostomTag');
|
console.log('getBookmarksCostomTag', user_id, perPageItems);
|
||||||
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, 79)";
|
perPageItems = perPageItems || 50;
|
||||||
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, 79)";
|
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 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, 79)";
|
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;
|
var sql = sql1 + " UNION " + sql2 + " UNION " + sql3;
|
||||||
return new Promise(function(resolve, reject) {
|
return new Promise(function(resolve, reject) {
|
||||||
|
|
@ -577,7 +578,50 @@ db.getBookmarksCostomTag = function(user_id) {
|
||||||
if (err) {
|
if (err) {
|
||||||
reject(err);
|
reject(err);
|
||||||
} else {
|
} else {
|
||||||
resolve(result);
|
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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,12 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
$scope.waitDelBookmark = {};
|
$scope.waitDelBookmark = {};
|
||||||
$scope.bookmarkData = {};
|
$scope.bookmarkData = {};
|
||||||
$scope.bookmarkNormalHover = false;
|
$scope.bookmarkNormalHover = false;
|
||||||
|
$scope.costomTag = {
|
||||||
|
id: -1,
|
||||||
|
cnt: 50,
|
||||||
|
bookmarkClicked: false,
|
||||||
|
name: '分类定制',
|
||||||
|
}
|
||||||
|
|
||||||
var timeagoInstance = timeago();
|
var timeagoInstance = timeago();
|
||||||
|
|
||||||
|
|
@ -74,6 +80,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
$scope.currentTagId = tagId;
|
$scope.currentTagId = tagId;
|
||||||
$scope.currentPage = currentPage;
|
$scope.currentPage = currentPage;
|
||||||
$scope.loadBookmarks = true;
|
$scope.loadBookmarks = true;
|
||||||
|
$scope.costomTag.bookmarkClicked = false;
|
||||||
|
|
||||||
perPageItems = ($scope.showMode == 'item') ? 50 : 20;
|
perPageItems = ($scope.showMode == 'item') ? 50 : 20;
|
||||||
|
|
||||||
|
|
@ -84,6 +91,10 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (tagId == -1) {
|
||||||
|
$scope.costomTag.bookmarkClicked = true;
|
||||||
|
}
|
||||||
|
|
||||||
var params = {
|
var params = {
|
||||||
tagId: tagId,
|
tagId: tagId,
|
||||||
currentPage: currentPage,
|
currentPage: currentPage,
|
||||||
|
|
@ -96,7 +107,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$window', '$stateParams', '$tim
|
||||||
$scope.bookmarkData = data;
|
$scope.bookmarkData = data;
|
||||||
$scope.changeOrder($scope.order.indexOf(true));
|
$scope.changeOrder($scope.order.indexOf(true));
|
||||||
$scope.bookmarkCount = $scope.bookmarkData.totalItems;
|
$scope.bookmarkCount = $scope.bookmarkData.totalItems;
|
||||||
$scope.totalPages = Math.ceil($scope.bookmarkCount / perPageItems);
|
$scope.totalPages = tagId == -1 ? 1 : Math.ceil($scope.bookmarkCount / perPageItems);
|
||||||
|
|
||||||
$scope.inputPage = '';
|
$scope.inputPage = '';
|
||||||
$scope.loadBookmarks = false;
|
$scope.loadBookmarks = false;
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,12 @@
|
||||||
({{ tag.cnt || 0 }})
|
({{ tag.cnt || 0 }})
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="two wide column js-tag-label">
|
||||||
|
<div class="ui small label" ng-class="{green:costomTag.bookmarkClicked}" ng-click="getBookmarks(-1, 1)">
|
||||||
|
{{ costomTag.name }}
|
||||||
|
({{ costomTag.cnt || 0 }})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui container" ng-show="editMode" ng-mousedown="storeTagIndex()" ng-mouseup="updateTagIndex()">
|
<div class="ui container" ng-show="editMode" ng-mousedown="storeTagIndex()" ng-mouseup="updateTagIndex()">
|
||||||
|
|
|
||||||
|
|
@ -417,8 +417,8 @@ api.get('/bookmarks', function(req, res) {
|
||||||
} else if (params.showStyle === 'costomTag') {
|
} else if (params.showStyle === 'costomTag') {
|
||||||
var bookmarks = []
|
var bookmarks = []
|
||||||
db.getBookmarksCostomTag(userId)
|
db.getBookmarksCostomTag(userId)
|
||||||
.then((_bookmarks) => {
|
.then((bookmarksData) => {
|
||||||
bookmarks = _bookmarks;
|
bookmarks = bookmarksData.bookmarks;
|
||||||
var bookmarkIds = bookmarks.map((bookmark) => bookmark.id)
|
var bookmarkIds = bookmarks.map((bookmark) => bookmark.id)
|
||||||
return db.getTagsBookmarks(bookmarkIds);
|
return db.getTagsBookmarks(bookmarkIds);
|
||||||
})
|
})
|
||||||
|
|
@ -511,7 +511,10 @@ api.get('/bookmarksByTag', function(req, res) {
|
||||||
totalItems: 0,
|
totalItems: 0,
|
||||||
bookmarks: [],
|
bookmarks: [],
|
||||||
}
|
}
|
||||||
db.getBookmarksByTag(params)
|
|
||||||
|
var fun = (params.tagId == -1) ? (db.getBookmarksCostomTag) : (db.getBookmarksByTag);
|
||||||
|
|
||||||
|
fun((params.tagId == -1) ? (userId) : (params), params.perPageItems)
|
||||||
.then((bookmarksData) => {
|
.then((bookmarksData) => {
|
||||||
sendData = bookmarksData;
|
sendData = bookmarksData;
|
||||||
var bookmarkIds = sendData.bookmarks.map((bookmark) => bookmark.id)
|
var bookmarkIds = sendData.bookmarks.map((bookmark) => bookmark.id)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue