utils.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /*
  2. * @description:工具函数
  3. * @Author: CP
  4. * @Date: 2020-09-03 10:08:52
  5. * @FilePath: \construction_management\web\utils\utils.go
  6. */
  7. package utils
  8. import (
  9. "errors"
  10. "strconv"
  11. "strings"
  12. "github.com/kataras/iris/v12"
  13. "go.mod/comm"
  14. "go.mod/conf"
  15. )
  16. // 字符串转换MAP
  17. func StringToMap(str string, split string) map[string]string {
  18. entries := strings.Split(str, split)
  19. strMap := make(map[string]string)
  20. for _, e := range entries {
  21. parts := strings.Split(e, ":")
  22. strMap[strings.Replace(parts[0], " ", "", -1)] = strings.Replace(parts[1], " ", "", -1)
  23. }
  24. return strMap
  25. }
  26. // 获得项目ID
  27. func GetProjectId(ctx iris.Context) (int, error) {
  28. //account := ctx.Values().Get("account").(*viewmodels.ProjectAccount)
  29. // fmt.Println(account)
  30. projectId, err := ctx.Values().GetInt("projectId")
  31. if err != nil {
  32. return 0, errors.New("项目不存在")
  33. }
  34. return projectId, nil
  35. }
  36. // 获得项目账号ID
  37. func GetProjectAccountId(ctx iris.Context) (int, error) {
  38. identityIdInt, err := ctx.Values().GetInt("accountId")
  39. if err != nil {
  40. return 0, errors.New("项目账号不存在")
  41. }
  42. return identityIdInt, nil
  43. }
  44. // 获得解密后的ID
  45. func GetDecryptId(id string) (int, error) {
  46. id, err := comm.AesDecrypt(id, conf.SignSecret)
  47. if err != nil {
  48. return 0, errors.New("ID 解析错误")
  49. }
  50. idInt, err := strconv.Atoi(id)
  51. if err != nil {
  52. return 0, errors.New("ID 转换错误")
  53. }
  54. return idInt, nil
  55. }
  56. // // 获得项目ID
  57. // func GetProjectId(ctx iris.Context) (int, error) {
  58. // jwtInfo := ctx.Values().Get("jwt").(*jwt.Token)
  59. // project := jwtInfo.Claims.(jwt.MapClaims)["project"].(string)
  60. // projectId, err := comm.AesDecrypt(project, conf.CookieSecret)
  61. // if err != nil {
  62. // return 0, errors.New("项目不存在")
  63. // }
  64. // projectIdInt, err := strconv.Atoi(projectId)
  65. // if err != nil {
  66. // return 0, errors.New("项目不存在")
  67. // }
  68. // return projectIdInt, nil
  69. // }
  70. // // 获得项目账号ID
  71. // func GetProjectAccountId(ctx iris.Context) (int, error) {
  72. // jwtInfo := ctx.Values().Get("jwt").(*jwt.Token)
  73. // identity := jwtInfo.Claims.(jwt.MapClaims)["identity"].(string)
  74. // identityId, err := comm.AesDecrypt(identity, conf.CookieSecret)
  75. // if err != nil {
  76. // return 0, errors.New("项目账号不存在")
  77. // }
  78. // identityIdInt, err := strconv.Atoi(identityId)
  79. // if err != nil {
  80. // return 0, errors.New("项目账号不存在")
  81. // }
  82. // return identityIdInt, nil
  83. // }