const express = require('express'); const router = express.Router(); const { body, query } = require('express-validator'); const paramCheck = require('../../../middleware/check'); const { inviteCheck, buyCourse, buyCheck } = require('../../../models/page'); const { onError } = require('../../../utils'); /** * showdoc * @catalog v1/前台/购买 * @title 购买课程 * @description * @method post * @url /api/order * @param cid 1 number 课程id * @return {"code":0,"data": {"url":"zgHXZfQ==,"id": 123}} * @return_param url number 支付url * @return_param id number 订单id * @remark * @number */ router.post('/order', paramCheck([body(['cid']).notEmpty()]), async (req, res) => { if (!req.uid) { return res.send(onError('用户未登录')); } req.body.uid = req.uid; const info = await buyCourse(req.body); res.send(info); }); /** * showdoc * @catalog v1/前台/购买 * @title 邀请码查看 * @description * @method post * @url /api/inviter * @param code 1 string 邀请码 * @param cid 1 string 课程id * @return {"code":0,"data": {"price":"123,"discountPrice": 123}} * @return_param price number 支付价 * @return_param discountPrice number 优惠价 * @remark * @number */ router.post('/inviter', paramCheck([body(['code', 'cid']).notEmpty()]), async (req, res) => { // if (!req.uid) { // return res.send(onError('用户未登录')); // } req.body.uid = req.uid; const info = await inviteCheck(req.body); res.send(info); }); /** * showdoc * @catalog v1/前台/购买 * @title 购买轮询 * @description * @method get * @url /api/order/check * @param oid 1 number 订单id * @return {"code":0,"data": {"url":"zgHXZfQ==,"id": 123}} * @return_param data boolean 是否支付成功 * @remark * @number */ router.get('/order/check', paramCheck([body(['oid']).notEmpty()]), async (req, res) => { if (!req.uid) { return res.send(onError('用户未登录')); } const info = await buyCheck(req.query.oid); res.send(info); }); module.exports = router;