Commit 941ca3c7 authored by 韦燕's avatar 韦燕

feat:merge

parent a51c8502
<!doctype html><html lang="zh"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="dns-prefetch" href="//yun.duiba.com.cn"/><link rel="preconnect" href="//embedlog.duiba.com.cn"><title>活动标题</title><script>if (localStorage && localStorage.isWebp) {
document
.getElementsByTagName('html')[0]
.setAttribute('duiba-webp', 'true');
}</script><script src="//yun.duiba.com.cn/spark/v2/spark.base.fz.wxpollyfill.js"></script><script src="//yun.duiba.com.cn/js-libs/rem/1.1.3/rem.min.js"></script><script src="//yun.duiba.com.cn/h5/lib/zepto.min.js"></script><script>"use strict";
var CFG = CFG || {};
CFG.projectId = location.pathname.split('/')[2] || '1';
function getUrlParam(name) {
var search = window.location.search;
var matched = search.slice(1).match(new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'));
return search.length ? matched && matched[2] : null;
}
CFG.appID = '${APPID}';
if (!getUrlParam("appID")) {
// alert("【警告】检测到活动url中没有appID参数\n缺少该参数会导致埋点、分享、app信息获取错误。")
}</script><link href="//yun.duiba.com.cn/spark/v2/temp_base/1744368490950/styles/main.312a2794e93e96ea98cd.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>"use strict";
CFG.___G___ = 'master%3Borigin%09git%40gitlab2.dui88.com%3Asparkprojects%2FKWW-520NumberGuessingGame-20250409.git%20(fetch)%3Borigin%09git%40gitlab2.dui88.com%3Asparkprojects%2FKWW-520NumberGuessingGame-20250409.git%20(push)%3Bweiyan%3B';</script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744368490950/js/runtime-main.056eba21.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744368490950/js/vendors.8c139ea6.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744368490950/js/main.ed787662.js" crossorigin="anonymous"></script></body></html>
\ No newline at end of file
<<<<<<< HEAD
{"proSetting":{"projectxIDs":{"testId":[{"label":"test","value":"pae1f48ca"}],"prodId":[]},"skinVariables":[],"mockSetting":{"projectId":"","pageId":""}},"envSetting":{},"psdSetting":{"psdFSSetting":true,"psdCenterSetting":true}} {"proSetting":{"projectxIDs":{"testId":[{"label":"test","value":"pae1f48ca"}],"prodId":[]},"skinVariables":[],"mockSetting":{"projectId":"","pageId":""}},"envSetting":{},"psdSetting":{"psdFSSetting":true,"psdCenterSetting":true}}
=======
{"proSetting":{"projectxIDs":{"testId":[{"label":"/test","value":"pae1f48ca"}],"prodId":[]},"skinVariables":[],"mockSetting":{"projectId":"","pageId":""}},"envSetting":{},"psdSetting":{"psdFSSetting":true,"psdCenterSetting":true}}
>>>>>>> 1d3ca4155556fe453d55d85d7c8ab4d7706f38ef
...@@ -171,7 +171,7 @@ class GamePage extends Component { ...@@ -171,7 +171,7 @@ class GamePage extends Component {
break; break;
case 'minus': case 'minus':
// const _max = Math.floor(currentNum / 2); // const _max = Math.floor(currentNum / 2);
number = this.createSpecialNum(this.min, Math.min(this.max, currentNum)); number = this.createSpecialNum(this.min, Math.min(this.max, this.currentNumber));
break; break;
case 'multiplyZheng': case 'multiplyZheng':
number = this.createSpecialNum(1, 9); number = this.createSpecialNum(1, 9);
...@@ -189,24 +189,7 @@ class GamePage extends Component { ...@@ -189,24 +189,7 @@ class GamePage extends Component {
fen2 = this.createSpecialNum(1, Math.max(1, fen1 - 1)); fen2 = this.createSpecialNum(1, Math.max(1, fen1 - 1));
} }
number = fen2 / fen1; number = Math.round(fen2 / fen1);
// if(this.currentOpt == 'plus') {
// fen1 = this.createSpecialNum(2, 8);
// if(fen1 == 8) {
// fen2 = 9
// } else {
// const fenMin = Math.min(8, fen1 + 1);
// const fenMax = 9;
// fen2 = this.createSpecialNum(fenMin , fenMax);
// }
// number = fen2 / fen1;
// } else {
// fen1 = this.createSpecialNum(2, 9);
// fen2 = this.createSpecialNum(1, Math.max(1, fen1 - 1));
// number = fen2 / fen1;
// }
break; break;
case 'percent': case 'percent':
number = this.createSpecialNum(1, 100); number = this.createSpecialNum(1, 100);
...@@ -214,22 +197,11 @@ class GamePage extends Component { ...@@ -214,22 +197,11 @@ class GamePage extends Component {
case 'division': case 'division':
number = 2; number = 2;
break; break;
// case 'multiplyFen':
// fen1 = this.createSpecialNum(2, 9);
// fen2 = this.createSpecialNum(1, Math.max(1, fen1_m - 1));
// number = fen2 / fen1;
// break;
case 'minusDouble': case 'minusDouble':
// const _maxD = Math.floor(currentNum / 4); number = this.createSpecialNum(0, Math.min(99, Math.floor(this.currentNumber / 2)));
// number = this.createSpecialNum(0, _maxD);
number = this.createSpecialNum(0, Math.min(99, Math.floor(currentNum / 2)));
break; break;
} }
// console.error(number);
return { return {
number, number,
fen1, fen1,
...@@ -262,7 +234,7 @@ class GamePage extends Component { ...@@ -262,7 +234,7 @@ class GamePage extends Component {
newNumber1 += symbolInfo?.number * newNumber1 newNumber1 += symbolInfo?.number * newNumber1
break; break;
case 'multiplyFen': case 'multiplyFen':
newNumber1 += Math.round(symbolInfo?.fen2 / symbolInfo?.fen1 * newNumber1) * operate; newNumber1 += Math.round(symbolInfo?.fen2 * newNumber1 / symbolInfo?.fen1) * operate;
break; break;
case 'percent': case 'percent':
newNumber1 += Math.round(symbolInfo?.number * newNumber1 / 100) * operate ; newNumber1 += Math.round(symbolInfo?.number * newNumber1 / 100) * operate ;
...@@ -292,7 +264,7 @@ class GamePage extends Component { ...@@ -292,7 +264,7 @@ class GamePage extends Component {
let newNumber = this.currentNumber; let newNumber = this.currentNumber;
// const symbolInfo = index == -1 ? symbolInfo1 : symbolInfo2; const symbolInfo = index == -1 ? symbolInfo1 : symbolInfo2;
const operate = addition == 'plus' ? 1 : -1; const operate = addition == 'plus' ? 1 : -1;
...@@ -314,10 +286,11 @@ class GamePage extends Component { ...@@ -314,10 +286,11 @@ class GamePage extends Component {
setTimeout(() => { setTimeout(() => {
this.createAddition(); this.createAddition();
this.canChoose = true
this.setState({ this.setState({
selectIndex: 0, selectIndex: 0,
}) })
this.canChoose = true
}, 500) }, 500)
return return
...@@ -333,11 +306,13 @@ class GamePage extends Component { ...@@ -333,11 +306,13 @@ class GamePage extends Component {
if(this.currentOpt == 'plus' && this.currentNumber > 0) { if(this.currentOpt == 'plus' && this.currentNumber > 0) {
this.divNum++; this.divNum++;
} }
if(this.currentOpt == 'minus' && this.divNum > 1) { if(this.currentOpt == 'minus' && this.divNum > 1 && this.currentNumber != this.state.currentNum) {
this.divNum--; this.divNum--;
} }
this.createNewElement(); console.error("divNum", this.divNum)
// this.createNewElement();
this.updateNumElementsByOpt(this.currentOpt);
// console.warn("newNumber", this.currentNumber) // console.warn("newNumber", this.currentNumber)
...@@ -352,9 +327,13 @@ class GamePage extends Component { ...@@ -352,9 +327,13 @@ class GamePage extends Component {
this.setState({ this.setState({
selectIndex: 0, selectIndex: 0,
}) })
}, 500) }, 500)
} }
currentArr = [{
top: '3.71rem'
}]
lastTop = 3.71; lastTop = 3.71;
divNum = 0; divNum = 0;
// 创建新的元素进行叠加 // 创建新的元素进行叠加
...@@ -363,13 +342,13 @@ class GamePage extends Component { ...@@ -363,13 +342,13 @@ class GamePage extends Component {
// const { numElements, currentNumber } = this.state; // const { numElements, currentNumber } = this.state;
const { numElements, currentNumber } = this.state; const { numElements, currentNumber } = this.state;
let newArr = [...numElements]; let newArr = this.currentArr;
if(this.currentOpt == 'minus' && this.divNum > 1) { if(this.currentOpt == 'minus' && this.currentArr.length > 1) {
this.divNum--; this.divNum--;
newArr = newArr.slice(0, newArr.length - 1); newArr = newArr.slice(0, newArr.length - 1);
console.warn("numElements", newArr, newArr.length - 1)
this.setState({ this.setState({
numElements: newArr numElements: newArr
}) })
...@@ -379,37 +358,80 @@ class GamePage extends Component { ...@@ -379,37 +358,80 @@ class GamePage extends Component {
const lastTop = newArr.length > 0 ? parseFloat(newArr[newArr.length - 1].top) : 3.71; const lastTop = newArr.length > 0 ? parseFloat(newArr[newArr.length - 1].top) : 3.71;
const newTop = 3.71 - 0.05 * this.divNum; const newTop = 3.71 - 0.05 * this.divNum;
console.warn("numElements", newArr, newArr.length - 1) console.warn("numElements", newArr, newArr.length - 1, this.divNum)
console.warn("lastTop", lastTop, "newTop", newTop) console.warn("lastTop", lastTop, "newTop", newTop)
// 创建一个新的 ref 来存储新元素 // 创建一个新的 ref 来存储新元素
const newElementRef = React.createRef(); const newElementRef = React.createRef();
this.setState(prevState => { this.setState({
return { numElements: [
numElements: [ ...numElements,
...newArr, {
{ top: `${newTop}rem`, // 初始位置为上一个元素的 top 位置
top: `${this.lastTop}rem`, // 初始位置为上一个元素的 top 位置 number: this.currentNumber,
number: this.currentNumber, ref: newElementRef // 存储 ref
ref: newElementRef // 存储 ref }
} ]
]
}
}, () => { }, () => {
// 在 setState 回调中执行动画 this.currentArr = this.state.numElements;
const element = newElementRef.current; })
if (element) {
// 设置过渡效果 // this.setState(prevState => {
element.style.transition = 'top 0.1s ease-in-out'; // return {
// 延迟一小段时间以确保过渡效果生效 // numElements: [
setTimeout(() => { // ...prevState.numElements,
element.style.top = `${newTop}rem`; // 移动到新的 top 位置 // {
this.lastTop = newTop; // top: `${newTop}rem`, // 初始位置为上一个元素的 top 位置
}, 10); // number: this.currentNumber,
} // ref: newElementRef // 存储 ref
// }
// ]
// }
// })
// , () => {
// // 在 setState 回调中执行动画
// this.currentArr = this.state.numElements;
// const element = newElementRef.current;
// if (element) {
// // 设置过渡效果
// element.style.transition = 'top 0.1s ease-in-out';
// // 延迟一小段时间以确保过渡效果生效
// setTimeout(() => {
// element.style.top = `${newTop}rem`; // 移动到新的 top 位置
// this.lastTop = newTop;
// }, 10);
// }
// });
}
updateNumElementsByOpt = (opt) => {
let { numElements } = this.state;
if (opt === 'minus' && this.currentArr.length > 1 && this.currentNumber != this.state.currentNum) {
// 如果是 minus 类型且数组长度大于 1,则减少一个元素
numElements = numElements.slice(0, this.currentArr.length - 1);
// this.divNum--;
} else if(opt === 'plus' && this.currentNumber > 0){
// 否则增加一个元素
// const lastTop = numElements.length > 0 ? parseFloat(numElements[numElements.length - 1].top) : 3.71;
const newTop = 3.71 - 0.1 * this.currentArr.length;
console.warn("newTop", newTop)
const newElementRef = React.createRef();
numElements = [
...numElements,
{
top: `${newTop}rem`,
number: this.currentNumber,
ref: newElementRef
}
];
// this.divNum++;
}
this.setState({ numElements }, () => {
this.currentArr = this.state.numElements;
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment