Wed Jun 28 01:14:00 UTC 2023 inscode

上级 7a093d7e
{ {
"name": "vuejs-with-vite", "name": "syt",
"private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite --open",
"build": "vite build", "build": "vue-tsc && vite build",
"preview": "vite preview --port 4173" "preview": "vite preview"
}, },
"dependencies": { "dependencies": {
"guess": "^1.0.2", "@element-plus/icons-vue": "^2.1.0",
"vue": "^3.2.37" "axios": "^1.4.0",
"element-plus": "^2.3.5",
"nprogress": "^0.2.0",
"pinia": "2.0.36",
"qrcode": "^1.5.3",
"sass": "^1.62.1",
"vue": "^3.2.47",
"vue-router": "^4.2.1"
}, },
"devDependencies": { "devDependencies": {
"@vitejs/plugin-vue": "^3.0.1", "@types/node": "^20.2.3",
"vite": "^3.0.1" "@vitejs/plugin-vue": "^4.1.0",
"typescript": "^5.0.2",
"vite": "^4.3.2",
"vue-tsc": "^1.4.2"
} }
} }
//统一管理首页模块接口
import request from "@/utils/request";
import type { HospitalResponseData, HospitalLevelAndRegionResponseData, HospitalInfo } from './type'
//通过枚举管理首页模块的接口地址
enum API {
//获取已有的医院的数据接口地址
HOSPITAL_URL = '/hosp/hospital/',
//获取医院的等级与地区接口
HOSPITALLEVElANDREGION_URL = '/cmn/dict/findByDictCode/',
//根据关键字医院的名字获取数据
HOSPITALINFO_URL = '/hosp/hospital/findByHosname/'
}
//获取医院的数据
export const reqHospital = (page: number, limit: number, hostype = '', districtCode = '') => request.get<any, HospitalResponseData>(API.HOSPITAL_URL + `${page}/${limit}?hostype=${hostype}&districtCode=${districtCode}`)
//获取医院的等级或者获取医院地区的数据
export const reqHospitalLevelAndRegion = (dictCode: string) => request.get<any, HospitalLevelAndRegionResponseData>(API.HOSPITALLEVElANDREGION_URL + dictCode);
//根据关键字获取医院的数据进行展示
export const reqHospitalInfo = (hosname: string) => request.get<any, HospitalInfo>(API.HOSPITALINFO_URL + hosname);
\ No newline at end of file
//定义首页模块ts数据类型
export interface ResponseData {
code: number,
message: string,
ok: boolean
}
//代表已有的医院数据的ts类型
export interface Hospital {
"id": string,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
"hostypeString": string,
fullAddress: string
},
"hoscode": string,
"hosname": string,
"hostype": string,
"provinceCode": string,
"cityCode": string,
"districtCode": string,
"address": string,
"logoData": string,
"intro": string,
"route": string,
"status": number,
"bookingRule": {
"cycle": number,
"releaseTime": string,
"stopTime": string,
"quitDay": number,
"quitTime": string,
"rule": string[]
}
}
//存储全部已有医院的数组类型
export type Content = Hospital[];
//获取已有医院接口返回的数据ts类型
export interface HospitalResponseData extends ResponseData {
data: {
content: Content,
"pageable": {
"sort": {
"sorted": boolean,
"unsorted": boolean,
"empty": boolean
},
"pageNumber": number,
"pageSize": number,
"offset": number,
"paged": boolean,
"unpaged": boolean
},
"totalPages": number,
"totalElements": number,
"last": boolean,
"first": boolean,
"sort": {
"sorted": boolean,
"unsorted": boolean,
"empty": boolean
},
"numberOfElements": number,
"size": number,
"number": number,
"empty": boolean
}
}
//代表医院等级或者地区数据ts类型
export interface HospitalLevelAndRegion {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {},
"parentId": number,
"name": string,
"value": string,
"dictCode": string,
"hasChildren": boolean
}
export type HospitalLevelAndRegionArr = HospitalLevelAndRegion[];
//获取等级或医院地区接口返回数据类型
export interface HospitalLevelAndRegionResponseData extends ResponseData {
data: HospitalLevelAndRegionArr
}
export interface HospitalInfo extends ResponseData {
data: Content
}
\ No newline at end of file
//引入二次封装axios
import request from "@/utils/request";
import type { DoctorInfoData,UserResponseData, DoctorResponseData, HospitalWordData, WXLoginResponseData, HospitalDetail, DeparmentResponseData, LoginData, UserLoginResponseData } from './type'
//枚举请求地址
enum API {
HOSPITALDETAIL_URL = '/hosp/hospital/',
//获取某一个医院的科室的数据
HOSPITALDEPARMENT_URL = '/hosp/hospital/department/',
//获取验证码接口
GETUSERCODE_URL = '/sms/send/',
//用户登录接口
USERLOGIN_URL = '/user/login',
//获取微信扫码登录需要参数
WXLOGIN_URL = '/user/weixin/getLoginParam/',
//获取某一个医院的某一个科室预约挂号数据
HOSPITALWORK_URL = '/hosp/hospital/auth/getBookingScheduleRule/',
//获取医院某一个科室某一天相应医生排班的数据
HOSPITALDOCTOR_URL = '/hosp/hospital/auth/findScheduleList/',
//获取某一个账号下就诊人的信息
GETUSER_URL = '/user/patient/auth/findAll',
//获取挂号医生的信息
GETDOCTOR_URL='/hosp/hospital/getSchedule/'
}
//获取医院详情的接口
export const reqHospitalDetail = (hoscode: string) => request.get<any, HospitalDetail>(API.HOSPITALDETAIL_URL + hoscode);
//获取医院科室的接口
export const reqHospitalDeparment = (hoscode: string) => request.get<any, DeparmentResponseData>(API.HOSPITALDEPARMENT_URL + hoscode);
//获取验证码接口
export const reqCode = (phone: string) => request.get<any, any>(API.GETUSERCODE_URL + phone);
//用户登录接口
export const reqUserLogin = (data: LoginData) => request.post<any, UserLoginResponseData>(API.USERLOGIN_URL, data);
//获取微信扫码登录生成二维码需要参数接口
export const reqWxLogin = (wxRedirectUri: string) => request.get<any, WXLoginResponseData>(API.WXLOGIN_URL + `?wxRedirectUri=${wxRedirectUri}`);
//获取预约挂号的数据
export const reqHospitalWork = (page: number, limit: number, hoscode: string, depcode: string) => request.get<any, HospitalWordData>(API.HOSPITALWORK_URL + `${page}/${limit}/${hoscode}/${depcode}`);
//获取医生排班的数据
export const reqHospitalDoctor = (hoscode: string, depcode: string, workDate: string) => request.get<any, DoctorResponseData>(API.HOSPITALDOCTOR_URL + `${hoscode}/${depcode}/${workDate}`);
//获取某一个账号下就诊人信息
export const reqGetUser = () => request.get<any, UserResponseData>(API.GETUSER_URL);
//获取挂号医生的信息
export const reqDoctorInfo = (scheduleId:string)=>request.get<any,DoctorInfoData>(API.GETDOCTOR_URL+scheduleId);
\ No newline at end of file
//定义详情模块数据ts类型
export interface ResponseData {
code: number,
message: string,
ok: boolean
}
//代表医院详情的数据
export interface HosPitalDetail {
"bookingRule": {
"cycle": number,
"releaseTime": string,
"stopTime": string,
"quitDay": number,
"quitTime": string,
"rule": string[]
},
"hospital": {
"id": string,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
"hostypeString": string,
"fullAddress": string
},
"hoscode": string,
"hosname": string,
"hostype": string,
"provinceCode": string,
"cityCode": string,
"districtCode": string,
"address": string,
"logoData": string,
"intro": null,
"route": string,
"status": number,
"bookingRule": null
}
}
//医院详情返回数据ts
export interface HospitalDetail extends ResponseData {
data: HosPitalDetail
}
//代表医院科室的数据
export interface Deparment {
"depcode": string,
"depname": string,
"children"?: Deparment[]
}
//代表存储科室数组类型
export type DeparmentArr = Deparment[];
//获取科室接口返回的数据类型
export interface DeparmentResponseData extends ResponseData {
data: DeparmentArr
}
//用户登录接口需要携带参数类型
export interface LoginData {
phone: string,
code: string
}
//登录接口返回用户信息数据
export interface UserInfo {
name: string,
token: string
}
//登录接口返回的数据的ts类型
export interface UserLoginResponseData extends ResponseData {
data: UserInfo
}
//定义微信扫码登录返回的数据的ts类型
export interface WXLogin {
"redirectUri": string,
"appid": string,
"scope": string,
"state": string
}
export interface WXLoginResponseData extends ResponseData {
data: WXLogin
}
export interface BaseMap {
"workDateString": string,
"releaseTime": string,
"bigname": string,
"stopTime": string,
"depname": string,
"hosname": string
}
export interface WorkData {
"workDate": string,
"workDateMd": string,
"dayOfWeek": string,
"docCount": number,
"reservedNumber": null,
"availableNumber": number,
"status": number
}
export type BookingScheduleList = WorkData[]
export interface HospitalWordData extends ResponseData {
data: {
total: number,
bookingScheduleList: BookingScheduleList,
baseMap: BaseMap
}
}
//代表的是一个医生的数据
export interface Doctor {
"id": string,
"createTime": string,
"updateTime": string,
"isDeleted": string,
"param": {
"dayOfWeek": string,
"depname": string,
"hosname": string
},
"hoscode": string,
"depcode": string,
"title": string,
"docname": string,
"skill": string,
"workDate": string,
"workTime": number,
"reservedNumber": number,
"availableNumber": number,
"amount": number,
"status": number,
"hosScheduleId": string
}
//数组包含全部医生
export type DocArr = Doctor[];
//获取医生排班接口返回的数据
export interface DoctorResponseData extends ResponseData {
data: DocArr
}
//代表的是一个就诊人数据ts类型
export interface User {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
"certificatesTypeString": string,
"contactsCertificatesTypeString": string,
"cityString": null,
"fullAddress": string,
"districtString": null,
"provinceString": null
},
"userId": number,
"name": number,
"certificatesType": string,
"certificatesNo": string,
"sex": number,
"birthdate": string,
"phone": string,
"isMarry": number,
"provinceCode": null,
"cityCode": null,
"districtCode": null,
"address": string,
"contactsName": string,
"contactsCertificatesType": string,
"contactsCertificatesNo": string,
"contactsPhone": string,
"isInsure": number,
"cardNo": null,
"status": string
}
export type UserArr = User[];
export interface UserResponseData extends ResponseData {
data: UserArr
}
//获取某一个挂号医生数据详情
export interface DoctorInfoData extends ResponseData{
data:Doctor
}
\ No newline at end of file
//引入二次封装的axios
import request from "@/utils/request";
import type { AddOrUpdateUser, AllOrderStateResponseData, AllUserResponseData, UserOrderInfoResponseData, UserParams, CertationTypeResponseData, UseringoResponseData, PayReslt, QrCode, SubmitOrder, OrderResponseData } from './type';
//枚举地址
enum API {
//提交订单,获取订单号码接口
SUBMITORDER_URL = '/order/orderInfo/auth/submitOrder/',
//获取订单详情的数据
GETORDERINFO_URL = '/order/orderInfo/auth/getOrderInfo/',
//取消订单的接口
ORDERCANCEL_URL = '/order/orderInfo/auth/cancelOrder/',
//获取支付订单二维码接口
QRCODE_URL = '/order/weixin/createNative/',
//查询订单支付的结果
PAYRESULT_URL = '/order/weixin/queryPayStatus/',
//获取当前账号用户信息
USERINFO_URL = '/user/auth/getUserInfo',
//获取证件的类型的接口地址
CERTIFICATIONTYPE_URL = '/cmn/dict/findByDictCode/',
//用户认证的结构
USERCERTATION_URL = '/user/auth/userAuah',
//获取用户订单号的数据
USERORDERINFO_URL = '/order/orderInfo/auth/',
//获取全部就诊人的信息
ALLUSER_URL = '/user/patient/auth/findAll',
//获取订单的状态
ORDERSTATE_URL = '/order/orderInfo/auth/getStatusList',
//获取城市的数据
CITY_URL = '/cmn/dict/findByParentId/',
//新增就诊人接口
ADDUSER_URL = '/user/patient/auth/save',
//更新已有的就诊人接口
UPDATEUSER_URL = '/user/patient/auth/update',
//删除已有的就诊人
DELETEUSER_URL='/user/patient/auth/remove/'
}
//提交订单
export const reqSubmitOrder = (hoscode: string, scheduleId: string, patientId: number) => request.post<any, SubmitOrder>(API.SUBMITORDER_URL + `${hoscode}/${scheduleId}/${patientId}`);
//获取订单详情的方法
export const reqOrderInfo = (id: string) => request.get<any, OrderResponseData>(API.GETORDERINFO_URL + id);
//取消订单
export const reqCancelOrder = (id: string) => request.get<any, any>(API.ORDERCANCEL_URL + id);
//获取支付二维码接口
export const reqQrcode = (orderId: string) => request.get<any, QrCode>(API.QRCODE_URL + orderId);
//查询订单支付的结果
export const reqQueryPayState = (orderId: string) => request.get<any, PayReslt>(API.PAYRESULT_URL + orderId);
//获取当前用户信息的接口
export const reqUserInfo = () => request.get<any, UseringoResponseData>(API.USERINFO_URL);
//获取证件类型的方法
export const reqCertationType = (CertificatesType = 'CertificatesType') => request.get<any, CertationTypeResponseData>(API.CERTIFICATIONTYPE_URL + CertificatesType);
//用户认证接口
export const reqUserCertation = (data: UserParams) => request.post<any, any>(API.USERCERTATION_URL, data);
//获取订单数据接口
export const reqUserOrderInfo = (page: number, limit: number, patientId: string, orderStatus: string) => request.get<any, UserOrderInfoResponseData>(API.USERORDERINFO_URL + `${page}/${limit}?patientId=${patientId}&orderStatus=${orderStatus}`)
//获取全部就诊人的信息
export const reqAllUser = () => request.get<any, AllUserResponseData>(API.ALLUSER_URL);
//获取全部订单的接口
export const reqOrderState = () => request.get<any, AllOrderStateResponseData>(API.ORDERSTATE_URL);
//获取城市的数据
export const reqCity = (parentId: string) => request.get<any, any>(API.CITY_URL + parentId);
//新增与修改已有的就诊人接口方法
export const reqAddOrUpdateUser = (data: AddOrUpdateUser) => {
if (data.id) {
return request.put<any, any>(API.UPDATEUSER_URL, data);
} else {
return request.post<any, any>(API.ADDUSER_URL, data);
}
}
//删除某一个就诊人的信息
export const reqRemoveUser = (id:number)=>request.delete<any,any>(API.DELETEUSER_URL+id)
\ No newline at end of file
import { type } from "os"
export interface ResponseData {
"code": number,
"message": string,
"ok": boolean
}
//提交订单接口返回的数据的ts类型
export interface SubmitOrder extends ResponseData {
data: number
}
//订单详情数据的ts类型
export interface OrderInfo {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
"orderStatusString": string
},
"userId": number,
"outTradeNo": string,
"hoscode": string,
"hosname": string,
"depcode": string,
"depname": string,
"scheduleId": string,
"title": string,
"reserveDate": string,
"reserveTime": number,
"patientId": number,
"patientName": string,
"patientPhone": string,
"hosRecordId": string,
"number": number,
"fetchTime": string,
"fetchAddress": string,
"amount": number,
"quitTime": string,
"orderStatus": number
}
//定义订单接口返回的数据ts类型
export interface OrderResponseData extends ResponseData {
data: OrderInfo
}
//获取二维码接口返回的数据ts类型
export interface PayInfo {
"codeUrl": string,
"orderId": number,
"totalFee": number,
"resultCode": string
}
export interface QrCode extends ResponseData {
data: PayInfo
}
//查询支付结果的ts数据类型
export interface PayReslt extends ResponseData {
data: boolean
}
//代表一个用户信息的数据类型
export interface UserInfo {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
},
"openid": null,
"nickName": null,
"phone": string,
"name": string,
"certificatesType": string,
"certificatesNo": string,
"certificatesUrl": null,
"authStatus": number,
"status": number
}
//获取用户信息接口返回的数据的ts类型
export interface UseringoResponseData extends ResponseData {
data: UserInfo
}
//代表证件类型的数据ts
export interface CertationType {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
},
"parentId": number,
"name": string,
"value": string,
"dictCode": string,
"hasChildren": boolean
}
export type CertationArr = CertationType[];
export interface CertationTypeResponseData extends ResponseData {
data: CertationArr
}
//用户认证的携带的参数的ts类型
export interface UserParams {
"certificatesNo": string,
"certificatesType": string,
"certificatesUrl": string,
"name": string
}
//代表一个订单的ts类型
export interface Order {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
"orderStatusString": string
},
"userId": number,
"outTradeNo": string,
"hoscode": string,
"hosname": string,
"depcode": string,
"depname": string,
"scheduleId": null,
"title": string,
"reserveDate": string,
"reserveTime": number,
"patientId": number,
"patientName": string,
"patientPhone": string,
"hosRecordId": string,
"number": number,
"fetchTime": string,
"fetchAddress": string,
"amount": number,
"quitTime": string,
"orderStatus": number
}
export type Records = Order[];
//获取订单接口数据的ts类型
export interface UserOrderInfoResponseData extends ResponseData {
data: {
"records": Records
"total": number,
"size": number,
"current": number,
"orders": [],
"hitCount": boolean,
"searchCount": boolean,
"pages": number
}
}
//代表就诊人ts类型
export interface User {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
"certificatesTypeString": string,
"contactsCertificatesTypeString": string,
"cityString": null,
"fullAddress": string,
"districtString": null,
"provinceString": null
},
"userId": number,
"name": string,
"certificatesType": string,
"certificatesNo": string,
"sex": number,
"birthdate": string,
"phone": string,
"isMarry": number,
"provinceCode": null,
"cityCode": null,
"districtCode": null,
"address": string,
"contactsName": string,
"contactsCertificatesType": string,
"contactsCertificatesNo": string,
"contactsPhone": string,
"isInsure": number,
"cardNo": null,
"status": string
}
//全部就诊人的数据ts类型
export type AllUser = User[];
//获取全部就诊人的ts类型
export interface AllUserResponseData extends ResponseData {
data: AllUser
}
//订单状态ts类型
export interface OrderState {
"comment": string,
"status": number
}
export type AllOrderState = OrderState[];
//全部订单状态码接口返回的数据ts类型
export interface AllOrderStateResponseData extends ResponseData {
data: AllOrderState
}
//新增与修改已有的就诊人参数的数据ts类型
export interface AddOrUpdateUser {
id?: string,
name: string,
certificatesType: string,
certificatesNo:string,
sex:number,
birthdate:string,
phone:string,
isMarry:number,
isInsure:number,
addressSelected:string[],
address:string,
contactsName:string,
contactsCertificatesType:string,
contactsCertificatesNo:string,
contactsPhone:string
}
\ No newline at end of file
//统一管理首页模块接口
import request from "@/utils/request";
import type { HospitalResponseData, HospitalLevelAndRegionResponseData, HospitalInfo } from './type'
//通过枚举管理首页模块的接口地址
enum API {
//获取已有的医院的数据接口地址
HOSPITAL_URL = '/hosp/hospital/',
//获取医院的等级与地区接口
HOSPITALLEVElANDREGION_URL = '/cmn/dict/findByDictCode/',
//根据关键字医院的名字获取数据
HOSPITALINFO_URL = '/hosp/hospital/findByHosname/'
}
//获取医院的数据
export const reqHospital = (page: number, limit: number, hostype = '', districtCode = '') => request.get<any, HospitalResponseData>(API.HOSPITAL_URL + `${page}/${limit}?hostype=${hostype}&districtCode=${districtCode}`)
//获取医院的等级或者获取医院地区的数据
export const reqHospitalLevelAndRegion = (dictCode: string) => request.get<any, HospitalLevelAndRegionResponseData>(API.HOSPITALLEVElANDREGION_URL + dictCode);
//根据关键字获取医院的数据进行展示
export const reqHospitalInfo = (hosname: string) => request.get<any, HospitalInfo>(API.HOSPITALINFO_URL + hosname);
\ No newline at end of file
//定义首页模块ts数据类型
export interface ResponseData {
code: number,
message: string,
ok: boolean
}
//代表已有的医院数据的ts类型
export interface Hospital {
"id": string,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {
"hostypeString": string,
fullAddress: string
},
"hoscode": string,
"hosname": string,
"hostype": string,
"provinceCode": string,
"cityCode": string,
"districtCode": string,
"address": string,
"logoData": string,
"intro": string,
"route": string,
"status": number,
"bookingRule": {
"cycle": number,
"releaseTime": string,
"stopTime": string,
"quitDay": number,
"quitTime": string,
"rule": string[]
}
}
//存储全部已有医院的数组类型
export type Content = Hospital[];
//获取已有医院接口返回的数据ts类型
export interface HospitalResponseData extends ResponseData {
data: {
content: Content,
"pageable": {
"sort": {
"sorted": boolean,
"unsorted": boolean,
"empty": boolean
},
"pageNumber": number,
"pageSize": number,
"offset": number,
"paged": boolean,
"unpaged": boolean
},
"totalPages": number,
"totalElements": number,
"last": boolean,
"first": boolean,
"sort": {
"sorted": boolean,
"unsorted": boolean,
"empty": boolean
},
"numberOfElements": number,
"size": number,
"number": number,
"empty": boolean
}
}
//代表医院等级或者地区数据ts类型
export interface HospitalLevelAndRegion {
"id": number,
"createTime": string,
"updateTime": string,
"isDeleted": number,
"param": {},
"parentId": number,
"name": string,
"value": string,
"dictCode": string,
"hasChildren": boolean
}
export type HospitalLevelAndRegionArr = HospitalLevelAndRegion[];
//获取等级或医院地区接口返回数据类型
export interface HospitalLevelAndRegionResponseData extends ResponseData {
data: HospitalLevelAndRegionArr
}
export interface HospitalInfo extends ResponseData {
data: Content
}
\ No newline at end of file
// @ts-ignore
import { defineConfig } from 'vite' import { defineConfig } from 'vite'
// @ts-ignore
import vue from '@vitejs/plugin-vue' import vue from '@vitejs/plugin-vue'
//引入node提供内置模块path:可以获取绝对路径
// https://vitejs.dev/config/ // @ts-ignore
import path from 'path';
export default defineConfig({ export default defineConfig({
server: { plugins: [vue()],
host: true //src文件夹配置别名
resolve: {
alias: {
"@": path.resolve(__dirname, 'src')
}
}, },
plugins: [vue()] //配置代理跨域
server: {
proxy: {
'/api': {
target: 'http://syt.atguigu.cn',
changeOrigin: true,
},
}
}
}) })
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册