web-core-tcm 0.0.24 → 0.0.25

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 (126) hide show
  1. package/.editorconfig +7 -0
  2. package/.github/workflows/test.yml +29 -0
  3. package/.prettierrc.json +5 -0
  4. package/.vscode/extensions.json +15 -0
  5. package/.vscode/settings.json +9 -0
  6. package/eslint.config.js +83 -0
  7. package/index.html +24 -0
  8. package/package.json +1 -4
  9. package/postcss.config.js +29 -0
  10. package/public/favicon.ico +0 -0
  11. package/public/icons/favicon-128x128.png +0 -0
  12. package/public/icons/favicon-16x16.png +0 -0
  13. package/public/icons/favicon-32x32.png +0 -0
  14. package/public/icons/favicon-96x96.png +0 -0
  15. package/quasar.config.ts +233 -0
  16. package/src/App.vue +7 -0
  17. package/src/api/algorithm/comprehensiveAlgorithm.ts +20 -0
  18. package/src/api/algorithm/index.ts +50 -0
  19. package/src/api/algorithm/inquiriesAlgorithm.ts +16 -0
  20. package/src/api/algorithm/inspectionsAlgorithm.ts +11 -0
  21. package/src/api/algorithm/lisemsAlgorithm.ts +16 -0
  22. package/src/api/algorithm/pulsationsAlgorithm.ts +8 -0
  23. package/src/api/authorization/alova/apiDefinitions.ts +23 -0
  24. package/src/api/authorization/alova/createApis.ts +114 -0
  25. package/src/api/authorization/alova/globals.d.ts +394 -0
  26. package/src/api/authorization/alova/implement/authorization.ts +14 -0
  27. package/src/api/authorization/alova/implement/index.ts +1 -0
  28. package/src/api/authorization/alova/index.ts +22 -0
  29. package/src/api/authorization/authorization.ts +16 -0
  30. package/src/api/authorization/index.ts +2 -0
  31. package/src/api/check/alova/apiDefinitions.ts +30 -0
  32. package/src/api/check/alova/createApis.ts +114 -0
  33. package/src/api/check/alova/globals.d.ts +1257 -0
  34. package/src/api/check/alova/implement/check.ts +165 -0
  35. package/src/api/check/alova/implement/index.ts +1 -0
  36. package/src/api/check/alova/index.ts +22 -0
  37. package/src/api/check/check.ts +217 -0
  38. package/src/api/check/index.ts +2 -0
  39. package/src/api/config/alova/index.ts +71 -0
  40. package/src/api/config/index.ts +132 -0
  41. package/src/api/device/device.js +58 -0
  42. package/src/api/doctor/alova/apiDefinitions.ts +28 -0
  43. package/src/api/doctor/alova/createApis.ts +114 -0
  44. package/src/api/doctor/alova/globals.d.ts +559 -0
  45. package/src/api/doctor/alova/implement/doctor.ts +51 -0
  46. package/src/api/doctor/alova/implement/index.ts +1 -0
  47. package/src/api/doctor/alova/index.ts +23 -0
  48. package/src/api/doctor/doctor.ts +53 -0
  49. package/src/api/doctor/index.ts +2 -0
  50. package/src/api/index.ts +12 -0
  51. package/src/api/metric/implement/index.ts +1 -0
  52. package/src/api/metric/implement/metric.ts +108 -0
  53. package/src/api/metric/index.ts +2 -0
  54. package/src/api/metric/metric.ts +114 -0
  55. package/src/api/oauth/alova/apiDefinitions.ts +26 -0
  56. package/src/api/oauth/alova/createApis.ts +114 -0
  57. package/src/api/oauth/alova/globals.d.ts +460 -0
  58. package/src/api/oauth/alova/implement/index.ts +1 -0
  59. package/src/api/oauth/alova/implement/oauth.ts +24 -0
  60. package/src/api/oauth/alova/index.ts +21 -0
  61. package/src/api/oauth/index.ts +2 -0
  62. package/src/api/oauth/oauth.ts +19 -0
  63. package/src/api/outpatient/alova/apiDefinitions.ts +27 -0
  64. package/src/api/outpatient/alova/createApis.ts +114 -0
  65. package/src/api/outpatient/alova/globals.d.ts +685 -0
  66. package/src/api/outpatient/alova/implement/index.ts +1 -0
  67. package/src/api/outpatient/alova/implement/outpatient.ts +91 -0
  68. package/src/api/outpatient/alova/index.ts +22 -0
  69. package/src/api/outpatient/index.ts +2 -0
  70. package/src/api/outpatient/outpatient.ts +67 -0
  71. package/src/api/patient/alova/apiDefinitions.ts +41 -0
  72. package/src/api/patient/alova/createApis.ts +114 -0
  73. package/src/api/patient/alova/globals.d.ts +1690 -0
  74. package/src/api/patient/alova/implement/index.ts +2 -0
  75. package/src/api/patient/alova/implement/meta.ts +517 -0
  76. package/src/api/patient/alova/implement/patient.ts +99 -0
  77. package/src/api/patient/alova/index.ts +22 -0
  78. package/src/api/patient/core.ts +133 -0
  79. package/src/api/patient/index.ts +4 -0
  80. package/src/api/patient/meta.ts +570 -0
  81. package/src/api/patient/patient.ts +98 -0
  82. package/src/api/prescription/alova/apiDefinitions.ts +29 -0
  83. package/src/api/prescription/alova/createApis.ts +114 -0
  84. package/src/api/prescription/alova/globals.d.ts +968 -0
  85. package/src/api/prescription/alova/implement/herbal.ts +68 -0
  86. package/src/api/prescription/alova/implement/index.ts +2 -0
  87. package/src/api/prescription/alova/implement/prescription.ts +62 -0
  88. package/src/api/prescription/alova/index.ts +22 -0
  89. package/src/api/prescription/herbal.ts +51 -0
  90. package/src/api/prescription/index.ts +3 -0
  91. package/src/api/prescription/prescription.ts +76 -0
  92. package/src/api/scientist/alova/apiDefinitions.ts +27 -0
  93. package/src/api/scientist/alova/createApis.ts +114 -0
  94. package/src/api/scientist/alova/globals.d.ts +447 -0
  95. package/src/api/scientist/alova/implement/index.ts +1 -0
  96. package/src/api/scientist/alova/implement/scientist.ts +40 -0
  97. package/src/api/scientist/alova/index.ts +24 -0
  98. package/src/api/scientist/index.ts +2 -0
  99. package/src/api/scientist/scientist.ts +49 -0
  100. package/src/assets/quasar-logo-vertical.svg +15 -0
  101. package/src/boot/.gitkeep +0 -0
  102. package/src/components/ExampleComponent.vue +37 -0
  103. package/src/components/models.ts +8 -0
  104. package/src/css/app.scss +1 -0
  105. package/src/css/quasar.variables.scss +25 -0
  106. package/src/env.d.ts +7 -0
  107. package/src/index.ts +3 -0
  108. package/src/layouts/UserLayout.vue +108 -0
  109. package/src/pages/LoginPage.vue +29 -0
  110. package/src/proto/Images.proto +7 -0
  111. package/src/proto/WaveMap.proto +10 -0
  112. package/src/proto/index.ts +2 -0
  113. package/src/proto/types/Images_pb.ts +48 -0
  114. package/src/proto/types/WaveMap_pb.ts +59 -0
  115. package/src/router/index.ts +37 -0
  116. package/src/router/routes.ts +14 -0
  117. package/src/util/RichTextUtil.ts +5 -0
  118. package/src/util/datetime.ts +43 -0
  119. package/src/util/export.ts +46 -0
  120. package/src/util/helper.ts +159 -0
  121. package/src/util/image.ts +28 -0
  122. package/src/util/number.ts +146 -0
  123. package/src/util/s256.js +27 -0
  124. package/src/util/secret.ts +60 -0
  125. package/src/util/string.ts +121 -0
  126. package/tsconfig.json +7 -0
