ylyx-cli 1.0.14 → 1.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 (286) hide show
  1. package/README.md +4 -0
  2. package/bin/ylyx.js +168 -168
  3. package/lib/config.js +283 -299
  4. package/lib/deploy.js +529 -415
  5. package/lib/generator.js +192 -192
  6. package/lib/index.js +113 -113
  7. package/lib/interactive.js +87 -87
  8. package/lib/remote.js +179 -179
  9. package/lib/template.js +174 -174
  10. package/lib/utils.js +148 -148
  11. package/package.json +5 -5
  12. package/templates/react-app/files/README.md +23 -23
  13. package/templates/react-app/files/package.json +28 -28
  14. package/templates/react-app/files/public/index.html +11 -11
  15. package/templates/react-app/files/src/App.css +15 -15
  16. package/templates/react-app/files/src/App.js +15 -15
  17. package/templates/react-app/files/src/index.css +10 -10
  18. package/templates/react-app/files/src/index.js +11 -11
  19. package/templates/react-app/template.json +11 -11
  20. package/templates/react-component/files/Component.module.css +5 -5
  21. package/templates/react-component/files/Component.tsx +31 -31
  22. package/templates/react-component/files/index.ts +2 -2
  23. package/templates/react-component/template.json +48 -48
  24. package/templates/vue-app/files/.editorconfig +14 -14
  25. package/templates/vue-app/files/.env.development +21 -21
  26. package/templates/vue-app/files/.env.production +18 -18
  27. package/templates/vue-app/files/.eslintignore +5 -5
  28. package/templates/vue-app/files/.eslintrc.js +267 -267
  29. package/templates/vue-app/files/.prettierignore +11 -11
  30. package/templates/vue-app/files/.travis.yml +5 -5
  31. package/templates/vue-app/files/.vscode/extensions.json +7 -7
  32. package/templates/vue-app/files/.vscode/settings.json +39 -39
  33. package/templates/vue-app/files/LICENSE +191 -191
  34. package/templates/vue-app/files/README.md +87 -87
  35. package/templates/vue-app/files/babel.config.js +11 -11
  36. package/templates/vue-app/files/jest.config.js +24 -24
  37. package/templates/vue-app/files/package.json +136 -136
  38. package/templates/vue-app/files/plopfile.js +7 -7
  39. package/templates/vue-app/files/postcss.config.js +5 -5
  40. package/templates/vue-app/files/public/default.js +25 -25
  41. package/templates/vue-app/files/public/index.html +26 -26
  42. package/templates/vue-app/files/src/App.vue +54 -54
  43. package/templates/vue-app/files/src/api/bigDataV/index.js +198 -198
  44. package/templates/vue-app/files/src/api/data.js +42 -42
  45. package/templates/vue-app/files/src/api/dataArchive/index.js +186 -186
  46. package/templates/vue-app/files/src/api/generator/genConfig.js +16 -16
  47. package/templates/vue-app/files/src/api/generator/generator.js +32 -32
  48. package/templates/vue-app/files/src/api/indexManagement/index.js +39 -39
  49. package/templates/vue-app/files/src/api/institutionMonitor/index.js +396 -396
  50. package/templates/vue-app/files/src/api/institutionSet/index.js +120 -120
  51. package/templates/vue-app/files/src/api/login.js +44 -44
  52. package/templates/vue-app/files/src/api/selfStatistics/index.js +50 -50
  53. package/templates/vue-app/files/src/api/system/code.js +15 -15
  54. package/templates/vue-app/files/src/api/system/dict.js +34 -34
  55. package/templates/vue-app/files/src/api/system/dictDetail.js +52 -52
  56. package/templates/vue-app/files/src/api/system/equipment.js +35 -35
  57. package/templates/vue-app/files/src/api/system/examManage.js +49 -49
  58. package/templates/vue-app/files/src/api/system/examProject.js +48 -48
  59. package/templates/vue-app/files/src/api/system/hosModel.js +35 -35
  60. package/templates/vue-app/files/src/api/system/hospital.js +88 -88
  61. package/templates/vue-app/files/src/api/system/job.js +40 -40
  62. package/templates/vue-app/files/src/api/system/menu.js +67 -67
  63. package/templates/vue-app/files/src/api/system/model.js +42 -42
  64. package/templates/vue-app/files/src/api/system/risConfig.js +9 -9
  65. package/templates/vue-app/files/src/api/system/role.js +64 -64
  66. package/templates/vue-app/files/src/api/system/sysSet.js +19 -19
  67. package/templates/vue-app/files/src/api/system/timing.js +41 -41
  68. package/templates/vue-app/files/src/api/system/user.js +121 -121
  69. package/templates/vue-app/files/src/api/tools/alipay.js +25 -25
  70. package/templates/vue-app/files/src/api/tools/email.js +24 -24
  71. package/templates/vue-app/files/src/api/tools/localStorage.js +27 -27
  72. package/templates/vue-app/files/src/api/tools/qiniu.js +40 -40
  73. package/templates/vue-app/files/src/assets/css/font-awesome.css +2342 -2342
  74. package/templates/vue-app/files/src/assets/css/font-awesome.min.css +2336 -2336
  75. package/templates/vue-app/files/src/assets/fonts/fontawesome-webfont.svg +2671 -2671
  76. package/templates/vue-app/files/src/assets/icons/index.js +9 -9
  77. package/templates/vue-app/files/src/assets/icons/svg/hospital.svg +1 -1
  78. package/templates/vue-app/files/src/assets/icons/svg/hospital1.svg +1 -1
  79. package/templates/vue-app/files/src/assets/icons/svg/loginOne.svg +35 -35
  80. package/templates/vue-app/files/src/assets/icons/svg/loginOneWhite.svg +19 -19
  81. package/templates/vue-app/files/src/assets/icons/svg/loginOr.svg +93 -93
  82. package/templates/vue-app/files/src/assets/icons/svg/loginUp.svg +96 -96
  83. package/templates/vue-app/files/src/assets/icons/svg/monitor.svg +1 -1
  84. package/templates/vue-app/files/src/assets/icons/svg/offline.svg +1 -1
  85. package/templates/vue-app/files/src/assets/icons/svg/online.svg +1 -1
  86. package/templates/vue-app/files/src/assets/icons/svg/system.svg +1 -1
  87. package/templates/vue-app/files/src/assets/icons/svgo.yml +21 -21
  88. package/templates/vue-app/files/src/assets/styles/btn.scss +103 -103
  89. package/templates/vue-app/files/src/assets/styles/eladmin.scss +124 -124
  90. package/templates/vue-app/files/src/assets/styles/element-ui.scss +217 -217
  91. package/templates/vue-app/files/src/assets/styles/element-variables.scss +31 -31
  92. package/templates/vue-app/files/src/assets/styles/global.scss +73 -73
  93. package/templates/vue-app/files/src/assets/styles/index.scss +220 -220
  94. package/templates/vue-app/files/src/assets/styles/mixin.scss +60 -60
  95. package/templates/vue-app/files/src/assets/styles/publicStyle.scss +224 -224
  96. package/templates/vue-app/files/src/assets/styles/sidebar.scss +239 -239
  97. package/templates/vue-app/files/src/assets/styles/transition.scss +48 -48
  98. package/templates/vue-app/files/src/assets/styles/variables.scss +44 -44
  99. package/templates/vue-app/files/src/common/flexible.js +145 -145
  100. package/templates/vue-app/files/src/components/Breadcrumb/index.vue +87 -87
  101. package/templates/vue-app/files/src/components/Crud/CRUD.operation.vue +248 -248
  102. package/templates/vue-app/files/src/components/Crud/Pagination.vue +20 -20
  103. package/templates/vue-app/files/src/components/Crud/RR.operation.vue +39 -39
  104. package/templates/vue-app/files/src/components/Crud/UD.operation.vue +106 -106
  105. package/templates/vue-app/files/src/components/Crud/crud.js +907 -907
  106. package/templates/vue-app/files/src/components/Crud/user/UR.operation.vue +154 -154
  107. package/templates/vue-app/files/src/components/DateRangePicker/index.vue +42 -42
  108. package/templates/vue-app/files/src/components/DateRangePickerProhibitNext/index.vue +42 -42
  109. package/templates/vue-app/files/src/components/DateRangePickerProhibitTodayNext/index.vue +48 -48
  110. package/templates/vue-app/files/src/components/Dict/Dict.js +31 -31
  111. package/templates/vue-app/files/src/components/Dict/index.js +29 -29
  112. package/templates/vue-app/files/src/components/Doc/index.vue +16 -16
  113. package/templates/vue-app/files/src/components/Echarts/BarChart.vue +115 -115
  114. package/templates/vue-app/files/src/components/Echarts/Category.vue +768 -768
  115. package/templates/vue-app/files/src/components/Echarts/Funnel.vue +120 -120
  116. package/templates/vue-app/files/src/components/Echarts/Gauge.vue +74 -74
  117. package/templates/vue-app/files/src/components/Echarts/Graph.vue +101 -101
  118. package/templates/vue-app/files/src/components/Echarts/HeatMap.vue +301 -301
  119. package/templates/vue-app/files/src/components/Echarts/Line3D.vue +110 -110
  120. package/templates/vue-app/files/src/components/Echarts/PieChart.vue +84 -84
  121. package/templates/vue-app/files/src/components/Echarts/Point.vue +161 -161
  122. package/templates/vue-app/files/src/components/Echarts/RadarChart.vue +123 -123
  123. package/templates/vue-app/files/src/components/Echarts/Rich.vue +160 -160
  124. package/templates/vue-app/files/src/components/Echarts/Sankey.vue +114 -114
  125. package/templates/vue-app/files/src/components/Echarts/Scatter.vue +192 -192
  126. package/templates/vue-app/files/src/components/Echarts/Sunburst.vue +127 -127
  127. package/templates/vue-app/files/src/components/Echarts/ThemeRiver.vue +233 -233
  128. package/templates/vue-app/files/src/components/Echarts/WordCloud.vue +201 -201
  129. package/templates/vue-app/files/src/components/GithubCorner/index.vue +55 -55
  130. package/templates/vue-app/files/src/components/Hamburger/index.vue +44 -44
  131. package/templates/vue-app/files/src/components/HeaderSearch/index.vue +196 -196
  132. package/templates/vue-app/files/src/components/IconSelect/index.vue +74 -74
  133. package/templates/vue-app/files/src/components/IconSelect/requireIcons.js +10 -10
  134. package/templates/vue-app/files/src/components/Iframe/index.vue +30 -30
  135. package/templates/vue-app/files/src/components/JavaEdit/index.vue +78 -78
  136. package/templates/vue-app/files/src/components/Pagination/index.vue +100 -100
  137. package/templates/vue-app/files/src/components/PanThumb/index.vue +149 -149
  138. package/templates/vue-app/files/src/components/ParentView/index.vue +3 -3
  139. package/templates/vue-app/files/src/components/Permission/index.js +13 -13
  140. package/templates/vue-app/files/src/components/Permission/permission.js +21 -21
  141. package/templates/vue-app/files/src/components/RightPanel/index.vue +149 -149
  142. package/templates/vue-app/files/src/components/Screenfull/index.vue +60 -60
  143. package/templates/vue-app/files/src/components/SizeSelect/index.vue +60 -60
  144. package/templates/vue-app/files/src/components/SvgIcon/index.vue +66 -66
  145. package/templates/vue-app/files/src/components/ThemePicker/index.vue +177 -177
  146. package/templates/vue-app/files/src/components/UploadExcel/index.vue +149 -149
  147. package/templates/vue-app/files/src/components/WaterMark/setWaterMark.js +68 -68
  148. package/templates/vue-app/files/src/components/WaterMark/waterMark.vue +69 -69
  149. package/templates/vue-app/files/src/components/Xgplayer/index.vue +49 -49
  150. package/templates/vue-app/files/src/components/YamlEdit/index.vue +81 -81
  151. package/templates/vue-app/files/src/layout/components/AppMain.vue +67 -67
  152. package/templates/vue-app/files/src/layout/components/Navbar.vue +209 -209
  153. package/templates/vue-app/files/src/layout/components/Settings/index.vue +125 -125
  154. package/templates/vue-app/files/src/layout/components/Sidebar/FixiOSBug.js +26 -26
  155. package/templates/vue-app/files/src/layout/components/Sidebar/Item.vue +29 -29
  156. package/templates/vue-app/files/src/layout/components/Sidebar/Link.vue +35 -35
  157. package/templates/vue-app/files/src/layout/components/Sidebar/Logo.vue +93 -93
  158. package/templates/vue-app/files/src/layout/components/Sidebar/SidebarItem.vue +104 -104
  159. package/templates/vue-app/files/src/layout/components/Sidebar/index.vue +79 -79
  160. package/templates/vue-app/files/src/layout/components/TagsView/ScrollPane.vue +90 -90
  161. package/templates/vue-app/files/src/layout/components/TagsView/index.vue +299 -299
  162. package/templates/vue-app/files/src/layout/components/index.js +5 -5
  163. package/templates/vue-app/files/src/layout/index.vue +119 -119
  164. package/templates/vue-app/files/src/layout/mixin/ResizeHandler.js +45 -45
  165. package/templates/vue-app/files/src/main.js +89 -89
  166. package/templates/vue-app/files/src/mixins/crud.js +348 -348
  167. package/templates/vue-app/files/src/router/index.js +156 -156
  168. package/templates/vue-app/files/src/router/routers.js +203 -203
  169. package/templates/vue-app/files/src/settings.js +57 -57
  170. package/templates/vue-app/files/src/store/getters.js +29 -29
  171. package/templates/vue-app/files/src/store/index.js +25 -25
  172. package/templates/vue-app/files/src/store/modules/api.js +33 -33
  173. package/templates/vue-app/files/src/store/modules/app.js +55 -55
  174. package/templates/vue-app/files/src/store/modules/permission.js +79 -79
  175. package/templates/vue-app/files/src/store/modules/register.js +17 -17
  176. package/templates/vue-app/files/src/store/modules/settings.js +46 -46
  177. package/templates/vue-app/files/src/store/modules/tagsView.js +168 -168
  178. package/templates/vue-app/files/src/store/modules/user.js +119 -119
  179. package/templates/vue-app/files/src/utils/auth.js +18 -18
  180. package/templates/vue-app/files/src/utils/base64ToFile.js +27 -27
  181. package/templates/vue-app/files/src/utils/clipboard.js +36 -36
  182. package/templates/vue-app/files/src/utils/datetime.js +289 -289
  183. package/templates/vue-app/files/src/utils/getBlobFile.js +10 -10
  184. package/templates/vue-app/files/src/utils/getTime.js +29 -29
  185. package/templates/vue-app/files/src/utils/index.js +520 -520
  186. package/templates/vue-app/files/src/utils/permission.js +29 -29
  187. package/templates/vue-app/files/src/utils/pinyin.js +450 -450
  188. package/templates/vue-app/files/src/utils/request.js +139 -139
  189. package/templates/vue-app/files/src/utils/rsaEncrypt.js +37 -37
  190. package/templates/vue-app/files/src/utils/shortcuts.js +210 -210
  191. package/templates/vue-app/files/src/utils/upload.js +12 -12
  192. package/templates/vue-app/files/src/utils/validate.js +262 -262
  193. package/templates/vue-app/files/src/views/components/Echarts.vue +124 -124
  194. package/templates/vue-app/files/src/views/components/Editor.vue +75 -75
  195. package/templates/vue-app/files/src/views/components/MarkDown.vue +44 -44
  196. package/templates/vue-app/files/src/views/components/UVideo.vue +37 -37
  197. package/templates/vue-app/files/src/views/components/YamlEdit.vue +206 -206
  198. package/templates/vue-app/files/src/views/components/camera/camera.vue +115 -115
  199. package/templates/vue-app/files/src/views/components/camera/cameraTest.vue +158 -158
  200. package/templates/vue-app/files/src/views/components/excel/upload-excel.vue +41 -41
  201. package/templates/vue-app/files/src/views/components/icons/element-icons.js +74 -74
  202. package/templates/vue-app/files/src/views/components/icons/index.vue +106 -106
  203. package/templates/vue-app/files/src/views/components/icons/svg-icons.js +10 -10
  204. package/templates/vue-app/files/src/views/components/scroll/index.vue +107 -107
  205. package/templates/vue-app/files/src/views/components/scrollFull/index.vue +99 -99
  206. package/templates/vue-app/files/src/views/dashboard/LineChart.vue +138 -138
  207. package/templates/vue-app/files/src/views/dashboard/PanelGroup.vue +173 -173
  208. package/templates/vue-app/files/src/views/dashboard/mixins/resize.js +57 -57
  209. package/templates/vue-app/files/src/views/dataArchive/delTable.vue +354 -354
  210. package/templates/vue-app/files/src/views/dataArchive/exportDetail.vue +121 -121
  211. package/templates/vue-app/files/src/views/dataArchive/exportList.vue +160 -160
  212. package/templates/vue-app/files/src/views/dataArchive/index.vue +2104 -2104
  213. package/templates/vue-app/files/src/views/features/401.vue +83 -83
  214. package/templates/vue-app/files/src/views/features/404.vue +226 -226
  215. package/templates/vue-app/files/src/views/features/redirect.vue +12 -12
  216. package/templates/vue-app/files/src/views/generator/config.vue +348 -348
  217. package/templates/vue-app/files/src/views/generator/index.vue +143 -143
  218. package/templates/vue-app/files/src/views/generator/preview.vue +39 -39
  219. package/templates/vue-app/files/src/views/home.vue +80 -80
  220. package/templates/vue-app/files/src/views/indexManagement/index.vue +422 -422
  221. package/templates/vue-app/files/src/views/indexManagement/other.vue +286 -286
  222. package/templates/vue-app/files/src/views/institutionMonitor/components/LineChart.vue +191 -191
  223. package/templates/vue-app/files/src/views/institutionMonitor/index.scss +339 -339
  224. package/templates/vue-app/files/src/views/institutionMonitor/index.vue +1385 -1385
  225. package/templates/vue-app/files/src/views/institutionMonitor/mixins/resize.js +57 -57
  226. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/checkProjectCode.vue +267 -267
  227. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/imageAbnormalMonitor.vue +361 -361
  228. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/index.vue +686 -686
  229. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/leakageAnomaly.vue +270 -270
  230. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/moveMonitore.vue +114 -114
  231. package/templates/vue-app/files/src/views/institutionMonitor/monitorDetail/qualityMonitore.vue +338 -338
  232. package/templates/vue-app/files/src/views/institutionSet/cloudSet.vue +534 -534
  233. package/templates/vue-app/files/src/views/institutionSet/index.vue +2550 -2550
  234. package/templates/vue-app/files/src/views/login.vue +243 -243
  235. package/templates/vue-app/files/src/views/qualityLogin.vue +280 -280
  236. package/templates/vue-app/files/src/views/selfStatistics/components/LineChart.vue +296 -296
  237. package/templates/vue-app/files/src/views/selfStatistics/hospitalDetail/index.vue +533 -533
  238. package/templates/vue-app/files/src/views/selfStatistics/index.scss +447 -447
  239. package/templates/vue-app/files/src/views/selfStatistics/index.vue +903 -903
  240. package/templates/vue-app/files/src/views/selfStatistics/mixins/resize.js +57 -57
  241. package/templates/vue-app/files/src/views/selfStatistics/monitorDetail/index.vue +285 -285
  242. package/templates/vue-app/files/src/views/selfStatistics/offlineDetail/index.vue +104 -104
  243. package/templates/vue-app/files/src/views/selfStatistics/selfActiveDetail/index.vue +104 -104
  244. package/templates/vue-app/files/src/views/selfStatistics/selfMonitorDetail/index.vue +420 -420
  245. package/templates/vue-app/files/src/views/selfStatistics/setWaterMark/setWaterMark.js +68 -68
  246. package/templates/vue-app/files/src/views/selfStatistics/setWaterMark/waterMark.vue +69 -69
  247. package/templates/vue-app/files/src/views/system/dept/index.vue +144 -144
  248. package/templates/vue-app/files/src/views/system/dict/dictDetail.vue +146 -146
  249. package/templates/vue-app/files/src/views/system/dict/index.vue +159 -159
  250. package/templates/vue-app/files/src/views/system/examModality/index.vue +174 -174
  251. package/templates/vue-app/files/src/views/system/examPart/index.vue +184 -184
  252. package/templates/vue-app/files/src/views/system/examProject/index.vue +321 -321
  253. package/templates/vue-app/files/src/views/system/examine/index.vue +66 -66
  254. package/templates/vue-app/files/src/views/system/job/index.vue +119 -119
  255. package/templates/vue-app/files/src/views/system/job/module/form.vue +72 -72
  256. package/templates/vue-app/files/src/views/system/job/module/header.vue +48 -48
  257. package/templates/vue-app/files/src/views/system/menu/index.vue +327 -327
  258. package/templates/vue-app/files/src/views/system/model/index.vue +285 -285
  259. package/templates/vue-app/files/src/views/system/role/index.vue +434 -434
  260. package/templates/vue-app/files/src/views/system/sysSet/index.vue +84 -84
  261. package/templates/vue-app/files/src/views/system/timing/index.vue +289 -289
  262. package/templates/vue-app/files/src/views/system/timing/log.vue +143 -143
  263. package/templates/vue-app/files/src/views/system/user/admin.vue +414 -414
  264. package/templates/vue-app/files/src/views/system/user/center/updateEmail.vue +146 -146
  265. package/templates/vue-app/files/src/views/system/user/center/updatePass.vue +168 -168
  266. package/templates/vue-app/files/src/views/system/user/center.vue +140 -140
  267. package/templates/vue-app/files/src/views/system/user/index.vue +972 -972
  268. package/templates/vue-app/files/src/views/systemSet/role/index.vue +314 -314
  269. package/templates/vue-app/files/src/views/systemSet/user/admin.vue +414 -414
  270. package/templates/vue-app/files/src/views/systemSet/user/center/updateEmail.vue +146 -146
  271. package/templates/vue-app/files/src/views/systemSet/user/center/updatePass.vue +115 -115
  272. package/templates/vue-app/files/src/views/systemSet/user/center.vue +351 -351
  273. package/templates/vue-app/files/src/views/systemSet/user/index.vue +928 -928
  274. package/templates/vue-app/files/src/views/tools/aliPay/config.vue +102 -102
  275. package/templates/vue-app/files/src/views/tools/aliPay/index.vue +48 -48
  276. package/templates/vue-app/files/src/views/tools/aliPay/toPay.vue +91 -91
  277. package/templates/vue-app/files/src/views/tools/email/config.vue +91 -91
  278. package/templates/vue-app/files/src/views/tools/email/index.vue +42 -42
  279. package/templates/vue-app/files/src/views/tools/email/send.vue +159 -159
  280. package/templates/vue-app/files/src/views/tools/storage/index.vue +35 -35
  281. package/templates/vue-app/files/src/views/tools/storage/local/index.vue +207 -207
  282. package/templates/vue-app/files/src/views/tools/storage/qiniu/form.vue +108 -108
  283. package/templates/vue-app/files/src/views/tools/storage/qiniu/index.vue +241 -241
  284. package/templates/vue-app/files/src/views/tools/swagger/index.vue +14 -14
  285. package/templates/vue-app/files/vue.config.js +173 -173
  286. package/templates/vue-app/template.json +29 -29
