export function defineUserAfterSave(){ Parse.Cloud.afterSave("_User", async (request) => { console.log("save _User",request?.object?.id) let query = new Parse.Query("Profile"); query.equalTo("user",request?.object?.id) let profile = await query.first(); syncUserProfileToAuthing(request?.object,profile) }); Parse.Cloud.afterSave("Profile", async (request) => { console.log("save Profile",request?.object?.id) let query = new Parse.Query("Profile"); query.include("user"); profile = await query.get(require?.object?.id); syncUserProfileToAuthing(profile.get("user"),profile) }); } function syncUserProfileToAuthing(){ let userInfo = user.toJSON(); userInfo = fixJsonFileds(userInfo) if(profile){ let pjson = profile.toJSON(); delete pjson.objectId; pjson= fixJsonFileds(pjson) Object.keys(pjson).forEach(key=>{ userInfo[key] = pjson[key] }) } // 映射对应字段 userInfo.company = userInfo.companyName delete userInfo.companyName userInfo.userType = userInfo.identity delete userInfo.identity console.log(userInfo) } function fixJsonFileds(json){ delete json.ACL delete json.className delete json.sessionToken delete json.company return json }