41 lines
973 B
Plaintext
41 lines
973 B
Plaintext
debug(f'save_profile.dspy: {params_kw=}')
|
|
|
|
userid = await get_user()
|
|
if userid is None:
|
|
return UiError(title='Error', message='You need login first')
|
|
|
|
data = {
|
|
'id': userid,
|
|
'nick_name': params_kw.nick_name or '',
|
|
'email': params_kw.email or '',
|
|
'mobile': params_kw.mobile or '',
|
|
'address': params_kw.address or ''
|
|
}
|
|
|
|
db = DBPools()
|
|
dbname = get_module_dbname('rbac')
|
|
try:
|
|
async with db.sqlorContext(dbname) as sor:
|
|
await sor.U('users', data)
|
|
return {
|
|
"widgettype": "Message",
|
|
"options": {
|
|
"timeout": 3,
|
|
"auto_open": True,
|
|
"title": "保存成功",
|
|
"message": "个人信息已更新"
|
|
},
|
|
"binds": [
|
|
{
|
|
"wid": "self",
|
|
"event": "dismissed",
|
|
"actiontype": "script",
|
|
"target": "self",
|
|
"script": "if(bricks.app && bricks.app.dispatch) bricks.app.dispatch('profile_updated')"
|
|
}
|
|
]
|
|
}
|
|
except Exception as e:
|
|
exception(f'save_profile error: {e}')
|
|
return UiError(title='Error', message=f'保存失败: {e}')
|