expressa 2.0.14 → 2.0.16

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 (206) hide show
  1. package/.circleci/config.yml +21 -21
  2. package/.eslintrc.json +29 -29
  3. package/LICENSE +21 -21
  4. package/README.md +137 -137
  5. package/auth/index.js +76 -76
  6. package/auth/jwt.js +31 -31
  7. package/controllers/collections.js +258 -258
  8. package/controllers/install.js +105 -105
  9. package/controllers/status.js +43 -43
  10. package/controllers/users.js +52 -52
  11. package/cypress/fixtures/example.json +4 -4
  12. package/cypress/integration/0_install_spec.js +8 -8
  13. package/cypress/integration/custom_collections.js +28 -28
  14. package/cypress/integration/home.js +9 -9
  15. package/cypress/integration/settings.js +34 -34
  16. package/cypress/integration/users.js +61 -61
  17. package/cypress/plugins/index.js +17 -17
  18. package/cypress/support/commands.js +54 -54
  19. package/cypress/support/index.js +20 -20
  20. package/cypress/support/util.js +10 -10
  21. package/cypress.json +4 -4
  22. package/db/cached.js +40 -40
  23. package/db/file.js +112 -112
  24. package/db/memory.js +79 -79
  25. package/db/mongo.js +86 -86
  26. package/db/postgres.js +93 -93
  27. package/doc/authentication.md +38 -38
  28. package/doc/automatic-fields.md +12 -12
  29. package/doc/blogexample.md +16 -16
  30. package/doc/custom-endpoints.md +20 -20
  31. package/doc/database.md +23 -23
  32. package/doc/development.md +33 -33
  33. package/doc/listeners.md +103 -103
  34. package/doc/modules.md +8 -8
  35. package/doc/permissions.md +14 -14
  36. package/doc/relationships.md +65 -65
  37. package/doc/testing.md +47 -47
  38. package/doc/uploading-files.md +53 -53
  39. package/index.js +297 -297
  40. package/listeners.js +65 -65
  41. package/listeners_collection_permissions.js +29 -29
  42. package/listeners_users.js +96 -96
  43. package/listeners_validation.js +43 -43
  44. package/middleware/logging.js +30 -30
  45. package/middleware/permissions.js +41 -47
  46. package/modules/access_keys/access_keys.js +32 -32
  47. package/modules/admin/.babelrc +12 -12
  48. package/modules/admin/.editorconfig +14 -14
  49. package/modules/admin/.eslintignore +5 -5
  50. package/modules/admin/.eslintrc.js +197 -197
  51. package/modules/admin/.postcssrc.js +10 -10
  52. package/modules/admin/.travis.yml +5 -5
  53. package/modules/admin/LICENSE +21 -21
  54. package/modules/admin/README.md +88 -88
  55. package/modules/admin/build/build.js +45 -45
  56. package/modules/admin/build/check-versions.js +64 -64
  57. package/modules/admin/build/utils.js +108 -108
  58. package/modules/admin/build/vue-loader.conf.js +5 -5
  59. package/modules/admin/build/webpack.base.conf.js +108 -108
  60. package/modules/admin/build/webpack.dev.conf.js +95 -95
  61. package/modules/admin/build/webpack.prod.conf.js +171 -171
  62. package/modules/admin/config/dev.env.js +8 -8
  63. package/modules/admin/config/index.js +86 -86
  64. package/modules/admin/config/prod.env.js +5 -5
  65. package/modules/admin/index.html +16 -16
  66. package/modules/admin/package.json +98 -98
  67. package/modules/admin/src/App.vue +11 -11
  68. package/modules/admin/src/api/login.js +26 -26
  69. package/modules/admin/src/api/table.js +9 -9
  70. package/modules/admin/src/components/Breadcrumb/index.vue +79 -79
  71. package/modules/admin/src/components/Hamburger/index.vue +62 -62
  72. package/modules/admin/src/components/JSONEditor.vue +180 -180
  73. package/modules/admin/src/components/SvgIcon/index.vue +43 -43
  74. package/modules/admin/src/icons/index.js +9 -9
  75. package/modules/admin/src/icons/svgo.yml +22 -22
  76. package/modules/admin/src/permission.js +49 -49
  77. package/modules/admin/src/router/index.js +200 -200
  78. package/modules/admin/src/store/getters.js +11 -11
  79. package/modules/admin/src/store/index.js +17 -17
  80. package/modules/admin/src/store/modules/app.js +43 -43
  81. package/modules/admin/src/store/modules/user.js +104 -104
  82. package/modules/admin/src/styles/element-ui.scss +29 -29
  83. package/modules/admin/src/styles/index.scss +78 -78
  84. package/modules/admin/src/styles/mixin.scss +27 -27
  85. package/modules/admin/src/styles/sidebar.scss +133 -133
  86. package/modules/admin/src/styles/transition.scss +46 -46
  87. package/modules/admin/src/styles/variables.scss +4 -4
  88. package/modules/admin/src/utils/auth.js +15 -15
  89. package/modules/admin/src/utils/index.js +74 -74
  90. package/modules/admin/src/utils/request.js +48 -48
  91. package/modules/admin/src/utils/validate.js +31 -31
  92. package/modules/admin/src/views/404.vue +235 -235
  93. package/modules/admin/src/views/Dev.vue +33 -33
  94. package/modules/admin/src/views/EditDocument.vue +116 -116
  95. package/modules/admin/src/views/Endpoints.vue +279 -279
  96. package/modules/admin/src/views/Home.vue +84 -84
  97. package/modules/admin/src/views/Install.vue +79 -79
  98. package/modules/admin/src/views/ListDocuments.vue +72 -72
  99. package/modules/admin/src/views/ListDocuments2.vue +462 -462
  100. package/modules/admin/src/views/ManageListeners.vue +67 -67
  101. package/modules/admin/src/views/ManageMiddleware.vue +43 -43
  102. package/modules/admin/src/views/ManagePermissions.vue +75 -75
  103. package/modules/admin/src/views/ViewRequest.vue +77 -77
  104. package/modules/admin/src/views/form/index.vue +91 -91
  105. package/modules/admin/src/views/layout/Layout.vue +69 -69
  106. package/modules/admin/src/views/layout/components/AppMain.vue +41 -41
  107. package/modules/admin/src/views/layout/components/Navbar.vue +97 -97
  108. package/modules/admin/src/views/layout/components/Sidebar/Item.vue +29 -29
  109. package/modules/admin/src/views/layout/components/Sidebar/Link.vue +39 -39
  110. package/modules/admin/src/views/layout/components/Sidebar/SidebarItem.vue +103 -103
  111. package/modules/admin/src/views/layout/components/Sidebar/index.vue +62 -62
  112. package/modules/admin/src/views/layout/components/index.js +3 -3
  113. package/modules/admin/src/views/layout/mixin/ResizeHandler.js +41 -41
  114. package/modules/admin/src/views/login/index.vue +195 -195
  115. package/modules/admin/src/views/tree/index.vue +77 -77
  116. package/modules/collections/collections.js +39 -39
  117. package/modules/core/core.js +197 -197
  118. package/modules/logging/logging.js +88 -88
  119. package/modules/permissions/permissions.js +106 -106
  120. package/package.json +59 -59
  121. package/scripts/expressa +12 -12
  122. package/scripts/run_cypress_tests.sh +5 -5
  123. package/scripts/run_db_tests.sh +8 -8
  124. package/test/0-install.js +96 -96
  125. package/test/collections.js +431 -423
  126. package/test/collections.querying.js +289 -269
  127. package/test/db.js +258 -250
  128. package/test/db.strings.js +73 -73
  129. package/test/db.updating.js +144 -144
  130. package/test/logging.js +29 -29
  131. package/test/test.js +94 -94
  132. package/test/testserver.js +17 -17
  133. package/test/testutils.js +136 -136
  134. package/test/users.js +425 -425
  135. package/util.js +522 -504
  136. package/modules/admin/dist/favicon.ico +0 -0
  137. package/modules/admin/dist/index.html +0 -1
  138. package/modules/admin/dist/index.html.gz +0 -0
  139. package/modules/admin/dist/static/css/app.9dd57eea.css +0 -1
  140. package/modules/admin/dist/static/css/app.9dd57eea.css.gz +0 -0
  141. package/modules/admin/dist/static/css/chunk-5061.ce0e4bdb.css +0 -1
  142. package/modules/admin/dist/static/css/chunk-5061.ce0e4bdb.css.gz +0 -0
  143. package/modules/admin/dist/static/css/chunk-5b97.7f9cb53e.css +0 -1
  144. package/modules/admin/dist/static/css/chunk-5b97.7f9cb53e.css.gz +0 -0
  145. package/modules/admin/dist/static/css/chunk-621e.b826be8d.css +0 -1
  146. package/modules/admin/dist/static/css/chunk-621e.b826be8d.css.gz +0 -0
  147. package/modules/admin/dist/static/css/chunk-656b.9c828b00.css +0 -1
  148. package/modules/admin/dist/static/css/chunk-656b.9c828b00.css.gz +0 -0
  149. package/modules/admin/dist/static/css/chunk-7291.13514e45.css +0 -0
  150. package/modules/admin/dist/static/css/chunk-7291.13514e45.css.gz +0 -0
  151. package/modules/admin/dist/static/css/chunk-7f29.9c828b00.css +0 -1
  152. package/modules/admin/dist/static/css/chunk-7f29.9c828b00.css.gz +0 -0
  153. package/modules/admin/dist/static/css/chunk-9a95.c647a2ef.css +0 -1
  154. package/modules/admin/dist/static/css/chunk-9a95.c647a2ef.css.gz +0 -0
  155. package/modules/admin/dist/static/css/chunk-b423.5f239333.css +0 -0
  156. package/modules/admin/dist/static/css/chunk-b423.5f239333.css.gz +0 -0
  157. package/modules/admin/dist/static/css/chunk-bd5f.aefa49d7.css +0 -1
  158. package/modules/admin/dist/static/css/chunk-bd5f.aefa49d7.css.gz +0 -0
  159. package/modules/admin/dist/static/css/chunk-e374.025d58bb.css +0 -1
  160. package/modules/admin/dist/static/css/chunk-e374.025d58bb.css.gz +0 -0
  161. package/modules/admin/dist/static/css/chunk-elementUI.3d004d9f.css +0 -1
  162. package/modules/admin/dist/static/css/chunk-elementUI.3d004d9f.css.gz +0 -0
  163. package/modules/admin/dist/static/css/chunk-f075.3a895a1e.css +0 -1
  164. package/modules/admin/dist/static/css/chunk-f075.3a895a1e.css.gz +0 -0
  165. package/modules/admin/dist/static/css/chunk-libs.327ad89e.css +0 -14
  166. package/modules/admin/dist/static/css/chunk-libs.327ad89e.css.gz +0 -0
  167. package/modules/admin/dist/static/fonts/element-icons.6f0a763.ttf +0 -0
  168. package/modules/admin/dist/static/img/404.a57b6f3.png +0 -0
  169. package/modules/admin/dist/static/js/app.e9461593.js +0 -1
  170. package/modules/admin/dist/static/js/app.e9461593.js.gz +0 -0
  171. package/modules/admin/dist/static/js/chunk-09d8.561880e0.js +0 -2
  172. package/modules/admin/dist/static/js/chunk-09d8.561880e0.js.LICENSE.txt +0 -13
  173. package/modules/admin/dist/static/js/chunk-09d8.561880e0.js.LICENSE.txt.gz +0 -0
  174. package/modules/admin/dist/static/js/chunk-09d8.561880e0.js.gz +0 -0
  175. package/modules/admin/dist/static/js/chunk-5061.83e6ccfa.js +0 -1
  176. package/modules/admin/dist/static/js/chunk-5061.83e6ccfa.js.gz +0 -0
  177. package/modules/admin/dist/static/js/chunk-5b97.ac360086.js +0 -1
  178. package/modules/admin/dist/static/js/chunk-5b97.ac360086.js.gz +0 -0
  179. package/modules/admin/dist/static/js/chunk-5e17.a2b69611.js +0 -1
  180. package/modules/admin/dist/static/js/chunk-5e17.a2b69611.js.gz +0 -0
  181. package/modules/admin/dist/static/js/chunk-621e.ccf42393.js +0 -1
  182. package/modules/admin/dist/static/js/chunk-621e.ccf42393.js.gz +0 -0
  183. package/modules/admin/dist/static/js/chunk-656b.9d5b03c0.js +0 -1
  184. package/modules/admin/dist/static/js/chunk-656b.9d5b03c0.js.gz +0 -0
  185. package/modules/admin/dist/static/js/chunk-7291.590524e9.js +0 -1
  186. package/modules/admin/dist/static/js/chunk-7291.590524e9.js.gz +0 -0
  187. package/modules/admin/dist/static/js/chunk-7f29.6ffc142e.js +0 -1
  188. package/modules/admin/dist/static/js/chunk-7f29.6ffc142e.js.gz +0 -0
  189. package/modules/admin/dist/static/js/chunk-9a95.bdd76583.js +0 -1
  190. package/modules/admin/dist/static/js/chunk-9a95.bdd76583.js.gz +0 -0
  191. package/modules/admin/dist/static/js/chunk-b423.387c504c.js +0 -1
  192. package/modules/admin/dist/static/js/chunk-b423.387c504c.js.gz +0 -0
  193. package/modules/admin/dist/static/js/chunk-bd5f.e9509f10.js +0 -1
  194. package/modules/admin/dist/static/js/chunk-bd5f.e9509f10.js.gz +0 -0
  195. package/modules/admin/dist/static/js/chunk-e374.7c87a0dd.js +0 -1
  196. package/modules/admin/dist/static/js/chunk-e374.7c87a0dd.js.gz +0 -0
  197. package/modules/admin/dist/static/js/chunk-e7c3.e5df8ceb.js +0 -1
  198. package/modules/admin/dist/static/js/chunk-e7c3.e5df8ceb.js.gz +0 -0
  199. package/modules/admin/dist/static/js/chunk-elementUI.b0c99c08.js +0 -1
  200. package/modules/admin/dist/static/js/chunk-elementUI.b0c99c08.js.gz +0 -0
  201. package/modules/admin/dist/static/js/chunk-f075.315ceec1.js +0 -1
  202. package/modules/admin/dist/static/js/chunk-f075.315ceec1.js.gz +0 -0
  203. package/modules/admin/dist/static/js/chunk-libs.06c38828.js +0 -2
  204. package/modules/admin/dist/static/js/chunk-libs.06c38828.js.LICENSE.txt +0 -126
  205. package/modules/admin/dist/static/js/chunk-libs.06c38828.js.LICENSE.txt.gz +0 -0
  206. package/modules/admin/dist/static/js/chunk-libs.06c38828.js.gz +0 -0
