fix: 云端函数默认注入当前登录用户信息

- 当请求参数未指定 user_id 时,使用 token 中的用户 ID
- 确保 user、subscription、devices 等变量始终有值
This commit is contained in:
2026-05-07 13:13:18 +08:00
parent e019f6a55c
commit 551eff2f60
+5 -2
View File
@@ -173,9 +173,13 @@ func handleExecuteDynamicCode(c *gin.Context) {
userVariables := map[string]interface{}{}
devices := []map[string]interface{}{}
targetUserID := claims.UserID
if req.UserID != nil {
targetUserID = *req.UserID
}
var user model.AppUser
if err := database.DB.Where("id = ? AND application_id = ?", *req.UserID, app.ID).First(&user).Error; err == nil {
if err := database.DB.Where("id = ? AND application_id = ?", targetUserID, app.ID).First(&user).Error; err == nil {
userData = map[string]interface{}{
"id": user.ID,
"username": user.Username,
@@ -217,7 +221,6 @@ func handleExecuteDynamicCode(c *gin.Context) {
userVariables[v.VarName] = v.VarValue
}
}
}
if err := vm.Set("user", userData); err != nil {
response.Error(c, 500, "用户数据设置失败")