// 发布新资源 // uri: /resources/new{json:(|.json)} func NewResourceHandler(rw http.ResponseWriter, req *http.Request) { vars := mux.Vars(req) title := req.PostFormValue("title") // 请求新建资源页面 if title == "" || req.Method != "POST" || vars["json"] == "" { req.Form.Set(filter.CONTENT_TPL_KEY, "/template/resources/new.html") filter.SetData(req, map[string]interface{}{"activeResources": "active", "categories": service.AllCategory}) return } errMsg := "" resForm := req.PostFormValue("form") if resForm == model.LinkForm { if req.PostFormValue("url") == "" { errMsg = "url不能为空" } } else { if req.PostFormValue("content") == "" { errMsg = "内容不能为空" } } if errMsg != "" { fmt.Fprint(rw, `{"ok": 0, "error":"`+errMsg+`"}`) return } user, _ := filter.CurrentUser(req) err := service.PublishResource(user, req.PostForm) if err != nil { fmt.Fprint(rw, `{"ok": 0, "error":"内部服务错误,请稍候再试!"}`) return } fmt.Fprint(rw, `{"ok": 1, "data":""}`) }
// 修改資源 // uri: /resources/modify{json:(|.json)} func ModifyResourceHandler(rw http.ResponseWriter, req *http.Request) { id := req.FormValue("id") if id == "" { util.Redirect(rw, req, "/resources") return } vars := mux.Vars(req) // 请求编辑資源页面 if req.Method != "POST" || vars["json"] == "" { resource := service.FindResourceById(id) req.Form.Set(filter.CONTENT_TPL_KEY, "/template/resources/new.html") filter.SetData(req, map[string]interface{}{"resource": resource, "activeResources": "active", "categories": service.AllCategory}) return } user, _ := filter.CurrentUser(req) err := service.PublishResource(user, req.PostForm) if err != nil { if err == service.NotModifyAuthorityErr { rw.WriteHeader(http.StatusForbidden) return } fmt.Fprint(rw, `{"ok": 0, "error":"内部服务错误!"}`) return } fmt.Fprint(rw, `{"ok": 1, "data":""}`) }