react-toolkits 2.24.19 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/lib/chunk-742NAY4S.js +2 -0
  3. package/lib/{chunk-UPO7NB6O.js.map → chunk-742NAY4S.js.map} +1 -1
  4. package/lib/chunk-EESZYCYA.js +2 -0
  5. package/lib/chunk-EESZYCYA.js.map +1 -0
  6. package/lib/chunk-GI5OS4VD.js +2 -0
  7. package/lib/chunk-GI5OS4VD.js.map +1 -0
  8. package/lib/chunk-K43HSNXS.js +2 -0
  9. package/lib/chunk-K43HSNXS.js.map +1 -0
  10. package/lib/chunk-LEVOCZUQ.js +2 -0
  11. package/lib/{chunk-H5Y4DYUL.js.map → chunk-LEVOCZUQ.js.map} +1 -1
  12. package/lib/chunk-PLJPZJ7T.js +2 -0
  13. package/lib/chunk-PLJPZJ7T.js.map +1 -0
  14. package/lib/chunk-V3YBDED3.js +2 -0
  15. package/lib/{chunk-ZF7POJAA.js.map → chunk-V3YBDED3.js.map} +1 -1
  16. package/lib/chunk-VFRB44XY.js +2 -0
  17. package/lib/{chunk-NNXVZIY2.js.map → chunk-VFRB44XY.js.map} +1 -1
  18. package/lib/chunk-W3E3WPLB.js +3 -0
  19. package/lib/chunk-W3E3WPLB.js.map +1 -0
  20. package/lib/createMenuItem-C7HUFDD4.js +2 -0
  21. package/lib/createMenuItem-C7HUFDD4.js.map +1 -0
  22. package/lib/index.css +1 -1
  23. package/lib/index.d.ts +17 -21
  24. package/lib/index.js +2 -2
  25. package/lib/index.js.map +1 -1
  26. package/lib/menuItemList-2OFNRCPR.js +2 -0
  27. package/lib/menuItemList-2OFNRCPR.js.map +1 -0
  28. package/lib/roleDetail-YBO7TOL5.js +2 -0
  29. package/lib/roleDetail-YBO7TOL5.js.map +1 -0
  30. package/lib/roleList-UEZPNJ2L.js +2 -0
  31. package/lib/roleList-UEZPNJ2L.js.map +1 -0
  32. package/lib/updateMenuItem-23ZR4X2P.js +2 -0
  33. package/lib/updateMenuItem-23ZR4X2P.js.map +1 -0
  34. package/lib/userDetail-QZDRSIYE.js +2 -0
  35. package/lib/userDetail-QZDRSIYE.js.map +1 -0
  36. package/lib/userList-IBXB6M6R.js +2 -0
  37. package/lib/userList-IBXB6M6R.js.map +1 -0
  38. package/locale/context.js +1 -7
  39. package/locale/context.js.map +1 -1
  40. package/locale/en_GB.js +1 -94
  41. package/locale/en_GB.js.map +1 -1
  42. package/locale/hooks.js +1 -18
  43. package/locale/hooks.js.map +1 -1
  44. package/locale/index.js +1 -2
  45. package/locale/ja_JP.js +1 -94
  46. package/locale/ja_JP.js.map +1 -1
  47. package/locale/ko_KR.js +1 -94
  48. package/locale/ko_KR.js.map +1 -1
  49. package/locale/zh_CN.js +1 -94
  50. package/locale/zh_CN.js.map +1 -1
  51. package/package.json +3 -3
  52. package/lib/chunk-7X2LW6EY.js +0 -73
  53. package/lib/chunk-7X2LW6EY.js.map +0 -1
  54. package/lib/chunk-D75NVCYN.js +0 -2
  55. package/lib/chunk-D75NVCYN.js.map +0 -1
  56. package/lib/chunk-DLTAWT6S.js +0 -2
  57. package/lib/chunk-DLTAWT6S.js.map +0 -1
  58. package/lib/chunk-E6L6VKSV.js +0 -227
  59. package/lib/chunk-E6L6VKSV.js.map +0 -1
  60. package/lib/chunk-ESCBNFWD.js +0 -498
  61. package/lib/chunk-ESCBNFWD.js.map +0 -1
  62. package/lib/chunk-FSXYUF4U.js +0 -276
  63. package/lib/chunk-FSXYUF4U.js.map +0 -1
  64. package/lib/chunk-H5Y4DYUL.js +0 -2
  65. package/lib/chunk-LXMQLSQY.js +0 -46
  66. package/lib/chunk-LXMQLSQY.js.map +0 -1
  67. package/lib/chunk-MTRFNFEM.js +0 -2
  68. package/lib/chunk-MTRFNFEM.js.map +0 -1
  69. package/lib/chunk-NNXVZIY2.js +0 -2
  70. package/lib/chunk-OH74GXG4.js +0 -570
  71. package/lib/chunk-OH74GXG4.js.map +0 -1
  72. package/lib/chunk-P25BHLH3.js +0 -3
  73. package/lib/chunk-P25BHLH3.js.map +0 -1
  74. package/lib/chunk-QACSRYJY.js +0 -147
  75. package/lib/chunk-QACSRYJY.js.map +0 -1
  76. package/lib/chunk-ST7VUWJ4.js +0 -2
  77. package/lib/chunk-ST7VUWJ4.js.map +0 -1
  78. package/lib/chunk-UPO7NB6O.js +0 -2
  79. package/lib/chunk-Z6PDWY44.js +0 -17
  80. package/lib/chunk-Z6PDWY44.js.map +0 -1
  81. package/lib/chunk-ZF7POJAA.js +0 -2
  82. package/lib/chunk-ZOHMJAAX.js +0 -120
  83. package/lib/chunk-ZOHMJAAX.js.map +0 -1
  84. package/lib/createMenuItem-CICLQWU6.js +0 -86
  85. package/lib/createMenuItem-CICLQWU6.js.map +0 -1
  86. package/lib/createMenuItem-SXFYDNCW.js +0 -2
  87. package/lib/createMenuItem-SXFYDNCW.js.map +0 -1
  88. package/lib/menuItemList-EHQSS4YZ.js +0 -132
  89. package/lib/menuItemList-EHQSS4YZ.js.map +0 -1
  90. package/lib/menuItemList-NIBRDRTA.js +0 -2
  91. package/lib/menuItemList-NIBRDRTA.js.map +0 -1
  92. package/lib/roleDetail-7HEBW7IS.js +0 -2
  93. package/lib/roleDetail-7HEBW7IS.js.map +0 -1
  94. package/lib/roleDetail-JCDOXKAM.js +0 -72
  95. package/lib/roleDetail-JCDOXKAM.js.map +0 -1
  96. package/lib/roleList-4C77ULPK.js +0 -161
  97. package/lib/roleList-4C77ULPK.js.map +0 -1
  98. package/lib/roleList-WGLD3HXB.js +0 -2
  99. package/lib/roleList-WGLD3HXB.js.map +0 -1
  100. package/lib/updateMenuItem-K62CKVXP.js +0 -109
  101. package/lib/updateMenuItem-K62CKVXP.js.map +0 -1
  102. package/lib/updateMenuItem-TECCUD6Z.js +0 -2
  103. package/lib/updateMenuItem-TECCUD6Z.js.map +0 -1
  104. package/lib/userDetail-WGQJ7IC5.js +0 -2
  105. package/lib/userDetail-WGQJ7IC5.js.map +0 -1
  106. package/lib/userDetail-WYN52ZJ2.js +0 -116
  107. package/lib/userDetail-WYN52ZJ2.js.map +0 -1
  108. package/lib/userList-2S2FRAG6.js +0 -2
  109. package/lib/userList-2S2FRAG6.js.map +0 -1
  110. package/lib/userList-AMVG7RCE.js +0 -195
  111. package/lib/userList-AMVG7RCE.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/locale/ko_KR.ts"],"names":[],"mappings":"AAEA,MAAM,MAAA,GAAiB;AAAA,EACrB,MAAA,EAAQ;AAAA,IACN,aAAA,EAAe,mHAAA;AAAA,IACf,IAAA,EAAM,cAAA;AAAA,IACN,YAAA,EAAc,2BAAA;AAAA,IACd,SAAA,EAAW,cAAA;AAAA,IACX,MAAA,EAAQ,0BAAA;AAAA,IACR,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,SAAA,EAAW,2BAAA;AAAA,IACX,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,QAAA,EAAU,iCAAA;AAAA,IACV,QAAA,EAAU,0BAAA;AAAA,IACV,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,QAAA,EAAU,cAAA;AAAA,IACV,GAAA,EAAK,cAAA;AAAA,IACL,MAAA,EAAQ,oBAAA;AAAA,IACR,YAAA,EAAc,iCAAA;AAAA,IACd,IAAA,EAAM,2BAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,iCAAA;AAAA,IACP,eAAA,EAAiB,0BAAA;AAAA,IACjB,YAAA,EAAc,oKAAA;AAAA,IACd,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,QAAA,EAAU,+FAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EACA,iBAAA,EAAmB;AAAA,IACjB,WAAA,EAAa,cAAA;AAAA,IACb,SAAA,EAAW;AAAA,GACb;AAAA,EACA,SAAA,EAAW;AAAA,IACT,WAAA,EAAa,cAAA;AAAA,IACb,UAAA,EAAY;AAAA,GACd;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,2BAAA;AAAA,IACP,WAAA,EAAa;AAAA,GACf;AAAA,EACA,WAAA,EAAa;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,WAAA,EAAa;AAAA,GACf;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,WAAA,EAAa,iCAAA;AAAA,IACb,kBAAA,EAAoB,oGAAA;AAAA,IACpB,WAAA,EAAa,6CAAA;AAAA,IACb,kBAAA,EAAoB,gHAAA;AAAA,IACpB,WAAA,EAAa,iCAAA;AAAA,IACb,aAAA,EAAe,wFAAA;AAAA,IACf,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,WAAA,EAAa,2BAAA;AAAA,IACb,kBAAA,EAAoB,8FAAA;AAAA,IACpB,WAAA,EAAa,uCAAA;AAAA,IACb,kBAAA,EAAoB,0GAAA;AAAA,IACpB,WAAA,EAAa,2BAAA;AAAA,IACb,aAAA,EAAe,kFAAA;AAAA,IACf,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,iBAAA,EAAmB,sGAAA;AAAA,IACnB,gBAAA,EAAkB,8CAAA;AAAA,IAClB,gBAAA,EAAkB,2BAAA;AAAA,IAClB,sBAAA,EAAwB,sEAAA;AAAA,IACxB,qBAAA,EAAuB,sEAAA;AAAA,IACvB,UAAA,EAAY,cAAA;AAAA,IACZ,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO;AAAA,GACT;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,WAAA,EAAa,qBAAA;AAAA,IACb,YAAA,EAAc,mDAAA;AAAA,IACd,YAAA,EAAc;AAAA;AAElB,CAAA;AAEA,IAAO,aAAA,GAAQ","file":"ko_KR.js","sourcesContent":["import type { Locale } from '.'\n\nconst locale: Locale = {\n global: {\n noEntitlement: '권한이 없습니다, 관리자에게 문의하십시오.',\n name: '이름',\n creationTime: '생성 시간',\n operation: '작업',\n update: '업데이트',\n edit: '편집',\n delete: '삭제',\n selectAll: '모두 선택',\n game: '게임',\n user: '사용자',\n role: '역할',\n username: '사용자 이름',\n password: '비밀번호',\n label: '라벨',\n method: '방법',\n route: '노선',\n request: '요청',\n response: '응답',\n add: '추가',\n signIn: '로그인',\n projectGroup: '프로젝트 팀',\n view: '체크 아웃',\n back: '돌아가기',\n },\n SignIn: {\n title: '로그인 방법',\n signInWithIDass: 'IDass 로그인',\n unregistered: '플랫폼에 아직 등록되지 않았습니다, 관리자에게 문의하십시오',\n welcome: '웰컴',\n },\n NotFound: {\n subTitle: '방문한 페이지가 존재하지 않습니다',\n buttonText: '페이지로 돌아가기',\n },\n FilterFormWrapper: {\n confirmText: '검색',\n resetText: '리셋',\n },\n FormModal: {\n confirmText: '확인',\n cancelText: '취소',\n },\n GameSelect: {\n label: '현재 게임',\n placeholder: '게임을 선택해주세요',\n },\n RequireGame: {\n description: '게임을 선택해주세요',\n },\n UserDropdown: {\n signOutText: '로그아웃',\n },\n User: {\n createTitle: '사용자 생성',\n createSuccessfully: '사용자가 성공적으로 생성되었습니다',\n updateTitle: '사용자 업데이트',\n updateSuccessfully: '사용자가 성공적으로 업데이트되었습니다',\n deleteTitle: '사용자 삭제',\n deleteContent: '사용자 <%= user %>를 삭제하시겠습니까?',\n deleteSuccessfully: '사용자가 성공적으로 삭제되었습니다',\n },\n Role: {\n createTitle: '역할 생성',\n createSuccessfully: '역할이 성공적으로 생성되었습니다',\n updateTitle: '역할 업데이트',\n updateSuccessfully: '역할이 성공적으로 업데이트되었습니다',\n deleteTitle: '역할 삭제',\n deleteContent: '역할 <%= role %>를 삭제하시겠습니까?',\n deleteSuccessfully: '역할이 성공적으로 삭제되었습니다',\n },\n PermissionList: {\n failedDescription: '권한 목록을 가져오는 데 실패했습니다',\n baseSectionTitle: '플랫폼 기본 권한',\n gameSectionTitle: '게임 권한',\n gameSectionDescription: '먼저 게임을 선택해주세요',\n gameSelectPlaceholder: '먼저 게임을 선택해주세요',\n removeText: '제거',\n addText: '게임 권한 추가',\n },\n RoleDetail: {\n title: '역할 세부 정보',\n },\n InfiniteList: {\n loadingText: '로딩 중',\n reachEndText: '끝에 도달했습니다',\n loadMoreText: '더 로드하기',\n },\n}\n\nexport default locale\n"]}
