feat: 发帖去身份用昵称、标签对齐筛选、图片限2、无类型任务也留痕
- 发帖去掉「发布身份」选择,统一用发布者昵称(后端按 user 取昵称) - 发帖标签改成 晒宠/新手求助/经验,和社区顶部筛选完全一致; tabTag 新手求助→新手求助(原来映射成「求助」对不上) - 内容输入框:点整块 field 都聚焦(原生 textarea 在 scroll-view 里 命中区域会偏,只有 placeholder 处能点) - 发帖图片上限 3→2,文案标注「最多 2 张」 - 无记录类型的自定义任务完成后,补一条 note 记录,最近记录里留痕 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -48,7 +48,7 @@ func (s *Service) attachPostImages(posts []model.Post) {
|
||||
func tabTag(tab string) string {
|
||||
switch tab {
|
||||
case "新手求助":
|
||||
return "求助"
|
||||
return "新手求助"
|
||||
case "晒宠":
|
||||
return "晒宠"
|
||||
case "经验":
|
||||
@@ -111,23 +111,14 @@ type PostInput struct {
|
||||
|
||||
// CreatePost 发帖
|
||||
func (s *Service) CreatePost(userID string, in PostInput) (*model.Post, error) {
|
||||
authorName := "匿名宠友"
|
||||
authorEmoji := "🐾"
|
||||
switch in.Identity {
|
||||
case "official":
|
||||
authorName = "肉垫计划官方"
|
||||
case "petName":
|
||||
if in.PetID != nil {
|
||||
var pet model.Pet
|
||||
if err := s.db.First(&pet, *in.PetID).Error; err == nil {
|
||||
authorName = pet.Name + "的铲屎官"
|
||||
authorEmoji = pet.Emoji
|
||||
}
|
||||
}
|
||||
}
|
||||
// 取作者 openid(内容安全接口 v2 要求带上),并把图片 file id 解析成可访问 URL
|
||||
// 取作者信息:统一用发布者昵称(去掉了发布身份选择),openid 给内容安全接口用
|
||||
var user model.User
|
||||
s.db.Select("id, open_id").First(&user, userID)
|
||||
s.db.Select("id, open_id, nickname").First(&user, userID)
|
||||
authorName := user.Nickname
|
||||
if authorName == "" {
|
||||
authorName = "宠友"
|
||||
}
|
||||
authorEmoji := "🐾"
|
||||
imgURLs := s.resolveImageURLs(in.ImageFileIDs)
|
||||
|
||||
// 发布前过内容安全:文本同步判、图片提交异步查。检测不了或有图 → 待人工/待回调
|
||||
|
||||
Reference in New Issue
Block a user