expressa 2.0.21 → 2.0.22

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 (230) hide show
  1. package/.circleci/config.yml +21 -21
  2. package/.eslintrc.json +29 -29
  3. package/.vscode/launch.json +19 -0
  4. package/LICENSE +21 -21
  5. package/README.md +137 -137
  6. package/auth/index.js +76 -76
  7. package/auth/jwt.js +31 -31
  8. package/controllers/collections.js +260 -260
  9. package/controllers/install.js +105 -105
  10. package/controllers/status.js +43 -43
  11. package/controllers/users.js +52 -52
  12. package/cypress/fixtures/example.json +4 -4
  13. package/cypress/integration/0_install_spec.js +8 -8
  14. package/cypress/integration/custom_collections.js +30 -30
  15. package/cypress/integration/home.js +9 -9
  16. package/cypress/integration/settings.js +34 -34
  17. package/cypress/integration/users.js +61 -61
  18. package/cypress/plugins/index.js +17 -17
  19. package/cypress/support/commands.js +69 -69
  20. package/cypress/support/index.js +20 -20
  21. package/cypress/support/util.js +10 -10
  22. package/cypress.config.js +18 -18
  23. package/cypress.json +4 -4
  24. package/db/cached.js +44 -40
  25. package/db/file.js +131 -112
  26. package/db/memory.js +92 -79
  27. package/db/mongo.js +93 -86
  28. package/db/postgres.js +100 -93
  29. package/doc/authentication.md +38 -38
  30. package/doc/automatic-fields.md +12 -12
  31. package/doc/blogexample.md +16 -16
  32. package/doc/custom-endpoints.md +20 -20
  33. package/doc/database.md +23 -23
  34. package/doc/development.md +33 -33
  35. package/doc/listeners.md +103 -103
  36. package/doc/modules.md +8 -8
  37. package/doc/permissions.md +14 -14
  38. package/doc/relationships.md +65 -65
  39. package/doc/testing.md +47 -47
  40. package/doc/uploading-files.md +53 -53
  41. package/index.js +297 -297
  42. package/listeners.js +65 -65
  43. package/listeners_collection_permissions.js +29 -29
  44. package/listeners_users.js +96 -96
  45. package/listeners_validation.js +43 -43
  46. package/middleware/logging.js +30 -30
  47. package/middleware/permissions.js +41 -41
  48. package/modules/access_keys/access_keys.js +32 -32
  49. package/modules/admin/.babelrc +19 -19
  50. package/modules/admin/.editorconfig +14 -14
  51. package/modules/admin/.eslintignore +5 -5
  52. package/modules/admin/.eslintrc.js +197 -197
  53. package/modules/admin/.postcssrc.js +10 -10
  54. package/modules/admin/.travis.yml +5 -5
  55. package/modules/admin/LICENSE +21 -21
  56. package/modules/admin/README.md +88 -88
  57. package/modules/admin/build/build.js +46 -46
  58. package/modules/admin/build/check-versions.js +64 -64
  59. package/modules/admin/build/utils.js +109 -109
  60. package/modules/admin/build/vue-loader.conf.js +5 -5
  61. package/modules/admin/build/webpack.base.conf.js +112 -112
  62. package/modules/admin/build/webpack.dev.conf.js +95 -95
  63. package/modules/admin/build/webpack.prod.conf.js +112 -112
  64. package/modules/admin/config/dev.env.js +8 -8
  65. package/modules/admin/config/index.js +86 -86
  66. package/modules/admin/config/prod.env.js +5 -5
  67. package/modules/admin/dist/css/136.1055b646.css +69 -0
  68. package/modules/admin/dist/css/136.1055b646.css.gz +0 -0
  69. package/modules/admin/dist/css/{430.8c9b0482.css → 165.e83d8cfe.css} +4 -4
  70. package/modules/admin/dist/css/165.e83d8cfe.css.gz +0 -0
  71. package/modules/admin/dist/css/220.e946bda7.css.gz +0 -0
  72. package/modules/admin/dist/css/{197.7a90435e.css → 236.e66ce8d8.css} +4 -4
  73. package/modules/admin/dist/css/236.e66ce8d8.css.gz +0 -0
  74. package/modules/admin/dist/css/338.1fd9d57c.css.gz +0 -0
  75. package/modules/admin/dist/css/{566.7a90435e.css → 566.e66ce8d8.css} +4 -4
  76. package/modules/admin/dist/css/566.e66ce8d8.css.gz +0 -0
  77. package/modules/admin/dist/css/76.46fe6799.css +66 -0
  78. package/modules/admin/dist/css/76.46fe6799.css.gz +0 -0
  79. package/modules/admin/dist/css/807.f450521e.css +1 -0
  80. package/modules/admin/dist/css/807.f450521e.css.gz +0 -0
  81. package/modules/admin/dist/css/{750.4086915d.css.gz → 913.4086915d.css.gz} +0 -0
  82. package/modules/admin/dist/css/{app.eba5f5e2.css → app.1c3232a3.css} +25 -25
  83. package/modules/admin/dist/css/app.1c3232a3.css.gz +0 -0
  84. package/modules/admin/dist/index.html +1 -1
  85. package/modules/admin/dist/static/js/115.108d0dd5.js +1 -0
  86. package/modules/admin/dist/static/js/115.108d0dd5.js.gz +0 -0
  87. package/modules/admin/dist/static/js/136.1f9f4cb0.js +1 -0
  88. package/modules/admin/dist/static/js/136.1f9f4cb0.js.gz +0 -0
  89. package/modules/admin/dist/static/js/165.b3d51941.js +1 -0
  90. package/modules/admin/dist/static/js/165.b3d51941.js.gz +0 -0
  91. package/modules/admin/dist/static/js/220.02b2cd49.js +1 -0
  92. package/modules/admin/dist/static/js/220.02b2cd49.js.gz +0 -0
  93. package/modules/admin/dist/static/js/236.98c79868.js +1 -0
  94. package/modules/admin/dist/static/js/236.98c79868.js.gz +0 -0
  95. package/modules/admin/dist/static/js/338.4ba49501.js +1 -0
  96. package/modules/admin/dist/static/js/338.4ba49501.js.gz +0 -0
  97. package/modules/admin/dist/static/js/381.a05421de.js +1 -0
  98. package/modules/admin/dist/static/js/381.a05421de.js.gz +0 -0
  99. package/modules/admin/dist/static/js/412.0914ff23.js +1 -0
  100. package/modules/admin/dist/static/js/412.0914ff23.js.gz +0 -0
  101. package/modules/admin/dist/static/js/533.507df4cb.js +1 -0
  102. package/modules/admin/dist/static/js/533.507df4cb.js.gz +0 -0
  103. package/modules/admin/dist/static/js/556.d7586b89.js +1 -0
  104. package/modules/admin/dist/static/js/556.d7586b89.js.gz +0 -0
  105. package/modules/admin/dist/static/js/76.811d0e96.js +1 -0
  106. package/modules/admin/dist/static/js/76.811d0e96.js.gz +0 -0
  107. package/modules/admin/dist/static/js/807.8b7455a7.js +1 -0
  108. package/modules/admin/dist/static/js/807.8b7455a7.js.gz +0 -0
  109. package/modules/admin/dist/static/js/913.8b376386.js +1 -0
  110. package/modules/admin/dist/static/js/913.8b376386.js.gz +0 -0
  111. package/modules/admin/dist/static/js/app.834abee4.js +2 -0
  112. package/modules/admin/dist/static/js/{app.083328f8.js.LICENSE.txt → app.834abee4.js.LICENSE.txt} +3 -3
  113. package/modules/admin/dist/static/js/app.834abee4.js.LICENSE.txt.gz +0 -0
  114. package/modules/admin/dist/static/js/app.834abee4.js.gz +0 -0
  115. package/modules/admin/index.html +16 -16
  116. package/modules/admin/package.json +102 -101
  117. package/modules/admin/src/App.vue +11 -11
  118. package/modules/admin/src/api/login.js +26 -26
  119. package/modules/admin/src/api/table.js +9 -9
  120. package/modules/admin/src/components/Breadcrumb/index.vue +79 -79
  121. package/modules/admin/src/components/Hamburger/index.vue +62 -62
  122. package/modules/admin/src/components/JSONEditor.vue +206 -180
  123. package/modules/admin/src/components/SvgIcon/index.vue +43 -43
  124. package/modules/admin/src/icons/index.js +9 -9
  125. package/modules/admin/src/icons/svgo.yml +22 -22
  126. package/modules/admin/src/main.js +42 -42
  127. package/modules/admin/src/permission.js +49 -49
  128. package/modules/admin/src/router/index.js +200 -200
  129. package/modules/admin/src/store/getters.js +11 -11
  130. package/modules/admin/src/store/index.js +17 -17
  131. package/modules/admin/src/store/modules/app.js +43 -43
  132. package/modules/admin/src/store/modules/user.js +104 -104
  133. package/modules/admin/src/styles/element-ui.scss +29 -29
  134. package/modules/admin/src/styles/index.scss +78 -78
  135. package/modules/admin/src/styles/mixin.scss +27 -27
  136. package/modules/admin/src/styles/sidebar.scss +133 -133
  137. package/modules/admin/src/styles/transition.scss +46 -46
  138. package/modules/admin/src/styles/variables.scss +4 -4
  139. package/modules/admin/src/utils/auth.js +15 -15
  140. package/modules/admin/src/utils/index.js +74 -74
  141. package/modules/admin/src/utils/request.js +47 -47
  142. package/modules/admin/src/utils/validate.js +31 -31
  143. package/modules/admin/src/views/404.vue +235 -235
  144. package/modules/admin/src/views/Dev.vue +33 -33
  145. package/modules/admin/src/views/EditDocument.vue +121 -121
  146. package/modules/admin/src/views/Endpoints.vue +279 -279
  147. package/modules/admin/src/views/Home.vue +84 -84
  148. package/modules/admin/src/views/Install.vue +79 -79
  149. package/modules/admin/src/views/ListDocuments.vue +72 -72
  150. package/modules/admin/src/views/ListDocuments2.vue +467 -467
  151. package/modules/admin/src/views/ManageListeners.vue +67 -67
  152. package/modules/admin/src/views/ManageMiddleware.vue +43 -43
  153. package/modules/admin/src/views/ManagePermissions.vue +75 -75
  154. package/modules/admin/src/views/ViewRequest.vue +77 -77
  155. package/modules/admin/src/views/form/index.vue +91 -91
  156. package/modules/admin/src/views/layout/Layout.vue +69 -69
  157. package/modules/admin/src/views/layout/components/AppMain.vue +41 -41
  158. package/modules/admin/src/views/layout/components/Navbar.vue +97 -97
  159. package/modules/admin/src/views/layout/components/Sidebar/Item.vue +29 -29
  160. package/modules/admin/src/views/layout/components/Sidebar/Link.vue +39 -39
  161. package/modules/admin/src/views/layout/components/Sidebar/SidebarItem.vue +103 -103
  162. package/modules/admin/src/views/layout/components/Sidebar/index.vue +62 -62
  163. package/modules/admin/src/views/layout/components/index.js +3 -3
  164. package/modules/admin/src/views/layout/mixin/ResizeHandler.js +41 -41
  165. package/modules/admin/src/views/login/index.vue +195 -195
  166. package/modules/admin/src/views/tree/index.vue +77 -77
  167. package/modules/collections/collections.js +39 -39
  168. package/modules/core/core.js +197 -197
  169. package/modules/logging/logging.js +88 -88
  170. package/modules/permissions/permissions.js +106 -106
  171. package/package.json +59 -59
  172. package/scripts/expressa +12 -12
  173. package/scripts/run_cypress_tests.sh +35 -35
  174. package/scripts/run_db_tests.sh +8 -8
  175. package/test/0-install.js +96 -96
  176. package/test/collections.js +431 -431
  177. package/test/collections.querying.js +288 -288
  178. package/test/db.js +258 -258
  179. package/test/db.strings.js +73 -73
  180. package/test/db.updating.js +186 -144
  181. package/test/logging.js +29 -29
  182. package/test/test.js +93 -93
  183. package/test/testserver.js +30 -30
  184. package/test/testutils.js +136 -136
  185. package/test/users.js +425 -425
  186. package/util.js +522 -522
  187. package/modules/admin/dist/css/197.7a90435e.css.gz +0 -0
  188. package/modules/admin/dist/css/430.8c9b0482.css.gz +0 -0
  189. package/modules/admin/dist/css/451.c6646d20.css +0 -1
  190. package/modules/admin/dist/css/451.c6646d20.css.gz +0 -0
  191. package/modules/admin/dist/css/566.7a90435e.css.gz +0 -0
  192. package/modules/admin/dist/css/569.f7d5c7d5.css +0 -37
  193. package/modules/admin/dist/css/569.f7d5c7d5.css.gz +0 -0
  194. package/modules/admin/dist/css/572.74d8e965.css +0 -34
  195. package/modules/admin/dist/css/572.74d8e965.css.gz +0 -0
  196. package/modules/admin/dist/css/651.e946bda7.css.gz +0 -0
  197. package/modules/admin/dist/css/950.1fd9d57c.css.gz +0 -0
  198. package/modules/admin/dist/css/app.eba5f5e2.css.gz +0 -0
  199. package/modules/admin/dist/static/js/197.e511d91e.js +0 -1
  200. package/modules/admin/dist/static/js/197.e511d91e.js.gz +0 -0
  201. package/modules/admin/dist/static/js/430.b3941f30.js +0 -1
  202. package/modules/admin/dist/static/js/430.b3941f30.js.gz +0 -0
  203. package/modules/admin/dist/static/js/451.645974a8.js +0 -1
  204. package/modules/admin/dist/static/js/451.645974a8.js.gz +0 -0
  205. package/modules/admin/dist/static/js/460.962d5bc0.js +0 -1
  206. package/modules/admin/dist/static/js/460.962d5bc0.js.gz +0 -0
  207. package/modules/admin/dist/static/js/550.f27feb23.js +0 -1
  208. package/modules/admin/dist/static/js/550.f27feb23.js.gz +0 -0
  209. package/modules/admin/dist/static/js/556.1e08866a.js +0 -1
  210. package/modules/admin/dist/static/js/556.1e08866a.js.gz +0 -0
  211. package/modules/admin/dist/static/js/569.0fecfbee.js +0 -1
  212. package/modules/admin/dist/static/js/569.0fecfbee.js.gz +0 -0
  213. package/modules/admin/dist/static/js/572.13392e1d.js +0 -1
  214. package/modules/admin/dist/static/js/572.13392e1d.js.gz +0 -0
  215. package/modules/admin/dist/static/js/603.7b34a650.js +0 -1
  216. package/modules/admin/dist/static/js/603.7b34a650.js.gz +0 -0
  217. package/modules/admin/dist/static/js/651.564b24b6.js +0 -1
  218. package/modules/admin/dist/static/js/651.564b24b6.js.gz +0 -0
  219. package/modules/admin/dist/static/js/653.02ec1098.js +0 -1
  220. package/modules/admin/dist/static/js/653.02ec1098.js.gz +0 -0
  221. package/modules/admin/dist/static/js/750.50c950da.js +0 -1
  222. package/modules/admin/dist/static/js/750.50c950da.js.gz +0 -0
  223. package/modules/admin/dist/static/js/950.d4ff0a18.js +0 -1
  224. package/modules/admin/dist/static/js/950.d4ff0a18.js.gz +0 -0
  225. package/modules/admin/dist/static/js/app.083328f8.js +0 -2
  226. package/modules/admin/dist/static/js/app.083328f8.js.LICENSE.txt.gz +0 -0
  227. package/modules/admin/dist/static/js/app.083328f8.js.gz +0 -0
  228. /package/modules/admin/dist/css/{651.e946bda7.css → 220.e946bda7.css} +0 -0
  229. /package/modules/admin/dist/css/{950.1fd9d57c.css → 338.1fd9d57c.css} +0 -0
  230. /package/modules/admin/dist/css/{750.4086915d.css → 913.4086915d.css} +0 -0
