源码 | Highcharts(JavaScript图表库) v12.0.2 |
图标 | ![]() |
分类 | 源码下载-软件开发-java源码-JavaScript图表库下载 java源码 |
语言 | 简体中文 |
大小 | 22.6MB |
软件类型 | 国产软件 |
发布时间 | |
用户评分 | 3 |
备案号 | |
官方网址 | |
软件授权 | 免费软件 |
操作系统 | Javascript |
厂商 | |
下载 | ![]() |
介绍 |
Highcharts是一个制作图表的纯Javascript类库。 Highcharts主要特性:1、兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等; 2、对个人用户完全免费; 3、纯JS,无BS; 4、支持大部分的图表类型:直线图,曲线图、区域图、区域曲线图、柱状图、饼状图、散布图; 5、跨语言:不管是PHP、Asp.net还是Java都可以使用,它只需要三个文件:一个是Highcharts的核心文件highcharts.js,还有a canvas emulator for IE和Jquery类库或者MooTools类库; 6、提示功能:鼠标移动到图表的某一点上有提示信息; 7、放大功能:选中图表部分放大,近距离观察图表; 8、易用性:无需要特殊的开发技能,只需要设置一下选项就可以制作适合自己的图表; 9、时间轴:可以精确到毫秒; 下面我们来演示如何使用elton返回Hello, World!,并且添加了一些常用的中间件 package main import ( "github.com/vicanso/elton" "github.com/vicanso/elton/middleware" ) func main() { e := elton.New() // panic处理 e.Use(middleware.NewRecover()) // 出错处理 e.Use(middleware.NewDefaultError()) // 默认的请求数据解析 e.Use(middleware.NewDefaultBodyParser()) // not modified 304的处理 e.Use(middleware.NewDefaultFresh()) e.Use(middleware.NewDefaultETag()) // 响应数据转换为json e.Use(middleware.NewDefaultResponder()) e.GET("/", func(c *elton.Context) error { c.Body = &struct { Message string `json:"message,omitempty"` }{ "Hello, World!", } return nil }) e.GET("/books/{id}", func(c *elton.Context) error { c.Body = &struct { ID string `json:"id,omitempty"` }{ c.Param("id"), } return nil }) e.POST("/login", func(c *elton.Context) error { c.SetContentTypeByExt(".json") c.Body = c.RequestBody return nil }) err := e.ListenAndServe(":3000") if err != nil { panic(err) } } go run main.go 之后在浏览器中打开http://localhost:3000/则能看到返回的Hello, World!。 路由 elton每个路由可以添加多个中间件处理函数,根据路由与及HTTP请求方法指定不同的路由处理函数。而全局的中间件则可通过Use方法来添加。 e.Use(...func(*elton.Context) error) e.Method(path string, ...func(*elton.Context) error) e 为elton实例化对象 Method 为HTTP的请求方法,如:GET, PUT, POST等等 path 为HTTP路由路径 func(*elton.Context) error 为路由处理函数(中间件),当匹配的路由被请求时,对应的处理函数则会被调用 路由示例 elton的路由使用chi的路由简化而来,下面是两个简单的示例。 // 带参数路由 e.GET("/users/{type}", func(c *elton.Context) error { c.BodyBuffer = bytes.NewBufferString(c.Param("type")) return nil }) // 复合参数 e.GET("/books/{category:[a-z-]+}-{type}", func(c *elton.Context) error { c.BodyBuffer = bytes.NewBufferString(c.Param("category") + c.Param("type")) return nil }) // 带中间件的路由配置 e.GET("/users/me", func(c *elton.Context) error { c.Set("account", "tree.xie") return c.Next() }, func(c *elton.Context) error { c.BodyBuffer = bytes.NewBufferString(c.GetString("account")) return nil }) 中间件 简单方便的中间件机制,依赖各类定制的中间件,通过各类中间件的组合,方便快捷实现各类HTTP服务,简单介绍数据响应与出错处理的中间件。需要注意,elton中默认不会执行所有的中间件,每个中间件决定是否需要执行后续处理,如果需要则调用Next()函数,与gin不一样(gin默认为执行所有,若不希望执行后续的中间件,则调用Abort)。 responder HTTP请求响应数据时,需要将数据转换为Buffer返回,而在应用时响应数据一般为各类的struct或map等结构化数据,因此elton提供了Body(interface{})字段来保存这些数据,再使用自定义的中间件将数据转换为对应的字节数据,elton-responder提供了将struct(map)转换为json字节并设置对应的Content-Type,对于string([]byte)则直接输出。 package main import ( "github.com/vicanso/elton" "github.com/vicanso/elton/middleware" ) func main() { e := elton.New() // 对响应数据 c.Body 转换为相应的json响应 e.Use(middleware.NewDefaultResponder()) getSession := func(c *elton.Context) error { c.Set("account", "tree.xie") return c.Next() } e.GET("/users/me", getSession, func(c *elton.Context) (err error) { c.Body = &struct { Name string `json:"name"` Type string `json:"type"` }{ c.GetString("account"), "vip", } return }) err := e.ListenAndServe(":3000") if err != nil { panic(err) } } error 当请求处理失败时,直接返回error则可,elton从error中获取出错信息并输出。默认的出错处理并不适合实际应用场景,建议使用自定义出错类配合中间件,便于统一的错误处理,程序监控,下面是引入错误中间件将出错转换为json形式的响应。 package main import ( "github.com/vicanso/elton" "github.com/vicanso/elton/middleware" "github.com/vicanso/hes" ) func main() { e := elton.New() // 指定出错以json的形式返回 e.Use(middleware.NewError(middleware.ErrorConfig{ ResponseType: "json", })) e.GET("/", func(c *elton.Context) (err error) { err = &hes.Error{ StatusCode: 400, Category: "users", Message: "出错啦", } return }) err := e.ListenAndServe(":3000") if err != nil { panic(err) } } |
截图 | |
随便看 |
|
网盟提供免费网站源码下载(asp源码,php源码,.net源码),源码动态,使用教程和源码评测;为站长推介有价值的源码,为开发者宣传源码作品。