info
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
const db = uniCloud.database()
|
||||
const collection = db.collection('uni-cms-articles')
|
||||
|
||||
module.exports = {
|
||||
|
||||
_before: function () { // 通用预处理器
|
||||
|
||||
},
|
||||
async getTotal() {
|
||||
try {
|
||||
const res = await collection.count()
|
||||
return {
|
||||
code: 200,
|
||||
message: 'success',
|
||||
total: res.total
|
||||
}
|
||||
} catch (err) {
|
||||
return {
|
||||
code: 500,
|
||||
message: err.message
|
||||
}
|
||||
}
|
||||
},
|
||||
// 文章访问日志服务
|
||||
async detailLog(query) {
|
||||
let datetime = new Date();
|
||||
if (!query.userId) {
|
||||
throw new Error('未登录用户无法记录访问日志');
|
||||
}
|
||||
|
||||
try {
|
||||
// 查询是否存在该用户对同一文章的访问记录
|
||||
console.log(query.articleId);
|
||||
const { data: existingLog } = await db.collection('cms-articles-log')
|
||||
.where({
|
||||
article_id: query.articleId
|
||||
})
|
||||
.get();
|
||||
|
||||
// 存在则更新,否则新增
|
||||
if (existingLog.length > 0) {
|
||||
await db.collection('cms-articles-log')
|
||||
.doc(existingLog[0]._id)
|
||||
.update({
|
||||
last_view_time: datetime // 使用服务器时间
|
||||
});
|
||||
} else {
|
||||
await db.collection('cms-articles-log')
|
||||
.add({
|
||||
user_id: query.userId,
|
||||
article_id: query.articleId,
|
||||
first_view_time: datetime,
|
||||
last_view_time: datetime
|
||||
});
|
||||
}
|
||||
|
||||
return { code: 0, msg: '日志记录成功' };
|
||||
} catch (err) {
|
||||
console.error('日志记录失败:', err);
|
||||
return { code: -1, msg: '系统异常,请重试' };
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user