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
@@ -0,0 +1,98 @@
1
+ import type { Page } from 'src/api/patient/core';
2
+ import { Tag } from 'src/api/patient/core';
3
+ import { NetworkObject } from 'src/api/patient/core';
4
+ import type { PatientState } from 'src/api/patient/alova/globals';
5
+ import { Metas } from 'src/api/patient/meta';
6
+ import type { IBuilder } from 'builder-pattern';
7
+ import { Builder } from 'builder-pattern';
8
+ import { getName } from 'src/util/string';
9
+
10
+ export abstract class Patient extends NetworkObject {
11
+ static override builder(): IBuilder<Patient> {
12
+ return Builder(this._default) as unknown as IBuilder<Patient>;
13
+ }
14
+ static override default(): typeof Patient {
15
+ return this._default as unknown as typeof Patient;
16
+ }
17
+ id = '';
18
+ name = '';
19
+ gender = '';
20
+ phoneNumber = '';
21
+ birthdate = '';
22
+ identity = '';
23
+ age = 0;
24
+ tags: Tag[] = [];
25
+ remarks: string[] = [];
26
+ doctorId = '';
27
+ createdTimestamp = '';
28
+ updatedTimestamp = '';
29
+ mainSymptom = '';
30
+ metas: Metas = Metas.builder().build();
31
+ init(id?: string, metas?: Metas) {
32
+ if (id) this.id = id;
33
+ if (metas) this.metas = metas;
34
+ this.metas.init(this);
35
+ }
36
+
37
+ override async of(json: PatientState) {
38
+ if (json.id != undefined) this.id = json.id;
39
+ if (json.name != undefined) this.name = getName(json.name);
40
+ if (json.gender != undefined) this.gender = json.gender;
41
+ if (json.phoneNumber != undefined) this.phoneNumber = json.phoneNumber;
42
+ if (json.birthdate != undefined) {
43
+ this.birthdate = json.birthdate;
44
+ //计算年龄
45
+ this.age = new Date().getFullYear() - new Date(json.birthdate).getFullYear();
46
+ }
47
+ if (json.identity != undefined) this.identity = json.identity;
48
+ if (json.tagsState != undefined)
49
+ this.tags = await Promise.all(json.tagsState.map((tag) => Tag.builder().build().of(tag)));
50
+ if (json.remarks != undefined) {
51
+ this.remarks = json.remarks;
52
+ }
53
+ if (json.doctorId != undefined) this.doctorId = json.doctorId;
54
+ if (json.createdTimestamp != undefined) this.createdTimestamp = json.createdTimestamp;
55
+ if (json.updatedTimestamp != undefined) this.updatedTimestamp = json.updatedTimestamp;
56
+ if (json.mainSymptom != undefined) this.mainSymptom = json.mainSymptom;
57
+ this.metas = this.metas.init(this);
58
+ return this;
59
+ }
60
+
61
+ override state() {
62
+ const state = {} as PatientState;
63
+ if (this.id) state.id = this.id;
64
+ if (this.name) state.name = this.name;
65
+ if (this.gender) state.gender = this.gender;
66
+ if (this.phoneNumber) state.phoneNumber = this.phoneNumber;
67
+ if (this.birthdate) state.birthdate = this.birthdate;
68
+ if (this.identity) state.identity = this.identity;
69
+ if (this.tags.length > 0) state.tagsState = this.tags.map((item) => item.state());
70
+ if (this.doctorId) state.doctorId = this.doctorId;
71
+ if (this.createdTimestamp) state.createdTimestamp = this.createdTimestamp;
72
+ if (this.updatedTimestamp) state.updatedTimestamp = this.updatedTimestamp;
73
+ if (this.mainSymptom) state.mainSymptom = this.mainSymptom;
74
+ if (this.remarks.length > 0) state.remarks = this.remarks;
75
+ return state;
76
+ }
77
+
78
+ abstract get(): Promise<this>;
79
+ abstract put(): Promise<this>;
80
+ abstract post(): Promise<this>;
81
+ abstract delete(): Promise<this>;
82
+ abstract putRemarks(): Promise<this>;
83
+ static query(params: {
84
+ id?: string;
85
+ doctorId?: string;
86
+ name?: string;
87
+ gender?: string;
88
+ identity?: string;
89
+ pageSize: number;
90
+ page: number;
91
+ phoneNumber?: string;
92
+ startTime?: string;
93
+ endTime?: string;
94
+ sort?: string;
95
+ }): Promise<Page<Patient>> {
96
+ return this.default().query(params);
97
+ }
98
+ }
@@ -0,0 +1,29 @@
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
+ 'prescriptionRestful.getPrescriptionState': ['GET', '/药材/服务/药方/{id}'],
20
+ 'prescriptionRestful.putPrescriptionState': ['PUT', '/药材/服务/药方/{id}'],
21
+ 'prescriptionRestful.deletePrescriptionState': ['DELETE', '/药材/服务/药方/{id}'],
22
+ 'herbalRestful.getHerbalState': ['GET', '/药材/服务/{id}'],
23
+ 'herbalRestful.putHerbalState': ['PUT', '/药材/服务/{id}'],
24
+ 'herbalRestful.deleteHerbalState': ['DELETE', '/药材/服务/{id}'],
25
+ 'herbalRestful.postHerbalState': ['POST', '/药材/服务'],
26
+ 'prescriptionRestful.postPrescriptionState': ['POST', '/药材/服务/药方'],
27
+ 'prescriptionRestful.queryPrescriptionState': ['POST', '/药材/服务/药方/条件查询'],
28
+ 'herbalRestful.queryHerbalState': ['POST', '/药材/服务/条件查询'],
29
+ };
@@ -0,0 +1,114 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * OpenAPI definition - version v0
5
+ *
6
+ *
7
+ *
8
+ * OpenAPI version: 3.1.0
9
+ *
10
+ *
11
+ * NOTE: This file is auto generated by the alova's vscode plugin.
12
+ *
13
+ * https://alova.js.org/devtools/vscode
14
+ *
15
+ * **Do not edit the file manually.**
16
+ */
17
+ import type { Alova, MethodType, AlovaGenerics, AlovaMethodCreateConfig } from 'alova';
18
+ import { Method } from 'alova';
19
+ import apiDefinitions from './apiDefinitions';
20
+
21
+ const cache = Object.create(null);
22
+ const createFunctionalProxy = (
23
+ array: (string | symbol)[],
24
+ alovaInstance: Alova<AlovaGenerics>,
25
+ configMap: any,
26
+ ) => {
27
+ const apiPathKey = array.join('.') as keyof typeof apiDefinitions;
28
+ if (cache[apiPathKey]) {
29
+ return cache[apiPathKey];
30
+ }
31
+ // create a new proxy instance
32
+ const proxy = new Proxy(function () {}, {
33
+ get(_, property) {
34
+ // record the target property, so that it can get the completed accessing paths
35
+ const newArray = [...array, property];
36
+ // always return a new proxy to continue recording accessing paths.
37
+ return createFunctionalProxy(newArray, alovaInstance, configMap);
38
+ },
39
+ apply(_, __, [config]) {
40
+ const apiItem = apiDefinitions[apiPathKey];
41
+ if (!apiItem) {
42
+ throw new Error(`the api path of \`${apiPathKey}\` is not found`);
43
+ }
44
+ const mergedConfig = {
45
+ ...configMap[apiPathKey],
46
+ ...config,
47
+ };
48
+ const [method, url] = apiItem;
49
+ const pathParams = mergedConfig.pathParams;
50
+ const urlReplaced = url!.replace(/\{([^}]+)\}/g, (_, key) => {
51
+ const pathParam = pathParams[key];
52
+ return pathParam;
53
+ });
54
+ delete mergedConfig.pathParams;
55
+ let data = mergedConfig.data;
56
+ if (
57
+ Object.prototype.toString.call(data) === '[object Object]' &&
58
+ typeof FormData !== 'undefined'
59
+ ) {
60
+ let hasBlobData = false;
61
+ const formData = new FormData();
62
+ for (const key in data) {
63
+ formData.append(key, data[key]);
64
+ if (data[key] instanceof Blob) {
65
+ hasBlobData = true;
66
+ }
67
+ }
68
+ data = hasBlobData ? formData : data;
69
+ }
70
+ return new Method(
71
+ method!.toUpperCase() as MethodType,
72
+ alovaInstance,
73
+ urlReplaced,
74
+ mergedConfig,
75
+ data,
76
+ );
77
+ },
78
+ });
79
+ cache[apiPathKey] = proxy;
80
+ return proxy;
81
+ };
82
+
83
+ export const createApis = (alovaInstance: Alova<AlovaGenerics>, configMap: any) => {
84
+ const Apis = new Proxy({} as prescriptionApi, {
85
+ get(_, property) {
86
+ return createFunctionalProxy([property], alovaInstance, configMap);
87
+ },
88
+ });
89
+ return Apis;
90
+ };
91
+ export const mountApis = (Apis: prescriptionApi) => {
92
+ // define global variable `Apis`
93
+ (globalThis as any).prescriptionApi = Apis;
94
+ };
95
+ type MethodConfig<T> = AlovaMethodCreateConfig<
96
+ (typeof import('./index'))['alovaInstance'] extends Alova<infer AG> ? AG : any,
97
+ any,
98
+ T
99
+ >;
100
+ type APISofParameters<Tag extends string, Url extends string> = Tag extends keyof prescriptionApi
101
+ ? Url extends keyof prescriptionApi[Tag]
102
+ ? prescriptionApi[Tag][Url] extends (...args: any) => any
103
+ ? Parameters<prescriptionApi[Tag][Url]>
104
+ : any
105
+ : any
106
+ : any;
107
+ type MethodsConfigMap = {
108
+ [P in keyof typeof import('./apiDefinitions').default]?: MethodConfig<
109
+ P extends `${infer Tag}.${infer Url}`
110
+ ? Parameters<NonNullable<APISofParameters<Tag, Url>[0]>['transform']>[0]
111
+ : any
112
+ >;
113
+ };
114
+ export const withConfigType = <Config extends MethodsConfigMap>(config: Config) => config;