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 接口申请 URI
VUE_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,欢送提交交换。再次感谢您的关注与反对!