更新文章内容

当我们写好了文章,并上传到服务器,我们在修改调整本地 Markdown 文件后,服务器上的文章并不会更新,所以,如果你想要将更新的内容反馈到服务器上时,你可以修改文章的内容。今天,我们实现这个功能,方便我们修改文章内容。

修改文章内容,我打算使用的命令格式如下:

gart content uuid newfilename

其中,紧挨着 gart 的 content 是命令,表示要更新文章内容,uuid 是文章的主键,可以查询识别是哪篇文章,newfilename 是修改内容后的文件名称。

实现的代码如下:


func init() {
	rootCmd.AddCommand(uptContentCmd)
}

var uptContentCmd = &cobra.Command{
	Use:   "content",
	Short: "更新文章内容,参数需要UUID,新的文件内容。",
	Long:  `更新文章内容,参数需要UUID,新的文件内容,需要先获取文章的UUID。`,
	Args:  cobra.MinimumNArgs(2),
	Run: func(cmd *cobra.Command, args []string) {
		uuid := args[0]
		filename := args[1]
		content, err := service.GetFileContent(filename)
		if err != nil {
			fmt.Println("读取文件内容发生错误,", err)
			return
		}
		uar := service.UpdateArtReq{
			Uuid:    uuid,
			Content: string(content),
			UptType: 3,
		}
		err = service.UpdateArt(token, &uar)
		if err != nil {
			fmt.Println("更新内容发生错误,", err)
		} else {
			fmt.Println("更新成功")
		}
	},
}

实现比较简单,除了看命令行输出,还可以去小程序中查看实际结果。