@@ -1,158 +1,158 @@
1
- <template>
2
- <div>
3
- <!--开启摄像头-->
4
- <!-- <Button type="primary" @click="callCamera" style="margin-right: 10px;">开启摄像头</Button> -->
5
- <!-- <Button @click = 'changePhoto' style="margin-right: 10px;">切换摄像头</Button> -->
6
- <!--关闭摄像头-->
7
- <!-- <Button type="primary" @click="closeCamera">关闭摄像头</Button> -->
8
-
9
- <el-row>
10
- <el-col :span="18">
11
- <!--图片展示-->
12
- <video ref="video" width="640" height="480" autoplay></video>
13
- </el-col>
14
- <el-col :span="6">
15
- <!--canvas截取流-->
16
- <canvas ref="canvas" width="200" height="150"></canvas>
17
- </el-col>
18
- </el-row>
19
-
20
- <el-row>
21
- <el-col :span="6">
22
- <el-select v-model="modelSel" @change="changeSel" placeholder="请选择视频源">
23
- <el-option
24
- v-for="item in videoArr"
25
- :key="item.index"
26
- :label="item.label"
27
- :value="item.id">
28
- </el-option>
29
- </el-select>
30
- </el-col>
31
- <el-col :span="6"><el-button type="primary" @click="photograph">拍照</el-button></el-col>
32
- </el-row>
33
- <!-- <Select v-model="modelSel" style="width:200px" @on-change="changeSel">
34
- <Option v-for="(item,index) in videoArr" :value="item.id" :key="index">{{ item.label }}</Option>
35
- </Select> -->
36
- </div>
37
- </template>
38
- <script>
39
- export default {
40
- data() {
41
- return {
42
- videoArr: [], //所有的摄像头
43
- modelSel: '', //
44
- myInterval: null,
45
- };
46
- },
47
- created() {
48
- this.changePhoto();
49
- },
50
- methods: {
51
- // 调用摄像头
52
- callCamera() {
53
- // H5调用电脑摄像头API
54
- navigator.mediaDevices
55
- .getUserMedia({
56
- video: true,
57
- })
58
- .then(success => {
59
- // 摄像头开启成功
60
- this.$refs['video'].srcObject = success;
61
- // 实时拍照效果
62
- this.$refs['video'].play();
63
- })
64
- .catch(error => {
65
- console.error('摄像头开启失败,请检查摄像头是否可用!');
66
- });
67
- },
68
- // 拍照
69
- photograph() {
70
- let ctx = this.$refs['canvas'].getContext('2d');
71
- // 把当前视频帧内容渲染到canvas上
72
- ctx.drawImage(this.$refs['video'], 0, 0, 200, 150);
73
- // 转base64格式、图片格式转换、图片质量压缩---支持两种格式image/jpeg+image/png
74
- let imgBase64 = this.$refs['canvas'].toDataURL('image/jpeg');
75
- console.log(imgBase64);
76
- this.$emit('sentDataURL', imgBase64);
77
- },
78
- // 关闭摄像头
79
- closeCamera() {
80
- if (!this.$refs['video'].srcObject) return;
81
- let stream = this.$refs['video'].srcObject;
82
- let tracks = stream.getTracks();
83
- tracks.forEach(track => {
84
- track.stop();
85
- });
86
- this.$refs['video'].srcObject = null;
87
- },
88
-
89
- //切换本地摄像头
90
- changePhoto() {
91
- /**得到所有的设备*/
92
- navigator.mediaDevices
93
- .enumerateDevices()
94
- .then(devices => {
95
- console.log(devices);
96
- this.videoArr = [];
97
- devices.forEach(device => {
98
- if (device.kind == 'videoinput') {
99
- this.videoArr.push({
100
- label: device.label,
101
- id: device.deviceId,
102
- });
103
- }
104
- });
105
- for (var i = 0; i < this.videoArr.length; i++) {
106
- if (this.videoArr[i].label != '') {
107
- }
108
- this.modelSel = this.videoArr[i].label;
109
- break;
110
- }
111
- })
112
- .catch(function (err) {
113
- layer.msg(err.name + ': ' + err.message);
114
- });
115
- this.callCamera();
116
- },
117
- //切换下拉
118
- changeSel(val) {
119
- const videoConstraints = {};
120
- if (val === '') {
121
- videoConstraints.facingMode = 'environment';
122
- } else {
123
- videoConstraints.deviceId = { exact: val };
124
- }
125
- var constraints = {
126
- video: videoConstraints,
127
- };
128
- console.log(constraints);
129
- this.getUserMedia(constraints);
130
- },
131
-
132
- /**打开摄像头*/
133
- getUserMedia(constraints, success, error) {
134
- if (navigator.mediaDevices.getUserMedia) {
135
- //最新的标准API
136
- navigator.mediaDevices
137
- .getUserMedia(constraints)
138
- .then(success => {
139
- // 摄像头开启成功
140
- this.$refs['video'].srcObject = success;
141
- // 实时拍照效果
142
- this.$refs['video'].play();
143
- })
144
- .catch(error);
145
- } else if (navigator.webkitGetUserMedia) {
146
- //webkit核心浏览器
147
- navigator.webkitGetUserMedia(constraints, success, error);
148
- } else if (navigator.mozGetUserMedia) {
149
- //firfox浏览器
150
- navigator.mozGetUserMedia(constraints, success, error);
151
- } else if (navigator.getUserMedia) {
152
- //旧版API
153
- navigator.getUserMedia(constraints, success, error);
154
- }
155
- },
156
- },
157
- };
158
- </script>
1
+ <template>
2
+ <div>
3
+ <!--开启摄像头-->
4
+ <!-- <Button type="primary" @click="callCamera" style="margin-right: 10px;">开启摄像头</Button> -->
5
+ <!-- <Button @click = 'changePhoto' style="margin-right: 10px;">切换摄像头</Button> -->
6
+ <!--关闭摄像头-->
7
+ <!-- <Button type="primary" @click="closeCamera">关闭摄像头</Button> -->
8
+
9
+ <el-row>
10
+ <el-col :span="18">
11
+ <!--图片展示-->
12
+ <video ref="video" width="640" height="480" autoplay></video>
13
+ </el-col>
14
+ <el-col :span="6">
15
+ <!--canvas截取流-->
16
+ <canvas ref="canvas" width="200" height="150"></canvas>
17
+ </el-col>
18
+ </el-row>
19
+
20
+ <el-row>
21
+ <el-col :span="6">
22
+ <el-select v-model="modelSel" @change="changeSel" placeholder="请选择视频源">
23
+ <el-option
24
+ v-for="item in videoArr"
25
+ :key="item.index"
26
+ :label="item.label"
27
+ :value="item.id">
28
+ </el-option>
29
+ </el-select>
30
+ </el-col>
31
+ <el-col :span="6"><el-button type="primary" @click="photograph">拍照</el-button></el-col>
32
+ </el-row>
33
+ <!-- <Select v-model="modelSel" style="width:200px" @on-change="changeSel">
34
+ <Option v-for="(item,index) in videoArr" :value="item.id" :key="index">{{ item.label }}</Option>
35
+ </Select> -->
36
+ </div>
37
+ </template>
38
+ <script>
39
+ export default {
40
+ data() {
41
+ return {
42
+ videoArr: [], //所有的摄像头
43
+ modelSel: '', //
44
+ myInterval: null,
45
+ };
46
+ },
47
+ created() {
48
+ this.changePhoto();
49
+ },
50
+ methods: {
51
+ // 调用摄像头
52
+ callCamera() {
53
+ // H5调用电脑摄像头API
54
+ navigator.mediaDevices
55
+ .getUserMedia({
56
+ video: true,
57
+ })
58
+ .then(success => {
59
+ // 摄像头开启成功
60
+ this.$refs['video'].srcObject = success;
61
+ // 实时拍照效果
62
+ this.$refs['video'].play();
63
+ })
64
+ .catch(error => {
65
+ console.error('摄像头开启失败,请检查摄像头是否可用!');
66
+ });
67
+ },
68
+ // 拍照
69
+ photograph() {
70
+ let ctx = this.$refs['canvas'].getContext('2d');
71
+ // 把当前视频帧内容渲染到canvas上
72
+ ctx.drawImage(this.$refs['video'], 0, 0, 200, 150);
73
+ // 转base64格式、图片格式转换、图片质量压缩---支持两种格式image/jpeg+image/png
74
+ let imgBase64 = this.$refs['canvas'].toDataURL('image/jpeg');
75
+ console.log(imgBase64);
76
+ this.$emit('sentDataURL', imgBase64);
77
+ },
78
+ // 关闭摄像头
79
+ closeCamera() {
80
+ if (!this.$refs['video'].srcObject) return;
81
+ let stream = this.$refs['video'].srcObject;
82
+ let tracks = stream.getTracks();
83
+ tracks.forEach(track => {
84
+ track.stop();
85
+ });
86
+ this.$refs['video'].srcObject = null;
87
+ },
88
+
89
+ //切换本地摄像头
90
+ changePhoto() {
91
+ /**得到所有的设备*/
92
+ navigator.mediaDevices
93
+ .enumerateDevices()
94
+ .then(devices => {
95
+ console.log(devices);
96
+ this.videoArr = [];
97
+ devices.forEach(device => {
98
+ if (device.kind == 'videoinput') {
99
+ this.videoArr.push({
100
+ label: device.label,
101
+ id: device.deviceId,
102
+ });
103
+ }
104
+ });
105
+ for (var i = 0; i < this.videoArr.length; i++) {
106
+ if (this.videoArr[i].label != '') {
107
+ }
108
+ this.modelSel = this.videoArr[i].label;
109
+ break;
110
+ }
111
+ })
112
+ .catch(function (err) {
113
+ layer.msg(err.name + ': ' + err.message);
114
+ });
115
+ this.callCamera();
116
+ },
117
+ //切换下拉
118
+ changeSel(val) {
119
+ const videoConstraints = {};
120
+ if (val === '') {
121
+ videoConstraints.facingMode = 'environment';
122
+ } else {
123
+ videoConstraints.deviceId = { exact: val };
124
+ }
125
+ var constraints = {
126
+ video: videoConstraints,
127
+ };
128
+ console.log(constraints);
129
+ this.getUserMedia(constraints);
130
+ },
131
+
132
+ /**打开摄像头*/
133
+ getUserMedia(constraints, success, error) {
134
+ if (navigator.mediaDevices.getUserMedia) {
135
+ //最新的标准API
136
+ navigator.mediaDevices
137
+ .getUserMedia(constraints)
138
+ .then(success => {
139
+ // 摄像头开启成功
140
+ this.$refs['video'].srcObject = success;
141
+ // 实时拍照效果
142
+ this.$refs['video'].play();
143
+ })
144
+ .catch(error);
145
+ } else if (navigator.webkitGetUserMedia) {
146
+ //webkit核心浏览器
147
+ navigator.webkitGetUserMedia(constraints, success, error);
148
+ } else if (navigator.mozGetUserMedia) {
149
+ //firfox浏览器
150
+ navigator.mozGetUserMedia(constraints, success, error);
151
+ } else if (navigator.getUserMedia) {
152
+ //旧版API
153
+ navigator.getUserMedia(constraints, success, error);
154
+ }
155
+ },
156
+ },
157
+ };
158
+ </script>
@@ -1,41 +1,41 @@
1
- <template>
2
- <div class="app-container">
3
- <upload-excel-component :on-success="handleSuccess" :before-upload="beforeUpload" />
4
- <el-table :data="tableData" border highlight-current-row style="width: 100%; margin-top: 20px">
5
- <el-table-column v-for="item of tableHeader" :key="item" :prop="item" :label="item" />
6
- </el-table>
7
- </div>
8
- </template>
9
-
10
- <script>
11
- import UploadExcelComponent from '@/components/UploadExcel/index.vue';
12
-
13
- export default {
14
- name: 'UploadExcel',
15
- components: { UploadExcelComponent },
16
- data() {
17
- return {
18
- tableData: [],
19
- tableHeader: [],
20
- };
21
- },
22
- methods: {
23
- beforeUpload(file) {
24
- const isLt1M = file.size / 1024 / 1024 < 1;
25
- if (isLt1M) {
26
- return true;
27
- }
28
-
29
- this.$message({
30
- message: '请不要上传大于1m的文件.',
31
- type: 'warning',
32
- });
33
- return false;
34
- },
35
- handleSuccess({ results, header }) {
36
- this.tableData = results;
37
- this.tableHeader = header;
38
- },
39
- },
40
- };
41
- </script>
1
+ <template>
2
+ <div class="app-container">
3
+ <upload-excel-component :on-success="handleSuccess" :before-upload="beforeUpload" />
4
+ <el-table :data="tableData" border highlight-current-row style="width: 100%; margin-top: 20px">
5
+ <el-table-column v-for="item of tableHeader" :key="item" :prop="item" :label="item" />
6
+ </el-table>
7
+ </div>
8
+ </template>
9
+
10
+ <script>
11
+ import UploadExcelComponent from '@/components/UploadExcel/index.vue';
12
+
13
+ export default {
14
+ name: 'UploadExcel',
15
+ components: { UploadExcelComponent },
16
+ data() {
17
+ return {
18
+ tableData: [],
19
+ tableHeader: [],
20
+ };
21
+ },
22
+ methods: {
23
+ beforeUpload(file) {
24
+ const isLt1M = file.size / 1024 / 1024 < 1;
25
+ if (isLt1M) {
26
+ return true;
27
+ }
28
+
29
+ this.$message({
30
+ message: '请不要上传大于1m的文件.',
31
+ type: 'warning',
32
+ });
33
+ return false;
34
+ },
35
+ handleSuccess({ results, header }) {
36
+ this.tableData = results;
37
+ this.tableHeader = header;
38
+ },
39
+ },
40
+ };
41
+ </script>
@@ -1,74 +1,74 @@
1
- const elementIcons = [
2
- 'info',
3
- 'error',
4
- 'success',
5
- 'warning',
6
- 'question',
7
- 'back',
8
- 'arrow-left',
9
- 'arrow-down',
10
- 'arrow-right',
11
- 'arrow-up',
12
- 'caret-left',
13
- 'caret-bottom',
14
- 'caret-top',
15
- 'caret-right',
16
- 'd-arrow-left',
17
- 'd-arrow-right',
18
- 'minus',
19
- 'plus',
20
- 'remove',
21
- 'circle-plus',
22
- 'remove-outline',
23
- 'circle-plus-outline',
24
- 'close',
25
- 'check',
26
- 'circle-close',
27
- 'circle-check',
28
- 'circle-close-outline',
29
- 'circle-check-outline',
30
- 'zoom-out',
31
- 'zoom-in',
32
- 'd-caret',
33
- 'sort',
34
- 'sort-down',
35
- 'sort-up',
36
- 'tickets',
37
- 'document',
38
- 'goods',
39
- 'sold-out',
40
- 'news',
41
- 'message',
42
- 'date',
43
- 'printer',
44
- 'time',
45
- 'bell',
46
- 'mobile-phone',
47
- 'service',
48
- 'view',
49
- 'menu',
50
- 'more',
51
- 'more-outline',
52
- 'star-on',
53
- 'star-off',
54
- 'location',
55
- 'location-outline',
56
- 'phone',
57
- 'phone-outline',
58
- 'picture',
59
- 'picture-outline',
60
- 'delete',
61
- 'search',
62
- 'edit',
63
- 'edit-outline',
64
- 'rank',
65
- 'refresh',
66
- 'share',
67
- 'setting',
68
- 'upload',
69
- 'upload2',
70
- 'download',
71
- 'loading',
72
- ];
73
-
74
- export default elementIcons;
1
+ const elementIcons = [
2
+ 'info',
3
+ 'error',
4
+ 'success',
5
+ 'warning',
6
+ 'question',
7
+ 'back',
8
+ 'arrow-left',
9
+ 'arrow-down',
10
+ 'arrow-right',
11
+ 'arrow-up',
12
+ 'caret-left',
13
+ 'caret-bottom',
14
+ 'caret-top',
15
+ 'caret-right',
16
+ 'd-arrow-left',
17
+ 'd-arrow-right',
18
+ 'minus',
19
+ 'plus',
20
+ 'remove',
21
+ 'circle-plus',
22
+ 'remove-outline',
23
+ 'circle-plus-outline',
24
+ 'close',
25
+ 'check',
26
+ 'circle-close',
27
+ 'circle-check',
28
+ 'circle-close-outline',
29
+ 'circle-check-outline',
30
+ 'zoom-out',
31
+ 'zoom-in',
32
+ 'd-caret',
33
+ 'sort',
34
+ 'sort-down',
35
+ 'sort-up',
36
+ 'tickets',
37
+ 'document',
38
+ 'goods',
39
+ 'sold-out',
40
+ 'news',
41
+ 'message',
42
+ 'date',
43
+ 'printer',
44
+ 'time',
45
+ 'bell',
46
+ 'mobile-phone',
47
+ 'service',
48
+ 'view',
49
+ 'menu',
50
+ 'more',
51
+ 'more-outline',
52
+ 'star-on',
53
+ 'star-off',
54
+ 'location',
55
+ 'location-outline',
56
+ 'phone',
57
+ 'phone-outline',
58
+ 'picture',
59
+ 'picture-outline',
60
+ 'delete',
61
+ 'search',
62
+ 'edit',
63
+ 'edit-outline',
64
+ 'rank',
65
+ 'refresh',
66
+ 'share',
67
+ 'setting',
68
+ 'upload',
69
+ 'upload2',
70
+ 'download',
71
+ 'loading',
72
+ ];
73
+
74
+ export default elementIcons;