import _axios, { get } from '@/lin/plugin/axios'
class Log {
name = null
start = null
end = null
keyword = 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
}
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 })
}
}
export default new Log({})