const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() exports.main = async event => { const { OPENID } = cloud.getWXContext() const now = Date.now() const data = { openid: OPENID, location: event.location || null, visible: Boolean(event.visible), updatedAt: now } const existed = await db.collection('locations').where({ openid: OPENID }).limit(1).get() if (existed.data.length) await db.collection('locations').doc(existed.data[0]._id).update({ data }) else await db.collection('locations').add({ data }) return { ok: true } }