177 lines
5.0 KiB
Go
177 lines
5.0 KiB
Go
package admin
|
||
|
||
import (
|
||
"fmt"
|
||
"net/http"
|
||
|
||
c "ciyon/zciyon"
|
||
)
|
||
|
||
func Index_init(w http.ResponseWriter, r *http.Request) bool {
|
||
//menu,url: 普通链接~原型图 4378,key 普通链接~原型图 共存
|
||
//menu,pow: d=删除|e=修改 p[id]e 默认p[id]v 显示权限 角色权限menu url<>'' 可选择授权
|
||
post := c.NewCiyPost(w, r)
|
||
_, userid := Verifyfast(r, c.CiyDB, post)
|
||
if userid == 0 {
|
||
return false
|
||
}
|
||
csql := c.NewCiySQL("zc_icon")
|
||
csql.Where("icontarget", 10).Column("targetid as id,icon")
|
||
iconrows, _, err := c.CiyDB.Get(csql)
|
||
if err != nil {
|
||
return c.ErrJSON(w, "遇到menu读取错误", err)
|
||
}
|
||
csql = c.NewCiySQL("zc_menu")
|
||
csql.Where("isuse", 1).Order("csort desc,id").Column("id,upid,name,url,pow")
|
||
menurows, _, err := c.CiyDB.Get(csql)
|
||
if err != nil {
|
||
return c.ErrJSON(w, "遇到menu读取错误", err)
|
||
}
|
||
if len(menurows) == 0 {
|
||
menu := map[string]any{}
|
||
menu["id"] = 2
|
||
menu["upid"] = 0
|
||
menu["name"] = "您无任何菜单权限"
|
||
menu["url"] = ""
|
||
menu["pow"] = ""
|
||
menurows = append(menurows, menu)
|
||
}
|
||
csql = c.NewCiySQL("zc_mnufav")
|
||
csql.Where("favtarget", 10).Where("user", userid).Column("menuid")
|
||
mnufavrows, _, err := c.CiyDB.Get(csql)
|
||
if err != nil {
|
||
return c.ErrJSON(w, "遇到mnufav读取错误", err)
|
||
}
|
||
ret := map[string]any{}
|
||
ret["icon"] = iconrows
|
||
ret["menu"] = menurows
|
||
ret["mnufav"] = mnufavrows
|
||
ret["welcome"] = map[string]any{
|
||
"url": "welcome.html",
|
||
"name": "控制台",
|
||
}
|
||
ret["title"] = "Ciyon SaaS总控台"
|
||
return c.SuccJSON(w, r, ret)
|
||
}
|
||
|
||
func Index_favadd(w http.ResponseWriter, r *http.Request) bool {
|
||
post := c.NewCiyPost(w, r)
|
||
_, userid := Verifyfast(r, c.CiyDB, post)
|
||
if userid == 0 {
|
||
return false
|
||
}
|
||
menuid := post.Getint("id")
|
||
csql := c.NewCiySQL("zc_mnufav")
|
||
csql.Where("favtarget", 10).Where("user", userid).Where("menuid", menuid)
|
||
favrow, err := c.CiyDB.Getone(csql)
|
||
if err != nil {
|
||
return c.ErrJSON(w, "遇到fav读取错误", err)
|
||
}
|
||
if favrow == nil {
|
||
updata := map[string]any{}
|
||
updata["favtarget"] = 10
|
||
updata["user"] = userid
|
||
updata["menuid"] = menuid
|
||
updata["addtimes"] = c.Tostamp()
|
||
csql := c.NewCiySQL("zc_mnufav")
|
||
_, err = c.CiyDB.Insert(csql, updata)
|
||
if err != nil {
|
||
return c.ErrJSON(w, "添加fav失败", err)
|
||
}
|
||
}
|
||
return c.SuccJSON(w, r)
|
||
}
|
||
func Index_favdel(w http.ResponseWriter, r *http.Request) bool {
|
||
post := c.NewCiyPost(w, r)
|
||
_, userid := Verifyfast(r, c.CiyDB, post)
|
||
if userid == 0 {
|
||
return false
|
||
}
|
||
menuid := post.Getint("id")
|
||
csql := c.NewCiySQL("zc_mnufav")
|
||
csql.Where("favtarget", 10).Where("user", userid).Where("menuid", menuid)
|
||
_, err := c.CiyDB.Delete(csql)
|
||
if err != nil {
|
||
return c.ErrJSON(w, "删除fav失败", err)
|
||
}
|
||
return c.SuccJSON(w, r)
|
||
}
|
||
|
||
func Index_setssh(w http.ResponseWriter, r *http.Request) bool {
|
||
post := c.NewCiyPost(w, r)
|
||
_, userid := Verifyfast(r, c.CiyDB, post)
|
||
if userid == 0 {
|
||
return false
|
||
}
|
||
if Nopower(c.CiyDB, userid, "x1ssh") {
|
||
return c.ErrJSON(w, "您未被授权操作")
|
||
}
|
||
able := post.Getbool("able") //true,打开SSH允许远程访问。 false,关闭防火墙禁止访问
|
||
if able {
|
||
//开启后,需定时关闭防火墙
|
||
fmt.Println("开启SSH远程访问")
|
||
}
|
||
return c.SuccJSON(w, r)
|
||
}
|
||
|
||
// if strings.HasPrefix(r.Header.Get("Content-Type"), "multipart/form-data") {
|
||
// err := r.ParseMultipartForm(5 * 1024 * 1024 * 1024)
|
||
// if err == nil {
|
||
// Clog("POST MultipartForm:", r.MultipartForm) //.Value["aaa"]
|
||
// } else {
|
||
// Clog("POST MultipartForm err:", err)
|
||
// }
|
||
// file, header, err := r.FormFile("file")
|
||
// Clog("POST FormFile:", file, header, err)
|
||
// } else {
|
||
// post := c.NewCiyPost(w, r)
|
||
// fff := post.Get("str", c.CIYPOST_ALLOW_HTML)
|
||
// Clog("post str:", fff)
|
||
// // ddd = post.Getdate("date")
|
||
// // Clog("post time:", ddd)
|
||
// // det = c.Todate(ddd, "Y-m-d H:i:s")
|
||
|
||
// //Clog("post json:", post)
|
||
// }
|
||
// Clog("Headers:", r.Header)
|
||
// Clog("Cookies:", r.Cookies())
|
||
// Clog("Query:", r.URL.Query())
|
||
// if err := r.ParseForm(); err != nil {
|
||
// Clog("Error parsing form:", err)
|
||
// }
|
||
|
||
// Clog("POST Form:", r.Form) //get/post混合
|
||
// Clog("POST PostForm:", r.PostForm) //xform
|
||
|
||
// err := r.ParseMultipartForm(5 * 1024 * 1024 * 1024)
|
||
// if err == nil {
|
||
// Clog("POST MultipartForm:", r.MultipartForm) //.Value["aaa"]
|
||
// } else {
|
||
// Clog("POST MultipartForm err:", err)
|
||
// }
|
||
// file, header, err := r.FormFile("file")
|
||
// Clog("POST FormFile:", file, header, err)
|
||
// // 获取特定POST参数
|
||
// // name := r.PostForm.Get("aaa")
|
||
// // Clog("POST Param Get:", name)
|
||
|
||
// body, err := io.ReadAll(r.Body)
|
||
// if err != nil {
|
||
// http.Error(w, "Error reading request body", http.StatusInternalServerError)
|
||
// return
|
||
// }
|
||
// Clog("POST json:", string(body))
|
||
// // 获取请求的URL
|
||
// Clog("URL:", r.URL)
|
||
// Clog("Scheme:", r.URL.Scheme)
|
||
// Clog("Opaque:", r.URL.Opaque)
|
||
// Clog("User:", r.URL.User)
|
||
// Clog("Host:", r.URL.Host)
|
||
// Clog("Path:", r.URL.Path)
|
||
// Clog("RawPath:", r.URL.RawPath)
|
||
// Clog("OmitHost:", r.URL.OmitHost)
|
||
// Clog("ForceQuery:", r.URL.ForceQuery)
|
||
// Clog("RawQuery:", r.URL.RawQuery)
|
||
// Clog("Fragment:", r.URL.Fragment)
|
||
// Clog("RawFragment:", r.URL.RawFragment)
|