@robot-admin/naive-ui-components 0.10.3 → 0.11.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 (658) hide show
  1. package/CHANGELOG.md +111 -100
  2. package/LICENSE +21 -21
  3. package/README.md +463 -318
  4. package/README_EN.md +404 -0
  5. package/SECURITY.md +23 -0
  6. package/dist/C_ActionBar.cjs +1 -1
  7. package/dist/C_ActionBar.css +46 -48
  8. package/dist/C_ActionBar.d.cts +1 -1
  9. package/dist/C_ActionBar.js +1 -1
  10. package/dist/C_ActionBar2.cjs +1 -0
  11. package/dist/C_ActionBar2.js +1 -2
  12. package/dist/C_AntV.cjs +1 -1
  13. package/dist/C_AntV.css +3 -3
  14. package/dist/C_AntV.d.cts +1 -1
  15. package/dist/C_AntV.js +1 -1
  16. package/dist/C_AntV2.cjs +4 -0
  17. package/dist/C_AntV2.js +3 -4
  18. package/dist/C_AudioPlayer.cjs +1 -1
  19. package/dist/C_AudioPlayer.css +15 -7
  20. package/dist/C_AudioPlayer.d.cts +1 -1
  21. package/dist/C_AudioPlayer.js +1 -1
  22. package/dist/C_AudioPlayer2.cjs +1 -0
  23. package/dist/C_AudioPlayer2.js +1 -2
  24. package/dist/C_AvatarGroup.cjs +1 -1
  25. package/dist/C_AvatarGroup.css +15 -7
  26. package/dist/C_AvatarGroup.d.cts +1 -1
  27. package/dist/C_AvatarGroup2.cjs +1 -0
  28. package/dist/C_AvatarGroup2.js +1 -2
  29. package/dist/C_Barcode.cjs +1 -1
  30. package/dist/C_Barcode.css +0 -2
  31. package/dist/C_Barcode.d.cts +1 -1
  32. package/dist/C_Barcode2.cjs +1 -0
  33. package/dist/C_Barcode2.js +1 -2
  34. package/dist/C_Breadcrumb.cjs +1 -1
  35. package/dist/C_Breadcrumb.css +0 -2
  36. package/dist/C_Breadcrumb.d.cts +2 -2
  37. package/dist/C_Breadcrumb.d.ts +1 -2
  38. package/dist/C_Breadcrumb.js +1 -1
  39. package/dist/C_Breadcrumb2.cjs +1 -0
  40. package/dist/C_Breadcrumb2.js +1 -2
  41. package/dist/C_Captcha.cjs +1 -1
  42. package/dist/C_Captcha.css +46 -21
  43. package/dist/C_Captcha.d.cts +3 -2
  44. package/dist/C_Captcha.d.ts +3 -2
  45. package/dist/C_Captcha.js +1 -1
  46. package/dist/C_Captcha2.cjs +1 -0
  47. package/dist/C_Captcha2.js +1 -2
  48. package/dist/C_Cascade.cjs +1 -1
  49. package/dist/C_Cascade.css +0 -2
  50. package/dist/C_Cascade.d.cts +1 -1
  51. package/dist/C_Cascade.d.ts +1 -1
  52. package/dist/C_Cascade2.cjs +1 -0
  53. package/dist/C_Cascade2.js +1 -2
  54. package/dist/C_Chat.cjs +1 -1
  55. package/dist/C_Chat.css +0 -2
  56. package/dist/C_Chat.d.cts +1 -1
  57. package/dist/C_Chat.d.ts +1 -1
  58. package/dist/C_Chat.js +1 -1
  59. package/dist/C_Chat2.cjs +1 -0
  60. package/dist/C_Chat2.js +1 -2
  61. package/dist/C_City.cjs +1 -1
  62. package/dist/C_City.css +28 -30
  63. package/dist/C_City.d.cts +1 -1
  64. package/dist/C_City.d.ts +1 -1
  65. package/dist/C_City2.cjs +1 -0
  66. package/dist/C_City2.js +1 -2
  67. package/dist/C_Code.cjs +1 -1
  68. package/dist/C_Code.css +241 -4
  69. package/dist/C_Code.d.cts +1 -1
  70. package/dist/C_Code.d.ts +1 -1
  71. package/dist/C_Code.js +1 -1
  72. package/dist/C_Code2.cjs +1 -0
  73. package/dist/C_Code2.js +1 -2
  74. package/dist/C_CollapsePanel.cjs +1 -1
  75. package/dist/C_CollapsePanel.css +12 -6
  76. package/dist/C_CollapsePanel.d.cts +1 -1
  77. package/dist/C_CollapsePanel.js +1 -1
  78. package/dist/C_CollapsePanel2.cjs +1 -0
  79. package/dist/C_CollapsePanel2.js +1 -2
  80. package/dist/C_ContextMenu.cjs +1 -1
  81. package/dist/C_ContextMenu.css +16 -18
  82. package/dist/C_ContextMenu.d.cts +1 -1
  83. package/dist/C_ContextMenu.d.ts +1 -1
  84. package/dist/C_ContextMenu.js +1 -1
  85. package/dist/C_ContextMenu2.cjs +1 -0
  86. package/dist/C_ContextMenu2.js +1 -2
  87. package/dist/C_Cron.cjs +1 -1
  88. package/dist/C_Cron.css +18 -8
  89. package/dist/C_Cron.d.cts +1 -1
  90. package/dist/C_Cron.js +1 -1
  91. package/dist/C_Cron2.cjs +1 -0
  92. package/dist/C_Cron2.js +1 -2
  93. package/dist/C_Date.cjs +1 -1
  94. package/dist/C_Date.css +1 -0
  95. package/dist/C_Date.d.cts +2 -2
  96. package/dist/C_Date.d.ts +2 -2
  97. package/dist/C_Date2.cjs +1 -0
  98. package/dist/C_Date2.js +1 -2
  99. package/dist/C_Draggable.cjs +1 -1
  100. package/dist/C_Draggable.css +9 -5
  101. package/dist/C_Draggable.d.cts +1 -1
  102. package/dist/C_Draggable2.cjs +1 -0
  103. package/dist/C_Draggable2.js +1 -2
  104. package/dist/C_Editor.cjs +1 -1
  105. package/dist/C_Editor.css +80 -67
  106. package/dist/C_Editor.d.cts +1 -1
  107. package/dist/C_Editor.d.ts +1 -1
  108. package/dist/C_Editor2.cjs +1 -0
  109. package/dist/C_Editor2.js +1 -2
  110. package/dist/C_FilePreview.cjs +1 -1
  111. package/dist/C_FilePreview.css +0 -2
  112. package/dist/C_FilePreview.d.cts +1 -1
  113. package/dist/C_FilePreview.js +1 -1
  114. package/dist/C_FilePreview2.cjs +1 -0
  115. package/dist/C_FilePreview2.js +1 -2
  116. package/dist/C_Form.base.css +980 -0
  117. package/dist/C_Form.cjs +1 -1
  118. package/dist/C_Form.css +256 -155
  119. package/dist/C_Form.d.cts +2 -2
  120. package/dist/C_Form.d.ts +2 -2
  121. package/dist/C_Form.js +1 -1
  122. package/dist/C_Form2.cjs +1 -0
  123. package/dist/C_Form2.js +1 -2
  124. package/dist/C_FormSearch.cjs +1 -1
  125. package/dist/C_FormSearch.css +47 -47
  126. package/dist/C_FormSearch.d.cts +2 -2
  127. package/dist/C_FormSearch.d.ts +2 -2
  128. package/dist/C_FormSearch2.cjs +1 -0
  129. package/dist/C_FormSearch2.js +1 -2
  130. package/dist/C_FormulaEditor.cjs +1 -1
  131. package/dist/C_FormulaEditor.css +64 -38
  132. package/dist/C_FormulaEditor.d.cts +1 -1
  133. package/dist/C_FormulaEditor.js +1 -1
  134. package/dist/C_FormulaEditor2.cjs +2 -0
  135. package/dist/C_FormulaEditor2.js +2 -2
  136. package/dist/C_FullCalendar.cjs +1 -1
  137. package/dist/C_FullCalendar.css +0 -2
  138. package/dist/C_FullCalendar.d.cts +1 -1
  139. package/dist/C_FullCalendar2.cjs +1 -0
  140. package/dist/C_FullCalendar2.js +1 -2
  141. package/dist/C_GlobalSearch.cjs +1 -1
  142. package/dist/C_GlobalSearch.css +111 -113
  143. package/dist/C_GlobalSearch.d.cts +1 -1
  144. package/dist/C_GlobalSearch2.cjs +1 -0
  145. package/dist/C_GlobalSearch2.js +1 -2
  146. package/dist/C_Guide.cjs +1 -1
  147. package/dist/C_Guide.css +1 -0
  148. package/dist/C_Guide.d.cts +1 -1
  149. package/dist/C_Guide.d.ts +1 -1
  150. package/dist/C_Guide.js +1 -1
  151. package/dist/C_Guide2.cjs +1 -0
  152. package/dist/C_Guide2.js +1 -2
  153. package/dist/C_Icon.cjs +1 -1
  154. package/dist/C_Icon.css +58 -0
  155. package/dist/C_Icon.d.cts +1 -1
  156. package/dist/C_Icon.d.ts +1 -1
  157. package/dist/C_Icon2.cjs +1 -0
  158. package/dist/C_Icon2.js +1 -2
  159. package/dist/C_ImageCropper.cjs +1 -1
  160. package/dist/C_ImageCropper.css +0 -2
  161. package/dist/C_ImageCropper.d.cts +1 -1
  162. package/dist/C_ImageCropper.js +1 -1
  163. package/dist/C_ImageCropper2.cjs +1 -0
  164. package/dist/C_ImageCropper2.js +1 -2
  165. package/dist/C_Language.cjs +1 -1
  166. package/dist/C_Language.css +1 -0
  167. package/dist/C_Language.d.cts +1 -1
  168. package/dist/C_Language.d.ts +1 -1
  169. package/dist/C_Language.js +1 -1
  170. package/dist/C_Language2.cjs +1 -0
  171. package/dist/C_Language2.js +1 -2
  172. package/dist/C_Login.cjs +1 -1
  173. package/dist/C_Login.css +92 -76
  174. package/dist/C_Login.d.cts +1 -1
  175. package/dist/C_Login.d.ts +1 -1
  176. package/dist/C_Login.js +1 -1
  177. package/dist/C_Login2.cjs +1 -0
  178. package/dist/C_Login2.js +1 -2
  179. package/dist/C_Map.cjs +1 -1
  180. package/dist/C_Map.css +665 -5
  181. package/dist/C_Map.d.cts +1 -1
  182. package/dist/C_Map2.cjs +1 -0
  183. package/dist/C_Map2.js +1 -2
  184. package/dist/C_Markdown.cjs +1 -1
  185. package/dist/C_Markdown.css +940 -35
  186. package/dist/C_Markdown.d.cts +1 -1
  187. package/dist/C_Markdown.d.ts +1 -1
  188. package/dist/C_Markdown2.cjs +1 -0
  189. package/dist/C_Markdown2.js +1 -2
  190. package/dist/C_Menu.cjs +1 -1
  191. package/dist/C_Menu.css +1 -0
  192. package/dist/C_Menu.d.cts +3 -3
  193. package/dist/C_Menu.d.ts +3 -4
  194. package/dist/C_Menu.js +1 -1
  195. package/dist/C_Menu2.cjs +1 -0
  196. package/dist/C_Menu2.js +1 -2
  197. package/dist/C_NotificationCenter.cjs +1 -1
  198. package/dist/C_NotificationCenter.css +95 -47
  199. package/dist/C_NotificationCenter.d.cts +1 -1
  200. package/dist/C_NotificationCenter.js +1 -1
  201. package/dist/C_NotificationCenter2.cjs +1 -0
  202. package/dist/C_NotificationCenter2.js +1 -2
  203. package/dist/C_OrgChart.cjs +1 -1
  204. package/dist/C_OrgChart.css +6 -4
  205. package/dist/C_OrgChart.d.cts +1 -1
  206. package/dist/C_OrgChart.d.ts +1 -1
  207. package/dist/C_OrgChart2.cjs +1 -0
  208. package/dist/C_OrgChart2.js +1 -2
  209. package/dist/C_Progress.cjs +1 -1
  210. package/dist/C_Progress.css +1 -0
  211. package/dist/C_Progress.d.cts +1 -1
  212. package/dist/C_Progress.d.ts +1 -1
  213. package/dist/C_Progress2.cjs +1 -0
  214. package/dist/C_Progress2.js +1 -2
  215. package/dist/C_QRCode.cjs +1 -1
  216. package/dist/C_QRCode.css +8 -10
  217. package/dist/C_QRCode.d.cts +1 -1
  218. package/dist/C_QRCode2.cjs +1 -0
  219. package/dist/C_QRCode2.js +1 -2
  220. package/dist/C_Signature.cjs +1 -1
  221. package/dist/C_Signature.css +0 -2
  222. package/dist/C_Signature.d.cts +1 -1
  223. package/dist/C_Signature.js +1 -1
  224. package/dist/C_Signature2.cjs +1 -0
  225. package/dist/C_Signature2.js +1 -2
  226. package/dist/C_Skeleton.cjs +1 -1
  227. package/dist/C_Skeleton.css +0 -2
  228. package/dist/C_Skeleton.d.cts +1 -1
  229. package/dist/C_Skeleton.d.ts +1 -1
  230. package/dist/C_Skeleton2.cjs +1 -0
  231. package/dist/C_Skeleton2.js +1 -2
  232. package/dist/C_SplitPane.cjs +1 -1
  233. package/dist/C_SplitPane.css +27 -11
  234. package/dist/C_SplitPane.d.cts +1 -1
  235. package/dist/C_SplitPane.js +1 -1
  236. package/dist/C_SplitPane2.cjs +1 -0
  237. package/dist/C_SplitPane2.js +1 -2
  238. package/dist/C_Steps.cjs +1 -1
  239. package/dist/C_Steps.css +37 -39
  240. package/dist/C_Steps.d.cts +1 -1
  241. package/dist/C_Steps.d.ts +1 -1
  242. package/dist/C_Steps2.cjs +1 -0
  243. package/dist/C_Steps2.js +1 -2
  244. package/dist/C_Table.base.css +1588 -0
  245. package/dist/C_Table.cjs +1 -1
  246. package/dist/C_Table.css +1202 -112
  247. package/dist/C_Table.d.cts +2 -2
  248. package/dist/C_Table.d.ts +11 -2
  249. package/dist/C_Table.js +1 -1
  250. package/dist/C_TagsView.cjs +1 -1
  251. package/dist/C_TagsView.css +44 -40
  252. package/dist/C_TagsView.d.cts +2 -2
  253. package/dist/C_TagsView.d.ts +2 -3
  254. package/dist/C_TagsView.js +1 -1
  255. package/dist/C_TagsView2.cjs +1 -0
  256. package/dist/C_TagsView2.js +1 -2
  257. package/dist/C_Theme.cjs +1 -1
  258. package/dist/C_Theme.css +1 -0
  259. package/dist/C_Theme.d.cts +1 -1
  260. package/dist/C_Theme.d.ts +1 -1
  261. package/dist/C_Theme.js +1 -1
  262. package/dist/C_Theme2.cjs +1 -0
  263. package/dist/C_Theme2.js +1 -2
  264. package/dist/C_Time.cjs +1 -1
  265. package/dist/C_Time.css +0 -2
  266. package/dist/C_Time.d.cts +2 -2
  267. package/dist/C_Time.d.ts +2 -2
  268. package/dist/C_Time2.cjs +1 -0
  269. package/dist/C_Time2.js +1 -2
  270. package/dist/C_Timeline.cjs +1 -1
  271. package/dist/C_Timeline.css +44 -46
  272. package/dist/C_Timeline.d.cts +1 -1
  273. package/dist/C_Timeline.js +1 -1
  274. package/dist/C_Timeline2.cjs +1 -0
  275. package/dist/C_Timeline2.js +1 -2
  276. package/dist/C_Transfer.cjs +1 -1
  277. package/dist/C_Transfer.css +21 -9
  278. package/dist/C_Transfer.d.cts +1 -1
  279. package/dist/C_Transfer.js +1 -1
  280. package/dist/C_Transfer2.cjs +1 -0
  281. package/dist/C_Transfer2.js +1 -2
  282. package/dist/C_Tree.cjs +1 -1
  283. package/dist/C_Tree.css +0 -2
  284. package/dist/C_Tree.d.cts +1 -1
  285. package/dist/C_Tree.js +1 -1
  286. package/dist/C_Tree2.cjs +1 -0
  287. package/dist/C_Tree2.js +1 -2
  288. package/dist/C_Upload.cjs +1 -1
  289. package/dist/C_Upload.css +17 -17
  290. package/dist/C_Upload.d.cts +1 -1
  291. package/dist/C_Upload.js +1 -1
  292. package/dist/C_Upload2.cjs +1 -0
  293. package/dist/C_Upload2.js +1 -25
  294. package/dist/C_VideoPlayer.cjs +1 -1
  295. package/dist/C_VideoPlayer.css +35 -24
  296. package/dist/C_VideoPlayer.d.cts +2 -2
  297. package/dist/C_VideoPlayer.d.ts +2 -2
  298. package/dist/C_VideoPlayer.js +1 -1
  299. package/dist/C_VideoPlayer2.cjs +3 -0
  300. package/dist/C_VideoPlayer2.js +3 -4
  301. package/dist/C_VtableGantt.cjs +1 -1
  302. package/dist/C_VtableGantt.css +15 -7
  303. package/dist/C_VtableGantt.d.cts +1 -1
  304. package/dist/C_VtableGantt.d.ts +1 -1
  305. package/dist/C_VtableGantt.js +1 -1
  306. package/dist/C_VtableGantt2.cjs +1 -0
  307. package/dist/C_VtableGantt2.js +1 -2
  308. package/dist/C_WaterFall.cjs +1 -1
  309. package/dist/C_WaterFall.css +15 -17
  310. package/dist/C_WaterFall.d.cts +1 -1
  311. package/dist/C_WaterFall2.cjs +1 -0
  312. package/dist/C_WaterFall2.js +1 -2
  313. package/dist/C_WorkFlow.cjs +1 -1
  314. package/dist/C_WorkFlow.css +257 -197
  315. package/dist/C_WorkFlow.d.cts +1 -1
  316. package/dist/C_WorkFlow.js +1 -1
  317. package/dist/C_WorkFlow2.cjs +1 -0
  318. package/dist/C_WorkFlow2.js +1 -2
  319. package/dist/city.cjs +1 -0
  320. package/dist/city.js +1 -2
  321. package/dist/config.cjs +1 -0
  322. package/dist/config.d.cts +33 -0
  323. package/dist/config.d.ts +33 -0
  324. package/dist/config.js +1 -0
  325. package/dist/constants.d.cts +272 -0
  326. package/dist/constants.d.ts +6 -7
  327. package/dist/constants2.d.cts +177 -0
  328. package/dist/constants2.d.ts +5 -6
  329. package/dist/constants3.d.cts +479 -0
  330. package/dist/constants3.d.ts +17 -13
  331. package/dist/constants4.d.cts +420 -0
  332. package/dist/constants4.d.ts +30 -40
  333. package/dist/constants5.d.cts +491 -0
  334. package/dist/constants5.d.ts +22 -6
  335. package/dist/data.cjs +1 -0
  336. package/dist/data.d.cts +67 -0
  337. package/dist/data.d.ts +13 -13
  338. package/dist/data.js +1 -0
  339. package/dist/export-helper.cjs +1 -0
  340. package/dist/helpers.cjs +1 -0
  341. package/dist/helpers.js +1 -0
  342. package/dist/html.cjs +1 -0
  343. package/dist/html.js +1 -0
  344. package/dist/images/marker-icon-2x.png +0 -0
  345. package/dist/images/marker-icon.png +0 -0
  346. package/dist/images/marker-shadow.png +0 -0
  347. package/dist/index.cjs +1 -2
  348. package/dist/index.d.cts +60 -99
  349. package/dist/index.d.ts +41 -83
  350. package/dist/index.js +1 -2
  351. package/dist/index.vue.d.cts +79 -0
  352. package/dist/index.vue.d.ts +3 -4
  353. package/dist/index10.vue.d.cts +47 -0
  354. package/dist/index10.vue.d.ts +80 -40
  355. package/dist/index11.vue.d.cts +88 -0
  356. package/dist/index11.vue.d.ts +68 -78
  357. package/dist/index12.vue.d.cts +79 -0
  358. package/dist/index12.vue.d.ts +49 -45
  359. package/dist/index13.vue.d.cts +64 -0
  360. package/dist/index13.vue.d.ts +99 -34
  361. package/dist/index14.vue.d.cts +106 -0
  362. package/dist/index14.vue.d.ts +82 -99
  363. package/dist/index15.vue.d.cts +91 -0
  364. package/dist/index15.vue.d.ts +25 -83
  365. package/dist/index16.vue.d.cts +34 -0
  366. package/dist/index16.vue.d.ts +113 -24
  367. package/dist/index17.vue.d.cts +124 -0
  368. package/dist/index17.vue.d.ts +76 -110
  369. package/dist/index18.vue.d.cts +83 -0
  370. package/dist/index18.vue.d.ts +67 -73
  371. package/dist/index19.vue.d.cts +101 -0
  372. package/dist/index19.vue.d.ts +93 -59
  373. package/dist/index2.vue.d.cts +82 -0
  374. package/dist/index2.vue.d.ts +1 -2
  375. package/dist/index20.vue.d.cts +54 -0
  376. package/dist/index20.vue.d.ts +40 -88
  377. package/dist/index21.vue.d.cts +103 -0
  378. package/dist/index21.vue.d.ts +89 -41
  379. package/dist/index22.vue.d.cts +45 -0
  380. package/dist/index22.vue.d.ts +37 -96
  381. package/dist/index23.vue.d.cts +19 -0
  382. package/dist/index23.vue.d.ts +8 -35
  383. package/dist/{index28.vue.d.ts → index24.vue.d.cts} +5 -6
  384. package/dist/index24.vue.d.ts +650 -86
  385. package/dist/index25.vue.d.cts +96 -0
  386. package/dist/index25.vue.d.ts +86 -10
  387. package/dist/index26.vue.d.cts +111 -0
  388. package/dist/index26.vue.d.ts +3 -4
  389. package/dist/index27.vue.d.cts +80 -0
  390. package/dist/index27.vue.d.ts +3 -4
  391. package/dist/index3.vue.d.cts +87 -0
  392. package/dist/index3.vue.d.ts +2 -3
  393. package/dist/index4.vue.d.cts +37 -0
  394. package/dist/index4.vue.d.ts +5 -6
  395. package/dist/index5.vue.d.cts +133 -0
  396. package/dist/index5.vue.d.ts +2 -3
  397. package/dist/index6.vue.d.cts +29 -0
  398. package/dist/index6.vue.d.ts +25 -38
  399. package/dist/index7.vue.d.cts +32 -0
  400. package/dist/index7.vue.d.ts +117 -23
  401. package/dist/index8.vue.d.cts +127 -0
  402. package/dist/index8.vue.d.ts +17 -111
  403. package/dist/index9.vue.d.cts +34 -0
  404. package/dist/index9.vue.d.ts +38 -26
  405. package/dist/{menuAdapter.d.ts → public.d.ts} +2 -3
  406. package/dist/resolver.cjs +1 -2
  407. package/dist/resolver.d.cts +6 -4
  408. package/dist/resolver.d.ts +6 -4
  409. package/dist/resolver.js +1 -2
  410. package/dist/storage.cjs +1 -0
  411. package/dist/storage.js +1 -2
  412. package/dist/style.css +9864 -7702
  413. package/dist/types.d.cts +107 -0
  414. package/dist/types.d.ts +58 -0
  415. package/dist/types2.d.cts +58 -0
  416. package/dist/useCalendarEvents.d.cts +150 -0
  417. package/dist/useCalendarEvents.d.ts +3 -4
  418. package/dist/useCollapsePanel.d.cts +133 -0
  419. package/dist/useCollapsePanel.d.ts +1 -2
  420. package/dist/useCropperCore.d.cts +104 -0
  421. package/dist/useCropperCore.d.ts +12 -10
  422. package/dist/useDraggableLayout.d.cts +196 -0
  423. package/dist/useDraggableLayout.d.ts +18 -16
  424. package/dist/useDynamicFormState.d.cts +749 -0
  425. package/dist/useDynamicFormState.d.ts +234 -112
  426. package/dist/useEdgeInteraction.d.cts +324 -0
  427. package/dist/useEdgeInteraction.d.ts +6 -7
  428. package/dist/useFullscreen.d.cts +165 -0
  429. package/dist/useFullscreen.d.ts +1 -2
  430. package/dist/useGlobalSearch.d.cts +110 -0
  431. package/dist/useGlobalSearch.d.ts +17 -9
  432. package/dist/useInfiniteScroll.d.cts +177 -0
  433. package/dist/useInfiniteScroll.d.ts +11 -3
  434. package/dist/useQRCode.d.cts +89 -0
  435. package/dist/useQRCode.d.ts +7 -5
  436. package/dist/useSearchState.d.cts +871 -0
  437. package/dist/useSearchState.d.ts +828 -28
  438. package/dist/useSignatureHistory.d.cts +197 -0
  439. package/dist/useSignatureHistory.d.ts +9 -4
  440. package/dist/useSplitResize.d.cts +157 -0
  441. package/dist/useSplitResize.d.ts +3 -4
  442. package/dist/useTableQuery.cjs +3 -0
  443. package/dist/{useModalEdit.d.ts → useTableQuery.d.cts} +624 -211
  444. package/dist/useTableQuery.d.ts +1721 -0
  445. package/dist/useTableQuery.js +3 -0
  446. package/dist/useTimeSelection.d.cts +116 -0
  447. package/dist/useTimeSelection.d.ts +19 -8
  448. package/dist/useTreeOperations.d.cts +185 -0
  449. package/dist/useTreeOperations.d.ts +14 -12
  450. package/dist/useWorkflowValidation.d.cts +1051 -0
  451. package/dist/useWorkflowValidation.d.ts +66 -67
  452. package/dist/verification.d.cts +58 -0
  453. package/dist/verification.d.ts +58 -0
  454. package/package.json +101 -69
  455. package/dist/C_ActionBar-BAcfOfRw.css.map +0 -1
  456. package/dist/C_ActionBar-DG2HW7t5.css.map +0 -1
  457. package/dist/C_ActionBar.js.map +0 -1
  458. package/dist/C_ActionBar2.js.map +0 -1
  459. package/dist/C_AntV-D_jTK8oZ.css.map +0 -1
  460. package/dist/C_AntV-DanTAq22.css.map +0 -1
  461. package/dist/C_AntV.js.map +0 -1
  462. package/dist/C_AntV2.js.map +0 -1
  463. package/dist/C_AudioPlayer-BnYIJXPD.css.map +0 -1
  464. package/dist/C_AudioPlayer-ldTy9Y34.css.map +0 -1
  465. package/dist/C_AudioPlayer.js.map +0 -1
  466. package/dist/C_AudioPlayer2.js.map +0 -1
  467. package/dist/C_AvatarGroup-B9d-GJ9c.css.map +0 -1
  468. package/dist/C_AvatarGroup-SIzxuuZr.css.map +0 -1
  469. package/dist/C_AvatarGroup.js.map +0 -1
  470. package/dist/C_AvatarGroup2.js.map +0 -1
  471. package/dist/C_Barcode-CAU2mFcx.css.map +0 -1
  472. package/dist/C_Barcode-D2oJaEg3.css.map +0 -1
  473. package/dist/C_Barcode.js.map +0 -1
  474. package/dist/C_Barcode2.js.map +0 -1
  475. package/dist/C_Breadcrumb-BiH0d9AI.css.map +0 -1
  476. package/dist/C_Breadcrumb-Bqqrl8nX.css.map +0 -1
  477. package/dist/C_Breadcrumb.js.map +0 -1
  478. package/dist/C_Breadcrumb2.js.map +0 -1
  479. package/dist/C_Captcha-B3yrtG7t.css.map +0 -1
  480. package/dist/C_Captcha-D4hDdWDu.css.map +0 -1
  481. package/dist/C_Captcha.js.map +0 -1
  482. package/dist/C_Captcha2.js.map +0 -1
  483. package/dist/C_Cascade-CmCrLVft.css.map +0 -1
  484. package/dist/C_Cascade-U6A5AJJb.css.map +0 -1
  485. package/dist/C_Cascade.js.map +0 -1
  486. package/dist/C_Cascade2.js.map +0 -1
  487. package/dist/C_Chat-CF1SU7mc.css.map +0 -1
  488. package/dist/C_Chat-DeUv6uuI.css.map +0 -1
  489. package/dist/C_Chat.js.map +0 -1
  490. package/dist/C_Chat2.js.map +0 -1
  491. package/dist/C_City-DdkX6u64.css.map +0 -1
  492. package/dist/C_City-iP-dIvui.css.map +0 -1
  493. package/dist/C_City.js.map +0 -1
  494. package/dist/C_City2.js.map +0 -1
  495. package/dist/C_Code-BWmJMNS7.css.map +0 -1
  496. package/dist/C_Code-k14vjgVl.css.map +0 -1
  497. package/dist/C_Code.js.map +0 -1
  498. package/dist/C_Code2.js.map +0 -1
  499. package/dist/C_CollapsePanel-BSKcWSmY.css.map +0 -1
  500. package/dist/C_CollapsePanel-DRvRq8tB.css.map +0 -1
  501. package/dist/C_CollapsePanel.js.map +0 -1
  502. package/dist/C_CollapsePanel2.js.map +0 -1
  503. package/dist/C_ContextMenu-Bn_uhJSo.css.map +0 -1
  504. package/dist/C_ContextMenu-C9iuxG2n.css.map +0 -1
  505. package/dist/C_ContextMenu.js.map +0 -1
  506. package/dist/C_ContextMenu2.js.map +0 -1
  507. package/dist/C_Cron-BIQ2By9v.css.map +0 -1
  508. package/dist/C_Cron-BNSAGD6A.css.map +0 -1
  509. package/dist/C_Cron.js.map +0 -1
  510. package/dist/C_Cron2.js.map +0 -1
  511. package/dist/C_Date.js.map +0 -1
  512. package/dist/C_Date2.js.map +0 -1
  513. package/dist/C_Draggable-BDAbk4s5.css.map +0 -1
  514. package/dist/C_Draggable-UhfDLXop.css.map +0 -1
  515. package/dist/C_Draggable.js.map +0 -1
  516. package/dist/C_Draggable2.js.map +0 -1
  517. package/dist/C_Editor-CZOaChru.css.map +0 -1
  518. package/dist/C_Editor-kJAQq5z6.css.map +0 -1
  519. package/dist/C_Editor.js.map +0 -1
  520. package/dist/C_Editor2.js.map +0 -1
  521. package/dist/C_FilePreview-Bs_omgJS.css.map +0 -1
  522. package/dist/C_FilePreview-DbwoyF2j.css.map +0 -1
  523. package/dist/C_FilePreview.js.map +0 -1
  524. package/dist/C_FilePreview2.js.map +0 -1
  525. package/dist/C_Form-B_2ql62V.css.map +0 -1
  526. package/dist/C_Form-CX-7xsz3.css.map +0 -1
  527. package/dist/C_Form.js.map +0 -1
  528. package/dist/C_Form2.js.map +0 -1
  529. package/dist/C_FormSearch-C3F8peAY.css.map +0 -1
  530. package/dist/C_FormSearch-qW56bJPo.css.map +0 -1
  531. package/dist/C_FormSearch.js.map +0 -1
  532. package/dist/C_FormSearch2.js.map +0 -1
  533. package/dist/C_FormulaEditor-ChOvDbsZ.css.map +0 -1
  534. package/dist/C_FormulaEditor-mfiIUDY4.css.map +0 -1
  535. package/dist/C_FormulaEditor.js.map +0 -1
  536. package/dist/C_FormulaEditor2.js.map +0 -1
  537. package/dist/C_FullCalendar-C2nsqrgS.css.map +0 -1
  538. package/dist/C_FullCalendar-DdFtXVhy.css.map +0 -1
  539. package/dist/C_FullCalendar.js.map +0 -1
  540. package/dist/C_FullCalendar2.js.map +0 -1
  541. package/dist/C_GlobalSearch-Dq4Wo01K.css.map +0 -1
  542. package/dist/C_GlobalSearch-RB7J43gu.css.map +0 -1
  543. package/dist/C_GlobalSearch.js.map +0 -1
  544. package/dist/C_GlobalSearch2.js.map +0 -1
  545. package/dist/C_Guide.js.map +0 -1
  546. package/dist/C_Guide2.js.map +0 -1
  547. package/dist/C_Icon.js.map +0 -1
  548. package/dist/C_Icon2.js.map +0 -1
  549. package/dist/C_ImageCropper-CdTX2nxU.css.map +0 -1
  550. package/dist/C_ImageCropper-ilOqPklJ.css.map +0 -1
  551. package/dist/C_ImageCropper.js.map +0 -1
  552. package/dist/C_ImageCropper2.js.map +0 -1
  553. package/dist/C_Language.js.map +0 -1
  554. package/dist/C_Language2.js.map +0 -1
  555. package/dist/C_Login-B3qYkLrN.css.map +0 -1
  556. package/dist/C_Login-xMI1_ojE.css.map +0 -1
  557. package/dist/C_Login.js.map +0 -1
  558. package/dist/C_Login2.js.map +0 -1
  559. package/dist/C_Map-CWMMN58_.css.map +0 -1
  560. package/dist/C_Map-xSR2H-9o.css.map +0 -1
  561. package/dist/C_Map.js.map +0 -1
  562. package/dist/C_Map2.js.map +0 -1
  563. package/dist/C_Markdown-C7lTVJ1S.css.map +0 -1
  564. package/dist/C_Markdown-CZDm_baQ.css.map +0 -1
  565. package/dist/C_Markdown.js.map +0 -1
  566. package/dist/C_Markdown2.js.map +0 -1
  567. package/dist/C_Menu.js.map +0 -1
  568. package/dist/C_Menu2.js.map +0 -1
  569. package/dist/C_NotificationCenter-D7GGGWg7.css.map +0 -1
  570. package/dist/C_NotificationCenter-SSmeHA45.css.map +0 -1
  571. package/dist/C_NotificationCenter.js.map +0 -1
  572. package/dist/C_NotificationCenter2.js.map +0 -1
  573. package/dist/C_OrgChart-ChZu346B.css.map +0 -1
  574. package/dist/C_OrgChart-DqBufOv5.css.map +0 -1
  575. package/dist/C_OrgChart.js.map +0 -1
  576. package/dist/C_OrgChart2.js.map +0 -1
  577. package/dist/C_Progress.js.map +0 -1
  578. package/dist/C_Progress2.js.map +0 -1
  579. package/dist/C_QRCode-B_1lHUdx.css.map +0 -1
  580. package/dist/C_QRCode-CuQRYu0s.css.map +0 -1
  581. package/dist/C_QRCode.js.map +0 -1
  582. package/dist/C_QRCode2.js.map +0 -1
  583. package/dist/C_Signature-Bp-RBpAl.css.map +0 -1
  584. package/dist/C_Signature-Cb2VW1ok.css.map +0 -1
  585. package/dist/C_Signature.js.map +0 -1
  586. package/dist/C_Signature2.js.map +0 -1
  587. package/dist/C_Skeleton-BNPbaut7.css.map +0 -1
  588. package/dist/C_Skeleton-Djsjw8XY.css.map +0 -1
  589. package/dist/C_Skeleton.js.map +0 -1
  590. package/dist/C_Skeleton2.js.map +0 -1
  591. package/dist/C_SplitPane-CgGWYsRE.css.map +0 -1
  592. package/dist/C_SplitPane-DGf6WEeR.css.map +0 -1
  593. package/dist/C_SplitPane.js.map +0 -1
  594. package/dist/C_SplitPane2.js.map +0 -1
  595. package/dist/C_Steps-27Exh7PM.css.map +0 -1
  596. package/dist/C_Steps-DU9ZsFrs.css.map +0 -1
  597. package/dist/C_Steps.js.map +0 -1
  598. package/dist/C_Steps2.js.map +0 -1
  599. package/dist/C_Table--kbQaaBv.css.map +0 -1
  600. package/dist/C_Table-D631kdXC.css.map +0 -1
  601. package/dist/C_Table.js.map +0 -1
  602. package/dist/C_Table2.js +0 -4
  603. package/dist/C_Table2.js.map +0 -1
  604. package/dist/C_TagsView-BN8vMRsY.css.map +0 -1
  605. package/dist/C_TagsView-s1dnSJAV.css.map +0 -1
  606. package/dist/C_TagsView.js.map +0 -1
  607. package/dist/C_TagsView2.js.map +0 -1
  608. package/dist/C_Theme.js.map +0 -1
  609. package/dist/C_Theme2.js.map +0 -1
  610. package/dist/C_Time-BQ9PGy8B.css.map +0 -1
  611. package/dist/C_Time-CO73krC6.css.map +0 -1
  612. package/dist/C_Time.js.map +0 -1
  613. package/dist/C_Time2.js.map +0 -1
  614. package/dist/C_Timeline-4rk0Dzgn.css.map +0 -1
  615. package/dist/C_Timeline-DdESmqwL.css.map +0 -1
  616. package/dist/C_Timeline.js.map +0 -1
  617. package/dist/C_Timeline2.js.map +0 -1
  618. package/dist/C_Transfer-B-vjvhjI.css.map +0 -1
  619. package/dist/C_Transfer-EzdHzZNv.css.map +0 -1
  620. package/dist/C_Transfer.js.map +0 -1
  621. package/dist/C_Transfer2.js.map +0 -1
  622. package/dist/C_Tree-CsXgGfhn.css.map +0 -1
  623. package/dist/C_Tree-P7eRpnOa.css.map +0 -1
  624. package/dist/C_Tree.js.map +0 -1
  625. package/dist/C_Tree2.js.map +0 -1
  626. package/dist/C_Upload-CHjiVVh7.css.map +0 -1
  627. package/dist/C_Upload-DE3OLsZD.css.map +0 -1
  628. package/dist/C_Upload.js.map +0 -1
  629. package/dist/C_Upload2.js.map +0 -1
  630. package/dist/C_VideoPlayer-CnaNOFtW.css.map +0 -1
  631. package/dist/C_VideoPlayer-cnP88zNV.css.map +0 -1
  632. package/dist/C_VideoPlayer.js.map +0 -1
  633. package/dist/C_VideoPlayer2.js.map +0 -1
  634. package/dist/C_VtableGantt-CZlJgvpC.css.map +0 -1
  635. package/dist/C_VtableGantt-DKfQkql0.css.map +0 -1
  636. package/dist/C_VtableGantt.js.map +0 -1
  637. package/dist/C_VtableGantt2.js.map +0 -1
  638. package/dist/C_WaterFall-BJ_39ext.css.map +0 -1
  639. package/dist/C_WaterFall-cYc1vntE.css.map +0 -1
  640. package/dist/C_WaterFall.js.map +0 -1
  641. package/dist/C_WaterFall2.js.map +0 -1
  642. package/dist/C_WorkFlow-BFzRGGhJ.css.map +0 -1
  643. package/dist/C_WorkFlow-DSyCOvRp.css.map +0 -1
  644. package/dist/C_WorkFlow.js.map +0 -1
  645. package/dist/C_WorkFlow2.js.map +0 -1
  646. package/dist/_shared.cjs +0 -1
  647. package/dist/_shared.d.cts +0 -2
  648. package/dist/_shared.d.ts +0 -2
  649. package/dist/_shared.js +0 -1
  650. package/dist/city.js.map +0 -1
  651. package/dist/index.cjs.map +0 -1
  652. package/dist/index.js.map +0 -1
  653. package/dist/menuAdapter.js +0 -2
  654. package/dist/menuAdapter.js.map +0 -1
  655. package/dist/resolver.cjs.map +0 -1
  656. package/dist/resolver.js.map +0 -1
  657. package/dist/storage.js.map +0 -1
  658. /package/dist/{chunk.js → chunk.cjs} +0 -0
