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}}
>>>>>>> 1d3ca4155556fe453d55d85d7c8ab4d7706f38ef
......@@ -171,7 +171,7 @@ class GamePage extends Component {
break;
case 'minus':
// 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;
case 'multiplyZheng':
number = this.createSpecialNum(1, 9);
......@@ -189,24 +189,7 @@ class GamePage extends Component {
fen2 = this.createSpecialNum(1, Math.max(1, fen1 - 1));
}
number = 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;
// }
number = Math.round(fen2 / fen1);
break;
case 'percent':
number = this.createSpecialNum(1, 100);
......@@ -214,22 +197,11 @@ class GamePage extends Component {
case 'division':
number = 2;
break;
// case 'multiplyFen':
// fen1 = this.createSpecialNum(2, 9);
// fen2 = this.createSpecialNum(1, Math.max(1, fen1_m - 1));
// number = fen2 / fen1;
// break;
case 'minusDouble':
// const _maxD = Math.floor(currentNum / 4);
// number = this.createSpecialNum(0, _maxD);
number = this.createSpecialNum(0, Math.min(99, Math.floor(currentNum / 2)));
number = this.createSpecialNum(0, Math.min(99, Math.floor(this.currentNumber / 2)));
break;
}
// console.error(number);
return {
number,
fen1,
......@@ -262,7 +234,7 @@ class GamePage extends Component {
newNumber1 += symbolInfo?.number * newNumber1
break;
case 'multiplyFen':
newNumber1 += Math.round(symbolInfo?.fen2 / symbolInfo?.fen1 * newNumber1) * operate;
newNumber1 += Math.round(symbolInfo?.fen2 * newNumber1 / symbolInfo?.fen1) * operate;
break;
case 'percent':
newNumber1 += Math.round(symbolInfo?.number * newNumber1 / 100) * operate ;
......@@ -292,7 +264,7 @@ class GamePage extends Component {
let newNumber = this.currentNumber;
// const symbolInfo = index == -1 ? symbolInfo1 : symbolInfo2;
const symbolInfo = index == -1 ? symbolInfo1 : symbolInfo2;
const operate = addition == 'plus' ? 1 : -1;
......@@ -314,10 +286,11 @@ class GamePage extends Component {
setTimeout(() => {
this.createAddition();
this.canChoose = true
this.setState({
selectIndex: 0,
})
this.canChoose = true
}, 500)
return
......@@ -333,11 +306,13 @@ class GamePage extends Component {
if(this.currentOpt == 'plus' && this.currentNumber > 0) {
this.divNum++;
}
if(this.currentOpt == 'minus' && this.divNum > 1) {
if(this.currentOpt == 'minus' && this.divNum > 1 && this.currentNumber != this.state.currentNum) {
this.divNum--;
}
this.createNewElement();
console.error("divNum", this.divNum)
// this.createNewElement();
this.updateNumElementsByOpt(this.currentOpt);
// console.warn("newNumber", this.currentNumber)
......@@ -352,9 +327,13 @@ class GamePage extends Component {
this.setState({
selectIndex: 0,
})
}, 500)
}
currentArr = [{
top: '3.71rem'
}]
lastTop = 3.71;
divNum = 0;
// 创建新的元素进行叠加
......@@ -363,13 +342,13 @@ class GamePage extends Component {
// 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--;
newArr = newArr.slice(0, newArr.length - 1);
console.warn("numElements", newArr, newArr.length - 1)
this.setState({
numElements: newArr
})
......@@ -379,37 +358,80 @@ class GamePage extends Component {
const lastTop = newArr.length > 0 ? parseFloat(newArr[newArr.length - 1].top) : 3.71;
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)
// 创建一个新的 ref 来存储新元素
const newElementRef = React.createRef();
this.setState(prevState => {
return {
this.setState({
numElements: [
...newArr,
...numElements,
{
top: `${this.lastTop}rem`, // 初始位置为上一个元素的 top 位置
top: `${newTop}rem`, // 初始位置为上一个元素的 top 位置
number: this.currentNumber,
ref: newElementRef // 存储 ref
}
]
}
}, () => {
// 在 setState 回调中执行动画
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);
this.currentArr = this.state.numElements;
})
// this.setState(prevState => {
// return {
// numElements: [
// ...prevState.numElements,
// {
// top: `${newTop}rem`, // 初始位置为上一个元素的 top 位置
// 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