易云轻量版服务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3 年之前
3 年之前
3 年之前
3 年之前
3 年之前
3 年之前
3 年之前
3 年之前
3 年之前
3 年之前
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package main
  2. import (
  3. "fmt"
  4. "io"
  5. "locking-kit-server/consts"
  6. "locking-kit-server/env"
  7. "locking-kit-server/handler"
  8. "locking-kit-server/utils"
  9. "locking-kit-server/websocket"
  10. "log"
  11. "net/http"
  12. "os"
  13. "path/filepath"
  14. "strconv"
  15. "strings"
  16. "time"
  17. )
  18. /**
  19. * @author yuanrh
  20. * @description 主函数
  21. * @date 2021/6/28 11:11
  22. **/
  23. func main() {
  24. str :="2021-07-28T18:47:33+08:00"
  25. fmt.Println("-------------")
  26. fmt.Println(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(str,"-",""),":",""),"+0800",""),"T",""))
  27. fmt.Println("-------------")
  28. var LogFilePath = os.Getenv("APPDATA")+"\\LOCKING-KIT\\logs"
  29. //日志设置
  30. _,err := os.Stat(LogFilePath)
  31. if err != nil {
  32. os.MkdirAll(LogFilePath, os.ModePerm)
  33. }
  34. logpath :=filepath.Join(LogFilePath,fmt.Sprintf("%v-%d.log",strconv.Itoa((time.Now().Year())),time.Now().Month()))
  35. logFile, err := os.OpenFile(logpath, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
  36. if err != nil {
  37. log.Printf("open log file failed, err:", err)
  38. return
  39. }
  40. multiWriter := io.MultiWriter(os.Stdout,logFile)
  41. log.SetOutput(multiWriter)
  42. log.SetPrefix(consts.LOG_PREFIX)
  43. log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
  44. utils.InitWorker(101)
  45. err = env.InitWorkSpaceFromRegistry()
  46. if err != nil {
  47. log.Printf("InitWorkSpaceFromRegistry failed, err:", err)
  48. return
  49. }
  50. defer env.GobalFileWatch.Close()
  51. //http://localhost:7777/ws
  52. http.HandleFunc("/api/syncFolderToWorkSpace", handler.SyncFolderToWorkSpace)
  53. http.HandleFunc("/api/downloadFile", handler.DownloadFile)
  54. http.HandleFunc("/api/uploadFile", handler.UploadFile)
  55. http.HandleFunc("/api/getWorkSpace", handler.GetWorkSpace)
  56. http.HandleFunc("/api/setWorkSpace", handler.SetWorkSpace)
  57. http.HandleFunc("/api/restartTask", handler.RestartTask)
  58. http.HandleFunc("/api/login", handler.Login)
  59. http.HandleFunc("/api/logout", handler.Logout)
  60. http.HandleFunc("/api/downloadFileFromMsg", handler.DownloadFileFromMsg)
  61. http.HandleFunc("/api/canShowBlueOverlay", handler.CanShowBlueOverlay)
  62. http.HandleFunc("/api/canShowRedOverlay", handler.CanShowRedOverlay)
  63. http.HandleFunc("/websocket/subscriptionTaskSync", websocket.SubscriptionTaskSyncHandler)
  64. http.HandleFunc("/websocket/subscriptionMessageNotify", websocket.SubscriptionMessageNotifyHandler)
  65. //服务端启动
  66. log.Println("服务启动成功,监听端口7888,等待连接...")
  67. http.ListenAndServe("127.0.0.1:7888", nil)
  68. }