From f40a140dc11474d8ffa8a162f4f589b0c4081bf9 Mon Sep 17 00:00:00 2001 From: taoshihan1991 <630892807@qq.com> Date: Tue, 19 May 2020 19:55:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=82=AE=E4=BB=B6=E5=A4=B9?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ tools/types.go | 4 ++++ 2 files changed, 48 insertions(+) diff --git a/server.go b/server.go index d49b715..7a3afcc 100644 --- a/server.go +++ b/server.go @@ -24,6 +24,8 @@ func main() { http.HandleFunc("/login", login) //验证接口 http.HandleFunc("/check", check) + //邮件夹接口 + http.HandleFunc("/folders", folders) //详情界面 http.HandleFunc("/view", view) //监听端口 @@ -206,6 +208,48 @@ func check(w http.ResponseWriter, r *http.Request) { w.Write(msg) } } +//邮件夹接口 +func folders(w http.ResponseWriter, r *http.Request) { + values := r.URL.Query() + fid := "" + currentPage := 0 + if len(values["fid"]) != 0 { + fid = values["fid"][0] + } + if len(values["page"]) != 0 { + currentPage, _ = strconv.Atoi(values["page"][0]) + } + if fid == "" { + fid = "INBOX" + } + if currentPage == 0 { + currentPage = 1 + } + + mailServer:=tools.GetMailServerFromCookie(r) + var wg sync.WaitGroup + wg.Add(2) + result :=make(map[string]interface{}) + go func() { + defer wg.Done() + folders := tools.GetFolders(mailServer.Server, mailServer.Email,mailServer.Password, fid) + result["folders"]=folders + + }() + go func() { + defer wg.Done() + mails := tools.GetFolderMail(mailServer.Server, mailServer.Email, mailServer.Password, fid, currentPage, PageSize) + result["mails"]=mails + }() + wg.Wait() + + w.Header().Set("content-type","text/json;charset=utf-8;") + msg, _ := json.Marshal(tools.JsonFolders{ + JsonResult: tools.JsonResult{Code: 200, Msg: "获取成功"}, + Result: result, + }) + w.Write(msg) +} //加密cookie //func authCookie(){ // diff --git a/tools/types.go b/tools/types.go index 6ba9b03..75f6f9c 100644 --- a/tools/types.go +++ b/tools/types.go @@ -33,4 +33,8 @@ type MailPageList struct { type JsonResult struct{ Code int `json:"code"` Msg string `json:"msg"` +} +type JsonFolders struct{ + JsonResult + Result interface{} `json:"result"` } \ No newline at end of file