1 Star 0 Fork 471

onetime/vueShop-api-server

forked from wBekvam/vueShop-api-server 
Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
app.js 4.01 KB
Copy Edit Raw Blame History
wBekvam authored 2020-02-02 14:11 . 电商后台管理系统API接口
const fs = require('fs')
var express = require('express')
var bodyParser = require('body-parser')
var path = require('path')
// 路由加载
var mount = require('mount-routes')
var app = express()
/**
*
* 公共系统初始化
*
*/
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
// 初始化数据库模块
var database = require('./modules/database')
database.initialize(app, function(err) {
if (err) {
console.error('连接数据库失败失败 %s', err)
}
})
/**
*
* 后台管理系统初始化
*
*/
// 获取管理员逻辑模块
var managerService = require(path.join(process.cwd(), 'services/ManagerService'))
// 获取角色服务模块
var roleService = require(path.join(process.cwd(), 'services/RoleService'))
// 设置跨域和相应数据格式
app.all('/api/*', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Headers', 'X-Requested-With, mytoken')
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Authorization')
res.setHeader('Content-Type', 'application/json;charset=utf-8')
res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept,X-Requested-With')
res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
res.header('X-Powered-By', ' 3.2.1')
if (req.method == 'OPTIONS') res.send(200)
/*让options请求快速返回*/ else next()
})
// 初始化统一响应机制
var resextra = require('./modules/resextra')
app.use(resextra)
// 初始化 后台登录 passport 策略
admin_passport = require('./modules/passport')
// 设置登录模块的登录函数衔接 passport 策略
admin_passport.setup(app, managerService.login)
// 设置 passport 登录入口点
app.use('/api/private/v1/login', admin_passport.login)
// 设置 passport 验证路径
app.use('/api/private/v1/*', admin_passport.tokenAuth)
// 获取验证模块
var authorization = require(path.join(process.cwd(), '/modules/authorization'))
// 设置全局权限
authorization.setAuthFn(function(req, res, next, serviceName, actionName, passFn) {
if (!req.userInfo || isNaN(parseInt(req.userInfo.rid))) return res.sendResult('无角色ID分配')
// 验证权限
roleService.authRight(req.userInfo.rid, serviceName, actionName, function(err, pass) {
passFn(pass)
})
})
/**
*
* 初始化路由
*
*/
// 带路径的用法并且可以打印出路有表
mount(app, path.join(process.cwd(), '/routes'), true)
app.all('/ueditor/ue', function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*')
res.header('Access-Control-Allow-Headers', 'X-Requested-With, mytoken')
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Authorization')
res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, X_Requested_With')
res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
res.header('X-Powered-By', ' 3.2.1')
if (req.method == 'OPTIONS') res.send(200)
/*让options请求快速返回*/ else next()
})
// 富文本编辑器上传
var ueditor = require(path.join(process.cwd(), '/modules/ueditor'))
// 富文本控件处理qing q
app.use('/ueditor/ue', ueditor)
//. 设置富文本空间地址
app.use('/ueditor', express.static('public/ueditor'))
app.use('/tmp_uploads', express.static('tmp_uploads'))
app.use('/x/common', express.static('uploads/common'))
app.use('/uploads/goodspics', express.static('uploads/goodspics'))
var upload_config = require('config').get('upload_config')
app.use('/' + upload_config.get('upload_ueditor'), express.static(upload_config.get('upload_ueditor')))
const logistics = require('./modules/Logistics.js')
app.get('/api/private/v1/kuaidi/:orderno', logistics.getLogisticsInfo)
// 定义日志
// var log4js = require('./modules/logger');
// log4js.use(app);
/**
*
* 统一处理无响应
*
*/
// 如果没有路径处理就返回 Not Found
app.use(function(req, res, next) {
res.sendResult(null, 404, 'Not Found')
})
app.listen(8888)
module.exports = app
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
NodeJS
1
https://gitee.com/aoe777/vueShop-api-server.git
git@gitee.com:aoe777/vueShop-api-server.git
aoe777
vueShop-api-server
vueShop-api-server
master

Search