在应用的数据仓库里可以先创建一个存储标签数据用的数据表,名字是 tag,在这个表里面可以记录一下标签的 ID 还有标签的名字。在 tag.service 里面定义两个功能,createTag 还有 getTagByName,createTag 可以把标签数据存储到 tag 这个数据表里,getTagByName 可以根据提供给它的标签的名字,从数据仓库里找到对应的标签数据记录。然后定义一个创建标签用的接口,客户端可以通过这个接口添加新的标签,标签数据会存储在 tag 这个数据表里。
在应用的数据仓库里再创建一个 post_tag 数据表,用它存储给内容贴上的标签。给内容贴上一个标签就是在这个数据表里添加一条数据记录,记录一下这个内容的 ID,还有给这个内容贴上的标签的 ID。添加这种数据记录,可以定义成一个服务方法,名字是 createPostTag,使用它的时候要提供内容的 ID 还有标签的 ID。
然后定义一个给内容贴标签用的接口,客户端使用这个接口的时候,要在请求的主体里面,包含要给内容贴上的标签的名字。接口会先检查一下应用的数据仓库里有没有这个标签数据,如果没有就去创建一个标签,如果有,再继续检查内容是不是已经被贴上了这个标签。确定没有问题就会在 post_tag 这个表里创建一条数据记录,记录一下这个内容的 ID 还有给这个内容贴上的标签的 ID。
最后我们再定义一个移除内容标签用的接口,移除给内容贴上的标签就是删除掉 post_tag 这个数据表里指定的一条数据记录,定义一个函数可以提供这个功能,名字叫 deletePostTag。在移除内容标签接口的处理器里面可以使用这个 deletePostTag 去掉贴在内容上的指定的标签。
下面再整理一下我们的项目,在终端,确定是在项目所在目录的下面,查看一下项目当前的状态,现在是 tags 这个分支上,项目当前没什么可以提交的东西。
再看一下我在这个分支上做的提交。 最近的一次提交是 定义移除内容标签接口。 按一下 q 退出。
然后把项目当前的分支切换到 develop , 检查一下这个分支上的提交历史。最近的一次提交是 错别字。
在这个分支上做一次合并,合并的就是 tags 这个分支。合并之后再检查一下提交的历史,最近的提交是 定义移除内容标签接口
最后再把 tags 这个本地的分支,推送到项目的 origin 这个远程的上面。