1. 程式人生 > 其它 >Golang語言社群--LollipopGO開源專案搭建商城路由分發

Golang語言社群--LollipopGO開源專案搭建商城路由分發

大家好,我是Golang社群主編彬哥,還是要繼續社群的開源專案LollipopGO輕量級web框架實戰商城。

/*
Golang語言社群(www.Golang.Ltd)
作者:cserli
時間:2018年3月16日
*/
package admin_main

import (
	"LollipopGo/library/lollipop/common" // Assign統一模板的資料
	"fmt"
	"net/http"
)

func Admin(w http.ResponseWriter, req *http.Request) {
	Lcommon.Assign("template/admin/admin.html").Execute(w, "")
	w.Header().Set("Access-Control-Allow-Origin", "*")
	req.ParseForm()
	// 獲取函式
	strpath, bpath := req.Form["g"]
	if bpath {
		fmt.Println(strpath[0])
		// 路由分發
		RouteFun(strpath[0])
	} else {

		Lcommon.Assign("template/error.html").Execute(w, "")
	}
	return
}

error.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>"Golang語言社群(Golang.LTD"</title>
</head>

<body>
	<script type="text/javascript">
	   alert("資料錯誤");
	 </script>
</body>
</html>

路由錯誤提示:

路由分發:

package admin_main

import (
	_ "fmt"
)

// 路由函式
func RouteFun(data string) {

	switch data {
	case "Account":
		Account()
	default:

	}

}

函式處理

/*
Golang語言社群(www.Golang.Ltd)
作者:cserli
時間:2018年3月16日
*/
package admin_main

import (
	"fmt"
)

// 控制器函式
func Account() {
	fmt.Println("Account()")
	return
}

瀏覽器訪問:

http://127.0.0.1:8866/admin?g=Account

結果: