tkserver 1.7.0 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +23 -3
- package/mongo.js +12 -1
- package/package.json +2 -2
package/index.js
CHANGED
|
@@ -31,6 +31,7 @@ const {
|
|
|
31
31
|
isQQ,
|
|
32
32
|
addQQMailSuffix,
|
|
33
33
|
getQQAvatar,
|
|
34
|
+
getQQNick,
|
|
34
35
|
getPasswordStatus,
|
|
35
36
|
preCheckSpam,
|
|
36
37
|
checkTurnstileCaptcha,
|
|
@@ -143,6 +144,9 @@ module.exports = async (request, response) => {
|
|
|
143
144
|
case 'UPLOAD_IMAGE': // >= 1.5.0
|
|
144
145
|
res = await uploadImage(event, config)
|
|
145
146
|
break
|
|
147
|
+
case 'GET_QQ_NICK': // >= 1.7.0
|
|
148
|
+
res = await qqNickGet(event)
|
|
149
|
+
break
|
|
146
150
|
case 'COMMENT_EXPORT_FOR_ADMIN': // >= 1.6.13
|
|
147
151
|
res = await commentExportForAdmin(event)
|
|
148
152
|
break
|
|
@@ -749,18 +753,19 @@ async function limitFilter (request) {
|
|
|
749
753
|
|
|
750
754
|
async function checkCaptcha (comment, request) {
|
|
751
755
|
logger.log('验证码配置:', {
|
|
756
|
+
CAPTCHA_PROVIDER: config.CAPTCHA_PROVIDER,
|
|
752
757
|
TURNSTILE_SITE_KEY: config.TURNSTILE_SITE_KEY,
|
|
753
758
|
GEETEST_CAPTCHA_ID: config.GEETEST_CAPTCHA_ID,
|
|
754
759
|
GEETEST_CAPTCHA_KEY: config.GEETEST_CAPTCHA_KEY ? '***' : undefined
|
|
755
760
|
})
|
|
756
|
-
|
|
761
|
+
const provider = config.CAPTCHA_PROVIDER
|
|
762
|
+
if ((!provider || provider === 'Turnstile') && config.TURNSTILE_SITE_KEY && config.TURNSTILE_SECRET_KEY) {
|
|
757
763
|
await checkTurnstileCaptcha({
|
|
758
764
|
ip: getIp(request),
|
|
759
765
|
turnstileToken: comment.turnstileToken,
|
|
760
766
|
turnstileTokenSecretKey: config.TURNSTILE_SECRET_KEY
|
|
761
767
|
})
|
|
762
|
-
}
|
|
763
|
-
if (config.GEETEST_CAPTCHA_ID && config.GEETEST_CAPTCHA_KEY) {
|
|
768
|
+
} else if ((!provider || provider === 'Geetest') && config.GEETEST_CAPTCHA_ID && config.GEETEST_CAPTCHA_KEY) {
|
|
764
769
|
await checkGeeTestCaptcha({
|
|
765
770
|
geeTestCaptchaId: config.GEETEST_CAPTCHA_ID,
|
|
766
771
|
geeTestCaptchaKey: config.GEETEST_CAPTCHA_KEY,
|
|
@@ -908,6 +913,21 @@ async function getRecentComments (event) {
|
|
|
908
913
|
return res
|
|
909
914
|
}
|
|
910
915
|
|
|
916
|
+
// 获取 QQ 昵称
|
|
917
|
+
async function qqNickGet (event) {
|
|
918
|
+
const res = {}
|
|
919
|
+
try {
|
|
920
|
+
validate(event, ['qq'])
|
|
921
|
+
const nick = await getQQNick(event.qq, config.QQ_API_KEY)
|
|
922
|
+
res.code = RES_CODE.SUCCESS
|
|
923
|
+
res.nick = nick
|
|
924
|
+
} catch (e) {
|
|
925
|
+
res.code = RES_CODE.FAIL
|
|
926
|
+
res.message = e.message
|
|
927
|
+
}
|
|
928
|
+
return res
|
|
929
|
+
}
|
|
930
|
+
|
|
911
931
|
// 修改配置
|
|
912
932
|
async function setConfig (event) {
|
|
913
933
|
const isAdminUser = isAdmin(event.accessToken)
|
package/mongo.js
CHANGED
|
@@ -32,6 +32,7 @@ const {
|
|
|
32
32
|
getPasswordStatus,
|
|
33
33
|
preCheckSpam,
|
|
34
34
|
checkTurnstileCaptcha,
|
|
35
|
+
checkGeeTestCaptcha,
|
|
35
36
|
getConfig,
|
|
36
37
|
getConfigForAdmin,
|
|
37
38
|
validate
|
|
@@ -735,12 +736,22 @@ async function limitFilter (request) {
|
|
|
735
736
|
}
|
|
736
737
|
|
|
737
738
|
async function checkCaptcha (comment, request) {
|
|
738
|
-
|
|
739
|
+
const provider = config.CAPTCHA_PROVIDER
|
|
740
|
+
if ((!provider || provider === 'Turnstile') && config.TURNSTILE_SITE_KEY && config.TURNSTILE_SECRET_KEY) {
|
|
739
741
|
await checkTurnstileCaptcha({
|
|
740
742
|
ip: getIp(request),
|
|
741
743
|
turnstileToken: comment.turnstileToken,
|
|
742
744
|
turnstileTokenSecretKey: config.TURNSTILE_SECRET_KEY
|
|
743
745
|
})
|
|
746
|
+
} else if (provider === 'Geetest' && config.GEETEST_CAPTCHA_ID && config.GEETEST_CAPTCHA_KEY) {
|
|
747
|
+
await checkGeeTestCaptcha({
|
|
748
|
+
geeTestCaptchaId: config.GEETEST_CAPTCHA_ID,
|
|
749
|
+
geeTestCaptchaKey: config.GEETEST_CAPTCHA_KEY,
|
|
750
|
+
geeTestLotNumber: comment.geeTestLotNumber,
|
|
751
|
+
geeTestCaptchaOutput: comment.geeTestCaptchaOutput,
|
|
752
|
+
geeTestPassToken: comment.geeTestPassToken,
|
|
753
|
+
geeTestGenTime: comment.geeTestGenTime
|
|
754
|
+
})
|
|
744
755
|
}
|
|
745
756
|
}
|
|
746
757
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tkserver",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "A simple comment system.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"twikoo",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"get-user-ip": "^1.0.1",
|
|
32
32
|
"lokijs": "^1.5.12",
|
|
33
33
|
"mongodb": "^6.3.0",
|
|
34
|
-
"twikoo-func": "1.7.
|
|
34
|
+
"twikoo-func": "1.7.2",
|
|
35
35
|
"uuid": "^8.3.2"
|
|
36
36
|
}
|
|
37
37
|
}
|