some_tool.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package tool
  2. import (
  3. "crypto/sha256"
  4. "database/sql"
  5. "encoding/hex"
  6. "html/template"
  7. "log"
  8. "net/url"
  9. "time"
  10. )
  11. func Sha224(data string) string {
  12. hasher := sha256.New224()
  13. hasher.Write([]byte(data))
  14. hash_byte := hasher.Sum(nil)
  15. hash_str := hex.EncodeToString(hash_byte)
  16. return hash_str
  17. }
  18. func Url_parser(data string) string {
  19. return url.QueryEscape(data)
  20. }
  21. func HTML_escape(data string) string {
  22. return template.HTMLEscapeString(data)
  23. }
  24. func Arr_in_str(arr []string, data string) bool {
  25. for _, v := range arr {
  26. if v == data {
  27. return true
  28. }
  29. }
  30. return false
  31. }
  32. func Get_time() string {
  33. return time.Now().Format("2006-01-02 15:04:05")
  34. }
  35. func Get_setting(db *sql.DB, set_name string, data_coverage string) [][]string {
  36. var rows *sql.Rows
  37. if data_coverage != "" {
  38. stmt, err := db.Prepare(DB_change("select data, coverage from other where name = ? and coverage = ?"))
  39. if err != nil {
  40. log.Fatal(err)
  41. }
  42. defer stmt.Close()
  43. rows, err = stmt.Query(set_name, data_coverage)
  44. if err != nil {
  45. log.Fatal(err)
  46. }
  47. } else {
  48. stmt, err := db.Prepare(DB_change("select data, coverage from other where name = ?"))
  49. if err != nil {
  50. log.Fatal(err)
  51. }
  52. defer stmt.Close()
  53. rows, err = stmt.Query(set_name)
  54. if err != nil {
  55. log.Fatal(err)
  56. }
  57. }
  58. defer rows.Close()
  59. data_list := [][]string{}
  60. for rows.Next() {
  61. var set_data string
  62. var set_coverage string
  63. err := rows.Scan(&set_data, &set_coverage)
  64. if err != nil {
  65. log.Fatal(err)
  66. }
  67. data_list = append(data_list, []string{set_data, set_coverage})
  68. }
  69. return data_list
  70. }