From 449d7122afba1e84ec6dfe101a085fa82f0b8272 Mon Sep 17 00:00:00 2001 From: HelloWorld Date: Tue, 7 Apr 2020 22:13:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9F=A5=E8=AF=A2=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controller/api.js | 6 ++++++ www/scripts/app-angular.js | 23 +++++++-------------- www/scripts/controllers/menus-controller.js | 2 +- www/scripts/controllers/tags-controller.js | 2 +- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/controller/api.js b/src/controller/api.js index fa5ded1..7f14143 100644 --- a/src/controller/api.js +++ b/src/controller/api.js @@ -114,6 +114,8 @@ module.exports = class extends Base { // 获取分类信息 async tagsAction() { + /* + // 这里的查询太慢,使用原始的sql查询先替代 let param = this.get(); let tags = await this.model('tags').where({ userId: this.ctx.state.user.id }).order('sort ASC, lastUse DESC').select(); // 这个分类包含的书签与备忘录的个数 @@ -125,6 +127,10 @@ module.exports = class extends Base { tag.noteCount = await this.model('notes').where({ tagId: tag.id }).count(); } } + */ + let sql = "SELECT t.*, tb.bookmarkCount, tg.noteCount FROM `tags` as t LEFT OUTER JOIN ( SELECT `tagId`, COUNT(tagId) as bookmarkCount FROM bookmarks GROUP BY tagId ) tb ON t.id = tb.tagId LEFT OUTER JOIN ( SELECT `tagId`, COUNT(tagId) as noteCount FROM notes GROUP BY tagId ) tg ON t.id = tg.tagId where t.userId = " + this.ctx.state.user.id; + let tags = await this.model('tags').query(sql); + this.json({ code: 0, data: tags, msg: '' }); } diff --git a/www/scripts/app-angular.js b/www/scripts/app-angular.js index 739b2f1..44e9061 100644 --- a/www/scripts/app-angular.js +++ b/www/scripts/app-angular.js @@ -1,32 +1,25 @@ var app = angular.module('bookmarkApp', ['ui.router', 'ngCookies', 'infinite-scroll', 'angular-sortable-view', 'ngDialog']); axios.defaults.baseURL = '/api/'; -axios.defaults.headers.common['Authorization'] = localStorage.getItem("authorization"); function get(url, params) { + params = params || {}; return new Promise((resolve, reject) => { - axios.get(url, { - params: params || {} - }).then(res => { - resolve(res); - }).catch(err => { - reject(err) - }) + axios.get(url, { params }).then(res => resolve(res)).catch(err => reject(err)) }); } function post(url, params) { return new Promise((resolve, reject) => { - axios.post(url, params || {}) - .then(res => { - resolve(res); - }) - .catch(err => { - reject(err) - }) + axios.post(url, params || {}).then(res => resolve(res)).catch(err => reject(err)) }); } +axios.interceptors.request.use(config => { + config.headers.Authorization = localStorage.getItem("authorization"); + return config; +}) + // 添加响应拦截器 axios.interceptors.response.use(function (response) { let reply = response.data; diff --git a/www/scripts/controllers/menus-controller.js b/www/scripts/controllers/menus-controller.js index 2055519..4bbfac7 100644 --- a/www/scripts/controllers/menus-controller.js +++ b/www/scripts/controllers/menus-controller.js @@ -307,7 +307,7 @@ app.controller('menuCtr', ['$scope', '$stateParams', '$state', '$window', '$time var url = $scope.quickUrl[key]; if (url) { $window.open(url, '_blank'); - let data = await post('bookmarShortcutk', { url }); + let data = await post('bookmarShortcut', { url }); if (!data) { toastr.info('网址:' + url + "还没添加到你的书签系统,请添加!", "警告"); pubSubService.publish('TagCtr.storeBookmark', { url }); diff --git a/www/scripts/controllers/tags-controller.js b/www/scripts/controllers/tags-controller.js index 63c1861..b1092b9 100644 --- a/www/scripts/controllers/tags-controller.js +++ b/www/scripts/controllers/tags-controller.js @@ -79,7 +79,7 @@ app.controller('tagsCtr', ['$scope', '$filter', '$state', '$window', '$statePara duration: 1000, }); addBookmarkId = -1; - }, 1000); + }); }; $scope.changeCurrentPage = function (currentPage) {