彩票猪手1.1
This commit is contained in:
@@ -2,8 +2,8 @@ import axios from 'axios'
|
||||
|
||||
// 创建axios实例
|
||||
const api = axios.create({
|
||||
baseURL: 'http://localhost:8123/api',
|
||||
// baseURL: 'https://www.jingcaishuju.com/api',
|
||||
// baseURL: 'http://localhost:8123/api',
|
||||
baseURL: 'https://www.jingcaishuju.com/api',
|
||||
timeout: 300000, // 5分钟超时时间(300秒)
|
||||
withCredentials: true, // 关键:支持跨域携带cookie和session
|
||||
headers: {
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
@click="formData.level = pos.value"
|
||||
>
|
||||
<div class="position-title">{{ pos.label }}</div>
|
||||
<div class="position-desc">{{ pos.desc }}</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
@@ -176,31 +175,12 @@
|
||||
|
||||
<!-- 推测期号输入框 -->
|
||||
<div class="input-section">
|
||||
<label>请输入推测期号:</label>
|
||||
<el-select
|
||||
<label>推测期号:</label>
|
||||
<el-input
|
||||
v-model="formData.predictDrawId"
|
||||
placeholder="请选择或输入推测期号"
|
||||
filterable
|
||||
allow-create
|
||||
default-first-option
|
||||
:disabled="!formData.level"
|
||||
clearable
|
||||
placeholder="自动填充"
|
||||
disabled
|
||||
class="draw-id-select"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in predictDrawIdOptions"
|
||||
:key="item"
|
||||
:label="item"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
<el-alert
|
||||
v-if="predictDrawIdError"
|
||||
:title="predictDrawIdError"
|
||||
type="error"
|
||||
show-icon
|
||||
:closable="false"
|
||||
style="margin-top: 10px;"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -247,7 +227,7 @@
|
||||
<div v-if="analyzedRedBalls.length > 0" class="balls-display">
|
||||
<el-alert
|
||||
type="success"
|
||||
title="以下是推荐的首球号码"
|
||||
title="彩票猪手为您推荐了11个数据向好的红球,请参考!"
|
||||
:closable="false"
|
||||
style="margin-bottom: 15px;"
|
||||
/>
|
||||
@@ -396,7 +376,7 @@
|
||||
<div v-if="followAnalyzedBalls.length > 0" class="balls-display">
|
||||
<el-alert
|
||||
type="success"
|
||||
title="以下是推荐的随球号码"
|
||||
title="彩票猪手为您推荐了8个数据向好的红球,请参考!"
|
||||
:closable="false"
|
||||
style="margin-bottom: 15px;"
|
||||
/>
|
||||
@@ -571,7 +551,7 @@
|
||||
<div v-if="analyzedBlueBalls.length > 0" class="balls-display">
|
||||
<el-alert
|
||||
type="success"
|
||||
title="以下是推荐的篮球号码:"
|
||||
title="彩票猪手为您推荐了4个数据向好的蓝球,请参考!"
|
||||
:closable="false"
|
||||
style="margin-bottom: 15px;"
|
||||
class="blue-ball-alert"
|
||||
@@ -724,12 +704,12 @@
|
||||
<!-- 成功提交弹窗 -->
|
||||
<el-dialog
|
||||
v-model="showSuccessModal"
|
||||
title="推测记录提交成功!"
|
||||
title="本次推测已完成!"
|
||||
width="500px"
|
||||
center
|
||||
>
|
||||
<Trophy class="success-icon" />
|
||||
<p>您的第{{ formData.predictDrawId }}期推测号码已成功提交,祝您好运!</p>
|
||||
<p>您的第{{ formData.predictDrawId }}期推测号码已完成,祝您好运!</p>
|
||||
<div class="success-balls">
|
||||
<div class="success-red-balls">
|
||||
<span class="ball-red">{{ String(formData.firstBall).padStart(2, '0') }}</span>
|
||||
@@ -845,9 +825,9 @@ export default {
|
||||
showFinalBlueBallSelector: false, // 最终蓝球选择弹窗显示状态
|
||||
steps: ['推测准备', '推测首球', '推测随球', '推测蓝球', '确定推测'],
|
||||
positions: [
|
||||
{ value: 'H', label: '高位值', desc: '高位投注算法' },
|
||||
{ value: 'M', label: '中位值', desc: '中位投注算法' },
|
||||
{ value: 'L', label: '低位值', desc: '低位投注算法' }
|
||||
{ value: 'H', label: '高区位', desc: '高位投注算法' },
|
||||
{ value: 'M', label: '中区位', desc: '中位投注算法' },
|
||||
{ value: 'L', label: '低区位', desc: '低位投注算法' }
|
||||
],
|
||||
formData: {
|
||||
level: '',
|
||||
@@ -868,7 +848,6 @@ export default {
|
||||
agreeToTerms: false, // 用户服务协议勾选状态
|
||||
recentDrawIds: [], // 存储近10期开奖期号
|
||||
drawIdOptions: [], // 用于el-select的选项
|
||||
predictDrawIdOptions: [], // 推测期号选项
|
||||
latestDrawId: null // 最新开奖期号
|
||||
}
|
||||
},
|
||||
@@ -882,25 +861,13 @@ export default {
|
||||
this.loadFormDataFromCache()
|
||||
},
|
||||
computed: {
|
||||
predictDrawIdError() {
|
||||
if (this.formData.predictDrawId && this.latestDrawId) {
|
||||
if (parseInt(this.formData.predictDrawId, 10) <= parseInt(this.latestDrawId, 10)) {
|
||||
return `推测期号必须晚于最新开奖期号 ${this.latestDrawId}`;
|
||||
}
|
||||
}
|
||||
return '';
|
||||
},
|
||||
canProceedStep1() {
|
||||
const isPredictDrawIdValid = this.formData.predictDrawId &&
|
||||
this.latestDrawId &&
|
||||
parseInt(this.formData.predictDrawId, 10) > parseInt(this.latestDrawId, 10);
|
||||
|
||||
return this.userVerified &&
|
||||
this.formData.level &&
|
||||
this.formData.drawId &&
|
||||
this.formData.lastRedBalls.every(ball => ball !== '') &&
|
||||
this.formData.lastBlueBall &&
|
||||
isPredictDrawIdValid;
|
||||
this.formData.predictDrawId;
|
||||
},
|
||||
canProceedStep2() {
|
||||
return this.formData.firstBall && this.formData.followBalls.every(ball => ball !== '')
|
||||
@@ -1407,11 +1374,8 @@ export default {
|
||||
if (this.recentDrawIds.length > 0) {
|
||||
this.latestDrawId = this.recentDrawIds[0]
|
||||
const latestId = parseInt(this.latestDrawId, 10)
|
||||
const options = []
|
||||
for (let i = 1; i <= 11; i++) {
|
||||
options.push(String(latestId + i))
|
||||
}
|
||||
this.predictDrawIdOptions = options
|
||||
// 自动设置推测期号为最新一期的下一期
|
||||
this.formData.predictDrawId = String(latestId + 1)
|
||||
}
|
||||
} else {
|
||||
this.showMessage('获取期号失败', response.message, 'error')
|
||||
@@ -1682,7 +1646,6 @@ export default {
|
||||
|
||||
.position-title {
|
||||
font-weight: 600;
|
||||
margin-bottom: 8px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
transition: all 0.3s;
|
||||
@@ -1754,11 +1717,6 @@ export default {
|
||||
box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3) !important;
|
||||
}
|
||||
|
||||
.blue-ball-display.selected {
|
||||
background: linear-gradient(135deg, #4caf50, #66bb6a) !important;
|
||||
box-shadow: 0 3px 8px rgba(76, 175, 80, 0.3) !important;
|
||||
}
|
||||
|
||||
.blue-option {
|
||||
background: #e3f2fd !important;
|
||||
color: #1976d2 !important;
|
||||
@@ -1799,11 +1757,6 @@ export default {
|
||||
box-shadow: 0 5px 15px rgba(229, 62, 62, 0.4);
|
||||
}
|
||||
|
||||
.ball-number-display.selected {
|
||||
background: linear-gradient(135deg, #4caf50, #66bb6a);
|
||||
box-shadow: 0 3px 8px rgba(76, 175, 80, 0.3);
|
||||
}
|
||||
|
||||
.ball-number-display.disabled {
|
||||
background: linear-gradient(135deg, #e0e0e0, #bdbdbd);
|
||||
color: #999;
|
||||
@@ -1826,16 +1779,6 @@ export default {
|
||||
box-shadow: 0 4px 12px rgba(229, 62, 62, 0.3) !important;
|
||||
}
|
||||
|
||||
/* 红球选中状态 */
|
||||
.red-balls-selector .ball-number-display.selected,
|
||||
.first-ball-selector .ball-number-display.selected,
|
||||
.follow-balls-selector .ball-number-display.selected,
|
||||
.first-ball-display .ball-number-display.selected,
|
||||
.selected-balls-selector .ball-number-display.selected {
|
||||
background: linear-gradient(135deg, #4caf50, #66bb6a) !important;
|
||||
box-shadow: 0 3px 8px rgba(76, 175, 80, 0.3) !important;
|
||||
}
|
||||
|
||||
/* 首球选择器样式 */
|
||||
.first-ball-selector {
|
||||
display: flex;
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title-row">
|
||||
<div class="table-title-cell">
|
||||
<span class="highlight-ball">{{masterBall}}</span>号{{isMasterRed() ? '红' : '蓝'}}球与<span class="highlight-ball">{{slaveBall}}</span>号{{isSlaveRed() ? '红' : '蓝'}}球接续性分析报告
|
||||
<span class="highlight-ball" :class="{ 'blue-text': !isMasterRed() }">{{masterBall}}</span>号{{isMasterRed() ? '红' : '蓝'}}球与<span class="highlight-ball" :class="{ 'blue-text': !isSlaveRed() }">{{slaveBall}}</span>号{{isSlaveRed() ? '红' : '蓝'}}球接续性分析报告
|
||||
</div>
|
||||
</div>
|
||||
<table class="analysis-table">
|
||||
@@ -178,26 +178,26 @@
|
||||
<td class="value-cell">{{resultData[0]?.latestDrawId || '-'}}期</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">两号接续性系数</td>
|
||||
<td class="label-cell">两号接续系数</td>
|
||||
<td class="value-cell">{{resultData[0]?.lineCoefficient || '-'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">同号组最高系数球号及系数</td>
|
||||
<td class="value-cell">
|
||||
<span class="highlight-ball">{{resultData[0]?.highestBall || '--'}}</span>
|
||||
<span class="highlight-ball" :class="{ 'blue-text': !isSlaveRed() }">{{resultData[0]?.highestBall || '--'}}</span>
|
||||
<span class="coefficient-value">{{resultData[0]?.highestCoefficient || '-'}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">同号组最低系数球号及系数</td>
|
||||
<td class="value-cell">
|
||||
<span class="highlight-ball">{{resultData[0]?.lowestBall || '--'}}</span>
|
||||
<span class="highlight-ball" :class="{ 'blue-text': !isSlaveRed() }">{{resultData[0]?.lowestBall || '--'}}</span>
|
||||
<span class="coefficient-value">{{resultData[0]?.lowestCoefficient || '-'}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">同号组平均系数</td>
|
||||
<td class="value-cell">{{resultData[0]?.averageCoefficient || '-'}}</td>
|
||||
<td class="value-cell">{{ (resultData[0]?.averageCoefficient && Number(resultData[0].averageCoefficient).toFixed(2)) || '-' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">建议</td>
|
||||
@@ -689,10 +689,14 @@ export default {
|
||||
|
||||
.highlight-ball {
|
||||
color: #e74c3c;
|
||||
font-weight: normal;
|
||||
font-weight: bold;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.highlight-ball.blue-text {
|
||||
color: #3498db; /* 蓝色文字 */
|
||||
}
|
||||
|
||||
.coefficient-value {
|
||||
font-weight: normal;
|
||||
color: #333;
|
||||
|
||||
@@ -65,6 +65,14 @@
|
||||
|
||||
<!-- 号码选择和分析区域 -->
|
||||
<el-card v-if="analysisType" class="analysis-container" shadow="never">
|
||||
<el-alert
|
||||
v-if="selectionError"
|
||||
:title="selectionError"
|
||||
type="warning"
|
||||
show-icon
|
||||
@close="selectionError = null"
|
||||
style="margin-bottom: 20px;"
|
||||
/>
|
||||
<div class="number-selection">
|
||||
<h3>{{ getSelectionTitle() }}</h3>
|
||||
|
||||
@@ -153,7 +161,7 @@
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title-row">
|
||||
<div class="table-title-cell">
|
||||
<span class="highlight-ball">{{masterBall}}</span>号{{isMasterRed() ? '红' : '蓝'}}球与<span class="highlight-ball">{{slaveBall}}</span>号{{isSlaveRed() ? '红' : '蓝'}}球组合性分析报告
|
||||
<span class="highlight-ball" :class="{ 'blue-text': !isMasterRed() }">{{masterBall}}</span>号{{isMasterRed() ? '红' : '蓝'}}球与<span class="highlight-ball" :class="{ 'blue-text': !isSlaveRed() }">{{slaveBall}}</span>号{{isSlaveRed() ? '红' : '蓝'}}球组合性分析报告
|
||||
</div>
|
||||
</div>
|
||||
<table class="analysis-table">
|
||||
@@ -163,26 +171,26 @@
|
||||
<td class="value-cell">{{resultData[0]?.latestDrawId || '-'}}期</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">两号组合性系数</td>
|
||||
<td class="label-cell">两号组合系数</td>
|
||||
<td class="value-cell">{{resultData[0]?.faceCoefficient || '-'}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">同号组最高系数球号及系数</td>
|
||||
<td class="value-cell">
|
||||
<span class="highlight-ball">{{resultData[0]?.highestBall || '--'}}</span>
|
||||
<span class="highlight-ball" :class="{ 'blue-text': !isSlaveRed() }">{{resultData[0]?.highestBall || '--'}}</span>
|
||||
<span class="coefficient-value">{{resultData[0]?.highestCoefficient || '-'}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">同号组最低系数球号及系数</td>
|
||||
<td class="value-cell">
|
||||
<span class="highlight-ball">{{resultData[0]?.lowestBall || '--'}}</span>
|
||||
<span class="highlight-ball" :class="{ 'blue-text': !isSlaveRed() }">{{resultData[0]?.lowestBall || '--'}}</span>
|
||||
<span class="coefficient-value">{{resultData[0]?.lowestCoefficient || '-'}}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">同号组平均系数</td>
|
||||
<td class="value-cell">{{resultData[0]?.averageCoefficient || '-'}}</td>
|
||||
<td class="value-cell">{{ (resultData[0]?.averageCoefficient && Number(resultData[0].averageCoefficient).toFixed(2)) || '-' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label-cell">建议</td>
|
||||
@@ -287,7 +295,8 @@ export default {
|
||||
slaveBall: null,
|
||||
loading: false,
|
||||
result: null,
|
||||
error: null
|
||||
error: null,
|
||||
selectionError: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -331,6 +340,7 @@ export default {
|
||||
this.slaveBall = null
|
||||
this.result = null
|
||||
this.error = null
|
||||
this.selectionError = null
|
||||
},
|
||||
|
||||
getSelectionTitle() {
|
||||
@@ -383,15 +393,25 @@ export default {
|
||||
},
|
||||
|
||||
selectMasterBall(num) {
|
||||
if (this.analysisType === 'red-red' && num === this.slaveBall) {
|
||||
this.selectionError = '主球和随球不能是同一个号码'
|
||||
return
|
||||
}
|
||||
this.masterBall = num
|
||||
this.result = null
|
||||
this.error = null
|
||||
this.selectionError = null
|
||||
},
|
||||
|
||||
selectSlaveBall(num) {
|
||||
if (this.analysisType === 'red-red' && num === this.masterBall) {
|
||||
this.selectionError = '主球和随球不能是同一个号码'
|
||||
return
|
||||
}
|
||||
this.slaveBall = num
|
||||
this.result = null
|
||||
this.error = null
|
||||
this.selectionError = null
|
||||
},
|
||||
|
||||
async performAnalysis() {
|
||||
@@ -765,7 +785,12 @@ export default {
|
||||
|
||||
.highlight-ball {
|
||||
color: #e74c3c; /* 红色文字 */
|
||||
font-weight: normal;
|
||||
font-weight: bold;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.highlight-ball.blue-text {
|
||||
color: #3498db; /* 蓝色文字 */
|
||||
}
|
||||
|
||||
.coefficient-value {
|
||||
|
||||
Reference in New Issue
Block a user