import Logs from "../libs/logs.js"; import { receivePartnerData } from "./Partner.js"; import eventSolutions from '../triangle/eventSolutions.js'; /** * 精确浮点数字 * @param {number} number * @param {number} x * @returns {number} */ const fixFloat = (number, x=3) => { return parseFloat(number.toFixed(x)); } const getSolutionWithIors = (params) => { Logs.outDev('getGameSolution', params); const { iors, cross_type, base_stake } = params; const base_index = iors.reduce((minIdx, cur, idx) => cur.v < iors[minIdx].v ? idx : minIdx, 0); if (iors.length === 2) { iors.push({ v: 1 }); } const betInfo = { cross_type, base_index, base_stake, odds_side_a: fixFloat(iors[0].v - 1), odds_side_b: fixFloat(iors[1].v - 1), odds_side_c: fixFloat(iors[2].v - 1), }; const sol = eventSolutions(betInfo, true); return sol; } export const partnerGate = async (data) => { return receivePartnerData(data). then(({ action, params }) => { switch (action) { case 'iors.solution': return getSolutionWithIors(params); default: return Promise.reject(new Error('invalid action')); } }); } export default { partnerGate };