first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1,360 @@
const { urlencoded } = require('express');
var express = require('express'),
router = express.Router(),
utils = require("../utils"),
config = require("../config"),
bmobUtils = require("../utils/bmob");
/**
* 后端代理,实现调用原网站的 App 接口获取数据
*/
// 进入详情
// http://127.0.0.1:3000/api/json/agent/info?id=48476
router.get('/agent/info', async (req, res, next) => {
var ids = req.query.id;
var url = `${config.AgentUrl}&c=Tuji&a=index`
var data = await utils.AgentPost(url, { id: ids })
res.json(data)
})
// 标签列表
// http://127.0.0.1:3000/api/json/agent/classList?id=124&page=1
router.get('/agent/classList', async (req, res, next) => {
var id = req.query.id;
var page = req.query.page;
var url = `${config.AgentUrl}&c=Biaoqian&a=tulist&id=${id}&p=${page}`;
var result = await utils.AgentPost(url);
result.data.page = String(page);
res.json(result)
})
// 机构列表
// http://127.0.0.1:3000/api/json/agent/mechanismList?id=39&page=1
router.get('/agent/mechanismList', async (req, res, next) => {
var id = req.query.id;
var page = req.query.page;
var url = `${config.AgentUrl}&c=Jigou&a=tulist&id=${id}&p=${page}`;
var result = await utils.AgentPost(url);
result.data.page = String(page);
res.json(result)
})
// 最近更新
// http://127.0.0.1:3000/api/json/agent/recently?page=1
router.get('/agent/recently', async (req, res, next) => {
var page = req.query.page;
var url = `${config.AgentUrl}&c=Index&a=gengxin&p=${page}`;
var result = await utils.AgentPost(url);
result.data.page = String(page);
res.json(result.data)
})
// 搜索接口 正常
// http://127.0.0.1:3000/api/json/agent/search?keyword=jk
router.get('/agent/search', async (req, res, next) => {
var keyword = req.query.keyword;
var url = `${config.AgentUrl}&c=Search&a=Tuji&key=${encodeURIComponent(keyword)}`;
var result = await utils.AgentPost(url);
res.json(result)
})
// 随机展示接口 正常
// http://127.0.0.1:3000/api/json/agent/random
router.get('/agent/random', async (req, res, next) => {
var url = config.AgentUrl;
var result = await utils.AgentPost(url);
result.data.page = String("1");
res.json(result)
})
router.get('/updateVersion', async (req, res, next) => {
const query = bmobUtils.bmob.Query("UpdateVersion");
var update = function () {
query.find()
.then(result => {
res.json(result[0]);
})
.catch(err => {
console.log(`升级出现错误 ------- ${err}`);
update();
});
}
update();
})
// 普通注册
// http://127.0.0.1:3000/api/json/register
router.post('/register', async (req, res, next) => {
var userphone = req.body.userphone;
var userpwd = req.body.userpwd;
var superior = req.body.hasOwnProperty("superior") ? req.body.superior : '';
let params = {
username: userphone,
password: userpwd,
mobilePhoneNumber: userphone,
userType: '0',
FreeNumber: 6,
superiorObjectId: superior
};
var response = {
code: '',
error: '',
createdAt: '',
objectId: '',
}
bmobUtils.bmob.User.register(params).then(result => {
response.code = 200;
response.createdAt = result.createdAt;
response.objectId = result.objectId;
res.json(response);
}).catch(err => {
response.code = err.code;
response.error = err.error;
res.json(response);
});
});
// 代理用户注册
// http://127.0.0.1:3000/api/json/agentreg
router.post('/agentreg', async (req, res, next) => {
var userphone = req.body.userphone;
var userpwd = req.body.userpwd;
var agentCode = req.body.agentcode;
var userWeiXin = req.body.userweixin;
var response = {
code: '',
error: '',
createdAt: '',
objectId: '',
}
// 去代理码表查询这个激活码是否存在
const query = bmobUtils.bmob.Query('AgentCode');
query.equalTo("code", "==", agentCode);
let codeList = await query.find();
// 激活码存在
if (codeList.length != 0) {
bmobUtils.bmob.User.register({
username: userphone,
password: userpwd,
mobilePhoneNumber: userphone,
userType: '1',
userWeiXin: userWeiXin,
FreeNumber: 6
}).then(result => {
response.code = 200;
response.createdAt = result.createdAt;
response.objectId = result.objectId;
res.json(response);
// 注册代理失败
}).catch(err => {
response.code = err.code;
response.error = err.error;
res.json(response);
});
// 激活码不存在
} else {
response.code = 404;
response.error = "无法注册,因为激活码不存在,请找总代理确认!";
res.json(response);
}
});
// 登录
// http://127.0.0.1:3000/api/json/login
router.post('/login', async (req, res, next) => {
var username = req.body.username;
var userpwd = req.body.userpwd;
var response = {
code: '',
error: '',
username: '',
createdAt: '',
objectId: '',
userType: '',
userWeiXin: '',
}
bmobUtils.bmob.User.login(username, userpwd).then(result => {
console.log("result ===== ", result);
response.code = 200;
response.username = result.username;
response.createdAt = result.createdAt;
response.objectId = result.objectId;
response.userType = result.userType;
response.userWeiXin = result.userWeiXin;
res.json(response);
}).catch(err => {
response.code = err.code;
response.error = err.error;
res.json(response);
});
});
// 每访问一次详情页就减少一次使用次数总共6次免费使用
// http://127.0.0.1:3000/api/json/freeUse
router.post('/freeUse', async (req, res, next) => {
let objectId = req.body.objectId;
let query = bmobUtils.bmob.Query('_User');
query.equalTo("objectId", "==", objectId);
query.find().then((data) => {
// 剩余次数
let FreeNumber = data[0].FreeNumber;
if (FreeNumber != -1) {
FreeNumber--;
if (FreeNumber <= 0) {
updateNumbers(0)
res.json({
code: 403,
error: '免费次数用尽请开通VIP',
FreeNumber: 0
})
return;
} else {
updateNumbers(FreeNumber)
}
} else {
res.json({
code: 200,
error: '',
FreeNumber: FreeNumber
});
return;
}
})
.catch(err => {
});
var updateNumbers = function (number) {
query.get(objectId).then(list => {
list.set('FreeNumber', number);
list.save()
res.json({
code: 200,
error: '',
FreeNumber: number
})
}).catch(err => {
})
}
});
// 办理会员的时候的 下单接口
// http://127.0.0.1:3000/api/json/placeOrder
router.post('/placeOrder', async (req, res, next) => {
let objectId = req.body.objectId;
let vipLevel = req.body.vipLevel;
const query = bmobUtils.bmob.Query('_User');
const savePurchase = bmobUtils.bmob.Query('purchase');
query.get(objectId).then(async result => {
if (result.hasOwnProperty('superiorObjectId')) {
console.log("有上级代理");
let superiorInfo = await query.get(result.superiorObjectId);
console.log("上级代理的用户信息为: ", superiorInfo);
saveOrderItem(superiorInfo.userWeiXin, result.objectId)
} else {
console.log("没有上级代理,返回总代理");
saveOrderItem('xy7145', result.objectId)
}
}).catch(err => {
console.log(err)
});
let saveOrderItem = async (weixin, objectId) => {
var response = {
code: '',
error: '',
createdAt: '',
objectId: '',
}
savePurchase.equalTo("userObjectId", "==", objectId);
let isHave = await savePurchase.find();
// 拒绝重复购买如果等于0表示没有买那么下单
if (isHave.length == 0) {
// 用户的objectId
savePurchase.set("userObjectId", objectId)
// 用户的购买类型
savePurchase.set("vipLevel", vipLevel)
// 订单号,也就是 用户的object
savePurchase.set("orderNumber", objectId)
// 当前用户的上级代理的微信号
savePurchase.set("superiorWeixin", weixin)
// 这笔订单的状态0 未支付
savePurchase.set("activateStatus", "0")
savePurchase.save().then(saveInfo => {
console.log(saveInfo)
response.code = 200;
response.createdAt = saveInfo.createdAt;
response.objectId = saveInfo.objectId;
res.json(response)
}).catch(err => {
response.code = err.code;
response.error = err.error;
res.json(response)
})
} else {
response.code = 505;
response.error = '已经办理过,请转账完成激活';
res.json(response)
}
}
});
// 查询订单状态
// http://127.0.0.1:3000/api/json/orderStatus
router.post('/orderStatus', async (req, res, next) => {
let objectId = req.body.objectId;
const query = bmobUtils.bmob.Query('purchase');
var response = {
code: '',
error: '',
arr: ''
}
query.equalTo("userObjectId", "==", objectId);
let result = await query.find();
if (result.length == 0) {
response.code = 404;
response.error = '没有记录',
response.arr = []
} else {
response.code = 200;
response.error = '',
response.arr = result
}
res.json(response);
})
module.exports = router;