|
@@ -22,6 +22,19 @@ func f_cookieGetUid(r *http.Request) (int, bool) {
|
|
|
return uid, true
|
|
return uid, true
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// return uid,isvalid
|
|
|
|
|
+func f_adminCookieGetUid(r *http.Request) (int, bool) {
|
|
|
|
|
+ token, err := r.Cookie("admin_token")
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return -1, false
|
|
|
|
|
+ }
|
|
|
|
|
+ uid, err := parseToken(token.Value)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ return -1, false
|
|
|
|
|
+ }
|
|
|
|
|
+ return uid, true
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func f_readBody(r *http.Request) ([]byte, error) {
|
|
func f_readBody(r *http.Request) ([]byte, error) {
|
|
|
return ioutil.ReadAll(r.Body)
|
|
return ioutil.ReadAll(r.Body)
|
|
|
}
|
|
}
|
|
@@ -245,6 +258,7 @@ func f_getUserInfo(w http.ResponseWriter, r *http.Request) {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
rows, err := db_query("select `name` from `user` where id = ? LIMIT 1", uid)
|
|
rows, err := db_query("select `name` from `user` where id = ? LIMIT 1", uid)
|
|
|
|
|
+ defer rows.Close()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
fmt.Fprint(w, simpleJsonMsg(ERR_DB, 0))
|
|
fmt.Fprint(w, simpleJsonMsg(ERR_DB, 0))
|
|
|
return
|
|
return
|
|
@@ -441,20 +455,186 @@ func f_getLog(w http.ResponseWriter, r *http.Request) {
|
|
|
fmt.Fprint(w, logData)
|
|
fmt.Fprint(w, logData)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func f_getLogAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
|
|
+// func f_getLogAdmin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
+// _, valid := f_cookieGetUid(r)
|
|
|
|
|
+// if !valid {
|
|
|
|
|
+// fmt.Fprint(w, simpleJsonMsg(ERR_TOKEN, 0))
|
|
|
|
|
+// return
|
|
|
|
|
+// }
|
|
|
|
|
+// fmt.Fprint(w, "")
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+func f_getLogDetails(w http.ResponseWriter, r *http.Request) {
|
|
|
_, valid := f_cookieGetUid(r)
|
|
_, valid := f_cookieGetUid(r)
|
|
|
if !valid {
|
|
if !valid {
|
|
|
fmt.Fprint(w, simpleJsonMsg(ERR_TOKEN, 0))
|
|
fmt.Fprint(w, simpleJsonMsg(ERR_TOKEN, 0))
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- fmt.Fprint(w, logAdmin)
|
|
|
|
|
|
|
+ fmt.Fprint(w, logDetail)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func f_getLogDetails(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
- _, valid := f_cookieGetUid(r)
|
|
|
|
|
- if !valid {
|
|
|
|
|
|
|
+func f_adminLogin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
+ body, err := f_readBody(r)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_READ_BODY, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ data := &HandlerAdminLogin{}
|
|
|
|
|
+ err = json.Unmarshal(body, data)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_LOAD_JSON, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ if data.Key == "" {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_EMPTY_KEY, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ if data.Key != "adminkey" {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_WRONG_KEY, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ token, err := createToken(-1)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Println(err)
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_UNKNOWN, 0))
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ck := &http.Cookie{
|
|
|
|
|
+ Name: "admin_token",
|
|
|
|
|
+ Value: token,
|
|
|
|
|
+ Path: "/",
|
|
|
|
|
+ MaxAge: 86400,
|
|
|
|
|
+ }
|
|
|
|
|
+ http.SetCookie(w, ck)
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg("success", 1))
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func f_adminGetData(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
+ uid, valid := f_adminCookieGetUid(r)
|
|
|
|
|
+ if !valid || uid != -1 {
|
|
|
fmt.Fprint(w, simpleJsonMsg(ERR_TOKEN, 0))
|
|
fmt.Fprint(w, simpleJsonMsg(ERR_TOKEN, 0))
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- fmt.Fprint(w, logDetail)
|
|
|
|
|
|
|
+ body, err := f_readBody(r)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_READ_BODY, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ reqData := &HandlerAdminGetDataRequest{}
|
|
|
|
|
+ err = json.Unmarshal(body, reqData)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_LOAD_JSON, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ if reqData.Page <= 0 {
|
|
|
|
|
+ reqData.Page = 1
|
|
|
|
|
+ }
|
|
|
|
|
+ if reqData.Length <= 0 {
|
|
|
|
|
+ reqData.Length = 10
|
|
|
|
|
+ }
|
|
|
|
|
+ rtnData := &HandlerAdminDataReturn{}
|
|
|
|
|
+ rows, err := db_query("call get_log_admin(?,?)", reqData.Page, reqData.Length)
|
|
|
|
|
+ defer rows.Close()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_DB, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ if rows.Next() {
|
|
|
|
|
+ rows.Scan(&rtnData.Count)
|
|
|
|
|
+ }
|
|
|
|
|
+ if !rows.NextResultSet() {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_DB, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ data := []*HandlerAdminGetData{}
|
|
|
|
|
+ for rows.Next() {
|
|
|
|
|
+ d := &HandlerAdminGetData{}
|
|
|
|
|
+ err = rows.Scan(&d.Time, &d.Name, &d.Type, &d.Msg)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Println("admin get log error")
|
|
|
|
|
+ fmt.Println(err)
|
|
|
|
|
+ }
|
|
|
|
|
+ data = append(data, d)
|
|
|
|
|
+ }
|
|
|
|
|
+ rtnData.Data = data
|
|
|
|
|
+ rtn := &MsgInterface{}
|
|
|
|
|
+ rtn.Success = 1
|
|
|
|
|
+ rtn.Msg = rtnData
|
|
|
|
|
+ j, err := json.Marshal(rtn)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_LOAD_JSON, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ fmt.Fprint(w, string(j))
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func f_adminCookieLogin(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
+ uid, valid := f_adminCookieGetUid(r)
|
|
|
|
|
+ if valid && uid == -1 {
|
|
|
|
|
+ // 刷新cookie时间
|
|
|
|
|
+ token, err := createToken(uid)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Println(err)
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_UNKNOWN, 0))
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ck := &http.Cookie{
|
|
|
|
|
+ Name: "admin_token",
|
|
|
|
|
+ Value: token,
|
|
|
|
|
+ Path: "/",
|
|
|
|
|
+ MaxAge: 86400,
|
|
|
|
|
+ }
|
|
|
|
|
+ http.SetCookie(w, ck)
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg("success", 1))
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_TOKEN, 0))
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func f_adminGetKey(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
+ uid, valid := f_adminCookieGetUid(r)
|
|
|
|
|
+ if !valid || uid != -1 {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_TOKEN, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ body, err := f_readBody(r)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_READ_BODY, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ reqData := &HandlerGetKeyReq{}
|
|
|
|
|
+ err = json.Unmarshal(body, &reqData)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_LOAD_JSON, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ rows, err := db_query("select UNIX_TIMESTAMP(`time`), `admin_msg` from `log` where `type` = 3 AND `uid` = ?", reqData.Id)
|
|
|
|
|
+ defer rows.Close()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_DB, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ arr := []*HandlerGetKeyData{}
|
|
|
|
|
+ for rows.Next() {
|
|
|
|
|
+ d := &HandlerGetKeyData{}
|
|
|
|
|
+ err = rows.Scan(&d.Time, &d.Msg)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Println("get key err")
|
|
|
|
|
+ fmt.Println(err)
|
|
|
|
|
+ }
|
|
|
|
|
+ arr = append(arr, d)
|
|
|
|
|
+ }
|
|
|
|
|
+ rtn := &MsgInterface{
|
|
|
|
|
+ Success: 1,
|
|
|
|
|
+ Msg: arr,
|
|
|
|
|
+ }
|
|
|
|
|
+ j, err := json.Marshal(rtn)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ fmt.Fprint(w, simpleJsonMsg(ERR_LOAD_JSON, 0))
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ fmt.Fprint(w, string(j))
|
|
|
|
|
+
|
|
|
}
|
|
}
|