定义路由:
r := gin.Default()
r.LoadHTMLGlob("static/*.html")
//r.Static("/static", "static")
//r.GET("/",addIndex)
//静态文件服务
if len(webDir) > 0 {
// 将一个目录下的静态文件,并注册到web服务器
r.Static("/share", webDir)
}
// api接口服务,定义了路由组 /
todo := r.Group("")
{
// 定义增改查的接口,并注册到web服务器
todo.GET("/",addIndex)
}
function:
//定义全局结构体
type goodsPort struct {
Addr string `json:"addr"`
Names string `json:"names"`
Species string `json:"species"`
Rent string `json:"rent"`
EthPledge string `json:"ethPledge"`
}
func addIndex(c *gin.Context) {
//
client, err := config.HaveClient()//获取域名和端口
if err != nil {
fmt.Println(err)
respError(c, err)
return
}
id := config.HaveId(client) //获取合约储存的id
if err != nil {
fmt.Println(err)
respError(c, err)
return
}
//定义一个结构体类型的数组
var arr []goodsPort
var names, species, rent, ethPledge string
for i := 0; i < len(id)+1; i++ {
//为了遍历出数据并只渲染一次
if i < len(id) {
//var Owner common.Address
var Rent *big.Int
var EthPledge *big.Int
_, names, species, Rent, EthPledge, err = config.HaveIndex(client, id[i])
//addr = Owner.Hex()
rent = Rent.String()
ethPledge = EthPledge.String()
if err != nil {
respError(c, err)
return
}
arr1 := []goodsPort{goodsPort{Names: names, Species: species, Rent: rent, EthPledge: ethPledge}}
arr = append(arr, arr1...)
c.HTML(http.StatusOK, "static/index.html", gin.H{
"goodsPor": arr,
})
}
}
}