feat: 我的、设置、打印指南页面开发完成
This commit is contained in:
@@ -18,6 +18,20 @@ exports.main = async (event, context) => {
|
||||
}
|
||||
};
|
||||
|
||||
function serializeUser(user) {
|
||||
return {
|
||||
...user,
|
||||
createdAt:
|
||||
user.createdAt instanceof Date
|
||||
? user.createdAt
|
||||
: user.createdAt?.toDate?.() || user.createdAt || null,
|
||||
lastActiveAt:
|
||||
user.lastActiveAt instanceof Date
|
||||
? user.lastActiveAt
|
||||
: user.lastActiveAt?.toDate?.() || user.lastActiveAt || null,
|
||||
};
|
||||
}
|
||||
|
||||
async function handleSilentLogin(openid, unionid) {
|
||||
const usersCollection = db.collection('users');
|
||||
|
||||
@@ -32,10 +46,13 @@ async function handleSilentLogin(openid, unionid) {
|
||||
updateData.unionid = unionid;
|
||||
}
|
||||
await usersCollection.doc(user._id).update({ data: updateData });
|
||||
const latest = (
|
||||
await usersCollection.doc(user._id).get()
|
||||
).data;
|
||||
|
||||
return {
|
||||
code: 0,
|
||||
data: { ...user, ...updateData, lastActiveAt: new Date() },
|
||||
data: serializeUser(latest),
|
||||
};
|
||||
} else {
|
||||
const newUser = {
|
||||
@@ -48,15 +65,11 @@ async function handleSilentLogin(openid, unionid) {
|
||||
lastActiveAt: now,
|
||||
};
|
||||
const { _id } = await usersCollection.add({ data: newUser });
|
||||
const latest = (await usersCollection.doc(_id).get()).data;
|
||||
|
||||
return {
|
||||
code: 0,
|
||||
data: {
|
||||
_id,
|
||||
...newUser,
|
||||
createdAt: new Date(),
|
||||
lastActiveAt: new Date(),
|
||||
},
|
||||
data: serializeUser(latest),
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -74,11 +87,13 @@ async function handleUpdateProfile(event, openid) {
|
||||
const updateData = {};
|
||||
if (nickName !== undefined) updateData.nickName = nickName;
|
||||
if (avatarUrl !== undefined) updateData.avatarUrl = avatarUrl;
|
||||
updateData.lastActiveAt = db.serverDate();
|
||||
|
||||
await usersCollection.doc(data[0]._id).update({ data: updateData });
|
||||
const latest = (await usersCollection.doc(data[0]._id).get()).data;
|
||||
|
||||
return {
|
||||
code: 0,
|
||||
data: { ...data[0], ...updateData },
|
||||
data: serializeUser(latest),
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user