examples.ts 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import { BasicLayout } from '#/layouts';
  3. import { $t } from '#/locales';
  4. const routes: RouteRecordRaw[] = [
  5. {
  6. component: BasicLayout,
  7. meta: {
  8. icon: 'ion:layers-outline',
  9. keepAlive: true,
  10. order: 1000,
  11. title: $t('examples.title'),
  12. },
  13. name: 'Examples',
  14. path: '/examples',
  15. children: [
  16. {
  17. name: 'FormExample',
  18. path: '/examples/form',
  19. meta: {
  20. icon: 'mdi:form-select',
  21. title: $t('examples.form.title'),
  22. },
  23. children: [
  24. {
  25. name: 'FormBasicExample',
  26. path: '/examples/form/basic',
  27. component: () => import('#/views/examples/form/basic.vue'),
  28. meta: {
  29. title: $t('examples.form.basic'),
  30. },
  31. },
  32. {
  33. name: 'FormQueryExample',
  34. path: '/examples/form/query',
  35. component: () => import('#/views/examples/form/query.vue'),
  36. meta: {
  37. title: $t('examples.form.query'),
  38. },
  39. },
  40. {
  41. name: 'FormRulesExample',
  42. path: '/examples/form/rules',
  43. component: () => import('#/views/examples/form/rules.vue'),
  44. meta: {
  45. title: $t('examples.form.rules'),
  46. },
  47. },
  48. {
  49. name: 'FormDynamicExample',
  50. path: '/examples/form/dynamic',
  51. component: () => import('#/views/examples/form/dynamic.vue'),
  52. meta: {
  53. title: $t('examples.form.dynamic'),
  54. },
  55. },
  56. {
  57. name: 'FormCustomExample',
  58. path: '/examples/form/custom',
  59. component: () => import('#/views/examples/form/custom.vue'),
  60. meta: {
  61. title: $t('examples.form.custom'),
  62. },
  63. },
  64. {
  65. name: 'FormApiExample',
  66. path: '/examples/form/api',
  67. component: () => import('#/views/examples/form/api.vue'),
  68. meta: {
  69. title: $t('examples.form.api'),
  70. },
  71. },
  72. {
  73. name: 'FormMergeExample',
  74. path: '/examples/form/merge',
  75. component: () => import('#/views/examples/form/merge.vue'),
  76. meta: {
  77. title: $t('examples.form.merge'),
  78. },
  79. },
  80. ],
  81. },
  82. {
  83. name: 'VxeTableExample',
  84. path: '/examples/vxe-table',
  85. meta: {
  86. icon: 'lucide:table',
  87. title: $t('examples.vxeTable.title'),
  88. },
  89. children: [
  90. {
  91. name: 'VxeTableBasicExample',
  92. path: '/examples/vxe-table/basic',
  93. component: () => import('#/views/examples/vxe-table/basic.vue'),
  94. meta: {
  95. title: $t('examples.vxeTable.basic'),
  96. },
  97. },
  98. {
  99. name: 'VxeTableRemoteExample',
  100. path: '/examples/vxe-table/remote',
  101. component: () => import('#/views/examples/vxe-table/remote.vue'),
  102. meta: {
  103. title: $t('examples.vxeTable.remote'),
  104. },
  105. },
  106. {
  107. name: 'VxeTableTreeExample',
  108. path: '/examples/vxe-table/tree',
  109. component: () => import('#/views/examples/vxe-table/tree.vue'),
  110. meta: {
  111. title: $t('examples.vxeTable.tree'),
  112. },
  113. },
  114. {
  115. name: 'VxeTableFixedExample',
  116. path: '/examples/vxe-table/fixed',
  117. component: () => import('#/views/examples/vxe-table/fixed.vue'),
  118. meta: {
  119. title: $t('examples.vxeTable.fixed'),
  120. },
  121. },
  122. {
  123. name: 'VxeTableCustomCellExample',
  124. path: '/examples/vxe-table/custom-cell',
  125. component: () =>
  126. import('#/views/examples/vxe-table/custom-cell.vue'),
  127. meta: {
  128. title: $t('examples.vxeTable.custom-cell'),
  129. },
  130. },
  131. {
  132. name: 'VxeTableFormExample',
  133. path: '/examples/vxe-table/form',
  134. component: () => import('#/views/examples/vxe-table/form.vue'),
  135. meta: {
  136. title: $t('examples.vxeTable.form'),
  137. },
  138. },
  139. {
  140. name: 'VxeTableEditCellExample',
  141. path: '/examples/vxe-table/edit-cell',
  142. component: () => import('#/views/examples/vxe-table/edit-cell.vue'),
  143. meta: {
  144. title: $t('examples.vxeTable.editCell'),
  145. },
  146. },
  147. {
  148. name: 'VxeTableEditRowExample',
  149. path: '/examples/vxe-table/edit-row',
  150. component: () => import('#/views/examples/vxe-table/edit-row.vue'),
  151. meta: {
  152. title: $t('examples.vxeTable.editRow'),
  153. },
  154. },
  155. {
  156. name: 'VxeTableVirtualExample',
  157. path: '/examples/vxe-table/virtual',
  158. component: () => import('#/views/examples/vxe-table/virtual.vue'),
  159. meta: {
  160. title: $t('examples.vxeTable.virtual'),
  161. },
  162. },
  163. ],
  164. },
  165. {
  166. name: 'CaptchaExample',
  167. path: '/examples/captcha',
  168. meta: {
  169. icon: 'logos:recaptcha',
  170. title: $t('examples.captcha.title'),
  171. },
  172. children: [
  173. {
  174. name: 'DragVerifyExample',
  175. path: '/examples/captcha/slider',
  176. component: () =>
  177. import('#/views/examples/captcha/slider-captcha.vue'),
  178. meta: {
  179. title: $t('examples.captcha.sliderCaptcha'),
  180. },
  181. },
  182. {
  183. name: 'RotateVerifyExample',
  184. path: '/examples/captcha/slider-rotate',
  185. component: () =>
  186. import('#/views/examples/captcha/slider-rotate-captcha.vue'),
  187. meta: {
  188. title: $t('examples.captcha.sliderRotateCaptcha'),
  189. },
  190. },
  191. {
  192. name: 'CaptchaPointSelectionExample',
  193. path: '/examples/captcha/point-selection',
  194. component: () =>
  195. import('#/views/examples/captcha/point-selection-captcha.vue'),
  196. meta: {
  197. title: $t('examples.captcha.pointSelection'),
  198. },
  199. },
  200. ],
  201. },
  202. {
  203. name: 'ModalExample',
  204. path: '/examples/modal',
  205. component: () => import('#/views/examples/modal/index.vue'),
  206. meta: {
  207. icon: 'system-uicons:window-content',
  208. title: $t('examples.modal.title'),
  209. },
  210. },
  211. {
  212. name: 'DrawerExample',
  213. path: '/examples/drawer',
  214. component: () => import('#/views/examples/drawer/index.vue'),
  215. meta: {
  216. icon: 'iconoir:drawer',
  217. title: $t('examples.drawer.title'),
  218. },
  219. },
  220. {
  221. name: 'EllipsisExample',
  222. path: '/examples/ellipsis',
  223. component: () => import('#/views/examples/ellipsis/index.vue'),
  224. meta: {
  225. icon: 'ion:ellipsis-horizontal',
  226. title: $t('examples.ellipsis.title'),
  227. },
  228. },
  229. {
  230. name: 'VueResizeDemo',
  231. path: '/demos/resize/basic',
  232. component: () => import('#/views/examples/resize/basic.vue'),
  233. meta: {
  234. icon: 'material-symbols:resize',
  235. title: $t('examples.resize.title'),
  236. },
  237. },
  238. ],
  239. },
  240. ];
  241. export default routes;