Commit c48d34a0 authored by haiyoucuv's avatar haiyoucuv

init

parent a21004c8
...@@ -22,7 +22,7 @@ import Prizepage from "./pages/prizepage/prizepage"; ...@@ -22,7 +22,7 @@ import Prizepage from "./pages/prizepage/prizepage";
import Userhomepage from "./pages/userhomepage/userhomepage"; import Userhomepage from "./pages/userhomepage/userhomepage";
import shareStore from "./store/share"; import shareStore from "./store/share";
import { isWeChat, onInitShare, onUpdateShare } from "./utils/share"; import { isWeChat, onInitShare, onUpdateShare } from "./utils/share";
import { isMiniprogram } from "./utils/utils"; import { getUrlParam, isMiniprogram } from "./utils/utils";
import { domain, ensureDomain } from "@spark/dbdomain"; import { domain, ensureDomain } from "@spark/dbdomain";
/** /**
...@@ -59,20 +59,16 @@ class App extends Component { ...@@ -59,20 +59,16 @@ class App extends Component {
// 初始化分享 // 初始化分享
let shareUrl = `${CFG.domain}${CFG.shareUrl}`; let shareUrl = `${CFG.domain}${CFG.shareUrl}`;
shareUrl += `&ykCode=${CFG.workerCode || CFG.agentCode || ""}`; shareUrl += `&ykCode=${CFG.workerCode || CFG.agentCode || ""}`;
shareUrl += `&channel=${CFG.defaultChannel}&agentCode=${CFG.agentCode || ""}&actPlatforms=${CFG.actPlatforms || "" shareUrl += `&channel=${CFG.defaultChannel}&agentCode=${CFG.agentCode || ""}&actPlatforms=${CFG.actPlatforms || ""}&actId=${CFG.actId || ""}`;
}&actId=${CFG.actId || ""}`;
onUpdateShare({ onUpdateShare({
...JSON.parse(store.frontVariable.shareInfo), ...JSON.parse(store.frontVariable.shareInfo),
url: `${CFG.domain}${CFG.indexLogin}${encodeURIComponent(shareUrl)}`, url: `${CFG.domain}${CFG.indexLogin}${encodeURIComponent(shareUrl)}`,
}); });
} else if (store.curPage == PAGE_MAP.SHARE_PAGE) { } else if (store.curPage == PAGE_MAP.SHARE_PAGE) {
let shareUrl = `${CFG.domain}${CFG.shareUrl}${getUrlParam("inviteCode") ? "&inviteCode=" + getUrlParam("inviteCode") : "" let shareUrl = `${CFG.domain}${CFG.shareUrl}${getUrlParam("inviteCode") ? "&inviteCode=" + getUrlParam("inviteCode") : ""}${getUrlParam("worksNum") ? "&worksNum=" + getUrlParam("worksNum") : ""}`;
}${getUrlParam("worksNum") ? "&worksNum=" + getUrlParam("worksNum") : ""
}`;
shareUrl += `&ykCode=${CFG.workerCode || CFG.agentCode || ""}`; shareUrl += `&ykCode=${CFG.workerCode || CFG.agentCode || ""}`;
if (CFG.channel) if (CFG.channel)
shareUrl += `&channel=${CFG.defaultChannel}&agentCode=${CFG.agentCode || ""}&actPlatforms=${CFG.actPlatforms || "" shareUrl += `&channel=${CFG.defaultChannel}&agentCode=${CFG.agentCode || ""}&actPlatforms=${CFG.actPlatforms || ""}&actId=${CFG.actId || ""}`;
}&actId=${CFG.actId || ""}`;
let _shareInfo = JSON.parse(store.frontVariable.shareInfo); let _shareInfo = JSON.parse(store.frontVariable.shareInfo);
if(getUrlParam("worksNum")) { if(getUrlParam("worksNum")) {
_shareInfo = JSON.parse(store.frontVariable.shareInfoZan); _shareInfo = JSON.parse(store.frontVariable.shareInfoZan);
......
{"preLoadImg":[],"asyncLoadImg":["AssistCountPanel/bg.png","AssistCountPanel/我知道了.png","CarvePanel/bg.png","CarvePanel/btn.png","CodePop/bg.png","CodePop/code.png","FillAddress/填写收货地址.png","FillAddress/提交信息按钮-不可点击.png","FillAddress/提交信息按钮-可点击.png","FillAddress/直线.png","FillAddress/返回按钮.png","FillAddress/选择按钮.png","LoadingPage/loadingBg.jpg","LoadingPage/loadingFill.png","LoadingPage/loadingIp.png","LoginPop/bg.png","LoginPop/canSubmitBtn.png","LoginPop/cannotSubmit.png","NoPrizeCard/bg.png","NoPrizeCard/bg2.png","NoPrizeCard/exchange.png","NoPrizeCard/exchange2.png","NoPrizeCard/line.png","NoPrizeCard/picture.png","NoPrizeCard/picture2.png","NoPrizeCard/prizeImg.png","NoPrizeCard/text1.png","NoPrizeCard/text2.png","NoPrizeCard/text3.png","NoPrizeCard/text4.png","PrizePage/back.png","PrizePage/bg.png","PrizePage/bg_item.png","PrizePage/empty.png","PrizePage/go-btn.png","PrizePage/gray_btn.png","PrizePage/img.png","RankNoPrizePop/bg.png","RankNoPrizePop/know.png","RankPrizePop/bg.png","RankPrizePop/light.png","RankPrizePop/prizePicture.png","RulePop/bg.png","TaskPop/already_btn.png","TaskPop/bg.png","TaskPop/bg_item.png","TaskPop/close.png","TaskPop/complete_btn.png","TaskPop/receive_btn.png","common/back.png","common/closeBtn.png","common/happyBtn.png","common/light.png","common/task.png","drawChancePop/bg.png","drawChancePop/know_btn.png","drawChancePop/light.png","drawPage/bg.png","drawPage/cover.png","drawPage/draw_btn.png","drawPage/pointer.png","drawPage/prize_info_bg.png","drawPage/prize_info_laba.png","drawPage/turantable_bg.png","drawPage/turantable_box.png","likeLogPage/back.png","likeLogPage/bg.png","likeLogPage/list_bg.png","likeLogPage/title.png","music/bgm.mp3","pop_winPrize/prizeImg.png","pop_winPrize/wp_background.png","pop_winPrize/wp_closeButton.png","pop_winPrize/wp_light.png","pop_winPrize/wp_receiveButton.png","sharePage/agentBg.png","sharePage/assist_btn.png","sharePage/assist_text.png","sharePage/bg.png","sharePage/btn.png","sharePage/hand.png","sharePage/join_btn.png","sharePage/logo.png","sharePage/normal.png","sharePage/share_btn.png","sharePage/zanBg.png","sharePage/zanBtn.png","svga/1输出分析好友.svga","svga/2输出拜访.svga","svga/3输出首页氛围.svga","svga/4输出弹窗氛围.svga","svga/5输出展开.svga","svga/6输出切换.svga","svga/7输出抽奖.svga","userHomePage/bg.jpg","userHomePage/logo.png","userHomePage/prizeBg.png","userHomePage/prizeBg1.png","userHomePage/prizeBg2.png","userHomePage/prizeBg3.png","userHomePage/prizeBg4.png","userHomePage/rank1.png","userHomePage/rank2.png","userHomePage/rank3.png","userHomePage/rankTitle.png","userHomePage/rankTop.png","userHomePage/subBg.png","userHomePage/timeNumBg.png","userHomePage/uidbg.png","userHomePage/分享好友.png","userHomePage/奖品.png","userHomePage/抽奖.png","userHomePage/拜访清单.png","userHomePage/按钮.png","userHomePage/标题.png","userHomePage/瓜分攻略.png","userHomePage/规则.png","userHomePage/邀请明细.png","yinsirulepop/bg.png","yinsirulepop/btn.png"]} {"preLoadImg":[],"asyncLoadImg":["AssistCountPanel/bg.png","AssistCountPanel/我知道了.png","AssistSucPanel/bg.png","AssistSucPanel/btn.png","CarvePanel/bg.png","CarvePanel/btn.png","CodePop/bg.png","CodePop/code.png","common/back.png","common/closeBtn.png","common/happyBtn.png","common/light.png","common/task.png","drawChancePop/bg.png","drawChancePop/know_btn.png","drawChancePop/light.png","drawPage/bg.png","drawPage/cover.png","drawPage/draw_btn.png","drawPage/pointer.png","drawPage/prize_info_bg.png","drawPage/prize_info_laba.png","drawPage/turantable_bg.png","drawPage/turantable_box.png","FillAddress/填写收货地址.png","FillAddress/提交信息按钮-不可点击.png","FillAddress/提交信息按钮-可点击.png","FillAddress/直线.png","FillAddress/返回按钮.png","FillAddress/选择按钮.png","likeLogPage/back.png","likeLogPage/bg.png","likeLogPage/list_bg.png","likeLogPage/title.png","LoadingPage/loadingBg.jpg","LoadingPage/loadingFill.png","LoadingPage/loadingIp.png","LoginPop/bg.png","LoginPop/cannotSubmit.png","LoginPop/canSubmitBtn.png","music/bgm.mp3","NoPrizeCard/bg.png","NoPrizeCard/exchange.png","NoPrizeCard/exchange2.png","NoPrizeCard/line.png","NoPrizeCard/picture.png","NoPrizeCard/picture2.png","NoPrizeCard/prizeImg.png","NoPrizeCard/text1.png","NoPrizeCard/text2.png","NoPrizeCard/text3.png","NoPrizeCard/text4.png","pop_winPrize/prizeImg.png","pop_winPrize/wp_background.png","pop_winPrize/wp_closeButton.png","pop_winPrize/wp_light.png","pop_winPrize/wp_receiveButton.png","PrizePage/back.png","PrizePage/bg.png","PrizePage/bg_item.png","PrizePage/empty.png","PrizePage/go-btn.png","PrizePage/gray_btn.png","PrizePage/img.png","RankNoPrizePop/bg.png","RankNoPrizePop/btn.png","RankPrizePop/bg.png","RankPrizePop/btn.png","RankPrizePop/light.png","RulePop/bg.png","sharePage/assist_text.png","sharePage/bg.jpg","sharePage/为他助力.png","sharePage/分享活动.png","sharePage/立即参与.png","svga/1输出分析好友.svga","svga/2输出拜访.svga","svga/3输出首页氛围.svga","svga/4输出弹窗氛围.svga","svga/5输出展开.svga","svga/6输出切换.svga","svga/7输出抽奖.svga","TaskPop/already_btn.png","TaskPop/bg.png","TaskPop/bg_item.png","TaskPop/close.png","TaskPop/complete_btn.png","TaskPop/receive_btn.png","userHomePage/bg.jpg","userHomePage/logo.png","userHomePage/prizeBg.png","userHomePage/prizeBg1.png","userHomePage/prizeBg2.png","userHomePage/prizeBg3.png","userHomePage/prizeBg4.png","userHomePage/rank1.png","userHomePage/rank2.png","userHomePage/rank3.png","userHomePage/rankTitle.png","userHomePage/rankTop.png","userHomePage/subBg.png","userHomePage/timeNumBg.png","userHomePage/uidbg.png","userHomePage/分享好友.png","userHomePage/奖品.png","userHomePage/抽奖.png","userHomePage/拜访清单.png","userHomePage/按钮.png","userHomePage/标题.png","userHomePage/瓜分攻略.png","userHomePage/规则.png","userHomePage/邀请明细.png","yinsirulepop/bg.png","yinsirulepop/btn.png"]}
\ No newline at end of file \ No newline at end of file
(function autoStart() {
let visibilityChange;
if (typeof document.hidden !== 'undefined') {
visibilityChange = 'visibilitychange';
}
else if (typeof document['msHidden'] !== 'undefined') {
visibilityChange = 'msvisibilitychange';
}
else if (typeof document['webkitHidden'] !== 'undefined') {
visibilityChange = 'webkitvisibilitychange';
}
function handleVisibilityChange(e) {
visibilityChanged(document.visibilityState == "visible");
}
document.addEventListener(visibilityChange, handleVisibilityChange, false);
})();
const watchers = [];
function visibilityChanged(visible) {
for (let watcher of watchers) {
watcher && watcher(visible);
}
}
/**
* 观察页面显隐性变化
* @ctype PROCESS
* @description 观察页面显隐性变化
* @param {function} [callback] - 回调
* @example 一般用法
* function onPageVisibilityChange(visible){
* console.log('页面' + visible? '可见' : '不可见')
* }
* watchPageVisibility(onPageVisibilityChange)
*/
export function watchPageVisibility(callback) {
let index = watchers.indexOf(callback);
if (index < 0) {
watchers.push(callback);
}
}
/**
* 取消观察页面显隐性变化
* @ctype PROCESS
* @description 取消观察页面显隐性变化
* @param {function} [callback] - 回调
* @example 一般用法
* function onPageVisibilityChange(visible){
* console.log('页面' + visible? '可见' : '不可见')
* }
* unwatchPageVisibility(onPageVisibilityChange)
*/
export function unwatchPageVisibility(callback) {
let index = watchers.indexOf(callback);
if (index >= 0) {
watchers.splice(index, 1);
}
return {
type: index >= 0 ? 'success' : 'failed',
};
}
...@@ -12,6 +12,7 @@ import { Swiper } from "antd-mobile"; ...@@ -12,6 +12,7 @@ import { Swiper } from "antd-mobile";
import { SvgaPlayer } from "@spark/svgaplayer"; import { SvgaPlayer } from "@spark/svgaplayer";
import { RES_PATH } from "../../../sparkrc"; import { RES_PATH } from "../../../sparkrc";
import shareStore from "@src/store/share"; import shareStore from "@src/store/share";
import musicStore from "@src/store/musicStore";
@observer @observer
...@@ -25,6 +26,9 @@ class Userhomepage extends React.Component { ...@@ -25,6 +26,9 @@ class Userhomepage extends React.Component {
}; };
async componentDidMount() { async componentDidMount() {
musicStore.playSound(RES_PATH + "/audio/1.mp3", true);
await store.getHomeInfo(); await store.getHomeInfo();
this.flushCD(); this.flushCD();
shareStore.doAssist(); shareStore.doAssist();
......
import { makeAutoObservable } from "mobx"; // 从mobx库导入makeAutoObservable,用于自动观察类的状态变化 import { makeAutoObservable } from "mobx"; // 从mobx库导入makeAutoObservable,用于自动观察类的状态变化
import { playSound, preloadSounds, registerSounds, stopSound, watchPageVisibility, mute, unmute } from "@spark/utils"; // 从工具库导入多个声音控制的函数
import { RES_PATH } from "../../sparkrc"; // 导入资源路径常量
// 创建一个音乐存储的类并使用mobx的makeAutoObservable进行自动观察 import { Howl, Howler } from "howler";
const musicStore = makeAutoObservable(new class { import { watchPageVisibility } from "@src/built-in/page-visibility-notify";
// 定义音乐状态,开发环境下默认不播放音乐,初始值为true(音乐播放) const audioCache = {};
status = true;
constructor() { export async function loadAudio(src) {
// 注册背景音乐的声音资源
registerSounds({
'bg_music': RES_PATH + 'music/bgm.mp3', // 将背景音乐的路径与名称进行关联
});
// 预加载声音资源 if (!audioCache[src]) {
preloadSounds(null, () => { audioCache[src] = await new Promise((resolve) => {
// 加个判断 防止出现:音乐还未加载完用户点击了暂停,等加载完音乐还会播放 let sound = new Howl({
musicStore.status && playSound('bg_music', { 'loop': true }); // 如果状态为true,则循环播放背景音乐 src,
preload: true,
onload: () => {
resolve(sound);
},
onloaderror: () => {
resolve(null);
}
}); });
});
}
return audioCache[src];
}
let whenHideStatus = false;
// 创建一个音乐存储的类并使用mobx的makeAutoObservable进行自动观察
const musicStore = makeAutoObservable(new class {
constructor() {
// 监听页面可见性变化 // 监听页面可见性变化
watchPageVisibility(this.onPageVisibilityChange); watchPageVisibility(this.onPageVisibilityChange);
} }
// 页面可见性变化的处理函数 // 页面可见性变化的处理函数
onPageVisibilityChange = async (visible) => { onPageVisibilityChange = async (visible) => {
if (visible) { if (!visible) {
console.info('页面可见',this.status); whenHideStatus = this.mute;
// 如果页面可见,判断当前状态决定是否播放背景音乐 this.mute = true;
this.status ? await playSound('bg_music', {'loop': true}) : stopSound('bg_music');
} else { } else {
// 如果页面不可见,停止播放背景音乐 this.mute = whenHideStatus;
stopSound('bg_music'); }
console.info('页面不可见',this.status); };
// 是否静音
_mute = false;
get mute() {
return this._mute;
} }
set mute(mute) {
this._mute = mute;
Howler.mute(mute);
}
async playSound(src, loop = false) {
const howl = await loadAudio(src);
if (howl) {
howl.loop(loop);
} }
// 切换音乐状态的方法 howl.play();
changeMusicStatus () {
// 切换当前状态, 播放或停止音乐, 添加默认淡入淡出效果
this.status = !this.status;
this.status ? playSound('bg_music', { 'loop': true, 'fade': true }) : stopSound('bg_music', { 'fade': true });
} }
}); });
// 导出音乐存储实例,以便在其他模块使用 // 导出音乐存储实例,以便在其他模块使用
......
...@@ -216,18 +216,15 @@ const shareStore = makeAutoObservable({ ...@@ -216,18 +216,15 @@ const shareStore = makeAutoObservable({
? encodeURIComponent( ? encodeURIComponent(
encodeURIComponent( encodeURIComponent(
`https://96094.activity-19.m.duiba.com.cn/customShare/share?id=${prodCustomId}` + `https://96094.activity-19.m.duiba.com.cn/customShare/share?id=${prodCustomId}` +
`&channel=${CFG.defaultChannel}&agentCode=${CFG.workerCode || CFG.agentCode}&actPlatforms=${CFG.actPlatforms `&channel=${CFG.defaultChannel}&agentCode=${CFG.workerCode || CFG.agentCode}&actPlatforms=${CFG.actPlatforms}&actId=${CFG.actId}`
}&actId=${CFG.actId}`
) )
) )
: encodeURIComponent( : encodeURIComponent(
`https://96094.activity-19.m.duiba.com.cn/customShare/share?id=${prodCustomId}` + `https://96094.activity-19.m.duiba.com.cn/customShare/share?id=${prodCustomId}` +
`&channel=${CFG.defaultChannel}&agentCode=${CFG.workerCode || CFG.agentCode}&actPlatforms=${CFG.actPlatforms `&channel=${CFG.defaultChannel}&agentCode=${CFG.workerCode || CFG.agentCode}&actPlatforms=${CFG.actPlatforms}&actId=${CFG.actId}`
}&actId=${CFG.actId}`
) )
}` }`
) + ) + "&isBindManager=1&isNeedAuth=1&operate_type=3"
"&isBindManager=1&isNeedAuth=1&operate_type=3"
: "https://lifeapp-test.picclife.cn/portal-web/app_manager/downloadapps.html?operate_link=" + : "https://lifeapp-test.picclife.cn/portal-web/app_manager/downloadapps.html?operate_link=" +
encodeURIComponent( encodeURIComponent(
`https://lifeapp-api-test.picclife.cn/lifeapi/lifeapp-svc-rel-gw/api/auth_code/authorize/v1?activity_code=613002&redirect_type=0&redirect_uri=${isIOS `https://lifeapp-api-test.picclife.cn/lifeapi/lifeapp-svc-rel-gw/api/auth_code/authorize/v1?activity_code=613002&redirect_type=0&redirect_uri=${isIOS
...@@ -244,8 +241,7 @@ const shareStore = makeAutoObservable({ ...@@ -244,8 +241,7 @@ const shareStore = makeAutoObservable({
}&actId=${CFG.actId}` }&actId=${CFG.actId}`
) )
}` }`
) + ) + "&isBindManager=1&isNeedAuth=1&operate_type=3"
"&isBindManager=1&isNeedAuth=1&operate_type=3"
); );
}, },
......
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