fred-admin 1.0.0__py3-none-any.whl

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 (376) hide show
  1. fred_admin/__init__.py +91 -0
  2. fred_admin/common/AliyunSms.py +66 -0
  3. fred_admin/common/Blueprints.py +99 -0
  4. fred_admin/common/Email.py +23 -0
  5. fred_admin/common/Extensions.py +319 -0
  6. fred_admin/common/HandleExcetion.py +204 -0
  7. fred_admin/common/ImageVerification.py +117 -0
  8. fred_admin/common/IoTDBClient.py +698 -0
  9. fred_admin/common/PageSchema.py +65 -0
  10. fred_admin/common/Response.py +251 -0
  11. fred_admin/common/Route.py +390 -0
  12. fred_admin/common/RuntimeHook.py +111 -0
  13. fred_admin/common/SchedulerLog.py +277 -0
  14. fred_admin/common/Sqlacodegen.py +170 -0
  15. fred_admin/common/Swagger.py +77 -0
  16. fred_admin/common/SystemLog.py +80 -0
  17. fred_admin/common/Utils.py +1060 -0
  18. fred_admin/common/WechatLogin.py +97 -0
  19. fred_admin/common/__init__.py +3 -0
  20. fred_admin/config/Config.py +104 -0
  21. fred_admin/config/Logger.py +34 -0
  22. fred_admin/config/__init__.py +3 -0
  23. fred_admin/create_module.py +787 -0
  24. fred_admin/demo/app.py +6 -0
  25. fred_admin/demo/common/__init__.py +1 -0
  26. fred_admin/demo/common/config/Config.py +82 -0
  27. fred_admin/demo/common/config/README.md +8 -0
  28. fred_admin/demo/common/config/__init__.py +1 -0
  29. fred_admin/demo/common/config/__pycache__/Config.cpython-312.pyc +0 -0
  30. fred_admin/demo/common/config/__pycache__/__init__.cpython-312.pyc +0 -0
  31. fred_admin/demo/common/config/jwt_secret_key +1 -0
  32. fred_admin/demo/common/config/session_secret_key +1 -0
  33. fred_admin/demo/common/model/__pycache__/__init__.cpython-312.pyc +0 -0
  34. fred_admin/demo/common/model/__pycache__/model.cpython-312.pyc +0 -0
  35. fred_admin/demo/common/model/model.py +274 -0
  36. fred_admin/demo/demo_.gitignore +42 -0
  37. fred_admin/demo/modules/__init__.py +1 -0
  38. fred_admin/demo/modules/admin/README.md +38 -0
  39. fred_admin/demo/modules/admin/__init__.py +3 -0
  40. fred_admin/demo/modules/admin/backend/__init__.py +7 -0
  41. fred_admin/demo/modules/admin/backend/constant/RedisKey.py +10 -0
  42. fred_admin/demo/modules/admin/backend/controller/AdminAuthController.py +39 -0
  43. fred_admin/demo/modules/admin/backend/controller/AdminController.py +226 -0
  44. fred_admin/demo/modules/admin/backend/controller/ApiAuthController.py +93 -0
  45. fred_admin/demo/modules/admin/backend/controller/ButtonManageController.py +90 -0
  46. fred_admin/demo/modules/admin/backend/controller/FileController.py +28 -0
  47. fred_admin/demo/modules/admin/backend/controller/OrganizationController.py +218 -0
  48. fred_admin/demo/modules/admin/backend/controller/RoleController.py +143 -0
  49. fred_admin/demo/modules/admin/backend/controller/SystemController.py +112 -0
  50. fred_admin/demo/modules/admin/backend/controller/SystemLogController.py +63 -0
  51. fred_admin/demo/modules/admin/backend/controller/TableController.py +175 -0
  52. fred_admin/demo/modules/admin/backend/controller/__init__.py +55 -0
  53. fred_admin/demo/modules/admin/backend/schema/AdminSchema.py +356 -0
  54. fred_admin/demo/modules/admin/backend/schema/ApiAuthSchema.py +72 -0
  55. fred_admin/demo/modules/admin/backend/schema/AuthMenuSchema.py +79 -0
  56. fred_admin/demo/modules/admin/backend/schema/ButtonManageSchema.py +98 -0
  57. fred_admin/demo/modules/admin/backend/schema/OrganizationSchema.py +134 -0
  58. fred_admin/demo/modules/admin/backend/schema/RoleSchema.py +94 -0
  59. fred_admin/demo/modules/admin/backend/schema/SystemConfigSchema.py +115 -0
  60. fred_admin/demo/modules/admin/backend/schema/TableSchema.py +153 -0
  61. fred_admin/demo/modules/admin/backend/schema/UploadImg.py +35 -0
  62. fred_admin/demo/modules/admin/backend/schema/__init__.py +0 -0
  63. fred_admin/demo/modules/admin/backend/schema/__pycache__/AdminSchema.cpython-312.pyc +0 -0
  64. fred_admin/demo/modules/admin/backend/schema/__pycache__/ApiAuthSchema.cpython-312.pyc +0 -0
  65. fred_admin/demo/modules/admin/backend/schema/__pycache__/AuthMenuSchema.cpython-312.pyc +0 -0
  66. fred_admin/demo/modules/admin/backend/schema/__pycache__/ButtonManageSchema.cpython-312.pyc +0 -0
  67. fred_admin/demo/modules/admin/backend/schema/__pycache__/OrganizationSchema.cpython-312.pyc +0 -0
  68. fred_admin/demo/modules/admin/backend/schema/__pycache__/RoleSchema.cpython-312.pyc +0 -0
  69. fred_admin/demo/modules/admin/backend/schema/__pycache__/SystemConfigSchema.cpython-312.pyc +0 -0
  70. fred_admin/demo/modules/admin/backend/schema/__pycache__/TableSchema.cpython-312.pyc +0 -0
  71. fred_admin/demo/modules/admin/backend/schema/__pycache__/UploadImg.cpython-312.pyc +0 -0
  72. fred_admin/demo/modules/admin/backend/schema/__pycache__/__init__.cpython-312.pyc +0 -0
  73. fred_admin/demo/modules/admin/backend/service/AdminService.py +377 -0
  74. fred_admin/demo/modules/admin/backend/service/ApiAuthService.py +237 -0
  75. fred_admin/demo/modules/admin/backend/service/AuthButtonsService.py +155 -0
  76. fred_admin/demo/modules/admin/backend/service/AuthMenuService.py +265 -0
  77. fred_admin/demo/modules/admin/backend/service/ButtonManageService.py +386 -0
  78. fred_admin/demo/modules/admin/backend/service/ButtonManageService.py.broken +113 -0
  79. fred_admin/demo/modules/admin/backend/service/FileService.py +33 -0
  80. fred_admin/demo/modules/admin/backend/service/OrganizationService.py +465 -0
  81. fred_admin/demo/modules/admin/backend/service/RoleService.py +445 -0
  82. fred_admin/demo/modules/admin/backend/service/SystemConfigService.py +89 -0
  83. fred_admin/demo/modules/admin/backend/service/SystemLogService.py +142 -0
  84. fred_admin/demo/modules/admin/backend/service/TableService.py +978 -0
  85. fred_admin/demo/modules/admin/backend/service/__init__.py +1 -0
  86. fred_admin/demo/modules/admin/backend/sql/app.db +0 -0
  87. fred_admin/demo/modules/admin/backend/sql/fred.sql +3780 -0
  88. fred_admin/demo/modules/admin/frontend/LICENSE +21 -0
  89. fred_admin/demo/modules/admin/frontend/build/getEnv.ts +46 -0
  90. fred_admin/demo/modules/admin/frontend/build/plugins.ts +118 -0
  91. fred_admin/demo/modules/admin/frontend/build/proxy.ts +30 -0
  92. fred_admin/demo/modules/admin/frontend/commitlint.config.cjs +162 -0
  93. fred_admin/demo/modules/admin/frontend/demo_editorconfig +15 -0
  94. fred_admin/demo/modules/admin/frontend/demo_env +15 -0
  95. fred_admin/demo/modules/admin/frontend/demo_env.development +21 -0
  96. fred_admin/demo/modules/admin/frontend/demo_env.production +25 -0
  97. fred_admin/demo/modules/admin/frontend/demo_eslintignore +15 -0
  98. fred_admin/demo/modules/admin/frontend/demo_eslintrc.cjs +61 -0
  99. fred_admin/demo/modules/admin/frontend/demo_gitignore +27 -0
  100. fred_admin/demo/modules/admin/frontend/demo_prettierignore +9 -0
  101. fred_admin/demo/modules/admin/frontend/demo_prettierrc.cjs +41 -0
  102. fred_admin/demo/modules/admin/frontend/demo_stylelintignore +4 -0
  103. fred_admin/demo/modules/admin/frontend/demo_stylelintrc.cjs +40 -0
  104. fred_admin/demo/modules/admin/frontend/index.html +105 -0
  105. fred_admin/demo/modules/admin/frontend/lint-staged.config.cjs +8 -0
  106. fred_admin/demo/modules/admin/frontend/package.json +129 -0
  107. fred_admin/demo/modules/admin/frontend/pnpm-lock.yaml +11150 -0
  108. fred_admin/demo/modules/admin/frontend/postcss.config.cjs +5 -0
  109. fred_admin/demo/modules/admin/frontend/public/logo.png +0 -0
  110. fred_admin/demo/modules/admin/frontend/public/vue.svg +1 -0
  111. fred_admin/demo/modules/admin/frontend/src/App.vue +44 -0
  112. fred_admin/demo/modules/admin/frontend/src/api/config/servicePort.ts +2 -0
  113. fred_admin/demo/modules/admin/frontend/src/api/helper/axiosCancel.ts +57 -0
  114. fred_admin/demo/modules/admin/frontend/src/api/helper/checkStatus.ts +43 -0
  115. fred_admin/demo/modules/admin/frontend/src/api/index.ts +167 -0
  116. fred_admin/demo/modules/admin/frontend/src/api/interface/index.ts +179 -0
  117. fred_admin/demo/modules/admin/frontend/src/api/model/adminModel.ts +135 -0
  118. fred_admin/demo/modules/admin/frontend/src/api/model/apiAuthModel.ts +72 -0
  119. fred_admin/demo/modules/admin/frontend/src/api/model/index.ts +24 -0
  120. fred_admin/demo/modules/admin/frontend/src/api/model/loginModel.ts +79 -0
  121. fred_admin/demo/modules/admin/frontend/src/api/model/roleModel.ts +68 -0
  122. fred_admin/demo/modules/admin/frontend/src/api/model/storeModel.ts +80 -0
  123. fred_admin/demo/modules/admin/frontend/src/api/model/systemModel.ts +162 -0
  124. fred_admin/demo/modules/admin/frontend/src/api/model/uploadModel.ts +153 -0
  125. fred_admin/demo/modules/admin/frontend/src/api/modules/admin.ts +76 -0
  126. fred_admin/demo/modules/admin/frontend/src/api/modules/apiAuth.ts +53 -0
  127. fred_admin/demo/modules/admin/frontend/src/api/modules/buttonManage.ts +119 -0
  128. fred_admin/demo/modules/admin/frontend/src/api/modules/dataBase.ts +60 -0
  129. fred_admin/demo/modules/admin/frontend/src/api/modules/login.ts +54 -0
  130. fred_admin/demo/modules/admin/frontend/src/api/modules/organization.ts +123 -0
  131. fred_admin/demo/modules/admin/frontend/src/api/modules/role.ts +61 -0
  132. fred_admin/demo/modules/admin/frontend/src/api/modules/store.ts +303 -0
  133. fred_admin/demo/modules/admin/frontend/src/api/modules/system.ts +125 -0
  134. fred_admin/demo/modules/admin/frontend/src/api/modules/upload.ts +132 -0
  135. fred_admin/demo/modules/admin/frontend/src/api/modules/user.ts +63 -0
  136. fred_admin/demo/modules/admin/frontend/src/assets/fonts/DIN.otf +0 -0
  137. fred_admin/demo/modules/admin/frontend/src/assets/fonts/MetroDF.ttf +0 -0
  138. fred_admin/demo/modules/admin/frontend/src/assets/fonts/YouSheBiaoTiHei.ttf +0 -0
  139. fred_admin/demo/modules/admin/frontend/src/assets/fonts/font.scss +14 -0
  140. fred_admin/demo/modules/admin/frontend/src/assets/iconfont/iconfont.scss +51 -0
  141. fred_admin/demo/modules/admin/frontend/src/assets/iconfont/iconfont.ttf +0 -0
  142. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingdaoyu.svg +1 -0
  143. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingdiqiu.svg +1 -0
  144. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingditu.svg +1 -0
  145. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingfanchuan.svg +1 -0
  146. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingfeiji.svg +1 -0
  147. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxinglvhangriji.svg +1 -0
  148. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingtianqiyubao.svg +1 -0
  149. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingxiangjipaizhao.svg +1 -0
  150. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingxiarilengyin.svg +1 -0
  151. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingyoulun.svg +1 -0
  152. fred_admin/demo/modules/admin/frontend/src/assets/icons/xianxingzijiayou.svg +1 -0
  153. fred_admin/demo/modules/admin/frontend/src/assets/images/403.png +0 -0
  154. fred_admin/demo/modules/admin/frontend/src/assets/images/404.png +0 -0
  155. fred_admin/demo/modules/admin/frontend/src/assets/images/500.png +0 -0
  156. fred_admin/demo/modules/admin/frontend/src/assets/images/avatar.gif +0 -0
  157. fred_admin/demo/modules/admin/frontend/src/assets/images/login_bg.svg +33 -0
  158. fred_admin/demo/modules/admin/frontend/src/assets/images/login_left.png +0 -0
  159. fred_admin/demo/modules/admin/frontend/src/assets/images/login_left1.png +0 -0
  160. fred_admin/demo/modules/admin/frontend/src/assets/images/login_left2.png +0 -0
  161. fred_admin/demo/modules/admin/frontend/src/assets/images/login_left3.png +0 -0
  162. fred_admin/demo/modules/admin/frontend/src/assets/images/login_left4.png +0 -0
  163. fred_admin/demo/modules/admin/frontend/src/assets/images/login_left5.png +0 -0
  164. fred_admin/demo/modules/admin/frontend/src/assets/images/logo.svg +1 -0
  165. fred_admin/demo/modules/admin/frontend/src/assets/images/msg01.png +0 -0
  166. fred_admin/demo/modules/admin/frontend/src/assets/images/msg02.png +0 -0
  167. fred_admin/demo/modules/admin/frontend/src/assets/images/msg03.png +0 -0
  168. fred_admin/demo/modules/admin/frontend/src/assets/images/msg04.png +0 -0
  169. fred_admin/demo/modules/admin/frontend/src/assets/images/msg05.png +0 -0
  170. fred_admin/demo/modules/admin/frontend/src/assets/images/notData.png +0 -0
  171. fred_admin/demo/modules/admin/frontend/src/assets/images/welcome.png +0 -0
  172. fred_admin/demo/modules/admin/frontend/src/assets/json/authButtonList.json +8 -0
  173. fred_admin/demo/modules/admin/frontend/src/assets/json/authMenuList.json +1075 -0
  174. fred_admin/demo/modules/admin/frontend/src/assets/mock/Easy-Mock-API.zip +0 -0
  175. fred_admin/demo/modules/admin/frontend/src/components/ECharts/config/index.ts +72 -0
  176. fred_admin/demo/modules/admin/frontend/src/components/ECharts/index.vue +104 -0
  177. fred_admin/demo/modules/admin/frontend/src/components/ErrorMessage/403.vue +19 -0
  178. fred_admin/demo/modules/admin/frontend/src/components/ErrorMessage/404.vue +19 -0
  179. fred_admin/demo/modules/admin/frontend/src/components/ErrorMessage/500.vue +19 -0
  180. fred_admin/demo/modules/admin/frontend/src/components/ErrorMessage/index.scss +32 -0
  181. fred_admin/demo/modules/admin/frontend/src/components/Grid/components/GridItem.vue +68 -0
  182. fred_admin/demo/modules/admin/frontend/src/components/Grid/index.vue +167 -0
  183. fred_admin/demo/modules/admin/frontend/src/components/Grid/interface/index.ts +6 -0
  184. fred_admin/demo/modules/admin/frontend/src/components/ImageCaptcha/index.vue +71 -0
  185. fred_admin/demo/modules/admin/frontend/src/components/ImportExcel/index.scss +3 -0
  186. fred_admin/demo/modules/admin/frontend/src/components/ImportExcel/index.vue +151 -0
  187. fred_admin/demo/modules/admin/frontend/src/components/JsonViewer/index.vue +249 -0
  188. fred_admin/demo/modules/admin/frontend/src/components/Loading/fullScreen.ts +45 -0
  189. fred_admin/demo/modules/admin/frontend/src/components/Loading/index.scss +67 -0
  190. fred_admin/demo/modules/admin/frontend/src/components/Loading/index.vue +13 -0
  191. fred_admin/demo/modules/admin/frontend/src/components/ProTable/components/ColSetting.vue +45 -0
  192. fred_admin/demo/modules/admin/frontend/src/components/ProTable/components/Pagination.vue +101 -0
  193. fred_admin/demo/modules/admin/frontend/src/components/ProTable/components/TableColumn.vue +58 -0
  194. fred_admin/demo/modules/admin/frontend/src/components/ProTable/index.vue +348 -0
  195. fred_admin/demo/modules/admin/frontend/src/components/ProTable/interface/index.ts +87 -0
  196. fred_admin/demo/modules/admin/frontend/src/components/SearchForm/components/SearchFormItem.vue +96 -0
  197. fred_admin/demo/modules/admin/frontend/src/components/SearchForm/index.vue +98 -0
  198. fred_admin/demo/modules/admin/frontend/src/components/SelectFilter/index.scss +63 -0
  199. fred_admin/demo/modules/admin/frontend/src/components/SelectFilter/index.vue +110 -0
  200. fred_admin/demo/modules/admin/frontend/src/components/SelectIcon/index.scss +39 -0
  201. fred_admin/demo/modules/admin/frontend/src/components/SelectIcon/index.vue +90 -0
  202. fred_admin/demo/modules/admin/frontend/src/components/StoreFilter/index.vue +356 -0
  203. fred_admin/demo/modules/admin/frontend/src/components/SvgIcon/index.vue +22 -0
  204. fred_admin/demo/modules/admin/frontend/src/components/SwitchDark/index.vue +12 -0
  205. fred_admin/demo/modules/admin/frontend/src/components/TreeFilter/index.scss +44 -0
  206. fred_admin/demo/modules/admin/frontend/src/components/TreeFilter/index.vue +165 -0
  207. fred_admin/demo/modules/admin/frontend/src/components/Upload/Img.vue +304 -0
  208. fred_admin/demo/modules/admin/frontend/src/components/Upload/Imgs.vue +316 -0
  209. fred_admin/demo/modules/admin/frontend/src/components/WangEditor/index.scss +28 -0
  210. fred_admin/demo/modules/admin/frontend/src/components/WangEditor/index.vue +154 -0
  211. fred_admin/demo/modules/admin/frontend/src/config/amapMap.ts +11 -0
  212. fred_admin/demo/modules/admin/frontend/src/config/index.ts +16 -0
  213. fred_admin/demo/modules/admin/frontend/src/config/nprogress.ts +12 -0
  214. fred_admin/demo/modules/admin/frontend/src/directives/index.ts +28 -0
  215. fred_admin/demo/modules/admin/frontend/src/directives/modules/auth.ts +26 -0
  216. fred_admin/demo/modules/admin/frontend/src/directives/modules/copy.ts +37 -0
  217. fred_admin/demo/modules/admin/frontend/src/directives/modules/debounce.ts +31 -0
  218. fred_admin/demo/modules/admin/frontend/src/directives/modules/draggable.ts +49 -0
  219. fred_admin/demo/modules/admin/frontend/src/directives/modules/longpress.ts +49 -0
  220. fred_admin/demo/modules/admin/frontend/src/directives/modules/throttle.ts +41 -0
  221. fred_admin/demo/modules/admin/frontend/src/directives/modules/waterMarker.ts +36 -0
  222. fred_admin/demo/modules/admin/frontend/src/enums/httpEnum.ts +35 -0
  223. fred_admin/demo/modules/admin/frontend/src/hooks/interface/index.ts +32 -0
  224. fred_admin/demo/modules/admin/frontend/src/hooks/useAuthButtons.ts +22 -0
  225. fred_admin/demo/modules/admin/frontend/src/hooks/useDownload.ts +42 -0
  226. fred_admin/demo/modules/admin/frontend/src/hooks/useHandleData.ts +41 -0
  227. fred_admin/demo/modules/admin/frontend/src/hooks/useI18n.ts +51 -0
  228. fred_admin/demo/modules/admin/frontend/src/hooks/useOnline.ts +31 -0
  229. fred_admin/demo/modules/admin/frontend/src/hooks/useSelection.ts +34 -0
  230. fred_admin/demo/modules/admin/frontend/src/hooks/useTable.ts +150 -0
  231. fred_admin/demo/modules/admin/frontend/src/hooks/useTheme.ts +111 -0
  232. fred_admin/demo/modules/admin/frontend/src/hooks/useTime.ts +38 -0
  233. fred_admin/demo/modules/admin/frontend/src/languages/index.ts +32 -0
  234. fred_admin/demo/modules/admin/frontend/src/languages/modules/en.ts +978 -0
  235. fred_admin/demo/modules/admin/frontend/src/languages/modules/zh.ts +996 -0
  236. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutClassic/index.scss +60 -0
  237. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutClassic/index.vue +62 -0
  238. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutColumns/index.scss +95 -0
  239. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutColumns/index.vue +103 -0
  240. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutTransverse/index.scss +60 -0
  241. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutTransverse/index.vue +61 -0
  242. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutVertical/index.scss +48 -0
  243. fred_admin/demo/modules/admin/frontend/src/layouts/LayoutVertical/index.vue +56 -0
  244. fred_admin/demo/modules/admin/frontend/src/layouts/components/Footer/index.scss +11 -0
  245. fred_admin/demo/modules/admin/frontend/src/layouts/components/Footer/index.vue +9 -0
  246. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/ToolBarLeft.vue +23 -0
  247. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/ToolBarRight.vue +51 -0
  248. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/AssemblySize.vue +37 -0
  249. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/Avatar.vue +79 -0
  250. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/Breadcrumb.vue +122 -0
  251. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/CollapseIcon.vue +21 -0
  252. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/Fullscreen.vue +25 -0
  253. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/InfoDialog.vue +22 -0
  254. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/Language.vue +38 -0
  255. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/Message.vue +109 -0
  256. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/PasswordDialog.vue +81 -0
  257. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/SearchMenu.vue +183 -0
  258. fred_admin/demo/modules/admin/frontend/src/layouts/components/Header/components/ThemeSetting.vue +12 -0
  259. fred_admin/demo/modules/admin/frontend/src/layouts/components/Main/components/Maximize.vue +39 -0
  260. fred_admin/demo/modules/admin/frontend/src/layouts/components/Main/index.scss +10 -0
  261. fred_admin/demo/modules/admin/frontend/src/layouts/components/Main/index.vue +88 -0
  262. fred_admin/demo/modules/admin/frontend/src/layouts/components/Menu/SubMenu.vue +85 -0
  263. fred_admin/demo/modules/admin/frontend/src/layouts/components/Tabs/components/MoreButton.vue +85 -0
  264. fred_admin/demo/modules/admin/frontend/src/layouts/components/Tabs/index.scss +69 -0
  265. fred_admin/demo/modules/admin/frontend/src/layouts/components/Tabs/index.vue +115 -0
  266. fred_admin/demo/modules/admin/frontend/src/layouts/components/ThemeDrawer/index.scss +137 -0
  267. fred_admin/demo/modules/admin/frontend/src/layouts/components/ThemeDrawer/index.vue +191 -0
  268. fred_admin/demo/modules/admin/frontend/src/layouts/index.vue +42 -0
  269. fred_admin/demo/modules/admin/frontend/src/layouts/indexAsync.vue +46 -0
  270. fred_admin/demo/modules/admin/frontend/src/main.ts +45 -0
  271. fred_admin/demo/modules/admin/frontend/src/routers/index.ts +106 -0
  272. fred_admin/demo/modules/admin/frontend/src/routers/modules/dynamicRouter.ts +99 -0
  273. fred_admin/demo/modules/admin/frontend/src/routers/modules/staticRouter.ts +63 -0
  274. fred_admin/demo/modules/admin/frontend/src/stores/helper/persist.ts +19 -0
  275. fred_admin/demo/modules/admin/frontend/src/stores/index.ts +8 -0
  276. fred_admin/demo/modules/admin/frontend/src/stores/interface/index.ts +63 -0
  277. fred_admin/demo/modules/admin/frontend/src/stores/modules/auth.ts +50 -0
  278. fred_admin/demo/modules/admin/frontend/src/stores/modules/global.ts +55 -0
  279. fred_admin/demo/modules/admin/frontend/src/stores/modules/keepAlive.ts +25 -0
  280. fred_admin/demo/modules/admin/frontend/src/stores/modules/tabs.ts +78 -0
  281. fred_admin/demo/modules/admin/frontend/src/stores/modules/user.ts +23 -0
  282. fred_admin/demo/modules/admin/frontend/src/styles/common.scss +129 -0
  283. fred_admin/demo/modules/admin/frontend/src/styles/element-dark.scss +28 -0
  284. fred_admin/demo/modules/admin/frontend/src/styles/element.scss +264 -0
  285. fred_admin/demo/modules/admin/frontend/src/styles/modules/annotation.scss +746 -0
  286. fred_admin/demo/modules/admin/frontend/src/styles/modules/assembly.scss +714 -0
  287. fred_admin/demo/modules/admin/frontend/src/styles/modules/device-manager.scss +659 -0
  288. fred_admin/demo/modules/admin/frontend/src/styles/modules/directives.scss +381 -0
  289. fred_admin/demo/modules/admin/frontend/src/styles/reset.scss +143 -0
  290. fred_admin/demo/modules/admin/frontend/src/styles/table-optimization.scss +242 -0
  291. fred_admin/demo/modules/admin/frontend/src/styles/theme/aside.ts +16 -0
  292. fred_admin/demo/modules/admin/frontend/src/styles/theme/header.ts +25 -0
  293. fred_admin/demo/modules/admin/frontend/src/styles/theme/menu.ts +31 -0
  294. fred_admin/demo/modules/admin/frontend/src/styles/var.scss +2 -0
  295. fred_admin/demo/modules/admin/frontend/src/typings/global.d.ts +74 -0
  296. fred_admin/demo/modules/admin/frontend/src/typings/utils.d.ts +17 -0
  297. fred_admin/demo/modules/admin/frontend/src/typings/window.d.ts +8 -0
  298. fred_admin/demo/modules/admin/frontend/src/utils/color.ts +59 -0
  299. fred_admin/demo/modules/admin/frontend/src/utils/dict.ts +17 -0
  300. fred_admin/demo/modules/admin/frontend/src/utils/eleValidate.ts +14 -0
  301. fred_admin/demo/modules/admin/frontend/src/utils/errorHandler.ts +28 -0
  302. fred_admin/demo/modules/admin/frontend/src/utils/index.ts +327 -0
  303. fred_admin/demo/modules/admin/frontend/src/utils/is/index.ts +125 -0
  304. fred_admin/demo/modules/admin/frontend/src/utils/mittBus.ts +5 -0
  305. fred_admin/demo/modules/admin/frontend/src/utils/svg.ts +13 -0
  306. fred_admin/demo/modules/admin/frontend/src/views/dataBase/fieldType/components/FieldTypeDrawer.vue +89 -0
  307. fred_admin/demo/modules/admin/frontend/src/views/dataBase/fieldType/index.vue +99 -0
  308. fred_admin/demo/modules/admin/frontend/src/views/dataBase/tableManage/components/DataBaseDrawer.vue +254 -0
  309. fred_admin/demo/modules/admin/frontend/src/views/dataBase/tableManage/components/IndexDrawer.vue +226 -0
  310. fred_admin/demo/modules/admin/frontend/src/views/dataBase/tableManage/components/TableDataDrawer.vue +136 -0
  311. fred_admin/demo/modules/admin/frontend/src/views/dataBase/tableManage/index.vue +234 -0
  312. fred_admin/demo/modules/admin/frontend/src/views/echarts/columnChart/index.scss +0 -0
  313. fred_admin/demo/modules/admin/frontend/src/views/echarts/columnChart/index.vue +139 -0
  314. fred_admin/demo/modules/admin/frontend/src/views/echarts/lineChart/index.scss +0 -0
  315. fred_admin/demo/modules/admin/frontend/src/views/echarts/lineChart/index.vue +123 -0
  316. fred_admin/demo/modules/admin/frontend/src/views/echarts/nestedChart/index.scss +0 -0
  317. fred_admin/demo/modules/admin/frontend/src/views/echarts/nestedChart/index.vue +97 -0
  318. fred_admin/demo/modules/admin/frontend/src/views/echarts/pieChart/index.scss +0 -0
  319. fred_admin/demo/modules/admin/frontend/src/views/echarts/pieChart/index.vue +68 -0
  320. fred_admin/demo/modules/admin/frontend/src/views/echarts/radarChart/index.scss +0 -0
  321. fred_admin/demo/modules/admin/frontend/src/views/echarts/radarChart/index.vue +56 -0
  322. fred_admin/demo/modules/admin/frontend/src/views/echarts/waterChart/index.scss +0 -0
  323. fred_admin/demo/modules/admin/frontend/src/views/echarts/waterChart/index.vue +298 -0
  324. fred_admin/demo/modules/admin/frontend/src/views/home/index.scss +12 -0
  325. fred_admin/demo/modules/admin/frontend/src/views/home/index.vue +11 -0
  326. fred_admin/demo/modules/admin/frontend/src/views/login/components/LoginForm.vue +147 -0
  327. fred_admin/demo/modules/admin/frontend/src/views/login/index.scss +83 -0
  328. fred_admin/demo/modules/admin/frontend/src/views/login/index.vue +27 -0
  329. fred_admin/demo/modules/admin/frontend/src/views/proTable/complexProTable/index.vue +176 -0
  330. fred_admin/demo/modules/admin/frontend/src/views/proTable/components/UserDrawer.vue +152 -0
  331. fred_admin/demo/modules/admin/frontend/src/views/proTable/document/index.vue +13 -0
  332. fred_admin/demo/modules/admin/frontend/src/views/proTable/treeProTable/index.vue +129 -0
  333. fred_admin/demo/modules/admin/frontend/src/views/proTable/useProTable/detail.vue +12 -0
  334. fred_admin/demo/modules/admin/frontend/src/views/proTable/useProTable/index.vue +258 -0
  335. fred_admin/demo/modules/admin/frontend/src/views/proTable/useSelectFilter/index.vue +184 -0
  336. fred_admin/demo/modules/admin/frontend/src/views/proTable/useTreeFilter/detail.vue +12 -0
  337. fred_admin/demo/modules/admin/frontend/src/views/proTable/useTreeFilter/index.vue +147 -0
  338. fred_admin/demo/modules/admin/frontend/src/views/system/accountManage/index.vue +244 -0
  339. fred_admin/demo/modules/admin/frontend/src/views/system/apiAuth/components/ApiDrawer.vue +114 -0
  340. fred_admin/demo/modules/admin/frontend/src/views/system/apiAuth/components/TokenDrawer.vue +160 -0
  341. fred_admin/demo/modules/admin/frontend/src/views/system/apiAuth/index.vue +354 -0
  342. fred_admin/demo/modules/admin/frontend/src/views/system/buttonManage/components/ButtonDrawer.vue +460 -0
  343. fred_admin/demo/modules/admin/frontend/src/views/system/buttonManage/index.vue +426 -0
  344. fred_admin/demo/modules/admin/frontend/src/views/system/configManage/components/ConfigDrawer.vue +106 -0
  345. fred_admin/demo/modules/admin/frontend/src/views/system/configManage/index.vue +116 -0
  346. fred_admin/demo/modules/admin/frontend/src/views/system/departmentManage/index.vue +7 -0
  347. fred_admin/demo/modules/admin/frontend/src/views/system/dictManage/index.vue +7 -0
  348. fred_admin/demo/modules/admin/frontend/src/views/system/menuManage/components/MenuDrawer.vue +262 -0
  349. fred_admin/demo/modules/admin/frontend/src/views/system/menuManage/index.vue +310 -0
  350. fred_admin/demo/modules/admin/frontend/src/views/system/organizationManage/components/CompanyDrawer.vue +72 -0
  351. fred_admin/demo/modules/admin/frontend/src/views/system/organizationManage/components/DepartmentDrawer.vue +120 -0
  352. fred_admin/demo/modules/admin/frontend/src/views/system/organizationManage/components/TeamDrawer.vue +162 -0
  353. fred_admin/demo/modules/admin/frontend/src/views/system/organizationManage/components/TeamMemberDrawer.vue +243 -0
  354. fred_admin/demo/modules/admin/frontend/src/views/system/organizationManage/index.vue +414 -0
  355. fred_admin/demo/modules/admin/frontend/src/views/system/roleManage/components/RoleButtonDrawer.vue +587 -0
  356. fred_admin/demo/modules/admin/frontend/src/views/system/roleManage/components/RoleDrawer.vue +77 -0
  357. fred_admin/demo/modules/admin/frontend/src/views/system/roleManage/components/RoleMenuDrawer.vue +236 -0
  358. fred_admin/demo/modules/admin/frontend/src/views/system/roleManage/components/RoleUserDrawer.vue +125 -0
  359. fred_admin/demo/modules/admin/frontend/src/views/system/roleManage/index.vue +143 -0
  360. fred_admin/demo/modules/admin/frontend/src/views/system/systemLog/components/SystemLogDrawer.vue +207 -0
  361. fred_admin/demo/modules/admin/frontend/src/views/system/systemLog/index.vue +219 -0
  362. fred_admin/demo/modules/admin/frontend/src/views/system/timingTask/index.vue +7 -0
  363. fred_admin/demo/modules/admin/frontend/src/vite-env.d.ts +7 -0
  364. fred_admin/demo/modules/admin/frontend/tsconfig.json +42 -0
  365. fred_admin/demo/modules/admin/frontend/vite.config.ts +91 -0
  366. fred_admin/demo/modules/admin/frontend//321/205/320/231/320/235/321/207/320/273/320/277/321/204/342/225/227/320/263/321/207/320/260/320/221/321/210/320/277/342/224/244/321/206/320/250/320/236.md +100 -0
  367. fred_admin/demo/requirements.txt +1 -0
  368. fred_admin/fonts/NotoSansSC-VariableFont_wght.ttf +0 -0
  369. fred_admin/install_hook.py +1633 -0
  370. fred_admin/setup.py +18 -0
  371. fred_admin-1.0.0.dist-info/METADATA +97 -0
  372. fred_admin-1.0.0.dist-info/RECORD +376 -0
  373. fred_admin-1.0.0.dist-info/WHEEL +5 -0
  374. fred_admin-1.0.0.dist-info/entry_points.txt +3 -0
  375. fred_admin-1.0.0.dist-info/licenses/LICENSE +21 -0
  376. fred_admin-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,996 @@