package/dist/C_Login.css CHANGED
@@ -7,7 +7,7 @@
7
7
  * }
8
8
  */
9
9
  /* ===== CSS 变量默认值(暗色玻璃风格) ===== */
10
- .c-login-panel[data-v-c3995da6] {
10
+ .c-login-panel[data-v-a14d06fd] {
11
11
  /* 面板 */
12
12
  --cl-panel-bg: rgba(255, 255, 255, 0.1);
13
13
  --cl-panel-border: rgba(255, 255, 255, 0.18);
@@ -56,7 +56,7 @@
56
56
  }
57
57
 
58
58
  /* ===== 面板容器 ===== */
59
- .c-login-panel[data-v-c3995da6] {
59
+ .c-login-panel[data-v-a14d06fd] {
60
60
  width: var(--cl-panel-width);
61
61
  background: var(--cl-panel-bg);
62
62
  border: 1px solid var(--cl-panel-border);
@@ -68,9 +68,8 @@
68
68
  position: relative;
69
69
  transition: box-shadow 0.3s ease;
70
70
  /* 顶部光泽线 */
71
- /* 玻璃内衬 */
72
71
  }
73
- .c-login-panel[data-v-c3995da6]::before {
72
+ .c-login-panel[data-v-a14d06fd]::before {
74
73
  content: "";
75
74
  position: absolute;
76
75
  top: 0;
@@ -80,7 +79,10 @@
80
79
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0) 100%);
81
80
  pointer-events: none;
82
81
  }
83
- .c-login-panel[data-v-c3995da6]::after {
82
+ .c-login-panel[data-v-a14d06fd] {
83
+ /* 玻璃内衬 */
84
+ }
85
+ .c-login-panel[data-v-a14d06fd]::after {
84
86
  content: "";
85
87
  position: absolute;
86
88
  inset: 0;
@@ -89,19 +91,19 @@
89
91
  border-radius: inherit;
90
92
  z-index: 0;
91
93
  }
92
- .c-login-panel[data-v-c3995da6] > * {
94
+ .c-login-panel[data-v-a14d06fd] > * {
93
95
  position: relative;
94
96
  z-index: 1;
95
97
  }
96
98
 
97
99
  /* ===== Header ===== */
98
- .c-login__header[data-v-c3995da6] {
100
+ .c-login__header[data-v-a14d06fd] {
99
101
  text-align: center;
100
102
  margin-bottom: 10px;
101
103
  }
102
104
 
103
105
  /* ===== 返回按钮(登录/注册下方块级按钮) ===== */
104
- .c-login__back-btn[data-v-c3995da6] {
106
+ .c-login__back-btn[data-v-a14d06fd] {
105
107
  margin-top: 10px;
106
108
  height: var(--cl-btn-height) !important;
107
109
  border-radius: var(--cl-btn-radius) !important;
@@ -113,41 +115,41 @@
113
115
  letter-spacing: 2px;
114
116
  transition: all 0.25s ease !important;
115
117
  }
116
- .c-login__back-btn[data-v-c3995da6]:hover {
118
+ .c-login__back-btn[data-v-a14d06fd]:hover {
117
119
  background: rgba(255, 255, 255, 0.06) !important;
118
120
  border-color: var(--cl-input-underline-hover) !important;
119
121
  color: var(--cl-text-primary) !important;
120
122
  }
121
- .c-login__logo[data-v-c3995da6] {
123
+ .c-login__logo[data-v-a14d06fd] {
122
124
  display: flex;
123
125
  justify-content: center;
124
126
  margin-bottom: 4px;
125
127
  }
126
- .c-login__logo .c-login__logo-icon[data-v-c3995da6] {
128
+ .c-login__logo .c-login__logo-icon[data-v-a14d06fd] {
127
129
  color: var(--cl-text-primary);
128
130
  filter: drop-shadow(0 2px 8px rgba(24, 89, 233, 0.4));
129
131
  }
130
- .c-login__title[data-v-c3995da6] {
132
+ .c-login__title[data-v-a14d06fd] {
131
133
  margin: 0 0 2px;
132
134
  font-size: 20px;
133
135
  font-weight: 600;
134
136
  color: var(--cl-text-primary);
135
137
  letter-spacing: 0.5px;
136
138
  }
137
- .c-login__subtitle[data-v-c3995da6] {
139
+ .c-login__subtitle[data-v-a14d06fd] {
138
140
  margin: 0;
139
141
  font-size: 13px;
140
142
  color: var(--cl-text-secondary);
141
143
  }
142
144
 
143
145
  /* ===== 登录方式切换(底部) ===== */
144
- .c-login__mode-switch[data-v-c3995da6] {
146
+ .c-login__mode-switch[data-v-a14d06fd] {
145
147
  margin-top: 14px;
146
148
  display: grid;
147
149
  grid-template-columns: 1fr 1fr;
148
150
  gap: 10px;
149
151
  }
150
- .c-login__mode-btn[data-v-c3995da6] {
152
+ .c-login__mode-btn[data-v-a14d06fd] {
151
153
  --n-border: none !important;
152
154
  --n-border-hover: none !important;
153
155
  --n-border-pressed: none !important;
@@ -160,47 +162,51 @@
160
162
  color: var(--cl-text-secondary) !important;
161
163
  transition: all 0.2s ease !important;
162
164
  }
163
- .c-login__mode-btn[data-v-c3995da6]:hover {
165
+ .c-login__mode-btn[data-v-a14d06fd]:hover {
164
166
  background: rgba(255, 255, 255, 0.1) !important;
165
167
  color: var(--cl-text-primary) !important;
166
168
  }
167
- .c-login__mode-btn.is-active[data-v-c3995da6] {
169
+ .c-login__mode-btn.is-active[data-v-a14d06fd] {
168
170
  background: color-mix(in srgb, var(--cl-tab-bar) 22%, transparent) !important;
169
171
  color: var(--cl-tab-active) !important;
170
172
  }
171
173
 
172
174
  /* ===== 表单 ===== */
173
- .c-login__form[data-v-c3995da6] {
175
+ .c-login__form[data-v-a14d06fd] {
174
176
  margin-top: 6px;
175
177
  }
176
- .c-login__form-item[data-v-c3995da6] {
178
+ .c-login__form-item[data-v-a14d06fd] {
177
179
  margin-bottom: 6px !important;
178
180
  /* 彻底干掉 NaiveUI FormItem 内置间距 CSS 变量 */
179
- /* 校验信息减少占用 */
180
- /* 底线风格输入框 */
181
181
  }
182
- .c-login__form-item[data-v-c3995da6] .n-form-item {
182
+ .c-login__form-item[data-v-a14d06fd] .n-form-item {
183
183
  --n-feedback-padding: 2px 0 0 0 !important;
184
184
  --n-feedback-height: 0 !important;
185
185
  --n-blank-height: 0 !important;
186
186
  --n-label-height: 0 !important;
187
187
  }
188
- .c-login__form-item[data-v-c3995da6] .n-form-item-label {
188
+ .c-login__form-item[data-v-a14d06fd] .n-form-item-label {
189
189
  display: none;
190
190
  }
191
- .c-login__form-item[data-v-c3995da6] .n-form-item-feedback-wrapper {
191
+ .c-login__form-item[data-v-a14d06fd] {
192
+ /* 校验信息减少占用 */
193
+ }
194
+ .c-login__form-item[data-v-a14d06fd] .n-form-item-feedback-wrapper {
192
195
  min-height: 0 !important;
193
196
  padding-top: 0 !important;
194
197
  line-height: 1.4;
195
198
  }
196
- .c-login__form-item[data-v-c3995da6] .n-form-item-feedback {
199
+ .c-login__form-item[data-v-a14d06fd] .n-form-item-feedback {
197
200
  font-size: 11px !important;
198
201
  line-height: 1.4;
199
202
  }
200
- .c-login__form-item[data-v-c3995da6] .n-form-item-blank {
203
+ .c-login__form-item[data-v-a14d06fd] .n-form-item-blank {
201
204
  min-height: 0 !important;
202
205
  }
203
- .c-login__form-item[data-v-c3995da6] .n-input {
206
+ .c-login__form-item[data-v-a14d06fd] {
207
+ /* 底线风格输入框 */
208
+ }
209
+ .c-login__form-item[data-v-a14d06fd] .n-input {
204
210
  --n-border: none !important;
205
211
  --n-border-hover: none !important;
206
212
  --n-border-focus: none !important;
@@ -216,58 +222,58 @@
216
222
  padding: 5px 2px !important;
217
223
  transition: border-color 0.25s ease;
218
224
  }
219
- .c-login__form-item[data-v-c3995da6] .n-input:hover {
225
+ .c-login__form-item[data-v-a14d06fd] .n-input:hover {
220
226
  border-bottom-color: var(--cl-input-underline-hover) !important;
221
227
  }
222
- .c-login__form-item[data-v-c3995da6] .n-input:focus-within {
228
+ .c-login__form-item[data-v-a14d06fd] .n-input:focus-within {
223
229
  border-bottom-color: var(--cl-input-underline-focus) !important;
224
230
  }
225
- .c-login__form-item[data-v-c3995da6] .n-input .n-input__input-el {
231
+ .c-login__form-item[data-v-a14d06fd] .n-input .n-input__input-el {
226
232
  color: var(--cl-input-text) !important;
227
233
  }
228
- .c-login__form-item[data-v-c3995da6] .n-input .n-input__input-el::placeholder {
234
+ .c-login__form-item[data-v-a14d06fd] .n-input .n-input__input-el::placeholder {
229
235
  color: var(--cl-input-placeholder) !important;
230
236
  }
231
- .c-login__form-item[data-v-c3995da6] .n-input .n-input__prefix,
232
- .c-login__form-item[data-v-c3995da6] .n-input .n-input__suffix {
237
+ .c-login__form-item[data-v-a14d06fd] .n-input .n-input__prefix,
238
+ .c-login__form-item[data-v-a14d06fd] .n-input .n-input__suffix {
233
239
  color: var(--cl-input-icon) !important;
234
240
  }
235
241
 
236
242
  /* ===== 辅助行:记住我 + 忘记密码 ===== */
237
- .c-login__aux-row[data-v-c3995da6] {
243
+ .c-login__aux-row[data-v-a14d06fd] {
238
244
  display: flex;
239
245
  justify-content: space-between;
240
246
  align-items: center;
241
247
  margin-top: 8px;
242
248
  margin-bottom: 14px;
243
249
  }
244
- .c-login__remember[data-v-c3995da6] .n-checkbox__label {
250
+ .c-login__remember[data-v-a14d06fd] .n-checkbox__label {
245
251
  color: var(--cl-text-secondary) !important;
246
252
  font-size: 13px;
247
253
  }
248
- .c-login__remember[data-v-c3995da6] .n-checkbox-box {
254
+ .c-login__remember[data-v-a14d06fd] .n-checkbox-box {
249
255
  --n-border: 1px solid var(--cl-input-underline) !important;
250
256
  }
251
- .c-login__forgot[data-v-c3995da6] {
257
+ .c-login__forgot[data-v-a14d06fd] {
252
258
  font-size: 13px;
253
259
  color: var(--cl-link-color);
254
260
  cursor: pointer;
255
261
  transition: color 0.2s ease;
256
262
  }
257
- .c-login__forgot[data-v-c3995da6]:hover {
263
+ .c-login__forgot[data-v-a14d06fd]:hover {
258
264
  color: var(--cl-link-hover);
259
265
  }
260
266
 
261
267
  /* ===== 验证码行 ===== */
262
- .c-login__code-row[data-v-c3995da6] {
268
+ .c-login__code-row[data-v-a14d06fd] {
263
269
  display: flex;
264
270
  gap: 10px;
265
271
  width: 100%;
266
272
  }
267
- .c-login__code-input[data-v-c3995da6] {
273
+ .c-login__code-input[data-v-a14d06fd] {
268
274
  flex: 1;
269
275
  }
270
- .c-login__send-code-btn[data-v-c3995da6] {
276
+ .c-login__send-code-btn[data-v-a14d06fd] {
271
277
  flex-shrink: 0;
272
278
  white-space: nowrap;
273
279
  background: rgba(255, 255, 255, 0.08) !important;
@@ -277,13 +283,13 @@
277
283
  font-size: 13px;
278
284
  transition: all 0.25s ease;
279
285
  }
280
- .c-login__send-code-btn[data-v-c3995da6]:not(:disabled):hover {
286
+ .c-login__send-code-btn[data-v-a14d06fd]:not(:disabled):hover {
281
287
  background: rgba(255, 255, 255, 0.16) !important;
282
288
  color: var(--cl-text-primary) !important;
283
289
  }
284
290
 
285
291
  /* ===== 登录按钮 ===== */
286
- .c-login__submit-btn[data-v-c3995da6] {
292
+ .c-login__submit-btn[data-v-a14d06fd] {
287
293
  height: var(--cl-btn-height) !important;
288
294
  background: var(--cl-btn-bg) !important;
289
295
  border: none !important;
@@ -298,7 +304,7 @@
298
304
  margin-top: 14px;
299
305
  /* 光泽扫过动画 */
300
306
  }
301
- .c-login__submit-btn[data-v-c3995da6]::before {
307
+ .c-login__submit-btn[data-v-a14d06fd]::before {
302
308
  content: "";
303
309
  position: absolute;
304
310
  top: 0;
@@ -309,34 +315,34 @@
309
315
  transform: skewX(-25deg);
310
316
  transition: left 0.6s ease;
311
317
  }
312
- .c-login__submit-btn[data-v-c3995da6]:not(:disabled):hover {
318
+ .c-login__submit-btn[data-v-a14d06fd]:not(:disabled):hover {
313
319
  background: var(--cl-btn-bg-hover) !important;
314
320
  transform: translateY(-1px);
315
321
  box-shadow: var(--cl-btn-shadow-hover) !important;
316
322
  }
317
- .c-login__submit-btn[data-v-c3995da6]:not(:disabled):hover::before {
323
+ .c-login__submit-btn[data-v-a14d06fd]:not(:disabled):hover::before {
318
324
  left: 150%;
319
325
  }
320
- .c-login__submit-btn[data-v-c3995da6]:active {
326
+ .c-login__submit-btn[data-v-a14d06fd]:active {
321
327
  transform: translateY(0) !important;
322
328
  }
323
329
 
324
330
  /* ===== 人机验证 ===== */
325
- .c-login__captcha-wrap[data-v-c3995da6] {
331
+ .c-login__captcha-wrap[data-v-a14d06fd] {
326
332
  margin-top: 10px;
327
333
  display: flex;
328
334
  justify-content: center;
329
335
  }
330
336
 
331
337
  /* ===== 扫码登录面板 ===== */
332
- .c-login__qr-panel[data-v-c3995da6] {
338
+ .c-login__qr-panel[data-v-a14d06fd] {
333
339
  display: flex;
334
340
  flex-direction: column;
335
341
  align-items: center;
336
342
  padding: 8px 0 4px;
337
343
  gap: 14px;
338
344
  }
339
- .c-login__qr-frame[data-v-c3995da6] {
345
+ .c-login__qr-frame[data-v-a14d06fd] {
340
346
  position: relative;
341
347
  width: 164px;
342
348
  height: 164px;
@@ -344,9 +350,21 @@
344
350
  overflow: hidden;
345
351
  background: rgba(0, 0, 0, 0.35);
346
352
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 8px 28px rgba(0, 0, 0, 0.4);
353
+ }
354
+ .c-login__qr-frame .c-login__qr-placeholder[data-v-a14d06fd] {
355
+ display: flex;
356
+ align-items: center;
357
+ justify-content: center;
358
+ height: 100%;
359
+ padding: 16px;
360
+ color: var(--cl-text-secondary);
361
+ font-size: 13px;
362
+ text-align: center;
363
+ }
364
+ .c-login__qr-frame[data-v-a14d06fd] {
347
365
  /* 扫描动画线 */
348
366
  }
349
- @keyframes qr-scan-c3995da6 {
367
+ @keyframes qr-scan-a14d06fd {
350
368
  0% {
351
369
  transform: translateY(0);
352
370
  opacity: 1;
@@ -362,12 +380,12 @@
362
380
  }
363
381
 
364
382
  /* C_QRCode 居中在 frame 内 */
365
- .c-login__qr-frame[data-v-c3995da6] {
383
+ .c-login__qr-frame[data-v-a14d06fd] {
366
384
  display: flex;
367
385
  align-items: center;
368
386
  justify-content: center;
369
387
  }
370
- .c-login__qr-scan-line[data-v-c3995da6] {
388
+ .c-login__qr-scan-line[data-v-a14d06fd] {
371
389
  position: absolute;
372
390
  top: 10px;
373
391
  left: 10px;
@@ -376,12 +394,12 @@
376
394
  background: linear-gradient(90deg, transparent 0%, rgba(24, 89, 233, 0.7) 30%, rgb(100, 160, 255) 50%, rgba(24, 89, 233, 0.7) 70%, transparent 100%);
377
395
  border-radius: 1px;
378
396
  box-shadow: 0 0 6px rgba(24, 89, 233, 0.8);
379
- animation: qr-scan-c3995da6 2.4s ease-in-out infinite;
397
+ animation: qr-scan-a14d06fd 2.4s ease-in-out infinite;
380
398
  pointer-events: none;
381
399
  }
382
400
 
383
401
  /* 四角刻度装饰 */
384
- .c-login__qr-corner[data-v-c3995da6] {
402
+ .c-login__qr-corner[data-v-a14d06fd] {
385
403
  position: absolute;
386
404
  width: 14px;
387
405
  height: 14px;
@@ -389,31 +407,31 @@
389
407
  border-style: solid;
390
408
  pointer-events: none;
391
409
  }
392
- .c-login__qr-corner--tl[data-v-c3995da6] {
410
+ .c-login__qr-corner--tl[data-v-a14d06fd] {
393
411
  top: 6px;
394
412
  left: 6px;
395
413
  border-width: 2px 0 0 2px;
396
414
  border-radius: 3px 0 0 0;
397
415
  }
398
- .c-login__qr-corner--tr[data-v-c3995da6] {
416
+ .c-login__qr-corner--tr[data-v-a14d06fd] {
399
417
  top: 6px;
400
418
  right: 6px;
401
419
  border-width: 2px 2px 0 0;
402
420
  border-radius: 0 3px 0 0;
403
421
  }
404
- .c-login__qr-corner--bl[data-v-c3995da6] {
422
+ .c-login__qr-corner--bl[data-v-a14d06fd] {
405
423
  bottom: 6px;
406
424
  left: 6px;
407
425
  border-width: 0 0 2px 2px;
408
426
  border-radius: 0 0 0 3px;
409
427
  }
410
- .c-login__qr-corner--br[data-v-c3995da6] {
428
+ .c-login__qr-corner--br[data-v-a14d06fd] {
411
429
  bottom: 6px;
412
430
  right: 6px;
413
431
  border-width: 0 2px 2px 0;
414
432
  border-radius: 0 0 3px 0;
415
433
  }
416
- .c-login__qr-hint[data-v-c3995da6] {
434
+ .c-login__qr-hint[data-v-a14d06fd] {
417
435
  margin: 0;
418
436
  display: flex;
419
437
  align-items: center;
@@ -422,22 +440,22 @@
422
440
  color: var(--cl-text-hint);
423
441
  letter-spacing: 0.3px;
424
442
  }
425
- .c-login__qr-refresh[data-v-c3995da6] {
443
+ .c-login__qr-refresh[data-v-a14d06fd] {
426
444
  color: var(--cl-text-secondary) !important;
427
445
  font-size: 11px !important;
428
446
  }
429
- .c-login__qr-refresh[data-v-c3995da6]:hover {
447
+ .c-login__qr-refresh[data-v-a14d06fd]:hover {
430
448
  color: var(--cl-tab-bar) !important;
431
449
  }
432
450
 
433
451
  /* ===== 分割线 ===== */
434
- .c-login__divider[data-v-c3995da6] {
452
+ .c-login__divider[data-v-a14d06fd] {
435
453
  margin: 12px 10px 10px !important;
436
454
  }
437
- .c-login__divider[data-v-c3995da6] .n-divider__line {
455
+ .c-login__divider[data-v-a14d06fd] .n-divider__line {
438
456
  background: var(--cl-divider-color) !important;
439
457
  }
440
- .c-login__divider[data-v-c3995da6] .n-divider__title {
458
+ .c-login__divider[data-v-a14d06fd] .n-divider__title {
441
459
  color: var(--cl-text-hint) !important;
442
460
  font-size: 12px;
443
461
  white-space: nowrap;
@@ -445,13 +463,13 @@
445
463
  }
446
464
 
447
465
  /* ===== 社交登录 ===== */
448
- .c-login__social-row[data-v-c3995da6] {
466
+ .c-login__social-row[data-v-a14d06fd] {
449
467
  display: flex;
450
468
  justify-content: center;
451
469
  gap: 14px;
452
470
  margin-bottom: 6px;
453
471
  }
454
- .c-login__social-btn[data-v-c3995da6] {
472
+ .c-login__social-btn[data-v-a14d06fd] {
455
473
  width: var(--cl-social-size) !important;
456
474
  height: var(--cl-social-size) !important;
457
475
  background: var(--cl-social-btn-bg) !important;
@@ -459,38 +477,38 @@
459
477
  color: var(--cl-text-secondary) !important;
460
478
  transition: all 0.25s ease !important;
461
479
  }
462
- .c-login__social-btn[data-v-c3995da6]:hover {
480
+ .c-login__social-btn[data-v-a14d06fd]:hover {
463
481
  background: var(--cl-social-btn-hover-bg) !important;
464
482
  color: var(--cl-text-primary) !important;
465
483
  transform: translateY(-2px);
466
484
  }
467
485
 
468
486
  /* ===== 注册 ===== */
469
- .c-login__register-row[data-v-c3995da6] {
487
+ .c-login__register-row[data-v-a14d06fd] {
470
488
  text-align: center;
471
489
  margin-top: 14px;
472
490
  font-size: 13px;
473
491
  }
474
- .c-login__register-hint[data-v-c3995da6] {
492
+ .c-login__register-hint[data-v-a14d06fd] {
475
493
  color: var(--cl-text-hint);
476
494
  }
477
- .c-login__register-link[data-v-c3995da6] {
495
+ .c-login__register-link[data-v-a14d06fd] {
478
496
  color: var(--cl-tab-bar);
479
497
  cursor: pointer;
480
498
  margin-left: 4px;
481
499
  transition: opacity 0.2s ease;
482
500
  }
483
- .c-login__register-link[data-v-c3995da6]:hover {
501
+ .c-login__register-link[data-v-a14d06fd]:hover {
484
502
  opacity: 0.8;
485
503
  }
486
504
 
487
505
  /* ===== 输入图标 ===== */
488
- .c-login__input-icon[data-v-c3995da6] {
506
+ .c-login__input-icon[data-v-a14d06fd] {
489
507
  color: var(--cl-input-icon);
490
508
  }
491
509
 
492
510
  /* ===== 亮色主题预设(父级加 .c-login--light 类可切换) ===== */
493
- .c-login--light .c-login-panel[data-v-c3995da6] {
511
+ .c-login--light .c-login-panel[data-v-a14d06fd] {
494
512
  --cl-panel-bg: rgba(255, 255, 255, 0.96);
495
513
  --cl-panel-border: rgba(0, 0, 0, 0.08);
496
514
  --cl-panel-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
@@ -511,5 +529,3 @@
511
529
  --cl-link-color: #888;
512
530
  --cl-link-hover: #1a1a1a;
513
531
  }
514
-
515
- /*# sourceMappingURL=C_Login-B3qYkLrN.css.map*/
@@ -1,2 +1,2 @@
1
- import { a as LoginFeatures, c as RegisterFormData, i as DEFAULT_SOCIAL_PROVIDERS, l as SocialProvider, n as CaptchaFormData, o as LoginProps, r as DEFAULT_FEATURES, s as PasswordFormData, t as _default } from "./index17.vue.js";
1
+ import { a as LoginFeatures, c as RegisterFormData, i as DEFAULT_SOCIAL_PROVIDERS, l as SocialProvider, n as CaptchaFormData, o as LoginProps, r as DEFAULT_FEATURES, s as PasswordFormData, t as _default } from "./index17.vue.cjs";
2
2
  export { _default as C_Login, type CaptchaFormData, DEFAULT_FEATURES, DEFAULT_SOCIAL_PROVIDERS, type LoginFeatures, type LoginProps, type PasswordFormData, type RegisterFormData, type SocialProvider };
package/dist/C_Login.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as LoginFeatures, c as RegisterFormData, i as DEFAULT_SOCIAL_PROVIDERS, l as SocialProvider, n as CaptchaFormData, o as LoginProps, r as DEFAULT_FEATURES, s as PasswordFormData, t as _default } from "./index17.vue.js";
1
+ import { a as LoginFeatures, c as RegisterFormData, i as DEFAULT_SOCIAL_PROVIDERS, l as SocialProvider, n as CaptchaFormData, o as LoginProps, r as DEFAULT_FEATURES, s as PasswordFormData, t as _default } from "./index16.vue.js";
2
2
  export { _default as C_Login, type CaptchaFormData, DEFAULT_FEATURES, DEFAULT_SOCIAL_PROVIDERS, type LoginFeatures, type LoginProps, type PasswordFormData, type RegisterFormData, type SocialProvider };
package/dist/C_Login.js CHANGED
@@ -1 +1 @@
1
- import"./C_Captcha2.js";import"./C_QRCode2.js";import{n as e,r as t,t as n}from"./C_Login2.js";export{n as C_Login,e as DEFAULT_FEATURES,t as DEFAULT_SOCIAL_PROVIDERS};
1
+ import"./C_Icon2.js";import"./C_Captcha2.js";import"./C_QRCode2.js";import{n as e,r as t,t as n}from"./C_Login2.js";export{n as C_Login,e as DEFAULT_FEATURES,t as DEFAULT_SOCIAL_PROVIDERS};
@@ -0,0 +1 @@
1
+ require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`),n=require(`./C_Captcha2.cjs`),r=require(`./storage.cjs`),ee=require(`./C_QRCode2.cjs`);let i=require(`vue`),a=require(`naive-ui`);const o=[{key:`github`,label:`GitHub`,icon:`mdi:github`},{key:`wechat`,label:`微信`,icon:`mdi:wechat`},{key:`qq`,label:`QQ`,icon:`mdi:qqchat`}],s={passwordLogin:!0,captchaLogin:!0,qrcodeLogin:!0,socialLogin:!0,register:!0,captchaVerify:!0,rememberMe:!0,forgotPassword:!0},te={class:`c-login-panel`},c={class:`c-login__header`},l={key:0,class:`c-login__logo`},u={class:`c-login__title`},ne={key:0,class:`c-login__subtitle`},d={key:1,class:`c-login__subtitle c-login__subtitle--register`},f={key:0,class:`c-login__aux-row`},re={class:`c-login__code-row`},ie={key:1,class:`c-login__captcha-wrap`},p={key:3,class:`c-login__qr-panel`},m={class:`c-login__qr-frame`},h={key:1,class:`c-login__qr-placeholder`},g={key:2,class:`c-login__qr-scan-line`},_={class:`c-login__qr-hint`},v={class:`c-login__code-row`},y={key:7,class:`c-login__mode-switch`},b={class:`c-login__social-row`},ae={key:9,class:`c-login__register-row`},x=(0,i.defineComponent)({__name:`index`,props:{title:{default:`欢迎回来`},subtitle:{},logoIcon:{},features:{},socialProviders:{},qrcodeUrl:{},storageKey:{default:`c_login_remember`},loading:{type:Boolean,default:!1},defaultUsername:{default:``},defaultPassword:{default:``},captchaVerifier:{},requireCaptchaServerVerification:{type:Boolean,default:!1},captchaVerificationTimeout:{default:1e4}},emits:[`submit`,`captcha-submit`,`send-code`,`social-login`,`forgot-password`,`qrcode-refresh`,`register-submit`,`register-send-code`],setup(t,{expose:x,emit:S}){let C=(e,t)=>{let n=globalThis.$t;return n?.(e,t,`robot_admin`)??t},w=(e,t,n)=>[{required:!0,message:`${e}不能为空`,trigger:`blur`},{validator:(e,n)=>!n||typeof n==`string`&&t.test(n),message:n,trigger:`blur`}],T=/^(?:(?:\+|00)86)?1[3-9]\d{9}$/,E=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d@$!%*?&]{6,20}$/,D=t,O=S,k=(0,i.computed)(()=>({...D,features:{...s,...D.features},socialProviders:D.socialProviders??o})),A=(0,i.computed)(()=>k.value.features),j=(0,i.computed)(()=>k.value.socialProviders),M=(0,i.ref)(`password`),N=(0,i.ref)(null),P=(0,i.reactive)({username:D.defaultUsername??``,password:D.defaultPassword??``}),oe={username:[{required:!0,message:C(`cl_username_rule`,`请输入用户名`),trigger:`blur`}],password:[{required:!0,message:C(`cl_password_rule`,`请输入密码`),trigger:`blur`}]},F=(0,i.ref)(!1);(0,i.watch)(F,e=>{e?r.i(D.storageKey,{username:P.username}):r.r(D.storageKey)}),(0,i.onMounted)(()=>{let e=r.t(D.storageKey);typeof e?.username==`string`&&(P.username=e.username,F.value=!0)});let I=async()=>{try{await N.value?.validate()}catch{return}O(`submit`,{...P,...U.value?{captchaToken:W.value,captchaTimestamp:G.value,captchaVerifiedBy:K.value}:{}})},L=(0,i.ref)(null),R=(0,i.reactive)({account:``,code:``}),z=(0,i.ref)(0),B=null,V={account:w(`手机号`,T,`手机号格式错误`),code:[{required:!0,message:C(`cl_code_rule`,`请输入验证码`),trigger:`blur`}]},H=(0,i.ref)(),U=(0,i.ref)(!1),W=(0,i.ref)(``),G=(0,i.ref)(0),K=(0,i.ref)(),se=e=>{U.value=!0,W.value=e.token,G.value=e.timestamp,K.value=e.verifiedBy},ce=()=>{U.value=!1},le=e=>{U.value=e,e||(W.value=``,G.value=0,K.value=void 0)},ue=()=>{U.value=!1,W.value=``,G.value=0,K.value=void 0,H.value?.reset()},q=async()=>{try{await L.value?.validate()}catch{return}A.value.captchaVerify&&!U.value||O(`captcha-submit`,{...R})},de=()=>{R.account&&(O(`send-code`,R.account),B&&=(clearInterval(B),null),z.value=60,B=setInterval(()=>{z.value--,z.value<=0&&(clearInterval(B),B=null)},1e3))},J=(0,i.computed)(()=>D.qrcodeUrl?.trim()??``),fe=()=>{O(`qrcode-refresh`)},Y=(0,i.ref)(null),X=(0,i.reactive)({phone:``,code:``,password:``,confirmPassword:``}),Z=(0,i.ref)(0),Q=null,pe={phone:w(`手机号`,T,`手机号格式错误`),code:[{required:!0,message:C(`cl_code_rule`,`请输入验证码`),trigger:`blur`}],password:w(`密码`,E,`密码必须包含大小写字母和数字,长度6-20位`),confirmPassword:[{required:!0,message:C(`cl_confirm_pw_rule`,`请再次输入密码`),trigger:`blur`},{validator:(e,t)=>t===X.password?!0:Error(C(`cl_pw_mismatch`,`两次密码输入不一致`)),trigger:`blur`}]},me=()=>{X.phone&&(O(`register-send-code`,X.phone),Q&&=(clearInterval(Q),null),Z.value=60,Q=setInterval(()=>{Z.value--,Z.value<=0&&(clearInterval(Q),Q=null)},1e3))},$=async()=>{try{await Y.value?.validate()}catch{return}O(`register-submit`,{...X})};return(0,i.onUnmounted)(()=>{B&&=(clearInterval(B),null),Q&&=(clearInterval(Q),null)}),x({resetCaptcha:ue}),(t,r)=>{let o=a.NInput,s=a.NFormItem,x=a.NCheckbox,S=a.NText,w=a.NForm,T=a.NButton,E=a.NDivider,B=a.NTooltip;return(0,i.openBlock)(),(0,i.createElementBlock)(`div`,te,[(0,i.createCommentVNode)(` ===== Logo / 标题区 ===== `),(0,i.createElementVNode)(`div`,c,[(0,i.renderSlot)(t.$slots,`logo`,{},()=>[k.value.logoIcon?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,l,[(0,i.createVNode)(e.t,{name:k.value.logoIcon,size:36,class:`c-login__logo-icon`},null,8,[`name`])])):(0,i.createCommentVNode)(`v-if`,!0)],!0),(0,i.createElementVNode)(`h2`,u,(0,i.toDisplayString)(k.value.title),1),k.value.subtitle&&M.value!==`register`?((0,i.openBlock)(),(0,i.createElementBlock)(`p`,ne,(0,i.toDisplayString)(k.value.subtitle),1)):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` 注册视图的副标题 `),M.value===`register`?((0,i.openBlock)(),(0,i.createElementBlock)(`p`,d,(0,i.toDisplayString)(C(`cl_register`,`注册账号`)),1)):(0,i.createCommentVNode)(`v-if`,!0)]),(0,i.createCommentVNode)(` ===== 密码登录表单(默认视图) ===== `),(0,i.withDirectives)((0,i.createVNode)(w,{ref_key:`passwordFormRef`,ref:N,model:P,rules:oe,class:`c-login__form`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(s,{path:`username`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(o,{value:P.username,"onUpdate:value":r[0]||=e=>P.username=e,placeholder:C(`cl_username_ph`,`请输入用户名`),clearable:``},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:account-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),(0,i.createVNode)(s,{path:`password`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(o,{value:P.password,"onUpdate:value":r[1]||=e=>P.password=e,type:`password`,"show-password-on":`click`,placeholder:C(`cl_password_ph`,`请输入密码`),clearable:``,onKeyup:(0,i.withKeys)(I,[`enter`])},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:lock-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),(0,i.createCommentVNode)(` 记住我 + 忘记密码 `),A.value.rememberMe||A.value.forgotPassword?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,f,[A.value.rememberMe?((0,i.openBlock)(),(0,i.createBlock)(x,{key:0,checked:F.value,"onUpdate:checked":r[2]||=e=>F.value=e,class:`c-login__remember`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_remember`,`记住我`)),1)]),_:1},8,[`checked`])):(0,i.createCommentVNode)(`v-if`,!0),A.value.forgotPassword?((0,i.openBlock)(),(0,i.createBlock)(S,{key:1,class:`c-login__forgot`,onClick:r[3]||=e=>O(`forgot-password`)},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_forgot`,`忘记密码?`)),1)]),_:1})):(0,i.createCommentVNode)(`v-if`,!0)])):(0,i.createCommentVNode)(`v-if`,!0)]),_:1},8,[`model`]),[[i.vShow,M.value===`password`]]),(0,i.createCommentVNode)(` ===== 验证码登录表单 ===== `),(0,i.withDirectives)((0,i.createVNode)(w,{ref_key:`captchaFormRef`,ref:L,model:R,rules:V,class:`c-login__form`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(s,{path:`account`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(o,{value:R.account,"onUpdate:value":r[4]||=e=>R.account=e,placeholder:C(`cl_phone_ph`,`请输入手机号`),clearable:``,maxlength:`11`},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:cellphone`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),(0,i.createVNode)(s,{path:`code`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,re,[(0,i.createVNode)(o,{value:R.code,"onUpdate:value":r[5]||=e=>R.code=e,placeholder:C(`cl_code_ph`,`请输入验证码`),clearable:``,class:`c-login__code-input`,onKeyup:(0,i.withKeys)(q,[`enter`])},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:shield-key-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`]),(0,i.createVNode)(T,{disabled:z.value>0||!R.account,class:`c-login__send-code-btn`,onClick:de},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(z.value>0?`${z.value}s ${C(`cl_resend`,`后重发`)}`:C(`cl_get_code`,`获取验证码`)),1)]),_:1},8,[`disabled`])])]),_:1})]),_:1},8,[`model`]),[[i.vShow,M.value===`captcha`]]),(0,i.createCommentVNode)(` ===== 登录按钮(密码和验证码模式) ===== `),M.value===`password`||M.value===`captcha`?((0,i.openBlock)(),(0,i.createBlock)(T,{key:0,type:`primary`,block:``,loading:D.loading,disabled:M.value===`password`&&A.value.captchaVerify&&!U.value,class:`c-login__submit-btn`,onClick:r[6]||=e=>M.value===`password`?I():q()},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(M.value===`password`&&A.value.captchaVerify&&!U.value?C(`cl_verify_first`,`请先完成人机验证`):C(`cl_login_btn`,`登 录`)),1)]),_:1},8,[`loading`,`disabled`])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 人机验证拼图(仅密码登录模式) ===== `),A.value.captchaVerify&&M.value===`password`?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,ie,[(0,i.createVNode)(n.t,{ref_key:`captchaRef`,ref:H,"trigger-text":``,theme:`dark`,verifier:D.captchaVerifier,"require-server-verification":D.requireCaptchaServerVerification,"verification-timeout":D.captchaVerificationTimeout,onSuccess:se,onFail:ce,onChange:le},null,8,[`verifier`,`require-server-verification`,`verification-timeout`])])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 返回按钮(验证码子视图) ===== `),M.value===`captcha`?((0,i.openBlock)(),(0,i.createBlock)(T,{key:2,block:``,class:`c-login__back-btn`,onClick:r[7]||=e=>M.value=`password`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_back`,`返回`)),1)]),_:1})):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 扫码登录面板 ===== `),M.value===`qrcode`?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,p,[(0,i.createElementVNode)(`div`,m,[J.value?((0,i.openBlock)(),(0,i.createBlock)(ee.t,{key:0,value:J.value,size:148,margin:1,"show-border":!1,color:`#ffffff`,"bg-color":`#000000`,"error-correction-level":`M`},null,8,[`value`])):((0,i.openBlock)(),(0,i.createElementBlock)(`div`,h,(0,i.toDisplayString)(C(`cl_qr_missing`,`请配置二维码地址`)),1)),J.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,g)):(0,i.createCommentVNode)(`v-if`,!0),r[17]||=(0,i.createElementVNode)(`div`,{class:`c-login__qr-corner c-login__qr-corner--tl`},null,-1),r[18]||=(0,i.createElementVNode)(`div`,{class:`c-login__qr-corner c-login__qr-corner--tr`},null,-1),r[19]||=(0,i.createElementVNode)(`div`,{class:`c-login__qr-corner c-login__qr-corner--bl`},null,-1),r[20]||=(0,i.createElementVNode)(`div`,{class:`c-login__qr-corner c-login__qr-corner--br`},null,-1)]),(0,i.createElementVNode)(`p`,_,[(0,i.createVNode)(e.t,{name:`mdi:cellphone-check`,size:13}),(0,i.createTextVNode)(` `+(0,i.toDisplayString)(C(`cl_qr_hint`,`打开手机扫码后点击「确认」即可登录`)),1)]),(0,i.createVNode)(T,{text:``,size:`tiny`,class:`c-login__qr-refresh`,onClick:fe},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:refresh`,size:12})]),default:(0,i.withCtx)(()=>[(0,i.createTextVNode)(` `+(0,i.toDisplayString)(C(`cl_qr_refresh`,`二维码已失效?点击刷新`)),1)]),_:1})])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 返回按钮(扫码子视图,在二维码下方) ===== `),M.value===`qrcode`?((0,i.openBlock)(),(0,i.createBlock)(T,{key:4,block:``,class:`c-login__back-btn`,onClick:r[8]||=e=>M.value=`password`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_back`,`返回`)),1)]),_:1})):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 注册表单 ===== `),(0,i.withDirectives)((0,i.createVNode)(w,{ref_key:`registerFormRef`,ref:Y,model:X,rules:pe,class:`c-login__form`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(s,{path:`phone`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(o,{value:X.phone,"onUpdate:value":r[9]||=e=>X.phone=e,placeholder:C(`cl_phone_ph`,`请输入手机号`),clearable:``,maxlength:`11`},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:cellphone`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),(0,i.createVNode)(s,{path:`code`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,v,[(0,i.createVNode)(o,{value:X.code,"onUpdate:value":r[10]||=e=>X.code=e,placeholder:C(`cl_code_ph`,`请输入验证码`),clearable:``,class:`c-login__code-input`},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:shield-key-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`]),(0,i.createVNode)(T,{disabled:Z.value>0||!X.phone,class:`c-login__send-code-btn`,onClick:me},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(Z.value>0?`${Z.value}s ${C(`cl_resend`,`后重发`)}`:C(`cl_get_code`,`获取验证码`)),1)]),_:1},8,[`disabled`])])]),_:1}),(0,i.createVNode)(s,{path:`password`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(o,{value:X.password,"onUpdate:value":r[11]||=e=>X.password=e,type:`password`,"show-password-on":`click`,placeholder:C(`cl_password_ph`,`请输入密码`)},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:lock-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),(0,i.createVNode)(s,{path:`confirmPassword`,class:`c-login__form-item`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(o,{value:X.confirmPassword,"onUpdate:value":r[12]||=e=>X.confirmPassword=e,type:`password`,"show-password-on":`click`,placeholder:C(`cl_confirm_pw_ph`,`请再次输入密码`),onKeyup:(0,i.withKeys)($,[`enter`])},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:`mdi:lock-check-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1})]),_:1},8,[`model`]),[[i.vShow,M.value===`register`]]),(0,i.createCommentVNode)(` ===== 注册确认按钮 ===== `),M.value===`register`?((0,i.openBlock)(),(0,i.createBlock)(T,{key:5,type:`primary`,block:``,loading:D.loading,class:`c-login__submit-btn`,onClick:$},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_confirm`,`确认`)),1)]),_:1},8,[`loading`])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 注册视图返回按钮 ===== `),M.value===`register`?((0,i.openBlock)(),(0,i.createBlock)(T,{key:6,block:``,class:`c-login__back-btn`,onClick:r[13]||=e=>M.value=`password`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_back`,`返回`)),1)]),_:1})):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 登录方式切换(仅密码登录默认视图显示) ===== `),M.value===`password`&&(A.value.captchaLogin||A.value.qrcodeLogin)?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,y,[A.value.captchaLogin?((0,i.openBlock)(),(0,i.createBlock)(T,{key:0,class:`c-login__mode-btn`,size:`small`,onClick:r[14]||=e=>M.value=`captcha`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_captcha_login`,`验证码登录`)),1)]),_:1})):(0,i.createCommentVNode)(`v-if`,!0),A.value.qrcodeLogin?((0,i.openBlock)(),(0,i.createBlock)(T,{key:1,class:`c-login__mode-btn`,size:`small`,onClick:r[15]||=e=>M.value=`qrcode`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_qr_login`,`扫码登录`)),1)]),_:1})):(0,i.createCommentVNode)(`v-if`,!0)])):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 其他登录方式(仅密码登录默认视图显示) ===== `),M.value===`password`&&A.value.socialLogin&&j.value.length?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:8},[(0,i.createVNode)(E,{class:`c-login__divider`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_social_login`,`其他账号登录`)),1)]),_:1}),(0,i.createElementVNode)(`div`,b,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(j.value,t=>((0,i.openBlock)(),(0,i.createBlock)(B,{key:t.key,trigger:`hover`,placement:`top`},{trigger:(0,i.withCtx)(()=>[(0,i.createVNode)(T,{circle:``,class:`c-login__social-btn`,onClick:e=>O(`social-login`,t.key)},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:t.icon,size:16},null,8,[`name`])]),_:2},1032,[`onClick`])]),default:(0,i.withCtx)(()=>[(0,i.createTextVNode)(` `+(0,i.toDisplayString)(t.label),1)]),_:2},1024))),128))])],64)):(0,i.createCommentVNode)(`v-if`,!0),(0,i.createCommentVNode)(` ===== 注册入口(仅密码登录默认视图显示) ===== `),M.value===`password`&&A.value.register?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,ae,[(0,i.createVNode)(S,{class:`c-login__register-hint`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_no_account`,`还没有账号?`)),1)]),_:1}),(0,i.createVNode)(S,{class:`c-login__register-link`,onClick:r[16]||=e=>M.value=`register`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(C(`cl_register`,`注册账号`)),1)]),_:1})])):(0,i.createCommentVNode)(`v-if`,!0)])}}});var S=t.t(x,[[`__scopeId`,`data-v-a14d06fd`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return S}});
package/dist/C_Login2.js CHANGED
@@ -1,2 +1 @@
1
- import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{t as ee}from"./C_Captcha2.js";import{t as te}from"./C_QRCode2.js";import{NButton as ne,NCheckbox as re,NDivider as ie,NForm as ae,NFormItem as oe,NInput as se,NText as ce,NTooltip as le}from"naive-ui";import{Fragment as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createStaticVNode as ue,createTextVNode as c,createVNode as l,defineComponent as u,onMounted as d,onUnmounted as f,openBlock as p,reactive as m,ref as h,renderList as de,renderSlot as fe,resolveComponent as g,toDisplayString as _,vShow as v,watch as y,withCtx as b,withDirectives as x,withKeys as S}from"vue";import{RULE_COMBOS as C}from"@robot-admin/form-validate";const w=[{key:`github`,label:`GitHub`,icon:`mdi:github`},{key:`wechat`,label:`微信`,icon:`mdi:wechat`},{key:`qq`,label:`QQ`,icon:`mdi:qqchat`}],T={passwordLogin:!0,captchaLogin:!0,qrcodeLogin:!0,socialLogin:!0,register:!0,captchaVerify:!0,rememberMe:!0,forgotPassword:!0},pe={class:`c-login-panel`},me={class:`c-login__header`},he={key:0,class:`c-login__logo`},ge={class:`c-login__title`},_e={key:0,class:`c-login__subtitle`},ve={key:1,class:`c-login__subtitle c-login__subtitle--register`},ye={key:0,class:`c-login__aux-row`},be={class:`c-login__code-row`},xe={key:1,class:`c-login__captcha-wrap`},E={key:3,class:`c-login__qr-panel`},Se={class:`c-login__qr-frame`},Ce={class:`c-login__qr-hint`},we={class:`c-login__code-row`},Te={key:7,class:`c-login__mode-switch`},Ee={class:`c-login__social-row`},D={key:9,class:`c-login__register-row`};var O=t(u({__name:`index`,props:{title:{default:`欢迎回来`},subtitle:{},logoIcon:{},features:{},socialProviders:{},qrcodeUrl:{},storageKey:{default:`c_login_remember`},loading:{type:Boolean,default:!1},defaultUsername:{default:``},defaultPassword:{default:``}},emits:[`submit`,`captcha-submit`,`send-code`,`social-login`,`forgot-password`,`qrcode-refresh`,`register-submit`,`register-send-code`],setup(t,{expose:u,emit:g}){let O=(e,t)=>typeof globalThis.$t==`function`?globalThis.$t(e,t,`robot_admin`):t,k=t,A=g,j=r(()=>({...k,features:{...T,...k.features},socialProviders:k.socialProviders??w})),M=r(()=>j.value.features),N=r(()=>j.value.socialProviders),P=h(`password`),F=h(null),I=m({username:k.defaultUsername??``,password:k.defaultPassword??``}),De={username:[{required:!0,message:O(`cl_username_rule`,`请输入用户名`),trigger:`blur`}],password:[{required:!0,message:O(`cl_password_rule`,`请输入密码`),trigger:`blur`}]},L=h(!1);y(L,e=>{e?localStorage.setItem(k.storageKey,JSON.stringify({username:I.username})):localStorage.removeItem(k.storageKey)}),d(()=>{try{let e=localStorage.getItem(k.storageKey);if(e){let t=JSON.parse(e);t.username&&(I.username=t.username,L.value=!0)}}catch{}});let R=async()=>{try{await F.value?.validate()}catch{return}A(`submit`,{...I,...W.value?{captchaToken:G.value,captchaTimestamp:K.value}:{}})},z=h(null),B=m({account:``,code:``}),V=h(0),H=null,Oe={account:C.mobile(`手机号`),code:[{required:!0,message:O(`cl_code_rule`,`请输入验证码`),trigger:`blur`}]},U=h(),W=h(!1),G=h(``),K=h(0),ke=e=>{W.value=!0,G.value=e.token,K.value=e.timestamp},Ae=()=>{W.value=!1},je=e=>{W.value=e,e||(G.value=``,K.value=0)},Me=()=>{W.value=!1,G.value=``,K.value=0,U.value?.reset()},q=async()=>{try{await z.value?.validate()}catch{return}M.value.captchaVerify&&!W.value||A(`captcha-submit`,{...B})},Ne=()=>{B.account&&(A(`send-code`,B.account),H&&=(clearInterval(H),null),V.value=60,H=setInterval(()=>{V.value--,V.value<=0&&(clearInterval(H),H=null)},1e3))},Pe=h(null),J=h(`https://robot-admin.app/qrcode-login?t=${Date.now()}`),Fe=()=>{J.value=`https://robot-admin.app/qrcode-login?t=${Date.now()}`,A(`qrcode-refresh`)},Y=h(null),X=m({phone:``,code:``,password:``,confirmPassword:``}),Z=h(0),Q=null,Ie={phone:C.mobile(`手机号`),code:[{required:!0,message:O(`cl_code_rule`,`请输入验证码`),trigger:`blur`}],password:C.password(`密码`),confirmPassword:[{required:!0,message:O(`cl_confirm_pw_rule`,`请再次输入密码`),trigger:`blur`},{validator:(e,t)=>t===X.password?!0:Error(O(`cl_pw_mismatch`,`两次密码输入不一致`)),trigger:`blur`}]},Le=()=>{X.phone&&(A(`register-send-code`,X.phone),Q&&=(clearInterval(Q),null),Z.value=60,Q=setInterval(()=>{Z.value--,Z.value<=0&&(clearInterval(Q),Q=null)},1e3))},$=async()=>{try{await Y.value?.validate()}catch{return}A(`register-submit`,{...X})};return f(()=>{H&&=(clearInterval(H),null),Q&&=(clearInterval(Q),null)}),u({resetCaptcha:Me}),(t,r)=>{let u=se,d=oe,f=re,m=ce,h=ae,g=ne,y=ie,C=le;return p(),o(`div`,pe,[a(` ===== Logo / 标题区 ===== `),s(`div`,me,[fe(t.$slots,`logo`,{},()=>[j.value.logoIcon?(p(),o(`div`,he,[l(e,{name:j.value.logoIcon,size:36,class:`c-login__logo-icon`},null,8,[`name`])])):a(`v-if`,!0)],!0),s(`h2`,ge,_(j.value.title),1),j.value.subtitle&&P.value!==`register`?(p(),o(`p`,_e,_(j.value.subtitle),1)):a(`v-if`,!0),a(` 注册视图的副标题 `),P.value===`register`?(p(),o(`p`,ve,_(O(`cl_register`,`注册账号`)),1)):a(`v-if`,!0)]),a(` ===== 密码登录表单(默认视图) ===== `),x(l(h,{ref_key:`passwordFormRef`,ref:F,model:I,rules:De,class:`c-login__form`},{default:b(()=>[l(d,{path:`username`,class:`c-login__form-item`},{default:b(()=>[l(u,{value:I.username,"onUpdate:value":r[0]||=e=>I.username=e,placeholder:O(`cl_username_ph`,`请输入用户名`),clearable:``},{prefix:b(()=>[l(e,{name:`mdi:account-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),l(d,{path:`password`,class:`c-login__form-item`},{default:b(()=>[l(u,{value:I.password,"onUpdate:value":r[1]||=e=>I.password=e,type:`password`,"show-password-on":`click`,placeholder:O(`cl_password_ph`,`请输入密码`),clearable:``,onKeyup:S(R,[`enter`])},{prefix:b(()=>[l(e,{name:`mdi:lock-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),a(` 记住我 + 忘记密码 `),M.value.rememberMe||M.value.forgotPassword?(p(),o(`div`,ye,[M.value.rememberMe?(p(),i(f,{key:0,checked:L.value,"onUpdate:checked":r[2]||=e=>L.value=e,class:`c-login__remember`},{default:b(()=>[c(_(O(`cl_remember`,`记住我`)),1)]),_:1},8,[`checked`])):a(`v-if`,!0),M.value.forgotPassword?(p(),i(m,{key:1,class:`c-login__forgot`,onClick:r[3]||=e=>A(`forgot-password`)},{default:b(()=>[c(_(O(`cl_forgot`,`忘记密码?`)),1)]),_:1})):a(`v-if`,!0)])):a(`v-if`,!0)]),_:1},8,[`model`]),[[v,P.value===`password`]]),a(` ===== 验证码登录表单 ===== `),x(l(h,{ref_key:`captchaFormRef`,ref:z,model:B,rules:Oe,class:`c-login__form`},{default:b(()=>[l(d,{path:`account`,class:`c-login__form-item`},{default:b(()=>[l(u,{value:B.account,"onUpdate:value":r[4]||=e=>B.account=e,placeholder:O(`cl_phone_ph`,`请输入手机号`),clearable:``,maxlength:`11`},{prefix:b(()=>[l(e,{name:`mdi:cellphone`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),l(d,{path:`code`,class:`c-login__form-item`},{default:b(()=>[s(`div`,be,[l(u,{value:B.code,"onUpdate:value":r[5]||=e=>B.code=e,placeholder:O(`cl_code_ph`,`请输入验证码`),clearable:``,class:`c-login__code-input`,onKeyup:S(q,[`enter`])},{prefix:b(()=>[l(e,{name:`mdi:shield-key-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`]),l(g,{disabled:V.value>0||!B.account,class:`c-login__send-code-btn`,onClick:Ne},{default:b(()=>[c(_(V.value>0?`${V.value}s ${O(`cl_resend`,`后重发`)}`:O(`cl_get_code`,`获取验证码`)),1)]),_:1},8,[`disabled`])])]),_:1})]),_:1},8,[`model`]),[[v,P.value===`captcha`]]),a(` ===== 登录按钮(密码和验证码模式) ===== `),P.value===`password`||P.value===`captcha`?(p(),i(g,{key:0,type:`primary`,block:``,loading:k.loading,disabled:P.value===`password`&&M.value.captchaVerify&&!W.value,class:`c-login__submit-btn`,onClick:r[6]||=e=>P.value===`password`?R():q()},{default:b(()=>[c(_(P.value===`password`&&M.value.captchaVerify&&!W.value?O(`cl_verify_first`,`请先完成人机验证`):O(`cl_login_btn`,`登 录`)),1)]),_:1},8,[`loading`,`disabled`])):a(`v-if`,!0),a(` ===== 人机验证拼图(仅密码登录模式) ===== `),M.value.captchaVerify&&P.value===`password`?(p(),o(`div`,xe,[l(ee,{ref_key:`captchaRef`,ref:U,"trigger-text":``,theme:`dark`,onSuccess:ke,onFail:Ae,onChange:je},null,512)])):a(`v-if`,!0),a(` ===== 返回按钮(验证码子视图) ===== `),P.value===`captcha`?(p(),i(g,{key:2,block:``,class:`c-login__back-btn`,onClick:r[7]||=e=>P.value=`password`},{default:b(()=>[c(_(O(`cl_back`,`返回`)),1)]),_:1})):a(`v-if`,!0),a(` ===== 扫码登录面板 ===== `),P.value===`qrcode`?(p(),o(`div`,E,[s(`div`,Se,[l(te,{ref_key:`qrcodeRef`,ref:Pe,value:J.value,size:148,margin:1,"show-border":!1,color:`#ffffff`,"bg-color":`#000000`,"error-correction-level":`M`},null,8,[`value`]),r[17]||=ue(`<div class="c-login__qr-scan-line" data-v-c3995da6></div><div class="c-login__qr-corner c-login__qr-corner--tl" data-v-c3995da6></div><div class="c-login__qr-corner c-login__qr-corner--tr" data-v-c3995da6></div><div class="c-login__qr-corner c-login__qr-corner--bl" data-v-c3995da6></div><div class="c-login__qr-corner c-login__qr-corner--br" data-v-c3995da6></div>`,5)]),s(`p`,Ce,[l(e,{name:`mdi:cellphone-check`,size:13}),c(` `+_(O(`cl_qr_hint`,`打开手机扫码后点击「确认」即可登录`)),1)]),l(g,{text:``,size:`tiny`,class:`c-login__qr-refresh`,onClick:Fe},{icon:b(()=>[l(e,{name:`mdi:refresh`,size:12})]),default:b(()=>[c(` `+_(O(`cl_qr_refresh`,`二维码已失效?点击刷新`)),1)]),_:1})])):a(`v-if`,!0),a(` ===== 返回按钮(扫码子视图,在二维码下方) ===== `),P.value===`qrcode`?(p(),i(g,{key:4,block:``,class:`c-login__back-btn`,onClick:r[8]||=e=>P.value=`password`},{default:b(()=>[c(_(O(`cl_back`,`返回`)),1)]),_:1})):a(`v-if`,!0),a(` ===== 注册表单 ===== `),x(l(h,{ref_key:`registerFormRef`,ref:Y,model:X,rules:Ie,class:`c-login__form`},{default:b(()=>[l(d,{path:`phone`,class:`c-login__form-item`},{default:b(()=>[l(u,{value:X.phone,"onUpdate:value":r[9]||=e=>X.phone=e,placeholder:O(`cl_phone_ph`,`请输入手机号`),clearable:``,maxlength:`11`},{prefix:b(()=>[l(e,{name:`mdi:cellphone`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),l(d,{path:`code`,class:`c-login__form-item`},{default:b(()=>[s(`div`,we,[l(u,{value:X.code,"onUpdate:value":r[10]||=e=>X.code=e,placeholder:O(`cl_code_ph`,`请输入验证码`),clearable:``,class:`c-login__code-input`},{prefix:b(()=>[l(e,{name:`mdi:shield-key-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`]),l(g,{disabled:Z.value>0||!X.phone,class:`c-login__send-code-btn`,onClick:Le},{default:b(()=>[c(_(Z.value>0?`${Z.value}s ${O(`cl_resend`,`后重发`)}`:O(`cl_get_code`,`获取验证码`)),1)]),_:1},8,[`disabled`])])]),_:1}),l(d,{path:`password`,class:`c-login__form-item`},{default:b(()=>[l(u,{value:X.password,"onUpdate:value":r[11]||=e=>X.password=e,type:`password`,"show-password-on":`click`,placeholder:O(`cl_password_ph`,`请输入密码`)},{prefix:b(()=>[l(e,{name:`mdi:lock-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),l(d,{path:`confirmPassword`,class:`c-login__form-item`},{default:b(()=>[l(u,{value:X.confirmPassword,"onUpdate:value":r[12]||=e=>X.confirmPassword=e,type:`password`,"show-password-on":`click`,placeholder:O(`cl_confirm_pw_ph`,`请再次输入密码`),onKeyup:S($,[`enter`])},{prefix:b(()=>[l(e,{name:`mdi:lock-check-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1})]),_:1},8,[`model`]),[[v,P.value===`register`]]),a(` ===== 注册确认按钮 ===== `),P.value===`register`?(p(),i(g,{key:5,type:`primary`,block:``,loading:k.loading,class:`c-login__submit-btn`,onClick:$},{default:b(()=>[c(_(O(`cl_confirm`,`确认`)),1)]),_:1},8,[`loading`])):a(`v-if`,!0),a(` ===== 注册视图返回按钮 ===== `),P.value===`register`?(p(),i(g,{key:6,block:``,class:`c-login__back-btn`,onClick:r[13]||=e=>P.value=`password`},{default:b(()=>[c(_(O(`cl_back`,`返回`)),1)]),_:1})):a(`v-if`,!0),a(` ===== 登录方式切换(仅密码登录默认视图显示) ===== `),P.value===`password`&&(M.value.captchaLogin||M.value.qrcodeLogin)?(p(),o(`div`,Te,[M.value.captchaLogin?(p(),i(g,{key:0,class:`c-login__mode-btn`,size:`small`,onClick:r[14]||=e=>P.value=`captcha`},{default:b(()=>[c(_(O(`cl_captcha_login`,`验证码登录`)),1)]),_:1})):a(`v-if`,!0),M.value.qrcodeLogin?(p(),i(g,{key:1,class:`c-login__mode-btn`,size:`small`,onClick:r[15]||=e=>P.value=`qrcode`},{default:b(()=>[c(_(O(`cl_qr_login`,`扫码登录`)),1)]),_:1})):a(`v-if`,!0)])):a(`v-if`,!0),a(` ===== 其他登录方式(仅密码登录默认视图显示) ===== `),P.value===`password`&&M.value.socialLogin&&N.value.length?(p(),o(n,{key:8},[l(y,{class:`c-login__divider`},{default:b(()=>[c(_(O(`cl_social_login`,`其他账号登录`)),1)]),_:1}),s(`div`,Ee,[(p(!0),o(n,null,de(N.value,t=>(p(),i(C,{key:t.key,trigger:`hover`,placement:`top`},{trigger:b(()=>[l(g,{circle:``,class:`c-login__social-btn`,onClick:e=>A(`social-login`,t.key)},{icon:b(()=>[l(e,{name:t.icon,size:16},null,8,[`name`])]),_:2},1032,[`onClick`])]),default:b(()=>[c(` `+_(t.label),1)]),_:2},1024))),128))])],64)):a(`v-if`,!0),a(` ===== 注册入口(仅密码登录默认视图显示) ===== `),P.value===`password`&&M.value.register?(p(),o(`div`,D,[l(m,{class:`c-login__register-hint`},{default:b(()=>[c(_(O(`cl_no_account`,`还没有账号?`)),1)]),_:1}),l(m,{class:`c-login__register-link`,onClick:r[16]||=e=>P.value=`register`},{default:b(()=>[c(_(O(`cl_register`,`注册账号`)),1)]),_:1})])):a(`v-if`,!0)])}}}),[[`__scopeId`,`data-v-c3995da6`]]);export{T as n,w as r,O as t};
2
- //# sourceMappingURL=C_Login2.js.map
1
+ import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{t as n}from"./C_Captcha2.js";import{i as r,r as i,t as a}from"./storage.js";import{t as ee}from"./C_QRCode2.js";import{Fragment as o,computed as s,createBlock as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createTextVNode as f,createVNode as p,defineComponent as m,onMounted as h,onUnmounted as g,openBlock as _,reactive as v,ref as y,renderList as te,renderSlot as ne,resolveComponent as re,toDisplayString as b,vShow as x,watch as ie,withCtx as S,withDirectives as C,withKeys as w}from"vue";import{NButton as ae,NCheckbox as oe,NDivider as se,NForm as ce,NFormItem as le,NInput as ue,NText as de,NTooltip as fe}from"naive-ui";const T=[{key:`github`,label:`GitHub`,icon:`mdi:github`},{key:`wechat`,label:`微信`,icon:`mdi:wechat`},{key:`qq`,label:`QQ`,icon:`mdi:qqchat`}],E={passwordLogin:!0,captchaLogin:!0,qrcodeLogin:!0,socialLogin:!0,register:!0,captchaVerify:!0,rememberMe:!0,forgotPassword:!0},pe={class:`c-login-panel`},me={class:`c-login__header`},he={key:0,class:`c-login__logo`},ge={class:`c-login__title`},_e={key:0,class:`c-login__subtitle`},ve={key:1,class:`c-login__subtitle c-login__subtitle--register`},ye={key:0,class:`c-login__aux-row`},be={class:`c-login__code-row`},xe={key:1,class:`c-login__captcha-wrap`},Se={key:3,class:`c-login__qr-panel`},Ce={class:`c-login__qr-frame`},we={key:1,class:`c-login__qr-placeholder`},Te={key:2,class:`c-login__qr-scan-line`},Ee={class:`c-login__qr-hint`},De={class:`c-login__code-row`},Oe={key:7,class:`c-login__mode-switch`},ke={class:`c-login__social-row`},Ae={key:9,class:`c-login__register-row`};var D=t(m({__name:`index`,props:{title:{default:`欢迎回来`},subtitle:{},logoIcon:{},features:{},socialProviders:{},qrcodeUrl:{},storageKey:{default:`c_login_remember`},loading:{type:Boolean,default:!1},defaultUsername:{default:``},defaultPassword:{default:``},captchaVerifier:{},requireCaptchaServerVerification:{type:Boolean,default:!1},captchaVerificationTimeout:{default:1e4}},emits:[`submit`,`captcha-submit`,`send-code`,`social-login`,`forgot-password`,`qrcode-refresh`,`register-submit`,`register-send-code`],setup(t,{expose:m,emit:re}){let D=(e,t)=>{let n=globalThis.$t;return n?.(e,t,`robot_admin`)??t},O=(e,t,n)=>[{required:!0,message:`${e}不能为空`,trigger:`blur`},{validator:(e,n)=>!n||typeof n==`string`&&t.test(n),message:n,trigger:`blur`}],k=/^(?:(?:\+|00)86)?1[3-9]\d{9}$/,je=/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d@$!%*?&]{6,20}$/,A=t,j=re,M=s(()=>({...A,features:{...E,...A.features},socialProviders:A.socialProviders??T})),N=s(()=>M.value.features),Me=s(()=>M.value.socialProviders),P=y(`password`),F=y(null),I=v({username:A.defaultUsername??``,password:A.defaultPassword??``}),Ne={username:[{required:!0,message:D(`cl_username_rule`,`请输入用户名`),trigger:`blur`}],password:[{required:!0,message:D(`cl_password_rule`,`请输入密码`),trigger:`blur`}]},L=y(!1);ie(L,e=>{e?r(A.storageKey,{username:I.username}):i(A.storageKey)}),h(()=>{let e=a(A.storageKey);typeof e?.username==`string`&&(I.username=e.username,L.value=!0)});let R=async()=>{try{await F.value?.validate()}catch{return}j(`submit`,{...I,...W.value?{captchaToken:G.value,captchaTimestamp:K.value,captchaVerifiedBy:q.value}:{}})},z=y(null),B=v({account:``,code:``}),V=y(0),H=null,Pe={account:O(`手机号`,k,`手机号格式错误`),code:[{required:!0,message:D(`cl_code_rule`,`请输入验证码`),trigger:`blur`}]},U=y(),W=y(!1),G=y(``),K=y(0),q=y(),Fe=e=>{W.value=!0,G.value=e.token,K.value=e.timestamp,q.value=e.verifiedBy},Ie=()=>{W.value=!1},Le=e=>{W.value=e,e||(G.value=``,K.value=0,q.value=void 0)},Re=()=>{W.value=!1,G.value=``,K.value=0,q.value=void 0,U.value?.reset()},J=async()=>{try{await z.value?.validate()}catch{return}N.value.captchaVerify&&!W.value||j(`captcha-submit`,{...B})},ze=()=>{B.account&&(j(`send-code`,B.account),H&&=(clearInterval(H),null),V.value=60,H=setInterval(()=>{V.value--,V.value<=0&&(clearInterval(H),H=null)},1e3))},Y=s(()=>A.qrcodeUrl?.trim()??``),Be=()=>{j(`qrcode-refresh`)},X=y(null),Z=v({phone:``,code:``,password:``,confirmPassword:``}),Q=y(0),$=null,Ve={phone:O(`手机号`,k,`手机号格式错误`),code:[{required:!0,message:D(`cl_code_rule`,`请输入验证码`),trigger:`blur`}],password:O(`密码`,je,`密码必须包含大小写字母和数字,长度6-20位`),confirmPassword:[{required:!0,message:D(`cl_confirm_pw_rule`,`请再次输入密码`),trigger:`blur`},{validator:(e,t)=>t===Z.password?!0:Error(D(`cl_pw_mismatch`,`两次密码输入不一致`)),trigger:`blur`}]},He=()=>{Z.phone&&(j(`register-send-code`,Z.phone),$&&=(clearInterval($),null),Q.value=60,$=setInterval(()=>{Q.value--,Q.value<=0&&(clearInterval($),$=null)},1e3))},Ue=async()=>{try{await X.value?.validate()}catch{return}j(`register-submit`,{...Z})};return g(()=>{H&&=(clearInterval(H),null),$&&=(clearInterval($),null)}),m({resetCaptcha:Re}),(t,r)=>{let i=ue,a=le,s=oe,m=de,h=ce,g=ae,v=se,y=fe;return _(),u(`div`,pe,[l(` ===== Logo / 标题区 ===== `),d(`div`,me,[ne(t.$slots,`logo`,{},()=>[M.value.logoIcon?(_(),u(`div`,he,[p(e,{name:M.value.logoIcon,size:36,class:`c-login__logo-icon`},null,8,[`name`])])):l(`v-if`,!0)],!0),d(`h2`,ge,b(M.value.title),1),M.value.subtitle&&P.value!==`register`?(_(),u(`p`,_e,b(M.value.subtitle),1)):l(`v-if`,!0),l(` 注册视图的副标题 `),P.value===`register`?(_(),u(`p`,ve,b(D(`cl_register`,`注册账号`)),1)):l(`v-if`,!0)]),l(` ===== 密码登录表单(默认视图) ===== `),C(p(h,{ref_key:`passwordFormRef`,ref:F,model:I,rules:Ne,class:`c-login__form`},{default:S(()=>[p(a,{path:`username`,class:`c-login__form-item`},{default:S(()=>[p(i,{value:I.username,"onUpdate:value":r[0]||=e=>I.username=e,placeholder:D(`cl_username_ph`,`请输入用户名`),clearable:``},{prefix:S(()=>[p(e,{name:`mdi:account-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),p(a,{path:`password`,class:`c-login__form-item`},{default:S(()=>[p(i,{value:I.password,"onUpdate:value":r[1]||=e=>I.password=e,type:`password`,"show-password-on":`click`,placeholder:D(`cl_password_ph`,`请输入密码`),clearable:``,onKeyup:w(R,[`enter`])},{prefix:S(()=>[p(e,{name:`mdi:lock-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),l(` 记住我 + 忘记密码 `),N.value.rememberMe||N.value.forgotPassword?(_(),u(`div`,ye,[N.value.rememberMe?(_(),c(s,{key:0,checked:L.value,"onUpdate:checked":r[2]||=e=>L.value=e,class:`c-login__remember`},{default:S(()=>[f(b(D(`cl_remember`,`记住我`)),1)]),_:1},8,[`checked`])):l(`v-if`,!0),N.value.forgotPassword?(_(),c(m,{key:1,class:`c-login__forgot`,onClick:r[3]||=e=>j(`forgot-password`)},{default:S(()=>[f(b(D(`cl_forgot`,`忘记密码?`)),1)]),_:1})):l(`v-if`,!0)])):l(`v-if`,!0)]),_:1},8,[`model`]),[[x,P.value===`password`]]),l(` ===== 验证码登录表单 ===== `),C(p(h,{ref_key:`captchaFormRef`,ref:z,model:B,rules:Pe,class:`c-login__form`},{default:S(()=>[p(a,{path:`account`,class:`c-login__form-item`},{default:S(()=>[p(i,{value:B.account,"onUpdate:value":r[4]||=e=>B.account=e,placeholder:D(`cl_phone_ph`,`请输入手机号`),clearable:``,maxlength:`11`},{prefix:S(()=>[p(e,{name:`mdi:cellphone`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),p(a,{path:`code`,class:`c-login__form-item`},{default:S(()=>[d(`div`,be,[p(i,{value:B.code,"onUpdate:value":r[5]||=e=>B.code=e,placeholder:D(`cl_code_ph`,`请输入验证码`),clearable:``,class:`c-login__code-input`,onKeyup:w(J,[`enter`])},{prefix:S(()=>[p(e,{name:`mdi:shield-key-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`]),p(g,{disabled:V.value>0||!B.account,class:`c-login__send-code-btn`,onClick:ze},{default:S(()=>[f(b(V.value>0?`${V.value}s ${D(`cl_resend`,`后重发`)}`:D(`cl_get_code`,`获取验证码`)),1)]),_:1},8,[`disabled`])])]),_:1})]),_:1},8,[`model`]),[[x,P.value===`captcha`]]),l(` ===== 登录按钮(密码和验证码模式) ===== `),P.value===`password`||P.value===`captcha`?(_(),c(g,{key:0,type:`primary`,block:``,loading:A.loading,disabled:P.value===`password`&&N.value.captchaVerify&&!W.value,class:`c-login__submit-btn`,onClick:r[6]||=e=>P.value===`password`?R():J()},{default:S(()=>[f(b(P.value===`password`&&N.value.captchaVerify&&!W.value?D(`cl_verify_first`,`请先完成人机验证`):D(`cl_login_btn`,`登 录`)),1)]),_:1},8,[`loading`,`disabled`])):l(`v-if`,!0),l(` ===== 人机验证拼图(仅密码登录模式) ===== `),N.value.captchaVerify&&P.value===`password`?(_(),u(`div`,xe,[p(n,{ref_key:`captchaRef`,ref:U,"trigger-text":``,theme:`dark`,verifier:A.captchaVerifier,"require-server-verification":A.requireCaptchaServerVerification,"verification-timeout":A.captchaVerificationTimeout,onSuccess:Fe,onFail:Ie,onChange:Le},null,8,[`verifier`,`require-server-verification`,`verification-timeout`])])):l(`v-if`,!0),l(` ===== 返回按钮(验证码子视图) ===== `),P.value===`captcha`?(_(),c(g,{key:2,block:``,class:`c-login__back-btn`,onClick:r[7]||=e=>P.value=`password`},{default:S(()=>[f(b(D(`cl_back`,`返回`)),1)]),_:1})):l(`v-if`,!0),l(` ===== 扫码登录面板 ===== `),P.value===`qrcode`?(_(),u(`div`,Se,[d(`div`,Ce,[Y.value?(_(),c(ee,{key:0,value:Y.value,size:148,margin:1,"show-border":!1,color:`#ffffff`,"bg-color":`#000000`,"error-correction-level":`M`},null,8,[`value`])):(_(),u(`div`,we,b(D(`cl_qr_missing`,`请配置二维码地址`)),1)),Y.value?(_(),u(`div`,Te)):l(`v-if`,!0),r[17]||=d(`div`,{class:`c-login__qr-corner c-login__qr-corner--tl`},null,-1),r[18]||=d(`div`,{class:`c-login__qr-corner c-login__qr-corner--tr`},null,-1),r[19]||=d(`div`,{class:`c-login__qr-corner c-login__qr-corner--bl`},null,-1),r[20]||=d(`div`,{class:`c-login__qr-corner c-login__qr-corner--br`},null,-1)]),d(`p`,Ee,[p(e,{name:`mdi:cellphone-check`,size:13}),f(` `+b(D(`cl_qr_hint`,`打开手机扫码后点击「确认」即可登录`)),1)]),p(g,{text:``,size:`tiny`,class:`c-login__qr-refresh`,onClick:Be},{icon:S(()=>[p(e,{name:`mdi:refresh`,size:12})]),default:S(()=>[f(` `+b(D(`cl_qr_refresh`,`二维码已失效?点击刷新`)),1)]),_:1})])):l(`v-if`,!0),l(` ===== 返回按钮(扫码子视图,在二维码下方) ===== `),P.value===`qrcode`?(_(),c(g,{key:4,block:``,class:`c-login__back-btn`,onClick:r[8]||=e=>P.value=`password`},{default:S(()=>[f(b(D(`cl_back`,`返回`)),1)]),_:1})):l(`v-if`,!0),l(` ===== 注册表单 ===== `),C(p(h,{ref_key:`registerFormRef`,ref:X,model:Z,rules:Ve,class:`c-login__form`},{default:S(()=>[p(a,{path:`phone`,class:`c-login__form-item`},{default:S(()=>[p(i,{value:Z.phone,"onUpdate:value":r[9]||=e=>Z.phone=e,placeholder:D(`cl_phone_ph`,`请输入手机号`),clearable:``,maxlength:`11`},{prefix:S(()=>[p(e,{name:`mdi:cellphone`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),p(a,{path:`code`,class:`c-login__form-item`},{default:S(()=>[d(`div`,De,[p(i,{value:Z.code,"onUpdate:value":r[10]||=e=>Z.code=e,placeholder:D(`cl_code_ph`,`请输入验证码`),clearable:``,class:`c-login__code-input`},{prefix:S(()=>[p(e,{name:`mdi:shield-key-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`]),p(g,{disabled:Q.value>0||!Z.phone,class:`c-login__send-code-btn`,onClick:He},{default:S(()=>[f(b(Q.value>0?`${Q.value}s ${D(`cl_resend`,`后重发`)}`:D(`cl_get_code`,`获取验证码`)),1)]),_:1},8,[`disabled`])])]),_:1}),p(a,{path:`password`,class:`c-login__form-item`},{default:S(()=>[p(i,{value:Z.password,"onUpdate:value":r[11]||=e=>Z.password=e,type:`password`,"show-password-on":`click`,placeholder:D(`cl_password_ph`,`请输入密码`)},{prefix:S(()=>[p(e,{name:`mdi:lock-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1}),p(a,{path:`confirmPassword`,class:`c-login__form-item`},{default:S(()=>[p(i,{value:Z.confirmPassword,"onUpdate:value":r[12]||=e=>Z.confirmPassword=e,type:`password`,"show-password-on":`click`,placeholder:D(`cl_confirm_pw_ph`,`请再次输入密码`),onKeyup:w(Ue,[`enter`])},{prefix:S(()=>[p(e,{name:`mdi:lock-check-outline`,size:16,class:`c-login__input-icon`})]),_:1},8,[`value`,`placeholder`])]),_:1})]),_:1},8,[`model`]),[[x,P.value===`register`]]),l(` ===== 注册确认按钮 ===== `),P.value===`register`?(_(),c(g,{key:5,type:`primary`,block:``,loading:A.loading,class:`c-login__submit-btn`,onClick:Ue},{default:S(()=>[f(b(D(`cl_confirm`,`确认`)),1)]),_:1},8,[`loading`])):l(`v-if`,!0),l(` ===== 注册视图返回按钮 ===== `),P.value===`register`?(_(),c(g,{key:6,block:``,class:`c-login__back-btn`,onClick:r[13]||=e=>P.value=`password`},{default:S(()=>[f(b(D(`cl_back`,`返回`)),1)]),_:1})):l(`v-if`,!0),l(` ===== 登录方式切换(仅密码登录默认视图显示) ===== `),P.value===`password`&&(N.value.captchaLogin||N.value.qrcodeLogin)?(_(),u(`div`,Oe,[N.value.captchaLogin?(_(),c(g,{key:0,class:`c-login__mode-btn`,size:`small`,onClick:r[14]||=e=>P.value=`captcha`},{default:S(()=>[f(b(D(`cl_captcha_login`,`验证码登录`)),1)]),_:1})):l(`v-if`,!0),N.value.qrcodeLogin?(_(),c(g,{key:1,class:`c-login__mode-btn`,size:`small`,onClick:r[15]||=e=>P.value=`qrcode`},{default:S(()=>[f(b(D(`cl_qr_login`,`扫码登录`)),1)]),_:1})):l(`v-if`,!0)])):l(`v-if`,!0),l(` ===== 其他登录方式(仅密码登录默认视图显示) ===== `),P.value===`password`&&N.value.socialLogin&&Me.value.length?(_(),u(o,{key:8},[p(v,{class:`c-login__divider`},{default:S(()=>[f(b(D(`cl_social_login`,`其他账号登录`)),1)]),_:1}),d(`div`,ke,[(_(!0),u(o,null,te(Me.value,t=>(_(),c(y,{key:t.key,trigger:`hover`,placement:`top`},{trigger:S(()=>[p(g,{circle:``,class:`c-login__social-btn`,onClick:e=>j(`social-login`,t.key)},{icon:S(()=>[p(e,{name:t.icon,size:16},null,8,[`name`])]),_:2},1032,[`onClick`])]),default:S(()=>[f(` `+b(t.label),1)]),_:2},1024))),128))])],64)):l(`v-if`,!0),l(` ===== 注册入口(仅密码登录默认视图显示) ===== `),P.value===`password`&&N.value.register?(_(),u(`div`,Ae,[p(m,{class:`c-login__register-hint`},{default:S(()=>[f(b(D(`cl_no_account`,`还没有账号?`)),1)]),_:1}),p(m,{class:`c-login__register-link`,onClick:r[16]||=e=>P.value=`register`},{default:S(()=>[f(b(D(`cl_register`,`注册账号`)),1)]),_:1})])):l(`v-if`,!0)])}}}),[[`__scopeId`,`data-v-a14d06fd`]]);export{E as n,T as r,D as t};
package/dist/C_Map.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./C_Map.js`);exports.C_Map=e.t,exports.DEFAULT_MAP_CONFIG=e.n,exports.MAP_TYPES=e.r,exports.OSM_TILE_CONFIG=e.i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./C_Map2.cjs`);exports.C_Map=e.t,exports.DEFAULT_MAP_CONFIG=e.n,exports.MAP_TYPES=e.r,exports.OSM_TILE_CONFIG=e.i;