1
+ {"version":3,"sources":["../src/locale/ko_KR.ts"],"names":["locale","ko_KR_default"],"mappings":"AAEA,MAAMA,EAAiB,CACrB,MAAA,CAAQ,CACN,aAAA,CAAe,oHACf,IAAA,CAAM,cAAA,CACN,YAAA,CAAc,2BAAA,CACd,UAAW,cAAA,CACX,MAAA,CAAQ,2BACR,IAAA,CAAM,cAAA,CACN,OAAQ,cAAA,CACR,SAAA,CAAW,2BAAA,CACX,IAAA,CAAM,eACN,IAAA,CAAM,oBAAA,CACN,IAAA,CAAM,cAAA,CACN,SAAU,iCAAA,CACV,QAAA,CAAU,0BAAA,CACV,KAAA,CAAO,eACP,MAAA,CAAQ,cAAA,CACR,MAAO,cAAA,CACP,OAAA,CAAS,eACT,QAAA,CAAU,cAAA,CACV,GAAA,CAAK,cAAA,CACL,OAAQ,oBAAA,CACR,YAAA,CAAc,iCAAA,CACd,IAAA,CAAM,4BACN,IAAA,CAAM,0BACR,CAAA,CACA,MAAA,CAAQ,CACN,KAAA,CAAO,iCAAA,CACP,gBAAiB,0BAAA,CACjB,YAAA,CAAc,qKACd,OAAA,CAAS,cACX,CAAA,CACA,QAAA,CAAU,CACR,QAAA,CAAU,+FAAA,CACV,WAAY,mDACd,CAAA,CACA,kBAAmB,CACjB,WAAA,CAAa,cAAA,CACb,SAAA,CAAW,cACb,CAAA,CACA,SAAA,CAAW,CACT,WAAA,CAAa,cAAA,CACb,WAAY,cACd,CAAA,CACA,UAAA,CAAY,CACV,MAAO,2BAAA,CACP,WAAA,CAAa,yDACf,CAAA,CACA,YAAa,CACX,WAAA,CAAa,yDACf,CAAA,CACA,aAAc,CACZ,WAAA,CAAa,0BACf,CAAA,CACA,IAAA,CAAM,CACJ,WAAA,CAAa,iCAAA,CACb,kBAAA,CAAoB,oGAAA,CACpB,YAAa,6CAAA,CACb,kBAAA,CAAoB,iHACpB,WAAA,CAAa,iCAAA,CACb,cAAe,wFAAA,CACf,kBAAA,CAAoB,oGACtB,CAAA,CACA,KAAM,CACJ,WAAA,CAAa,4BACb,kBAAA,CAAoB,8FAAA,CACpB,YAAa,uCAAA,CACb,kBAAA,CAAoB,0GAAA,CACpB,WAAA,CAAa,4BACb,aAAA,CAAe,kFAAA,CACf,kBAAA,CAAoB,8FACtB,EACA,cAAA,CAAgB,CACd,iBAAA,CAAmB,sGAAA,CACnB,iBAAkB,8CAAA,CAClB,gBAAA,CAAkB,4BAClB,sBAAA,CAAwB,sEAAA,CACxB,sBAAuB,sEAAA,CACvB,UAAA,CAAY,cAAA,CACZ,OAAA,CAAS,wCACX,CAAA,CACA,UAAA,CAAY,CACV,KAAA,CAAO,wCACT,EACA,YAAA,CAAc,CACZ,WAAA,CAAa,qBAAA,CACb,aAAc,mDAAA,CACd,YAAA,CAAc,iCAChB,CACF,CAAA,KAEOC,CAAAA,CAAQD","file":"ko_KR.js","sourcesContent":["import type { Locale } from '.'\n\nconst locale: Locale = {\n global: {\n noEntitlement: '권한이 없습니다, 관리자에게 문의하십시오.',\n name: '이름',\n creationTime: '생성 시간',\n operation: '작업',\n update: '업데이트',\n edit: '편집',\n delete: '삭제',\n selectAll: '모두 선택',\n game: '게임',\n user: '사용자',\n role: '역할',\n username: '사용자 이름',\n password: '비밀번호',\n label: '라벨',\n method: '방법',\n route: '노선',\n request: '요청',\n response: '응답',\n add: '추가',\n signIn: '로그인',\n projectGroup: '프로젝트 팀',\n view: '체크 아웃',\n back: '돌아가기',\n },\n SignIn: {\n title: '로그인 방법',\n signInWithIDass: 'IDass 로그인',\n unregistered: '플랫폼에 아직 등록되지 않았습니다, 관리자에게 문의하십시오',\n welcome: '웰컴',\n },\n NotFound: {\n subTitle: '방문한 페이지가 존재하지 않습니다',\n buttonText: '페이지로 돌아가기',\n },\n FilterFormWrapper: {\n confirmText: '검색',\n resetText: '리셋',\n },\n FormModal: {\n confirmText: '확인',\n cancelText: '취소',\n },\n GameSelect: {\n label: '현재 게임',\n placeholder: '게임을 선택해주세요',\n },\n RequireGame: {\n description: '게임을 선택해주세요',\n },\n UserDropdown: {\n signOutText: '로그아웃',\n },\n User: {\n createTitle: '사용자 생성',\n createSuccessfully: '사용자가 성공적으로 생성되었습니다',\n updateTitle: '사용자 업데이트',\n updateSuccessfully: '사용자가 성공적으로 업데이트되었습니다',\n deleteTitle: '사용자 삭제',\n deleteContent: '사용자 <%= user %>를 삭제하시겠습니까?',\n deleteSuccessfully: '사용자가 성공적으로 삭제되었습니다',\n },\n Role: {\n createTitle: '역할 생성',\n createSuccessfully: '역할이 성공적으로 생성되었습니다',\n updateTitle: '역할 업데이트',\n updateSuccessfully: '역할이 성공적으로 업데이트되었습니다',\n deleteTitle: '역할 삭제',\n deleteContent: '역할 <%= role %>를 삭제하시겠습니까?',\n deleteSuccessfully: '역할이 성공적으로 삭제되었습니다',\n },\n PermissionList: {\n failedDescription: '권한 목록을 가져오는 데 실패했습니다',\n baseSectionTitle: '플랫폼 기본 권한',\n gameSectionTitle: '게임 권한',\n gameSectionDescription: '먼저 게임을 선택해주세요',\n gameSelectPlaceholder: '먼저 게임을 선택해주세요',\n removeText: '제거',\n addText: '게임 권한 추가',\n },\n RoleDetail: {\n title: '역할 세부 정보',\n },\n InfiniteList: {\n loadingText: '로딩 중',\n reachEndText: '끝에 도달했습니다',\n loadMoreText: '더 로드하기',\n },\n}\n\nexport default locale\n"]}
package/locale/zh_CN.js CHANGED
@@ -1,95 +1,2 @@
1
- const locale = {
2
- global: {
3
- noEntitlement: "\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",
4
- name: "\u540D\u79F0",
5
- creationTime: "\u521B\u5EFA\u65F6\u95F4",
6
- operation: "\u64CD\u4F5C",
7
- update: "\u66F4\u65B0",
8
- edit: "\u7F16\u8F91",
9
- delete: "\u5220\u9664",
10
- selectAll: "\u5168\u9009",
11
- game: "\u6E38\u620F",
12
- user: "\u7528\u6237",
13
- role: "\u89D2\u8272",
14
- username: "\u7528\u6237\u540D",
15
- password: "\u5BC6\u7801",
16
- label: "\u6807\u7B7E",
17
- method: "\u65B9\u6CD5",
18
- route: "\u8DEF\u7531",
19
- request: "\u8BF7\u6C42",
20
- response: "\u54CD\u5E94",
21
- add: "\u6DFB\u52A0",
22
- signIn: "\u767B\u5F55",
23
- projectGroup: "\u9879\u76EE\u7EC4",
24
- view: "\u67E5\u770B",
25
- back: "\u8FD4\u56DE"
26
- },
27
- SignIn: {
28
- title: "\u767B\u5F55\u65B9\u5F0F",
29
- signInWithIDass: "IDass \u767B\u5F55",
30
- unregistered: "\u60A8\u8FD8\u672A\u5728\u5E73\u53F0\u6CE8\u518C\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",
31
- welcome: "\u6B22\u8FCE"
32
- },
33
- NotFound: {
34
- subTitle: "\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728",
35
- buttonText: "\u8FD4\u56DE\u9996\u9875"
36
- },
37
- FilterFormWrapper: {
38
- confirmText: "\u67E5\u8BE2",
39
- resetText: "\u91CD\u7F6E"
40
- },
41
- FormModal: {
42
- confirmText: "\u786E\u8BA4",
43
- cancelText: "\u53D6\u6D88"
44
- },
45
- GameSelect: {
46
- label: "\u5F53\u524D\u6E38\u620F",
47
- placeholder: "\u8BF7\u9009\u62E9\u6E38\u620F"
48
- },
49
- RequireGame: {
50
- description: "\u8BF7\u9009\u62E9\u6E38\u620F"
51
- },
52
- UserDropdown: {
53
- signOutText: "\u767B\u51FA"
54
- },
55
- User: {
56
- createTitle: "\u521B\u5EFA\u7528\u6237",
57
- createSuccessfully: "\u7528\u6237\u521B\u5EFA\u6210\u529F",
58
- updateTitle: "\u66F4\u65B0\u7528\u6237",
59
- updateSuccessfully: "\u7528\u6237\u66F4\u65B0\u6210\u529F",
60
- deleteTitle: "\u5220\u9664\u7528\u6237",
61
- deleteContent: "\u786E\u5B9A\u8981\u5220\u9664\u7528\u6237 <%= user %> \u5417\uFF1F",
62
- deleteSuccessfully: "\u7528\u6237\u5220\u9664\u6210\u529F"
63
- },
64
- Role: {
65
- createTitle: "\u521B\u5EFA\u89D2\u8272",
66
- createSuccessfully: "\u89D2\u8272\u521B\u5EFA\u6210\u529F",
67
- updateTitle: "\u66F4\u65B0\u89D2\u8272",
68
- updateSuccessfully: "\u89D2\u8272\u66F4\u65B0\u6210\u529F",
69
- deleteTitle: "\u5220\u9664\u89D2\u8272",
70
- deleteContent: "\u786E\u5B9A\u8981\u5220\u9664\u89D2\u8272 <%= role %> \u5417\uFF1F",
71
- deleteSuccessfully: "\u89D2\u8272\u5220\u9664\u6210\u529F"
72
- },
73
- PermissionList: {
74
- failedDescription: "\u83B7\u53D6\u6743\u9650\u5217\u8868\u5931\u8D25",
75
- baseSectionTitle: "\u5E73\u53F0\u57FA\u7840\u6743\u9650",
76
- gameSectionTitle: "\u6E38\u620F\u6743\u9650",
77
- gameSectionDescription: "\u8BF7\u5148\u9009\u62E9\u6E38\u620F",
78
- gameSelectPlaceholder: "\u8BF7\u5148\u9009\u62E9\u6E38\u620F",
79
- removeText: "\u79FB\u9664",
80
- addText: "\u6DFB\u52A0\u6E38\u620F\u6743\u9650"
81
- },
82
- RoleDetail: {
83
- title: "\u89D2\u8272\u8BE6\u60C5"
84
- },
85
- InfiniteList: {
86
- loadingText: "\u52A0\u8F7D\u4E2D",
87
- reachEndText: "\u5DF2\u7ECF\u5230\u5E95\u4E86",
88
- loadMoreText: "\u52A0\u8F7D\u66F4\u591A"
89
- }
90
- };
91
- var zh_CN_default = locale;
92
-
93
- export { zh_CN_default as default };
94
- //# sourceMappingURL=zh_CN.js.map
1
+ const e={global:{noEntitlement:"\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",name:"\u540D\u79F0",creationTime:"\u521B\u5EFA\u65F6\u95F4",operation:"\u64CD\u4F5C",update:"\u66F4\u65B0",edit:"\u7F16\u8F91",delete:"\u5220\u9664",selectAll:"\u5168\u9009",game:"\u6E38\u620F",user:"\u7528\u6237",role:"\u89D2\u8272",username:"\u7528\u6237\u540D",password:"\u5BC6\u7801",label:"\u6807\u7B7E",method:"\u65B9\u6CD5",route:"\u8DEF\u7531",request:"\u8BF7\u6C42",response:"\u54CD\u5E94",add:"\u6DFB\u52A0",signIn:"\u767B\u5F55",projectGroup:"\u9879\u76EE\u7EC4",view:"\u67E5\u770B",back:"\u8FD4\u56DE"},SignIn:{title:"\u767B\u5F55\u65B9\u5F0F",signInWithIDass:"IDass \u767B\u5F55",unregistered:"\u60A8\u8FD8\u672A\u5728\u5E73\u53F0\u6CE8\u518C\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458",welcome:"\u6B22\u8FCE"},NotFound:{subTitle:"\u8BBF\u95EE\u7684\u9875\u9762\u4E0D\u5B58\u5728",buttonText:"\u8FD4\u56DE\u9996\u9875"},FilterFormWrapper:{confirmText:"\u67E5\u8BE2",resetText:"\u91CD\u7F6E"},FormModal:{confirmText:"\u786E\u8BA4",cancelText:"\u53D6\u6D88"},GameSelect:{label:"\u5F53\u524D\u6E38\u620F",placeholder:"\u8BF7\u9009\u62E9\u6E38\u620F"},RequireGame:{description:"\u8BF7\u9009\u62E9\u6E38\u620F"},UserDropdown:{signOutText:"\u767B\u51FA"},User:{createTitle:"\u521B\u5EFA\u7528\u6237",createSuccessfully:"\u7528\u6237\u521B\u5EFA\u6210\u529F",updateTitle:"\u66F4\u65B0\u7528\u6237",updateSuccessfully:"\u7528\u6237\u66F4\u65B0\u6210\u529F",deleteTitle:"\u5220\u9664\u7528\u6237",deleteContent:"\u786E\u5B9A\u8981\u5220\u9664\u7528\u6237 <%= user %> \u5417\uFF1F",deleteSuccessfully:"\u7528\u6237\u5220\u9664\u6210\u529F"},Role:{createTitle:"\u521B\u5EFA\u89D2\u8272",createSuccessfully:"\u89D2\u8272\u521B\u5EFA\u6210\u529F",updateTitle:"\u66F4\u65B0\u89D2\u8272",updateSuccessfully:"\u89D2\u8272\u66F4\u65B0\u6210\u529F",deleteTitle:"\u5220\u9664\u89D2\u8272",deleteContent:"\u786E\u5B9A\u8981\u5220\u9664\u89D2\u8272 <%= role %> \u5417\uFF1F",deleteSuccessfully:"\u89D2\u8272\u5220\u9664\u6210\u529F"},PermissionList:{failedDescription:"\u83B7\u53D6\u6743\u9650\u5217\u8868\u5931\u8D25",baseSectionTitle:"\u5E73\u53F0\u57FA\u7840\u6743\u9650",gameSectionTitle:"\u6E38\u620F\u6743\u9650",gameSectionDescription:"\u8BF7\u5148\u9009\u62E9\u6E38\u620F",gameSelectPlaceholder:"\u8BF7\u5148\u9009\u62E9\u6E38\u620F",removeText:"\u79FB\u9664",addText:"\u6DFB\u52A0\u6E38\u620F\u6743\u9650"},RoleDetail:{title:"\u89D2\u8272\u8BE6\u60C5"},InfiniteList:{loadingText:"\u52A0\u8F7D\u4E2D",reachEndText:"\u5DF2\u7ECF\u5230\u5E95\u4E86",loadMoreText:"\u52A0\u8F7D\u66F4\u591A"}};var t=e;export{t as default};//# sourceMappingURL=zh_CN.js.map
95
2
  //# sourceMappingURL=zh_CN.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/locale/zh_CN.ts"],"names":[],"mappings":"AAEA,MAAM,MAAA,GAAiB;AAAA,EACrB,MAAA,EAAQ;AAAA,IACN,aAAA,EAAe,8DAAA;AAAA,IACf,IAAA,EAAM,cAAA;AAAA,IACN,YAAA,EAAc,0BAAA;AAAA,IACd,SAAA,EAAW,cAAA;AAAA,IACX,MAAA,EAAQ,cAAA;AAAA,IACR,IAAA,EAAM,cAAA;AAAA,IACN,MAAA,EAAQ,cAAA;AAAA,IACR,SAAA,EAAW,cAAA;AAAA,IACX,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM,cAAA;AAAA,IACN,QAAA,EAAU,oBAAA;AAAA,IACV,QAAA,EAAU,cAAA;AAAA,IACV,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ,cAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,OAAA,EAAS,cAAA;AAAA,IACT,QAAA,EAAU,cAAA;AAAA,IACV,GAAA,EAAK,cAAA;AAAA,IACL,MAAA,EAAQ,cAAA;AAAA,IACR,YAAA,EAAc,oBAAA;AAAA,IACd,IAAA,EAAM,cAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,KAAA,EAAO,0BAAA;AAAA,IACP,eAAA,EAAiB,oBAAA;AAAA,IACjB,YAAA,EAAc,4FAAA;AAAA,IACd,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,QAAA,EAAU,kDAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EACA,iBAAA,EAAmB;AAAA,IACjB,WAAA,EAAa,cAAA;AAAA,IACb,SAAA,EAAW;AAAA,GACb;AAAA,EACA,SAAA,EAAW;AAAA,IACT,WAAA,EAAa,cAAA;AAAA,IACb,UAAA,EAAY;AAAA,GACd;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,0BAAA;AAAA,IACP,WAAA,EAAa;AAAA,GACf;AAAA,EACA,WAAA,EAAa;AAAA,IACX,WAAA,EAAa;AAAA,GACf;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,WAAA,EAAa;AAAA,GACf;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,WAAA,EAAa,0BAAA;AAAA,IACb,kBAAA,EAAoB,sCAAA;AAAA,IACpB,WAAA,EAAa,0BAAA;AAAA,IACb,kBAAA,EAAoB,sCAAA;AAAA,IACpB,WAAA,EAAa,0BAAA;AAAA,IACb,aAAA,EAAe,qEAAA;AAAA,IACf,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,WAAA,EAAa,0BAAA;AAAA,IACb,kBAAA,EAAoB,sCAAA;AAAA,IACpB,WAAA,EAAa,0BAAA;AAAA,IACb,kBAAA,EAAoB,sCAAA;AAAA,IACpB,WAAA,EAAa,0BAAA;AAAA,IACb,aAAA,EAAe,qEAAA;AAAA,IACf,kBAAA,EAAoB;AAAA,GACtB;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,iBAAA,EAAmB,kDAAA;AAAA,IACnB,gBAAA,EAAkB,sCAAA;AAAA,IAClB,gBAAA,EAAkB,0BAAA;AAAA,IAClB,sBAAA,EAAwB,sCAAA;AAAA,IACxB,qBAAA,EAAuB,sCAAA;AAAA,IACvB,UAAA,EAAY,cAAA;AAAA,IACZ,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO;AAAA,GACT;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,WAAA,EAAa,oBAAA;AAAA,IACb,YAAA,EAAc,gCAAA;AAAA,IACd,YAAA,EAAc;AAAA;AAElB,CAAA;AAEA,IAAO,aAAA,GAAQ","file":"zh_CN.js","sourcesContent":["import type { Locale } from '.'\n\nconst locale: Locale = {\n global: {\n noEntitlement: '无权限,请联系管理员',\n name: '名称',\n creationTime: '创建时间',\n operation: '操作',\n update: '更新',\n edit: '编辑',\n delete: '删除',\n selectAll: '全选',\n game: '游戏',\n user: '用户',\n role: '角色',\n username: '用户名',\n password: '密码',\n label: '标签',\n method: '方法',\n route: '路由',\n request: '请求',\n response: '响应',\n add: '添加',\n signIn: '登录',\n projectGroup: '项目组',\n view: '查看',\n back: '返回',\n },\n SignIn: {\n title: '登录方式',\n signInWithIDass: 'IDass 登录',\n unregistered: '您还未在平台注册,请联系管理员',\n welcome: '欢迎',\n },\n NotFound: {\n subTitle: '访问的页面不存在',\n buttonText: '返回首页',\n },\n FilterFormWrapper: {\n confirmText: '查询',\n resetText: '重置',\n },\n FormModal: {\n confirmText: '确认',\n cancelText: '取消',\n },\n GameSelect: {\n label: '当前游戏',\n placeholder: '请选择游戏',\n },\n RequireGame: {\n description: '请选择游戏',\n },\n UserDropdown: {\n signOutText: '登出',\n },\n User: {\n createTitle: '创建用户',\n createSuccessfully: '用户创建成功',\n updateTitle: '更新用户',\n updateSuccessfully: '用户更新成功',\n deleteTitle: '删除用户',\n deleteContent: '确定要删除用户 <%= user %> 吗?',\n deleteSuccessfully: '用户删除成功',\n },\n Role: {\n createTitle: '创建角色',\n createSuccessfully: '角色创建成功',\n updateTitle: '更新角色',\n updateSuccessfully: '角色更新成功',\n deleteTitle: '删除角色',\n deleteContent: '确定要删除角色 <%= role %> 吗?',\n deleteSuccessfully: '角色删除成功',\n },\n PermissionList: {\n failedDescription: '获取权限列表失败',\n baseSectionTitle: '平台基础权限',\n gameSectionTitle: '游戏权限',\n gameSectionDescription: '请先选择游戏',\n gameSelectPlaceholder: '请先选择游戏',\n removeText: '移除',\n addText: '添加游戏权限',\n },\n RoleDetail: {\n title: '角色详情',\n },\n InfiniteList: {\n loadingText: '加载中',\n reachEndText: '已经到底了',\n loadMoreText: '加载更多',\n },\n}\n\nexport default locale\n"]}
