VirAPI -- 非侵入式虚构数据在线申请响应生成接口,反对MockJs语法,申请即可得自定义规定的响应数据。

本着让宽广开发者能分享VirAPI的成绩,也为了VirAPI能更好的服务大家,现做出重大决定——将VirAPI开源!!!

此次开源,将公布在Githu以及Gitee两大开源仓库网站上。开源的内容次要包含:

  • 创立及治理我的项目利用
  • 创立及治理虚构接口
  • 在线测试虚构接口
  • 查看虚构接口申请日志
  • 查看虚构接口申请相干数据统计
  • 登录及编辑个人资料

当初您能够依据本人的须要拉取开源代码进行本地部署,若有相干开发能力还可在下面进行降级再革新。

本开源我的项目次要分前端代码仓库以及后端代码仓库;仓库保护上将以Github为主,这也就意味着在Github上更新的更及时。

Github上对应的仓库地址为:

  • VirAPI开源版
  • VirAPI开源版--前端代码仓库

Gitee上对应的仓库地址为:

  • VirAPI开源版

1. VirAPI开源版 https://github.com/bluvenr/open_virapi

1.1 环境依赖

  • NodeJs(NPM)
  • MongoDB

本我的项目应用了eggjs作为后端逻辑我的项目框架。

1.2 运行&部署

搭建好必要环境后,执行npm install装置我的项目所需依赖包。

本地测试运行,则请执行:npm dev

正式环境运行,请执行:npm start;此时若想敞开进行我的项目,则执行:npm stop。因为eggjs框架的机制,请每次批改后端代码后重启该我的项目npm restart

默认服务端口为7001,本地可间接拜访http://127.0.0.1:7001/进入控制台治理页面。若是部署到线上,可配置nginx或apache进行重定向。

1.3 我的项目配置相干介绍

我的项目配置文件放在config/config.default.js文件中,若是搁置服务器正式环境,则倡议复制该文件您须要自定义的配置在同目录下命名为config.local.js文件中,并设置您要的配置参数。

默认config.default.js文件内容为:

/* eslint valid-jsdoc: "off" */'use strict';const fs = require('fs');const path = require('path');/** * @param {Egg.EggAppInfo} appInfo app info */module.exports = appInfo => {  /**   * built-in config   * @type {Egg.EggAppConfig}   **/  const config = {    mongoose: {      // url: 'mongodb://127.0.0.1:27017/open_virapi_db',      options: {        // useMongoClient: true,        autoReconnect: true,        reconnectTries: Number.MAX_VALUE,        bufferMaxEntries: 0,      },    },    bcrypt: {      saltRounds: 10,    },    security: {      csrf: {        enable: false,        ignoreJSON: true,      },      domainWhiteList: [        'http://localhost:8080',      ],    },    validate: {      convert: true,    },    cors: {      // origin: '*',      allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',    },    jwt: {      secret: 'virapi-202008192239',    },    proxy: true, // 通过ips获取nginx代理层实在IP    session: {      key: 'Vir_SESSION', // 承载 Session 的 Cookie 键值对名字      maxAge: 2 * 3600 * 1000, // Session 的最大无效工夫      httpOnly: true,      encrypt: true,      renew: true, // 每次拜访页面都会给session会话延长时间    },    static: {      prefix: '/',      dir: path.join(appInfo.baseDir, 'app/public'),      dynamic: true,      preload: false,      maxAge: 0,      buffer: false,    },  };  // use for cookie sign key, should change to your own and keep security  config.keys = appInfo.name + '_hNW87vqPkMiMpLBHEtolB3Yg6vQsk5Ip4AJzCih2QCXbZBmjh5I033ELjdwB';  // add your middleware config here  config.middleware = [    'errorHandler',  ];  config.siteFile = {    '/favicon.ico': fs.readFileSync(appInfo.baseDir + '/app/public/favicon.ico'),  };  // add your user config here  const userConfig = {    // myAppName: 'egg',    imgUri: '/images',    imgDir: appInfo.baseDir + '/app/public/images',  };  return {    ...config,    ...userConfig,  };};

在您的自定义配置参数文件config.local.js中,咱们建议您配置以下必要参数:

'use strict';// cookie & session 数据加密平安字符串exports.keys = 'xxxxxxxxx';   // 建议您自定义重置该参数,cookie、session等数据加密时会用到该参数// MongoDB 相干参数exports.mongoose = {  client: {    url: 'mongodb://127.0.0.1:27017/local_virapi_db',   // 您的mongo数据库拜访地址    options: {      // useMongoClient: true,      autoReconnect: true,      reconnectTries: Number.MAX_VALUE,      bufferMaxEntries: 0,    },  },};// 图片资源拜访域名exports.imgUri = 'http://{您的图片拜访地址}';    // 若您要对图片资源独立调配域名可设置该参数Mongo数据库为了能登录控制台零碎,须要一个初始化的账号信息。在您的mongo所在服务器执行以下命令,创立初始账号:// 进入Mongo命令台mongo 127.0.0.1:27017/local_virapi_db;  // 请更换您的Mongo拜访地址// 切换到指标数据库use local_virapi_db;  // 请更换您的Mongo数据名// 插入初始账号信息db.getCollection('user').insertOne({    "nickname" : "admin",    "vir_uid" : "vir_admin",    "vir_uid_updated" : null,    "email" : "admin@virapi.com",    "password" : "$2a$10$6fam2XUhNqU0nTNixjuoBuCx5aK2R8t.vEndOuVQ6vxVrinWXu9wy",    "avatar" : "/default_avatar.jpg",    "apps_count" : 0,    "login_date" : ISODate("2020-08-21T12:35:47.312Z"),    "status" : 1,    "created" : ISODate("2020-08-19T15:20:43.192Z"),    "updated" : ISODate("2020-08-21T12:35:47.315Z"),    "__v" : 0});

其中登录账号即为:admin@virapi.com,默认登录明码为:123456

登录胜利后,请留神重置登录明码,以保障账号平安。

2. VirAPI开源版--前端代码仓库 https://github.com/bluvenr/open_virapi_front_end

2.1 运行&打包

以后前端框架次要应用的是VueJS进行开发。若须要本地运行,请先装置NPM环境。

下载后,请npm install装置前端我的项目所需依赖包。

本地测试运行,则请执行:npm serve

打包正式环境,请执行:npm build,且打包后的代码生成在dist目录下,若须要替换后端代码,请将该目录所有文件替换到您的后端代码我的项目下的/app/public/console/目录下。

2.2 .env文件相干

默认.env文件内容为:

# 环境配置VUE_APP_REQUEST_URL=/ajax# 网站版本编号VUE_APP_VERSION=0.0.1# 虚构API接口申请URIVUE_APP_API_REQUEST_URI=/api/

其中,VUE_APP_REQUEST_URL变量即为对应后端服务接口的地址,默认/ajax,即示意为以后域名下的ajax地址。您能够依据理论状况进行调整。

VUE_APP_API_REQUEST_URI为以后我的项目所生成的虚构数据接口的地址域名,默认/api/示意所创立的虚构数据接口的申请域名为以后域名的api门路下。您能够依据理论状况进行调整。

倡议若是本地测试,可复制.env文件并重命名为.env.development.local,这样当执行npm serve,即进行本地测试运行时,会读取该文件的配置信息。

若是要打包到实在环境,则可复制.env文件并重命名为.env.production.local,这样当执行npm build,即进行打包时,会读取该文件的配置信息。


本开源我的项目将会继续进行保护与更新,若您有好的想法或发现有什么bug,欢送提交交换。再次感谢您的关注与反对!