| 软件 | Highcharts(JavaScript图表库) v12.0.2 | 
| 内容 | 
							 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)
	}
} | 
	
| 标签 | Highcharts,javascript,图表库 | 
| 缩略图 | ![]()  | 
	
| 软件名称 | Highcharts(JavaScript图表库) v12.0.2 | 
| 软件图标 | |
| 软件大小 | 22.6MB | 
| 发布时间 | |
| 软件平台 | |
| 软件语言 | 简体中文 | 
| 软件授权 | 免费软件 | 
| 操作系统 | Javascript | 
| 系统类型 | |
| 用户评分 | 3 | 
| 软件版本 | |
| 官方网站 | |
| 官方网址 | |
| 软件截图 | |
| 软件总类 | 源码系统 | 
| 软件大类 | 源码下载-软件开发-java源码-JavaScript图表库下载 | 
| 软件小类 | java源码 | 
| 开发者 | |
| 主办单位名称 | |
| ICP备案名 | |
| 备案号 | |
| 使用年龄 | |
| 下载链接 | ![]()  | 
	
| 攻略教程 | |
| 详细介绍 | |
| 操控设备 | |
| 隐私政策 | |
| 查看权限 | |
| 敏感权限获取说明 | |
| 软件类型 | 国产软件 | 
| 安全警示 | 适度休息有益身心健康,请勿长期沉迷于使用电脑或刷手机。 | 
| 随便看 | 
		
  | 
	
传承兰台文化,共同保存历史记忆!兰台网收藏软件、游戏、图片、图书、电影、电视剧等互联网档案,是免费和可借阅文本、电影、音乐等档案的数字图书馆。