const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() exports.main = async (event, context) => { const { OPENID, APPID } = cloud.getWXContext() try { // 查找或创建用户 const userRes = await db.collection('users').where({ openid: OPENID }).get() let userInfo if (userRes.data.length === 0) { // 新用户 - 创建档案 const newUser = { openid: OPENID, nickName: event.nickName || '宠物爱好者', avatarUrl: event.avatarUrl || '', handle: '', location: '', bio: '', stats: { posts: 0, friends: 0, likes: 0 }, lastLocation: null, isOnline: true, lastSeen: new Date().toISOString(), pets: [], createdAt: db.serverDate(), updatedAt: db.serverDate(), } const addRes = await db.collection('users').add({ data: newUser }) userInfo = { _id: addRes._id, ...newUser } } else { // 老用户 - 更新在线状态 userInfo = userRes.data[0] await db.collection('users').doc(userInfo._id).update({ data: { isOnline: true, lastSeen: db.serverDate(), updatedAt: db.serverDate(), }, }) } return { code: 0, data: { userInfo } } } catch (e) { return { code: -1, message: e.message } } }