Browse Source

🎈 perf: 调整单次乐跑距离区间

Pchen0 3 weeks ago
parent
commit
c1e2513e34

+ 2 - 2
lib/Lepao/Worker.js

@@ -334,9 +334,9 @@ class Worker {
 
 
                 let targetKm = Number(req.targetKm)
                 let targetKm = Number(req.targetKm)
                 if (!Number.isFinite(targetKm) || targetKm < 1) targetKm = 1
                 if (!Number.isFinite(targetKm) || targetKm < 1) targetKm = 1
-                const maxAutoKm = Math.max(2, Number(jkesSettings.autoSingleRunMaxKm) || 5)
+                const maxAutoKm = Math.max(2, Number(jkesSettings.autoSingleRunMaxKm) || 10)
                 if (manual) {
                 if (manual) {
-                    if (targetKm > 5) targetKm = 5
+                    if (targetKm > 10) targetKm = 10
                 } else if (targetKm > maxAutoKm) {
                 } else if (targetKm > maxAutoKm) {
                     targetKm = maxAutoKm
                     targetKm = maxAutoKm
                 }
                 }

+ 4 - 4
plugin/jkes/autoRunAccountOptions.js

@@ -15,8 +15,8 @@ function roundToStepKm(value, stepKm) {
  * 在 [minKm, maxKm] 内按步进离散均匀随机取一值(用于每次自动乐跑)
  * 在 [minKm, maxKm] 内按步进离散均匀随机取一值(用于每次自动乐跑)
  */
  */
 function randomAutoRunDistanceKmBetween(minKm, maxKm, cfg) {
 function randomAutoRunDistanceKmBetween(minKm, maxKm, cfg) {
-    const step = Number(cfg.autoDistanceStepKm) || 0.5
-    const maxCap = Math.max(2, Number(cfg.autoSingleRunMaxKm) || 5)
+    const step = Number(cfg.autoDistanceStepKm) || 0.1
+    const maxCap = Math.max(2, Number(cfg.autoSingleRunMaxKm) || 10)
     let lo = Number(minKm)
     let lo = Number(minKm)
     let hi = Number(maxKm)
     let hi = Number(maxKm)
     if (!Number.isFinite(lo) || !Number.isFinite(hi)) {
     if (!Number.isFinite(lo) || !Number.isFinite(hi)) {
@@ -85,8 +85,8 @@ function normalizePaceRangeSecPerKm(rawMin, rawMax, cfg) {
  */
  */
 function validateAutoRunPresetForSave(body) {
 function validateAutoRunPresetForSave(body) {
     const cfg = getJkesSettings()
     const cfg = getJkesSettings()
-    const maxKm = Math.max(2, Number(cfg.autoSingleRunMaxKm) || 5)
-    const stepKm = Number(cfg.autoDistanceStepKm) || 0.5
+    const maxKm = Math.max(2, Number(cfg.autoSingleRunMaxKm) || 10)
+    const stepKm = Number(cfg.autoDistanceStepKm) || 0.1
 
 
     const legacy = body.auto_run_distance_km
     const legacy = body.auto_run_distance_km
     const hasMin =
     const hasMin =

+ 2 - 2
plugin/jkes/jkesSettings.js

@@ -14,9 +14,9 @@ const defaultJkes = {
     paceRandomMinSecPerKm: 180,
     paceRandomMinSecPerKm: 180,
     paceRandomMaxSecPerKm: 600,
     paceRandomMaxSecPerKm: 600,
     /** 自动乐跑单次最大公里(用于月底追目标) */
     /** 自动乐跑单次最大公里(用于月底追目标) */
-    autoSingleRunMaxKm: 5,
+    autoSingleRunMaxKm: 10,
     /** 自动乐跑距离步进(公里) */
     /** 自动乐跑距离步进(公里) */
-    autoDistanceStepKm: 0.5
+    autoDistanceStepKm: 0.1
 }
 }
 
 
 let cached
 let cached

+ 6 - 6
plugin/jkes/monthPolicy.js

@@ -146,8 +146,8 @@ async function planJkesAutoRun(account, autoDayRaw, token, options = {}, d = new
     const cfg = getJkesSettings()
     const cfg = getJkesSettings()
     const monthTargetKm = normalizeMonthTargetKm(options.monthTargetKm)
     const monthTargetKm = normalizeMonthTargetKm(options.monthTargetKm)
     const stopAfterMinimum = options.stopAfterMinimum !== false
     const stopAfterMinimum = options.stopAfterMinimum !== false
-    const maxAutoSingleKm = Math.max(2, Number(cfg.autoSingleRunMaxKm) || 5)
-    const stepKm = Number(cfg.autoDistanceStepKm) || 0.5
+    const maxAutoSingleKm = Math.max(2, Number(cfg.autoSingleRunMaxKm) || 10)
+    const stepKm = Number(cfg.autoDistanceStepKm) || 0.1
 
 
     const autoDays = parseAutoDay(autoDayRaw)
     const autoDays = parseAutoDay(autoDayRaw)
     const wd = d.getDay()
     const wd = d.getDay()
@@ -184,12 +184,12 @@ async function planJkesAutoRun(account, autoDayRaw, token, options = {}, d = new
 }
 }
 
 
 /**
 /**
- * 手动发起:不校验星期;单次 distanceKm 为 0.5–10。本月已跑里程不设上限(30km 仅为学校最低要求参考)。
+ * 手动发起:不校验星期;单次 distanceKm 为 1–10。本月已跑里程不设上限(30km 仅为学校最低要求参考)。
  */
  */
-async function planJkesManualRun(account, token, distanceKm = 0.5, d = new Date()) {
+async function planJkesManualRun(account, token, distanceKm = 1, d = new Date()) {
     const kmReq = Number(distanceKm)
     const kmReq = Number(distanceKm)
-    if (!Number.isFinite(kmReq) || kmReq < 0.5 || kmReq > 10) {
-        return { run: false, reason: '单次距离需在 0.5–10 公里' }
+    if (!Number.isFinite(kmReq) || kmReq < 1 || kmReq > 10) {
+        return { run: false, reason: '单次距离需在 1–10 公里' }
     }
     }
     await refreshMonthKmFromApi(account, token, d)
     await refreshMonthKmFromApi(account, token, d)
     return { run: true, targetKm: Math.round(kmReq * 1000) / 1000 }
     return { run: true, targetKm: Math.round(kmReq * 1000) / 1000 }