package main import ( "bufio" "fmt" "gcore/core" "github.com/sqweek/dialog" "golang.org/x/text/encoding/simplifiedchinese" "os" "os/exec" "strconv" ) type Charset string const ( UTF8 = Charset("UTF-8") GB18030 = Charset("GB18030") ) func init() { //devConf := &xnet.DevConf{ // AppKey: "ding8svryas6vm6ze5xh", // AppSecret: "YF77J3t-bORqtZxNH7-RY8Q3znrgpsZDpTiXDqLj-Ns8XRIDZLn6fIwpukOQ1P1o", // GetTokenUrl: "https://oapi.dingtalk.com/gettoken", // GetDeptUserListUrl: "https://oapi.dingtalk.com/topapi/user/listsimple", // Params: map[string]string{}, // Headers: map[string]string{}, // Cookie: []*http.Cookie{}, // DeptId: 554750022, //} //if err := devConf.GetToken(); err != nil { // log.Fatalln(err) //} // //println(devConf.Token) // //deptUserList, _ := devConf.GetDeptUserList() //fmt.Printf("%v\n", deptUserList) //workData,_:=core.GetWorkData(30) //fmt.Printf("%v\n", workData) //ret := core.GetChromeUserDataDir() //fmt.Printf("ret=>%v\n", ret) chromeExePath, _ := core.GetChromeExePath() exists, _ := core.FileExists(chromeExePath) if exists == false { dialog.Message("请先安装chrome(谷歌)浏览器再运行本程序!!").Title("提示").Error() return } args := os.Args chromePort := 9200 if len(args) > 1 { chromePort, _ = strconv.Atoi(args[1]) } params := []string{ "--disable-gpu", "--window-size=1920,1080", //" --headless", fmt.Sprintf("--remote-debugging-port=%v", chromePort), } cmd := exec.Command(chromeExePath, params...) stdout, err := cmd.StdoutPipe() if err != nil { fmt.Println(err) return } cmd.Start() in := bufio.NewScanner(stdout) for in.Scan() { cmdRe := ConvertByte2String(in.Bytes(), "GB18030") fmt.Println(cmdRe) } cmd.Wait() } func ConvertByte2String(byte []byte, charset Charset) string { var str string switch charset { case GB18030: var decodeBytes, _ = simplifiedchinese.GB18030.NewDecoder().Bytes(byte) str = string(decodeBytes) case UTF8: fallthrough default: str = string(byte) } return str } func main() { }