web-core-tcm 0.0.25 → 0.0.27

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 (308) hide show
  1. package/dist/node_modules/@alova/shared/dist/alova-shared.esm.js +134 -0
  2. package/dist/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.js +70 -0
  3. package/dist/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.js +14 -0
  4. package/dist/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.js +6 -0
  5. package/dist/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.js +10 -0
  6. package/dist/node_modules/@bufbuild/protobuf/dist/esm/create.js +136 -0
  7. package/dist/node_modules/@bufbuild/protobuf/dist/esm/descriptors.js +7 -0
  8. package/dist/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +164 -0
  9. package/dist/node_modules/@bufbuild/protobuf/dist/esm/is-message.js +6 -0
  10. package/dist/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js +75 -0
  11. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.js +8 -0
  12. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.js +35 -0
  13. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.js +42 -0
  14. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.js +17 -0
  15. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.js +156 -0
  16. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.js +349 -0
  17. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.js +39 -0
  18. package/dist/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.js +72 -0
  19. package/dist/node_modules/@bufbuild/protobuf/dist/esm/registry.js +551 -0
  20. package/dist/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js +159 -0
  21. package/dist/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.js +58 -0
  22. package/dist/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +350 -0
  23. package/dist/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +25 -0
  24. package/dist/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.js +145 -0
  25. package/dist/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js +110 -0
  26. package/dist/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +107 -0
  27. package/dist/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +24 -0
  28. package/dist/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js +556 -0
  29. package/dist/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +36 -0
  30. package/dist/node_modules/@vue/shared/dist/shared.esm-bundler.js +26 -0
  31. package/dist/node_modules/alova/dist/adapter/fetch.esm.js +55 -0
  32. package/dist/node_modules/alova/dist/alova.esm.js +414 -0
  33. package/dist/node_modules/alova/dist/clienthook/index.esm.js +89 -0
  34. package/dist/node_modules/builder-pattern/dist/index.js +22 -0
  35. package/dist/node_modules/jwt-decode/build/esm/index.js +52 -0
  36. package/dist/node_modules/pinyin/lib/esm/pinyin.js +242260 -0
  37. package/dist/node_modules/punycode/punycode.es6.js +139 -0
  38. package/dist/node_modules/quasar/src/composables/use-quasar/use-quasar.js +8 -0
  39. package/dist/node_modules/quasar/src/utils/private.symbols/symbols.js +4 -0
  40. package/dist/src/api/algorithm/comprehensiveAlgorithm.d.ts +4 -0
  41. package/dist/src/api/algorithm/comprehensiveAlgorithm.js +16 -0
  42. package/dist/src/api/algorithm/index.d.ts +10 -0
  43. package/dist/src/api/algorithm/index.js +62 -0
  44. package/dist/src/api/algorithm/inquiriesAlgorithm.d.ts +13 -0
  45. package/dist/src/api/algorithm/inquiriesAlgorithm.js +9 -0
  46. package/dist/src/api/algorithm/inspectionsAlgorithm.d.ts +2 -0
  47. package/dist/src/api/algorithm/inspectionsAlgorithm.js +10 -0
  48. package/dist/src/api/algorithm/lisemsAlgorithm.d.ts +2 -0
  49. package/dist/src/api/algorithm/lisemsAlgorithm.js +15 -0
  50. package/dist/src/api/algorithm/pulsationsAlgorithm.d.ts +4 -0
  51. package/dist/src/api/algorithm/pulsationsAlgorithm.js +8 -0
  52. package/dist/src/api/authorization/alova/apiDefinitions.d.ts +21 -0
  53. package/dist/src/api/authorization/alova/apiDefinitions.js +9 -0
  54. package/dist/src/api/authorization/alova/createApis.d.ts +10 -0
  55. package/dist/src/api/authorization/alova/createApis.js +51 -0
  56. package/dist/src/api/authorization/alova/implement/authorization.d.ts +4 -0
  57. package/dist/src/api/authorization/alova/implement/authorization.js +15 -0
  58. package/dist/src/api/authorization/alova/index.d.ts +5 -0
  59. package/dist/src/api/authorization/alova/index.js +18 -0
  60. package/dist/src/api/authorization/authorization.d.ts +8 -0
  61. package/dist/src/api/authorization/authorization.js +16 -0
  62. package/dist/src/api/authorization/index.js +9 -0
  63. package/dist/src/api/check/alova/apiDefinitions.d.ts +28 -0
  64. package/dist/src/api/check/alova/apiDefinitions.js +16 -0
  65. package/dist/src/api/check/alova/createApis.d.ts +10 -0
  66. package/dist/src/api/check/alova/createApis.js +51 -0
  67. package/dist/src/api/check/alova/implement/check.d.ts +27 -0
  68. package/dist/src/api/check/alova/implement/check.js +119 -0
  69. package/dist/src/api/check/alova/index.d.ts +5 -0
  70. package/dist/src/api/check/alova/index.js +21 -0
  71. package/dist/src/api/check/check.d.ts +54 -0
  72. package/dist/src/api/check/check.js +131 -0
  73. package/dist/src/api/check/index.js +11 -0
  74. package/dist/src/api/config/alova/index.d.ts +5 -0
  75. package/dist/src/api/config/alova/index.js +55 -0
  76. package/dist/src/api/config/index.d.ts +23 -0
  77. package/dist/src/api/config/index.js +106 -0
  78. package/dist/src/api/device/device.d.ts +5 -0
  79. package/dist/src/api/device/device.js +46 -0
  80. package/dist/src/api/doctor/alova/apiDefinitions.d.ts +26 -0
  81. package/dist/src/api/doctor/alova/apiDefinitions.js +14 -0
  82. package/dist/src/api/doctor/alova/createApis.d.ts +10 -0
  83. package/dist/src/api/doctor/alova/createApis.js +51 -0
  84. package/dist/src/api/doctor/alova/implement/doctor.d.ts +7 -0
  85. package/dist/src/api/doctor/alova/implement/doctor.js +42 -0
  86. package/dist/src/api/doctor/alova/index.d.ts +5 -0
  87. package/dist/src/api/doctor/alova/index.js +20 -0
  88. package/dist/src/api/doctor/doctor.d.ts +22 -0
  89. package/dist/src/api/doctor/doctor.js +29 -0
  90. package/dist/src/api/doctor/index.js +9 -0
  91. package/dist/src/api/metric/implement/metric.d.ts +24 -0
  92. package/dist/src/api/metric/implement/metric.js +80 -0
  93. package/dist/src/api/metric/index.js +6 -0
  94. package/dist/src/api/metric/metric.d.ts +28 -0
  95. package/dist/src/api/metric/metric.js +75 -0
  96. package/dist/src/api/oauth/alova/apiDefinitions.d.ts +24 -0
  97. package/dist/src/api/oauth/alova/apiDefinitions.js +12 -0
  98. package/dist/src/api/oauth/alova/createApis.d.ts +10 -0
  99. package/dist/src/api/oauth/alova/createApis.js +51 -0
  100. package/dist/src/api/oauth/alova/implement/oauth.d.ts +4 -0
  101. package/dist/src/api/oauth/alova/implement/oauth.js +15 -0
  102. package/dist/src/api/oauth/alova/index.d.ts +5 -0
  103. package/dist/src/api/oauth/alova/index.js +17 -0
  104. package/dist/src/api/oauth/index.js +9 -0
  105. package/dist/src/api/oauth/oauth.d.ts +7 -0
  106. package/dist/src/api/oauth/oauth.js +16 -0
  107. package/dist/src/api/outpatient/alova/apiDefinitions.d.ts +25 -0
  108. package/dist/src/api/outpatient/alova/apiDefinitions.js +13 -0
  109. package/dist/src/api/outpatient/alova/createApis.d.ts +10 -0
  110. package/dist/src/api/outpatient/alova/createApis.js +51 -0
  111. package/dist/src/api/outpatient/alova/implement/outpatient.d.ts +10 -0
  112. package/dist/src/api/outpatient/alova/implement/outpatient.js +71 -0
  113. package/dist/src/api/outpatient/alova/index.d.ts +5 -0
  114. package/dist/src/api/outpatient/alova/index.js +21 -0
  115. package/dist/src/api/outpatient/index.js +11 -0
  116. package/dist/src/api/outpatient/outpatient.d.ts +39 -0
  117. package/dist/src/api/outpatient/outpatient.js +45 -0
  118. package/dist/src/api/patient/alova/apiDefinitions.d.ts +39 -0
  119. package/dist/src/api/patient/alova/apiDefinitions.js +27 -0
  120. package/dist/src/api/patient/alova/createApis.d.ts +10 -0
  121. package/dist/src/api/patient/alova/createApis.js +51 -0
  122. package/dist/src/api/patient/alova/implement/meta.d.ts +113 -0
  123. package/dist/src/api/patient/alova/implement/meta.js +404 -0
  124. package/dist/src/api/patient/alova/implement/patient.d.ts +22 -0
  125. package/dist/src/api/patient/alova/implement/patient.js +72 -0
  126. package/dist/src/api/patient/alova/index.d.ts +5 -0
  127. package/dist/src/api/patient/alova/index.js +22 -0
  128. package/dist/src/api/patient/core.d.ts +50 -0
  129. package/dist/src/api/patient/core.js +109 -0
  130. package/dist/src/api/patient/index.js +46 -0
  131. package/dist/src/api/patient/meta.d.ts +238 -0
  132. package/dist/src/api/patient/meta.js +454 -0
  133. package/dist/src/api/patient/patient.d.ts +43 -0
  134. package/dist/src/api/patient/patient.js +42 -0
  135. package/dist/src/api/prescription/alova/apiDefinitions.d.ts +27 -0
  136. package/dist/src/api/prescription/alova/apiDefinitions.js +15 -0
  137. package/dist/src/api/prescription/alova/createApis.d.ts +10 -0
  138. package/dist/src/api/prescription/alova/createApis.js +51 -0
  139. package/dist/src/api/prescription/alova/implement/herbal.d.ts +15 -0
  140. package/dist/src/api/prescription/alova/implement/herbal.js +54 -0
  141. package/dist/src/api/prescription/alova/implement/prescription.d.ts +15 -0
  142. package/dist/src/api/prescription/alova/implement/prescription.js +49 -0
  143. package/dist/src/api/prescription/alova/index.d.ts +5 -0
  144. package/dist/src/api/prescription/alova/index.js +20 -0
  145. package/dist/src/api/prescription/herbal.d.ts +19 -0
  146. package/dist/src/api/prescription/herbal.js +34 -0
  147. package/dist/src/api/prescription/index.js +13 -0
  148. package/dist/src/api/prescription/prescription.d.ts +26 -0
  149. package/dist/src/api/prescription/prescription.js +49 -0
  150. package/dist/src/api/scientist/alova/apiDefinitions.d.ts +25 -0
  151. package/dist/src/api/scientist/alova/apiDefinitions.js +13 -0
  152. package/dist/src/api/scientist/alova/createApis.d.ts +10 -0
  153. package/dist/src/api/scientist/alova/createApis.js +51 -0
  154. package/dist/src/api/scientist/alova/implement/scientist.d.ts +6 -0
  155. package/dist/src/api/scientist/alova/implement/scientist.js +35 -0
  156. package/dist/src/api/scientist/alova/index.d.ts +6 -0
  157. package/dist/src/api/scientist/alova/index.js +21 -0
  158. package/dist/src/api/scientist/index.js +9 -0
  159. package/dist/src/api/scientist/scientist.d.ts +20 -0
  160. package/dist/src/api/scientist/scientist.js +37 -0
  161. package/dist/src/components/models.d.ts +7 -0
  162. package/dist/src/index.js +36 -0
  163. package/dist/src/pages/LoginPage.vue.d.ts +2 -0
  164. package/dist/src/proto/types/Images_pb.d.ts +34 -0
  165. package/dist/src/proto/types/Images_pb.js +10 -0
  166. package/dist/src/proto/types/WaveMap_pb.d.ts +48 -0
  167. package/dist/src/proto/types/WaveMap_pb.js +10 -0
  168. package/dist/src/router/index.d.ts +2 -0
  169. package/dist/src/router/routes.d.ts +3 -0
  170. package/dist/src/util/RichTextUtil.d.ts +1 -0
  171. package/dist/src/util/RichTextUtil.js +6 -0
  172. package/dist/src/util/datetime.d.ts +5 -0
  173. package/dist/src/util/export.d.ts +4 -0
  174. package/dist/src/util/helper.d.ts +65 -0
  175. package/dist/src/util/helper.js +46 -0
  176. package/dist/src/util/image.d.ts +2 -0
  177. package/dist/src/util/image.js +17 -0
  178. package/dist/src/util/number.d.ts +12 -0
  179. package/dist/src/util/s256.d.ts +2 -0
  180. package/dist/src/util/secret.d.ts +10 -0
  181. package/dist/src/util/string.d.ts +21 -0
  182. package/dist/src/util/string.js +10 -0
  183. package/package.json +5 -2
  184. package/.editorconfig +0 -7
  185. package/.github/workflows/test.yml +0 -29
  186. package/.prettierrc.json +0 -5
  187. package/.vscode/extensions.json +0 -15
  188. package/.vscode/settings.json +0 -9
  189. package/eslint.config.js +0 -83
  190. package/index.html +0 -24
  191. package/postcss.config.js +0 -29
  192. package/quasar.config.ts +0 -233
  193. package/src/App.vue +0 -7
  194. package/src/api/algorithm/comprehensiveAlgorithm.ts +0 -20
  195. package/src/api/algorithm/index.ts +0 -50
  196. package/src/api/algorithm/inquiriesAlgorithm.ts +0 -16
  197. package/src/api/algorithm/inspectionsAlgorithm.ts +0 -11
  198. package/src/api/algorithm/lisemsAlgorithm.ts +0 -16
  199. package/src/api/algorithm/pulsationsAlgorithm.ts +0 -8
  200. package/src/api/authorization/alova/apiDefinitions.ts +0 -23
  201. package/src/api/authorization/alova/createApis.ts +0 -114
  202. package/src/api/authorization/alova/globals.d.ts +0 -394
  203. package/src/api/authorization/alova/implement/authorization.ts +0 -14
  204. package/src/api/authorization/alova/index.ts +0 -22
  205. package/src/api/authorization/authorization.ts +0 -16
  206. package/src/api/check/alova/apiDefinitions.ts +0 -30
  207. package/src/api/check/alova/createApis.ts +0 -114
  208. package/src/api/check/alova/globals.d.ts +0 -1257
  209. package/src/api/check/alova/implement/check.ts +0 -165
  210. package/src/api/check/alova/index.ts +0 -22
  211. package/src/api/check/check.ts +0 -217
  212. package/src/api/config/alova/index.ts +0 -71
  213. package/src/api/config/index.ts +0 -132
  214. package/src/api/device/device.js +0 -58
  215. package/src/api/doctor/alova/apiDefinitions.ts +0 -28
  216. package/src/api/doctor/alova/createApis.ts +0 -114
  217. package/src/api/doctor/alova/globals.d.ts +0 -559
  218. package/src/api/doctor/alova/implement/doctor.ts +0 -51
  219. package/src/api/doctor/alova/index.ts +0 -23
  220. package/src/api/doctor/doctor.ts +0 -53
  221. package/src/api/metric/implement/metric.ts +0 -108
  222. package/src/api/metric/metric.ts +0 -114
  223. package/src/api/oauth/alova/apiDefinitions.ts +0 -26
  224. package/src/api/oauth/alova/createApis.ts +0 -114
  225. package/src/api/oauth/alova/globals.d.ts +0 -460
  226. package/src/api/oauth/alova/implement/oauth.ts +0 -24
  227. package/src/api/oauth/alova/index.ts +0 -21
  228. package/src/api/oauth/oauth.ts +0 -19
  229. package/src/api/outpatient/alova/apiDefinitions.ts +0 -27
  230. package/src/api/outpatient/alova/createApis.ts +0 -114
  231. package/src/api/outpatient/alova/globals.d.ts +0 -685
  232. package/src/api/outpatient/alova/implement/outpatient.ts +0 -91
  233. package/src/api/outpatient/alova/index.ts +0 -22
  234. package/src/api/outpatient/outpatient.ts +0 -67
  235. package/src/api/patient/alova/apiDefinitions.ts +0 -41
  236. package/src/api/patient/alova/createApis.ts +0 -114
  237. package/src/api/patient/alova/globals.d.ts +0 -1690
  238. package/src/api/patient/alova/implement/meta.ts +0 -517
  239. package/src/api/patient/alova/implement/patient.ts +0 -99
  240. package/src/api/patient/alova/index.ts +0 -22
  241. package/src/api/patient/core.ts +0 -133
  242. package/src/api/patient/meta.ts +0 -570
  243. package/src/api/patient/patient.ts +0 -98
  244. package/src/api/prescription/alova/apiDefinitions.ts +0 -29
  245. package/src/api/prescription/alova/createApis.ts +0 -114
  246. package/src/api/prescription/alova/globals.d.ts +0 -968
  247. package/src/api/prescription/alova/implement/herbal.ts +0 -68
  248. package/src/api/prescription/alova/implement/prescription.ts +0 -62
  249. package/src/api/prescription/alova/index.ts +0 -22
  250. package/src/api/prescription/herbal.ts +0 -51
  251. package/src/api/prescription/prescription.ts +0 -76
  252. package/src/api/scientist/alova/apiDefinitions.ts +0 -27
  253. package/src/api/scientist/alova/createApis.ts +0 -114
  254. package/src/api/scientist/alova/globals.d.ts +0 -447
  255. package/src/api/scientist/alova/implement/scientist.ts +0 -40
  256. package/src/api/scientist/alova/index.ts +0 -24
  257. package/src/api/scientist/scientist.ts +0 -49
  258. package/src/assets/quasar-logo-vertical.svg +0 -15
  259. package/src/boot/.gitkeep +0 -0
  260. package/src/components/ExampleComponent.vue +0 -37
  261. package/src/components/models.ts +0 -8
  262. package/src/css/app.scss +0 -1
  263. package/src/css/quasar.variables.scss +0 -25
  264. package/src/env.d.ts +0 -7
  265. package/src/layouts/UserLayout.vue +0 -108
  266. package/src/pages/LoginPage.vue +0 -29
  267. package/src/proto/Images.proto +0 -7
  268. package/src/proto/WaveMap.proto +0 -10
  269. package/src/proto/types/Images_pb.ts +0 -48
  270. package/src/proto/types/WaveMap_pb.ts +0 -59
  271. package/src/router/index.ts +0 -37
  272. package/src/router/routes.ts +0 -14
  273. package/src/util/RichTextUtil.ts +0 -5
  274. package/src/util/datetime.ts +0 -43
  275. package/src/util/export.ts +0 -46
  276. package/src/util/helper.ts +0 -159
  277. package/src/util/image.ts +0 -28
  278. package/src/util/number.ts +0 -146
  279. package/src/util/s256.js +0 -27
  280. package/src/util/secret.ts +0 -60
  281. package/src/util/string.ts +0 -121
  282. package/tsconfig.json +0 -7
  283. /package/{public → dist}/favicon.ico +0 -0
  284. /package/{public → dist}/icons/favicon-128x128.png +0 -0
  285. /package/{public → dist}/icons/favicon-16x16.png +0 -0
  286. /package/{public → dist}/icons/favicon-32x32.png +0 -0
  287. /package/{public → dist}/icons/favicon-96x96.png +0 -0
  288. /package/{src/api/authorization/alova/implement/index.ts → dist/src/api/authorization/alova/implement/index.d.ts} +0 -0
  289. /package/{src/api/authorization/index.ts → dist/src/api/authorization/index.d.ts} +0 -0
  290. /package/{src/api/check/alova/implement/index.ts → dist/src/api/check/alova/implement/index.d.ts} +0 -0
  291. /package/{src/api/check/index.ts → dist/src/api/check/index.d.ts} +0 -0
  292. /package/{src/api/doctor/alova/implement/index.ts → dist/src/api/doctor/alova/implement/index.d.ts} +0 -0
  293. /package/{src/api/doctor/index.ts → dist/src/api/doctor/index.d.ts} +0 -0
  294. /package/{src/api/index.ts → dist/src/api/index.d.ts} +0 -0
  295. /package/{src/api/metric/implement/index.ts → dist/src/api/metric/implement/index.d.ts} +0 -0
  296. /package/{src/api/metric/index.ts → dist/src/api/metric/index.d.ts} +0 -0
  297. /package/{src/api/oauth/alova/implement/index.ts → dist/src/api/oauth/alova/implement/index.d.ts} +0 -0
  298. /package/{src/api/oauth/index.ts → dist/src/api/oauth/index.d.ts} +0 -0
  299. /package/{src/api/outpatient/alova/implement/index.ts → dist/src/api/outpatient/alova/implement/index.d.ts} +0 -0
  300. /package/{src/api/outpatient/index.ts → dist/src/api/outpatient/index.d.ts} +0 -0
  301. /package/{src/api/patient/alova/implement/index.ts → dist/src/api/patient/alova/implement/index.d.ts} +0 -0
  302. /package/{src/api/patient/index.ts → dist/src/api/patient/index.d.ts} +0 -0
  303. /package/{src/api/prescription/alova/implement/index.ts → dist/src/api/prescription/alova/implement/index.d.ts} +0 -0
  304. /package/{src/api/prescription/index.ts → dist/src/api/prescription/index.d.ts} +0 -0
  305. /package/{src/api/scientist/alova/implement/index.ts → dist/src/api/scientist/alova/implement/index.d.ts} +0 -0
  306. /package/{src/api/scientist/index.ts → dist/src/api/scientist/index.d.ts} +0 -0
  307. /package/{src/index.ts → dist/src/index.d.ts} +0 -0
  308. /package/{src/proto/index.ts → dist/src/proto/index.d.ts} +0 -0
