package service import ( "fmt" "github.com/alibaba/sentinel-golang/util" "strings" "testing" "unicode" ) func TestParseToken(t *testing.T) { // 解析token // 如果是自定义Claim结构体则需要使用 ParseWithClaims 方法 //tokenString := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXN0b21lcklkIjoiIiwiZXhwIjoxNzExMTU0NDAxLCJpc3MiOiJjdXN0b21lciJ9.ujrz1YTMFOKeIsDbYaQctLiOhkYicnZ8xb-Y6E_JeJg" //token, err := jwt.ParseWithClaims(tokenString, &model.CustomerClaims{}, func(token *jwt.Token) (i interface{}, err error) { // // 直接使用标准的Claim则可以直接使用Parse方法 // //token, err := jwt.Parse(tokenString, func(token *jwt.Token) (i interface{}, err error) { // return model.AppletCustomerSecret, nil //}) //if err != nil { // fmt.Println("==========", err) //} //// 对token对象中的Claim进行类型断言 //if claims, ok := token.Claims.(*model.CustomerClaims); ok && token.Valid { // 校验token // fmt.Println("==========", claims) //} else { // fmt.Println("==========", "invalid token") //} fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) fmt.Println(util.NewUuid()) } // 单词全部转化为大写 func ToUpper(s string) string { return strings.ToUpper(s) } // 单词全部转化为小写 func ToLower(s string) string { return strings.ToLower(s) } // 下划线单词转为大写驼峰单词 func UderscoreToUpperCamelCase(s string) string { s = strings.Replace(s, "_", " ", -1) s = strings.Title(s) return strings.Replace(s, " ", "", -1) } // 下划线单词转为小写驼峰单词 func UderscoreToLowerCamelCase(s string) string { s = UderscoreToUpperCamelCase(s) return string(unicode.ToLower(rune(s[0]))) + s[1:] } func TestCode(t *testing.T) { list := []string{ "pro_variety", "pro_name", "pro_no", "fill_media", "make_unit", "make_time", "work_pressure", "volume", "check_time", "next_check_time", "regist_code", "change_event", "memo", "inner_code", "stamp_make_unit", "pro_uuid", "chip_id", "location", "status", "check_organization", "empty_bottle", "product_id", "uid", "tid", "chip_status", "location_source_id", "is_lose", "old_bottle", "design_thickness", "result_code", "audit_remark", "deadline_time", "check_in_time", "scrap_time", "analysis_status", "check_status", "operation_id", "operation_time", "safe_evaluate", } for _, s := range list { fmt.Println(UderscoreToLowerCamelCase(s)) } }