Selaa lähdekoodia

代码整理2-教具选择

chaooo 1 vuosi sitten
vanhempi
commit
c2937cf57a

+ 1 - 1
src/components/connection/brains/connecting.vue

@@ -98,7 +98,7 @@ export default {
             showCancelButton: true,
             cancelButtonText: "查看指引",
           }).catch(() => {
-            wx.navigateTo({
+            mpvue.navigateTo({
               url: "/pages/guide/main"
             })
           });

+ 13 - 10
src/components/connection/index.vue

@@ -109,9 +109,10 @@ export default {
               });
               game_store.setters.clearDeviceToy();
               wx.closeBluetoothAdapter();
+              console.log("断开蓝牙连接成功", deviceId);
             },
-            fail(res) {
-              console.log("断开蓝牙连接失败error:", res);
+            fail(err) {
+              console.log("断开蓝牙连接"+deviceId+"失败error:", err);
             },
             complete() {
               $this.device = {};
@@ -188,14 +189,16 @@ export default {
         <div v-if="device_status === 0" class="connect_box">
           <ConnectionScan @scanStatus="getScanStatus"></ConnectionScan>
         </div>
-        <!-- 连接中 -->
-        <div v-if="device_status === 1" class="connecting_box">
-          <Connecting :status="device_status" @deviceStatus="setDeviceStatus"></Connecting>
-        </div>
-        <!-- 已链接 -->
-        <div v-if="device_status === 2" class="connected_box">
-          <Connected :device_bg="device_bg" :device_power="device_power" @deviceStatus="setDeviceStatus" @openToys="openToyList"></Connected>
-        </div>
+        <template v-else>
+          <!-- 连接中 -->
+          <div v-if="device_status !== 2" class="connecting_box">
+            <Connecting :status="device_status" @deviceStatus="setDeviceStatus"></Connecting>
+          </div>
+          <!-- 已链接 -->
+          <div v-if="device_status === 2" class="connected_box">
+            <Connected :device_bg="device_bg" :device_power="device_power" @deviceStatus="setDeviceStatus" @openToys="openToyList"></Connected>
+          </div>
+        </template>
       </div>
       <!-- 教具模块 -->
       <div v-else>

+ 32 - 40
src/components/connection/toys/selected.vue

@@ -25,25 +25,36 @@ export default {
       start_show: false,
     };
   },
+  created() {
+    $this = this;
+  },
   methods: {
+    // 断开脑机
+    cancelConnect() {
+      $this.$emit("deviceStatus", 3);
+    },
+    // 打开玩具下拉列表
     openToyList() {
       $this.$emit("openToys", true);
     },
     // 打开选择消费的选项框
-    choose_pay_window() {
+    openPayWindow() {
       if (!$this.device_bg) {
         Toast.fail("请佩戴好脑机开始训练");
         return false;
       }
-
-      if (wx.getStorageSync("userinfo").level == 11) {
-        $this.choose_pay(2);
+      if (wx.getStorageSync("userinfo").level*1 === 11) {
+        $this.choosePayType(2);
       } else {
         $this.pay_window = true;
       }
     },
+    //点击隐藏
+    hidePayWindow() {
+      $this.pay_window = false;
+    },
     //选择消费的时间或者次数
-    choose_pay($event) {
+    choosePayType($type) {
       if (!$this.device_bg) {
         Toast.fail("请佩戴好脑机开始训练");
         return false;
@@ -52,27 +63,22 @@ export default {
       if($toyId === 8){
         $toyId = 0;
       }
-      $this.pay_type = $event;
+      $this.pay_type = $type;
       let $params = {
-        type: $event,
+        type: $type,
         device_id: $toyId,
         access_token: wx.getStorageSync("token"),
       };
       gameStart($params).then(
         (res) => {
-          // 重置断开脑机的状态
-          game_store.setters.setGameCloseStatus(0);
           let $data = res.data;
           let $res = $data.data;
           if ($data.code === 0) {
             $this.is_started = true;
-
-            // 设置游戏模式
-            game_store.setters.setMode($event);
-            // 设置游戏状态为游戏中
+            // 设置游戏模式: 1次数 2时间
+            game_store.setters.setMode($type);
             // 设置游戏记录id
             game_store.setters.setGameRecordId($res["game_record_id"]);
-
             //打开脑控
             $this.$bluetooth.sendControl();
 
@@ -80,16 +86,8 @@ export default {
             game_store.setters.setPlayTime($res["play_time"]);
             game_store.setters.setOverPlayTime($res["play_time"]);
             setTimeout(() => {
-              mpvue.navigateTo({
-                url: "/pages/start/main",
-                success() {
-                  $this.$emit("gameStart", true);
-                  // 设置游戏状态为游戏中
-                  game_store.setters.setGameStatus(1);
-                },
-              });
+              $this.pageToPlay();
             }, 800);
-
           } else {
             $this.is_started = false;
             Toast.fail($data.errmsg);
@@ -101,27 +99,21 @@ export default {
         }
       );
     },
-    //点击隐藏
-    onClickHide() {
-      $this.pay_window = false;
-    },
     // 前往正在玩的波动时间界面
-    to_playing() {
+    pageToPlay() {
       $this.$emit("gameStart", true);
       mpvue.navigateTo({
         url: "/pages/start/main",
+        success() {
+          // 设置游戏状态为游戏中
+          game_store.setters.setGameStatus(1);
+        },
       });
     },
-    cancelConnect() {
-      $this.$emit("deviceStatus", 3);
-    },
   },
   onShow() {
     $this.is_started = false;
   },
-  created() {
-    $this = this;
-  },
 };
 </script>
 
@@ -193,7 +185,7 @@ export default {
         </van-col>
 
         <van-col span="8">
-          <button class="cu-btn bg-red lg cu-btn-primary" @click="choose_pay_window" :disabled="is_started">
+          <button class="cu-btn bg-red lg cu-btn-primary" @click="openPayWindow" :disabled="is_started">
             <img src="https://img.shuimuai.com/web/start_game_icon.png" alt="" class="cut_start_game_icon"/>
             <text class="cut_text" style="padding:0px">开始训练</text>
           </button>
@@ -213,10 +205,10 @@ export default {
           </van-row>
         </van-col>
       </div>
-      <!-- 教具连接中 -->
+      <!-- 游戏中 -->
       <div v-if="connect_toy === 4">
         <van-col span="16">
-          <button class="cu-btn bg-green lg" @click="to_playing" style="width: 100%">
+          <button class="cu-btn bg-green lg" @click="pageToPlay" style="width: 100%">
             <img src="https://img.shuimuai.com/web/start_game_icon.png" alt="" class="cut_start_game_icon"/>
             <text class="cut_text" style="padding: 0px">游戏中</text>
           </button>
@@ -224,19 +216,19 @@ export default {
       </div>
     </van-row>
     <!-- 选择消费方式的窗口  -->
-    <van-overlay :show="pay_window" @click="onClickHide" z-index="5">
+    <van-overlay :show="pay_window" @click="hidePayWindow" z-index="5">
       <div class="pay_type_window">
         <div class="pay_type_title padding">
           <text class="text-bold pay_type_title_text">选择消费方式</text>
         </div>
         <van-row gutter="11">
           <van-col span="11" offset="1">
-            <div class=" pay_type_item flex flex-direction justify-center align-center" @click.prevent="choose_pay(2)">
+            <div class=" pay_type_item flex flex-direction justify-center align-center" @click.prevent="choosePayType(2)">
               <view class="text-xl padding"><text class="text-white text-bold">消费时间</text></view>
             </div>
           </van-col>
           <van-col span="11">
-            <div class=" pay_type_item flex flex-direction justify-center align-center"@click.prevent="choose_pay(1)">
+            <div class=" pay_type_item flex flex-direction justify-center align-center"@click.prevent="choosePayType(1)">
               <view class="text-xl padding"><text class="text-white text-bold">消费次卡</text></view>
               <view class="text-sm"><text class="text-white">次卡时间为10分钟</text></view>
             </div>

+ 1 - 1
src/pages/competition/index.vue

@@ -801,7 +801,7 @@ export default {
         Toast.fail({
           message: "请登录水母智脑小程序后进行参与比赛",
           onClose() {
-            wx.navigateTo({
+            mpvue.navigateTo({
               url: "/pages/index/main",
             });
           },

+ 2 - 7
src/store/game.js

@@ -16,12 +16,10 @@ const setters = {
   setServiceId(serviceId) {
     wx.setStorageSync('serviceId', serviceId)
   },
+  // 游戏状态: 0未开始 1游戏中 3游戏结束
   setGameStatus(status) {
     wx.setStorageSync('game_status', status)
   },
-  setGameCloseStatus(status) {
-    wx.setStorageSync('game_close_status', status)
-  },
   setToyItem(toy_item) {
     wx.setStorageSync('toy_item', toy_item)
   },
@@ -31,6 +29,7 @@ const setters = {
   removeToyHex() {
     wx.removeStorageSync('toy_hex')
   },
+  // 游戏模式: 1次数 2时间
   setMode(mode) {
     wx.setStorageSync('mode', mode)
   },
@@ -81,10 +80,6 @@ const getters = {
   getGameStatus() {
     return wx.getStorageSync('game_status')
   },
-  getGameCloseStatus() {
-    return wx.getStorageSync('game_close_status')
-  },
-
   getToyItem() {
     return wx.getStorageSync('toy_item')
   },

+ 0 - 1
src/utils/bluetooth.js

@@ -319,7 +319,6 @@ export default {
           },
           fail(res) {
             Notify({type: 'danger', message: `第${$connect_count}次重新连接失败`});
-            game_store.setters.setGameCloseStatus(1);
           }
         })
         if ($connect_count >= 3) {