kingdee-cosmic-clikingdee-cosmic-cli
首页
指南
  • 金蝶云苍穹社区
  • 资源市集
  • KDesign
  • CHATUI X
作者博客
首页
指南
  • 金蝶云苍穹社区
  • 资源市集
  • KDesign
  • CHATUI X
作者博客
  • 起步
    • 介绍
    • 安装与创建
    • 卸载与升级
  • 全局配置
  • 开发事项
    • 介绍
    • 苍穹预览模式
    • RAM模式
  • 生产与产物分析事项
  • 资源拉取策略分析
  • 数据请求策略
    • 策略设计
    • Mock服务
  • React18 起步工程
    • 介绍
    • 接口请求书写
    • 状态管理
    • 国际化
  • Vue3 起步工程
    • 介绍
    • 接口请求书写
    • 状态管理
    • 国际化
  • 主题色切换
  • 图标方案
  • 规范与温馨提示
    • Eslint
    • 工程与编码规范
    • 温馨提示
  • 未来计划与感谢 📅

Mock 服务

在 ram 模式下,可以启动 Mock 服务:

npm run mock

启动的服务端口可在全局配置中修改 MOCK_PORT。

为了模拟苍穹平台主动推送信息的能力,ram 模式默认采用 Axios 的方式收发数据,你也可以通过修改全局配置中的 DEV_RAM_REQUEST_TYPE 变量来决定请求使用的是 Axios 还是 Socket 方式。axios 为 Axios 模式,socket 为 Websocket 模式。

一般情况下后端会在控件初始化的时候主动推送 init 与 update 事件,所以第一次 init与 update 生命周期数据的主动推送永远用的是 Socket 方式触发。

在 serverMock.js 中通过触发两次 socket.emit("message", initMock); 来模拟。

前端中为了分辨第一次主动推动 init 与 update 事件,在 src/devSocket.ts 中做了特殊处理:

const InitComponent = InitComponentSingleton.getInstance();
if (this.isInitData) {
  InitComponent.init(msg);
} else {
  InitComponent.update(msg);
}
if (this.isInitData) this.isInitData = false;

数据伪造

基本上伪造数据只需要在 /mock 文件夹中修改即可。

  • data 文件夹存放数据。
  • files 文件夹和文件上传有关

其他相关文件夹为配置,如果想针对接口修改请求返回的时间,可以在这里修改 routes :

mockList.forEach((item) => {
  const { url, method, response } = item;
  const handler = httpMethods[method.toLowerCase()];

  if (handler) {
    handler(url, delayResponse(response)); // here
  } else {
    console.error(`Method ${method} is not supported.`);
  }
});
最近更新:: 2025/3/28 16:52
Contributors: 庞囧, pangzong
Prev
策略设计