首页 > 其他分享 >ssts-hospital-web-master项目实战记录二十八:项目迁移-Hook实现(useFlowStore)

ssts-hospital-web-master项目实战记录二十八:项目迁移-Hook实现(useFlowStore)

时间:2024-02-28 16:14:42浏览次数:18  
标签:web ssts hospital flow flows state useFlowStore Flow foundFlow

记录时间:2024-02-28

一、useFlowStore模块实现

store/useFlowStore.ts

import { defineStore } from 'pinia' import { Flow, Flows } from '@/types/flow'
export const useFlowStore = defineStore('flow', {   state: () => ({     flow: {} as Flow // 使用类型断言初始化,现在这是安全的,因为所有属性都是可选的   }),   actions: {     parseFlow(flows: Flows, flowKey: string) {       if (!flows || !Array.isArray(flows.root.flow) || !flowKey) {         return // 提前返回以避免无效操作       }
      this.flow = {} as Flow // 重置flow状态,确保它是一个空对象(符合Flow的类型定义)
      const flowList = flows.root.flow // 直接从flows中获取flow数组       const foundFlow = flowList.find(         (flow) => flow.key === flowKey && flow.use === '1'       ) // 查找符合条件的flow
      if (foundFlow) {         // 如果找到了匹配的flow,则更新状态         this.flow = {           ...foundFlow, // 使用展开语法复制找到的flow的属性           pages: Array.isArray(foundFlow.pages) ? foundFlow.pages : [] // 如果不是数组,则设置为空数组         }       } else {         // 可以考虑重置flow到初始状态或保持原样,取决于业务需求         this.flow = {}       }       return this.flow     }   },   getters: {     // 保留特定的 getter,以便直接访问常用属性     getFlow: (state) => state.flow,     getKey: (state) => state.flow.key,     getName: (state) => state.flow.name,     getValue: (state) => state.flow.value,     getComment: (state) => state.flow.comment,     getRemark: (state) => state.flow.remark,     getPages: (state) => state.flow.pages || [] // 确保总是返回一个数组,即使是空的   } })  

 

二、调用示例

三、运行测试

 

翻译

搜索

复制

<iframe></iframe>

标签:web,ssts,hospital,flow,flows,state,useFlowStore,Flow,foundFlow
From: https://www.cnblogs.com/lizhigang/p/18040727

相关文章

  • webpack-dev-server 插件问题 Content not from webpack is served from
    在安装了webpack-dev-server插件后启动然后一直报错 Contentnotfromwebpackisservedfrom XXXX在浏览器中访问 一直显示cannot  / 解决办法在wenbpack.config.js的配置文件中加入输出文件路径配置  devServer:{    static:{     ......
  • GitHub上整理的一些工具(Web 前端相关)
    Web服务器性能/压力测试工具/负载均衡器http_load:程序非常小,解压后也不到100Kwebbench:是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力ab:ab是apache自带的一款功能强大的测试工具Siege:一款开源的压力测试工具,可以根据配置对一个WEB......
  • Taurus.MVC WebMVC 入门开发教程4:数据列表绑定List<Model>
    前言:在本篇Taurus.MVCWebMVC入门开发教程的第四篇文章中,我们将学习如何实现数据列表的绑定,通过使用List<Model>来展示多个数据项。我们将继续使用Taurus.Mvc命名空间,同时探讨如何在视图中绑定并显示一个Model列表。步骤1:创建Model首先,我们需要更新我们的Model类,......
  • rn 调用webview组件调用h5传参
    webview组件调用html页面并实现互相传值的功能1.rn页面 html——> rnhtml页面传参 if(window.ReactNativeWebView){  window.ReactNativeWebView.postMessage('值');}接收html的数据使用接收onMessage={(event)=>this.onMessage(event)} 2.html页面......
  • SpringBoot 2x 系列之(七)web场景
    web场景1.SpringMVC自动配置概览SpringBootprovidesauto-configurationforSpringMVCthatworkswellwithmostapplications.(大多场景我们都无需自定义配置)Theauto-configurationaddsthefollowingfeaturesontopofSpring’sdefaults:InclusionofCont......
  • SpringBoot 1x 系列之(四)Spring Boot与Web开发
    SpringBoot与Web开发Thymeleaf、Web定制、容器定制1.如何使用SpringBoot创建SpringBoot应用,选中我们需要的模块SpringBoot已经默认将这些场景配置好了,我们只需要在配置文件中指定少量配置就可以运行起来编写业务代码2.SpringBoot对静态资源的映射规则普通的web应用......
  • ssts-hospital-web-master项目实战记录二十七:项目迁移-Vue项目与模型数据有关的问题
    记录时间:2024-02-28一、准备工作【使用“文心一言”搜索】Vue项目,推荐与模型数据有关的问题当然,以下是与Vue项目中模型数据相关的一些推荐问题:模型数据应该存储在哪里?考虑到数据的大小、敏感性和使用频率,我应该将模型数据存储在客户端、服务器端还是两者都存储?对于存储在......
  • ssts-hospital-web-master项目实战记录二十六:项目迁移-Hook实现(useDataStore)
    记录时间:2024-02-27一、useDataStore模块实现store/useDataStore.tsimport{defineStore}from'pinia'import{ DICT_PAGE, DICT_COMMON, DICT_DEVICE, DICT_SYSTEM, DICT_STATIC, DICT_NULL, DICT_CONFIG, DICT_OUT}from'@/const'ex......
  • 从sql注入到web安全
    一、事情起因去年底的时候我看到几个国内开源框架又出来SQL注入,联想起HVV时候的各种OA、ERP的SQL注入。我觉得SQL注入这个事情是该有人管管了。二、Mybatis的一点回顾https://github.com/mybatis/mybatis-3/issues/1941如上,我在2020年开始就一直在和官方讨论${}的风险问题,官......
  • 手写web框架
    重新认识HTTPhttp请求报文包含三个部分(请求行+请求头+请求体)请求行请求行包含三个内容:method+request-URI+http-version--例如GET/icwork/?Search=productHTTP/1.1请求方法请求方法作用get通过请求URI获得资源post用于添加新的资源,用于......