是否将文章公开?

我们会有这样的需求,想将文章公开,这样其它的用户可以查询到你的文章,或者我们想将公开的文章重新设置为私密。今天,我们实现这个功能,方便我们修改文章是否公开。

注意,将文章公开,后台要进行审核,审核通过的文章其它用户才可以查询到。要公开的文章请以技术为主题,可以是技术文章,或者经验分享。文章的展示是以微信小程序为载体的,所以要符合小程序审核的要求。

修改文章是否公开,我打算使用的命令格式如下:

gart public uuid ispub

其中,紧挨着 gart 的 public 是命令,表示要更新文章是否公开,uuid 是文章的主键,可以查询识别是哪篇文章,ispub 只允许设置 0 或者 1,1 为公开。

实现的代码如下:


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

var uptPublicCmd = &cobra.Command{
	Use:   "public",
	Short: "更新文章是否公开,参数需要UUID,新的公开开关,只允许0或1,1为公开。",
	Long:  `更新文章是否公开,参数需要UUID,新的公开开关,只允许0或1,1为公开,需要先获取文章的UUID。`,
	Args:  cobra.MinimumNArgs(2),
	Run: func(cmd *cobra.Command, args []string) {
		uuid := args[0]
		ispub := utils.Str2Int(args[1])
		uar := service.UpdateArtReq{
			Uuid:    uuid,
			IsPub:   ispub,
			UptType: 4,
		}
		err := service.UpdateArt(token, &uar)
		if err != nil {
			fmt.Println("更新公开开关发生错误,", err)
		} else {
			fmt.Println("更新成功")
		}
	},
}

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