package services import ( "encoding/json" "fmt" "hongze/hz_crm_api/models/cygx" "io/ioutil" "net/http" "strconv" "strings" "time" ) var ( AliyunAppCode = "22553c4ba74545568aba70ac6cfd441d" // AppCode ) type AliOcrByImageToTextResp struct { RequestID string `json:"request_id"` Ret []struct { Rect struct { Angle int64 `json:"angle"` Height int64 `json:"height"` Left int64 `json:"left"` Top int64 `json:"top"` Width int64 `json:"width"` } `json:"rect"` Word string `json:"word"` } `json:"ret"` Success bool `json:"success"` } //func init() { // AliOcrByImageToText("https://hzstatic.hzinsights.com/cygx/config/a2.jpg") //} // 阿里云OCR将图片转文字 func AliOcrByImageToText(imageurl string) (item *AliOcrByImageToTextResp, err error) { url := "https://tysbgpu.market.alicloudapi.com/api/predict/ocr_general" method := "POST" payload := strings.NewReader(`{ "image":"` + imageurl + `" }`) client := &http.Client{} req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) return } req.Header.Add("Authorization", "APPCODE "+AliyunAppCode) req.Header.Add("Content-Type", "application/json") res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } err = json.Unmarshal(body, &item) logItem := new(cygx.AliyunOcrLog) logItem.ImgUrl = imageurl logItem.Result = string(body) logItem.CreateTime = time.Now() err = cygx.AddAliyunOcrLog(logItem) return } //星期日 Sunday=Sun. 读音:英[ˈsʌndeɪ]美[ˈsʌnˌdeɪ] // //星期一 Monday=Mon. 读音:英[ˈmʌndeɪ]美[ˈmʌndeɪ] // //星期二 Tuesday=Tues. 读音:英[ˈtju:zdeɪ]美[ˈtu:zdeɪ] // //星期三 Wednesday=Wed. 读音:英[ˈwenzdeɪ]美[ˈwɛnzdi, -ˌde] // //星期四 Thursday=Thur./Thurs. 读音:英[ˈθɜ:zdeɪ]美[ˈθɜ:rzdeɪ] // //星期五 Friday=Fri. 读音:英[ˈfraɪdeɪ]美[ˈfraɪˌdeɪ] // //星期六 Saturday=Sat. 读音: 英[ˈsætədeɪ]美[ˈsætərdeɪ] func ConvertActivityTitmeYMD(TitmeYMD string) (titmeYMDNew string) { titmeYMDNew = TitmeYMD titmeYMDNew = strings.Replace(titmeYMDNew, "/", "月", -1) //titmeYMDNew = strings.Replace(titmeYMDNew, "SUN", "日(周日)", -1) //titmeYMDNew = strings.Replace(titmeYMDNew, "MON", "日(周一)", -1) //titmeYMDNew = strings.Replace(titmeYMDNew, "TUE", "日(周二)", -1) //titmeYMDNew = strings.Replace(titmeYMDNew, "WED", "日(周三)", -1) //titmeYMDNew = strings.Replace(titmeYMDNew, "THU", "日(周四)", -1) //titmeYMDNew = strings.Replace(titmeYMDNew, "FRI", "日(周五)", -1) //titmeYMDNew = strings.Replace(titmeYMDNew, "SAT", "日(周六)", -1) titmeYMDNew = strings.Replace(titmeYMDNew, "SUN", "日", -1) titmeYMDNew = strings.Replace(titmeYMDNew, "MON", "日", -1) titmeYMDNew = strings.Replace(titmeYMDNew, "TUE", "日", -1) titmeYMDNew = strings.Replace(titmeYMDNew, "WED", "日", -1) titmeYMDNew = strings.Replace(titmeYMDNew, "THU", "日", -1) titmeYMDNew = strings.Replace(titmeYMDNew, "FRI", "日", -1) titmeYMDNew = strings.Replace(titmeYMDNew, "SAT", "日", -1) titmeYMDNew = strconv.Itoa(time.Now().Year()) + "年" + titmeYMDNew return } func ConvertActivityTitmeHM(titmeHM string) (titmeHMNew string) { titmeHMNew = titmeHM var hNum int //var amOrPm string if strings.Contains(titmeHM, "PM") { hNum = 12 //amOrPm = "PM" } else { //amOrPm = "AM" } titmeHM = strings.Replace(titmeHM, "AM", "", -1) titmeHM = strings.Replace(titmeHM, "PM", "", -1) sliceHm := strings.Split(titmeHM, ":") if len(sliceHm) != 2 { return } hourNum, _ := strconv.Atoi(sliceHm[0]) minute := sliceHm[1] titmeHMNew = strconv.Itoa(hNum+hourNum) + ":" + minute return }