修改名称,优化
This commit is contained in:
35
cloudfunctions/cleanExpiredRooms/index.js
Normal file
35
cloudfunctions/cleanExpiredRooms/index.js
Normal file
@@ -0,0 +1,35 @@
|
||||
// 云函数入口文件 - 定时清理过期聚会
|
||||
const cloud = require('wx-server-sdk')
|
||||
|
||||
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
|
||||
const db = cloud.database()
|
||||
const _ = db.command
|
||||
|
||||
// 云函数入口函数
|
||||
exports.main = async (event, context) => {
|
||||
try {
|
||||
const now = new Date()
|
||||
|
||||
// 删除30天前创建的聚会
|
||||
const thirtyDaysAgo = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000)
|
||||
|
||||
const result = await db.collection('rooms').where({
|
||||
createdAt: _.lt(thirtyDaysAgo)
|
||||
}).remove()
|
||||
|
||||
console.log(`清理完成,删除了 ${result.stats.removed} 个过期聚会`)
|
||||
|
||||
return {
|
||||
success: true,
|
||||
deleted: result.stats.removed,
|
||||
msg: `清理完成,删除了 ${result.stats.removed} 个过期聚会`
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('清理过期聚会失败:', err)
|
||||
return {
|
||||
success: false,
|
||||
msg: '清理失败',
|
||||
error: err
|
||||
}
|
||||
}
|
||||
}
|
||||
9
cloudfunctions/cleanExpiredRooms/package.json
Normal file
9
cloudfunctions/cleanExpiredRooms/package.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "cleanExpiredRooms",
|
||||
"version": "1.0.0",
|
||||
"description": "定时清理过期聚会数据",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"wx-server-sdk": "~2.6.3"
|
||||
}
|
||||
}
|
||||
@@ -12,10 +12,14 @@ exports.main = async (event, context) => {
|
||||
const { userInfo, keywords, requirements, name, meetTime } = event
|
||||
|
||||
try {
|
||||
// 计算过期时间(30天后)
|
||||
const expireTime = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000)
|
||||
|
||||
const res = await db.collection('rooms').add({
|
||||
data: {
|
||||
_openid: openid, // 创建者openid
|
||||
createdAt: db.serverDate(),
|
||||
expireTime: expireTime, // 过期时间
|
||||
status: 'active',
|
||||
name: name || '未命名聚会',
|
||||
meetTime: meetTime || '',
|
||||
|
||||
@@ -27,9 +27,17 @@ exports.main = async (event, context) => {
|
||||
const members = room.data.members || []
|
||||
const isMember = members.some(m => m.openid === openid)
|
||||
|
||||
if (!isMember) {
|
||||
// 加入房间
|
||||
const newMember = {
|
||||
if (isMember) {
|
||||
return { success: true, msg: '已在房间内' }
|
||||
}
|
||||
|
||||
// 检查人数限制(最多8人)
|
||||
if (members.length >= 8) {
|
||||
return { success: false, msg: '房间人数已满(最多8人)' }
|
||||
}
|
||||
|
||||
// 加入房间
|
||||
const newMember = {
|
||||
openid: openid,
|
||||
avatarUrl: userInfo?.avatarUrl || 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0',
|
||||
nickName: userInfo?.nickName || '微信用户',
|
||||
|
||||
Reference in New Issue
Block a user