api-server/main.go
2024-09-24 13:31:28 +08:00

83 lines
1.9 KiB
Go

package main
import (
"api/router"
"golang.org/x/sync/errgroup"
"log"
)
func main() {
// 初始化全局变量
router.InitGlobalVariable()
var g errgroup.Group
// 服务接口
g.Go(func() error {
return router.Server().ListenAndServe()
})
if err := g.Wait(); err != nil {
log.Fatal(err)
}
}
// package main
//
// import (
// "encoding/base64"
// "fmt"
// "log"
// "regexp"
// )
//
// func decodeGclid(gclid string, splitTimestamp bool) map[int]interface{} {
// // Base64 URL decode
// base64Decoded, err := base64.RawURLEncoding.DecodeString(gclid)
// if err != nil {
// log.Fatalf("Failed to decode base64 URL: %v", err)
// }
//
// // Regular expression to match the pattern
// re := regexp.MustCompile(`(?=[\x5\xd\x15\x1d%\-5=EMU\]emu}\x85\x8d\x95\x9d\xa5\xad\xb5\xbd\xc5\xcd\xd5\xd5\xe5\xed\xf5\xfd])([^\x00-\x7f]*[\x00-\x7f])(.{4})|([^\x00-\x7f]*[\x00-\x7f])([^\x80-\xff]*[\x00-\x7f])`)
// matches := re.FindAllSubmatch(base64Decoded, -1)
//
// result := make(map[int]interface{})
// for _, match := range matches {
// var key, val int64
// if len(match[1]) > 0 {
// for i, c := range match[1] {
// key += int64(c&0x7f) << (i * 7)
// }
// for i, c := range match[2] {
// val += int64(c) << (i * 8)
// }
// } else {
// for i, c := range match[3] {
// key += int64(c&0x7f) << (i * 7)
// }
// for i, c := range match[4] {
// val += int64(c&0x7f) << (i * 7)
// }
// }
// result[int(key>>3)] = val
// }
//
// if splitTimestamp {
// if timestamp, ok := result[1].(int64); ok {
// seconds := timestamp / 1000000
// microseconds := timestamp % 1000000
// result[1] = []int64{seconds, microseconds}
// }
// }
//
// return result
// }
//
// func main() {
// gclid := "CKSDxc_qhLkCFQyk4AodO24Arg" // 你的 GCLID 字符串
//
// decoded := decodeGclid(gclid, true)
// fmt.Printf("Decoded GCLID: %+v\n", decoded)
// }