Commit 84d07777 authored by 徐士卿's avatar 徐士卿

merge

parents 951bad17 8d35c533
import MD from 'spark-utils/out/md/index.js'; import MD from "spark-utils/out/md/index.js";
import { logClick } from "@spark/utils/src-js/md";
import { logClick, logExposure } from "@spark/utils/src-js/md"; import { jsonp } from "@spark/api-base";
let appId = CFG.appID; let appId = CFG.appID;
const dcm = '202.' + CFG.projectId + '.0.0'; const dcm = "202." + CFG.projectId + ".0.0";
const domain = '//embedlog.duiba.com.cn'; const domain = "";
let MDList = [ let MDList = new Array(5).fill("").map((v, i) => {
{ return {
ele: `.test-md1`, ele: `.md${i + 1}`,
data: { data: {
dpm: `${appId}.110.5.1`, dpm: `${appId}.110.${i + 1}.1`,
dcm, dcm,
domain, domain,
appId appId,
}, },
once: false once: false,
} };
]; });
export default () => export default () =>
MD({ MD({
show: MDList, // 曝光 show: MDList, // 曝光
click: MDList // 点击 click: MDList, // 点击
}); });
export function logExposure(params) {
jsonp("/exposure/standard", params);
}
export function handleLogExposure(id, id2 = 1) { export function handleLogExposure(id, id2 = 1) {
logExposure({ logExposure({
dpm: `${appId}.110.${id}.${id2}`, dpm: `${appId}.110.${id}.${id2}`,
......
<!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/1744786454564/styles/main.b6a7ebe58b65c47acec2.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___ = 'origin%09http%3A%2F%2Fgitlab2.dui88.com%2Fsparkprojects%2FKWW-520NumberGuessingGame-20250409%20(fetch)%3Borigin%09http%3A%2F%2Fgitlab2.dui88.com%2Fsparkprojects%2FKWW-520NumberGuessingGame-20250409%20(push)%3Bmaster%3Bwangzhujun%3B';</script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744786454564/js/runtime-main.909d7fb7.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744786454564/js/vendors.4a95563e.js" crossorigin="anonymous"></script><script src="//yun.duiba.com.cn/spark/v2/temp_base/1744786454564/js/main.14ce7f9a.js" crossorigin="anonymous"></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){function r(r){for(var n,a,l=r[0],i=r[1],p=r[2],c=0,s=[];c<l.length;c++)a=l[c],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,p||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var i=t[l];0!==o[i]&&(n=!1)}n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={1:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,function(r){return e[r]}.bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="//yun.duiba.com.cn/spark/v2/temp_base/1744786454564/";var l=window.webpackJsonp=window.webpackJsonp||[],i=l.push.bind(l);l.push=r,l=l.slice();for(var p=0;p<l.length;p++)r(l[p]);var f=i;t()}([]);
//# sourceMappingURL=runtime-main.909d7fb7.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"js/runtime-main.909d7fb7.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"//yun.duiba.com.cn/spark/v2/temp_base/1744786454564/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{"numOfComponents":2451,"numOfProject":2070} {"numOfComponents":2451,"numOfProject":2158}
\ No newline at end of file \ No newline at end of file
...@@ -5,6 +5,7 @@ module.exports = { ...@@ -5,6 +5,7 @@ module.exports = {
"message": "cillum pariatur quis sit nostrud", "message": "cillum pariatur quis sit nostrud",
"success": true, "success": true,
"data": { "data": {
join: true,
"actStartTimestamp": 123, "actStartTimestamp": 123,
"boxInfo": [ "boxInfo": [
{ {
......
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
"version": "3.6.8", "version": "3.6.8",
"dependencies": { "dependencies": {
"@spark/api-base": "^2.0.7", "@spark/api-base": "^2.0.7",
"@spark/dbdomain": "^1.0.25",
"@spark/share": "^2.0.340",
"@spark/svgaplayer": "^2.0.5", "@spark/svgaplayer": "^2.0.5",
"@spark/ui": "^2.0.8", "@spark/ui": "^2.0.8",
"@spark/utils": "^2.0.17", "@spark/utils": "^2.0.17",
...@@ -2592,6 +2594,17 @@ ...@@ -2592,6 +2594,17 @@
"@spark/utils": "^2.0.81" "@spark/utils": "^2.0.81"
} }
}, },
"node_modules/@spark/api-common": {
"version": "2.0.22",
"resolved": "http://npm.dui88.com:80/@spark%2fapi-common/-/api-common-2.0.22.tgz",
"integrity": "sha512-lKTdfDhS38NrgEJaNagk1zgVX69hH8ZAi9vdpD3+G20EI5S+4W7bB/L+G9BpwsltJpeKAhOxnK0d31DGgD2zRg==",
"dependencies": {
"@spark/api-base": "^2.0.7",
"@spark/common-helpers": "^1.0.16",
"@spark/utils": "^2.0.22",
"duiba-utils": "^1.0.6"
}
},
"node_modules/@spark/code-comment": { "node_modules/@spark/code-comment": {
"version": "0.0.1-beta.5", "version": "0.0.1-beta.5",
"resolved": "http://npm.dui88.com:80/@spark%2fcode-comment/-/code-comment-0.0.1-beta.5.tgz", "resolved": "http://npm.dui88.com:80/@spark%2fcode-comment/-/code-comment-0.0.1-beta.5.tgz",
...@@ -2701,6 +2714,11 @@ ...@@ -2701,6 +2714,11 @@
"duiba-utils": "^1.0.6" "duiba-utils": "^1.0.6"
} }
}, },
"node_modules/@spark/dbdomain": {
"version": "1.0.25",
"resolved": "http://npm.dui88.com:80/@spark%2fdbdomain/-/dbdomain-1.0.25.tgz",
"integrity": "sha512-sOiwm3ihBJYpv97SFFfc2EHMCWws8xAxxAx5Q5yTteokvJMQKfoCzWXEm2q42zeITgzEjcoT5BjljnKb/qayGA=="
},
"node_modules/@spark/eslint-plugin-best-practices": { "node_modules/@spark/eslint-plugin-best-practices": {
"version": "0.0.1-beta.3", "version": "0.0.1-beta.3",
"resolved": "http://npm.dui88.com:80/@spark%2feslint-plugin-best-practices/-/eslint-plugin-best-practices-0.0.1-beta.3.tgz", "resolved": "http://npm.dui88.com:80/@spark%2feslint-plugin-best-practices/-/eslint-plugin-best-practices-0.0.1-beta.3.tgz",
...@@ -2754,6 +2772,18 @@ ...@@ -2754,6 +2772,18 @@
"@spark/utils": "^2.0.19" "@spark/utils": "^2.0.19"
} }
}, },
"node_modules/@spark/share": {
"version": "2.0.340",
"resolved": "http://npm.dui88.com:80/@spark%2fshare/-/share-2.0.340.tgz",
"integrity": "sha512-QcsKfi9PSmV9LI4WVCQjQ11FvVsGFp7AfvSw7P96VIiLLaAEzoKsVgpvMxa27iG4L3FYaLjkEUCsOgXLWxiR5Q==",
"dependencies": {
"@spark/api-base": "^2.0.2",
"@spark/api-common": "^2.0.17",
"@spark/utils": "^2.0.63",
"duiba-utils": "^1.0.11",
"light-sdk": "^2.0.24"
}
},
"node_modules/@spark/svgaplayer": { "node_modules/@spark/svgaplayer": {
"version": "2.0.5", "version": "2.0.5",
"resolved": "http://npm.dui88.com:80/@spark%2fsvgaplayer/-/svgaplayer-2.0.5.tgz", "resolved": "http://npm.dui88.com:80/@spark%2fsvgaplayer/-/svgaplayer-2.0.5.tgz",
...@@ -11400,6 +11430,11 @@ ...@@ -11400,6 +11430,11 @@
"resolved": "http://npm.dui88.com:80/libphonenumber-js/-/libphonenumber-js-1.12.6.tgz", "resolved": "http://npm.dui88.com:80/libphonenumber-js/-/libphonenumber-js-1.12.6.tgz",
"integrity": "sha512-PJiS4ETaUfCOFLpmtKzAbqZQjCCKVu2OhTV4SVNNE7c2nu/dACvtCqj4L0i/KWNnIgRv7yrILvBj5Lonv5Ncxw==" "integrity": "sha512-PJiS4ETaUfCOFLpmtKzAbqZQjCCKVu2OhTV4SVNNE7c2nu/dACvtCqj4L0i/KWNnIgRv7yrILvBj5Lonv5Ncxw=="
}, },
"node_modules/light-sdk": {
"version": "2.0.36",
"resolved": "http://npm.dui88.com:80/light-sdk/-/light-sdk-2.0.36.tgz",
"integrity": "sha512-r4OPZbYH9MEMUYXFd+gACyZLI41Jg+7OAwrh2jysKm3QayJqI5xOztJPrT7m1I+LHW56NVGSPpHvLd7wAXgbnw=="
},
"node_modules/lines-and-columns": { "node_modules/lines-and-columns": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "http://npm.dui88.com:80/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "resolved": "http://npm.dui88.com:80/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
......
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
}, },
"dependencies": { "dependencies": {
"@spark/api-base": "^2.0.7", "@spark/api-base": "^2.0.7",
"@spark/dbdomain": "^1.0.25",
"@spark/share": "^2.0.340",
"@spark/svgaplayer": "^2.0.5", "@spark/svgaplayer": "^2.0.5",
"@spark/ui": "^2.0.8", "@spark/ui": "^2.0.8",
"@spark/utils": "^2.0.17", "@spark/utils": "^2.0.17",
......
...@@ -9,6 +9,6 @@ module.exports ={ ...@@ -9,6 +9,6 @@ module.exports ={
"IMAGE_Q1": 0.6, "IMAGE_Q1": 0.6,
"IMAGE_Q2": 0.8, "IMAGE_Q2": 0.8,
"RES_PATH": "/src/assets/", "RES_PATH": "/src/assets/",
"RES_PATH_PROD": "//yun.duiba.com.cn/spark/v2/temp_base/1744594524476", "RES_PATH_PROD": "//yun.duiba.com.cn/spark/v2/temp_base/1744685571710",
"JS_PATH_PROD": "https://yun.duiba.com.cn/spark/v2/temp_base/1744622951998/js" "JS_PATH_PROD": "https://yun.duiba.com.cn/spark/v2/temp_base/1744786454564/js"
} }
\ No newline at end of file
...@@ -34,7 +34,8 @@ const pageMap = { ...@@ -34,7 +34,8 @@ const pageMap = {
class App extends Component { class App extends Component {
async componentDidMount() { async componentDidMount() {
// 获取前端开发配置,依据项目需要,酌情添加 !!! // 获取前端开发配置,依据项目需要,酌情添加 !!!
// await store.getFrontVariable(); await store.getFrontVariable();
await store.doShare()
} }
render() { render() {
......
src/assets/homePahe/gameBarbg.png

131 KB | W: | H:

src/assets/homePahe/gameBarbg.png

120 KB | W: | H:

src/assets/homePahe/gameBarbg.png
src/assets/homePahe/gameBarbg.png
src/assets/homePahe/gameBarbg.png
src/assets/homePahe/gameBarbg.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -24,7 +24,7 @@ class Failpop extends React.Component { ...@@ -24,7 +24,7 @@ class Failpop extends React.Component {
} }
render() { render() {
return ( return (
<div className="failpop modal_center"> <div className="failpop modal_center md4">
<span className="bg"></span> <span className="bg"></span>
<Button className="close" onClick={this.closePop}></Button> <Button className="close" onClick={this.closePop}></Button>
<span className="lab">本次我赚了{this.props.popData.score}</span> <span className="lab">本次我赚了{this.props.popData.score}</span>
......
...@@ -8,19 +8,32 @@ import { Button } from '../Button'; ...@@ -8,19 +8,32 @@ import { Button } from '../Button';
import BarItem from '../barItem/barItem'; import BarItem from '../barItem/barItem';
import store from '@src/store'; import store from '@src/store';
import { PAGE_MAP } from '@src/utils/constants'; import { PAGE_MAP } from '@src/utils/constants';
import { toJS } from 'mobx';
@observer @observer
class Successpop extends React.Component { class Successpop extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
} }
componentDidMount() {
let list = store.homeInfo?.boxInfo;
for (let i = 0; i < list.length; i++) {
if (this.props.popData.score < list[i].score) {
list[i].receive = false
}else {
list[i].receive = true
}
}
console.info(toJS(store.homeInfo?.boxInfo))
}
closePop() { closePop() {
store.changePage(PAGE_MAP.HOME_PAGE); store.changePage(PAGE_MAP.HOME_PAGE);
modalStore.closePop("Successpop") modalStore.closePop("Successpop")
} }
render() { render() {
return ( return (
<div className="successpop modal_center"> <div className="successpop modal_center md3">
<Button className="close" onClick={this.closePop}></Button> <Button className="close" onClick={this.closePop}></Button>
<span className="bg"></span> <span className="bg"></span>
<div className="barbox"> <div className="barbox">
......
...@@ -96,10 +96,12 @@ class GamePage extends Component { ...@@ -96,10 +96,12 @@ class GamePage extends Component {
}, 1000); }, 1000);
} }
newNumber1 = 0;
newNumber2 = 0;
// 生成加减 // 生成加减
createAddition = () => { createAddition = () => {
this.leftSymbol = ''
// 随机生成加减 // 随机生成加减
let addition = Math.random() > 0.5 ? 'minus' : 'plus'; let addition = Math.random() > 0.5 ? 'minus' : 'plus';
if(this.firstInFlag) { if(this.firstInFlag) {
...@@ -113,10 +115,17 @@ class GamePage extends Component { ...@@ -113,10 +115,17 @@ class GamePage extends Component {
addition = 'minus'; addition = 'minus';
} }
this.currentOpt = addition; this.currentOpt = addition;
const symbolInfo1 = this.createSymbol(addition); const symbolInfo1 = this.createSymbol(addition, -1);
const symbolInfo2 = this.createSymbol(addition); this.leftSymbol = symbolInfo1.symbolName;
let symbolInfo2 = this.createSymbol(addition, 1);
// console.error(symbolInfo);
// this.newNumber1 = this.calcNum(symbolInfo1.symbolName, -1);
// this.newNumber2 = this.calcNum(symbolInfo2.symbolName, 1);
// while (this.newNumber1 === this.newNumber2) {
// symbolInfo2 = this.createSymbol(addition, 1);
// this.newNumber2 = this.calcNum(symbolInfo2.symbolName, 1);
// }
console.error(symbolInfo1, symbolInfo2);
this.setState({ this.setState({
addition, addition,
...@@ -132,10 +141,32 @@ class GamePage extends Component { ...@@ -132,10 +141,32 @@ class GamePage extends Component {
} }
leftSymbol = ''
// 生成计算字符 // 生成计算字符
createSymbol = (addition) => { createSymbol = (addition, pos) => {
const probabilityList = addition == 'plus' ? plusProbability : minusProbability; let probabilityList = addition == 'plus' ? plusProbability : minusProbability;
if(this.currentNumber < 20) {
probabilityList = probabilityList.filter(item => item.name!='division')
}
if(this.currentNumber < 600) {
probabilityList = probabilityList.filter(item => (item.name!='minus' && item.name!='minusDouble'))
}
if(pos == 1) {
probabilityList = probabilityList.filter(item => item.name != this.leftSymbol)
if(this.leftSymbol == 'division') {
probabilityList = probabilityList.filter(item => item.name!= 'multiplyFen')
}
if(this.leftSymbol == 'multiplyFen') {
probabilityList = probabilityList.filter(item => item.name!='division')
}
}
console.error("看看可选的列表", probabilityList, addition, this.leftSymbol, pos == 1 ? '右' : '左');
let probability = Math.random(); let probability = Math.random();
...@@ -148,16 +179,26 @@ class GamePage extends Component { ...@@ -148,16 +179,26 @@ class GamePage extends Component {
if(probability <= 0) { if(probability <= 0) {
symbolText = probabilityList[i].symbolText; symbolText = probabilityList[i].symbolText;
symbolName = probabilityList[i].name; symbolName = probabilityList[i].name;
// if(pos == -1) this.leftSymbol = symbolName;
// console.error("leftSymbol", this.leftSymbol)
// if(pos == 1 && symbolName == this.leftSymbol) {
// if(i == probabilityList.length - 1) {
// symbolText = probabilityList[0].symbolText;
// symbolName = probabilityList[0].name;
// } else {
// symbolText = probabilityList[i + 1].symbolText;
// symbolName = probabilityList[i + 1].name;
// }
// }
break; break;
} }
} }
// console.error(symbolText, symbolName); // console.error(symbolText, symbolName);
return this.createNum({symbolName, symbolText}, pos);
return this.createNum({
symbolName,
symbolText,
})
} }
...@@ -167,12 +208,15 @@ class GamePage extends Component { ...@@ -167,12 +208,15 @@ class GamePage extends Component {
} }
// 生成任意的数字 // 生成任意的数字
createNum = (symbolInfo) => { createNum = (symbolInfo, pos) => {
// 这里分几种类型生成 都需要有范围限制 // 这里分几种类型生成 都需要有范围限制
const { currentNum, addition } = this.state; const { currentNum, addition } = this.state;
const symbolName = symbolInfo?.symbolName; const symbolName = symbolInfo?.symbolName;
const symbolText = symbolInfo?.symbolText; const symbolText = symbolInfo?.symbolText;
const operate = this.currentOpt == 'plus' ? 1 : -1;
const newNum1 = this.calcNum(symbolName, -1);
let number = 1; let number = 1;
...@@ -181,14 +225,35 @@ class GamePage extends Component { ...@@ -181,14 +225,35 @@ class GamePage extends Component {
switch(symbolName) { switch(symbolName) {
case 'plus': case 'plus':
case 'doublePlus': case 'doublePlus':
number = this.createSpecialNum(this.min - 1, this.max); number = this.createSpecialNum(this.min, this.max);
if(pos == 1) {
let newNum2 = this.currentNumber + number * operate;
if(symbolName == 'doublePlus') {
newNum2 = this.currentNumber + number * 2 * operate;
}
if(newNum1 == newNum2) {
number = this.createSpecialNum(this.min, number);
}
}
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, this.currentNumber)); number = this.createSpecialNum(this.min, Math.min(this.max, this.currentNumber));
if(pos == 1) {
let newNum2 = this.currentNumber - number;
if(newNum1 == newNum2) {
number = this.createSpecialNum(this.min, number);
}
}
break; break;
case 'multiplyZheng': case 'multiplyZheng':
number = this.createSpecialNum(1, 9); number = this.createSpecialNum(2, 9);
if(pos == 1) {
let newNum2 = this.currentNumber * number;
if(newNum1 == newNum2) {
number = number + 1;
}
}
break; break;
case 'multiplyFen': case 'multiplyFen':
if(this.currentOpt == 'plus') { if(this.currentOpt == 'plus') {
...@@ -204,15 +269,50 @@ class GamePage extends Component { ...@@ -204,15 +269,50 @@ class GamePage extends Component {
} }
console.error("fen1", fen1, "fen2", fen2) console.error("fen1", fen1, "fen2", fen2)
number = Math.round(fen2 / fen1); number = Math.round(fen2 / fen1);
// if(pos == 1) {
// let newNum2 = this.currentNumber * number;
// if(newNum1 == newNum2) {
// number = number + 1;
// }
// }
break; break;
case 'percent': case 'percent':
number = this.createSpecialNum(1, 100); number = this.createSpecialNum(1, 100);
if(pos == 1) {
let newNum2 = Math.round(this.currentNumber + 1 * operate * number * this.currentNumber / 100);
if(newNum1 == newNum2) {
if(number + 10 < 100) {
number = number + 10;
} else {
number = 10
}
}
}
break; break;
case 'division': case 'division':
number = 2; number = 2
if(pos == 1) {
let newNum2 = this.currentNumber * number;
if(newNum1 == newNum2) {
if(number + 4 < Math.floor(this.currentNumber / 2)) {
number = number + 4;
} else {
number = Math.floor(this.currentNumber / 4)
}
}
}
break; break;
case 'minusDouble': case 'minusDouble':
number = this.createSpecialNum(0, Math.min(99, Math.floor(this.currentNumber / 2))); number = this.createSpecialNum(0, Math.min(99, Math.floor(this.currentNumber / 2)));
if(pos == 1) {
let newNum2 = this.currentNumber - number * 2;
if(newNum1 == newNum2) {
number = this.createSpecialNum(0, number);
}
}
break; break;
} }
...@@ -230,7 +330,7 @@ class GamePage extends Component { ...@@ -230,7 +330,7 @@ class GamePage extends Component {
currentNumber = 1; currentNumber = 1;
currentOpt = 'plus' currentOpt = 'plus'
// 计算数字 // 计算数字
calcNum(symbolName, index) { calcNum(symbolName, index, yansuan) {
const {currentNum, symbolInfo1, symbolInfo2} = this.state; const {currentNum, symbolInfo1, symbolInfo2} = this.state;
let newNumber1 = this.currentNumber; let newNumber1 = this.currentNumber;
...@@ -245,17 +345,17 @@ class GamePage extends Component { ...@@ -245,17 +345,17 @@ class GamePage extends Component {
newNumber1 += symbolInfo?.number * operate; newNumber1 += symbolInfo?.number * operate;
break; break;
case 'multiplyZheng': case 'multiplyZheng':
newNumber1 += symbolInfo?.number * newNumber1 newNumber1 = symbolInfo?.number * newNumber1;
break; break;
case 'multiplyFen': case 'multiplyFen':
console.error("symonl fen2", symbolInfo?.fen2, "fen1", symbolInfo?.fen1, symbolInfo?.fen2 * newNumber1 / symbolInfo?.fen1) console.error("symonl fen2", symbolInfo?.fen2, "fen1", symbolInfo?.fen1, symbolInfo?.fen2 * newNumber1 / symbolInfo?.fen1)
newNumber1 += Math.round(symbolInfo?.fen2 * newNumber1 / symbolInfo?.fen1) * operate; newNumber1 = Math.round(symbolInfo?.fen2 * newNumber1 / symbolInfo?.fen1);
break; break;
case 'percent': case 'percent':
newNumber1 += Math.round(symbolInfo?.number * newNumber1 / 100) * operate ; newNumber1 = Math.round(newNumber1 + 1 * operate * symbolInfo?.number * newNumber1 / 100);
break; break;
case 'division': case 'division':
newNumber1 -= Math.round(newNumber1 / symbolInfo?.number); newNumber1 = Math.round(newNumber1 / symbolInfo?.number);
break; break;
case 'doublePlus': case 'doublePlus':
case 'minusDouble': case 'minusDouble':
...@@ -286,10 +386,14 @@ class GamePage extends Component { ...@@ -286,10 +386,14 @@ class GamePage extends Component {
const symbolName1 = symbolInfo1?.symbolName; const symbolName1 = symbolInfo1?.symbolName;
const symbolName2 = symbolInfo2?.symbolName; const symbolName2 = symbolInfo2?.symbolName;
const newNumber1 = this.calcNum(symbolName1, -1); let newNumber1 = this.calcNum(symbolName1, -1);
const newNumber2 = this.calcNum(symbolName2, 1); let newNumber2 = this.calcNum(symbolName2, 1);
// const newNumber1 = this.newNumber1;
// const newNumber2 = this.newNumber2;
console.error("左边", newNumber1, "右边", newNumber2) console.error("左边", newNumber1, "右边", newNumber2)
this.leftSymbol = ''
// 如果是加法 先判断选择的是不是比另一个大 如果不是那就不用计算了 // 如果是加法 先判断选择的是不是比另一个大 如果不是那就不用计算了
let correctIndex = '' let correctIndex = ''
if(addition == 'plus') { if(addition == 'plus') {
...@@ -324,8 +428,9 @@ class GamePage extends Component { ...@@ -324,8 +428,9 @@ class GamePage extends Component {
newNumber = index == -1 ? newNumber1 : newNumber2; newNumber = index == -1 ? newNumber1 : newNumber2;
this.currentNumber = newNumber; this.currentNumber = newNumber;
console.error("newNumber+++", this.currentNumber != this.state.currentNum)
if(this.currentOpt == 'plus' && this.currentNumber > 0) { if(this.currentOpt == 'plus' && this.currentNumber > 0 && this.currentNumber != this.state.currentNum) {
this.divNum++; this.divNum++;
} }
if(this.currentOpt == 'minus' && this.divNum > 1 && this.currentNumber != this.state.currentNum) { if(this.currentOpt == 'minus' && this.divNum > 1 && this.currentNumber != this.state.currentNum) {
......
...@@ -9,6 +9,9 @@ import store from '@src/store'; ...@@ -9,6 +9,9 @@ import store from '@src/store';
import { PAGE_MAP } from '@src/utils/constants'; import { PAGE_MAP } from '@src/utils/constants';
import { Toast } from '@spark/ui'; import { Toast } from '@spark/ui';
import BarItem from '@src/components/barItem/barItem'; import BarItem from '@src/components/barItem/barItem';
import { RES_PATH } from '../../../sparkrc';
import { SvgaPlayer } from '@spark/svgaplayer';
import { _asyncThrottle } from '@src/utils/utils';
@observer @observer
class Homepahe extends React.Component { class Homepahe extends React.Component {
...@@ -43,21 +46,22 @@ class Homepahe extends React.Component { ...@@ -43,21 +46,22 @@ class Homepahe extends React.Component {
} }
store.changePage(PAGE_MAP.DETAIL_PAGE) store.changePage(PAGE_MAP.DETAIL_PAGE)
} }
click_StartBtn() { click_StartBtn = _asyncThrottle(() => {
if (!store.checkTime()) { if (!store.checkTime()) {
return return
} }
// TODO 成长值没有 // TODO 成长值没有
// if(store.userInfo.growthValue < 100){ if (!store.homeInfo.join) {
// Toast("成长值不足,无法参与游戏") Toast("成长值不足,无法参与游戏")
// } return
}
store.startGame() store.startGame()
} })
render() { render() {
return ( return (
<div className="homepahe modal_center"> <div className="homepahe modal_center">
<span className="bg"></span> <span className="bg"></span>
<span className="show"></span> <SvgaPlayer className="show" src={RES_PATH + "svga/3输出首页氛围.svga"}></SvgaPlayer>
{ {
store.homeInfo.historyMaxScore != 0 && store.homeInfo.historyMaxScore != 0 &&
<div className="infobox"> <div className="infobox">
...@@ -66,10 +70,10 @@ class Homepahe extends React.Component { ...@@ -66,10 +70,10 @@ class Homepahe extends React.Component {
</div> </div>
} }
<span className="gamebarbg"></span> <span className="gamebarbg"></span>
<BarItem left={88} top={361} scaleNum={1} barInfo={store.homeInfo?.boxInfo} nowScore={store.homeInfo.historyMaxScore}></BarItem> <BarItem left={88} top={361} scaleNum={1} barInfo={store.homeInfo?.boxInfo} nowScore={store.homeInfo.todayMaxScore}></BarItem>
<Button className="startbtn" onClick={this.click_StartBtn}></Button> <SvgaPlayer className="startbtn md2" src={RES_PATH + "svga/1输出首页按钮.svga"} onClick={this.click_StartBtn}></SvgaPlayer>
<span className="title"></span> {/* <span className="title"></span> */}
<Button className="rule" onClick={this.click_Rule}></Button> <Button className="rule md1" onClick={this.click_Rule}></Button>
<Button className="rank" onClick={this.click_Rank}></Button> <Button className="rank" onClick={this.click_Rank}></Button>
<Button className="detail" onClick={this.click_Detail}></Button> <Button className="detail" onClick={this.click_Detail}></Button>
</div> </div>
......
...@@ -14,12 +14,12 @@ ...@@ -14,12 +14,12 @@
.sparkBg("homePahe/bg.png"); .sparkBg("homePahe/bg.png");
} }
.show { .show {
width: 482px; width: 750px;
height: 373px; height: 1624px;
left: 155px; left: 0px;
top: 598px; top: 0px;
position: absolute; position: absolute;
.sparkBg("homePahe/show.png"); // .sparkBg("homePahe/show.png");
} }
.infobox { .infobox {
width: 734px; width: 734px;
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
} }
.gamebarbg { .gamebarbg {
width: 640px; width: 640px;
height: 289px; height: 244px;
left: 52px; left: 52px;
top: 310px; top: 310px;
position: absolute; position: absolute;
...@@ -57,12 +57,12 @@ ...@@ -57,12 +57,12 @@
} }
.startbtn { .startbtn {
width: 451px; width: 613px;
height: 128px; height: 216px;
left: 150px; left: 68px;
top: 1330px; top: 1330px;
position: absolute; position: absolute;
.sparkBg("homePahe/startBtn.png"); // .sparkBg("homePahe/startBtn.png");
} }
.title { .title {
width: 598px; width: 598px;
...@@ -76,24 +76,24 @@ ...@@ -76,24 +76,24 @@
width: 102px; width: 102px;
height: 48px; height: 48px;
left: 499px; left: 499px;
top: 50px; top: 30px;
position: absolute; position: fixed;
.sparkBg("homePahe/rule.png"); .sparkBg("homePahe/rule.png");
} }
.rank { .rank {
width: 102px; width: 102px;
height: 48px; height: 48px;
left: 621px; left: 621px;
top: 50px; top: 30px;
position: absolute; position: fixed;
.sparkBg("homePahe/rank.png"); .sparkBg("homePahe/rank.png");
} }
.detail { .detail {
width: 180px; width: 180px;
height: 48px; height: 48px;
left: 25px; left: 25px;
top: 50px; top: 30px;
position: absolute; position: fixed;
.sparkBg("homePahe/detail.png"); .sparkBg("homePahe/detail.png");
} }
} }
...@@ -5,6 +5,8 @@ import { GetCurrSkinId, getCustomShareId } from "@src/utils/utils"; ...@@ -5,6 +5,8 @@ import { GetCurrSkinId, getCustomShareId } from "@src/utils/utils";
import { Toast } from '@spark/ui'; import { Toast } from '@spark/ui';
import modalStore from './modal'; import modalStore from './modal';
import { AESDecrypt, AESEncrypt } from '@src/utils/Crypto'; import { AESDecrypt, AESEncrypt } from '@src/utils/Crypto';
import { getDomain } from '@spark/dbdomain';
import { miniDoShare } from '@src/utils/share';
const skinId = GetCurrSkinId() || getCustomShareId(); const skinId = GetCurrSkinId() || getCustomShareId();
...@@ -108,7 +110,23 @@ const store = makeAutoObservable({ ...@@ -108,7 +110,23 @@ const store = makeAutoObservable({
} }
// modalStore.pushPop("Successpop", data) // modalStore.pushPop("Successpop", data)
// modalStore.pushPop("Failpop", data) // modalStore.pushPop("Failpop", data)
} },
/** 分享 */
async doShare() {
const { shareInfo } = store.frontVariable;
const domain = await getDomain(); //获取域名
let _url = `${domain}/projectx/${CFG.projectId}/index.html?appID=${CFG.appID}`;
const shareUrl = `${(domain || location.origin)}${CFG.loginMidUrl}${encodeURIComponent(_url)}`;
// 分享方法
console.info(shareInfo)
const _shareInfo = {
title: shareInfo?.title,
desc: shareInfo?.content,
imgUrl: shareInfo?.thumbnail,
link: shareUrl
}
miniDoShare(_shareInfo)
},
}) })
export default store; export default store;
Active code page: 65001
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