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.
Files changed (3) hide show
  1. package/index.js +23 -3
  2. package/mongo.js +12 -1
  3. 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
- if (config.TURNSTILE_SITE_KEY && config.TURNSTILE_SECRET_KEY) {
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
- if (config.TURNSTILE_SITE_KEY && config.TURNSTILE_SECRET_KEY) {
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.0",
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.0",
34
+ "twikoo-func": "1.7.2",
35
35
  "uuid": "^8.3.2"
36
36
  }
37
37
  }