package/.editorconfig ADDED
@@ -0,0 +1,7 @@
1
+ [*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]
2
+ charset = utf-8
3
+ indent_size = 2
4
+ indent_style = space
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ trim_trailing_whitespace = true
@@ -0,0 +1,29 @@
1
+ name: Publish to NPM
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ jobs:
7
+ publish-npm:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v3
11
+ - name: Setup Node.js
12
+ uses: actions/setup-node@v3
13
+ with:
14
+ node-version: '22'
15
+ registry-url: 'https://registry.npmjs.org'
16
+ - name: Install dependencies
17
+ run: npm ci
18
+ - name: Update package.json version
19
+ run: |
20
+ # 从 release tag 获取版本号(移除可能的 'v' 前缀)
21
+ VERSION=${TAG_NAME#v}
22
+ echo "Setting version to: $VERSION"
23
+ npm version $VERSION --no-git-tag-version --allow-same-version
24
+ env:
25
+ TAG_NAME: ${{ github.event.release.tag_name }}
26
+ - name: Publish to npm
27
+ run: npm publish
28
+ env:
29
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/prettierrc",
3
+ "singleQuote": true,
4
+ "printWidth": 100
5
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "recommendations": [
3
+ "dbaeumer.vscode-eslint",
4
+ "esbenp.prettier-vscode",
5
+ "editorconfig.editorconfig",
6
+ "vue.volar",
7
+ "wayou.vscode-todo-highlight"
8
+ ],
9
+ "unwantedRecommendations": [
10
+ "octref.vetur",
11
+ "hookyqr.beautify",
12
+ "dbaeumer.jshint",
13
+ "ms-vscode.vscode-typescript-tslint-plugin"
14
+ ]
15
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "editor.bracketPairColorization.enabled": true,
3
+ "editor.guides.bracketPairs": true,
4
+ "editor.formatOnSave": true,
5
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
6
+ "editor.codeActionsOnSave": ["source.fixAll.eslint"],
7
+ "eslint.validate": ["javascript", "javascriptreact", "typescript", "vue"],
8
+ "typescript.tsdk": "node_modules/typescript/lib"
9
+ }
@@ -0,0 +1,83 @@
1
+ import js from '@eslint/js';
2
+ import globals from 'globals';
3
+ import pluginVue from 'eslint-plugin-vue';
4
+ import pluginQuasar from '@quasar/app-vite/eslint';
5
+ import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript';
6
+ import prettierSkipFormatting from '@vue/eslint-config-prettier/skip-formatting';
7
+
8
+ export default defineConfigWithVueTs(
9
+ {
10
+ /**
11
+ * Ignore the following files.
12
+ * Please note that pluginQuasar.configs.recommended() already ignores
13
+ * the "node_modules" folder for you (and all other Quasar project
14
+ * relevant folders and files).
15
+ *
16
+ * ESLint requires "ignores" key to be the only one in this object
17
+ */
18
+ // ignores: []
19
+ },
20
+
21
+ pluginQuasar.configs.recommended(),
22
+ js.configs.recommended,
23
+
24
+ /**
25
+ * https://eslint.vuejs.org
26
+ *
27
+ * pluginVue.configs.base
28
+ * -> Settings and rules to enable correct ESLint parsing.
29
+ * pluginVue.configs[ 'flat/essential']
30
+ * -> base, plus rules to prevent errors or unintended behavior.
31
+ * pluginVue.configs["flat/strongly-recommended"]
32
+ * -> Above, plus rules to considerably improve code readability and/or dev experience.
33
+ * pluginVue.configs["flat/recommended"]
34
+ * -> Above, plus rules to enforce subjective community defaults to ensure consistency.
35
+ */
36
+ pluginVue.configs['flat/essential'],
37
+
38
+ {
39
+ files: ['**/*.ts', '**/*.vue'],
40
+ rules: {
41
+ '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }],
42
+ },
43
+ },
44
+ // https://github.com/vuejs/eslint-config-typescript
45
+ vueTsConfigs.recommendedTypeChecked,
46
+
47
+ {
48
+ languageOptions: {
49
+ ecmaVersion: 'latest',
50
+ sourceType: 'module',
51
+
52
+ globals: {
53
+ ...globals.browser,
54
+ ...globals.node, // SSR, Electron, config files
55
+ process: 'readonly', // process.env.*
56
+ ga: 'readonly', // Google Analytics
57
+ cordova: 'readonly',
58
+ Capacitor: 'readonly',
59
+ chrome: 'readonly', // BEX related
60
+ browser: 'readonly', // BEX related
61
+ },
62
+ },
63
+
64
+ // add your custom rules here
65
+ rules: {
66
+ 'prefer-promise-reject-errors': 'off',
67
+
68
+ // allow debugger during development only
69
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
70
+ },
71
+ },
72
+
73
+ {
74
+ files: ['src-pwa/custom-service-worker.ts'],
75
+ languageOptions: {
76
+ globals: {
77
+ ...globals.serviceworker,
78
+ },
79
+ },
80
+ },
81
+
82
+ prettierSkipFormatting,
83
+ );
package/index.html ADDED
@@ -0,0 +1,24 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title><%= productName %></title>
5
+
6
+ <meta charset="utf-8" />
7
+ <meta name="description" content="<%= productDescription %>" />
8
+ <meta name="format-detection" content="telephone=no" />
9
+ <meta name="msapplication-tap-highlight" content="no" />
10
+ <meta
11
+ name="viewport"
12
+ content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>"
13
+ />
14
+
15
+ <link rel="icon" type="image/png" sizes="128x128" href="icons/favicon-128x128.png" />
16
+ <link rel="icon" type="image/png" sizes="96x96" href="icons/favicon-96x96.png" />
17
+ <link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png" />
18
+ <link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png" />
19
+ <link rel="icon" type="image/ico" href="favicon.ico" />
20
+ </head>
21
+ <body>
22
+ <!-- quasar:entry-point -->
23
+ </body>
24
+ </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web-core-tcm",
3
- "version": "0.0.24",
3
+ "version": "0.0.25",
4
4
  "description": "Core",