@@ -22,8 +22,8 @@ object-assign
22
22
  */
23
23
 
24
24
  /*!
25
- * Vue.js v2.5.17
26
- * (c) 2014-2018 Evan You
25
+ * Vue.js v2.7.16
26
+ * (c) 2014-2023 Evan You
27
27
  * Released under the MIT License.
28
28
  */
29
29
 
@@ -38,7 +38,7 @@ object-assign
38
38
  * Date: 2023-08-28T13:37Z
39
39
  */
40
40
 
41
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
41
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
42
42
 
43
43
  /**
44
44
  * @license
@@ -1,16 +1,16 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
6
- <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js"></script>
7
- <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js"></script>
8
- <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
9
- <script src="settings.js"></script>
10
- <title>Expressa Admin</title>
11
- </head>
12
- <body>
13
- <div id="app"></div>
14
- <!-- built files will be auto injected -->
15
- </body>
16
- </html>
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
6
+ <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js"></script>
7
+ <script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js"></script>
8
+ <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
9
+ <script src="settings.js"></script>
10
+ <title>Expressa Admin</title>
11
+ </head>
12
+ <body>
13
+ <div id="app"></div>
14
+ <!-- built files will be auto injected -->
15
+ </body>
16
+ </html>
@@ -1,101 +1,102 @@
1
- {
2
- "name": "expressa-admin",
3
- "version": "0.0.1",
4
- "license": "MIT",
5
- "description": "Graphical management tool for expressa",
6
- "author": "Thomas Hansen <th4019@gmail.com>",
7
- "scripts": {
8
- "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
9
- "start": "npm run dev",
10
- "build": "node build/build.js",
11
- "build:report": "npm_config_report=true npm run build",
12
- "lint": "eslint --ext .js,.vue src --fix",
13
- "test": "npm run lint",
14
- "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
15
- },
16
- "dependencies": {
17
- "@json-editor/json-editor": "^2.5.4",
18
- "axios": "^0.21.1",
19
- "bootstrap": "^4.2.1",
20
- "dot-object": "^2.1.4",
21
- "element-ui": "^2.15.14",
22
- "file-saver": "^2.0.2",
23
- "jquery": "^3.3.1",
24
- "js-cookie": "2.2.0",
25
- "json-schema-editor": "^0.2.10",
26
- "normalize.css": "7.0.0",
27
- "nprogress": "0.2.0",
28
- "object-path": "^0.11.4",
29
- "popper.js": "^1.14.6",
30
- "react": "^16.7.0",
31
- "react-dom": "^16.7.0",
32
- "vue": "2.5.17",
33
- "vue-material-design-icons": "^2.5.0",
34
- "vue-router": "3.0.1",
35
- "vue-unicons": "^3.1.0",
36
- "vuera": "^0.2.3",
37
- "vuex": "3.0.1"
38
- },
39
- "devDependencies": {
40
- "@babel/core": "^7.26.0",
41
- "@babel/plugin-proposal-class-properties": "^7.18.6",
42
- "@babel/plugin-proposal-decorators": "^7.25.9",
43
- "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
44
- "@babel/plugin-transform-runtime": "^7.25.9",
45
- "@babel/preset-env": "^7.26.0",
46
- "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
47
- "autoprefixer": "8.5.0",
48
- "babel-core": "6.26.0",
49
- "babel-eslint": "8.2.6",
50
- "babel-helper-vue-jsx-merge-props": "2.0.3",
51
- "babel-loader": "^9.2.1",
52
- "babel-plugin-syntax-jsx": "6.18.0",
53
- "babel-plugin-transform-runtime": "6.23.0",
54
- "babel-plugin-transform-vue-jsx": "3.7.0",
55
- "chalk": "2.4.1",
56
- "compression-webpack-plugin": "^6.1.1",
57
- "copy-webpack-plugin": "^5.1.0",
58
- "css-loader": "^7.1.2",
59
- "eslint": "^7.0.0",
60
- "eslint-friendly-formatter": "^4.0.1",
61
- "eslint-loader": "^4.0.2",
62
- "eslint-plugin-vue": "^7.0.0",
63
- "file-loader": "^6.2.0",
64
- "html-webpack-plugin": "^4.0.0",
65
- "mini-css-extract-plugin": "^2.9.2",
66
- "node-notifier": "8.0.1",
67
- "ora": "3.0.0",
68
- "path-browserify": "^1.0.1",
69
- "path-to-regexp": "2.4.0",
70
- "portfinder": "1.0.16",
71
- "postcss-import": "12.0.0",
72
- "postcss-loader": "2.1.6",
73
- "postcss-url": "7.3.2",
74
- "rimraf": "2.6.2",
75
- "sass": "^1.83.0",
76
- "sass-loader": "^16.0.4",
77
- "semver": "5.5.0",
78
- "shelljs": "0.8.5",
79
- "svg-sprite-loader": "^5.2.1",
80
- "svgo": "^1.3.2",
81
- "terser-webpack-plugin": "^2.2.3",
82
- "url-loader": "^4.1.1",
83
- "vue-loader": "^15.11.1",
84
- "vue-style-loader": "4.1.2",
85
- "vue-template-compiler": "^2.5.17",
86
- "webpack": "^5.97.1",
87
- "webpack-bundle-analyzer": "^3.6.0",
88
- "webpack-cli": "^5.1.4",
89
- "webpack-dev-server": "^3.9.0",
90
- "webpack-merge": "4.1.4"
91
- },
92
- "engines": {
93
- "node": ">= 6.0.0",
94
- "npm": ">= 3.0.0"
95
- },
96
- "browserslist": [
97
- "> 1%",
98
- "last 2 versions",
99
- "not ie <= 8"
100
- ]
101
- }
1
+ {
2
+ "name": "expressa-admin",
3
+ "version": "0.0.1",
4
+ "license": "MIT",
5
+ "description": "Graphical management tool for expressa",
6
+ "author": "Thomas Hansen <th4019@gmail.com>",
7
+ "scripts": {
8
+ "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
9
+ "start": "npm run dev",
10
+ "build": "node build/build.js",
11
+ "build:report": "npm_config_report=true npm run build",
12
+ "lint": "eslint --ext .js,.vue src --fix",
13
+ "test": "npm run lint",
14
+ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
15
+ },
16
+ "dependencies": {
17
+ "@babel/runtime": "^7.28.4",
18
+ "@json-editor/json-editor": "^2.5.4",
19
+ "axios": "^0.21.1",
20
+ "bootstrap": "^4.2.1",
21
+ "dot-object": "^2.1.4",
22
+ "element-ui": "^2.15.14",
23
+ "file-saver": "^2.0.2",
24
+ "jquery": "^3.3.1",
25
+ "js-cookie": "2.2.0",
26
+ "json-schema-editor": "^0.2.10",
27
+ "normalize.css": "7.0.0",
28
+ "nprogress": "0.2.0",
29
+ "object-path": "^0.11.4",
30
+ "popper.js": "^1.14.6",
31
+ "react": "^16.7.0",
32
+ "react-dom": "^16.7.0",
33
+ "vue": "^2.7.16",
34
+ "vue-material-design-icons": "^2.5.0",
35
+ "vue-router": "3.0.1",
36
+ "vue-unicons": "^3.1.0",
37
+ "vuera": "^0.2.3",
38
+ "vuex": "3.0.1"
39
+ },
40
+ "devDependencies": {
41
+ "@babel/core": "^7.26.0",
42
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
43
+ "@babel/plugin-proposal-decorators": "^7.25.9",
44
+ "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
45
+ "@babel/plugin-transform-runtime": "^7.25.9",
46
+ "@babel/preset-env": "^7.26.0",
47
+ "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
48
+ "autoprefixer": "8.5.0",
49
+ "babel-core": "6.26.0",
50
+ "babel-eslint": "8.2.6",
51
+ "babel-helper-vue-jsx-merge-props": "2.0.3",
52
+ "babel-loader": "^9.2.1",
53
+ "babel-plugin-syntax-jsx": "6.18.0",
54
+ "babel-plugin-transform-runtime": "6.23.0",
55
+ "babel-plugin-transform-vue-jsx": "3.7.0",
56
+ "chalk": "2.4.1",
57
+ "compression-webpack-plugin": "^6.1.1",
58
+ "copy-webpack-plugin": "^5.1.0",
59
+ "css-loader": "^7.1.2",
60
+ "eslint": "^7.0.0",
61
+ "eslint-friendly-formatter": "^4.0.1",
62
+ "eslint-loader": "^4.0.2",
63
+ "eslint-plugin-vue": "^7.0.0",
64
+ "file-loader": "^6.2.0",
65
+ "html-webpack-plugin": "^4.0.0",
66
+ "mini-css-extract-plugin": "^2.9.2",
67
+ "node-notifier": "8.0.1",
68
+ "ora": "3.0.0",
69
+ "path-browserify": "^1.0.1",
70
+ "path-to-regexp": "2.4.0",
71
+ "portfinder": "1.0.16",
72
+ "postcss-import": "12.0.0",
73
+ "postcss-loader": "2.1.6",
74
+ "postcss-url": "7.3.2",
75
+ "rimraf": "2.6.2",
76
+ "sass": "^1.83.0",
77
+ "sass-loader": "^16.0.4",
78
+ "semver": "5.5.0",
79
+ "shelljs": "0.8.5",
80
+ "svg-sprite-loader": "^5.2.1",
81
+ "svgo": "^1.3.2",
82
+ "terser-webpack-plugin": "^2.2.3",
83
+ "url-loader": "^4.1.1",
84
+ "vue-loader": "^15.11.1",
85
+ "vue-style-loader": "4.1.2",
86
+ "vue-template-compiler": "^2.5.17",
87
+ "webpack": "^5.97.1",
88
+ "webpack-bundle-analyzer": "^3.6.0",
89
+ "webpack-cli": "^5.1.4",
90
+ "webpack-dev-server": "^3.9.0",
91
+ "webpack-merge": "4.1.4"
92
+ },
93
+ "engines": {
94
+ "node": ">= 6.0.0",
95
+ "npm": ">= 3.0.0"
96
+ },
97
+ "browserslist": [
98
+ "> 1%",
99
+ "last 2 versions",
100
+ "not ie <= 8"
101
+ ]
102
+ }
@@ -1,11 +1,11 @@
1
- <template>
2
- <div id="app">
3
- <router-view />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'App'
10
- }
11
- </script>
1
+ <template>
2
+ <div id="app">
3
+ <router-view />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'App'
10
+ }
11
+ </script>
@@ -1,26 +1,26 @@
1
- import request from '@/utils/request'
2
-
3
- export function login(username, password) {
4
- return request({
5
- url: '/users/login',
6
- method: 'post',
7
- data: {
8
- email: username,
9
- password
10
- }
11
- })
12
- }
13
-
14
- export function getInfo(token) {
15
- return request({
16
- url: '/users/me',
17
- method: 'get'
18
- })
19
- }
20
-
21
- export async function logout() {
22
- /* return request({
23
- url: '/users/logout',
24
- method: 'post'
25
- }) */
26
- }
1
+ import request from '@/utils/request'
2
+
3
+ export function login(username, password) {
4
+ return request({
5
+ url: '/users/login',
6
+ method: 'post',
7
+ data: {
8
+ email: username,
9
+ password
10
+ }
11
+ })
12
+ }
13
+
14
+ export function getInfo(token) {
15
+ return request({
16
+ url: '/users/me',
17
+ method: 'get'
18
+ })
19
+ }
20
+
21
+ export async function logout() {
22
+ /* return request({
23
+ url: '/users/logout',
24
+ method: 'post'
25
+ }) */
26
+ }
@@ -1,9 +1,9 @@
1
- import request from '@/utils/request'
2
-
3
- export function getList(params) {
4
- return request({
5
- url: '/table/list',
6
- method: 'get',
7
- params
8
- })
9
- }
1
+ import request from '@/utils/request'
2
+
3
+ export function getList(params) {
4
+ return request({
5
+ url: '/table/list',
6
+ method: 'get',
7
+ params
8
+ })
9
+ }
@@ -1,79 +1,79 @@
1
- <template>
2
- <el-breadcrumb class="app-breadcrumb" separator="/">
3
- <transition-group name="breadcrumb">
4
- <el-breadcrumb-item v-for="(item,index) in filteredLevelList" :key="item.path">
5
- <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
6
- <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
7
- </el-breadcrumb-item>
8
- </transition-group>
9
- </el-breadcrumb>
10
- </template>
11
-
12
- <script>
13
- import pathToRegexp from 'path-to-regexp'
14
-
15
- export default {
16
- data() {
17
- return {
18
- levelList: null
19
- }
20
- },
21
- computed: {
22
- filteredLevelList: function() {
23
- return this.levelList.filter(element => element.meta.title)
24
- }
25
- },
26
- watch: {
27
- $route() {
28
- this.getBreadcrumb()
29
- }
30
- },
31
- created() {
32
- this.getBreadcrumb()
33
- },
34
- methods: {
35
- getBreadcrumb() {
36
- let matched = this.$route.matched.filter(item => {
37
- if (item.name) {
38
- return true
39
- }
40
- })
41
- const first = matched[0]
42
- if (first && first.name !== 'home') {
43
- matched = [{ path: '/home', meta: { title: 'Home' }}].concat(matched)
44
- }
45
- this.levelList = matched
46
- },
47
- pathCompile(path) {
48
- // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
49
- const { params } = this.$route
50
- var toPath = pathToRegexp.compile(path)
51
- return toPath(params)
52
- },
53
- handleLink(item) {
54
- const { redirect, path } = item
55
- console.log('handleLink')
56
- console.log(redirect)
57
- console.log(path)
58
- if (redirect) {
59
- this.$router.push(redirect)
60
- return
61
- }
62
- this.$router.push(this.pathCompile(path))
63
- }
64
- }
65
- }
66
- </script>
67
-
68
- <style rel="stylesheet/scss" lang="scss" scoped>
69
- .app-breadcrumb.el-breadcrumb {
70
- display: inline-block;
71
- font-size: 14px;
72
- line-height: 50px;
73
- margin-left: 10px;
74
- .no-redirect {
75
- color: #97a8be;
76
- cursor: text;
77
- }
78
- }
79
- </style>
1
+ <template>
2
+ <el-breadcrumb class="app-breadcrumb" separator="/">
3
+ <transition-group name="breadcrumb">
4
+ <el-breadcrumb-item v-for="(item,index) in filteredLevelList" :key="item.path">
5
+ <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
6
+ <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
7
+ </el-breadcrumb-item>
8
+ </transition-group>
9
+ </el-breadcrumb>
10
+ </template>
11
+
12
+ <script>
13
+ import pathToRegexp from 'path-to-regexp'
14
+
15
+ export default {
16
+ data() {
17
+ return {
18
+ levelList: null
19
+ }
20
+ },
21
+ computed: {
22
+ filteredLevelList: function() {
23
+ return this.levelList.filter(element => element.meta.title)
24
+ }
25
+ },
26
+ watch: {
27
+ $route() {
28
+ this.getBreadcrumb()
29
+ }
30
+ },
31
+ created() {
32
+ this.getBreadcrumb()
33
+ },
34
+ methods: {
35
+ getBreadcrumb() {
36
+ let matched = this.$route.matched.filter(item => {
37
+ if (item.name) {
38
+ return true
39
+ }
40
+ })
41
+ const first = matched[0]
42
+ if (first && first.name !== 'home') {
43
+ matched = [{ path: '/home', meta: { title: 'Home' }}].concat(matched)
44
+ }
45
+ this.levelList = matched
46
+ },
47
+ pathCompile(path) {
48
+ // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
49
+ const { params } = this.$route
50
+ var toPath = pathToRegexp.compile(path)
51
+ return toPath(params)
52
+ },
53
+ handleLink(item) {
54
+ const { redirect, path } = item
55
+ console.log('handleLink')
56
+ console.log(redirect)
57
+ console.log(path)
58
+ if (redirect) {
59
+ this.$router.push(redirect)
60
+ return
61
+ }
62
+ this.$router.push(this.pathCompile(path))
63
+ }
64
+ }
65
+ }
66
+ </script>
67
+
68
+ <style rel="stylesheet/scss" lang="scss" scoped>
69
+ .app-breadcrumb.el-breadcrumb {
70
+ display: inline-block;
71
+ font-size: 14px;
72
+ line-height: 50px;
73
+ margin-left: 10px;
74
+ .no-redirect {
75
+ color: #97a8be;
76
+ cursor: text;
77
+ }
78
+ }
79
+ </style>
@@ -1,62 +1,62 @@
1
- <template>
2
- <div>
3
- <svg
4
- :class="{'is-active':isActive}"
5
- t="1492500959545"
6
- class="hamburger"
7
- style=""
8
- viewBox="0 0 1024 1024"
9
- version="1.1"
10
- xmlns="http://www.w3.org/2000/svg"
11
- p-id="1691"
12
- xmlns:xlink="http://www.w3.org/1999/xlink"
13
- width="64"
14
- height="64"
15
- @click="toggleClick"
16
- >
17
- <path
18
- d="M966.8023 568.849776 57.196677 568.849776c-31.397081 0-56.850799-25.452695-56.850799-56.850799l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 543.397081 998.200404 568.849776 966.8023 568.849776z"
19
- p-id="1692"
20
- />
21
- <path
22
- d="M966.8023 881.527125 57.196677 881.527125c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 856.07443 998.200404 881.527125 966.8023 881.527125z"
23
- p-id="1693"
24
- />
25
- <path
26
- d="M966.8023 256.17345 57.196677 256.17345c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.850799 56.850799-56.850799l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.850799l0 0C1023.653099 230.720755 998.200404 256.17345 966.8023 256.17345z"
27
- p-id="1694"
28
- />
29
- </svg>
30
- </div>
31
- </template>
32
-
33
- <script>
34
- export default {
35
- name: 'Hamburger',
36
- props: {
37
- isActive: {
38
- type: Boolean,
39
- default: false
40
- },
41
- toggleClick: {
42
- type: Function,
43
- default: null
44
- }
45
- }
46
- }
47
- </script>
48
-
49
- <style scoped>
50
- .hamburger {
51
- display: inline-block;
52
- cursor: pointer;
53
- width: 20px;
54
- height: 20px;
55
- transform: rotate(90deg);
56
- transition: .38s;
57
- transform-origin: 50% 50%;
58
- }
59
- .hamburger.is-active {
60
- transform: rotate(0deg);
61
- }
62
- </style>
1
+ <template>
2
+ <div>
3
+ <svg
4
+ :class="{'is-active':isActive}"
5
+ t="1492500959545"
6
+ class="hamburger"
7
+ style=""
8
+ viewBox="0 0 1024 1024"
9
+ version="1.1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ p-id="1691"
12
+ xmlns:xlink="http://www.w3.org/1999/xlink"
13
+ width="64"
14
+ height="64"
15
+ @click="toggleClick"
16
+ >
17
+ <path
18
+ d="M966.8023 568.849776 57.196677 568.849776c-31.397081 0-56.850799-25.452695-56.850799-56.850799l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 543.397081 998.200404 568.849776 966.8023 568.849776z"
19
+ p-id="1692"
20
+ />
21
+ <path
22
+ d="M966.8023 881.527125 57.196677 881.527125c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 856.07443 998.200404 881.527125 966.8023 881.527125z"
23
+ p-id="1693"
24
+ />
25
+ <path
26
+ d="M966.8023 256.17345 57.196677 256.17345c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.850799 56.850799-56.850799l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.850799l0 0C1023.653099 230.720755 998.200404 256.17345 966.8023 256.17345z"
27
+ p-id="1694"
28
+ />
29
+ </svg>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ export default {
35
+ name: 'Hamburger',
36
+ props: {
37
+ isActive: {
38
+ type: Boolean,
39
+ default: false
40
+ },
41
+ toggleClick: {
42
+ type: Function,
43
+ default: null
44
+ }
45
+ }
46
+ }
47
+ </script>
48
+
49
+ <style scoped>
50
+ .hamburger {
51
+ display: inline-block;
52
+ cursor: pointer;
53
+ width: 20px;
54
+ height: 20px;
55
+ transform: rotate(90deg);
56
+ transition: .38s;
57
+ transform-origin: 50% 50%;
58
+ }
59
+ .hamburger.is-active {
60
+ transform: rotate(0deg);
61
+ }
62
+ </style>