@@ -1,108 +0,0 @@
1
- <template>
2
- <q-layout view="hHh lpR fFf">
3
- <!-- 顶部导航栏 -->
4
- <q-header elevated class="bg-primary text-white">
5
- <q-toolbar>
6
- <q-toolbar-title>用户中心</q-toolbar-title>
7
-
8
- <!-- 顶部导航菜单 -->
9
- <q-tabs
10
- v-model="currentTab"
11
- inline-label
12
- class="bg-primary text-white"
13
- active-color="white"
14
- indicator-color="white"
15
- >
16
- <q-tab
17
- v-for="tab in userTabs"
18
- :key="tab.path"
19
- :name="tab.path"
20
- :icon="tab.icon"
21
- :label="tab.label"
22
- @click="navigateTo(tab.path)"
23
- />
24
- </q-tabs>
25
-
26
- <q-space />
27
-
28
- <!-- 用户菜单 -->
29
- <q-btn-dropdown flat :label="username">
30
- <q-list>
31
- <q-item clickable v-close-popup @click="navigateTo('/user/profile')">
32
- <q-item-section avatar>
33
- <q-icon name="person" />
34
- </q-item-section>
35
- <q-item-section>个人资料</q-item-section>
36
- </q-item>
37
-
38
- <q-separator />
39
-
40
- <q-item clickable v-close-popup @click="logout">
41
- <q-item-section avatar>
42
- <q-icon name="logout" color="negative" />
43
- </q-item-section>
44
- <q-item-section class="text-negative">退出登录</q-item-section>
45
- </q-item>
46
- </q-list>
47
- </q-btn-dropdown>
48
- </q-toolbar>
49
- </q-header>
50
-
51
- <!-- 页面内容区域 -->
52
- <q-page-container>
53
- <router-view />
54
- </q-page-container>
55
- </q-layout>
56
- </template>
57
-
58
- <script setup lang="ts">
59
- import { computed, ref } from 'vue';
60
- import { useRouter, useRoute } from 'vue-router';
61
-
62
- const router = useRouter();
63
- const route = useRoute();
64
-
65
- const currentTab = computed(() => route.path);
66
- setInterval(() => {
67
- username.value = localStorage.getItem('user')
68
- ? JSON.parse(localStorage.getItem('user') || '{}').username
69
- : '用户';
70
- }, 100);
71
- const username = ref(
72
- localStorage.getItem('user') ? JSON.parse(localStorage.getItem('user') || '{}').username : '用户',
73
- );
74
- const userTabs = [
75
- {
76
- label: '首页',
77
- icon: 'home',
78
- path: '/user/home',
79
- },
80
- ];
81
-
82
- async function navigateTo(path: string) {
83
- await router.push(path);
84
- }
85
-
86
- async function logout() {
87
- await router.push('/login');
88
- }
89
- </script>
90
-
91
- <style scoped>
92
- .q-toolbar {
93
- min-height: 60px;
94
- }
95
-
96
- .q-tabs {
97
- background: transparent !important;
98
- }
99
-
100
- .q-tab {
101
- margin: 0 4px;
102
- border-radius: 8px 8px 0 0;
103
- }
104
-
105
- .q-tab--active {
106
- background: rgba(255, 255, 255, 0.2);
107
- }
108
- </style>
@@ -1,29 +0,0 @@
1
- <script setup lang="ts"></script>
2
-
3
- <template>
4
- <div class="auth-container"></div>
5
- </template>
6
-
7
- <style scoped>
8
- .auth-container {
9
- min-height: 100vh;
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
14
- padding: 20px;
15
- }
16
-
17
- .auth-card {
18
- width: 100%;
19
- max-width: 400px;
20
- background: rgba(255, 255, 255, 0.95);
21
- backdrop-filter: blur(10px);
22
- }
23
-
24
- @media (max-width: 480px) {
25
- .auth-card {
26
- max-width: 100%;
27
- }
28
- }
29
- </style>
@@ -1,7 +0,0 @@
1
- syntax = "proto3";
2
- message Image {
3
- bytes bytes = 1;
4
- }
5
- message Images {
6
- repeated Image images = 1;
7
- }
@@ -1,10 +0,0 @@
1
- syntax = "proto3";
2
-
3
- message Wave {
4
- repeated double values = 1; // 单个数组(对应 number[])
5
- }
6
-
7
- message WaveMap {
8
- map<string, Wave> origin = 1; // 对应 origin: {[key: string]: number[]}
9
- map<string, Wave> smooth = 2; // 对应 smooth: {[key: string]: number[]}
10
- }
@@ -1,48 +0,0 @@
1
- // @generated by protoc-gen-es v2.9.0 with parameter "target=ts"
2
- // @generated from file Images.proto (syntax proto3)
3
-
4
-
5
- import type { GenFile, GenMessage } from '@bufbuild/protobuf/codegenv2';
6
- import { fileDesc, messageDesc } from '@bufbuild/protobuf/codegenv2';
7
- import type { Message } from '@bufbuild/protobuf';
8
-
9
- /**
10
- * Describes the file Images.proto.
11
- */
12
- export const file_Images: GenFile =
13
- /*@__PURE__*/
14
- fileDesc(
15
- 'CgxJbWFnZXMucHJvdG8iFgoFSW1hZ2USDQoFYnl0ZXMYASABKAwiIAoGSW1hZ2VzEhYKBmltYWdlcxgBIAMoCzIGLkltYWdlYgZwcm90bzM',
16
- );
17
-
18
- /**
19
- * @generated from message Image
20
- */
21
- export type Image = Message<'Image'> & {
22
- /**
23
- * @generated from field: bytes bytes = 1;
24
- */
25
- bytes: Uint8Array;
26
- };
27
-
28
- /**
29
- * Describes the message Image.
30
- * Use `create(ImageSchema)` to create a new message.
31
- */
32
- export const ImageSchema: GenMessage<Image> = /*@__PURE__*/ messageDesc(file_Images, 0);
33
-
34
- /**
35
- * @generated from message Images
36
- */
37
- export type Images = Message<'Images'> & {
38
- /**
39
- * @generated from field: repeated Image images = 1;
40
- */
41
- images: Image[];
42
- };
43
-
44
- /**
45
- * Describes the message Images.
46
- * Use `create(ImagesSchema)` to create a new message.
47
- */
48
- export const ImagesSchema: GenMessage<Images> = /*@__PURE__*/ messageDesc(file_Images, 1);
@@ -1,59 +0,0 @@
1
- // @generated by protoc-gen-es v2.9.0 with parameter "target=ts"
2
- // @generated from file WaveMap.proto (syntax proto3)
3
-
4
-
5
- import type { GenFile, GenMessage } from '@bufbuild/protobuf/codegenv2';
6
- import { fileDesc, messageDesc } from '@bufbuild/protobuf/codegenv2';
7
- import type { Message } from '@bufbuild/protobuf';
8
-
9
- /**
10
- * Describes the file WaveMap.proto.
11
- */
12
- export const file_WaveMap: GenFile =
13
- /*@__PURE__*/
14
- fileDesc(
15
- 'Cg1XYXZlTWFwLnByb3RvIhYKBFdhdmUSDgoGdmFsdWVzGAEgAygBIsEBCgdXYXZlTWFwEiQKBm9yaWdpbhgBIAMoCzIULldhdmVNYXAuT3JpZ2luRW50cnkSJAoGc21vb3RoGAIgAygLMhQuV2F2ZU1hcC5TbW9vdGhFbnRyeRo0CgtPcmlnaW5FbnRyeRILCgNrZXkYASABKAkSFAoFdmFsdWUYAiABKAsyBS5XYXZlOgI4ARo0CgtTbW9vdGhFbnRyeRILCgNrZXkYASABKAkSFAoFdmFsdWUYAiABKAsyBS5XYXZlOgI4AWIGcHJvdG8z',
16
- );
17
-
18
- /**
19
- * @generated from message Wave
20
- */
21
- export type Wave = Message<'Wave'> & {
22
- /**
23
- * 单个数组(对应 number[])
24
- *
25
- * @generated from field: repeated double values = 1;
26
- */
27
- values: number[];
28
- };
29
-
30
- /**
31
- * Describes the message Wave.
32
- * Use `create(WaveSchema)` to create a new message.
33
- */
34
- export const WaveSchema: GenMessage<Wave> = /*@__PURE__*/ messageDesc(file_WaveMap, 0);
35
-
36
- /**
37
- * @generated from message WaveMap
38
- */
39
- export type WaveMap = Message<'WaveMap'> & {
40
- /**
41
- * 对应 origin: {[key: string]: number[]}
42
- *
43
- * @generated from field: map<string, Wave> origin = 1;
44
- */
45
- origin: { [key: string]: Wave };
46
-
47
- /**
48
- * 对应 smooth: {[key: string]: number[]}
49
- *
50
- * @generated from field: map<string, Wave> smooth = 2;
51
- */
52
- smooth: { [key: string]: Wave };
53
- };
54
-
55
- /**
56
- * Describes the message WaveMap.
57
- * Use `create(WaveMapSchema)` to create a new message.
58
- */
59
- export const WaveMapSchema: GenMessage<WaveMap> = /*@__PURE__*/ messageDesc(file_WaveMap, 1);
@@ -1,37 +0,0 @@
1
- import { defineRouter } from '#q-app/wrappers';
2
- import {
3
- createMemoryHistory,
4
- createRouter,
5
- createWebHashHistory,
6
- createWebHistory,
7
- } from 'vue-router';
8
- import routes from './routes';
9
-
10
- /*
11
- * If not building with SSR mode, you can
12
- * directly export the Router instantiation;
13
- *
14
- * The function below can be async too; either use
15
- * async/await or return a Promise which resolves
16
- * with the Router instance.
17
- */
18
-
19
- export default defineRouter(function (/* { store, ssrContext } */) {
20
- const createHistory = process.env.SERVER
21
- ? createMemoryHistory
22
- : process.env.VUE_ROUTER_MODE === 'history'
23
- ? createWebHistory
24
- : createWebHashHistory;
25
-
26
- const Router = createRouter({
27
- scrollBehavior: () => ({ left: 0, top: 0 }),
28
- routes,
29
-
30
- // Leave this as is and make changes in quasar.conf.js instead!
31
- // quasar.conf.js -> build -> vueRouterMode
32
- // quasar.conf.js -> build -> publicPath
33
- history: createHistory(process.env.VUE_ROUTER_BASE),
34
- });
35
-
36
- return Router;
37
- });
@@ -1,14 +0,0 @@
1
- import type { RouteRecordRaw } from 'vue-router';
2
-
3
- const routes: RouteRecordRaw[] = [
4
- {
5
- path: '/',
6
- redirect: '/login',
7
- },
8
- {
9
- path: '/login',
10
- component: () => import('pages/LoginPage.vue'),
11
- },
12
- ];
13
-
14
- export default routes;
@@ -1,5 +0,0 @@
1
- export function extractPlainText(text: string) {
2
- const parser = new DOMParser();
3
- const doc = parser.parseFromString(text, 'text/html');
4
- return doc.body.textContent || '';
5
- }
@@ -1,43 +0,0 @@
1
- export function getStartOfDay(daysAgo: number = 0): number {
2
- const startOfDay = new Date();
3
- startOfDay.setHours(0, 0, 0, 0);
4
- return startOfDay.getTime() - daysAgo * 24 * 60 * 60 * 1000;
5
- }
6
- export function getTimestamp(value: string) {
7
- if (value === '') return '-1';
8
- const date = new Date(value);
9
- return date.getTime().toString();
10
- }
11
- export function getDateTimeStr(timestamp: string) {
12
- const date = new Date(Number.parseInt(timestamp));
13
- // 获取年、月、日、时、分、秒
14
- const year = date.getFullYear();
15
- const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以需要加1
16
- const day = String(date.getDate()).padStart(2, '0');
17
- const hours = String(date.getHours()).padStart(2, '0');
18
- const minutes = String(date.getMinutes()).padStart(2, '0');
19
- const seconds = String(date.getSeconds()).padStart(2, '0');
20
-
21
- // 格式化输出
22
- return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
23
- }
24
- export function getDateStr(timestamp: string) {
25
- const date = new Date(Number.parseInt(timestamp));
26
- // 获取年、月、日、时、分、秒
27
- const year = date.getFullYear();
28
- const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以需要加1
29
- const day = String(date.getDate()).padStart(2, '0');
30
-
31
- // 格式化输出
32
- return `${year}-${month}-${day}`;
33
- }
34
- export function getTimeStr(timestamp: string) {
35
- const date = new Date(timestamp);
36
- // 获取年、月、日、时、分、秒
37
- const hours = String(date.getHours()).padStart(2, '0');
38
- const minutes = String(date.getMinutes()).padStart(2, '0');
39
- const seconds = String(date.getSeconds()).padStart(2, '0');
40
-
41
- // 格式化输出
42
- return `${hours}:${minutes}:${seconds}`;
43
- }
@@ -1,46 +0,0 @@
1
- function pulsation2csv(data: { [key: string]: number[] }): void {
2
- const keys = Object.keys(data);
3
-
4
- const maxLength = Math.max(...keys.map((key) => data[key].length));
5
-
6
- // 填充所有数组到最大长度,可以填充空字符串或其他默认值
7
- keys.forEach((key) => {
8
- while (data[key].length < maxLength) {
9
- data[key].push(0); // 或者填入其他默认值
10
- }
11
- });
12
-
13
- let csvContent = '';
14
-
15
- // 添加自定义表头
16
- csvContent += keys.join(',') + '\n';
17
-
18
- // 遍历数据数组,将每一行转换为CSV格式
19
- for (let i = 0; i < maxLength; i++) {
20
- let row = '';
21
- keys.forEach((key) => {
22
- row += `"${data[key][i]}"`;
23
- row += ',';
24
- });
25
- csvContent += row.slice(0, -1) + '\n'; // 去掉最后一个逗号
26
- }
27
-
28
- // 创建一个 Blob 对象
29
- const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
30
-
31
- // 创建一个可下载的链接
32
- const url = window.URL.createObjectURL(blob);
33
- const link = document.createElement('a');
34
- link.href = url;
35
- link.setAttribute('download', 'data.csv'); // 文件名
36
- document.body.appendChild(link);
37
-
38
- // 模拟点击事件以下载文件
39
- link.click();
40
-
41
- // 清理
42
- document.body.removeChild(link);
43
- window.URL.revokeObjectURL(url);
44
- }
45
-
46
- export { pulsation2csv };
@@ -1,159 +0,0 @@
1
- /** 平台类型 */
2
- type Platform = 'electron' | 'web';
3
-
4
- /** 存储操作结果接口 */
5
- interface StorageResult {
6
- success: boolean;
7
- error?: Error;
8
- }
9
-
10
- /** Token 操作助手对象 */
11
- export const tokenHelper = {
12
- /** 设置 token */
13
- set: (val: string): StorageResult => {
14
- try {
15
- if (getPlatform() === 'electron') {
16
- window.electronAPI.setStoreItem('token', val);
17
- } else {
18
- window.localStorage.setItem('token', val);
19
- }
20
- return { success: true };
21
- } catch (error) {
22
- console.error('设置 token 失败:', error);
23
- return { success: false, error: error as Error };
24
- }
25
- },
26
-
27
- /** 获取 token */
28
- get: (): string | null => {
29
- try {
30
- if (getPlatform() === 'electron') {
31
- return window.electronAPI.getStoreItem('token');
32
- } else {
33
- return window.localStorage.getItem('token');
34
- }
35
- } catch (error) {
36
- console.error('获取 token 失败:', error);
37
- return null;
38
- }
39
- },
40
-
41
- /** 移除 token */
42
- remove: (): StorageResult => {
43
- try {
44
- if (getPlatform() === 'electron') {
45
- window.electronAPI.setStoreItem('token', '');
46
- } else {
47
- window.localStorage.removeItem('token');
48
- }
49
- return { success: true };
50
- } catch (error) {
51
- console.error('移除 token 失败:', error);
52
- return { success: false, error: error as Error };
53
- }
54
- },
55
-
56
- /** 检查是否存在 token */
57
- exists: (): boolean => {
58
- const token = tokenHelper.get();
59
- return !!token && token !== '';
60
- },
61
- };
62
-
63
- /** 通用存储操作助手对象 */
64
- export const storageHelper = {
65
- /** 设置存储项 */
66
- setItem: (key: string, val: string): StorageResult => {
67
- try {
68
- if (getPlatform() === 'electron') {
69
- window.electronAPI.setStoreItem(key, val);
70
- } else {
71
- window.localStorage.setItem(key, val);
72
- }
73
- return { success: true };
74
- } catch (error) {
75
- console.error(`设置存储项 ${key} 失败:`, error);
76
- return { success: false, error: error as Error };
77
- }
78
- },
79
-
80
- /** 获取存储项 */
81
- getItem: (key: string): string | null => {
82
- try {
83
- if (getPlatform() === 'electron') {
84
- return window.electronAPI.getStoreItem(key);
85
- } else {
86
- return window.localStorage.getItem(key);
87
- }
88
- } catch (error) {
89
- console.error(`获取存储项 ${key} 失败:`, error);
90
- return null;
91
- }
92
- },
93
-
94
- /** 移除存储项 */
95
- removeItem: (key: string): StorageResult => {
96
- try {
97
- if (getPlatform() === 'electron') {
98
- window.electronAPI.removeStoreItem(key);
99
- } else {
100
- window.localStorage.removeItem(key);
101
- }
102
- return { success: true };
103
- } catch (error) {
104
- console.error(`移除存储项 ${key} 失败:`, error);
105
- return { success: false, error: error as Error };
106
- }
107
- },
108
-
109
- /** 清空所有存储 */
110
- clear: (): StorageResult => {
111
- try {
112
- if (getPlatform() === 'electron') {
113
- // 如果是 electron,可能需要实现清空逻辑
114
- window.localStorage.clear();
115
- } else {
116
- window.localStorage.clear();
117
- }
118
- return { success: true };
119
- } catch (error) {
120
- console.error('清空存储失败:', error);
121
- return { success: false, error: error as Error };
122
- }
123
- },
124
- };
125
-
126
- /** 获取当前平台类型 */
127
- export const getPlatform = (): Platform => {
128
- // 检查是否在 Electron 环境中
129
- if (typeof window !== 'undefined' && window.electronAPI?.available) {
130
- try {
131
- if (window.electronAPI.available()) {
132
- return 'electron';
133
- }
134
- } catch {
135
- // 忽略错误,继续检查其他环境
136
- }
137
- }
138
-
139
- // 默认返回 web 环境
140
- return 'web';
141
- };
142
-
143
- // 扩展 Window 接口,添加 electronAPI 的类型定义
144
- declare global {
145
- interface Window {
146
- electronAPI?: {
147
- available: () => boolean;
148
- setStoreItem: (key: string, value: string) => void;
149
- getStoreItem: (key: string) => string | null;
150
- removeStoreItem: (key: string) => void;
151
- };
152
- }
153
- }
154
-
155
- export default {
156
- tokenHelper,
157
- storageHelper,
158
- getPlatform,
159
- };
package/src/util/image.ts DELETED
@@ -1,28 +0,0 @@
1
- export function arrayBufferToImageBase64(bytes: Uint8Array) {
2
- // do anything with the byte array here
3
- let binary = '';
4
- const len = bytes.byteLength;
5
- for (let i = 0; i < len; i++) {
6
- binary += String.fromCharCode(bytes[i]);
7
- }
8
- return 'data:image/png;base64,' + window.btoa(binary);
9
- }
10
- export function base64ToArrayBuffer(base64: string): ArrayBuffer {
11
- // 移除可能存在的 data URL 前缀
12
- const base64WithoutPrefix = base64.replace(/^data:\w+\/\w+;base64,/, '');
13
-
14
- // 解码 base64 字符串
15
- const binaryString = window.atob(base64WithoutPrefix);
16
- const len = binaryString.length;
17
-
18
- // 创建 ArrayBuffer 和 Uint8Array
19
- const buffer = new ArrayBuffer(len);
20
- const bytes = new Uint8Array(buffer);
21
-
22
- // 将字符转换为字节
23
- for (let i = 0; i < len; i++) {
24
- bytes[i] = binaryString.charCodeAt(i);
25
- }
26
-
27
- return buffer;
28
- }