1
+ {"version":3,"sources":["../src/locale/zh_CN.ts"],"names":["locale","zh_CN_default"],"mappings":"AAEA,MAAMA,EAAiB,CACrB,MAAA,CAAQ,CACN,aAAA,CAAe,+DACf,IAAA,CAAM,cAAA,CACN,YAAA,CAAc,0BAAA,CACd,UAAW,cAAA,CACX,MAAA,CAAQ,eACR,IAAA,CAAM,cAAA,CACN,OAAQ,cAAA,CACR,SAAA,CAAW,cAAA,CACX,IAAA,CAAM,eACN,IAAA,CAAM,cAAA,CACN,IAAA,CAAM,cAAA,CACN,SAAU,oBAAA,CACV,QAAA,CAAU,cAAA,CACV,KAAA,CAAO,eACP,MAAA,CAAQ,cAAA,CACR,MAAO,cAAA,CACP,OAAA,CAAS,eACT,QAAA,CAAU,cAAA,CACV,GAAA,CAAK,cAAA,CACL,OAAQ,cAAA,CACR,YAAA,CAAc,oBAAA,CACd,IAAA,CAAM,eACN,IAAA,CAAM,cACR,CAAA,CACA,MAAA,CAAQ,CACN,KAAA,CAAO,0BAAA,CACP,gBAAiB,oBAAA,CACjB,YAAA,CAAc,6FACd,OAAA,CAAS,cACX,CAAA,CACA,QAAA,CAAU,CACR,QAAA,CAAU,kDAAA,CACV,WAAY,0BACd,CAAA,CACA,kBAAmB,CACjB,WAAA,CAAa,cAAA,CACb,SAAA,CAAW,cACb,CAAA,CACA,SAAA,CAAW,CACT,WAAA,CAAa,cAAA,CACb,WAAY,cACd,CAAA,CACA,UAAA,CAAY,CACV,MAAO,0BAAA,CACP,WAAA,CAAa,gCACf,CAAA,CACA,YAAa,CACX,WAAA,CAAa,gCACf,CAAA,CACA,aAAc,CACZ,WAAA,CAAa,cACf,CAAA,CACA,IAAA,CAAM,CACJ,WAAA,CAAa,0BAAA,CACb,kBAAA,CAAoB,sCAAA,CACpB,YAAa,0BAAA,CACb,kBAAA,CAAoB,uCACpB,WAAA,CAAa,0BAAA,CACb,cAAe,qEAAA,CACf,kBAAA,CAAoB,sCACtB,CAAA,CACA,KAAM,CACJ,WAAA,CAAa,2BACb,kBAAA,CAAoB,sCAAA,CACpB,YAAa,0BAAA,CACb,kBAAA,CAAoB,sCAAA,CACpB,WAAA,CAAa,2BACb,aAAA,CAAe,qEAAA,CACf,kBAAA,CAAoB,sCACtB,EACA,cAAA,CAAgB,CACd,iBAAA,CAAmB,kDAAA,CACnB,iBAAkB,sCAAA,CAClB,gBAAA,CAAkB,2BAClB,sBAAA,CAAwB,sCAAA,CACxB,sBAAuB,sCAAA,CACvB,UAAA,CAAY,cAAA,CACZ,OAAA,CAAS,sCACX,CAAA,CACA,UAAA,CAAY,CACV,KAAA,CAAO,0BACT,EACA,YAAA,CAAc,CACZ,WAAA,CAAa,oBAAA,CACb,aAAc,gCAAA,CACd,YAAA,CAAc,0BAChB,CACF,CAAA,KAEOC,CAAAA,CAAQD","file":"zh_CN.js","sourcesContent":["import type { Locale } from '.'\n\nconst locale: Locale = {\n global: {\n noEntitlement: '无权限,请联系管理员',\n name: '名称',\n creationTime: '创建时间',\n operation: '操作',\n update: '更新',\n edit: '编辑',\n delete: '删除',\n selectAll: '全选',\n game: '游戏',\n user: '用户',\n role: '角色',\n username: '用户名',\n password: '密码',\n label: '标签',\n method: '方法',\n route: '路由',\n request: '请求',\n response: '响应',\n add: '添加',\n signIn: '登录',\n projectGroup: '项目组',\n view: '查看',\n back: '返回',\n },\n SignIn: {\n title: '登录方式',\n signInWithIDass: 'IDass 登录',\n unregistered: '您还未在平台注册,请联系管理员',\n welcome: '欢迎',\n },\n NotFound: {\n subTitle: '访问的页面不存在',\n buttonText: '返回首页',\n },\n FilterFormWrapper: {\n confirmText: '查询',\n resetText: '重置',\n },\n FormModal: {\n confirmText: '确认',\n cancelText: '取消',\n },\n GameSelect: {\n label: '当前游戏',\n placeholder: '请选择游戏',\n },\n RequireGame: {\n description: '请选择游戏',\n },\n UserDropdown: {\n signOutText: '登出',\n },\n User: {\n createTitle: '创建用户',\n createSuccessfully: '用户创建成功',\n updateTitle: '更新用户',\n updateSuccessfully: '用户更新成功',\n deleteTitle: '删除用户',\n deleteContent: '确定要删除用户 <%= user %> 吗?',\n deleteSuccessfully: '用户删除成功',\n },\n Role: {\n createTitle: '创建角色',\n createSuccessfully: '角色创建成功',\n updateTitle: '更新角色',\n updateSuccessfully: '角色更新成功',\n deleteTitle: '删除角色',\n deleteContent: '确定要删除角色 <%= role %> 吗?',\n deleteSuccessfully: '角色删除成功',\n },\n PermissionList: {\n failedDescription: '获取权限列表失败',\n baseSectionTitle: '平台基础权限',\n gameSectionTitle: '游戏权限',\n gameSectionDescription: '请先选择游戏',\n gameSelectPlaceholder: '请先选择游戏',\n removeText: '移除',\n addText: '添加游戏权限',\n },\n RoleDetail: {\n title: '角色详情',\n },\n InfiniteList: {\n loadingText: '加载中',\n reachEndText: '已经到底了',\n loadMoreText: '加载更多',\n },\n}\n\nexport default locale\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-toolkits",
3
3
  "type": "module",
4
- "version": "2.24.19",
4
+ "version": "2.25.0",
5
5
  "sideEffects": [
6
6
  "*.css"
7
7
  ],
@@ -69,8 +69,8 @@
69
69
  "tsup": "^8.3.5",
70
70
  "typescript": "^5.6.3",
71
71
  "@flow97/eslint-config-react": "1.1.2",
72
- "tailwind-config": "0.1.3",
73
- "tsconfig": "0.0.6"
72
+ "tsconfig": "0.0.6",
73
+ "tailwind-config": "0.1.3"
74
74
  },
75
75
  "peerDependencies": {
76
76
  "antd": "^5.12.2",
@@ -1,73 +0,0 @@
1
- import { __name, useKy, useToolkitsStore, queryKeys, APP_ID_HEADER } from './chunk-OH74GXG4.js';
2
- import { useQuery } from '@tanstack/react-query';
3
-
4
- function useAuth(code, config) {
5
- const ky = useKy();
6
- const { permissionVersion } = useToolkitsStore();
7
- const permissionCodes = typeof code !== "undefined" ? typeof code === "string" ? [code] : code : [];
8
- const version = permissionVersion !== "v1" /* V1 */ ? "v2" : "v1";
9
- const { data, ...rest } = useQuery({
10
- queryKey: queryKeys.permissions.check(permissionCodes, version),
11
- queryFn: /* @__PURE__ */ __name(() => ky.post(
12
- permissionVersion !== "v1" /* V1 */ ? "/api/usystem/user/checkV2" : "/api/usystem/user/check",
13
- {
14
- permissions: permissionCodes
15
- },
16
- config
17
- ), "queryFn"),
18
- enabled: permissionCodes.length > 0,
19
- retry: false
20
- });
21
- let newData = true;
22
- if (typeof code === "string") {
23
- newData = data?.has_all ? true : data?.[code] ?? false;
24
- } else if (Array.isArray(code) && code.length > 0) {
25
- newData = permissionCodes.reduce((acc, curr) => {
26
- acc[curr] = data?.has_all ? true : data?.[curr] ?? false;
27
- return acc;
28
- }, {});
29
- }
30
- return {
31
- ...rest,
32
- data: newData
33
- };
34
- }
35
- __name(useAuth, "useAuth");
36
- function useMenuList() {
37
- const { loginPath, appId } = useToolkitsStore();
38
- const ky = useKy();
39
- return useQuery({
40
- queryKey: queryKeys.menus.navbar(appId ? String(appId) : void 0),
41
- queryFn: /* @__PURE__ */ __name(() => ky.get("/api/usystem/menu/navbar", {
42
- headers: { [APP_ID_HEADER]: appId ? encodeURIComponent(String(appId)) : "global" }
43
- }), "queryFn"),
44
- enabled: window.location.pathname !== loginPath
45
- });
46
- }
47
- __name(useMenuList, "useMenuList");
48
- var useGames = /* @__PURE__ */ __name(() => {
49
- const { gameApiV2, permissionVersion } = useToolkitsStore();
50
- const ky = useKy();
51
- return useQuery({
52
- queryKey: queryKeys.games.all,
53
- queryFn: /* @__PURE__ */ __name(async () => {
54
- const requestConfig = {
55
- headers: {
56
- [APP_ID_HEADER]: "global"
57
- }
58
- };
59
- if (gameApiV2) {
60
- const response2 = await ky.get("/api/game/list", requestConfig);
61
- return response2?.list ?? [];
62
- }
63
- const response = await ky.get("/api/usystem/game/all", requestConfig);
64
- return response ?? [];
65
- }, "queryFn"),
66
- enabled: permissionVersion !== "v1" /* V1 */,
67
- retry: false
68
- });
69
- }, "useGames");
70
-
71
- export { useAuth, useGames, useMenuList };
72
- //# sourceMappingURL=chunk-7X2LW6EY.js.map
73
- //# sourceMappingURL=chunk-7X2LW6EY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/services/index.ts"],"names":["response"],"mappings":"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","file":"chunk-7X2LW6EY.js","sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport type { Options as KyOptions } from 'ky'\n\nimport type { Game } from '@/components/layout/types'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport type { MenuListItem } from '@/types'\n\nexport function useAuth(code?: string | string[], config?: KyOptions) {\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const permissionCodes: string[] = typeof code !== 'undefined' ? (typeof code === 'string' ? [code] : code) : []\n const version = permissionVersion !== PermissionVersion.V1 ? 'v2' : 'v1'\n\n const { data, ...rest } = useQuery({\n queryKey: queryKeys.permissions.check(permissionCodes, version),\n queryFn: () =>\n ky.post<Record<string, boolean> & { has_all?: boolean }>(\n permissionVersion !== PermissionVersion.V1 ? '/api/usystem/user/checkV2' : '/api/usystem/user/check',\n {\n permissions: permissionCodes,\n },\n config,\n ),\n enabled: permissionCodes.length > 0,\n retry: false,\n })\n\n let newData: boolean | Record<string, boolean> = true\n\n if (typeof code === 'string') {\n newData = data?.has_all ? true : (data?.[code] ?? false)\n } else if (Array.isArray(code) && code.length > 0) {\n newData = permissionCodes.reduce<Record<string, boolean>>((acc, curr) => {\n acc[curr] = data?.has_all ? true : (data?.[curr] ?? false)\n return acc\n }, {})\n }\n\n return {\n ...rest,\n data: newData,\n }\n}\n\nexport function useMenuList() {\n const { loginPath, appId } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.menus.navbar(appId ? String(appId) : undefined),\n queryFn: () =>\n ky.get<MenuListItem[]>('/api/usystem/menu/navbar', {\n headers: { [APP_ID_HEADER]: appId ? encodeURIComponent(String(appId)) : 'global' },\n }),\n enabled: window.location.pathname !== loginPath,\n })\n}\n\nexport const useGames = () => {\n const { gameApiV2, permissionVersion } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.games.all,\n queryFn: async () => {\n const requestConfig = {\n headers: {\n [APP_ID_HEADER]: 'global',\n },\n }\n\n if (gameApiV2) {\n const response = await ky.get<{ list: Game[] }>('/api/game/list', requestConfig)\n return response?.list ?? []\n }\n\n const response = await ky.get<Game[]>('/api/usystem/game/all', requestConfig)\n return response ?? []\n },\n enabled: permissionVersion !== PermissionVersion.V1,\n retry: false,\n })\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$2}from'./chunk-NNXVZIY2.js';import {a as a$1}from'./chunk-DLTAWT6S.js';import {a,b}from'./chunk-P25BHLH3.js';import {Button,Tooltip,Modal,Form}from'antd';import {jsx,Fragment}from'react/jsx-runtime';import {useMemo,useEffect,useState,useCallback}from'react';var N=h=>{let{children:r,code:n,showLoading:l,disabled:a,config:x,...o}=h,u=n?Array.isArray(n)?n:[n]:[],{data:s,isLoading:d}=a$1(u,x),{t:e}=a$2(),y=s&&(typeof s=="boolean"||Object.values(s).some(Boolean)),p=a||!y||d&&!l,c=d&&l,m=p,f=jsx(Button,{disabled:p,loading:c,...o,children:r});return m?jsx(Tooltip,{defaultOpen:false,title:e("global.noEntitlement"),children:f}):f},j=N;var O=a();function w(h){let{content:r,onConfirm:n,afterOpen:l,afterClose:a,...x}=h,o=useMemo(()=>b(),[]),{show:u,hide:s,isOpen:d,cleanup:e}=O();useEffect(()=>()=>{e(o);},[o,e]);let y=d(o),[p,c]=useState(false),m=typeof r=="function",f=useCallback(async()=>{u(o),await l?.();},[o,u,l]),i=useCallback(()=>{s(o);},[o,s]),t=useCallback(async()=>{i(),await a?.();},[i,a]),V=useCallback(async()=>{try{c(!0),await n?.(),i(),await a?.();}catch(b){throw console.error("Modal confirm error:",b),b}finally{c(false);}},[n,i,a]),P=jsx(Modal,{...x,open:y,confirmLoading:p,onOk:V,onCancel:t,children:m?jsx(Fragment,{children:r({hide:i})}):jsx(Fragment,{children:r})});return {id:o,show:f,hide:i,modal:P}}function q(h){let{content:r,form:n,formProps:l,onConfirm:a,onSuccess:x,afterClose:o,...u}=h,[s,d]=useState({}),[e]=Form.useForm(n),y=typeof r=="function",{id:p,show:c,hide:m,modal:f}=w({...u,content:t=>jsx(Form,{...l,form:e,children:y?jsx(Fragment,{children:r(s,t)}):jsx(Fragment,{children:r})}),onConfirm:async()=>{try{let t=await e.validateFields();await a?.(t,s),x?.(),m();}catch(t){throw console.error("Form validation or submission error:",t),t}},afterClose:()=>{d({}),o?.(e);}}),i=useCallback(t=>{let{initialValues:V,extraValues:P}=t||{};P!==void 0&&d(P),V&&e.setFieldsValue(V),c();},[e,c]);return {id:p,show:i,hide:m,modal:f}}export{j as a,O as b,w as c,q as d};//# sourceMappingURL=chunk-D75NVCYN.js.map
2
- //# sourceMappingURL=chunk-D75NVCYN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/authButton/AuthButton.tsx","../src/hooks/modal/stores.ts","../src/hooks/modal/modal.tsx","../src/hooks/modal/formModal.tsx"],"names":["AuthButton","props","children","code","showLoading","disabled","config","restProps","codes","data","isLoading","useAuth","t","useTranslation","hasPermission","isButtonDisabled","isButtonLoading","shouldShowTooltip","buttonNode","jsx","Button","Tooltip","AuthButton_default","useModalStore","createVisibilityStore","useModal","content","onConfirm","afterOpen","afterClose","modalProps","_id","useMemo","generateId","show","hide","isOpen","cleanup","useEffect","open","confirmLoading","setConfirmLoading","useState","isRenderFunction","_show","useCallback","_hide","onCancel","onOk","error","internalModal","Modal","Fragment","useFormModal","form","formProps","onSuccess","internalExtraValues","setInternalExtraValues","internalForm","Form","id","modal","operation","values","showForm","options","initialValues","extraValues"],"mappings":"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","file":"chunk-D75NVCYN.js","sourcesContent":["import type { ButtonProps } from 'antd'\nimport { Button, Tooltip } from 'antd'\nimport type { Options as KyOptions } from 'ky'\nimport type { FC, PropsWithChildren } from 'react'\n\nimport { useTranslation } from '@/locale'\nimport { useAuth } from '@/services'\n\nexport interface AuthButtonProps extends ButtonProps {\n /** 权限码,支持单个或多个 */\n code?: string | string[]\n /** 加载时是否显示 loading 状态 */\n showLoading?: boolean\n /** 请求配置 */\n config?: KyOptions\n}\n\n/**\n * 授权按钮组件\n * 根据权限码自动控制按钮的启用/禁用状态\n * - 有权限:正常显示可点击按钮\n * - 无权限:显示禁用按钮并带有提示\n * - 加载中:显示加载状态\n */\nconst AuthButton: FC<PropsWithChildren<AuthButtonProps>> = props => {\n const { children, code, showLoading, disabled, config, ...restProps } = props\n const codes = code ? (Array.isArray(code) ? code : [code]) : []\n const { data, isLoading } = useAuth(codes, config)\n const { t } = useTranslation()\n\n // 判断是否有权限\n const hasPermission = data && (typeof data === 'boolean' || Object.values(data).some(Boolean))\n\n // 计算最终的禁用状态和加载状态\n const isButtonDisabled = disabled || !hasPermission || (isLoading && !showLoading)\n const isButtonLoading = isLoading && showLoading\n\n // 判断是否需要显示 tooltip(任何禁用状态都显示)\n const shouldShowTooltip = isButtonDisabled\n\n const buttonNode = (\n <Button disabled={isButtonDisabled} loading={isButtonLoading} {...restProps}>\n {children}\n </Button>\n )\n\n if (shouldShowTooltip) {\n return (\n <Tooltip defaultOpen={false} title={t('global.noEntitlement')}>\n {buttonNode}\n </Tooltip>\n )\n }\n\n return buttonNode\n}\n\nexport default AuthButton\n","import { createVisibilityStore } from '@/utils'\n\nexport const useModalStore = createVisibilityStore()\n","import type { ModalProps } from 'antd'\nimport { Modal } from 'antd'\nimport { type ReactNode, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { generateId } from '@/utils'\n\nimport { useModalStore } from './stores'\n\nexport interface UseModalOperation {\n hide: () => void\n}\n\nexport interface UseModalProps extends Omit<ModalProps, 'open' | 'confirmLoading' | 'onOk' | 'onCancel'> {\n content?: ReactNode | ((operation: UseModalOperation) => ReactNode)\n onConfirm?: () => void | Promise<void>\n afterOpen?: () => void | Promise<void>\n afterClose?: () => void | Promise<void>\n}\n\nexport function useModal(props: UseModalProps) {\n const { content, onConfirm, afterOpen, afterClose, ...modalProps } = props\n\n const _id = useMemo(() => generateId(), [])\n const { show, hide, isOpen, cleanup } = useModalStore()\n\n // 组件销毁时清理 ID\n useEffect(() => {\n return () => {\n cleanup(_id)\n }\n }, [_id, cleanup])\n\n const open = isOpen(_id)\n const [confirmLoading, setConfirmLoading] = useState(false)\n const isRenderFunction = typeof content === 'function'\n\n const _show = useCallback(async () => {\n show(_id)\n await afterOpen?.()\n }, [_id, show, afterOpen])\n\n const _hide = useCallback(() => {\n hide(_id)\n }, [_id, hide])\n\n const onCancel: ModalProps['onCancel'] = useCallback(async () => {\n _hide()\n await afterClose?.()\n }, [_hide, afterClose])\n\n const onOk = useCallback(async () => {\n try {\n setConfirmLoading(true)\n await onConfirm?.()\n _hide()\n await afterClose?.()\n } catch (error) {\n console.error('Modal confirm error:', error)\n throw error\n } finally {\n setConfirmLoading(false)\n }\n }, [onConfirm, _hide, afterClose])\n\n const internalModal = (\n <Modal {...modalProps} open={open} confirmLoading={confirmLoading} onOk={onOk} onCancel={onCancel}>\n {isRenderFunction ? <>{content({ hide: _hide })}</> : <>{content}</>}\n </Modal>\n )\n\n return {\n id: _id,\n show: _show,\n hide: _hide,\n modal: internalModal,\n }\n}\n","import type { FormInstance, FormProps } from 'antd'\nimport { Form } from 'antd'\nimport type { AnyObject } from 'antd/es/_util/type'\nimport type { ReactNode } from 'react'\nimport { useCallback, useState } from 'react'\n\nimport type { RecursivePartial } from '@/types'\n\nimport { useModal, type UseModalOperation, type UseModalProps } from './modal'\n\nexport interface ShowFormOptions<Values extends AnyObject, ExtraValues> {\n initialValues?: RecursivePartial<Values>\n extraValues?: ExtraValues\n}\n\nexport interface UseFormModalProps<Values extends AnyObject = AnyObject, ExtraValues = Record<string, unknown>>\n extends Omit<UseModalProps, 'onConfirm' | 'content' | 'onShow' | 'afterClose'> {\n formProps?: Omit<FormProps, 'form'>\n form?: FormInstance<Values>\n content?: ReactNode | ((extraValues: ExtraValues, operation: UseModalOperation) => ReactNode)\n onConfirm?: (values: Values, extraValues: ExtraValues) => void | Promise<void>\n onSuccess?: () => void\n afterClose?: (form: FormInstance<Values>) => void\n}\n\nexport interface UseFormModalReturn<Values extends AnyObject, ExtraValues> {\n id: number\n show: (options?: ShowFormOptions<Values, ExtraValues>) => void\n hide: () => void\n modal: ReactNode\n}\n\nexport function useFormModal<Values extends AnyObject = AnyObject, ExtraValues = Record<string, unknown>>(\n props: UseFormModalProps<Values, ExtraValues>,\n): UseFormModalReturn<Values, ExtraValues> {\n const { content, form, formProps, onConfirm, onSuccess, afterClose, ...modalProps } = props\n const [internalExtraValues, setInternalExtraValues] = useState<ExtraValues>({} as ExtraValues)\n const [internalForm] = Form.useForm<Values>(form)\n\n const isRenderFunction = typeof content === 'function'\n\n const { id, show, hide, modal } = useModal({\n ...modalProps,\n content: operation => (\n <Form {...formProps} form={internalForm}>\n {isRenderFunction ? <>{content(internalExtraValues, operation)}</> : <>{content}</>}\n </Form>\n ),\n onConfirm: async () => {\n try {\n const values = await internalForm.validateFields()\n await onConfirm?.(values, internalExtraValues)\n onSuccess?.()\n hide()\n } catch (error) {\n console.error('Form validation or submission error:', error)\n throw error\n }\n },\n afterClose: () => {\n setInternalExtraValues({} as ExtraValues)\n afterClose?.(internalForm)\n },\n })\n\n const showForm = useCallback(\n (options?: ShowFormOptions<Values, ExtraValues>) => {\n const { initialValues, extraValues } = options || {}\n\n if (extraValues !== undefined) {\n setInternalExtraValues(extraValues)\n }\n\n if (initialValues) {\n internalForm.setFieldsValue(initialValues)\n }\n\n show()\n },\n [internalForm, show],\n )\n\n return {\n id,\n show: showForm,\n hide,\n modal,\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {l,i,m,e}from'./chunk-P25BHLH3.js';import {useQuery}from'@tanstack/react-query';function K(e,s){let t=l(),{permissionVersion:n}=i(),r=typeof e<"u"?typeof e=="string"?[e]:e:[],y=n!=="v1"?"v2":"v1",{data:o,...c}=useQuery({queryKey:m.permissions.check(r,y),queryFn:()=>t.post(n!=="v1"?"/api/usystem/user/checkV2":"/api/usystem/user/check",{permissions:r},s),enabled:r.length>0,retry:false}),m$1=true;return typeof e=="string"?m$1=o?.has_all?true:o?.[e]??false:Array.isArray(e)&&e.length>0&&(m$1=r.reduce((f,g)=>(f[g]=o?.has_all?true:o?.[g]??false,f),{})),{...c,data:m$1}}function A(){let{loginPath:e$1,appId:s}=i(),t=l();return useQuery({queryKey:m.menus.navbar(s?String(s):void 0),queryFn:()=>t.get("/api/usystem/menu/navbar",{headers:{[e]:s?encodeURIComponent(String(s)):"global"}}),enabled:window.location.pathname!==e$1})}var v=()=>{let{gameApiV2:e$1,permissionVersion:s}=i(),t=l();return useQuery({queryKey:m.games.all,queryFn:async()=>{let n={headers:{[e]:"global"}};return e$1?(await t.get("/api/game/list",n))?.list??[]:await t.get("/api/usystem/game/all",n)??[]},enabled:s!=="v1",retry:false})};export{K as a,A as b,v as c};//# sourceMappingURL=chunk-DLTAWT6S.js.map
2
- //# sourceMappingURL=chunk-DLTAWT6S.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/services/index.ts"],"names":["useAuth","code","config","ky","useKy","permissionVersion","useToolkitsStore","permissionCodes","version","data","rest","useQuery","queryKeys","newData","acc","curr","useMenuList","loginPath","appId","APP_ID_HEADER","useGames","gameApiV2","requestConfig"],"mappings":"uFAUO,SAASA,CAAAA,CAAQC,CAAAA,CAA0BC,CAAAA,CAAoB,CACpE,IAAMC,CAAAA,CAAKC,CAAAA,EAAM,CACX,CAAE,kBAAAC,CAAkB,CAAA,CAAIC,CAAAA,EAAiB,CACzCC,CAAAA,CAA4B,OAAON,CAAAA,CAAS,GAAA,CAAe,OAAOA,CAAAA,EAAS,QAAA,CAAW,CAACA,CAAI,CAAA,CAAIA,EAAQ,EAAC,CACxGO,CAAAA,CAAUH,CAAAA,GAAsB,IAAA,CAAuB,IAAA,CAAO,IAAA,CAE9D,CAAE,IAAA,CAAAI,CAAAA,CAAM,GAAGC,CAAK,CAAA,CAAIC,QAAAA,CAAS,CACjC,QAAA,CAAUC,CAAAA,CAAU,WAAA,CAAY,KAAA,CAAML,CAAAA,CAAiBC,CAAO,CAAA,CAC9D,OAAA,CAAS,IACPL,CAAAA,CAAG,IAAA,CACDE,CAAAA,GAAsB,IAAA,CAAuB,2BAAA,CAA8B,yBAAA,CAC3E,CACE,WAAA,CAAaE,CACf,CAAA,CACAL,CACF,CAAA,CACF,OAAA,CAASK,CAAAA,CAAgB,MAAA,CAAS,CAAA,CAClC,KAAA,CAAO,KACT,CAAC,CAAA,CAEGM,GAAAA,CAA6C,KAEjD,OAAI,OAAOZ,CAAAA,EAAS,QAAA,CAClBY,GAAAA,CAAUJ,CAAAA,EAAM,OAAA,CAAU,IAAA,CAAQA,CAAAA,GAAOR,CAAI,CAAA,EAAK,KAAA,CACzC,KAAA,CAAM,OAAA,CAAQA,CAAI,CAAA,EAAKA,CAAAA,CAAK,MAAA,CAAS,CAAA,GAC9CY,GAAAA,CAAUN,CAAAA,CAAgB,MAAA,CAAgC,CAACO,CAAAA,CAAKC,CAAAA,IAC9DD,CAAAA,CAAIC,CAAI,CAAA,CAAIN,CAAAA,EAAM,OAAA,CAAU,IAAA,CAAQA,CAAAA,GAAOM,CAAI,CAAA,EAAK,KAAA,CAC7CD,CAAAA,CAAAA,CACN,EAAE,CAAA,CAAA,CAGA,CACL,GAAGJ,CAAAA,CACH,IAAA,CAAMG,GACR,CACF,CAEO,SAASG,CAAAA,EAAc,CAC5B,GAAM,CAAE,SAAA,CAAAC,GAAAA,CAAW,KAAA,CAAAC,CAAM,CAAA,CAAIZ,CAAAA,EAAiB,CACxCH,CAAAA,CAAKC,CAAAA,GAEX,OAAOO,QAAAA,CAAS,CACd,QAAA,CAAUC,CAAAA,CAAU,KAAA,CAAM,MAAA,CAAOM,CAAAA,CAAQ,MAAA,CAAOA,CAAK,CAAA,CAAI,MAAS,CAAA,CAClE,OAAA,CAAS,IACPf,CAAAA,CAAG,GAAA,CAAoB,0BAAA,CAA4B,CACjD,OAAA,CAAS,CAAE,CAACgB,CAAa,EAAGD,CAAAA,CAAQ,kBAAA,CAAmB,MAAA,CAAOA,CAAK,CAAC,CAAA,CAAI,QAAS,CACnF,CAAC,CAAA,CACH,OAAA,CAAS,MAAA,CAAO,QAAA,CAAS,QAAA,GAAaD,GACxC,CAAC,CACH,CAEO,IAAMG,CAAAA,CAAW,IAAM,CAC5B,GAAM,CAAE,SAAA,CAAAC,GAAAA,CAAW,iBAAA,CAAAhB,CAAkB,CAAA,CAAIC,CAAAA,EAAiB,CACpDH,CAAAA,CAAKC,CAAAA,EAAM,CAEjB,OAAOO,QAAAA,CAAS,CACd,QAAA,CAAUC,CAAAA,CAAU,KAAA,CAAM,GAAA,CAC1B,OAAA,CAAS,SAAY,CACnB,IAAMU,CAAAA,CAAgB,CACpB,OAAA,CAAS,CACP,CAACH,CAAa,EAAG,QACnB,CACF,CAAA,CAEA,OAAIE,GAAAA,CAAAA,CACe,MAAMlB,CAAAA,CAAG,GAAA,CAAsB,gBAAA,CAAkBmB,CAAa,CAAA,GAC9D,IAAA,EAAQ,EAAC,CAGX,MAAMnB,CAAAA,CAAG,GAAA,CAAY,uBAAA,CAAyBmB,CAAa,CAAA,EACzD,EACrB,CAAA,CACA,OAAA,CAASjB,CAAAA,GAAsB,IAAA,CAC/B,KAAA,CAAO,KACT,CAAC,CACH","file":"chunk-DLTAWT6S.js","sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport type { Options as KyOptions } from 'ky'\n\nimport type { Game } from '@/components/layout/types'\nimport { useToolkitsStore } from '@/components/toolkitsProvider'\nimport { APP_ID_HEADER, PermissionVersion } from '@/constants'\nimport { useKy } from '@/libs'\nimport { queryKeys } from '@/queryKeys'\nimport type { MenuListItem } from '@/types'\n\nexport function useAuth(code?: string | string[], config?: KyOptions) {\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const permissionCodes: string[] = typeof code !== 'undefined' ? (typeof code === 'string' ? [code] : code) : []\n const version = permissionVersion !== PermissionVersion.V1 ? 'v2' : 'v1'\n\n const { data, ...rest } = useQuery({\n queryKey: queryKeys.permissions.check(permissionCodes, version),\n queryFn: () =>\n ky.post<Record<string, boolean> & { has_all?: boolean }>(\n permissionVersion !== PermissionVersion.V1 ? '/api/usystem/user/checkV2' : '/api/usystem/user/check',\n {\n permissions: permissionCodes,\n },\n config,\n ),\n enabled: permissionCodes.length > 0,\n retry: false,\n })\n\n let newData: boolean | Record<string, boolean> = true\n\n if (typeof code === 'string') {\n newData = data?.has_all ? true : (data?.[code] ?? false)\n } else if (Array.isArray(code) && code.length > 0) {\n newData = permissionCodes.reduce<Record<string, boolean>>((acc, curr) => {\n acc[curr] = data?.has_all ? true : (data?.[curr] ?? false)\n return acc\n }, {})\n }\n\n return {\n ...rest,\n data: newData,\n }\n}\n\nexport function useMenuList() {\n const { loginPath, appId } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.menus.navbar(appId ? String(appId) : undefined),\n queryFn: () =>\n ky.get<MenuListItem[]>('/api/usystem/menu/navbar', {\n headers: { [APP_ID_HEADER]: appId ? encodeURIComponent(String(appId)) : 'global' },\n }),\n enabled: window.location.pathname !== loginPath,\n })\n}\n\nexport const useGames = () => {\n const { gameApiV2, permissionVersion } = useToolkitsStore()\n const ky = useKy()\n\n return useQuery({\n queryKey: queryKeys.games.all,\n queryFn: async () => {\n const requestConfig = {\n headers: {\n [APP_ID_HEADER]: 'global',\n },\n }\n\n if (gameApiV2) {\n const response = await ky.get<{ list: Game[] }>('/api/game/list', requestConfig)\n return response?.list ?? []\n }\n\n const response = await ky.get<Game[]>('/api/usystem/game/all', requestConfig)\n return response ?? []\n },\n enabled: permissionVersion !== PermissionVersion.V1,\n retry: false,\n })\n}\n"]}
@@ -1,227 +0,0 @@
1
- import { useAllRoles, useCreateUser, useUpdateUser } from './chunk-QACSRYJY.js';
2
- import { useFormModal } from './chunk-ZOHMJAAX.js';
3
- import { useTranslation } from './chunk-Z6PDWY44.js';
4
- import { __name, useToolkitsStore, useKy, queryKeys, WILDCARD } from './chunk-OH74GXG4.js';
5
- import { MinusCircleOutlined } from '@ant-design/icons';
6
- import { useQuery } from '@tanstack/react-query';
7
- import { Typography, App, Form, Input, Select, Row, Col, Empty, Button } from 'antd';
8
- import { last, first } from 'lodash-es';
9
- import { Fragment as Fragment$1 } from 'react';
10
- import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
11
-
12
- var { Text } = Typography;
13
- var handleWildcardSelection = /* @__PURE__ */ __name((value, onChange) => {
14
- if (last(value) === WILDCARD) {
15
- onChange?.([WILDCARD]);
16
- } else if (first(value) === WILDCARD) {
17
- onChange?.(value.slice(1));
18
- } else {
19
- onChange?.(value);
20
- }
21
- }, "handleWildcardSelection");
22
- var GroupSelect = /* @__PURE__ */ __name((props) => {
23
- const { onChange, ...rest } = props;
24
- const ky = useKy();
25
- const { data, isLoading } = useQuery({
26
- queryKey: queryKeys.enums.gameGroups,
27
- queryFn: /* @__PURE__ */ __name(() => ky.get("/api/enum/get?enum=game_group&type=all"), "queryFn")
28
- });
29
- const options = [{ label: "\u901A\u7528", value: WILDCARD }].concat(
30
- data?.map((group) => ({ label: group, value: group })) ?? []
31
- );
32
- return /* @__PURE__ */ jsx(
33
- Select,
34
- {
35
- ...rest,
36
- allowClear: true,
37
- showSearch: true,
38
- mode: "tags",
39
- optionFilterProp: "label",
40
- loading: isLoading,
41
- options,
42
- onChange: (value) => handleWildcardSelection(value, onChange)
43
- }
44
- );
45
- }, "GroupSelect");
46
- var GameSelect = /* @__PURE__ */ __name((props) => {
47
- const { groups, onChange, ...rest } = props;
48
- const ky = useKy();
49
- const { permissionVersion } = useToolkitsStore();
50
- const isV3 = permissionVersion === "v3" /* V3 */;
51
- const isV4 = permissionVersion === "v4" /* V4 */;
52
- const { data, isLoading } = useQuery({
53
- queryKey: queryKeys.enums.gameIds(isV4 ? [] : groups ?? []),
54
- queryFn: /* @__PURE__ */ __name(() => ky.get(`/api/enum/game_group/get_game_ids${isV4 ? "" : `?game_groups=${groups?.join(",")}`}`).then((response) => response?.list), "queryFn"),
55
- enabled: isV4 || isV3 && !!groups?.length
56
- });
57
- const options = data?.map((group) => ({ label: group.name, value: group.id }));
58
- return /* @__PURE__ */ jsx(
59
- Select,
60
- {
61
- ...rest,
62
- allowClear: true,
63
- showSearch: true,
64
- optionFilterProp: "label",
65
- mode: "tags",
66
- loading: isLoading,
67
- options,
68
- onChange: (value) => handleWildcardSelection(value, onChange)
69
- }
70
- );
71
- }, "GameSelect");
72
- var useUserModal = /* @__PURE__ */ __name(({ mode, onSuccess }) => {
73
- const { message } = App.useApp();
74
- const { t } = useTranslation();
75
- const { data: roles, isLoading: isRolesLoading } = useAllRoles();
76
- const create = useCreateUser();
77
- const update = useUpdateUser();
78
- const isCreateMode = mode === "create";
79
- const title = isCreateMode ? t("User.createTitle") : t("User.updateTitle");
80
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
81
- /* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: !isCreateMode }) }),
82
- /* @__PURE__ */ jsx(Form.Item, { label: t("global.role"), name: "roles", children: /* @__PURE__ */ jsx(
83
- Select,
84
- {
85
- allowClear: true,
86
- showSearch: true,
87
- mode: "multiple",
88
- loading: isRolesLoading,
89
- optionFilterProp: "label",
90
- options: roles?.map((role) => ({ label: role.name, value: role.name }))
91
- }
92
- ) })
93
- ] });
94
- const onConfirm = /* @__PURE__ */ __name(async (values, extraValues) => {
95
- if (isCreateMode) {
96
- await create.mutateAsync(values);
97
- message.success(t("User.createSuccessfully"));
98
- } else {
99
- await update.mutateAsync({ ...values, id: extraValues?.id });
100
- message.success(t("User.updateSuccessfully"));
101
- }
102
- onSuccess?.();
103
- }, "onConfirm");
104
- return useFormModal({
105
- title,
106
- width: "600px",
107
- formProps: {
108
- autoComplete: "off",
109
- labelCol: { flex: "80px" }
110
- },
111
- content,
112
- onConfirm
113
- });
114
- }, "useUserModal");
115
- var useUserModalV2 = /* @__PURE__ */ __name(({ mode, onSuccess }) => {
116
- const { message } = App.useApp();
117
- const { t } = useTranslation();
118
- const { data: roles, isLoading: isRolesLoading } = useAllRoles();
119
- const create = useCreateUser();
120
- const update = useUpdateUser();
121
- const isCreateMode = mode === "create";
122
- const title = isCreateMode ? t("User.createTitle") : t("User.updateTitle");
123
- const { permissionVersion } = useToolkitsStore();
124
- const isV3 = permissionVersion === "v3" /* V3 */;
125
- const content = /* @__PURE__ */ jsxs(Fragment, { children: [
126
- /* @__PURE__ */ jsx(Form.Item, { label: t("global.name"), name: "name", rules: [{ required: true }], children: /* @__PURE__ */ jsx(Input, { disabled: !isCreateMode }) }),
127
- /* @__PURE__ */ jsx(Form.List, { name: "permissions", children: (fields, { add, remove }) => /* @__PURE__ */ jsxs(Row, { gutter: 8, children: [
128
- isV3 && /* @__PURE__ */ jsx(Col, { span: 8, className: "text-center mb-4", children: /* @__PURE__ */ jsx(Text, { strong: true, children: t("global.projectGroup") }) }),
129
- /* @__PURE__ */ jsx(Col, { span: isV3 ? 10 : 14, className: "text-center mb-4", children: /* @__PURE__ */ jsx(Text, { strong: true, children: t("global.game") }) }),
130
- /* @__PURE__ */ jsx(Col, { span: isV3 ? 6 : 10, className: "text-center mb-4", children: /* @__PURE__ */ jsx(Text, { strong: true, children: t("global.role") }) }),
131
- fields.map((field) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
132
- isV3 && /* @__PURE__ */ jsx(Col, { span: 8, children: /* @__PURE__ */ jsx(Form.Item, { noStyle: true, shouldUpdate: true, children: ({ setFieldValue }) => /* @__PURE__ */ jsx(Form.Item, { name: [field.name, "game_group"], children: /* @__PURE__ */ jsx(
133
- GroupSelect,
134
- {
135
- onChange: () => {
136
- setFieldValue(["permissions", field.name, "game_ids"], []);
137
- }
138
- }
139
- ) }) }) }),
140
- /* @__PURE__ */ jsx(Col, { span: isV3 ? 10 : 14, children: isV3 ? /* @__PURE__ */ jsx(
141
- Form.Item,
142
- {
143
- noStyle: true,
144
- shouldUpdate: (prevValues, nextValues) => prevValues.permissions[field.name]?.game_group !== nextValues.permissions[field.name]?.game_group,
145
- children: ({ getFieldValue }) => {
146
- const _groups = getFieldValue(["permissions", field.name, "game_group"]);
147
- return /* @__PURE__ */ jsx(
148
- Form.Item,
149
- {
150
- name: [field.name, "game_ids"],
151
- dependencies: [["permissions", field.name, "game_group"]],
152
- rules: [{ required: !!_groups?.length, message: "\u8BF7\u9009\u62E9\u6E38\u620F" }],
153
- children: /* @__PURE__ */ jsx(GameSelect, { groups: _groups })
154
- }
155
- );
156
- }
157
- }
158
- ) : /* @__PURE__ */ jsx(Form.Item, { name: [field.name, "game_ids"], rules: [{ required: true, message: "\u8BF7\u9009\u62E9\u6E38\u620F" }], children: /* @__PURE__ */ jsx(GameSelect, {}) }) }),
159
- /* @__PURE__ */ jsx(Col, { span: isV3 ? 6 : 10, children: /* @__PURE__ */ jsxs("div", { className: "flex", children: [
160
- /* @__PURE__ */ jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsx(
161
- Form.Item,
162
- {
163
- name: [field.name, "role"],
164
- rules: [
165
- { required: true, message: "\u8BF7\u9009\u62E9\u89D2\u8272" },
166
- ({ getFieldValue }) => ({
167
- validator(_rule, value) {
168
- const items = getFieldValue("permissions");
169
- const otherItems = items.filter((item, index) => !!item && index !== field.name);
170
- if (otherItems.some((item) => item.role === value)) {
171
- return Promise.reject(new Error("\u8BF7\u52FF\u91CD\u590D\u9009\u62E9\u89D2\u8272"));
172
- }
173
- return Promise.resolve();
174
- }
175
- })
176
- ],
177
- children: /* @__PURE__ */ jsx(
178
- Select,
179
- {
180
- allowClear: true,
181
- showSearch: true,
182
- optionFilterProp: "label",
183
- loading: isRolesLoading,
184
- options: roles?.map((role) => ({ label: role.name, value: role.name }))
185
- }
186
- )
187
- }
188
- ) }),
189
- /* @__PURE__ */ jsx("div", { className: "w-8 text-center", children: /* @__PURE__ */ jsx(Form.Item, { children: /* @__PURE__ */ jsx(
190
- MinusCircleOutlined,
191
- {
192
- onClick: () => {
193
- remove(field.name);
194
- }
195
- }
196
- ) }) })
197
- ] }) })
198
- ] }, field.key)),
199
- fields.length === 0 && /* @__PURE__ */ jsx(Col, { span: 24, children: /* @__PURE__ */ jsx(Empty, { className: "mb-6" }) }),
200
- /* @__PURE__ */ jsx(Col, { span: 24, children: /* @__PURE__ */ jsx(Button, { block: true, type: "dashed", onClick: () => add(), children: t("global.add") }) })
201
- ] }) })
202
- ] });
203
- const onConfirm = /* @__PURE__ */ __name(async (values, extraValues) => {
204
- if (isCreateMode) {
205
- await create.mutateAsync(values);
206
- message.success(t("User.createSuccessfully"));
207
- } else {
208
- await update.mutateAsync({ ...values, id: extraValues?.id });
209
- message.success(t("User.updateSuccessfully"));
210
- }
211
- onSuccess?.();
212
- }, "onConfirm");
213
- return useFormModal({
214
- title,
215
- width: "1000px",
216
- formProps: {
217
- autoComplete: "off",
218
- labelCol: { flex: "80px" }
219
- },
220
- content,
221
- onConfirm
222
- });
223
- }, "useUserModalV2");
224
-
225
- export { useUserModal, useUserModalV2 };
226
- //# sourceMappingURL=chunk-E6L6VKSV.js.map
227
- //# sourceMappingURL=chunk-E6L6VKSV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/modules/permission/hooks/user-hooks.tsx"],"names":["Fragment"],"mappings":"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","file":"chunk-E6L6VKSV.js","sourcesContent":["import { MinusCircleOutlined } from '@ant-design/icons'\nimport { useQuery } from '@tanstack/react-query'\nimport { App, Button, Col, Empty, Form, Input, Row, Select, Typography } from 'antd'\nimport { first, last } from 'lodash-es'\nimport { Fragment } from 'react'\nimport { type FC } from 'react'\n\nimport { useToolkitsStore } from '@/components'\nimport { PermissionVersion, WILDCARD } from '@/constants'\nimport { useFormModal } from '@/hooks/modal'\nimport { useKy } from '@/libs'\nimport { useTranslation } from '@/locale'\nimport { queryKeys } from '@/queryKeys'\n\nimport { useAllRoles, useCreateUser, useUpdateUser } from '../services'\n\nconst { Text } = Typography\n\n/**\n * 处理通配符选择逻辑\n * - 如果最后选择的是通配符,则只保留通配符\n * - 如果第一个是通配符但又选择了其他项,则移除通配符\n */\nconst handleWildcardSelection = (value: string[], onChange?: (value: string[]) => void) => {\n if (last(value) === WILDCARD) {\n onChange?.([WILDCARD])\n } else if (first(value) === WILDCARD) {\n onChange?.(value.slice(1))\n } else {\n onChange?.(value)\n }\n}\n\ninterface GroupSelectProps {\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst GroupSelect: FC<GroupSelectProps> = props => {\n const { onChange, ...rest } = props\n const ky = useKy()\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.enums.gameGroups,\n queryFn: () => ky.get<string[]>('/api/enum/get?enum=game_group&type=all'),\n })\n\n const options = [{ label: '通用', value: WILDCARD }].concat(\n data?.map(group => ({ label: group, value: group })) ?? [],\n )\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n mode=\"tags\"\n optionFilterProp=\"label\"\n loading={isLoading}\n options={options}\n onChange={value => handleWildcardSelection(value, onChange)}\n />\n )\n}\n\ninterface GameSelectProps {\n groups?: string[]\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\n/**\n * 游戏选择组件\n * - V3: 依赖 groups 参数,需要先选择项目组才能加载游戏列表\n * - V4: 不依赖 groups,直接加载所有游戏列表\n */\nconst GameSelect: FC<GameSelectProps> = props => {\n const { groups, onChange, ...rest } = props\n const ky = useKy()\n const { permissionVersion } = useToolkitsStore()\n const isV3 = permissionVersion === PermissionVersion.V3\n const isV4 = permissionVersion === PermissionVersion.V4\n\n const { data, isLoading } = useQuery({\n queryKey: queryKeys.enums.gameIds(isV4 ? [] : (groups ?? [])),\n queryFn: () =>\n ky\n .get<{\n list: {\n id: string\n name: string\n }[]\n }>(`/api/enum/game_group/get_game_ids${isV4 ? '' : `?game_groups=${groups?.join(',')}`}`)\n .then(response => response?.list),\n enabled: isV4 || (isV3 && !!groups?.length),\n })\n\n const options = data?.map((group: { id: string; name: string }) => ({ label: group.name, value: group.id }))\n\n return (\n <Select\n {...rest}\n allowClear\n showSearch\n optionFilterProp=\"label\"\n mode=\"tags\"\n loading={isLoading}\n options={options}\n onChange={value => handleWildcardSelection(value, onChange)}\n />\n )\n}\n\ninterface UserModalFormSchema {\n name: string\n roles: string[]\n}\n\nexport const useUserModal = ({ mode, onSuccess }: { mode: 'create' | 'update'; onSuccess?: () => void }) => {\n const { message } = App.useApp()\n const { t } = useTranslation()\n const { data: roles, isLoading: isRolesLoading } = useAllRoles()\n const create = useCreateUser()\n const update = useUpdateUser()\n\n const isCreateMode = mode === 'create'\n\n const title = isCreateMode ? t('User.createTitle') : t('User.updateTitle')\n\n const content = (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreateMode} />\n </Form.Item>\n <Form.Item label={t('global.role')} name=\"roles\">\n <Select\n allowClear\n showSearch\n mode=\"multiple\"\n loading={isRolesLoading}\n optionFilterProp=\"label\"\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </>\n )\n\n const onConfirm = async (values: UserModalFormSchema, extraValues: { id: string }) => {\n if (isCreateMode) {\n await create.mutateAsync(values)\n message.success(t('User.createSuccessfully'))\n } else {\n await update.mutateAsync({ ...values, id: extraValues?.id })\n message.success(t('User.updateSuccessfully'))\n }\n onSuccess?.()\n }\n\n return useFormModal<UserModalFormSchema, { id: string }>({\n title,\n width: '600px',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content,\n onConfirm,\n })\n}\n\ninterface UserModalV2FormSchema {\n name: string\n permissions: {\n game_group: string[]\n game_ids: string[]\n role: string\n }[]\n}\n\n/**\n * 用户弹窗 V2 版本(用于 V3 和 V4 权限系统)\n * - V3: 显示项目组选择,游戏列表依赖项目组\n * - V4: 隐藏项目组选择,游戏列表独立加载\n */\nexport const useUserModalV2 = ({ mode, onSuccess }: { mode: 'create' | 'update'; onSuccess?: () => void }) => {\n const { message } = App.useApp()\n const { t } = useTranslation()\n const { data: roles, isLoading: isRolesLoading } = useAllRoles()\n const create = useCreateUser()\n const update = useUpdateUser()\n const isCreateMode = mode === 'create'\n const title = isCreateMode ? t('User.createTitle') : t('User.updateTitle')\n const { permissionVersion } = useToolkitsStore()\n const isV3 = permissionVersion === PermissionVersion.V3\n\n const content = (\n <>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input disabled={!isCreateMode} />\n </Form.Item>\n <Form.List name=\"permissions\">\n {(fields, { add, remove }) => (\n <Row gutter={8}>\n {isV3 && (\n <Col span={8} className=\"text-center mb-4\">\n <Text strong>{t('global.projectGroup')}</Text>\n </Col>\n )}\n <Col span={isV3 ? 10 : 14} className=\"text-center mb-4\">\n <Text strong>{t('global.game')}</Text>\n </Col>\n <Col span={isV3 ? 6 : 10} className=\"text-center mb-4\">\n <Text strong>{t('global.role')}</Text>\n </Col>\n {fields.map(field => (\n <Fragment key={field.key}>\n {isV3 && (\n <Col span={8}>\n <Form.Item noStyle shouldUpdate>\n {({ setFieldValue }) => (\n <Form.Item name={[field.name, 'game_group']}>\n <GroupSelect\n onChange={() => {\n setFieldValue(['permissions', field.name, 'game_ids'], [])\n }}\n />\n </Form.Item>\n )}\n </Form.Item>\n </Col>\n )}\n <Col span={isV3 ? 10 : 14}>\n {isV3 ? (\n <Form.Item\n noStyle\n shouldUpdate={(prevValues, nextValues) =>\n prevValues.permissions[field.name]?.game_group !==\n nextValues.permissions[field.name]?.game_group\n }\n >\n {({ getFieldValue }) => {\n const _groups = getFieldValue(['permissions', field.name, 'game_group'])\n\n return (\n <Form.Item\n name={[field.name, 'game_ids']}\n dependencies={[['permissions', field.name, 'game_group']]}\n rules={[{ required: !!_groups?.length, message: '请选择游戏' }]}\n >\n <GameSelect groups={_groups} />\n </Form.Item>\n )\n }}\n </Form.Item>\n ) : (\n <Form.Item name={[field.name, 'game_ids']} rules={[{ required: true, message: '请选择游戏' }]}>\n <GameSelect />\n </Form.Item>\n )}\n </Col>\n <Col span={isV3 ? 6 : 10}>\n <div className=\"flex\">\n <div className=\"flex-1\">\n <Form.Item\n name={[field.name, 'role']}\n rules={[\n { required: true, message: '请选择角色' },\n ({ getFieldValue }) => ({\n validator(_rule, value) {\n const items = getFieldValue('permissions') as UserModalV2FormSchema['permissions']\n const otherItems = items.filter((item, index) => !!item && index !== field.name)\n if (otherItems.some(item => item.role === value)) {\n return Promise.reject(new Error('请勿重复选择角色'))\n }\n return Promise.resolve()\n },\n }),\n ]}\n >\n <Select\n allowClear\n showSearch\n optionFilterProp=\"label\"\n loading={isRolesLoading}\n options={roles?.map(role => ({ label: role.name, value: role.name }))}\n />\n </Form.Item>\n </div>\n <div className=\"w-8 text-center\">\n <Form.Item>\n <MinusCircleOutlined\n onClick={() => {\n remove(field.name)\n }}\n />\n </Form.Item>\n </div>\n </div>\n </Col>\n </Fragment>\n ))}\n {fields.length === 0 && (\n <Col span={24}>\n <Empty className=\"mb-6\" />\n </Col>\n )}\n <Col span={24}>\n <Button block type=\"dashed\" onClick={() => add()}>\n {t('global.add')}\n </Button>\n </Col>\n </Row>\n )}\n </Form.List>\n </>\n )\n\n const onConfirm = async (values: UserModalV2FormSchema, extraValues: { id: string }) => {\n if (isCreateMode) {\n await create.mutateAsync(values)\n message.success(t('User.createSuccessfully'))\n } else {\n await update.mutateAsync({ ...values, id: extraValues?.id })\n message.success(t('User.updateSuccessfully'))\n }\n onSuccess?.()\n }\n\n return useFormModal<UserModalV2FormSchema, { id: string }>({\n title,\n width: '1000px',\n formProps: {\n autoComplete: 'off',\n labelCol: { flex: '80px' },\n },\n content,\n onConfirm,\n })\n}\n"]}