maker
This commit is contained in:
parent
1d73c84152
commit
e657040bb0
@ -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] || '天外来客'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user