123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- package main
- import (
- "context"
- "fmt"
- "git.nspix.com/golang/micro"
- "git.nspix.com/golang/micro/gateway/cli"
- "git.nspix.com/golang/micro/helper/console"
- "math/rand"
- "time"
- )
- type (
- Request struct {
- Name string
- Age int
- Co float64
- }
- )
- func main() {
- svr := micro.Init(
- micro.WithName("git.nspix.com/test", "0.0.01"),
- micro.WithoutRegister(),
- micro.WithHttpDebug(),
- micro.WithStats(),
- micro.WithCli(),
- micro.WithReport(),
- micro.WithPort(6567),
- )
- micro.Handle("getUserList", func(ctx micro.Context) (err error) {
- var req Request
- if err = ctx.Bind(&req); err != nil {
- return err
- }
- return ctx.Success(req)
- }, func(o *micro.HandleOptions) {
- o.DisableCli = false
- })
- micro.Handle("/show/contenxt", func(ctx micro.Context) (err error) {
- table := console.NewTable().WithBordered()
- table.AddRow("Name", "Age")
- for i := 0; i < 10; i++ {
- table.AddRow(fmt.Sprintf("zhansan%d", i), i+12)
- }
- return ctx.Success(table)
- }, func(o *micro.HandleOptions) {
- o.DisableCli = false
- })
- go func() {
- time.AfterFunc(time.Second*5, func() {
- for i := 0; i < 10; i++ {
- r := rand.Int63n(10000)
- micro.DeferTick(time.Duration(r)*time.Millisecond, func(ctx context.Context) {
- fmt.Println(time.Now().Unix())
- })
- }
- })
- }()
- time.AfterFunc(time.Second*10, func() {
- svr.CliServe().Handle("/show/user/:uid", func(ctx *cli.Context) (err error) {
- return ctx.Success(ctx.ParamValue("uid"))
- })
- })
- if err := svr.Run(); err != nil {
- fmt.Println(err)
- }
- }
|