VirAPI(Virtual API)—— 在线虚拟数据云接口平台;非侵入式虚拟数据在线请求响应生成接口,支持MockJs语法,请求即可得自定义规则的响应数据;帮助你本地测试或演示项目之用。
通过VirAPI你可以通过远程接口URL访问直接获得自定义的随机虚拟响应数据,若是只想做前端客户端(App、小程序、网页等)的功能演示或业务模拟测试,而又不想耗费时间精力去等待后端接口的开发完成,甚至不想搭建后端服务逻辑,那么VirAPI会是你的好帮手。
VirAPI的功能特色:
对应前端UI代码仓库:https://github.com/bluvenr/open_virapi_front_end
本项目使用了eggjs作为后端逻辑项目框架。
搭建好必要环境后,执行npm install
安装项目所需依赖包。
本地测试运行,则请执行:npm run dev
正式环境运行,请执行:npm start
;此时若想关闭停止项目,则执行:npm stop
。由于eggjs框架的机制,请每次修改后端代码后重启该项目npm restart
。
默认服务端口为7001
,本地可直接访问http://127.0.0.1:7001/
进入控制台管理页面。若是部署到线上,可配置nginx或apache进行重定向。
项目配置文件放在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 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
。
登录成功后,请注意重置登录密码,以保障账号安全。
新建应用示例截图
新建接口示例截图
应用管理示例截图
接口管理示例截图
😁请备注virapi
。
支付宝赞助 |
微信赞助 |
---|---|
![]() |
![]() |
欢迎大家通过Gitter与我们沟通和联系。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.