maker
This commit is contained in:
parent
1d73c84152
commit
e657040bb0
@ -96,11 +96,12 @@ router.get('/result', async (req, res, next) => {
|
||||
try {
|
||||
const query = req.query
|
||||
const _id = query._id
|
||||
let users = query.users
|
||||
const users = query.users
|
||||
const search = await Maker.findOne({ _id })
|
||||
let text = search.template
|
||||
const title = search.title
|
||||
users = users.split(',')
|
||||
const sersArr = users.split(',')
|
||||
|
||||
|
||||
const regUser = /\[n(\d+)\]/g
|
||||
const regList = /\[i(\d+)\]/g
|
||||
@ -108,10 +109,16 @@ router.get('/result', async (req, res, next) => {
|
||||
const regPer2 = /\[∞\]/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)) {
|
||||
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)) {
|
||||
text = text.replace(regList, (match, p1) => {
|
||||
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] || '天外来客'
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user