import _axios, { get } from '@/lin/plugin/axios' class Log { name = null start = null end = null keyword = null relationId=null constructor({ uPage = 0, uCount = 5, lPage = 0, lCount = 10, sPage = 0, sCount = 10, }) { if (uPage === 0) { this.uPage = uPage } if (uCount) { this.uCount = uCount } if (lPage === 0) { this.lPage = lPage } if (lCount) { this.lCount = lCount } if (sPage === 0) { this.sPage = sPage } if (sCount) { this.sCount = sCount } } async increaseUpage() { this.uPage += 1 } async increaseLpage() { this.lPage += 1 } increaseSpage() { this.sPage += 1 } init() { this.lPage = 0 this.uPage = 0 this.sPage = 0 } setBaseInfo(name, start, end) { this.name = name this.start = start this.end = end } setBaseInfo2(relationId, start, end) { this.relationId = relationId this.start = start this.end = end } setKeyword(keyword) { this.keyword = keyword } async addTestLog() { const log = await get('cms/test/info') return log } /** * 查询已经被记录过日志的用户(分页) * @param {number} count 每页个数 * @param {number} page 第几页 */ async getLoggedUsers({ count, page }) { const users = await get('cms/log/users', { count: count || this.uCount, page: page || this.uPage, }) return users } /** * 查询日志信息(分页) * @param {number} count 每页个数 * @param {number} page 第几页 * @param {number} name 用户昵称 * @param {number} start 起始时间 # 2018-11-01 09:39:35 * @param {number} end 结束时间 */ async getLogs({ count, page, name, start, end, next = false }) { if (!next) { this.setBaseInfo(name, start, end) } if (page === 0) { this.lPage = 0 } const res = await _axios({ url: 'cms/log', params: { count: count || this.lCount, page: page || this.lPage, name: name || this.name, start: start || this.start, end: end || this.end, }, handleError: true, }) return res } /** * 所搜日志信息(分页) * @param {number} count 每页个数 * @param {number} page 第几页 * @param {number} keyword 搜索关键词 * @param {number} name 用户昵称 * @param {number} start 起始时间 # 2018-11-01 09:39:35 * @param {number} end 结束时间 */ async searchLogs({ count, page, keyword, name, start, end, next = false }) { if (!next) { this.setBaseInfo(name, start, end) this.setKeyword(keyword) } if (page === 0) { this.sPage = 0 } try { const res = await get('cms/log/search', { count: count || this.sCount, page: page || this.sPage, keyword: keyword || this.keyword, name: name || this.name, start: start || this.start, end: end || this.end, }) return res } catch (error) { console.log(error) } } async moreUserPage() { await this.increaseUpage() return this.getLoggedUsers({}) } async moreLogPage() { await this.increaseLpage() return this.getLogs({ next: true }) } async moreSearchPage() { this.increaseSpage() return this.searchLogs({ next: true }) } async relationLogs({ count, page, keyword, relationId, start, end, next = false }) { if (!next) { this.setBaseInfo2(relationId, start, end) this.setKeyword(keyword) } if (page === 0) { this.sPage = 0 } try { const res = await get(`cms/log/relation_log/${relationId}`, { count: count || this.sCount, page: page || this.sPage, keyword: keyword || this.keyword, relationId: relationId || this.relationId, start: start || this.start, end: end || this.end, }) return res } catch (error) { console.log(error) } } } export default new Log({})