├── .gitignore
├── README.md
├── index.html
├── package.json
├── pnpm-lock.yaml
├── src
├── App.vue
├── Skeleton
│ ├── SK-doctor-home.vue
│ ├── SK-doctor.vue
│ ├── SK-hpvlist.vue
│ ├── SK-index.vue
│ ├── SK-nucleic.vue
│ ├── SK-phy-details.vue
│ ├── SK-phy-exam.vue
│ ├── SK-registered.vue
│ ├── SK-self-test-result.vue
│ └── SK-self-test.vue
├── com-components
│ ├── point.vue
│ └── se-member.vue
├── common-style
│ ├── form.css
│ ├── nucleic-time.css
│ └── vaccine.css
├── env.d.ts
├── main.ts
├── manifest.json
├── pages.json
├── pages
│ ├── doctor
│ │ ├── components
│ │ │ └── pop-ups.vue
│ │ ├── doctor-Homepage.vue
│ │ └── index.vue
│ ├── graphics
│ │ └── index.vue
│ ├── hpv-vaccine
│ │ ├── hpv-buy.vue
│ │ └── hpv-vaccine.vue
│ ├── index
│ │ └── index.vue
│ ├── login-page
│ │ └── index.vue
│ ├── mine
│ │ └── mine.vue
│ ├── my-service
│ │ ├── hpv-view
│ │ │ └── index.vue
│ │ ├── my-patient
│ │ │ ├── add-patient.vue
│ │ │ └── my-patient.vue
│ │ ├── my-registration
│ │ │ └── index.vue
│ │ ├── nucleic-acid
│ │ │ └── index.vue
│ │ ├── phy-exam
│ │ │ └── index.vue
│ │ └── xingaun
│ │ │ └── index.vue
│ ├── nuclelc-acld
│ │ └── index.vue
│ ├── phy-exam
│ │ ├── Details.vue
│ │ └── index.vue
│ ├── registered
│ │ └── registered.vue
│ ├── self-test
│ │ ├── result.vue
│ │ └── topic.vue
│ ├── video
│ │ └── video.vue
│ └── xinguan-vaccine
│ │ └── xinguan-vaccine.vue
├── public
│ ├── decl-type.d.ts
│ ├── mise.ts
│ ├── rquest.ts
│ └── testing.ts
├── static
│ ├── doctor.png
│ ├── mine
│ │ ├── guahao.svg
│ │ ├── hesuan.svg
│ │ ├── hpvyimiao.svg
│ │ ├── jiuzhenren.svg
│ │ ├── tijianbaogao.svg
│ │ └── xinguanyimiao.svg
│ ├── other
│ │ ├── AI-shibie.svg
│ │ ├── dianhua.svg
│ │ ├── gengduo.svg
│ │ ├── kongshuju.jpg
│ │ ├── loading.svg
│ │ ├── shaixuan-jiantou.png
│ │ ├── shaixuan.png
│ │ ├── shanchu-goods.svg
│ │ ├── shuxing-img.png
│ │ ├── touxiang.svg
│ │ └── video-bofang.png
│ └── tab
│ │ ├── guahao-001.png
│ │ ├── guahao-002.png
│ │ ├── shipin-001.png
│ │ ├── shipin-002.png
│ │ ├── shouye-001.png
│ │ ├── shouye-002.png
│ │ ├── wode-001.png
│ │ └── wode-002.png
├── store
│ └── index.ts
└── uni.scss
├── tsconfig.json
└── vite.config.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | .DS_Store
12 | dist
13 | *.local
14 |
15 | # Editor directories and files
16 | .idea
17 | *.suo
18 | *.ntvs*
19 | *.njsproj
20 | *.sln
21 | *.sw?
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 智慧医疗-在线挂号小程序
2 |
3 | #### 介绍
4 | 智慧医疗-在线挂号小程序旨在搭建一个医疗在线挂号平台,采用前后端分离的开发模式,本人负责所有的前端部分,该小程序可用于新冠疫苗预约、HPV疫苗预约、图文咨询、预约挂号、健康体检预约、健康自测、医师课堂等应用模块。
5 |
6 | 主要技术栈: Vue3.2 + vue-cli + TypeScript + uniapp + vite。
7 |
8 | #### 使用教程:
9 |
10 | 1.打开src/manifest.json文件,微信小程序配置里,更改为你自己的 小程序APPID
11 |
12 | 2.打开src/pages/login-page/index.vue,第37行, 把appid和secret秘钥改为你自己的小程序appid和秘钥
13 |
14 | 3.在根目录下执行 npm install(也可用pnpm,随意) 安装依赖,成功后, 再执行npm run dev:mp-weixin
15 |
16 | 4.打开微信开发者工具,创建项目,目录选择dist/dev/mp-weixin,打开项目后编译即可出现
17 |
18 | #### 小程序演示
19 | 
20 | 
21 | 
22 | 
23 | 
24 | 
25 | 
26 | 
27 | 
28 | 
29 |
30 |
31 | #### 参与贡献
32 |
33 | 1. Fork 本仓库
34 | 2. 新建 Feat_xxx 分支
35 | 3. 提交代码
36 | 4. 新建 Pull Request
37 |
38 |
39 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "uni-preset-vue",
3 | "version": "0.0.0",
4 | "scripts": {
5 | "dev:app": "uni -p app",
6 | "dev:app-android": "uni -p app-android",
7 | "dev:app-ios": "uni -p app-ios",
8 | "dev:custom": "uni -p",
9 | "dev:h5": "uni",
10 | "dev:h5:ssr": "uni --ssr",
11 | "dev:mp-alipay": "uni -p mp-alipay",
12 | "dev:mp-baidu": "uni -p mp-baidu",
13 | "dev:mp-kuaishou": "uni -p mp-kuaishou",
14 | "dev:mp-lark": "uni -p mp-lark",
15 | "dev:mp-qq": "uni -p mp-qq",
16 | "dev:mp-toutiao": "uni -p mp-toutiao",
17 | "dev:mp-weixin": "uni -p mp-weixin",
18 | "dev:quickapp-webview": "uni -p quickapp-webview",
19 | "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
20 | "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
21 | "build:app": "uni build -p app",
22 | "build:app-android": "uni build -p app-android",
23 | "build:app-ios": "uni build -p app-ios",
24 | "build:custom": "uni build -p",
25 | "build:h5": "uni build",
26 | "build:h5:ssr": "uni build --ssr",
27 | "build:mp-alipay": "uni build -p mp-alipay",
28 | "build:mp-baidu": "uni build -p mp-baidu",
29 | "build:mp-kuaishou": "uni build -p mp-kuaishou",
30 | "build:mp-lark": "uni build -p mp-lark",
31 | "build:mp-qq": "uni build -p mp-qq",
32 | "build:mp-toutiao": "uni build -p mp-toutiao",
33 | "build:mp-weixin": "uni build -p mp-weixin",
34 | "build:quickapp-webview": "uni build -p quickapp-webview",
35 | "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
36 | "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
37 | "type-check": "vue-tsc --noEmit"
38 | },
39 | "dependencies": {
40 | "@dcloudio/uni-app": "3.0.0-alpha-3061620221230002",
41 | "@dcloudio/uni-app-plus": "3.0.0-alpha-3061620221230002",
42 | "@dcloudio/uni-components": "3.0.0-alpha-3061620221230002",
43 | "@dcloudio/uni-h5": "3.0.0-alpha-3061620221230002",
44 | "@dcloudio/uni-mp-alipay": "3.0.0-alpha-3061620221230002",
45 | "@dcloudio/uni-mp-baidu": "3.0.0-alpha-3061620221230002",
46 | "@dcloudio/uni-mp-kuaishou": "3.0.0-alpha-3061620221230002",
47 | "@dcloudio/uni-mp-lark": "3.0.0-alpha-3061620221230002",
48 | "@dcloudio/uni-mp-qq": "3.0.0-alpha-3061620221230002",
49 | "@dcloudio/uni-mp-toutiao": "3.0.0-alpha-3061620221230002",
50 | "@dcloudio/uni-mp-weixin": "3.0.0-alpha-3061620221230002",
51 | "@dcloudio/uni-quickapp-webview": "3.0.0-alpha-3061620221230002",
52 | "pinia": "^2.0.30",
53 | "vue": "^3.2.45",
54 | "vue-i18n": "^9.1.9"
55 | },
56 | "devDependencies": {
57 | "@dcloudio/types": "^3.2.7",
58 | "@dcloudio/uni-automator": "3.0.0-alpha-3061620221230002",
59 | "@dcloudio/uni-cli-shared": "3.0.0-alpha-3061620221230002",
60 | "@dcloudio/uni-stacktracey": "3.0.0-alpha-3061620221230002",
61 | "@dcloudio/vite-plugin-uni": "3.0.0-alpha-3061620221230002",
62 | "@vue/tsconfig": "^0.1.3",
63 | "js-base64": "^3.7.4",
64 | "typescript": "^4.9.4",
65 | "vite": "4.0.4",
66 | "vue-tsc": "^1.0.24"
67 | }
68 | }
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
19 |
42 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-doctor-home.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
26 |
27 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-doctor.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
21 |
22 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-hpvlist.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
17 |
18 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
31 |
32 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-nucleic.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-phy-details.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
21 |
22 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-phy-exam.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
21 |
22 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-registered.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
20 |
21 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-self-test-result.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
--------------------------------------------------------------------------------
/src/Skeleton/SK-self-test.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
--------------------------------------------------------------------------------
/src/com-components/point.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ title }}
6 |
7 |
8 |
9 |
19 |
20 |
34 |
--------------------------------------------------------------------------------
/src/com-components/se-member.vue:
--------------------------------------------------------------------------------
1 |
2 |
7 |
18 |
19 |
20 |
21 |
80 |
81 |
89 |
--------------------------------------------------------------------------------
/src/common-style/form.css:
--------------------------------------------------------------------------------
1 | /* --------表单提交样式------ */
2 | .xinguan-view {
3 | background-color: #ffffff;
4 | }
5 | .xinguan-flex {
6 | display: flex;
7 | align-items: center;
8 | margin: 0 20rpx;
9 | padding: 30rpx 0;
10 | border-bottom: 1rpx solid #e4e4e4;
11 | }
12 | .xinguan-flex:last-child{
13 | border: none;
14 | }
15 | .input-style {
16 | color: #e4e4e4;
17 | }
18 | .xinguan-flex input {
19 | padding: 10rpx;
20 | flex: 1;
21 | text-align: right;
22 | }
23 | .flex-left {
24 | flex: 1;
25 | }
26 |
27 | .flex-left view {
28 | display: flex;
29 | align-items: center;
30 | justify-content: flex-end;
31 | }
32 | .flex-left image {
33 | width: 30rpx;
34 | height: 30rpx;
35 | display: block;
36 | margin-left: 20rpx;
37 | }
38 | /* ----------提交按钮:左右两边按钮------- */
39 | .submit{
40 | background-color: #ffffff;
41 | padding: 20rpx 0 68rpx 0;
42 | position: fixed;
43 | bottom: 0;
44 | left: 0;
45 | right: 0;
46 | display: flex;
47 | justify-content: space-around;
48 | z-index: 99;
49 | }
50 | .submit text{
51 | width: 40%;
52 | text-align: center;
53 | padding: 20rpx 0;
54 | border-radius: 10rpx;
55 | }
56 | .submit text:nth-child(1){
57 | background-color: #e8f2fe;
58 | color: #3a75f3;
59 | }
60 | .submit text:nth-child(2){
61 | background-color: #2c76ef;
62 | color: #ffffff;
63 | }
64 | /* 测评结果button按钮 */
65 | .submit button{
66 | border: none;
67 | width: 40%;
68 | font-size: 33rpx;
69 | }
70 | .submit button:nth-child(1){
71 | background-color: #e8f2fe;
72 | color: #3a75f3;
73 | }
74 | .submit button:nth-child(2){
75 | background-color: #2c76ef;
76 | color: #ffffff;
77 | }
78 | /* ---------提交按钮:合计价格-------- */
79 | .Total-view{
80 | background-color: #ffffff;
81 | display: flex;
82 | align-items: center;
83 | justify-content: space-between;
84 | padding: 20rpx 20rpx 68rpx 20rpx;
85 | position: fixed;
86 | bottom: 0;
87 | left: 0;
88 | right: 0;
89 | }
90 | .Total-view text:nth-child(1){
91 | font-weight: bold;
92 | color: #ff5f2c;
93 | }
94 | .Total-view text:nth-child(2){
95 | background-color: #0176ff;
96 | padding: 15rpx 50rpx;
97 | color: #ffffff;
98 | border-radius: 10rpx;
99 | }
--------------------------------------------------------------------------------
/src/common-style/nucleic-time.css:
--------------------------------------------------------------------------------
1 | /* ----------y预约时间段------- */
2 | /* 可预约时段 */
3 | .nucleic-time{
4 | background-color: #ffffff;
5 | padding: 20rpx;
6 | margin: 20rpx;
7 | border-radius: 20rpx;
8 | }
9 | .nucleic-Title{
10 | font-weight: bold;
11 | }
12 | .scroll-view_H{
13 | white-space: nowrap;
14 | margin-top: 20rpx;
15 | }
16 | .nucleic-time-flex{
17 | display: flex;
18 | align-items: center;
19 | }
20 | .nucleic-time-flex view{
21 | display: flex;
22 | align-items: center;
23 | flex-direction: column;
24 | padding: 10rpx 20rpx;
25 | margin-right: 20rpx;
26 | border-radius: 10rpx;
27 | }
28 |
29 | /* 选择成员 */
30 | .popups-title{
31 | font-size: 35rpx;
32 | text-align: center;
33 | font-weight: bold;
34 | display: block;
35 | padding: 20rpx 0;
36 | }
37 | .member-view{
38 | display: flex;
39 | align-items: center;
40 | justify-content: space-between;
41 | margin: 20rpx;
42 | }
43 | .member-view image{
44 | width: 80rpx;
45 | height: 80rpx;
46 | }
47 | .member-view text:nth-child(2){
48 | flex: 1;
49 | padding: 0 40rpx;
50 | font-weight: bold;
51 | }
52 | .member-view text:nth-child(3){
53 | color: #0176ff;
54 | }
55 | .select-submit{
56 | background-color: #0176ff;
57 | color: #ffffff;
58 | border-radius: 10rpx;
59 | text-align: center;
60 | padding: 20rpx 0;
61 | margin: 50rpx 20rpx 68rpx 20rpx;
62 | }
--------------------------------------------------------------------------------
/src/common-style/vaccine.css:
--------------------------------------------------------------------------------
1 | /* --------疫苗预约公用------- */
2 | page{
3 | background-color: #f6f6f6;
4 | }
5 | .xinguan-view{
6 | background-color: #ffffff;
7 | border-radius: 15rpx;
8 | margin: 20rpx;
9 | padding: 20rpx;
10 | }
11 | .name{
12 | font-weight: bold;
13 | border-bottom: 1rpx solid #e4e4e4;
14 | display: block;
15 | padding-bottom: 20rpx;
16 | font-size: 35rpx;
17 | }
18 | .xinguan-order{
19 | display: flex;
20 | align-items: center;
21 | padding: 20rpx 0;
22 | }
23 | .xinguan-order text:nth-child(1){
24 | width: 150rpx;
25 | }
26 | .xinguan-order text:nth-child(2){
27 | flex: 1;
28 | }
29 | .reg-cancel{
30 | display: flex;
31 | justify-content: flex-end;
32 | padding-top: 20rpx;
33 | }
34 | .reg-cancel text{
35 | color: #0176ff;
36 | border: 1rpx solid #0176ff;
37 | padding: 15rpx 30rpx;
38 | display: inline-block;
39 | border-radius: 15rpx;
40 | }
41 | /* 含有价格 */
42 | .reg-price{
43 | display: flex;
44 | justify-content: flex-end;
45 | padding-top: 20rpx;
46 | }
47 | .reg-price text{
48 | font-weight: bold;
49 | display: inline-block;
50 | }
51 | /* 禁用取消预约按钮点击 */
52 | .prevent_style{
53 | pointer-events: none;
54 | border: 1rpx solid #999aaa !important;
55 | color: #999aaa !important;
56 | }
--------------------------------------------------------------------------------
/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module '*.vue' {
4 | import { DefineComponent } from 'vue'
5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
6 | const component: DefineComponent<{}, {}, any>
7 | export default component
8 | }
9 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createSSRApp } from "vue";
2 | import { createPinia } from "pinia";
3 | import App from "./App.vue";
4 | // 创建实例
5 | const pinia = createPinia();
6 | export function createApp() {
7 | const app = createSSRApp(App);
8 | app.use(pinia);
9 | return {
10 | app,
11 | };
12 | }
13 |
--------------------------------------------------------------------------------
/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "",
3 | "appid": "",
4 | "description": "",
5 | "versionName": "1.0.0",
6 | "versionCode": "100",
7 | "transformPx": false,
8 | /* 5+App特有相关 */
9 | "app-plus": {
10 | "usingComponents": true,
11 | "nvueStyleCompiler": "uni-app",
12 | "compilerVersion": 3,
13 | "splashscreen": {
14 | "alwaysShowBeforeRender": true,
15 | "waiting": true,
16 | "autoclose": true,
17 | "delay": 0
18 | },
19 | /* 模块配置 */
20 | "modules": {},
21 | /* 应用发布信息 */
22 | "distribute": {
23 | /* android打包配置 */
24 | "android": {
25 | "permissions": [
26 | "",
27 | "",
28 | "",
29 | "",
30 | "",
31 | "",
32 | "",
33 | "",
34 | "",
35 | "",
36 | "",
37 | "",
38 | "",
39 | "",
40 | ""
41 | ]
42 | },
43 | /* ios打包配置 */
44 | "ios": {},
45 | /* SDK配置 */
46 | "sdkConfigs": {}
47 | }
48 | },
49 | /* 快应用特有相关 */
50 | "quickapp": {},
51 | /* 小程序特有相关 */
52 | "mp-weixin": {
53 | "appid": "wx3633f21a152d6617",
54 | "setting": {
55 | "urlCheck": false
56 | },
57 | "usingComponents": true
58 | },
59 | "mp-alipay": {
60 | "usingComponents": true
61 | },
62 | "mp-baidu": {
63 | "usingComponents": true
64 | },
65 | "mp-toutiao": {
66 | "usingComponents": true
67 | },
68 | "uniStatistics": {
69 | "enable": false
70 | },
71 | "vueVersion": "3"
72 | }
--------------------------------------------------------------------------------
/src/pages.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages": [{
3 | "path": "pages/index/index",
4 | "style": {
5 | "navigationBarTitleText": "河北省第一人民医院",
6 | "navigationStyle": "custom"
7 | }
8 | },
9 | {
10 | "path": "pages/mine/mine",
11 | "style": {
12 | "navigationBarTitleText": "个人中心",
13 | "navigationBarBackgroundColor": "#e3efff"
14 | }
15 | },
16 | {
17 | "path": "pages/registered/registered",
18 | "style": {
19 | "navigationBarTitleText": "预约挂号"
20 | }
21 | },
22 | {
23 | "path": "pages/doctor/index",
24 | "style": {
25 | "navigationBarTitleText": "选择医生",
26 | "navigationBarBackgroundColor": "#ffffff"
27 | }
28 | },
29 | {
30 | "path": "pages/my-service/my-registration/index",
31 | "style": {
32 | "navigationBarTitleText": "挂号记录",
33 | "navigationBarBackgroundColor": "#ffffff"
34 | }
35 | },
36 | {
37 | "path": "pages/doctor/doctor-Homepage",
38 | "style": {
39 | "navigationBarTitleText": "医生主页",
40 | "navigationBarBackgroundColor": "#ffffff"
41 | }
42 | },
43 | {
44 | "path": "pages/video/video",
45 | "style": {
46 | "navigationBarTitleText": "医师课堂"
47 | }
48 | },
49 | {
50 | "path": "pages/self-test/topic",
51 | "style": {
52 | "navigationBarTitleText": "抑郁症",
53 | "navigationBarBackgroundColor": "#d6e8ff"
54 | }
55 | },
56 | {
57 | "path": "pages/self-test/result",
58 | "style": {
59 | "navigationBarTitleText": "测评结果",
60 | "navigationBarBackgroundColor": "#d6e8ff"
61 | }
62 | },
63 | {
64 | "path": "pages/my-service/phy-exam/index",
65 | "style": {
66 | "navigationBarTitleText": "体检预约订单",
67 | "navigationBarBackgroundColor": "#ffffff"
68 | }
69 | },
70 | {
71 | "path": "pages/phy-exam/index",
72 | "style": {
73 | "navigationBarTitleText": "体检预约",
74 | "navigationBarBackgroundColor": "#ffffff"
75 | }
76 | },
77 | {
78 | "path": "pages/phy-exam/Details",
79 | "style": {
80 | "navigationBarTitleText": "体检详情",
81 | "navigationBarBackgroundColor": "#ffffff"
82 | }
83 | },
84 | {
85 | "path": "pages/graphics/index",
86 | "style": {
87 | "navigationBarTitleText": "图文咨询"
88 | }
89 | },
90 | {
91 | "path": "pages/my-service/my-patient/my-patient",
92 | "style": {
93 | "navigationBarTitleText": "我的就诊人",
94 | "navigationBarBackgroundColor": "#ffffff"
95 | }
96 | },
97 | {
98 | "path": "pages/my-service/my-patient/add-patient",
99 | "style": {
100 | "navigationBarTitleText": "创建就诊人",
101 | "navigationBarBackgroundColor": "#ffffff"
102 | }
103 | },
104 | {
105 | "path": "pages/nuclelc-acld/index",
106 | "style": {
107 | "navigationBarTitleText": "核酸检测预约"
108 | }
109 | },
110 | {
111 | "path": "pages/my-service/nucleic-acid/index",
112 | "style": {
113 | "navigationBarTitleText": "核酸检测预约订单",
114 | "navigationBarBackgroundColor": "#ffffff"
115 | }
116 | },
117 | {
118 | "path": "pages/my-service/hpv-view/index",
119 | "style": {
120 | "navigationBarTitleText": "HPV疫苗预约订单",
121 | "navigationBarBackgroundColor": "#ffffff"
122 | }
123 | },
124 | {
125 | "path": "pages/hpv-vaccine/hpv-vaccine",
126 | "style": {
127 | "navigationBarTitleText": "宫颈癌疫苗在线预约"
128 | }
129 | },
130 | {
131 | "path": "pages/hpv-vaccine/hpv-buy",
132 | "style": {
133 | "navigationBarTitleText": "HPV套餐详情"
134 | }
135 | },
136 | {
137 | "path": "pages/my-service/xingaun/index",
138 | "style": {
139 | "navigationBarTitleText": "新冠疫苗预约订单",
140 | "navigationBarBackgroundColor": "#ffffff"
141 | }
142 | },
143 | {
144 | "path": "pages/xinguan-vaccine/xinguan-vaccine",
145 | "style": {
146 | "navigationBarTitleText": "新冠疫苗接种预约"
147 | }
148 | },
149 | {
150 | "path": "pages/login-page/index",
151 | "style": {
152 | "navigationBarTitleText": "登录界面",
153 | "navigationStyle": "custom"
154 | }
155 | }
156 | ],
157 | "globalStyle": {
158 | "navigationBarTextStyle": "black",
159 | "navigationBarTitleText": "uni-app",
160 | "navigationBarBackgroundColor": "#F8F8F8",
161 | "backgroundColor": "#F8F8F8"
162 | },
163 | "tabBar": {
164 | "color": "#7A7E83",
165 | "selectedColor": "#3cc51f",
166 | "backgroundColor": "#ffffff",
167 | "borderStyle": "black",
168 | "list": [{
169 | "pagePath": "pages/index/index",
170 | "text": "首页",
171 | "iconPath": "static/tab/shouye-001.png",
172 | "selectedIconPath": "static/tab/shouye-002.png"
173 | },
174 | {
175 | "pagePath": "pages/registered/registered",
176 | "text": "挂号",
177 | "iconPath": "static/tab/guahao-001.png",
178 | "selectedIconPath": "static/tab/guahao-002.png"
179 | },
180 | {
181 | "pagePath": "pages/video/video",
182 | "text": "医师课堂",
183 | "iconPath": "static/tab/shipin-001.png",
184 | "selectedIconPath": "static/tab/shipin-002.png"
185 | },
186 | {
187 | "pagePath": "pages/mine/mine",
188 | "text": "我的",
189 | "iconPath": "static/tab/wode-001.png",
190 | "selectedIconPath": "static/tab/wode-002.png"
191 | }
192 | ]
193 | }
194 | }
--------------------------------------------------------------------------------
/src/pages/doctor/components/pop-ups.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
26 |
27 |
28 |
29 |
108 |
109 |
146 |
--------------------------------------------------------------------------------
/src/pages/doctor/doctor-Homepage.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | {{ item.name }}
10 | {{ item.post }}
11 |
12 | {{ item.hospital }}
13 |
14 |
15 | {{ item.good_at }}
16 |
17 |
18 |
19 | 预约挂号
20 |
21 |
22 | 日期
23 | 上午
24 | 下午
25 |
26 |
27 |
32 |
33 | {{ item_a.day }}
34 | {{ item_a.week }}
35 |
36 |
37 |
47 | {{ item_a.time[0].nu_source <= 0 ? "" : "预约" }}
48 |
49 |
50 |
60 | {{ item_a.time[1].nu_source <= 0 ? "" : "预约" }}
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | 重要提示:
70 | 1.本次预约就诊当天不可取消预约,如需取消,请在就诊前一天的24:00之前操作,累计取消或爽约三次可能会被列入医院黑名单,请按需预约
73 | 2.预约挂号暂不支持医保支付,若本次挂号使用手机在线支付,就诊过程中的门诊检验检查,处方费用可能不支持医保支付
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
117 |
118 |
216 |
--------------------------------------------------------------------------------
/src/pages/doctor/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | 全部
9 |
10 |
17 | {{ item.date }}
18 | {{ item.week }}
19 | {{ item.nu_source == 1 ? "可约" : "无号" }}
20 |
21 |
22 |
23 |
24 |
25 |
31 |
32 |
33 | {{ item.name }}
34 | {{ item.post }}
35 | {{ item.good_at }}
36 |
37 | 预约
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
101 |
102 |
192 |
--------------------------------------------------------------------------------
/src/pages/graphics/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | 请详细描述你的病情
4 |
11 |
12 |
13 |
14 |
15 |
22 |
23 |
24 |
25 |
26 | 上传检查报告或患处照片
27 |
28 |
33 |
34 |
39 |
40 |
47 |
48 |
49 |
50 |
51 | 选择就诊人
52 |
53 |
54 | {{ name }}
55 | {{
56 | name == "" ? "选择就诊人" : "重新选择"
57 | }}
58 |
59 |
60 |
61 |
62 |
63 | 取消
64 | 提交
65 |
66 |
67 |
68 |
126 |
127 |
197 |
--------------------------------------------------------------------------------
/src/pages/hpv-vaccine/hpv-buy.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{router_value.name}}
5 |
6 | {{item}}
7 |
8 |
9 | ¥{{router_value.price[0]}}-¥{{router_value.price[1]}}
10 |
11 |
12 |
13 |
14 | 真实姓名
15 |
16 |
17 |
18 | 身份证
19 |
20 |
21 |
22 | 性别
23 |
24 |
25 | {{gender == '' ? '请选择性别' : gender}}
26 |
27 |
28 |
29 |
30 |
31 | 出生日期
32 |
33 |
34 | {{born_date == '' ? '请选择出生日期' : born_date}}
35 |
36 |
37 |
38 |
39 |
40 | 手机号
41 |
42 |
43 |
44 |
45 |
46 |
47 | {{item.title}}
48 |
49 | {{item_a.combo}}
53 |
54 |
55 |
56 |
57 | {{item.title}}
58 |
59 | {{item_a.time}}
63 |
64 |
65 |
66 |
67 |
68 |
69 | 合计:¥{{hpv_combo_price}}
70 | 提交
71 |
72 |
73 |
74 |
185 |
186 |
187 |
--------------------------------------------------------------------------------
/src/pages/hpv-vaccine/hpv-vaccine.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
16 | {{ item.name }}
17 |
18 |
19 |
20 |
21 |
22 |
23 | {{ item.name }}
24 |
25 | {{
26 | item_a
27 | }}
28 |
29 | ¥{{ item.price[0] }}-¥{{ item.price[1] }}
30 |
31 | 去预约
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
88 |
89 |
157 |
--------------------------------------------------------------------------------
/src/pages/index/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 河北省第一人民医院
6 |
7 |
8 |
9 |
14 |
15 |
16 |
17 |
22 |
23 | {{ item.title }}
24 |
25 |
26 |
27 |
28 |
34 | {{ item.title }}
35 | {{ item.describe }}
36 |
37 |
38 |
39 |
40 |
41 | 热门挂号
42 |
43 | 查看更多
44 |
45 |
46 |
47 |
48 |
54 | {{ item.title }}
55 |
56 |
57 |
58 |
59 |
60 | 健康自测
61 |
62 |
63 |
69 |
70 | {{ item.name }}
71 | {{ item.describe }}
72 |
73 | {{ item.number_of_people }}
74 |
75 | 人测过 / {{ item.question }}题 / {{ item.minute }}分钟
77 |
78 |
79 |
80 |
81 |
87 |
88 | {{ item.name }}
89 |
90 | {{ item.question }}题 / {{ item.minute }}分钟
91 |
92 |
93 | {{ item.number_of_people }}
94 | 人测过
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
203 |
204 |
396 |
--------------------------------------------------------------------------------
/src/pages/login-page/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
57 |
58 |
79 |
--------------------------------------------------------------------------------
/src/pages/mine/mine.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 | {{ user_data.nickName == "" ? "登陆" : user_data.nickName }}
16 |
17 |
18 |
19 | {{ item.number }}
20 | {{ item.title }}
21 |
22 |
23 |
24 |
29 |
30 | {{ item.title }}
31 |
32 |
33 |
34 |
35 |
117 |
118 |
186 |
--------------------------------------------------------------------------------
/src/pages/my-service/hpv-view/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ item.hpv_name }}
4 |
5 | 接种人:
6 | {{ item.name }}
7 |
8 |
9 | 接种地点:
10 | {{ item.address }}
11 |
12 |
13 | 疫苗套餐:
14 | {{ item.combo }} {{ item.ino_time }}
15 |
16 |
17 | 订单编号:
18 | {{ item.order_number }}
19 |
20 | ¥{{ item.price }}
23 |
24 |
25 | {{ item.cancel ? "取消预约" : "已取消预约" }}
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
65 |
66 |
69 |
--------------------------------------------------------------------------------
/src/pages/my-service/my-patient/add-patient.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 身份证智能识别
5 |
6 |
7 |
8 | 真实姓名
9 |
14 |
15 |
16 | 性别
17 |
23 |
24 | {{
25 | submitData.sex == "" ? "请输入性别" : submitData.sex
26 | }}
27 |
28 |
29 |
30 |
31 |
32 | 出生日期
33 |
34 |
35 | {{
36 | submitData.born == "" ? "请选择出生日期" : submitData.born
37 | }}
38 |
39 |
40 |
41 |
42 |
43 | 成员关系
44 |
50 |
51 | {{
52 | submitData.relation == "" ? "请选择成员关系" : submitData.relation
53 | }}
54 |
55 |
56 |
57 |
58 |
59 | 身份证
60 |
65 |
66 |
67 | 手机号
68 |
74 |
75 |
76 |
77 |
78 | 取消
79 | 确认添加
80 |
81 |
82 |
83 |
139 |
140 |
161 |
--------------------------------------------------------------------------------
/src/pages/my-service/my-patient/my-patient.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 | {{ item.name }}
10 | {{ item.relation }}
11 |
12 |
13 | {{ item.sex }}
14 | {{ item.age }}岁
15 | {{ item.phone }}
16 |
17 |
18 |
19 |
20 | 取消
21 | 添加就诊人
22 |
23 |
24 |
25 |
26 |
27 |
72 |
73 |
105 |
--------------------------------------------------------------------------------
/src/pages/my-service/my-registration/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ item.tre_doctor }}
7 | {{ item.tre_place }}
8 |
9 |
10 |
11 | 预约流水号
12 | {{ item.se_number }}
13 |
14 |
15 | 就诊人
16 | {{ item.patient_name }}
17 |
18 |
19 | 就诊时间
20 | {{ item.tre_time }} {{ item.the_time }}
21 |
22 |
23 | 科室
24 | {{ item.dep_ment }}
25 |
26 |
27 | 排队号
28 | {{ item.que_number }}
29 |
30 |
31 | 科室楼层
32 | {{ item.remark }}
33 |
34 |
35 | 挂号费用
36 | {{ item.reg_cost }}
37 |
38 |
39 |
40 | {{ item.cancel ? "取消预约" : "已取消预约" }}
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
82 |
83 |
140 |
--------------------------------------------------------------------------------
/src/pages/my-service/nucleic-acid/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ item.phy_name }}
4 |
5 | 检测人:
6 | {{ item.name }}
7 |
8 |
9 | 检测地点:
10 | {{ item.address }}
11 |
12 |
13 | 检测时间:
14 | {{ item.phy_time }}
15 |
16 |
17 | 订单编号:
18 | {{ item.order_number }}
19 |
20 | ¥{{ item.price }}
23 |
24 |
25 | {{ item.cancel ? "取消预约" : "已取消预约" }}
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
66 |
67 |
70 |
--------------------------------------------------------------------------------
/src/pages/my-service/phy-exam/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 体检套餐:
5 | {{ item.phy_name }}
6 |
7 |
8 | 体检人:
9 | {{ item.name }}
10 |
11 |
12 | 体检时间:
13 | {{ item.phy_time }}
14 |
15 |
16 | 体检地点:
17 | {{ item.address }}
18 |
19 |
20 | 订单编号:
21 | {{ item.order_number }}
22 |
23 | ¥{{ item.price }}
26 |
27 |
28 | {{ item.cancel ? "取消预约" : "已取消预约" }}
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
69 |
70 |
73 |
--------------------------------------------------------------------------------
/src/pages/my-service/xingaun/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ item.name }}
4 |
5 | 接种地点:
6 | {{ item.address }}
7 |
8 |
9 | 疫苗厂商:
10 | {{ item.company }}
11 |
12 |
13 | 接种时间:
14 | {{ item.date }} {{ item.period }}
15 |
16 |
17 |
18 | {{ item.cancel ? "取消预约" : "已取消预约" }}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
58 |
59 |
62 |
--------------------------------------------------------------------------------
/src/pages/nuclelc-acld/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ nuclei_cacid.data.name }}
7 | {{ nuclei_cacid.data.price }}
8 |
9 |
10 |
11 |
12 |
13 | {{ item }}
14 |
15 |
16 |
17 |
18 |
19 |
20 | {{ nuclei_cacid.data.hospital }}
21 | {{ nuclei_cacid.data.address }}
22 |
23 |
24 |
25 | 电话
26 |
27 |
28 |
29 |
30 |
31 | 真实姓名
32 |
37 |
38 |
39 | 手机号
40 |
46 |
47 |
48 | 身份证
49 |
54 |
55 |
56 |
57 |
58 | 选择预约时段
59 |
60 |
61 |
67 | {{ item.date }}
68 | {{ item.week }}
69 |
70 |
71 |
72 |
73 |
74 |
75 | 咽拭子采样方式
76 |
81 |
82 | {{
83 | item_a
84 | }}
85 |
86 |
87 |
88 |
89 |
90 | 检测费用:{{ nuclei_cacid.data.price }}
91 | 提交
92 |
93 |
94 |
95 |
96 |
97 |
158 |
159 |
264 |
--------------------------------------------------------------------------------
/src/pages/phy-exam/Details.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ¥{{ item.price }}
6 | 已约{{ item.sales }}
7 |
8 | {{ item.title }}
9 |
10 |
11 |
12 | 体检时间选择
13 |
14 |
15 |
16 |
22 | {{ item_a.date }}
23 | {{ item_a.week }}
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | 适用人群
32 |
33 |
34 |
35 |
36 | {{ item_a.name }}
37 |
38 |
39 |
40 |
41 |
42 |
43 | 套餐项目
44 |
45 |
46 | {{ item_a.title }}
47 |
52 | {{ item_b.thing }}
53 | {{ item_b.details }}
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | 检测费用:¥{{ phy_detail[0].price }}
64 | 选择成员
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
116 |
117 |
206 |
--------------------------------------------------------------------------------
/src/pages/phy-exam/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 | {{ item.query_val }}
9 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | {{ item }}
29 |
30 |
31 |
32 |
38 | {{ item.title }}
39 |
40 |
41 |
42 | {{ item.be_suit }}
43 | {{ item.describe }}
44 |
45 |
46 |
47 | 已约{{ item.sales }}
48 | ¥{{ item.price }}
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
124 |
125 |
216 |
--------------------------------------------------------------------------------
/src/pages/registered/registered.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 | {{ item.dep_ment }}
11 |
12 |
13 |
14 |
15 |
20 | {{ item_a.dep_name }}
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
72 |
73 |
105 |
--------------------------------------------------------------------------------
/src/pages/self-test/result.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 结果分析
5 | 本测试及结果由AI得出,仅供参考,不能作为诊断及诊疗的依据
6 |
7 |
8 | {{ item.scope }}:{{ item.result }}
9 | {{ item.suggest }}
10 | 测评结果概述:
11 | {{ index_a + 1 }}. {{ item_a }}
14 |
15 | AI为你推荐以下科室
16 |
21 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
109 |
110 |
177 |
--------------------------------------------------------------------------------
/src/pages/self-test/topic.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | 测评进度
4 |
15 | {{ add_to }}/{{ topic_length }}
16 |
17 |
18 | {{ data.topic }}
19 |
20 |
21 |
22 |
23 | 单选题
24 |
25 | {{ item.title }}
34 |
35 |
36 |
37 |
38 |
39 |
137 |
138 |
186 |
--------------------------------------------------------------------------------
/src/pages/video/video.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 | {{item.video_title}}
14 |
15 |
16 |
17 |
18 | {{item.name}}
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
97 |
98 |
99 |
167 |
--------------------------------------------------------------------------------
/src/pages/xinguan-vaccine/xinguan-vaccine.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 姓名
6 |
11 |
12 |
13 |
14 | 身份证
15 |
20 |
21 |
22 | 手机号
23 |
29 |
30 |
31 | 现居地址
32 |
33 |
34 | {{
35 | penging_data.address == "" ? "请选择现居地址" : penging_data.address
36 | }}
37 |
38 |
39 |
40 |
41 |
42 | 现居详细地址
43 |
48 |
49 |
50 | 疫苗人群分类
51 |
57 |
58 |
59 | {{
60 | penging_data.crowd_sort == ""
61 | ? "请选择疫苗人群分类"
62 | : penging_data.crowd_sort
63 | }}
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | {{ timeData.data.Hospital }}
74 | {{ timeData.data.address }}
75 |
76 | {{
77 | item
78 | }}
79 |
80 |
81 |
82 |
83 |
84 |
88 | {{ item.day }}
89 | {{ item.date }}
90 | {{ item.Have }}
91 |
92 |
93 |
94 |
95 |
100 | {{ item.period }}
101 |
102 |
103 |
116 | {{ item_a.start_time }}-{{ item_a.end_time }}
117 | 剩余{{ item_a.over }}
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 | 取消
127 | 提交预约
128 |
129 |
130 |
131 |
236 |
237 |
315 |
--------------------------------------------------------------------------------
/src/public/decl-type.d.ts:
--------------------------------------------------------------------------------
1 | // -----------类型声明文件:d.ts文件--------------
2 |
3 | // 首页第一项数据:疫苗预约
4 | export interface Vaccine {
5 | image: string;
6 | title: string;
7 | }
8 | // 首页第二项数据:疫苗预约
9 | export interface Phydata {
10 | describe: string;
11 | image: string;
12 | title: string;
13 | }
14 | // 首页第三项数据:热门挂号
15 | export interface Registered {
16 | background: string;
17 | dep_id: string;
18 | image: string;
19 | title: string;
20 | }
21 | // 首页第四项数据:健康自测
22 | export interface Selftest {
23 | describe: string;
24 | image: string;
25 | minute: number;
26 | name: string;
27 | number_of_people: number;
28 | question: number;
29 | }
30 | // --------------新冠疫苗接种预约页面-------------
31 | // 定义返回的类型
32 | interface Time {
33 | end_time: string;
34 | over: number;
35 | start_time: string;
36 | when: number;
37 | }
38 | interface Period {
39 | period: string;
40 | time: Time[];
41 | }
42 | interface Week {
43 | Have: string;
44 | date: string;
45 | day: string;
46 | }
47 | export interface Newapptime {
48 | Hospital: string;
49 | address: string;
50 | company: string[];
51 | lasting: Period[];
52 | week: Week[];
53 | }
54 | // ----------------提交新冠疫苗预约接口数据----------
55 | export interface Rescovidapi {
56 | name: string;
57 | id_card: string;
58 | phone: string;
59 | address: string;
60 | de_address: string;
61 | crowd_sort: string;
62 | date: string;
63 | period: string;
64 | reserve_time: string;
65 | when: number;
66 | }
67 | // ----------新冠疫苗订单------------
68 | export interface Xinguanorder {
69 | address: string;
70 | cancel: boolean;
71 | company: string;
72 | date: string;
73 | name: string;
74 | period: string;
75 | time: string;
76 | _id: string;
77 | }
78 | // ------------取消新冠疫苗预约-----------
79 | export interface Covidcancelapi {
80 | _id: string;
81 | }
82 | export interface PhyId {
83 | id: string;
84 | }
85 | // -----------------小程序用户登录-------------
86 | export interface Wxloginapi {
87 | appid: string;
88 | secret: string;
89 | nickName: string;
90 | avatarUrl: string;
91 | code: string;
92 | }
93 | // ------------HPV筛选的导航和疫苗列表----------
94 | export interface Hpvselect {
95 | name: string;
96 | _id: string;
97 | }
98 | export interface Hpvlist {
99 | hpv_id: string;
100 | name: string;
101 | describe: string[];
102 | price: string[];
103 | _id: string;
104 | }
105 | // -------------hpv详情页-----------------
106 | // 套餐名称
107 | interface HpvName {
108 | combo: string;
109 | combo_id: string;
110 | }
111 | export interface Hpvcomboname {
112 | title: string;
113 | name: HpvName[];
114 | }
115 | // 接种时间
116 | interface HpvTime {
117 | time: string;
118 | time_id: string;
119 | }
120 | export interface Hpvcombotime {
121 | title: string;
122 | name: HpvTime[];
123 | }
124 | // 查询hpv套餐价格---
125 | export interface Hpvpriceapi {
126 | hpv_id: string;
127 | combo_id: string;
128 | time_id: string;
129 | }
130 | // 提交hpv疫苗
131 | export interface Reshpvapi {
132 | name: string;
133 | id_card: string;
134 | gender: string;
135 | born_date: string;
136 | phone: string;
137 | combo: string;
138 | ino_time: string;
139 | price: number;
140 | hpv_name: string;
141 | }
142 | // ----------HPV疫苗预约订单------------
143 | export interface Hpvorder {
144 | name: string;
145 | combo: string;
146 | ino_time: string;
147 | price: number;
148 | hpv_name: string;
149 | time: string;
150 | address: string;
151 | order_number: string;
152 | cancel: boolean;
153 | _id: string;
154 | }
155 | // -----------核酸检测预约---------
156 | interface Date {
157 | date: string;
158 | week: string;
159 | }
160 | interface Style {
161 | title: string;
162 | desc: string[];
163 | }
164 | export interface Nucleicacid {
165 | address: string;
166 | hospital: string;
167 | logo: string;
168 | name: string;
169 | phone: string;
170 | price: number;
171 | boon: string[];
172 | date: Date[];
173 | style: Style[];
174 | _id?: string;
175 | }
176 | // 核酸检测提交
177 | export interface Resnuataapi {
178 | name: string;
179 | phone: string;
180 | id_card: string;
181 | time: string;
182 | }
183 | // 核酸检测订单
184 | export interface Nuatauserorder {
185 | address: string;
186 | cancel: boolean;
187 | name: string;
188 | order_number: string;
189 | phy_name: string;
190 | phy_time: string;
191 | price: number;
192 | time: string;
193 | _id: string;
194 | }
195 | // 提交图文咨询
196 | export interface Graphics {
197 | illness: string;
198 | guide: boolean;
199 | ins_report: string[];
200 | patient_id: string;
201 | }
202 | // -----------获取就诊人---------
203 | export interface Mypatient {
204 | age: string;
205 | born: string;
206 | id_card: string;
207 | name: string;
208 | phone: string;
209 | relation: string;
210 | sex: string;
211 | _id: string;
212 | }
213 | // ----------提交就诊人------
214 | export interface Patientres {
215 | name: string;
216 | sex: string;
217 | born: string;
218 | relation: string;
219 | id_card: string;
220 | phone: string;
221 | }
222 | // ---------获取体检套餐----------
223 | export interface Phyterm {
224 | query_val: string;
225 | _id: string;
226 | filter_val: string[];
227 | }
228 | export interface Phydata {
229 | be_suit: string;
230 | describe: string;
231 | image: string;
232 | price: number;
233 | sales: number;
234 | title: string;
235 | _id: string;
236 | }
237 | // ---------查询体检套餐---------
238 | export interface FilterData {
239 | type: string;
240 | sales: string;
241 | price: string;
242 | }
243 | // ------------获取体检详情页数据-----------
244 | interface Crowd {
245 | image: string;
246 | name: string;
247 | }
248 | interface Content {
249 | details: string;
250 | thing: string;
251 | }
252 | interface Project {
253 | title: string;
254 | content: Content[];
255 | }
256 | export interface Phydetail {
257 | image: string;
258 | price: number;
259 | sales: number;
260 | title: string;
261 | _id: string;
262 | crowd: Crowd[];
263 | date: Date[];
264 | project: Project[];
265 | }
266 | // --------提交体检套餐预约----------
267 | export interface PhyRes {
268 | phy_name: string;
269 | phy_time: string;
270 | patient_id: string;
271 | }
272 | // ----------获取体检套餐订单--------
273 | export interface PhyOredr {
274 | address: string;
275 | cancel: boolean;
276 | name: string;
277 | order_number: string;
278 | phy_name: string;
279 | phy_time: string;
280 | price: number;
281 | time: string;
282 | _id: string;
283 | }
284 | // ---------健康自测----------
285 | // 题目
286 | interface Options {
287 | son_id: string;
288 | title: string;
289 | }
290 | export interface Topic {
291 | topic: string;
292 | _id: string;
293 | options: Options[];
294 | }
295 | // 测评结果
296 | interface Recommend {
297 | dep_id: string;
298 | dep_name: string;
299 | hospital: string;
300 | }
301 | export interface Testres {
302 | result: string;
303 | scope: string;
304 | suggest: string;
305 | _id: string;
306 | outline: string[];
307 | recommend: Recommend[] | [];
308 | }
309 | // 测评分享
310 | export interface Sharedata {
311 | type: string;
312 | name: string;
313 | share_title: string;
314 | share_path: string;
315 | share_url: string;
316 | }
317 | // -------医师课堂
318 | export interface Videotype {
319 | avatar: string;
320 | controls: boolean;
321 | name: string;
322 | play_but: boolean;
323 | video_title: string;
324 | video_url: string;
325 | _id: string;
326 | }
327 | // -----------请求的父科室数据----------
328 | export interface Department {
329 | dep_ment: string;
330 | _id: string;
331 | }
332 | // -----------请求的字科室数据
333 | interface DepList {
334 | dep_id: string;
335 | dep_name: string;
336 | }
337 | export interface Reglist {
338 | dep_ment: string;
339 | _id: string;
340 | dep_ment_list: DepList[];
341 | }
342 | // --------------选择挂号医生的日期-------
343 | export interface Doctortime {
344 | date: string;
345 | dep_id: string;
346 | nu_source: number;
347 | week: string;
348 | }
349 | // --------------挂号医生列表-------
350 | export interface Doctorlist {
351 | avatar: string;
352 | good_at: string;
353 | name: string;
354 | post: string;
355 | _id: string;
356 | }
357 | // ------------挂号医生主页-----------
358 | interface DoctorHomeTime {
359 | already: number;
360 | nu_source: number;
361 | when: number;
362 | the_time: string[];
363 | }
364 | interface Appment {
365 | day: string;
366 | total_source: number;
367 | week: string;
368 | time: DoctorHomeTime[];
369 | }
370 | export interface Doctorhome {
371 | avatar: string;
372 | cost: number;
373 | good_at: string;
374 | hospital: string;
375 | name: string;
376 | post: string;
377 | _id: string;
378 | App_ment: Appment[];
379 | }
380 | // 提交挂号预约
381 | export interface Regappoin {
382 | week: string;
383 | the_time: string;
384 | when: number;
385 | _id: string;
386 | patient_id: string;
387 | }
388 | // 预约挂号订单
389 | export interface Registratorder {
390 | avatar: string;
391 | cancel: boolean;
392 | dep_ment: string;
393 | patient_name: string;
394 | que_number: string;
395 | reg_cost: number;
396 | remark: string;
397 | se_number: string;
398 | the_time: string;
399 | tre_doctor: string;
400 | tre_place: string;
401 | tre_time: string;
402 | _id: string;
403 | }
404 |
--------------------------------------------------------------------------------
/src/public/mise.ts:
--------------------------------------------------------------------------------
1 | function uploadImage(url: string, su_title: string, err_title: string) {
2 | return new Promise((resolve, reject) => {
3 | uni.chooseMedia({
4 | count: 1,
5 | mediaType: ["image"],
6 | sizeType: ["compressed"],
7 | success: (res: any) => {
8 | // console.log(res);
9 | uni.showLoading({ title: su_title, mask: true });
10 | uni.uploadFile({
11 | url,
12 | filePath: res.tempFiles[0].tempFilePath,
13 | name: "file",
14 | header: { accept: "application/json" },
15 | success: (res_img: any) => {
16 | resolve(res_img);
17 | uni.hideLoading();
18 | },
19 | fail: (err_img: any) => {
20 | reject(err_img);
21 | uni.showToast({ title: err_title, icon: "error", duration: 1000 });
22 | },
23 | });
24 | },
25 | });
26 | });
27 | }
28 |
29 | export { uploadImage };
30 |
--------------------------------------------------------------------------------
/src/public/rquest.ts:
--------------------------------------------------------------------------------
1 | // 公用的请求
2 | const baseUrl = "https://meituan.thexxdd.cn/api/";
3 |
4 | // 获取token// pnpm install -D js-base64
5 | import { Base64 } from "js-base64";
6 | function getToken(): string {
7 | const token = uni.getStorageSync("wxuser").user_Token || "";
8 | const base64_token: string = Base64.encode(token + ":");
9 | return "Basic " + base64_token;
10 | }
11 |
12 | // 请求
13 | function request(
14 | url: string,
15 | method: "GET" | "POST",
16 | data: string | object | ArrayBuffer
17 | ) {
18 | return new Promise((resolve, reject) => {
19 | uni.request({
20 | url: baseUrl + url,
21 | method,
22 | data,
23 | header: { Authorization: getToken() },
24 | success: (res: any) => {
25 | if (res.statusCode == 200) {
26 | resolve(res);
27 | } else if (res.statusCode == 401) {
28 | // 没有权限访问接口
29 | uni.navigateTo({ url: "/pages/login-page/index" });
30 | reject(res);
31 | } else if (res.statusCode == 400) {
32 | // 开发者参数填错
33 | uni.showToast({
34 | title: "开发者某个字段或参数填写不对",
35 | icon: "none",
36 | duration: 1000,
37 | });
38 | } else if (res.statusCode == 500) {
39 | // 服务端错误
40 | uni.showToast({
41 | title: "服务端发生未知错误",
42 | icon: "none",
43 | duration: 1000,
44 | });
45 | reject(res);
46 | } else if (res.statusCode == 202) {
47 | uni.showToast({
48 | title: res.data.msg,
49 | icon: "none",
50 | duration: 1000,
51 | });
52 | reject(res);
53 | } else {
54 | uni.showToast({
55 | title: "服务端发生未知错误",
56 | icon: "none",
57 | duration: 1000,
58 | });
59 | reject(res);
60 | }
61 | },
62 | fail: (err: any) => {},
63 | });
64 | });
65 | }
66 |
67 | // 接口
68 | import type {
69 | Rescovidapi,
70 | Wxloginapi,
71 | Covidcancelapi,
72 | Hpvpriceapi,
73 | Reshpvapi,
74 | Resnuataapi,
75 | Patientres,
76 | Graphics,
77 | FilterData,
78 | PhyId,
79 | PhyRes,
80 | Regappoin
81 | } from "./decl-type";
82 | const RequestApi = {
83 | // 首页数据
84 | FrontPage: () => request("frontpage", "GET", {}),
85 | // 新冠疫苗预约时段
86 | NewappTime: () => request("newapptime", "GET", {}),
87 | // 新冠疫苗提交预约
88 | RescoVid: (data: Rescovidapi) => request("rescovid", "POST", data),
89 | // 小程序登陆
90 | WxLogin: (data: Wxloginapi) => request("wx_login", "POST", data),
91 | // 新冠疫苗预约订单
92 | CoviduserOrder: () => request("coviduser_order", "GET", {}),
93 | // 取消新冠疫苗预约
94 | CovidCancel: (data: Covidcancelapi) => request("covidcancel", "GET", data),
95 | // HPV疫苗列表
96 | OtuHpv: () => request("otuhpv", "GET", {}),
97 | // HPV疫苗套餐
98 | HpvPack: () => request("hpv_pack", "GET", {}),
99 | // 查询HPV套餐价格
100 | HpvPrice: (data: Hpvpriceapi) => request("hpv_price", "POST", data),
101 | // 提交HPV疫苗
102 | ResHpv: (data: Reshpvapi) => request("reshpv", "POST", data),
103 | // HPV疫苗预约订单
104 | HpvuserOrder: () => request("hpvuser_order", "GET", {}),
105 | // 取消HPV预约
106 | HpvCancel: (data: Covidcancelapi) => request("hpvcancel", "GET", data),
107 | // 获取核酸检测页面数据
108 | NuataGet: () => request("nuataget", "GET", {}),
109 | // 提交核酸检测预约
110 | ResNuata: (data: Resnuataapi) => request("resnuata", "POST", data),
111 | // 核酸检测订单
112 | NuatauserOrder: () => request("nuatauser_order", "GET", {}),
113 | // 取消核酸检测预约
114 | NuataCancel: (data: Covidcancelapi) => request("nuatacancel", "GET", data),
115 | // 获取就诊人信息
116 | GetpaTient: () => request("get_patient", "GET", {}),
117 | // 提交就诊人
118 | PatientRes: (data: Patientres) => request("patient_res", "POST", data),
119 | // 提交图文咨询
120 | GrapHics: (data: Graphics) => request("graphics", "POST", data),
121 | // 获取体检筛选条件
122 | PhyTerm: () => request("phyterm", "GET", {}),
123 | // 获取全部体检套餐
124 | PhySget: () => request("physget", "GET", {}),
125 | // 查询筛选体检套餐
126 | PhyQuery: (data: FilterData) => request("phyquery", "POST", data),
127 | // 体检套餐详情页数据
128 | PhydaTeil: (data: PhyId) => request("phydateil", "GET", data),
129 | // 体检预约提交
130 | ResPhy: (data: PhyRes) => request("resphy", "POST", data),
131 | //获取体检套餐订单
132 | PhyuserOrder: () => request("phyuser_order", "GET", {}),
133 | // 24. 取消体检预约
134 | PhyCancel: (data: Covidcancelapi) => request("phycancel", "GET", data),
135 | // 26. 获取抑郁症题目 GET /depression_topics
136 | DepressionTopics: () => request("depression_topics", "GET", {}),
137 | // 27. 抑郁症测试结果 GET /depression?query=
138 | DepressiSon: (data: { value: string[] }) =>
139 | request("depression", "GET", data),
140 | // 28. 获取早泄题目 GET /premature_topics
141 | PrematureTopics: () => request("premature_topics", "GET", {}),
142 | // 29. 早泄测试结果 GET /premature?query=
143 | PremaTure: (data: { value: string[] }) => request("premature", "GET", data),
144 | // 30. 获取失眠题目 GET /insomnia_topics
145 | InsomniaTopics: () => request("insomnia_topics", "GET", {}),
146 | // 31. 失眠测试结果 GET /insomnia?query=
147 | InsoMnia: (data: { value: string[] }) => request("insomnia", "GET", data),
148 | // 32. 获取短视频数据 GET /video_list?query=
149 | VideoList: (data: { page: number }) => request('video_list', 'GET', data),
150 | // 33. 获取父科室列表 GET /department
151 | DeparTment: () => request('department', 'GET', {}),
152 | // 34. 获取父科室下的子科室 GET /reglist?query=
153 | RegList: (data: { id: string }) => request('reglist', 'GET', data),
154 | // 35. 获取选择医生的日期 GET /timesele?query=
155 | TimeSele: (data: { dep_id: string }) => request('timesele', 'GET', data),
156 | // 36. 获取选择的科室下的全部医生列表 GET /alldlist?query=
157 | AlldList: (data: { dep_id: string }) => request('alldlist', 'GET', data),
158 | // 37. 根据时间筛选挂号医生 GET /everydlist?query=
159 | EverydList: (data: { dep_id: string; week: string }) =>
160 | request('everydlist', 'GET', data),
161 | // 38. 挂号医生主页 GET /doctorhome?query=
162 | DoctorHome: (data: { _id: string }) => request('doctorhome', 'GET', data),
163 | // 39. 提交挂号预约 POST /regappoin
164 | RegAppoin: (data: Regappoin) => request('regappoin', 'POST', data),
165 | // 40. 获取每个用户的挂号记录 GET /user_registrat
166 | UserreGistrat: () => request('user_registrat', 'GET', {}),
167 | // 41. 取消预约挂号 GET /regist_cancel?query=
168 | RegistCancel: (data: { _id: string }) =>
169 | request('regist_cancel', 'GET', data),
170 | };
171 | // 图片上传接口
172 | let IMAGEURL = baseUrl + "upload_picture";
173 | // 身份证识别
174 | let AICARD = baseUrl + "ai_card";
175 |
176 | export default RequestApi;
177 | export { request, IMAGEURL, AICARD };
178 |
--------------------------------------------------------------------------------
/src/public/testing.ts:
--------------------------------------------------------------------------------
1 | // 健康自测的分享数据
2 |
3 | export let TEST = [
4 | {
5 | type: '001',
6 | name: '抑郁测评专业版',
7 | share_title: '抑郁测评专业版,你是不开心还是真抑郁',
8 | share_path: '/pages/self-test/topic?type=001&name=抑郁测评专业版',
9 | share_url:
10 | 'https://diancan-1252107261.cos.accelerate.myqcloud.com/yiliao/F-yiyu.png',
11 | },
12 | {
13 | type: '002',
14 | name: '男性功能测试',
15 | share_title: '五个办法判断自身性功能',
16 | share_path: '/pages/self-test/topic?type=002&name=男性功能测试',
17 | share_url:
18 | 'https://diancan-1252107261.cos.accelerate.myqcloud.com/yiliao/F-zaoxie.png',
19 | },
20 | {
21 | type: '003',
22 | name: '失眠程度测评',
23 | share_title: '失眠标准自测,测一测你是否身在其中',
24 | share_path: '/pages/self-test/topic?type=003&name=失眠程度测评',
25 | share_url:
26 | 'https://diancan-1252107261.cos.accelerate.myqcloud.com/yiliao/F-shimian.png',
27 | },
28 | ];
29 |
--------------------------------------------------------------------------------
/src/static/doctor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/doctor.png
--------------------------------------------------------------------------------
/src/static/mine/guahao.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/mine/hesuan.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/mine/hpvyimiao.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/mine/jiuzhenren.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/mine/tijianbaogao.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/mine/xinguanyimiao.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/other/AI-shibie.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/other/dianhua.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/other/gengduo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/other/kongshuju.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/other/kongshuju.jpg
--------------------------------------------------------------------------------
/src/static/other/loading.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/other/shaixuan-jiantou.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/other/shaixuan-jiantou.png
--------------------------------------------------------------------------------
/src/static/other/shaixuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/other/shaixuan.png
--------------------------------------------------------------------------------
/src/static/other/shanchu-goods.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/other/shuxing-img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/other/shuxing-img.png
--------------------------------------------------------------------------------
/src/static/other/touxiang.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/static/other/video-bofang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/other/video-bofang.png
--------------------------------------------------------------------------------
/src/static/tab/guahao-001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/guahao-001.png
--------------------------------------------------------------------------------
/src/static/tab/guahao-002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/guahao-002.png
--------------------------------------------------------------------------------
/src/static/tab/shipin-001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/shipin-001.png
--------------------------------------------------------------------------------
/src/static/tab/shipin-002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/shipin-002.png
--------------------------------------------------------------------------------
/src/static/tab/shouye-001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/shouye-001.png
--------------------------------------------------------------------------------
/src/static/tab/shouye-002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/shouye-002.png
--------------------------------------------------------------------------------
/src/static/tab/wode-001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/wode-001.png
--------------------------------------------------------------------------------
/src/static/tab/wode-002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ChickenTreasure/Smart-medical-applet/ac05709c58c919d52e3ccb022702c6c0674235ad/src/static/tab/wode-002.png
--------------------------------------------------------------------------------
/src/store/index.ts:
--------------------------------------------------------------------------------
1 | // pinia
2 | import { defineStore } from 'pinia';
3 |
4 | interface Patient {
5 | name: string;
6 | _id: string;
7 | }
8 |
9 | export const myData = defineStore('my_data', {
10 | // 数据仓库
11 | state: () => ({
12 | // 用户在某些页面选择就诊人需要值存在这里
13 | patient: {} as Patient,
14 | }),
15 | // 同步异步传值
16 | actions: {
17 | // 调用传值给state=》patient
18 | addPatient(value: Patient) {
19 | this.patient = value;
20 | },
21 | },
22 | // 计算属性
23 | });
24 |
--------------------------------------------------------------------------------
/src/uni.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * 这里是uni-app内置的常用样式变量
3 | *
4 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
5 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
6 | *
7 | */
8 |
9 | /**
10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
11 | *
12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
13 | */
14 |
15 | /* 颜色变量 */
16 |
17 | /* 行为相关颜色 */
18 | $uni-color-primary: #007aff;
19 | $uni-color-success: #4cd964;
20 | $uni-color-warning: #f0ad4e;
21 | $uni-color-error: #dd524d;
22 |
23 | /* 文字基本颜色 */
24 | $uni-text-color: #333; // 基本色
25 | $uni-text-color-inverse: #fff; // 反色
26 | $uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息
27 | $uni-text-color-placeholder: #808080;
28 | $uni-text-color-disable: #c0c0c0;
29 |
30 | /* 背景颜色 */
31 | $uni-bg-color: #fff;
32 | $uni-bg-color-grey: #f8f8f8;
33 | $uni-bg-color-hover: #f1f1f1; // 点击状态颜色
34 | $uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色
35 |
36 | /* 边框颜色 */
37 | $uni-border-color: #c8c7cc;
38 |
39 | /* 尺寸变量 */
40 |
41 | /* 文字尺寸 */
42 | $uni-font-size-sm: 12px;
43 | $uni-font-size-base: 14px;
44 | $uni-font-size-lg: 16;
45 |
46 | /* 图片尺寸 */
47 | $uni-img-size-sm: 20px;
48 | $uni-img-size-base: 26px;
49 | $uni-img-size-lg: 40px;
50 |
51 | /* Border Radius */
52 | $uni-border-radius-sm: 2px;
53 | $uni-border-radius-base: 3px;
54 | $uni-border-radius-lg: 6px;
55 | $uni-border-radius-circle: 50%;
56 |
57 | /* 水平间距 */
58 | $uni-spacing-row-sm: 5px;
59 | $uni-spacing-row-base: 10px;
60 | $uni-spacing-row-lg: 15px;
61 |
62 | /* 垂直间距 */
63 | $uni-spacing-col-sm: 4px;
64 | $uni-spacing-col-base: 8px;
65 | $uni-spacing-col-lg: 12px;
66 |
67 | /* 透明度 */
68 | $uni-opacity-disabled: 0.3; // 组件禁用态的透明度
69 |
70 | /* 文章场景相关 */
71 | $uni-color-title: #2c405a; // 文章标题颜色
72 | $uni-font-size-title: 20px;
73 | $uni-color-subtitle: #555; // 二级标题颜色
74 | $uni-font-size-subtitle: 18px;
75 | $uni-color-paragraph: #3f536e; // 文章段落颜色
76 | $uni-font-size-paragraph: 15px;
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES5",
4 | "useDefineForClassFields": true,
5 | "module": "ES2015",
6 | "moduleResolution": "node",
7 | "strict": true,
8 | "jsx": "preserve",
9 | "sourceMap": true,
10 | "resolveJsonModule": true,
11 | "esModuleInterop": true,
12 | "lib": ["esnext", "dom"],
13 | "types": ["@dcloudio/types"],
14 | "baseUrl": ".",
15 | "paths":{
16 | "@/*":["src/*"]
17 | }
18 | },
19 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
20 | }
21 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vite";
2 | import uni from "@dcloudio/vite-plugin-uni";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [uni()],
7 | });
8 |
--------------------------------------------------------------------------------