@@ -1,98 +1,98 @@
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.4.6",
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
- "autoprefixer": "8.5.0",
41
- "babel-core": "6.26.0",
42
- "babel-eslint": "8.2.6",
43
- "babel-helper-vue-jsx-merge-props": "2.0.3",
44
- "babel-loader": "7.1.5",
45
- "babel-plugin-syntax-jsx": "6.18.0",
46
- "babel-plugin-transform-runtime": "6.23.0",
47
- "babel-plugin-transform-vue-jsx": "3.7.0",
48
- "babel-preset-env": "1.7.0",
49
- "babel-preset-stage-2": "6.24.1",
50
- "chalk": "2.4.1",
51
- "compression-webpack-plugin": "^6.1.1",
52
- "copy-webpack-plugin": "^5.1.0",
53
- "css-loader": "1.0.0",
54
- "eslint": "^7.0.0",
55
- "eslint-friendly-formatter": "^4.0.1",
56
- "eslint-loader": "^4.0.2",
57
- "eslint-plugin-vue": "^7.0.0",
58
- "file-loader": "1.1.11",
59
- "friendly-errors-webpack-plugin": "1.7.0",
60
- "html-webpack-plugin": "^4.0.0",
61
- "mini-css-extract-plugin": "0.4.1",
62
- "node-notifier": "8.0.1",
63
- "node-sass": "^6.0.1",
64
- "optimize-css-assets-webpack-plugin": "5.0.0",
65
- "ora": "3.0.0",
66
- "path-to-regexp": "2.4.0",
67
- "portfinder": "1.0.16",
68
- "postcss-import": "12.0.0",
69
- "postcss-loader": "2.1.6",
70
- "postcss-url": "7.3.2",
71
- "rimraf": "2.6.2",
72
- "sass-loader": "7.0.3",
73
- "script-ext-html-webpack-plugin": "^2.1.5",
74
- "semver": "5.5.0",
75
- "shelljs": "0.8.5",
76
- "svg-sprite-loader": "3.8.0",
77
- "svgo": "^1.3.2",
78
- "terser-webpack-plugin": "^2.2.3",
79
- "url-loader": "1.0.1",
80
- "vue-loader": "15.3.0",
81
- "vue-style-loader": "4.1.2",
82
- "vue-template-compiler": "2.5.17",
83
- "webpack": "^4.41.2",
84
- "webpack-bundle-analyzer": "^3.6.0",
85
- "webpack-cli": "^3.3.11",
86
- "webpack-dev-server": "^3.9.0",
87
- "webpack-merge": "4.1.4"
88
- },
89
- "engines": {
90
- "node": ">= 6.0.0",
91
- "npm": ">= 3.0.0"
92
- },
93
- "browserslist": [
94
- "> 1%",
95
- "last 2 versions",
96
- "not ie <= 8"
97
- ]
98
- }
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.4.6",
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
+ "autoprefixer": "8.5.0",
41
+ "babel-core": "6.26.0",
42
+ "babel-eslint": "8.2.6",
43
+ "babel-helper-vue-jsx-merge-props": "2.0.3",
44
+ "babel-loader": "7.1.5",
45
+ "babel-plugin-syntax-jsx": "6.18.0",
46
+ "babel-plugin-transform-runtime": "6.23.0",
47
+ "babel-plugin-transform-vue-jsx": "3.7.0",
48
+ "babel-preset-env": "1.7.0",
49
+ "babel-preset-stage-2": "6.24.1",
50
+ "chalk": "2.4.1",
51
+ "compression-webpack-plugin": "^6.1.1",
52
+ "copy-webpack-plugin": "^5.1.0",
53
+ "css-loader": "1.0.0",
54
+ "eslint": "^7.0.0",
55
+ "eslint-friendly-formatter": "^4.0.1",
56
+ "eslint-loader": "^4.0.2",
57
+ "eslint-plugin-vue": "^7.0.0",
58
+ "file-loader": "1.1.11",
59
+ "friendly-errors-webpack-plugin": "1.7.0",
60
+ "html-webpack-plugin": "^4.0.0",
61
+ "mini-css-extract-plugin": "0.4.1",
62
+ "node-notifier": "8.0.1",
63
+ "node-sass": "^6.0.1",
64
+ "optimize-css-assets-webpack-plugin": "5.0.0",
65
+ "ora": "3.0.0",
66
+ "path-to-regexp": "2.4.0",
67
+ "portfinder": "1.0.16",
68
+ "postcss-import": "12.0.0",
69
+ "postcss-loader": "2.1.6",
70
+ "postcss-url": "7.3.2",
71
+ "rimraf": "2.6.2",
72
+ "sass-loader": "7.0.3",
73
+ "script-ext-html-webpack-plugin": "^2.1.5",
74
+ "semver": "5.5.0",
75
+ "shelljs": "0.8.5",
76
+ "svg-sprite-loader": "3.8.0",
77
+ "svgo": "^1.3.2",
78
+ "terser-webpack-plugin": "^2.2.3",
79
+ "url-loader": "1.0.1",
80
+ "vue-loader": "15.3.0",
81
+ "vue-style-loader": "4.1.2",
82
+ "vue-template-compiler": "2.5.17",
83
+ "webpack": "^4.41.2",
84
+ "webpack-bundle-analyzer": "^3.6.0",
85
+ "webpack-cli": "^3.3.11",
86
+ "webpack-dev-server": "^3.9.0",
87
+ "webpack-merge": "4.1.4"
88
+ },
89
+ "engines": {
90
+ "node": ">= 6.0.0",
91
+ "npm": ">= 3.0.0"
92
+ },
93
+ "browserslist": [
94
+ "> 1%",
95
+ "last 2 versions",
96
+ "not ie <= 8"
97
+ ]
98
+ }
@@ -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>