37 极速问诊路由

极速问诊路由

    • 1 极速问诊-需求分析{#consult-product}
    • 2 枚举基本语法{#enum-base}
    • 3 枚举使用场景{#enum-intro}
    • 4 极速问诊-定义类型{#consult-type}
    • 5 极速问诊-问诊记录仓库{#consult-store}
    • 5 极速问诊-选择问诊级别-路由
    • 6 极速问诊-选择科室-路由
    • 7 极速问诊-选择科室-业务{#consult-dep-logic}

1 极速问诊-需求分析{#consult-product}

理解:极速问诊阶段流程分析

线下看病流程:

选择医院(三甲、普通)=》挂号=》选择科室 =》选择医生(专家、主任)=》支付=》订单=》患者去医院找医生,当面沟通=》医生确定病情,开药=》患者去药房买药

线上看病流程:

在这里插入图片描述
极速问诊阶段:

  1. 极速问诊(记录-问诊类型

  2. 三甲图文问诊 或 普通图文问诊(记录-问诊级别

  3. 选择科室(记录-疾病科室)

  4. 描述病情(记录-症状详情、时间、是否问诊过、图片)

  5. 选择患者(记录-患者ID)

  6. 支付问诊费(挂号费)

所有流程走完才能组合成完整的问诊记录,而且是不同的页面采集数据,这个实现需要 pinia

接口数据:

  • type 问诊类型: 1找医生 2极速问诊 3开药问诊 type:1|2|3
  • illnessType 极速问诊类型:0普通 1三甲 illnessType: 0|1

提问:

  • 刚刚看到 1 2 3 的时候你能记得他们代表什么意思吗?
    • 不清楚,对于数字字面量类型的联合类型语义差,建议使用 枚举

2 枚举基本语法{#enum-base}

掌握:枚举的基本语法和使用细节

  • 作用:表示一组明确可选的值,和字面量类型配合联合类型类似。
  • 解释:枚举可以定义一组常量,使用该类型后,约定只能使用这组常量中的其中一个。
// 创建枚举类型
enum Direction {
    Up, Down, Left, Right }

// 使用枚举类型
const changeDirection = (direction: Direction) => {
   
  console.log(direction)
}

// 调用函数时,需要应该传入:枚举 Direction 成员的任意一个
// 类似于 JS 中的对象,直接通过 点(.)语法 访问枚举的成员
changeDirection(Direction.Up)

问题:

  • 通过枚举访问其成员,成员的值是什么?
    • 默认从 0 开始自增的数值
  • 可以修改其成员的值吗?
    • Up = 10 , 后面是从 10 开始自增
  • 成员的值可以使用字符串吗?
    • Up = 'Up' 可以,但是后面的值都需要使用字符串。

3 枚举使用场景{#enum-intro}

场景:用于一组没有语义的可选值,给它们添加类型。

比如:

  • 后台给的数据: 0 是男 1 是女 ---- 1 是待付款 5 是已付款 8 是已完成
  • 好处,通过枚举可以让成员更加语义化,提高代码可读性

代码:

// 性别
enum GenderType {
   
  Boy,
  Girl
}
const showGender = (gender: GenderType) => {
   
  if (gender === GenderType.Boy) {
   
    console.log('性别:男')
  }
}
showGender(GenderType.Boy)
// 订单状态
enum OrderStatus {
   
  UnPay = 1,
  Payed = 5,
  Complete = 8
}
const showOrderStatus = (status: OrderStatus) => {
   
  if (status === OrderStatus.Complete) {
   
    console.log('状态:已完成')
  }
}
showOrderStatus(OrderStatus.Complete)

小结:

  • 枚举一般使用在,表示一组明确可选的值,语义化不高的情况。
  • 如果这组可选值语义很高,如 unpay | payed | complete ,使用字面量配合联合类型更简单些。
    思考:
  • 枚举的选项可以代表值,可以写在 d.ts 文件吗?
    • 不能,有值的需要写在 ts 文件中

4 极速问诊-定义类型{#consult-type}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

THE ORDER

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值