|
@@ -86,12 +86,21 @@ class UserRelationManager(abc.ABC):
|
|
|
class LocalUserManager(UserManager):
|
|
|
def get_user_profile(self, user_id) -> Dict:
|
|
|
"""加载用户个人资料,如不存在则创建默认资料。主要用于本地调试"""
|
|
|
+ default_profile = self.get_default_profile()
|
|
|
try:
|
|
|
with open(f"user_profiles/{user_id}.json", "r", encoding="utf-8") as f:
|
|
|
- return json.load(f)
|
|
|
+ profile = json.load(f)
|
|
|
+ entry_added = False
|
|
|
+ for key, value in default_profile.items():
|
|
|
+ if key not in profile:
|
|
|
+ logger.debug(f"user[{user_id}] add profile key[{key}] value[{value}]")
|
|
|
+ profile[key] = value
|
|
|
+ entry_added = True
|
|
|
+ if entry_added:
|
|
|
+ self.save_user_profile(user_id, profile)
|
|
|
+ return profile
|
|
|
except FileNotFoundError:
|
|
|
# 创建默认用户资料
|
|
|
- default_profile = self.get_default_profile()
|
|
|
self.save_user_profile(user_id, default_profile)
|
|
|
return default_profile
|
|
|
|