HelloGitHub-Team / geese

采用 Next.js 构建的开源爱好者社区。An open-source enthusiast community built with Next.js.
https://hellogithub.com
Apache License 2.0
282 stars 66 forks source link

收藏夹 #81

Closed 521xueweihan closed 1 year ago

521xueweihan commented 1 year ago

背景

为方便用户管理收藏的开源项目,计划开发收藏夹的功能

功能

  1. 收藏夹主要用来对收藏的项目进行分类
  2. 用户可选择收藏夹是否公开,公开后该收藏夹其它用户均可见

设计

字段概述:

  {
    "fid": 收藏夹唯一ID,
    "name": 收藏夹名称,
    "description": 收藏夹描述,
    "uid": 用户id,
    "status": 收藏夹状态:0 私有、1 申请公开中、2 公开,
    "featured":精选与否
  }

1. 收藏项目

原型图如下:

Image

1.1 用户在项目详情页点击“收藏”时,获取当前用户所有的“收藏夹”选项

1.2 选好想要收藏进的收藏夹后,点击“保存”保存项目

1.3 取消收藏项目的接口没有改动(无需修改)

2. 个人首页的收藏夹管理

Image

2.1 展示

2.2 新建收藏夹

Image

2.3 编辑收藏夹

Image

2.4 删除收藏夹

截屏2022-12-02 10 26 46

3. 查看收藏夹

截屏2022-12-02 14 47 05

3.1 查看收藏夹内容的项目

3.2 分享收藏夹

如果收藏夹的 status 为 2(公开),则显示分享按钮。

点击分享后,无需请求后端,只需要将该收藏夹的地址放到用户的粘贴板,然后提示“已复制收藏夹链接到粘贴板,快去分享给小伙伴吧。”

github-actions[bot] commented 1 year ago

Branch i81-收藏夹 created!

521xueweihan commented 1 year ago

@RJM1996 我统一了下接口的命名规则,然后 geese 提交了一版,你开发的时候拉一下最新的哈:

另外,测试时发现了一些问题:

1、公开和审核状态下,名称和描述的输入框为无法修改状态,显示提示: 注:公开状态无法修改收藏夹信息,需要转成"私有"才可以编辑。

image

2、非登录状态下访问,公开的收藏夹或者收藏夹的内容,应该显示「收藏夹」tab,并处于选中状态:

image

3、登录状态下,访问非自己的收藏夹时,不应该显示「新建收藏夹按钮」和「编辑收藏夹的功能」

image

获取用户收藏夹的接口,增加了 in_person 字段,判断是否为本人查看。 https://local.api.hellogithub.com/docs#/user/user_favorites_v1_user__uid__favorite__get

RJM1996 commented 1 year ago

好的,我今天晚上看一下这些问题