hardmall3.0.61版本正式发布

分类: 博客 作者:晒宝模板网 发布日期:2023-07-27 13:55:18

新版本发布:weijuncug/hardmall:3.0.61版本

更新内容

增加了 /fixed开头的url path,对外提供固定的api服务

增加接口

/fixed-new-post可以通过调用该接口快速发布文章。使用效果跟xmlrpc接口相同。

/fixed-form-id接口可以申请修改或者发布的表单ID,用于第三方客户端在调用原生接口时生成统一的form-id,以供提交。

使用实例

# 模拟系统用户登录
func (l *LocalConfig) login() string {
	data, err := json.Marshal(map[string]string{"username": l.UserName, "password": l.Password})
	if err != nil {
		log.Fatal("格式化失败", err)
	}
	buf := bytes.NewBuffer(data)
	resp, err := http.Post(fmt.Sprintf("%s/login", l.URL), "application/json", buf)
	if err != nil {
		log.Fatal("请求失败", err)
	}
	defer resp.Body.Close()
	var ss map[string]string
	if err = json.NewDecoder(resp.Body).Decode(&ss); err != nil {
		log.Fatal("登录失败", err)
	}
	log.Println("登录成功...")
	return ss["token"]
}

发布文章接口调用说明

func (l *LocalConfig) publish(pp models.Post) int64 {
	ss, _ := json.Marshal(&pp)
	buf := bytes.NewBuffer(ss)
	req, err := http.NewRequest(http.MethodPost, fmt.Sprintf("%s/fixed-new-post", l.URL), buf)
	if err != nil {
		log.Fatal("请求新建出错", err)
	}
	req.AddCookie(&http.Cookie{Name: l.CookieName, Value: l.token})
	client := http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	log.Println("发布文章中...")
	var yy FixedMessage
	err = json.NewDecoder(resp.Body).Decode(&yy)
	if err != nil {
		log.Fatal(err)
	}
	log.Println(yy.Data)
	return yy.Data["id"]
}