1
+ export default {
2
+ home: {
3
+ welcome: "欢迎使用"
4
+ },
5
+ tabs: {
6
+ refresh: "刷新",
7
+ maximize: "最大化",
8
+ closeCurrent: "关闭当前",
9
+ closeLeft: "关闭左侧",
10
+ closeRight: "关闭右侧",
11
+ closeOther: "关闭其它",
12
+ closeAll: "关闭所有"
13
+ },
14
+ header: {
15
+ componentSize: "组件大小",
16
+ language: "国际化",
17
+ theme: "全局主题",
18
+ layoutConfig: "布局设置",
19
+ primary: "primary",
20
+ darkMode: "暗黑模式",
21
+ greyMode: "灰色模式",
22
+ weakMode: "色弱模式",
23
+ fullScreen: "全屏",
24
+ exitFullScreen: "退出全屏",
25
+ personalData: "个人信息",
26
+ changePassword: "修改密码",
27
+ logout: "退出登录"
28
+ },
29
+ dataBase: {
30
+ tableName: "表名",
31
+ remark: "备注",
32
+ created: "创建时间",
33
+ modified: "修改时间",
34
+ operation: "操作",
35
+ addTable: "新增表",
36
+ edit: "编辑",
37
+ indexManage: "索引管理",
38
+ delete: "删除",
39
+ inputTableName: "请输入表名",
40
+ inputRemark: "请输入备注",
41
+ inputType: "请输入类型",
42
+ inputDesc: "请输入说明",
43
+ fieldList: "字段列表",
44
+ addField: "添加字段",
45
+ fieldName: "字段名",
46
+ fieldDesc: "字段说明",
47
+ fieldType: "字段类型",
48
+ defaultValue: "默认值",
49
+ inputDefaultValue: "请输入默认值",
50
+ isIndex: "是否索引",
51
+ action: "操作",
52
+ noField: "暂无字段",
53
+ cancel: "取消",
54
+ confirm: "确定",
55
+ success: "表操作成功!",
56
+ table: "表",
57
+ existingIndex: "已有索引",
58
+ newIndex: "新建索引",
59
+ selectableField: "可选字段:",
60
+ indexName: "索引名",
61
+ indexType: "索引类型",
62
+ createIndex: "创建索引",
63
+ multiSelect: "可多选字段,索引名建议以 idx_ 开头",
64
+ close: "关闭",
65
+ editIndex: "编辑索引",
66
+ field: "字段",
67
+ type: "类型",
68
+ save: "保存",
69
+ deleteIndexFirst: "请先删除该字段的索引",
70
+ fieldNameRequired: "第{index}行字段名不能为空",
71
+ fieldDescRequired: "第{index}行字段说明不能为空",
72
+ fieldTypeRequired: "第{index}行字段类型不能为空",
73
+ addTableSuccess: "新增表成功!",
74
+ editSuccess: "编辑成功!",
75
+ addFieldTypeSuccess: "新增字段类型成功!",
76
+ editFieldTypeSuccess: "编辑字段类型成功!",
77
+ normalIndex: "普通索引",
78
+ uniqueIndex: "唯一索引",
79
+ fulltextIndex: "全文索引",
80
+ addFieldType: "新增字段类型",
81
+ deleteFieldType: "删除字段类型",
82
+ deleteFieldTypeConfirm: "删除字段类型【{name}】",
83
+ deleteTableConfirm: "确认删除表【{name}】吗?",
84
+ deleteIndexConfirm: "删除索引【{name}】",
85
+ status: "状态",
86
+ deleteStatus: "状态",
87
+ deleted: "已删除",
88
+ normal: "正常",
89
+ confirmDeleteTable: "确认删除表【{name}】吗?",
90
+ confirmRestoreTable: "确认恢复表【{name}】吗?",
91
+ restore: "恢复",
92
+ confirmStatusChange: "确认{action}表【{name}】吗?",
93
+ prompt: "提示",
94
+ statusChangeSuccess: "状态变更成功",
95
+ statusChangeFailed: "状态变更失败",
96
+ operationCancelled: "操作取消",
97
+ confirmBatchDelete: "确认删除选中的{count}张表吗?",
98
+ batchDeleteSuccess: "批量删除成功",
99
+ batchDeleteFailed: "批量删除失败",
100
+ deleteSuccess: "删除成功",
101
+ deleteFailed: "删除失败",
102
+ path: "路径",
103
+ recordCount: "记录数",
104
+ refresh: "刷新",
105
+ viewData: "查看数据"
106
+ },
107
+ scene: {
108
+ deleteConfirm: "删除【{name}】场景",
109
+ batchDeleteConfirm: "删除所选场景信息",
110
+ deleteSuccess: "场景删除成功",
111
+ deleteFailed: "场景删除失败",
112
+ batchDeleteSuccess: "批量删除场景成功",
113
+ batchDeleteFailed: "批量删除场景失败",
114
+ statusChangeConfirm: "{action}【{name}】场景",
115
+ statusChangeSuccess: "状态切换成功",
116
+ statusChangeFailed: "状态切换失败",
117
+ editSuccess: "场景编辑成功",
118
+ editFailed: "场景编辑失败",
119
+ addSuccess: "场景新增成功",
120
+ addFailed: "场景新增失败",
121
+ // 表单字段
122
+ sceneName: "场景名称",
123
+ sceneDescription: "场景描述",
124
+ sortOrder: "排序",
125
+ executionFrequency: "执行频率",
126
+ status: "状态",
127
+ enabled: "启用",
128
+ disabled: "禁用",
129
+ // 占位符
130
+ enterSceneName: "请输入场景名称",
131
+ enterSceneDescription: "请输入场景描述",
132
+ selectExecutionFrequency: "请选择执行频率",
133
+ inputSceneName: "请输入场景名称",
134
+ selectStatus: "请选择状态",
135
+ // 验证消息
136
+ nameRequired: "请输入场景名称",
137
+ nameLength: "长度在 2 到 100 个字符",
138
+ descriptionLength: "描述不能超过500个字符",
139
+ statusRequired: "请选择状态",
140
+ // 操作按钮
141
+ addScene: "新增场景",
142
+ batchDelete: "批量删除场景",
143
+ bindModels: "已绑模型",
144
+ edit: "编辑",
145
+ delete: "删除",
146
+ // 表格列
147
+ id: "ID",
148
+ description: "描述",
149
+ created: "创建时间",
150
+ operation: "操作",
151
+ loading: "加载中...",
152
+ // 确认消息
153
+ addTitle: "新增",
154
+ editTitle: "编辑"
155
+ },
156
+ sceneLog: {
157
+ // 页面标题
158
+ title: "场景日志",
159
+ // 门店选择
160
+ storeSelection: "门店选择",
161
+ refresh: "刷新",
162
+ searchStore: "搜索门店",
163
+ noAddress: "暂无地址",
164
+ noLocation: "暂无位置信息",
165
+ noStoreData: "暂无门店数据",
166
+ // 表格列
167
+ id: "ID",
168
+ storeName: "门店名称",
169
+ sceneName: "场景名称",
170
+ region: "区域",
171
+ message: "日志信息",
172
+ status: "状态",
173
+ created: "创建时间",
174
+ theTime: "触发时间",
175
+ operation: "操作",
176
+ // 状态
177
+ success: "成功",
178
+ failed: "失败",
179
+ // 占位符
180
+ selectScene: "请选择场景",
181
+ selectRegion: "请选择区域",
182
+ selectStatus: "请选择状态",
183
+ // 通知相关
184
+ viewNotification: "查看通知",
185
+ notificationInfo: "通知信息",
186
+ notificationId: "通知ID",
187
+ notificationMessage: "通知消息",
188
+ notificationStatus: "通知状态",
189
+ notificationStatusPending: "待发送",
190
+ notificationStatusSent: "已发送",
191
+ notificationStatusReplied: "已回复",
192
+ notificationStatusUnknown: "未知",
193
+ acceptUser: "接受用户",
194
+ plat: "平台",
195
+ noNotification: "暂无通知信息",
196
+ getNotificationFailed: "获取通知信息失败",
197
+ resendNotification: "重新发送通知",
198
+ resendConfirm: "确定要重新发送该通知吗?",
199
+ resendSuccess: "重新发送成功",
200
+ resendFailed: "重新发送失败",
201
+ noNotificationToResend: "没有可重新发送的通知",
202
+ close: "关闭",
203
+ confirm: "确定",
204
+ cancel: "取消"
205
+ },
206
+ storeFilter: {
207
+ storeSelection: "门店选择",
208
+ refresh: "刷新",
209
+ searchStore: "搜索门店",
210
+ noAddress: "暂无地址",
211
+ noLocation: "暂无位置信息",
212
+ noStoreData: "暂无门店数据"
213
+ },
214
+ role: {
215
+ // 页面标题
216
+ title: "角色管理",
217
+ // 表格列
218
+ id: "ID",
219
+ name: "角色名称",
220
+ inputRoleName: "请输入角色名称",
221
+ created: "创建时间",
222
+ operation: "操作",
223
+ // 按钮文本
224
+ addRole: "新增角色",
225
+ editRole: "编辑",
226
+ deleteRole: "删除",
227
+ batchDeleteRole: "批量删除角色",
228
+ userManage: "用户管理",
229
+ menuPermission: "菜单权限",
230
+ buttonPermission: "按钮权限",
231
+ // 角色用户相关
232
+ removeUser: "移除",
233
+ batchRemoveUser: "批量移除",
234
+ removeUserConfirm: "移除【{name}】用户",
235
+ batchRemoveUserConfirm: "批量移除所选用户",
236
+ removeUserSuccess: "用户移除成功",
237
+ batchRemoveUserSuccess: "批量移除用户成功",
238
+ // 确认消息
239
+ deleteConfirm: "删除【{name}】角色",
240
+ batchDeleteConfirm: "删除所选角色信息",
241
+ // 成功消息
242
+ deleteSuccess: "角色删除成功",
243
+ batchDeleteSuccess: "批量删除角色成功",
244
+ addSuccess: "角色新增成功",
245
+ editSuccess: "角色编辑成功",
246
+ // 失败消息
247
+ deleteFailed: "角色删除失败",
248
+ batchDeleteFailed: "批量删除角色失败",
249
+ addFailed: "角色新增失败",
250
+ editFailed: "角色编辑失败",
251
+ // 表单字段
252
+ roleName: "角色名称",
253
+ // 占位符
254
+ enterRoleName: "请输入角色名称",
255
+ // 验证消息
256
+ nameRequired: "请输入角色名称",
257
+ nameLength: "长度在 2 到 50 个字符",
258
+ // 删除限制
259
+ cannotDeleteSuperAdmin: "超级管理员角色不能删除",
260
+ superAdminRole: "超级管理员"
261
+ },
262
+ user: {
263
+ // 页面标题
264
+ title: "用户管理",
265
+ // 表格列
266
+ id: "ID",
267
+ username: "管理员",
268
+ phone: "手机号",
269
+ role: "角色",
270
+ status: "用户状态",
271
+ lastLogin: "登录时间",
272
+ created: "创建时间",
273
+ operation: "操作",
274
+ // 按钮文本
275
+ addUser: "新增用户",
276
+ editUser: "编辑",
277
+ deleteUser: "删除",
278
+ batchDeleteUser: "批量删除用户",
279
+ resetPassword: "重置密码",
280
+ viewUser: "查看",
281
+ // 确认消息
282
+ deleteConfirm: "删除【{name}】用户",
283
+ batchDeleteConfirm: "删除所选用户信息",
284
+ resetPasswordConfirm: "重置【{name}】用户密码为默认密码",
285
+ statusChangeConfirm: "切换【{name}】用户状态",
286
+ // 成功消息
287
+ deleteSuccess: "用户删除成功",
288
+ batchDeleteSuccess: "批量删除用户成功",
289
+ resetPasswordSuccess: "密码重置成功",
290
+ addSuccess: "用户新增成功",
291
+ editSuccess: "用户编辑成功",
292
+ // 失败消息
293
+ deleteFailed: "用户删除失败",
294
+ batchDeleteFailed: "批量删除用户失败",
295
+ resetPasswordFailed: "密码重置失败",
296
+ addFailed: "用户新增失败",
297
+ editFailed: "用户编辑失败",
298
+ // 表单字段
299
+ userAvatar: "用户头像",
300
+ userName: "用户姓名",
301
+ phoneNumber: "手机号",
302
+ systemAdmin: "系统管理员",
303
+ userRole: "用户角色",
304
+ // 占位符
305
+ enterUserName: "请填写用户姓名",
306
+ enterPhoneNumber: "请输入手机号",
307
+ selectRole: "请选择角色",
308
+ phoneLast4Digits: "手机号后4位",
309
+ inputUsername: "请输入用户名",
310
+ selectStatus: "请选择状态",
311
+ startTime: "开始时间",
312
+ endTime: "结束时间",
313
+ uploadAvatar: "请上传头像",
314
+ avatarSizeLimit: "头像大小不能超过 3M",
315
+ // 验证消息
316
+ nameRequired: "请填写用户姓名",
317
+ phoneRequired: "请输入手机号",
318
+ // 状态
319
+ normal: "正常",
320
+ disabled: "禁用",
321
+ noRole: "暂无角色",
322
+ // 操作成功消息
323
+ operateSuccess: "{message}成功!"
324
+ },
325
+ annotation: {
326
+ // 视图切换
327
+ gridView: "网格视图",
328
+ tableView: "表格视图",
329
+ // 消息
330
+ loading: "加载中...",
331
+ alreadyFirstImage: "已经是第一张图片了",
332
+ alreadyLastImage: "已经是最后一张图片了",
333
+ switchedToPage: "已切换到第 {page} 页",
334
+ uploadSuccess: "图片上传成功",
335
+ exportSuccess: "标注内容导出成功,正在下载...",
336
+ exportNoData: "没有可导出的标注内容",
337
+ exportFail: "导出标注内容失败,请稍后重试",
338
+ exportLoading: "正在导出标注内容...",
339
+ createAnnotationSuccess: "标注创建成功",
340
+ updateAnnotationSuccess: "标注更新成功",
341
+ deleteAnnotationSuccess: "标注删除成功",
342
+ // 操作
343
+ createAnnotation: "创建标注",
344
+ editAnnotation: "编辑标注",
345
+ deleteAnnotation: "删除标注",
346
+ // 标注列表
347
+ newAnnotationLabel: "新标注,选择标签:",
348
+ clearSelection: "取消选中",
349
+ dragToCreate: "在图片上拖拽鼠标即可创建新标注",
350
+ unannotatedImage: "这是未标注图片,标注后将自动上传到系统",
351
+ unannotatedImageNoAnnotations: "这是未标注图片,暂无标注信息,您可以开始创建新标注",
352
+ noAnnotationsInfo: "暂无标注信息",
353
+ list: "标注列表",
354
+ show: "显示标注",
355
+ hide: "隐藏标注",
356
+ imageDetails: "标注详情",
357
+ imagePreview: "图片预览",
358
+ fileName: "文件名",
359
+ uploader: "上传人",
360
+ annotationCount: "标注数量",
361
+ createdAt: "创建时间",
362
+ system: "系统",
363
+ // 标签管理
364
+ labelName: "标签名称",
365
+ color: "颜色",
366
+ model: "选择模型",
367
+ selectModel: "请选择模型",
368
+ operation: "操作",
369
+ addLabel: "新增标签",
370
+ editLabel: "编辑",
371
+ deleteLabel: "删除",
372
+ deleteConfirm: "删除【{name}】标签",
373
+ // 搜索条件
374
+ searchConditions: "搜索条件",
375
+ imageSource: "图片来源",
376
+ selectSource: "选择来源",
377
+ myUpload: "我的上传",
378
+ allImages: "所有图片",
379
+ directoryImages: "目录图片",
380
+ selectDirectory: "选择目录",
381
+ annotationStatus: "标注状态",
382
+ selectStatus: "选择状态",
383
+ materialLibrary: "素材库",
384
+ selectMaterialLibrary: "请选择素材库",
385
+ imagesCount: "张",
386
+ all: "全部",
387
+ unannotated: "未标注",
388
+ annotated: "已标注",
389
+ deleteStatus: "删除状态",
390
+ selectDeleteStatus: "选择删除状态",
391
+ normal: "正常",
392
+ deleted: "已删除",
393
+ markDeleted: "标记删除",
394
+ markNormal: "标记正常",
395
+ restore: "恢复",
396
+ delete: "删除",
397
+ markDeletedSuccess: "图片已标记为删除",
398
+ markNormalSuccess: "图片已恢复为正常",
399
+ markDeletedFail: "标记删除状态失败",
400
+ batchDelete: "批量删除",
401
+ batchRestore: "批量恢复",
402
+ batchDeleteSuccess: "成功删除 {count} 张图片",
403
+ batchRestoreSuccess: "成功恢复 {count} 张图片",
404
+ batchDeleteFail: "批量删除失败",
405
+ batchRestoreFail: "批量恢复失败",
406
+ selectImages: "请选择要删除的图片",
407
+ selectImagesToRestore: "请选择要恢复的图片",
408
+ confirmBatchDelete: "确定要删除选中的 {count} 张图片吗?",
409
+ confirmBatchRestore: "确定要恢复选中的 {count} 张图片吗?",
410
+ search: "搜索",
411
+ reset: "重置",
412
+ uploadImage: "上传图片",
413
+ exportAnnotations: "导出标注",
414
+ getDirectoryListFailed: "获取目录列表失败",
415
+ getModelListFailed: "获取模型列表失败",
416
+ getLabelListFailed: "获取标签列表失败",
417
+ mustSelectDirectory: "选择目录图片时必须先选择目录",
418
+ annotationUpdatedTime: "标注时间",
419
+ timeRangeSeparator: "至",
420
+ startTimePlaceholder: "开始时间",
421
+ endTimePlaceholder: "结束时间",
422
+ selectImageFirst: "请先选择图片",
423
+ selectModelFirst: "请先选择模型",
424
+ systemInferenceLoading: "正在执行系统推理...",
425
+ systemInferenceSuccess: "系统推理完成,已添加 {count} 个标注到系统分类",
426
+ systemInferenceFormatError: "系统推理完成,但返回的标注数据格式不正确",
427
+ systemInferenceNoResult: "系统推理完成,未检测到标注",
428
+ systemInferenceFail: "系统推理失败,请稍后重试",
429
+ unknownLabel: "未知标签"
430
+ },
431
+ store: {
432
+ // 表格列
433
+ id: "ID",
434
+ name: "门店名称",
435
+ region: "省市区",
436
+ address: "地址",
437
+ sceneCount: "场景数量",
438
+ operation: "操作",
439
+ notSet: "未设置",
440
+ scenes: "个场景",
441
+ // 操作按钮
442
+ addStore: "新增门店",
443
+ edit: "编辑",
444
+ viewScenes: "查看场景",
445
+ bindScene: "绑定场景",
446
+ delete: "删除",
447
+ // 表单
448
+ enterStoreName: "请填写门店名称",
449
+ selectRegion: "请选择省市区",
450
+ enterDetailAddress: "请填写详细地址",
451
+ searchStore: "搜索门店名称或地址",
452
+ storeName: "门店名称",
453
+ detailAddress: "详细地址",
454
+ // 搜索框placeholder
455
+ inputStoreName: "请输入门店名称",
456
+ inputAddress: "请输入地址",
457
+ // 提示
458
+ title: "省市区选择",
459
+ storeList: "门店列表",
460
+ deleteConfirm: "确定要删除该门店吗?",
461
+ deleteSuccess: "删除成功",
462
+ deleteFailed: "删除失败",
463
+ loadTreeFailed: "加载树形数据失败",
464
+ loadListFailed: "获取门店列表失败"
465
+ },
466
+ camera: {
467
+ // 表格列
468
+ id: "ID",
469
+ ip: "IP地址",
470
+ user: "账号",
471
+ brand: "品牌",
472
+ type: "类型",
473
+ channels: "通道信息",
474
+ store: "所属门店",
475
+ operation: "操作",
476
+ selectBrand: "请选择品牌",
477
+ // 操作按钮
478
+ addCamera: "新增摄像头",
479
+ brandManagement: "品牌管理",
480
+ refresh: "刷新",
481
+ view: "查看",
482
+ edit: "编辑",
483
+ channel: "通道",
484
+ delete: "删除",
485
+ close: "关闭",
486
+ // 标题和描述
487
+ storeSelection: "门店选择",
488
+ cameraList: "摄像头列表",
489
+ cameraDetail: "摄像头详情",
490
+ channelDetail: "通道详情",
491
+ cameraId: "摄像头ID",
492
+ account: "账号",
493
+ password: "密码",
494
+ totalChannels: "总通道",
495
+ availableChannels: "可用",
496
+ channelCount: "通道数量",
497
+ channelNumber: "通道编号",
498
+ available: "可用",
499
+ unavailable: "不可用",
500
+ channelScreenshot: "通道截图",
501
+ // 搜索框placeholder
502
+ inputCameraIp: "请输入IP地址",
503
+ // 提示
504
+ searchStore: "搜索门店名称或地址",
505
+ noAddress: "暂无地址",
506
+ noLocation: "暂无位置信息",
507
+ noStoreData: "暂无门店数据",
508
+ loadStoreFailed: "加载门店列表失败",
509
+ loadBrandFailed: "加载品牌列表失败",
510
+ loadListFailed: "获取摄像头列表失败",
511
+ noChannelInfo: "暂无通道信息",
512
+ viewCameraDetail: "查看摄像头详情",
513
+ editCameraInfo: "编辑摄像头信息",
514
+ manageChannel: "管理通道",
515
+ deleteCamera: "删除摄像头"
516
+ },
517
+ device: {
518
+ // 表格列
519
+ id: "ID",
520
+ name: "设备名称",
521
+ sn: "序列号",
522
+ store: "所属门店",
523
+ province: "省份",
524
+ city: "城市",
525
+ district: "区县",
526
+ type: "设备类型",
527
+ cpu: "CPU型号",
528
+ mem: "内存",
529
+ os: "操作系统",
530
+ gpu: "GPU",
531
+ npu: "NPU",
532
+ created: "创建时间",
533
+ modified: "修改时间",
534
+ network: "网络配置",
535
+ bindingStatus: "绑定状态",
536
+ operation: "操作",
537
+ // 操作按钮
538
+ addDevice: "新增设备",
539
+ viewUnbound: "查看未绑定设备",
540
+ view: "查看",
541
+ edit: "编辑",
542
+ bind: "绑定",
543
+ delete: "删除",
544
+ close: "关闭",
545
+ // 搜索框placeholder
546
+ inputDeviceName: "请输入设备名称",
547
+ inputDeviceSn: "请输入序列号",
548
+ // 提示
549
+ title: "省市区选择",
550
+ deviceList: "设备列表",
551
+ deviceDetail: "设备详情",
552
+ viewDeviceDetail: "查看设备详情",
553
+ editDeviceInfo: "编辑设备信息",
554
+ bindDevice: "绑定终端设备",
555
+ deleteDevice: "删除设备",
556
+ deleteConfirm: "确定要删除该设备吗?",
557
+ deleteSuccess: "删除成功",
558
+ deleteFailed: "删除失败",
559
+ loadTreeFailed: "加载树形数据失败",
560
+ loadListFailed: "获取设备列表失败",
561
+ noNetworkConfig: "暂无网络配置",
562
+ noData: "暂无数据",
563
+ // 设备详情字段
564
+ physicalCores: "物理核心",
565
+ logicalCores: "逻辑核心",
566
+ gpuType: "GPU类型",
567
+ memory: "显存",
568
+ driverVersion: "驱动版本",
569
+ ip: "IP",
570
+ mac: "MAC",
571
+ physicalNetworkCard: "物理网卡",
572
+ yes: "是",
573
+ no: "否"
574
+ },
575
+ inference: {
576
+ // 页面标题
577
+ title: "推理配置管理",
578
+ // 左侧门店选择
579
+ storeSelect: "门店选择",
580
+ refresh: "刷新",
581
+ searchStore: "搜索门店名称或地址",
582
+ noStores: "暂无门店数据",
583
+ noAddress: "暂无地址",
584
+ noLocation: "暂无位置信息",
585
+ // 表格
586
+ configList: "推理配置列表",
587
+ addConfig: "新增配置",
588
+ viewConfig: "查看配置详情",
589
+ updateConfig: "更新配置",
590
+ deleteConfig: "删除配置",
591
+ // 表格列
592
+ id: "ID",
593
+ store: "所属门店",
594
+ content: "配置内容",
595
+ version: "版本",
596
+ created: "创建时间",
597
+ modified: "修改时间",
598
+ operation: "操作",
599
+ // 查看抽屉
600
+ configDetail: "推理配置详情",
601
+ storeName: "所属门店",
602
+ configContent: "配置内容",
603
+ close: "关闭",
604
+ // 提示消息
605
+ loadStoreFailed: "加载门店列表失败",
606
+ getConfigListFailed: "获取推理配置列表失败",
607
+ deleteConfirm: "确定要删除该推理配置吗?",
608
+ deleteSuccess: "删除成功",
609
+ deleteFailed: "删除失败",
610
+ // 新增/更新对话框
611
+ addConfigTitle: "新增推理配置",
612
+ updateConfigTitle: "更新推理配置",
613
+ selectStore: "选择门店",
614
+ selectStorePlaceholder: "请选择门店",
615
+ versionPlaceholder: "请输入版本号",
616
+ saveConfig: "保存配置",
617
+ cancel: "取消",
618
+ allStoreConfigured: "所有门店已生成配置",
619
+ allStoreConfiguredSubtitle: "当前所有门店都已配置推理参数,无需新增配置",
620
+ // 工具栏
621
+ view: "查看",
622
+ update: "更新",
623
+ delete: "删除",
624
+ configId: "配置ID",
625
+ // 更新对话框
626
+ currentVersion: "当前版本",
627
+ updateVersion: "更新版本",
628
+ currentConfig: "当前配置",
629
+ newConfig: "新配置",
630
+ configComparison: "配置内容比较",
631
+ confirmUpdate: "确认更新",
632
+ // 错误消息
633
+ enterVersion: "请输入版本号",
634
+ storeInfoInvalid: "门店信息缺失或无效,请重新选择门店",
635
+ updateFailed: "更新配置失败",
636
+ storeInfoError: "当前配置的门店信息无效",
637
+ getLatestConfigFailed: "获取最新配置失败,门店信息缺失",
638
+ // 版本提示
639
+ versionDifferent: "版本不同:当前版本 {current} 与更新版本 {update} 不同,更新后将新增一条配置记录",
640
+ versionSame: "版本相同:当前版本与更新版本相同,更新后将修改现有配置记录",
641
+ // 成功消息
642
+ saveSuccess: "配置保存成功",
643
+ updateSuccess: "配置更新成功",
644
+ updateNewVersionSuccess: "配置已更新为新版本",
645
+ // 表单验证
646
+ contentFormatError: "配置内容格式不正确,请检查JSON格式"
647
+ },
648
+ menuManage: {
649
+ // 操作按钮
650
+ addMenu: "新增菜单",
651
+ addSubMenu: "新增子菜单",
652
+ view: "查看",
653
+ edit: "编辑",
654
+ delete: "删除",
655
+ expandAll: "展开全部",
656
+ collapseAll: "合并全部",
657
+ // 表格列
658
+ menuList: "菜单列表",
659
+ menuName: "菜单名称",
660
+ menuIcon: "菜单图标",
661
+ sort: "排序",
662
+ menuPath: "菜单路径",
663
+ component: "组件路径",
664
+ componentPath: "组件路径",
665
+ status: "状态",
666
+ operation: "操作",
667
+ enabled: "启用",
668
+ disabled: "停用",
669
+ all: "全部",
670
+ // 搜索
671
+ inputMenuName: "请输入菜单名称",
672
+ selectStatus: "请选择状态",
673
+ // 提示
674
+ statusChangeConfirm: "确定要{action}该菜单吗?",
675
+ statusChangeSuccess: "{action}成功"
676
+ },
677
+ menu: {
678
+ // 表格列
679
+ menuName: "菜单名称",
680
+ menuIcon: "菜单图标",
681
+ sort: "排序",
682
+ menuPath: "菜单路径",
683
+ component: "组件路径",
684
+ status: "状态",
685
+ operation: "操作",
686
+ // 状态值
687
+ enabled: "启用",
688
+ disabled: "停用",
689
+ all: "全部"
690
+ },
691
+ model: {
692
+ // 表格列
693
+ id: "ID",
694
+ name: "模型名称",
695
+ type: "类型",
696
+ version: "版本",
697
+ status: "状态",
698
+ description: "模型简介",
699
+ filePath: "模型文件",
700
+ operation: "操作",
701
+ // 表单
702
+ enterModelName: "请填写模型名称",
703
+ enterModelDesc: "请填写模型简介",
704
+ enterModelFilePath: "请填写模型文件路径",
705
+ selectModel: "请选择模型",
706
+ inputModelName: "请输入模型名称",
707
+ // 操作按钮
708
+ addModel: "新增模型",
709
+ batchDelete: "批量删除模型",
710
+ view: "查看",
711
+ edit: "编辑",
712
+ delete: "删除",
713
+ viewLabel: "查看标签",
714
+ viewImage: "查看图片",
715
+ created: "创建时间",
716
+ modified: "修改时间",
717
+ autoInferencePath: "自动推理路径",
718
+ noRelatedPath: "暂无关联路径",
719
+ // 提示
720
+ enterImagePath: "请输入图片路径",
721
+ selectFolder: "请选择文件夹",
722
+ deleteConfirm: "删除【{name}】模型",
723
+ selectModelToDelete: "请选择要删除的模型",
724
+ deleteSuccess: "成功删除{count}个模型",
725
+ batchDeleteFailed: "批量删除失败"
726
+ },
727
+ modelLog: {
728
+ // 表格列
729
+ id: "日志ID",
730
+ logType: "日志类型",
731
+ content: "日志内容",
732
+ userId: "操作人ID",
733
+ created: "创建时间",
734
+ operation: "操作",
735
+ // 操作按钮
736
+ clearLog: "清除日志",
737
+ clearModelLog: "清除模型日志",
738
+ // 搜索框placeholder
739
+ inputLogType: "请输入日志类型",
740
+ inputUserId: "请输入操作人ID",
741
+ // 提示
742
+ clearLogConfirm: "清除模型日志",
743
+ clearSuccess: "清除成功"
744
+ },
745
+ trainLog: {
746
+ // 表格列
747
+ id: "ID",
748
+ modelId: "模型ID",
749
+ modelName: "模型",
750
+ userId: "用户ID",
751
+ userName: "用户名字",
752
+ status: "状态",
753
+ startTime: "开始时间",
754
+ endTime: "结束时间",
755
+ sourcePath: "资源路径",
756
+ resultPath: "结果路径",
757
+ logFile: "日志文件",
758
+ operation: "操作",
759
+ // 搜索框placeholder
760
+ inputModelId: "请输入模型ID",
761
+ inputModelName: "请输入模型名字",
762
+ selectModelName: "请选择模型",
763
+ inputUserId: "请输入用户ID",
764
+ inputUserName: "请输入用户名字",
765
+ selectStatus: "请选择状态",
766
+ // 操作按钮
767
+ stopTrain: "终止训练",
768
+ // 状态文本
769
+ statusNotStarted: "未开始",
770
+ statusTraining: "训练中",
771
+ statusCompleted: "训练完成",
772
+ statusError: "训练异常",
773
+ statusTerminated: "人为终止",
774
+ statusUnknown: "未知",
775
+ // 提示
776
+ stopTrainConfirm: "确定要终止该训练任务吗?"
777
+ },
778
+ inferenceLog: {
779
+ // 表格列
780
+ label: "标签",
781
+ recognizedLabel: "识别标签名",
782
+ cloudLabel: "云端标签名",
783
+ labelId: "标签ID",
784
+ submittedLabel: "提交的标签名字",
785
+ actualLabel: "实际标签名字",
786
+ tagId: "标签ID",
787
+ model: "模型",
788
+ modelName: "模型名称",
789
+ modelVersion: "模型版本",
790
+ frameTime: "帧时间",
791
+ operation: "操作",
792
+ timeRange: "时间区间",
793
+ sn: "设备序列号",
794
+ cameraId: "摄像头ID",
795
+ camera: "摄像头",
796
+ inferenceTime: "推理时间",
797
+ imageNames: "图片名称",
798
+ imagePath: "图片路径",
799
+ bbox: "边界框",
800
+ totalDetections: "检测总数",
801
+ scenes: "场景",
802
+ slotId: "Slot ID",
803
+ cameraDescription: "摄像头描述",
804
+ // 占位符
805
+ selectLabel: "请选择标签",
806
+ selectModel: "请选择模型",
807
+ selectCamera: "请选择摄像头",
808
+ selectStoreFirst: "请先选择门店",
809
+ to: "至",
810
+ startTime: "开始时间",
811
+ endTime: "结束时间",
812
+ // 门店选择相关
813
+ storeSelection: "门店选择",
814
+ refresh: "刷新",
815
+ searchStore: "搜索门店",
816
+ noAddress: "暂无地址",
817
+ noLocation: "暂无位置",
818
+ noStoreData: "暂无门店数据",
819
+ // 操作按钮
820
+ viewRawImage: "查看原图",
821
+ showAnnotation: "显示标注",
822
+ hideAnnotation: "隐藏标注",
823
+ // 提示消息
824
+ noImage: "暂无图片",
825
+ noRawImage: "暂无原图",
826
+ loadingImage: "图片加载中...",
827
+ imageLoadError: "图片加载失败",
828
+ loadLabelListFailed: "获取标签列表失败",
829
+ loadModelListFailed: "获取模型列表失败"
830
+ },
831
+ channel: {
832
+ channelId: "通道编号",
833
+ available: "可用",
834
+ unavailable: "不可用",
835
+ selectChannel: "请选择摄像头通道"
836
+ },
837
+ buttonManage: {
838
+ id: "ID",
839
+ buttonName: "按钮名称",
840
+ menuName: "所属菜单",
841
+ apiUrl: "API接口",
842
+ explain: "按钮说明",
843
+ operation: "操作",
844
+ // 占位符
845
+ inputButtonName: "请输入按钮名称",
846
+ inputExplain: "请输入按钮说明",
847
+ // 操作按钮
848
+ addButton: "新增按钮",
849
+ edit: "编辑",
850
+ delete: "删除",
851
+ // 标题
852
+ selectMenu: "菜单选择",
853
+ buttonList: "按钮列表",
854
+ // 提示
855
+ noApi: "暂无API",
856
+ loadMenuFailed: "加载菜单数据失败",
857
+ loadButtonListFailed: "获取按钮列表失败",
858
+ deleteConfirm: "确定要删除该按钮吗?",
859
+ deleteSuccess: "删除成功",
860
+ deleteFailed: "删除失败"
861
+ },
862
+ config: {
863
+ id: "ID",
864
+ name: "配置项",
865
+ value: "配置值",
866
+ desc: "配置说明",
867
+ operation: "操作",
868
+ addConfig: "新增配置",
869
+ viewConfig: "查看",
870
+ editConfig: "编辑",
871
+ deleteConfig: "删除",
872
+ batchDeleteConfig: "批量删除",
873
+ inputName: "请输入配置项",
874
+ inputValue: "请输入配置值",
875
+ inputDesc: "请输入配置说明",
876
+ nameRequired: "配置项不能为空",
877
+ valueRequired: "配置值不能为空",
878
+ deleteConfirm: '确定删除配置"{name}"吗?',
879
+ batchDeleteConfirm: "确定删除选中的配置吗?",
880
+ operateSuccess: "{message}配置"
881
+ },
882
+ systemLog: {
883
+ // 页面标题
884
+ title: "系统日志",
885
+ // 表格列
886
+ id: "日志ID",
887
+ username: "用户名",
888
+ api: "API路径",
889
+ method: "请求方法",
890
+ code: "状态码",
891
+ created: "创建时间",
892
+ apiSummary: "接口说明",
893
+ operation: "操作",
894
+ // 操作按钮
895
+ view: "查看",
896
+ delete: "删除",
897
+ batchDelete: "批量删除",
898
+ // 搜索框placeholder
899
+ inputUsername: "请输入用户名",
900
+ inputApi: "请输入API路径(支持模糊搜索)",
901
+ selectMethod: "请选择请求方法",
902
+ inputCode: "请输入状态码",
903
+ // 删除相关
904
+ deleteConfirm: "删除{count}条日志信息",
905
+ deleteSuccess: "删除成功",
906
+ deleteFailed: "删除失败",
907
+ selectLogsToDelete: "请选择要删除的日志",
908
+ // 日期相关
909
+ to: "至",
910
+ startDate: "开始日期",
911
+ endDate: "结束日期"
912
+ },
913
+ materialLibrary: {
914
+ // 表格列
915
+ id: "ID",
916
+ name: "名称",
917
+ path: "素材路径",
918
+ totalNum: "素材数量",
919
+ created: "创建时间",
920
+ operation: "操作",
921
+ // 操作按钮
922
+ addMaterial: "新增素材",
923
+ view: "查看",
924
+ edit: "编辑",
925
+ update: "更新",
926
+ teams: "所属团队",
927
+ viewImages: "查看素材",
928
+ delete: "删除",
929
+ batchDelete: "批量删除",
930
+ // 搜索框placeholder
931
+ inputName: "请输入名称",
932
+ inputPath: "请输入路径",
933
+ // 表单
934
+ selectFolder: "请选择素材目录",
935
+ // 所属团队相关
936
+ selectCompany: "公司",
937
+ company: "公司",
938
+ selectDepartment: "部门",
939
+ department: "部门",
940
+ selectTeam: "团队",
941
+ team: "团队",
942
+ teamPlaceholder: "团队",
943
+ addTeam: "绑定团队",
944
+ boundTeams: "已绑定团队",
945
+ remove: "移除",
946
+ unbind: "解绑",
947
+ // 提示消息
948
+ deleteConfirm: '确定删除素材库"{name}"吗?',
949
+ batchDeleteConfirm: "确定删除素材库吗?",
950
+ batchDeleteSuccess: "成功删除 {count} 个素材库",
951
+ batchDeleteFailed: "批量删除失败",
952
+ syncConfirm: '确定要更新素材库"{name}"吗?将同步目录中的图片到数据库。',
953
+ syncSuccess: "同步成功",
954
+ syncFailed: "同步失败",
955
+ noTeams: "暂无数据",
956
+ loadTeamsFailed: "获取团队列表失败",
957
+ addTeamSuccess: "添加团队成功",
958
+ removeTeamConfirm: '确定解绑团队"{name}"吗?',
959
+ removeTeamSuccess: "移除团队成功",
960
+ removeTeamFailed: "移除团队失败",
961
+ // 图片预览相关
962
+ prevImage: "上一张",
963
+ nextImage: "下一张",
964
+ imageLoadFailed: "图片加载失败",
965
+ materialIdRequired: "素材ID不能为空",
966
+ materialIdMissing: "缺少素材ID参数",
967
+ fetchImageListFailed: "获取图片列表失败",
968
+ initFailed: "页面初始化失败",
969
+ materialLibrary: "素材库",
970
+ switchedToPage: "已切换到第 {page} 页",
971
+ alreadyFirstImage: "已经是第一张图片",
972
+ alreadyLastImage: "已经是最后一张图片"
973
+ },
974
+ common: {
975
+ confirmTitle: "温馨提示",
976
+ confirmContent: "是否{message}?",
977
+ confirm: "确定",
978
+ cancel: "取消",
979
+ operateSuccess: "{message}成功!",
980
+ batchDelete: "批量删除",
981
+ yes: "是",
982
+ no: "否",
983
+ search: "搜索",
984
+ reset: "重置",
985
+ expand: "展开",
986
+ collapse: "合并",
987
+ noData: "暂无数据",
988
+ tip: "提示",
989
+ inputKeywordToFilter: "输入关键字进行过滤",
990
+ expandAll: "展开全部",
991
+ collapseAll: "折叠全部",
992
+ all: "全部",
993
+ back: "返回",
994
+ close: "关闭"
995
+ }
996
+ };