koishi-plugin-bns-rate 1.0.6 → 1.0.8
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/.gitignore +6 -0
- package/index.js +5 -17
- package/package.json +1 -1
- package/.claude/settings.local.json +0 -10
package/.gitignore
ADDED
package/index.js
CHANGED
|
@@ -3,7 +3,7 @@ const { Schema } = require('koishi')
|
|
|
3
3
|
const DEFAULT_URL = 'https://www.dd373.com/s-d5gqt8-0-0-0-0-0-0-0-0-0-0-0-1-0-5-0.html'
|
|
4
4
|
|
|
5
5
|
const FORWARD_RE = /1元\s*=\s*(\d+\.?\d*)神石/g
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
|
|
8
8
|
const Config = Schema.object({
|
|
9
9
|
url: Schema.string()
|
|
@@ -45,23 +45,11 @@ async function fetchRate(ctx, url) {
|
|
|
45
45
|
throw new Error('无法解析页面汇率数据,页面结构可能已变更')
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
//
|
|
49
|
-
const
|
|
50
|
-
let bestReverse = null
|
|
51
|
-
for (const m of reverseMatches) {
|
|
52
|
-
const ctx = html.substring(Math.max(0, m.index - 50), m.index + 100)
|
|
53
|
-
if (!ctx.includes('/神石')) {
|
|
54
|
-
bestReverse = parseFloat(m[1])
|
|
55
|
-
break
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (bestReverse === null) {
|
|
60
|
-
throw new Error('无法解析页面反向汇率数据')
|
|
61
|
-
}
|
|
48
|
+
// 反向汇率直接用正向算,更准: 1神石 = 1/forward 元
|
|
49
|
+
const bestReverse = Math.round((1 / bestSeller) * 10000) / 10000
|
|
62
50
|
|
|
63
|
-
if (bestSeller < 100 || bestSeller > 200
|
|
64
|
-
throw new Error(`解析的汇率超出合理范围: forward=${bestSeller}
|
|
51
|
+
if (bestSeller < 100 || bestSeller > 200) {
|
|
52
|
+
throw new Error(`解析的汇率超出合理范围: forward=${bestSeller}`)
|
|
65
53
|
}
|
|
66
54
|
|
|
67
55
|
return { forward: bestSeller, reverse: bestReverse }
|
package/package.json
CHANGED