Giter Site home page Giter Site logo

app-mock-desktop's Introduction

app-mock-desktop

旨在推动前后端研发分离的效率小工具,方便前端(移动/PC/FE)同学在研发过程透过代理方便地查看请求数据/伪造数据/覆盖边界,结合接口设计可在前后端并行开发中通过数据伪造功能实现对API接口实现依赖的解耦,加速研发流程。

avatar

Build Setup

# install dependencies
yarn

# serve with hot reload at localhost:9080
yarn dev

# build electron application for production
yarn build

接入指南

您的应用需对网络请求框架做一个简单改造,在所有需要接入AppMock的请求URL的Host的替换为AppMock提供的Host,同时将需代理请求的Header中添加

req.headers['mock-host'] = origin_host;
req.headers['mock-uid'] = mock_uid;

即完成应用端改造,其中origin_host为原请求的host,mock_uid为AppMock代理请求client的id。

AppMock代理服务的地址获取方案

  • 移动端提供扫码获取Host SDK方便在研发过程中接入; 🕒 ❌
    • android扫码组件; 🕒 ❌
    • iOS扫码组件; 🕒 ❌
  • 桌面应用或Web应用需要研发同学根据自己的实际工程特点集成,一般建议在工程全局debug面板中添加集成入口统一替换;

主体产品功能开发roadmap


  • 工程框架重构

    • 引入Typescript+Vuejs+ElementUI作为应用构建主体 👌 ✔️
    • 优化electron-vue脚手架,去除无用js向前兼容组件依赖 👌 ✔️
    • 优化webpack hot deploy在windows/mac环境下的重启实现 👌 ✔️
    • 升级Electron版本至8.1.0 👌 ✔️
  • 请求代理 2020.02.18

    • 主体功能实现,UI界面重绘 👌 ✔️

    • 主进程业务逻辑拆分: 👌 ✔️

      由LocalServer拆分为ProxyService、MockService、PushService、WebService,服务依赖如下:

      LocalServer

      ProxyService WebService

      PushService MockService

  • 数据伪造/本地化管理 2020.03.19

    • 引入PouchDB 👌 ✔️
    • 完善MockService逻辑,增加延时设置支持 👌 ✔️
    • Mock数据管理页相关功能:
      • 本地规则组创建/管理 👌 ✔️
      • 本地规则编辑/添加 👌 ✔️
      • 本地规则组代理开关 👌 ✔️
  • 支持网页版本 2020.08.18

    • 引入网页版本,应用可中心化部署,同学们可以通过网页版本更加便捷使用 👌 ✔️
      • 构建支持域名/IP两种模式部署,如果是域名部署,请在config.json文件中将domain指定为所需要绑定的域名;
  • 设置面板 🕒

    • 多网卡IP选择 👌 ✔️
    • 本地代理服务端口自定义 👌 ✔️
    • 本地推送端口自定义 👌 ✔️
    • 本地长连代理服务端口自定义 🕒 🔜
    • 支持Api定义服务指定 👌 ✔️
    • 支持买点规则服务指定 👌 ✔️
    • 支持代理数据服务指定 👌 ✔️
    • 在线设备查看 👌 ✔️
  • 数据模型测试数据自动化生成 🕒 ❌

  • 多数据协议支撑 🕒

    • JSON 👌 ✔️
    • protobuf 🕒 ❌
    • thrift 🕒 ❌
    • 私有协议plugin支撑 🕒 ❌

app-mock-desktop's People

Contributors

maskerliu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

gllys panyudoit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.