This commit is contained in:
yulixing 2019-11-27 10:28:35 +08:00
parent 1d73c84152
commit e657040bb0

View File

@ -96,11 +96,12 @@ router.get('/result', async (req, res, next) => {
try { try {
const query = req.query const query = req.query
const _id = query._id const _id = query._id
let users = query.users const users = query.users
const search = await Maker.findOne({ _id }) const search = await Maker.findOne({ _id })
let text = search.template let text = search.template
const title = search.title const title = search.title
users = users.split(',') const sersArr = users.split(',')
const regUser = /\[n(\d+)\]/g const regUser = /\[n(\d+)\]/g
const regList = /\[i(\d+)\]/g const regList = /\[i(\d+)\]/g
@ -108,10 +109,16 @@ router.get('/result', async (req, res, next) => {
const regPer2 = /\[∞\]/g const regPer2 = /\[∞\]/g
const regNum = /\[(0+)\]/g const regNum = /\[(0+)\]/g
// 使用charCode确定结果
let charCode = 0
for (let i = 0; i < users.length; i++) {
charCode += users.charCodeAt(i)
}
// 替换用户输入 // 替换用户输入
while (regUser.test(text)) { while (regUser.test(text)) {
text = text.replace(regUser, (match, p1) => { text = text.replace(regUser, (match, p1) => {
return users[p1] || '天外来客' return usersArr[p1] || '天外来客'
}) })
} }
@ -119,7 +126,8 @@ router.get('/result', async (req, res, next) => {
while (regList.test(text)) { while (regList.test(text)) {
text = text.replace(regList, (match, p1) => { text = text.replace(regList, (match, p1) => {
const list = search.list[p1].text.split(',') const list = search.list[p1].text.split(',')
const idx = Math.floor(Math.random() * list.length)
const idx = charCode < list.length - 1 ? charCode : charCode % list.length
return list[idx] || '天外来客' return list[idx] || '天外来客'
}) })
} }