新版本发布: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"]
}