web-core-tcm 0.0.17 → 0.0.19

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.
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,18 +1,17 @@
1
1
  {
2
2
  "name": "web-core-tcm",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "description": "Core",
5
5
  "productName": "Core",
6
6
  "author": "wywywywywywywywywy <qa123456_0714@qq.com>",
7
7
  "private": false,
8
8
  "scripts": {
9
- "lint": "eslint -c ./eslint.config.js \"/src*/**/*.{ts,js,cjs,mjs,vue}\"",
9
+ "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
10
10
  "format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore",
11
11
  "test": "echo \"No test specified\" && exit 0",
12
12
  "dev": "quasar dev",
13
13
  "build": "quasar build",
14
- "postinstall": "quasar prepare",
15
- "build:npm": "tsc --emitDeclarationOnly && vite build"
14
+ "postinstall": "quasar prepare"
16
15
  },
17
16
  "dependencies": {
18
17
  "@quasar/extras": "^1.16.4",
@@ -58,13 +57,9 @@
58
57
  "npm": ">= 6.13.4",
59
58
  "yarn": ">= 1.21.1"
60
59
  },
61
- "main": "dist/index.js",
62
- "types": "dist/index.d.ts",
63
- "module": "dist/index.esm.js",
64
- "files": [
65
- "dist",
66
- "src"
67
- ],
60
+ "main": "src/index.ts",
61
+ "types": "src/index.ts",
62
+ "module": "src/index.ts",
68
63
  "repository": {
69
64
  "type": "git",
70
65
  "url": "git+https://github.com/NUC-TCM/web.core.tcm.git"
@@ -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,217 @@
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
+
6
+ export default defineConfig((/* ctx */) => {
7
+ return {
8
+ // https://v2.quasar.dev/quasar-cli-vite/prefetch-feature
9
+ // preFetch: true,
10
+
11
+ // app boot file (/src/boot)
12
+ // --> boot files are part of "main.js"
13
+ // https://v2.quasar.dev/quasar-cli-vite/boot-files
14
+ boot: [],
15
+
16
+ // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css
17
+ css: ['app.scss'],
18
+
19
+ // https://github.com/quasarframework/quasar/tree/dev/extras
20
+ extras: [
21
+ // 'ionicons-v4',
22
+ // 'mdi-v7',
23
+ // 'fontawesome-v6',
24
+ // 'eva-icons',
25
+ // 'themify',
26
+ // 'line-awesome',
27
+ // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
28
+
29
+ 'roboto-font', // optional, you are not bound to it
30
+ 'material-icons', // optional, you are not bound to it
31
+ ],
32
+
33
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#build
34
+ build: {
35
+ target: {
36
+ browser: ['es2022', 'firefox115', 'chrome115', 'safari14'],
37
+ node: 'node20',
38
+ },
39
+
40
+ typescript: {
41
+ strict: true,
42
+ vueShim: true,
43
+ // extendTsConfig (tsConfig) {}
44
+ },
45
+
46
+ vueRouterMode: 'hash', // available values: 'hash', 'history'
47
+ // vueRouterBase,
48
+ // vueDevtools,
49
+ // vueOptionsAPI: false,
50
+
51
+ // rebuildCache: true, // rebuilds Vite/linter/etc cache on startup
52
+
53
+ // publicPath: '/',
54
+ // analyze: true,
55
+ // env: {},
56
+ // rawDefine: {}
57
+ // ignorePublicFolder: true,
58
+ // minify: false,
59
+ // polyfillModulePreload: true,
60
+ // distDir
61
+
62
+ // extendViteConf (viteConf) {},
63
+ // viteVuePluginOptions: {},
64
+
65
+ vitePlugins: [
66
+ [
67
+ 'vite-plugin-checker',
68
+ {
69
+ vueTsc: true,
70
+ eslint: {
71
+ lintCommand: 'eslint -c ./eslint.config.js "./src*/**/*.{ts,js,mjs,cjs,vue}"',
72
+ useFlatConfig: true,
73
+ },
74
+ },
75
+ { server: false },
76
+ ],
77
+ ],
78
+ },
79
+
80
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#devserver
81
+ devServer: {
82
+ // https: true,
83
+ open: true, // opens browser window automatically
84
+ },
85
+
86
+ // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#framework
87
+ framework: {
88
+ config: {},
89
+
90
+ // iconSet: 'material-icons', // Quasar icon set
91
+ // lang: 'en-US', // Quasar language pack
92
+
93
+ // For special cases outside of where the auto-import strategy can have an impact
94
+ // (like functional components as one of the examples),
95
+ // you can manually specify Quasar components/directives to be available everywhere:
96
+ //
97
+ // components: [],
98
+ // directives: [],
99
+
100
+ // Quasar plugins
101
+ plugins: [],
102
+ },
103
+
104
+ // animations: 'all', // --- includes all animations
105
+ // https://v2.quasar.dev/options/animations
106
+ animations: [],
107
+
108
+ // https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#sourcefiles
109
+ // sourceFiles: {
110
+ // rootComponent: 'src/App.vue',
111
+ // router: 'src/router/index',
112
+ // store: 'src/store/index',
113
+ // pwaRegisterServiceWorker: 'src-pwa/register-service-worker',
114
+ // pwaServiceWorker: 'src-pwa/custom-service-worker',
115
+ // pwaManifestFile: 'src-pwa/manifest.json',
116
+ // electronMain: 'src-electron/electron-main',
117
+ // electronPreload: 'src-electron/electron-preload'
118
+ // bexManifestFile: 'src-bex/manifest.json
119
+ // },
120
+
121
+ // https://v2.quasar.dev/quasar-cli-vite/developing-ssr/configuring-ssr
122
+ ssr: {
123
+ prodPort: 3000, // The default port that the production server should use
124
+ // (gets superseded if process.env.PORT is specified at runtime)
125
+
126
+ middlewares: [
127
+ 'render', // keep this as last one
128
+ ],
129
+
130
+ // extendPackageJson (json) {},
131
+ // extendSSRWebserverConf (esbuildConf) {},
132
+
133
+ // manualStoreSerialization: true,
134
+ // manualStoreSsrContextInjection: true,
135
+ // manualStoreHydration: true,
136
+ // manualPostHydrationTrigger: true,
137
+
138
+ pwa: false,
139
+ // pwaOfflineHtmlFilename: 'offline.html', // do NOT use index.html as name!
140
+
141
+ // pwaExtendGenerateSWOptions (cfg) {},
142
+ // pwaExtendInjectManifestOptions (cfg) {}
143
+ },
144
+
145
+ // https://v2.quasar.dev/quasar-cli-vite/developing-pwa/configuring-pwa
146
+ pwa: {
147
+ workboxMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
148
+ // swFilename: 'sw.js',
149
+ // manifestFilename: 'manifest.json',
150
+ // extendManifestJson (json) {},
151
+ // useCredentialsForManifestTag: true,
152
+ // injectPwaMetaTags: false,
153
+ // extendPWACustomSWConf (esbuildConf) {},
154
+ // extendGenerateSWOptions (cfg) {},
155
+ // extendInjectManifestOptions (cfg) {}
156
+ },
157
+
158
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-cordova-apps/configuring-cordova
159
+ cordova: {
160
+ // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
161
+ },
162
+
163
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-capacitor-apps/configuring-capacitor
164
+ capacitor: {
165
+ hideSplashscreen: true,
166
+ },
167
+
168
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-electron-apps/configuring-electron
169
+ electron: {
170
+ // extendElectronMainConf (esbuildConf) {},
171
+ // extendElectronPreloadConf (esbuildConf) {},
172
+
173
+ // extendPackageJson (json) {},
174
+
175
+ // Electron preload scripts (if any) from /src-electron, WITHOUT file extension
176
+ preloadScripts: ['electron-preload'],
177
+
178
+ // specify the debugging port to use for the Electron app when running in development mode
179
+ inspectPort: 5858,
180
+
181
+ bundler: 'packager', // 'packager' or 'builder'
182
+
183
+ packager: {
184
+ // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
185
+ // OS X / Mac App Store
186
+ // appBundleId: '',
187
+ // appCategoryType: '',
188
+ // osxSign: '',
189
+ // protocol: 'myapp://path',
190
+ // Windows only
191
+ // win32metadata: { ... }
192
+ },
193
+
194
+ builder: {
195
+ // https://www.electron.build/configuration/configuration
196
+
197
+ appId: 'web-core-tcm',
198
+ },
199
+ },
200
+
201
+ // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-browser-extensions/configuring-bex
202
+ bex: {
203
+ // extendBexScriptsConf (esbuildConf) {},
204
+ // extendBexManifestJson (json) {},
205
+
206
+ /**
207
+ * The list of extra scripts (js/ts) not in your bex manifest that you want to
208
+ * compile and use in your browser extension. Maybe dynamic use them?
209
+ *
210
+ * Each entry in the list should be a relative filename to /src-bex/
211
+ *
212
+ * @example [ 'my-script.ts', 'sub-folder/my-other-script.js' ]
213
+ */
214
+ extraScripts: [],
215
+ },
216
+ };
217
+ });
@@ -1,2 +1,2 @@
1
1
  export * from './doctor';
2
- export * from './alova';
2
+ export * from './alova/index';
package/src/api/index.ts CHANGED
@@ -9,4 +9,5 @@ export * as OutPatientApi from './outpatient/index'
9
9
  export * as PatientApi from './patient/index'
10
10
  export * as PrescriptionApi from './prescription/index'
11
11
  export * as ScientistApi from './scientist/index'
12
- export * from './device/device'
12
+ export * as DeviceApi from './device/device'
13
+
package/src/index.ts CHANGED
@@ -1,29 +1,2 @@
1
- // 根级导出,提供命名空间方式访问所有模块
2
-
3
- // API模块命名空间导出
4
- export * as Api from './api/index'
5
-
6
- // 直接导出各API子模块,便于直接使用
7
- export * as AlgorithmApi from './api/algorithm/index'
8
- export * as AuthorizationApi from './api/authorization/index'
9
- export * as CheckApi from './api/check/index'
10
- export * as ConfigApi from './api/config/index'
11
- export * as DeviceApi from './api/device/device'
12
- export * as DoctorApi from './api/doctor/index'
13
- export * as MetricApi from './api/metric/index'
14
- export * as OAuthApi from './api/oauth/index'
15
- export * as OutPatientApi from './api/outpatient/index'
16
- export * as PatientApi from './api/patient/index'
17
- export * as PrescriptionApi from './api/prescription/index'
18
- export * as ScientistApi from './api/scientist/index'
19
-
20
- // Protocol Buffers相关模块导出
21
- export * as Proto from './proto/index'
22
- export * from './proto/types/WaveMap_pb'
23
- export * from './proto/types/Images_pb'
24
-
25
-
26
-
27
- // 版本信息
28
- export const version = '0.0.1'
29
-
1
+ export * from './api/index'
2
+ export * from './proto/index'
package/tsconfig.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "./.quasar/tsconfig.json"
3
+ }