Commit dbaa04e9 authored by wangzhujun's avatar wangzhujun
parents 1c6ebd11 a386e1cb
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/1744870453708/";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.e67d21f5.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.e67d21f5.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/1744870453708/\";\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":5048,"numOfProject":2177}
\ No newline at end of file
{"numOfComponents":5048,"numOfProject":2231}
\ No newline at end of file
......@@ -9,6 +9,6 @@ module.exports ={
"IMAGE_Q1": 0.6,
"IMAGE_Q2": 0.8,
"RES_PATH": "/src/assets/",
"RES_PATH_PROD": "//yun.duiba.com.cn/spark/v2/temp_base/1744798278913",
"JS_PATH_PROD": "https://yun.duiba.com.cn/spark/v2/temp_base/1744855656929/js"
"RES_PATH_PROD": "//yun.duiba.com.cn/spark/v2/temp_base/1744870442701",
"JS_PATH_PROD": "https://yun.duiba.com.cn/spark/v2/temp_base/1744870453708/js"
}
\ No newline at end of file
{"preLoadImg":[],"asyncLoadImg":["detailPage/back.png","detailPage/bg.png","detailPage/border.png","detailPage/headline.png","detailPage/line.png","failPop/bg.png","failPop/close.png","failPop/endbtn.png","failPop/goonbtn.png","gamePage/bg.jpg","gamePage/countBg.png","gamePage/guide.jpg","gamePage/minus.png","gamePage/minus2.png","gamePage/numberBg.png","gamePage/plus.png","gamePage/plus2.png","gamePage/selectBg.png","homePahe/bardown.png","homePahe/baron.png","homePahe/bg.png","homePahe/box1.png","homePahe/box2.png","homePahe/box3.png","homePahe/box4.png","homePahe/close1.png","homePahe/close2.png","homePahe/close3.png","homePahe/close4.png","homePahe/detail.png","homePahe/gameBarbg.png","homePahe/infobg.png","homePahe/open1.png","homePahe/open2.png","homePahe/open3.png","homePahe/open4.png","homePahe/prizebg.png","homePahe/rank.png","homePahe/rule.png","homePahe/show.png","homePahe/startBtn.png","homePahe/title.png","loading/bardown.png","loading/baron.png","loading/bg.png","loading/ip.png","loading/title.png","LoadingPage/loadingBg.jpg","LoadingPage/loadingFill.png","LoadingPage/loadingIp.png","rankPage/back.png","rankPage/bg.png","rankPage/border.png","rankPage/headnline.png","rankPage/line.png","rankPage/ownbg.png","rulePop/bg.png","rulePop/close.png","successPop/bar.png","successPop/barbg.png","successPop/bg.png","successPop/btn.png","successPop/close.png","svga/1输出首页按钮.svga","svga/2输出礼盒光圈.svga","svga/32输出首页氛围.svga","svga/3输出首页氛围.svga","svga/4输出引导.svga","svga/5倒计时.svga","svga/6输出选中动效.svga","svga/7输出选错.svga"]}
\ No newline at end of file
{"preLoadImg":[],"asyncLoadImg":["detailPage/back.png","detailPage/bg.png","detailPage/border.png","detailPage/headline.png","detailPage/line.png","failPop/bg.png","failPop/close.png","failPop/endbtn.png","failPop/goonbtn.png","gamePage/bg.jpg","gamePage/countBg.png","gamePage/guide.jpg","gamePage/minus.png","gamePage/minus2.png","gamePage/numberBg.png","gamePage/plus.png","gamePage/plus2.png","gamePage/selectBg.png","homePahe/bardown.png","homePahe/baron.png","homePahe/bg.png","homePahe/box1.png","homePahe/box2.png","homePahe/box3.png","homePahe/box4.png","homePahe/close1.png","homePahe/close2.png","homePahe/close3.png","homePahe/close4.png","homePahe/detail.png","homePahe/gameBarbg.png","homePahe/infobg.png","homePahe/open1.png","homePahe/open2.png","homePahe/open3.png","homePahe/open4.png","homePahe/prizebg.png","homePahe/rank.png","homePahe/rule.png","homePahe/show.png","homePahe/startBtn.png","homePahe/title.png","loading/bardown.png","loading/baron.png","loading/bg.png","loading/ip.png","loading/title.png","LoadingPage/loadingBg.jpg","LoadingPage/loadingFill.png","LoadingPage/loadingIp.png","rankPage/back.png","rankPage/bg.png","rankPage/border.png","rankPage/headnline.png","rankPage/line.png","rankPage/ownbg.png","rulePop/bg.png","rulePop/close.png","successPop/bar.png","successPop/barbg.png","successPop/bg.png","successPop/btn.png","successPop/close.png","svga/1输出首页按钮.svga","svga/2输出礼盒光圈.svga","svga/32输出首页氛围.svga","svga/3输出首页氛围.svga","svga/4输出引导.svga","svga/5倒计时.svga","svga/6输出选中动效.svga","svga/7输出选错.svga"]}
......@@ -247,7 +247,7 @@ class GamePage extends Component {
}
break;
case 'multiplyZheng':
number = this.createSpecialNum(2, 9);
number = this.createSpecialNum(2, 4);
if(pos == 1) {
let newNum2 = this.currentNumber * number;
if(newNum1 == newNum2) {
......@@ -403,6 +403,7 @@ class GamePage extends Component {
}
if(correctIndex != index && newNumber1 != newNumber2) {
console.error("选择错误", correctIndex, index)
store.playWrongSound();
this.setState({
selectIndex: index,
correctIndex
......@@ -422,6 +423,7 @@ class GamePage extends Component {
} else {
correctIndex = index == 1 ? -1 : 1;
store.playWrongSound();
}
......@@ -441,7 +443,7 @@ class GamePage extends Component {
// this.createNewElement();
this.updateNumElementsByOpt(this.currentOpt);
if(correctIndex === index) store.playRightSound();
// console.warn("newNumber", this.currentNumber)
this.setState({
selectIndex: index,
......
......@@ -139,7 +139,7 @@
line-height: 112px;
text-align: center;
left: 20px;
top: 44px;
top: 48px;
font-size: 44px;
font-weight: bold;
color: #10631c;
......@@ -154,6 +154,7 @@
height: 30px;
line-height: 30px;
border-bottom: 3px solid #10631c;
font-size: 38px;
}
.fen2 {
......@@ -161,6 +162,7 @@
width: 60px;
height: 30px;
line-height: 30px;
font-size: 38px;
}
}
}
......@@ -202,7 +204,7 @@
line-height: 112px;
text-align: center;
left: 20px;
top: 44px;
top: 48px;
font-size: 44px;
font-weight: bold;
color: #792818;
......@@ -217,6 +219,7 @@
height: 30px;
line-height: 30px;
border-bottom: 3px solid #792818;
font-size: 38px;
}
.fen2 {
......@@ -224,6 +227,7 @@
width: 60px;
height: 30px;
line-height: 30px;
font-size: 38px;
}
}
}
......@@ -320,7 +324,7 @@
line-height: 112px;
text-align: center;
left: 20px;
top: 44px;
top: 48px;
font-size: 44px;
font-weight: bold;
color: #10631c;
......@@ -335,6 +339,7 @@
height: 30px;
line-height: 30px;
border-bottom: 3px solid #10631c;
font-size: 38px;
}
.fen2 {
......@@ -342,6 +347,7 @@
width: 60px;
height: 30px;
line-height: 30px;
font-size: 38px;
}
}
}
......@@ -377,7 +383,7 @@
line-height: 112px;
text-align: center;
left: 20px;
top: 44px;
top: 48px;
font-size: 44px;
font-weight: bold;
color: #792818;
......@@ -391,6 +397,7 @@
width: 60px;
height: 30px;
line-height: 30px;
font-size: 38px;
border-bottom: 3px solid #792818;
}
......@@ -398,6 +405,7 @@
padding-top: 10px;
width: 60px;
height: 30px;
font-size: 38px;
line-height: 30px;
}
}
......
import { PAGE_MAP } from '@src/utils/constants';
import { MUSIC_URL, PAGE_MAP } from '@src/utils/constants';
import { makeAutoObservable } from 'mobx';
import API from '../api/index';
import { GetCurrSkinId, getCustomShareId } from "@src/utils/utils";
import { GetCurrSkinId, getCustomShareId, getMusic } from "@src/utils/utils";
import { Toast } from '@spark/ui';
import modalStore from './modal';
import { AESDecrypt, AESEncrypt } from '@src/utils/Crypto';
......@@ -79,7 +79,7 @@ const store = makeAutoObservable({
this.submitFlag = false
const { success, data } = await API.startGame()
if (success) {
if(location.href.indexOf('localhost') > -1) {
if(location.href.indexOf('localhost') > -1 || location.href.indexOf('172') > -1) {
this.startInfo = data
} else {
this.startInfo = JSON.parse(AESDecrypt(data, '3C8C48E792E9241B', 'cDOiBC1n2QrkAY2P'));
......@@ -136,5 +136,25 @@ const store = makeAutoObservable({
miniDoShare(_shareInfo)
},
isPlay: true,
async playRightSound() {
// if (this.isPlay) {
const aniSound = await getMusic(MUSIC_URL.RIGHT_EFFECT)
console.error("zhengque", aniSound)
aniSound.play()
aniSound.loop = false
// }
},
async playWrongSound() {
// if (this.isPlay) {
const aniSound = await getMusic(MUSIC_URL.WRONG_EFFECT)
console.error("cuowu", aniSound)
aniSound.play()
aniSound.loop = false
// }
},
})
export default store;
......@@ -5,6 +5,9 @@
* @LastEditors: super
* @Description:
*/
import { RES_PATH } from "../../sparkrc";
/**
* 弹窗优先级 可以是负数, 不写默认是10, 数值越小,层级越高
*/
......@@ -22,3 +25,10 @@ export const PAGE_MAP = {
GAME_PAGE: "gamePage",
};
export const MUSIC_URL = {
RIGHT_EFFECT: RES_PATH + 'svga/corrent.mp3',
WRONG_EFFECT: RES_PATH + "svga/wrong.mp3",
}
......@@ -2,7 +2,7 @@ import { loadSvga } from '@spark/svgaplayer'
// import * as FYGE from 'fyge';
// import { Howl } from 'howler';
import { RES_PATH } from '../../sparkrc'
import { isIOS } from '@spark/utils';
/**
* 预加载资源(/png|jpg|jpeg|svga|spi|json|mp3|wav/)
* @param {string[]} urlList 资源地址列表
......@@ -140,22 +140,27 @@ function loadOneSvga(url) {
// })
// }
// /**
// * 加载一个音频
// * @param {string} url 地址
// */
// function loadOneAudio(url) {
// return new Promise(resolve => {
// const sound = new Howl({
// src: url,
// onload: () => resolve(sound),
// onloaderror: err => {
// console.warn('load fail', url, err);
// resolve(false);
// },
// });
// })
// }
/**
* 加载一个音频
* @param {string} url 地址
*/
export function loadOneAudio(url, loop = false) {
return new Promise(resolve => {
console.error('loadOneAudio', url, url.indexOf('home') >= 0 || url.indexOf('answer') >= 0);
const sound = new Howl({
src: url,
html5: isIOS,
preload: true,
autoplay: false,
// loop: loop,
onload: () => resolve(sound),
onloaderror: err => {
console.warn('load fail', url, err);
resolve(false);
},
});
})
}
......@@ -6,6 +6,7 @@
* @Description:
*/
import { useRef, useEffect, useCallback } from "react";
import { loadOneAudio } from "./preload1.3";
export function getQueryString(params){
......@@ -433,3 +434,15 @@ export const getCustomShareId = () => {
const windowJumpUrl = (url) => {
url && (location.href = url);
};
export const loadedRes = {}
export const getMusic = async (url, loop) => {
if (loadedRes[url]) {
return loadedRes[url];
}
const music = await loadOneAudio(url, loop);
if (!loadedRes[url]) {
loadedRes[url] = music
}
return loadedRes[url];
}
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