5
5
  "productName": "Core",
6
6
  "author": "wywywywywywywywywy <qa123456_0714@qq.com>",
@@ -63,9 +63,6 @@
63
63
  "main": "dist/index.ts",
64
64
  "types": "dist/index.ts",
65
65
  "module": "dist/index.ts",
66
- "files": [
67
- "dist"
68
- ],
69
66
  "exports": {
70
67
  "./api/algorithm": "./dist/src/api/patient/index.d.ts",
71
68
  "./api/authorization": "./dist/api/authorization/index.d.ts",
@@ -0,0 +1,29 @@
1
+ // https://github.com/michael-ciniawsky/postcss-load-config
2
+
3
+ import autoprefixer from 'autoprefixer';
4
+ // import rtlcss from 'postcss-rtlcss'
5
+
6
+ export default {
7
+ plugins: [
8
+ // https://github.com/postcss/autoprefixer
9
+ autoprefixer({
10
+ overrideBrowserslist: [
11
+ 'last 4 Chrome versions',
12
+ 'last 4 Firefox versions',
13
+ 'last 4 Edge versions',
14
+ 'last 4 Safari versions',
15
+ 'last 4 Android versions',
16
+ 'last 4 ChromeAndroid versions',
17
+ 'last 4 FirefoxAndroid versions',
18
+ 'last 4 iOS versions',
19
+ ],
20
+ }),
21
+
22
+ // https://github.com/elchininet/postcss-rtlcss
23
+ // If you want to support RTL css, then
24
+ // 1. yarn/pnpm/bun/npm install postcss-rtlcss
25
+ // 2. optionally set quasar.config.js > framework > lang to an RTL language
26
+ // 3. uncomment the following line (and its import statement above):
27
+ // rtlcss()
28
+ ],
29
+ };
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,233 @@
1
+ // Configuration for your app
2
+ // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file
3
+
4
+ import { defineConfig } from '#q-app/wrappers';
5
+ import dts from 'vite-plugin-dts';
6
+ import { resolve } from 'path';
7
+
8
+ export default defineConfig((/* ctx */) => {
9
+ return {
10
+ // https://v2.quasar.dev/quasar-cli-vite/prefetch-feature
11
+ // preFetch: true,
12
+
13
+ // app boot file (/src/boot)
14
+ // --> boot files are part of "main.js"
15
+ // https://v2.quasar.dev/quasar-cli-vite/boot-files
16
+ boot: [],
17
+
18
+ // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css
19
+ css: ['app.scss'],
20
+
21
+ // https://github.com/quasarframework/quasar/tree/dev/extras
22
+ extras: [
23
+ // 'ionicons-v4',
24
+ // 'mdi-v7',
25
+ // 'fontawesome-v6',
26
+ // 'eva-icons',
27
+ // 'themify',
28
+ // 'line-awesome',
29
+ // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
30
+
31
+ 'roboto-font', // optional, you are not bound to it
32
+ 'material-icons', // optional, you are not bound to it
33
+ ],
34
+
35
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#build
36
+ build: {
37
+ target: {
38
+ browser: ['es2022', 'firefox115', 'chrome115', 'safari14'],
39
+ node: 'node20',
40
+ },
41
+
42
+ vueRouterMode: 'hash', // available values: 'hash', 'history'
43
+ // vueRouterBase,
44
+ // vueDevtools,
45
+ // vueOptionsAPI: false,
46
+
47
+ // rebuildCache: true, // rebuilds Vite/linter/etc cache on startup
48
+
49
+ // publicPath: '/',
50
+ // analyze: true,
51
+ // env: {},
52
+ // rawDefine: {}
53
+ // ignorePublicFolder: true,
54
+ // minify: false,
55
+ // polyfillModulePreload: true,
56
+ // distDir
57
+ // viteVuePluginOptions: {},
58
+
59
+ extendViteConf(config) {
60
+ config.build = {
61
+ outDir: 'dist',
62
+ lib: {
63
+ entry: 'src/index.ts',
64
+ formats: ['es'],
65
+ },
66
+
67
+ rollupOptions: {
68
+ external: [], // 可选:这里写不想被打包进来的依赖
69
+ output: {
70
+ preserveModules: true, // ✅ 保留文件结构
71
+ entryFileNames: '[name].js', // ✅ 输出文件名规则
72
+ dir: 'dist',
73
+ },
74
+ },
75
+ };
76
+ },
77
+ vitePlugins: [
78
+ [
79
+ 'vite-plugin-checker',
80
+ {
81
+ vueTsc: true,
82
+ eslint: {
83
+ lintCommand: 'eslint -c ./eslint.config.js "./src*/**/*.{ts,js,mjs,cjs,vue}"',
84
+ useFlatConfig: true,
85
+ },
86
+ },
87
+ { server: false },
88
+ ],
89
+ dts({
90
+ entryRoot: 'src',
91
+ outDir: 'dist/src',
92
+ tsconfigPath: './tsconfig.json',
93
+ }),
94
+ ],
95
+ },
96
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#devserver
97
+ devServer: {
98
+ // https: true,
99
+ open: true, // opens browser window automatically
100
+ },
101
+
102
+ // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#framework
103
+ framework: {
104
+ config: {},
105
+
106
+ // iconSet: 'material-icons', // Quasar icon set
107
+ // lang: 'en-US', // Quasar language pack
108
+
109
+ // For special cases outside of where the auto-import strategy can have an impact
110
+ // (like functional components as one of the examples),
111
+ // you can manually specify Quasar components/directives to be available everywhere:
112
+ //
113
+ // components: [],
114
+ // directives: [],
115
+
116
+ // Quasar plugins
117
+ plugins: [],
118
+ },
119
+
120
+ // animations: 'all', // --- includes all animations
121
+ // https://v2.quasar.dev/options/animations
122
+ animations: [],
123
+
124
+ // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#sourcefiles
125
+ // sourceFiles: {
126
+ // rootComponent: 'src/App.vue',
127
+ // router: 'src/router/index',
128
+ // store: 'src/store/index',
129
+ // pwaRegisterServiceWorker: 'src-pwa/register-service-worker',
130
+ // pwaServiceWorker: 'src-pwa/custom-service-worker',
131
+ // pwaManifestFile: 'src-pwa/manifest.json',
132
+ // electronMain: 'src-electron/electron-main',
133
+ // electronPreload: 'src-electron/electron-preload'
134
+ // bexManifestFile: 'src-bex/manifest.json
135
+ // },
136
+
137
+ // https://v2.quasar.dev/quasar-cli-vite/developing-ssr/configuring-ssr
138
+ ssr: {
139
+ prodPort: 3000, // The default port that the production server should use
140
+ // (gets superseded if process.env.PORT is specified at runtime)
141
+
142
+ middlewares: [
143
+ 'render', // keep this as last one
144
+ ],
145
+
146
+ // extendPackageJson (json) {},
147
+ // extendSSRWebserverConf (esbuildConf) {},
148
+
149
+ // manualStoreSerialization: true,
150
+ // manualStoreSsrContextInjection: true,
151
+ // manualStoreHydration: true,
152
+ // manualPostHydrationTrigger: true,
153
+
154
+ pwa: false,
155
+ // pwaOfflineHtmlFilename: 'offline.html', // do NOT use index.html as name!
156
+
157
+ // pwaExtendGenerateSWOptions (cfg) {},
158
+ // pwaExtendInjectManifestOptions (cfg) {}
159
+ },
160
+
161
+ // https://v2.quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa
162
+ pwa: {
163
+ workboxMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
164
+ // swFilename: 'sw.js',
165
+ // manifestFilename: 'manifest.json',
166
+ // extendManifestJson (json) {},
167
+ // useCredentialsForManifestTag: true,
168
+ // injectPwaMetaTags: false,
169
+ // extendPWACustomSWConf (esbuildConf) {},
170
+ // extendGenerateSWOptions (cfg) {},
171
+ // extendInjectManifestOptions (cfg) {}
172
+ },
173
+
174
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-cordova-apps/configuring-cordova
175
+ cordova: {
176
+ // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
177
+ },
178
+
179
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-capacitor-apps/configuring-capacitor
180
+ capacitor: {
181
+ hideSplashscreen: true,
182
+ },
183
+
184
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-electron-apps/configuring-electron
185
+ electron: {
186
+ // extendElectronMainConf (esbuildConf) {},
187
+ // extendElectronPreloadConf (esbuildConf) {},
188
+
189
+ // extendPackageJson (json) {},
190
+
191
+ // Electron preload scripts (if any) from /src-electron, WITHOUT file extension
192
+ preloadScripts: ['electron-preload'],
193
+
194
+ // specify the debugging port to use for the Electron app when running in development mode
195
+ inspectPort: 5858,
196
+
197
+ bundler: 'packager', // 'packager' or 'builder'
198
+
199
+ packager: {
200
+ // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
201
+ // OS X / Mac App Store
202
+ // appBundleId: '',
203
+ // appCategoryType: '',
204
+ // osxSign: '',
205
+ // protocol: 'myapp://path',
206
+ // Windows only
207
+ // win32metadata: { ... }
208
+ },
209
+
210
+ builder: {
211
+ // https://www.electron.build/configuration/configuration
212
+
213
+ appId: 'web-core-tcm',
214
+ },
215
+ },
216
+
217
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-browser-extensions/configuring-bex
218
+ bex: {
219
+ // extendBexScriptsConf (esbuildConf) {},
220
+ // extendBexManifestJson (json) {},
221
+
222
+ /**
223
+ * The list of extra scripts (js/ts) not in your bex manifest that you want to
224
+ * compile and use in your browser extension. Maybe dynamic use them?
225
+ *
226
+ * Each entry in the list should be a relative filename to /src-bex/
227
+ *
228
+ * @example [ 'my-script.ts', 'sub-folder/my-other-script.js' ]
229
+ */
230
+ extraScripts: [],
231
+ },
232
+ };
233
+ });
package/src/App.vue ADDED
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <router-view />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ //
7
+ </script>
@@ -0,0 +1,20 @@
1
+ // src/api/comprehensiveAlgorithm.ts
2
+ import { comprehensiveAlgorithmService } from 'src/api/algorithm';
3
+
4
+ export const comprehensiveQwenAlgorithm = (data: object) =>
5
+ comprehensiveAlgorithmService.Post<Response>('/千问大模型分析', data, {
6
+ timeout: 30000,
7
+ });
8
+
9
+ export const comprehensiveDeepSeekV3Algorithm = (data: object) =>
10
+ comprehensiveAlgorithmService.Post<Response>('/DeepSeekV3大模型分析', data, {
11
+ timeout: 30000,
12
+ });
13
+ export const comprehensiveDeepSeekR1Algorithm = (data: object) =>
14
+ comprehensiveAlgorithmService.Post<Response>('/DeepSeekR1大模型分析', data, {
15
+ timeout: 300000,
16
+ });
17
+ export const doctorSceneTextAnalysis = (data: object) =>
18
+ comprehensiveAlgorithmService.Post<Response>('/医生场景文本', data, {
19
+ timeout: 300000,
20
+ });
@@ -0,0 +1,50 @@
1
+ import { createAlova } from 'alova';
2
+ import adapterFetch from 'alova/fetch';
3
+ import { responded } from 'src/api/config/alova';
4
+ import { getServiceEndpoint, ServiceType } from 'src/api/config';
5
+
6
+ export const inspectionAlgorithmService = createAlova({
7
+ baseURL: getServiceEndpoint(ServiceType.InspectionsAlgorithm),
8
+ timeout: 30000,
9
+ cacheFor: null,
10
+ requestAdapter: adapterFetch(),
11
+ responded: responded,
12
+ });
13
+
14
+ export const inquiriesAlgorithmService = createAlova({
15
+ baseURL: getServiceEndpoint(ServiceType.InquiriesAlgorithm),
16
+ timeout: 30000,
17
+ cacheFor: null,
18
+ requestAdapter: adapterFetch(),
19
+ responded: responded,
20
+ });
21
+
22
+ export const lisemsAlgorithmService = createAlova({
23
+ baseURL: getServiceEndpoint(ServiceType.LisemsAlgorithm),
24
+ timeout: 30000,
25
+ cacheFor: null,
26
+ requestAdapter: adapterFetch(),
27
+ responded: responded,
28
+ });
29
+
30
+ export const pulsationsAlgorithmService = createAlova({
31
+ baseURL: getServiceEndpoint(ServiceType.PulsationsAlgorithm),
32
+ timeout: 30000,
33
+ cacheFor: null,
34
+ requestAdapter: adapterFetch(),
35
+ responded: responded,
36
+ });
37
+
38
+ export const comprehensiveAlgorithmService = createAlova({
39
+ baseURL: getServiceEndpoint(ServiceType.ComprehensiveAlgorithm),
40
+ timeout: 30000,
41
+ cacheFor: null,
42
+ requestAdapter: adapterFetch(),
43
+ responded: responded,
44
+ });
45
+
46
+ export * from './comprehensiveAlgorithm';
47
+ export * from './inquiriesAlgorithm';
48
+ export * from './inspectionsAlgorithm';
49
+ export * from './lisemsAlgorithm';
50
+ export * from './pulsationsAlgorithm';
@@ -0,0 +1,16 @@
1
+ import { inquiriesAlgorithmService } from 'src/api/algorithm';
2
+
3
+ export const complaintsRecognition = (symptomDescription: string) =>
4
+ inquiriesAlgorithmService.Post<string[]>('/主诉/识别', { symptomDescription });
5
+
6
+ export const complaintsDialog = (body: object) =>
7
+ inquiriesAlgorithmService.Post<{ reply: string; positive_symptom: string[] }>('/主诉/对话', body);
8
+
9
+ export const complaintsView = (params: string) =>
10
+ inquiriesAlgorithmService.Post<{ symptoms: string[] }>('/主诉/视图', { params });
11
+
12
+ export const complaintsSearch = (data: string) =>
13
+ inquiriesAlgorithmService.Post<string[]>('/主诉/搜索', { data });
14
+
15
+ export const complaintsChoose = (body: object) =>
16
+ inquiriesAlgorithmService.Post<{ status: string; data: [] }>('/主诉/选择', body);
@@ -0,0 +1,11 @@
1
+ import { inspectionAlgorithmService } from 'src/api/algorithm';
2
+
3
+ export const tongueAnalyze = (images: FormData) =>
4
+ inspectionAlgorithmService.Post<JSON>('/舌象', images, {
5
+ timeout: 30000,
6
+ });
7
+
8
+ export const faceAnalyze = (images: FormData) =>
9
+ inspectionAlgorithmService.Post<JSON>('/面象', images, {
10
+ timeout: 30000,
11
+ });
@@ -0,0 +1,16 @@
1
+ import { lisemsAlgorithmService } from 'src/api/algorithm';
2
+
3
+ export const analysisLisems = (body: object) =>
4
+ lisemsAlgorithmService.Post<JSON, Response>('/特征参数', body, {
5
+ transform(data) {
6
+ return data.json() as Promise<JSON>;
7
+ },
8
+ });
9
+
10
+ export const getFrequencyDomainDiagram = (body: number[]) =>
11
+ lisemsAlgorithmService.Post<string, Response>('/频域图', JSON.stringify(body), {
12
+ async transform(res) {
13
+ const blob = await res.blob();
14
+ return URL.createObjectURL(blob);
15
+ },
16
+ });
@@ -0,0 +1,8 @@
1
+ import { pulsationsAlgorithmService } from 'src/api/algorithm';
2
+
3
+ export const pulsationPreprocessing = (pulsation: object) =>
4
+ pulsationsAlgorithmService.Post<{ [key: string]: number[] }>('/预处理', pulsation, {});
5
+ export const pulsationAnalysis = (pulsation: object) =>
6
+ pulsationsAlgorithmService.Post<JSON>('/特征参数', pulsation, {
7
+ timeout: 30000,
8
+ });
@@ -0,0 +1,23 @@
1
+ /// <reference types='./globals.d.ts' />
2
+ /* tslint:disable */
3
+
4
+ /**
5
+ * OpenAPI definition - version v0
6
+ *
7
+ *
8
+ *
9
+ * OpenAPI version: 3.1.0
10
+ *
11
+ *
12
+ * NOTE: This file is auto generated by the alova's vscode plugin.
13
+ *
14
+ * https://alova.js.org/devtools/vscode
15
+ *
16
+ * **Do not edit the file manually.**
17
+ */
18
+ export default {
19
+ 'oAuthRestful.getToken': ['POST', '/授权/服务/令牌'],
20
+ 'resourceAuthorizationRestful.getResourceAuthorizationState': ['GET', '/授权/服务/资源/{id}'],
21
+ 'roleAuthorizationRestful.getRoleAuthorizationState': ['GET', '/授权/服务/角色/{role}'],
22
+ 'userAuthorizationRestful.getUserAuthorizationState': ['GET', '/授权/服务/用户/{userId}'],
23
+ };