|
@@ -233,7 +233,8 @@
|
|
|
:levelData="currentJumpTask!=null?currentJumpTask.item:null"
|
|
|
:currentMode="currentMode" @actionJumpCheck="onPersonalCheck"
|
|
|
@actionJumpControllerPlay="onActionControlPlay"
|
|
|
- @actionJumpDataUpdate="onActionJumpDataUpdate" @gameOver="onActionJumpGameOver">
|
|
|
+ @actionJumpDataUpdate="onActionJumpDataUpdate" @gameOver="onActionJumpGameOver"
|
|
|
+ @tipLevel="onTipLevel">
|
|
|
</action-jump>
|
|
|
</view>
|
|
|
<!-- <button @tap="onTestAddLocalCalorie">11</button> -->
|
|
@@ -263,11 +264,17 @@
|
|
|
<view class="example">
|
|
|
<button @click="onGetActionJumpView()">显示 onGetActionJumpView</button>
|
|
|
</view>
|
|
|
- <view class="example">
|
|
|
- <button @click="onGetBluetoothConnectView()">显示 bluetoothConnect</button>
|
|
|
- </view>
|
|
|
+ <view class="example">
|
|
|
+ <button @click="onGetBluetoothConnectView()">显示 bluetoothConnect</button>
|
|
|
+ </view>
|
|
|
-->
|
|
|
-
|
|
|
+
|
|
|
+ <!-- <view class="example">
|
|
|
+ <button @click="showGuide('level-game-tip',{levelType:'rotationJump'})">显示 level-game-tip</button>
|
|
|
+ </view> -->
|
|
|
+ <!-- <view class="example">
|
|
|
+ <button @click="onTipLevel">显示 ontipLevel</button>
|
|
|
+ </view> -->
|
|
|
<view class="example" style="margin-top: 10rpx;">
|
|
|
<button @click="onNavToDirection">跳转校准页面</button>
|
|
|
</view>
|
|
@@ -278,10 +285,15 @@
|
|
|
</scroll-view>
|
|
|
|
|
|
<!-- 底部中间上滑按钮 -->
|
|
|
- <view class="flex flex-direction justify-center align-center task-up-button">
|
|
|
- <image style="width: 156rpx; height: 32rpx;" src="../../../static/personal/slideUp.png" @tap="showModal"
|
|
|
- data-target="slideUpModal"></image>
|
|
|
- <view style="width: 100%;height: 36rpx; background-color: #FFFFFF; color: #FFFFFF;"></view>
|
|
|
+ <view class="flex flex-direction justify-end align-center task-up-button" @tap="showModal"
|
|
|
+ data-target="slideUpModal">
|
|
|
+ <!-- <image style="width: 156rpx; height: 32rpx;" src="../../../static/personal/slideUp.png" @tap="showModal"
|
|
|
+ data-target="slideUpModal"></image> -->
|
|
|
+ <image style="width: 147px;height: 31px; top: -6px;" class="position-absolute-center"
|
|
|
+ src="../../../static/modal/level-tip/level-tip-bg@2x.png"></image>
|
|
|
+ <image style="width: 30px;height: 23px; " src="../../../static/modal/level-tip/level-tip-logo@2x.png">
|
|
|
+ </image>
|
|
|
+ <view style="width: 100%;height: 16rpx; background-color: #FFFFFF; color: #FFFFFF;"></view>
|
|
|
</view>
|
|
|
|
|
|
<!-- 右下角导航栏 -->
|
|
@@ -411,8 +423,13 @@
|
|
|
<!-- 任务栏 -->
|
|
|
<view class="cu-modal bottom-modal" :class="modalName=='slideUpModal'?'show':''" @tap="hideModal">
|
|
|
<view class="cu-dialog bg-white" style="border-radius: 15px 15px 0 0 ;" @tap.stop="">
|
|
|
- <view class="flex justify-center align-center" style="width: 100%; height: 60rpx;" @tap="hideModal">
|
|
|
+ <view class="flex justify-center align-center position-relative" style="width: 750rpx; height: 64rpx;"
|
|
|
+ @tap="hideModal">
|
|
|
<view class="text-blue make-bg-bPurple radius" style="width: 80rpx; height: 4px;"></view>
|
|
|
+ <view class="position-absolute-right-top">
|
|
|
+ <image style="width: 64rpx;height: 64rpx;" src="../../../static/common/modal/task-close@2x.png">
|
|
|
+ </image>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="flex justify-between" style="width: 100%; padding: 34rpx 60rpx 46rpx 81rpx;">
|
|
|
<view class="flex align-center justify-center">
|
|
@@ -437,8 +454,10 @@
|
|
|
<scroll-view scroll-y="true" style="height: 800rpx; max-height: 800rpx;min-height: 460rpx;"
|
|
|
:style="{ height: modalHeight + 'px' }" :scroll-into-view="taskIntoView"
|
|
|
:scroll-top="taskScrollTop">
|
|
|
+ <!-- :class="!item.isUnlock?'':'make-text-bPurple'" -->
|
|
|
<view class="my-column-cu-steps">
|
|
|
- <view class="cu-item" :class="!item.isUnlock?'':'make-text-bPurple'"
|
|
|
+ <view class="cu-item"
|
|
|
+ :class="(currentJumpTask!=null&&item.id==currentJumpTask.item.id)?'make-bg-bPurple-01':''"
|
|
|
v-for="(item,index) in currentTaskList" :key="index" :id='"task_"+index'
|
|
|
@click="selectTask(index,item)">
|
|
|
<image v-if="item.isUnlock" class="my-column-cu-image"
|
|
@@ -450,24 +469,26 @@
|
|
|
<image v-else class="my-column-cu-image" src="../../../static/common/modal/lock.png">
|
|
|
</image>
|
|
|
<view class="content">
|
|
|
- <view class="text-15px text-bold text-cut text-left "
|
|
|
- style="margin-left: 48rpx; width: 360rpx;">
|
|
|
+ <view class="text-15px text-bold text-cut text-left text-black text-medium"
|
|
|
+ style="margin-left: 48rpx; width: 360rpx;margin-top: 30rpx;">
|
|
|
{{index+1}}. {{item.name}}
|
|
|
</view>
|
|
|
- <view class="flex justify-start align-center" style="margin:30rpx 0 30rpx 86rpx;">
|
|
|
+ <view class="flex justify-start align-center" style="margin:20rpx 0 20rpx 86rpx;">
|
|
|
<!-- 居中绘制星星样式 -->
|
|
|
<view class="flex align-center justify-center"
|
|
|
style="margin-right: 36rpx;margin-top: 4rpx;">
|
|
|
- <image style="width: 24rpx;height: 26rpx; margin-right: 18rpx;"
|
|
|
+ <image style="width: 36rpx;height: 36rpx; margin-right: 18rpx;"
|
|
|
src="/static/common/sideBar/sGold.png"></image>
|
|
|
- <view class="text-13px" style="line-height: 26rpx;">{{item.consumeGold}}
|
|
|
+ <view class="text-13px text-black text-medium" style="line-height: 26rpx;">
|
|
|
+ {{item.consumeGold}}
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="flex align-center justify-center"
|
|
|
style="margin-right: 36rpx;margin-top: 4rpx;">
|
|
|
- <image style="width: 24rpx;height: 26rpx; margin-right: 18rpx;"
|
|
|
+ <image style="width: 38rpx;height: 34rpx; margin-right: 18rpx;"
|
|
|
src="/static/common/sideBar/sDiamond.png"></image>
|
|
|
- <view class="text-13px" style="line-height: 26rpx;">{{item.consumeDiamond}}
|
|
|
+ <view class="text-13px text-black text-medium" style="line-height: 26rpx;">
|
|
|
+ {{item.consumeDiamond}}
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
@@ -489,10 +510,13 @@
|
|
|
<image class="my-column-cu-right-image" style="pointer-events:auto;"
|
|
|
src="../../../static/common/modal/medal.png" @click="showPopup('prompt',item)">
|
|
|
</image>
|
|
|
-
|
|
|
+ <view v-if="currentJumpTask!=null&&item.id==currentJumpTask.item.id"
|
|
|
+ class="position-absolute-right-bottom make-text-bPurple text-13px text-medium "
|
|
|
+ style="right: 70rpx;bottom: 24rpx;">游戏中...</view>
|
|
|
+ <!-- /static/devicesOther/radio-g -->
|
|
|
<image class="my-column-cu-image"
|
|
|
- style="left: 130rpx;top: 40rpx; width: 50rpx;height: 50rpx;"
|
|
|
- :src="(currentJumpTask!=null&&item.id==currentJumpTask.item.id)?'/static/devicesOther/radio-b.png':'/static/devicesOther/radio-g.png'"
|
|
|
+ style="left: 140rpx;top: 50rpx; width: 30rpx;height: 30rpx;"
|
|
|
+ :src="(currentJumpTask!=null&&item.id==currentJumpTask.item.id)?'/static/devicesOther/radio-b.png':'.png'"
|
|
|
mode="aspectFit"></image>
|
|
|
|
|
|
</view>
|
|
@@ -505,7 +529,7 @@
|
|
|
|
|
|
</view>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
<!-- 这里vConsole 是为了解决再页面内显示vconsole -->
|
|
|
<view id="vconsole" :prop="vLog" :change:prop="vconsole.updateData"></view>
|
|
|
</view>
|
|
@@ -608,7 +632,8 @@
|
|
|
'systemInfo', 'navHeight', 'tabbarHeight',
|
|
|
'cDiamond', 'cGold',
|
|
|
'finallySelectFriendInfo',
|
|
|
- 'currentJumpTask', 'singlePersonList', 'multiPersonList'
|
|
|
+ 'currentJumpTask', 'singlePersonList', 'multiPersonList',
|
|
|
+ 'guideUnlockState'
|
|
|
]),
|
|
|
components: {
|
|
|
// uniNavBar,
|
|
@@ -985,17 +1010,18 @@
|
|
|
// #ifdef APP-PLUS
|
|
|
//制作一个新手引导,以nvue为主。
|
|
|
//第一步提示设置计划,之后在回调registerPopupEvent 中处理
|
|
|
- this.showGuide('plan', null);
|
|
|
- // if (!this.bNewGuide) {
|
|
|
-
|
|
|
- // } else {
|
|
|
- // //添加设备绑腿提示
|
|
|
- // //guide.nvue 里面存储
|
|
|
- // const value = uni.getStorageSync('deviceDirectionPrompt');
|
|
|
- // if (!value && !value.isSelected) {
|
|
|
- // this.showGuide('device-tip', null);
|
|
|
- // }
|
|
|
- // }
|
|
|
+ if (this.guideUnlockState.firstInstallation) {
|
|
|
+ //第一次安装登录。提示
|
|
|
+ this.onGetBluetoothConnectView({
|
|
|
+ hiddenType: 'firstInstallation'
|
|
|
+ });
|
|
|
+ console.log("guideUnlockState 1=============:", this.guideUnlockState);
|
|
|
+ let guideUnlockState = Object.assign(this.guideUnlockState, {
|
|
|
+ firstInstallation: false
|
|
|
+ });
|
|
|
+ this.setGuideUnlockState(guideUnlockState);
|
|
|
+ }
|
|
|
+
|
|
|
// #endif
|
|
|
|
|
|
|
|
@@ -1046,7 +1072,8 @@
|
|
|
'getUserWallets', 'setGoldAndDiamond',
|
|
|
'onConvertDeviceData',
|
|
|
'showDrawerById', 'showPopupById', 'showGuideById',
|
|
|
- 'getSignInList', 'onUserSignIn'
|
|
|
+ 'getSignInList', 'onUserSignIn',
|
|
|
+ 'setGuideUnlockState'
|
|
|
]),
|
|
|
BasicsSteps() {
|
|
|
this.basics = this.basics == this.basicsList.length - 1 ? 0 : this.basics + 1
|
|
@@ -2359,12 +2386,14 @@
|
|
|
}, 200)
|
|
|
|
|
|
},
|
|
|
- onGetBluetoothConnectView() {
|
|
|
+ onGetBluetoothConnectView(initData) {
|
|
|
|
|
|
_self.$refs.roundFabRef.onGetRoundFabView((data) => {
|
|
|
- console.log(JSON.stringify(data));
|
|
|
+ console.log(JSON.stringify(data), initData.firstInstallation);
|
|
|
// #ifdef APP-PLUS
|
|
|
- _self.showGuide('bluetoothConnect', data);
|
|
|
+ let temp = Object.assign({}, data, initData);
|
|
|
+ console.log('当前的temp:', temp);
|
|
|
+ _self.showGuide('bluetoothConnect', temp);
|
|
|
// #endif
|
|
|
});
|
|
|
// let view = uni.createSelectorQuery().select('#roundFabID');
|
|
@@ -2591,10 +2620,20 @@
|
|
|
* 悬停按钮
|
|
|
*/
|
|
|
fabClick() {
|
|
|
- // uni.showToast({
|
|
|
- // title: '点击了悬浮按钮',
|
|
|
- // icon: 'none'
|
|
|
- // })
|
|
|
+ //如果第一次点击悬停按钮
|
|
|
+ if (this.guideUnlockState.firstDisconnectBluetooth) {
|
|
|
+
|
|
|
+ this.onGetBluetoothConnectView({
|
|
|
+ hiddenType: 'firstDisconnectBluetooth'
|
|
|
+ });
|
|
|
+ let guideUnlockState = Object.assign(this.guideUnlockState, {
|
|
|
+ firstDisconnectBluetooth: false
|
|
|
+ });
|
|
|
+ this.setGuideUnlockState(guideUnlockState);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
if (this.cIndex != -1 && this.BLEConnectDevice != null) {
|
|
|
//先检测
|
|
@@ -2878,6 +2917,31 @@
|
|
|
* 任务相关
|
|
|
*/
|
|
|
selectTask(_index, _item) {
|
|
|
+ // console.log(JSON.stringify(_item));
|
|
|
+ //第一次选择关卡时候判断
|
|
|
+ if(this.guideUnlockState.firstUnlockJumpUp && _item.id == 1){
|
|
|
+ this.showGuide('level-game-tip',{levelType:'midJump',hiddenType: 'firstUnlockJumpUp'})
|
|
|
+ let guideUnlockState = Object.assign(this.guideUnlockState, {
|
|
|
+ firstUnlockJumpUp: false
|
|
|
+ });
|
|
|
+ this.setGuideUnlockState(guideUnlockState);
|
|
|
+ return;
|
|
|
+ }else if(this.guideUnlockState.firstUnlockLeftAndRightJump && _item.id == 6){
|
|
|
+ this.showGuide('level-game-tip',{levelType:'directionJump',hiddenType: 'firstUnlockLeftAndRightJump'})
|
|
|
+ let guideUnlockState = Object.assign(this.guideUnlockState, {
|
|
|
+ firstUnlockLeftAndRightJump: false
|
|
|
+ });
|
|
|
+ this.setGuideUnlockState(guideUnlockState);
|
|
|
+ return;
|
|
|
+ }else if(this.guideUnlockState.firstUnlockLeftAndRightRotationJump && _item.id == 9){
|
|
|
+ this.showGuide('level-game-tip',{levelType:'rotationJump',hiddenType: 'firstUnlockLeftAndRightRotationJump'})
|
|
|
+ let guideUnlockState = Object.assign(this.guideUnlockState, {
|
|
|
+ firstUnlockLeftAndRightRotationJump: false
|
|
|
+ });
|
|
|
+ this.setGuideUnlockState(guideUnlockState);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if (_item.isUnlock) {
|
|
|
let _data = {
|
|
|
modeName: this.currentMode, //记录时候记录当前的mode
|
|
@@ -3051,7 +3115,7 @@
|
|
|
})
|
|
|
|
|
|
uni.$on('guide-popup-page', (data) => {
|
|
|
- // console.log('guide-popup-page', JSON.stringify(data));
|
|
|
+ console.log('guide-popup-page', JSON.stringify(data));
|
|
|
switch (data.type) {
|
|
|
case 'button':
|
|
|
if (data.messageType == 'plan') {
|
|
@@ -3062,16 +3126,77 @@
|
|
|
} else if (data.messageType == 'bluetoothConnect') {
|
|
|
if (data.confirm) {
|
|
|
//跳转播放
|
|
|
- this.onGetActionJumpView();
|
|
|
+ // this.onGetActionJumpView();
|
|
|
+ //首次安装
|
|
|
+ if (data.hiddenType == 'firstInstallation') {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.showGuide('device-tip', {
|
|
|
+ hiddenType: 'firstInstallation'
|
|
|
+ });
|
|
|
+ }, 30)
|
|
|
+ } else if (data.hiddenType == 'firstDisconnectBluetooth') {
|
|
|
+ this.fabClick();
|
|
|
+ }
|
|
|
}
|
|
|
} else if (data.messageType == 'actionJumpPlay') {
|
|
|
if (data.confirm) {
|
|
|
- setTimeout(() => {
|
|
|
- this.showGuide('device-tip', null);
|
|
|
- }, 30)
|
|
|
+
|
|
|
+ }
|
|
|
+ } else if (data.messageType == 'device-tip') {
|
|
|
+ if (data.confirm) {
|
|
|
+ if (data.hiddenType == 'firstInstallation') {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.showGuide('level-button-tip', {
|
|
|
+ hiddenType: 'firstInstallation'
|
|
|
+ });
|
|
|
+ }, 30)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (data.messageType == 'level-button-tip') {
|
|
|
+ if (data.confirm) {
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ break;
|
|
|
+ case 'selected':
|
|
|
+ console.log('当前操作的类型 selected:', data.messageType)
|
|
|
+ if (data.messageType == 'level-button-tip') {
|
|
|
+ if (data.isSelected) {
|
|
|
+ uni.setStorage({
|
|
|
+ key: 'levelButtonPrompt',
|
|
|
+ data: {
|
|
|
+ isSelected: true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.$refs.actionJumpRef.onUpdateTipLevelValue(true);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ uni.setStorage({
|
|
|
+ key: 'levelButtonPrompt',
|
|
|
+ data: {
|
|
|
+ isSelected: false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.$refs.actionJumpRef.onUpdateTipLevelValue(false);
|
|
|
+ }
|
|
|
+ } else if (data.messageType == 'device-tip') {
|
|
|
+ if (data.isSelected) {
|
|
|
+ uni.setStorage({
|
|
|
+ key: 'deviceDirectionPrompt',
|
|
|
+ data: {
|
|
|
+ isSelected: true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ uni.setStorage({
|
|
|
+ key: 'deviceDirectionPrompt',
|
|
|
+ data: {
|
|
|
+ isSelected: false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
break;
|
|
|
default:
|
|
|
uni.showToast({
|
|
@@ -3095,6 +3220,18 @@
|
|
|
|
|
|
moveBoxingHandle() {
|
|
|
return;
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 提示打开关卡
|
|
|
+ */
|
|
|
+ onTipLevel() {
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ this.showGuide('level-button-tip', null);
|
|
|
+ // #endif
|
|
|
+ // #ifdef H5
|
|
|
+ console.warn("不支持nvue");
|
|
|
+ // #endif
|
|
|
}
|
|
|
}
|
|
|
};
|
|
@@ -3762,11 +3899,11 @@
|
|
|
/* #ifdef APP-PLUS */
|
|
|
position: fixed;
|
|
|
/* #endif */
|
|
|
- bottom: -10px;
|
|
|
+ bottom: 0;
|
|
|
right: 0;
|
|
|
left: 0;
|
|
|
margin: auto;
|
|
|
width: 100%;
|
|
|
- height: 68rpx;
|
|
|
+ height: 82rpx;
|
|
|
}
|
|
|
</style>
|