소스 검색

2队PK 和 3队 PK

Changpeng Duan 5 년 전
부모
커밋
0093cc12a3

+ 246 - 215
tv/.idea/workspace.xml

@@ -23,12 +23,35 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" id="c813a37b-038b-4bb1-a925-c03a432a7638" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/src/assets/img/3pk/3pkbg.png" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/views/3pk.vue" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../icon/1024.png" beforeDir="false" afterPath="$PROJECT_DIR$/../icon/1024.png" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/3pkbg.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/blueMvp.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/bluetit.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/pk.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/rank1.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/rank2.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/rank3.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/redMvp.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/redtit.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/yellowMvp.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/3pkRank/yellowtit.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/pk/yellowFlag.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/threepk/blueCube.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/threepk/redCube.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/threepk/threepkbg.png" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/assets/img/threepk/yellowcube.svg" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/views/3pkRank.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/public/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/public/index.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/Global.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/Global.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/assets/img/threepk/3pkbg.png" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/components/Headside.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/Headside.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/libs/rem.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/libs/rem.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/main.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/main.js" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/router/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/router/index.js" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/views/2pkRank.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/2pkRank.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/views/3pk.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/threepk.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/views/Index.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/Index.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/views/Main.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/Main.vue" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/views/Wait.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/Wait.vue" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/src/views/pk.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/pk.vue" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/.tmp/" />
@@ -43,47 +66,29 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/views/Rank.vue">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/src/views/threepk.vue">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="200">
-              <caret line="83" column="41" selection-start-line="83" selection-start-column="25" selection-end-line="83" selection-end-column="41" />
+            <state relative-caret-position="380">
+              <caret line="396" column="45" lean-forward="true" selection-start-line="396" selection-start-column="45" selection-end-line="396" selection-end-column="45" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/views/Main.vue">
+        <entry file="file://$PROJECT_DIR$/src/views/3pkRank.vue">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-3150">
-              <caret line="18" selection-start-line="18" selection-end-line="18" />
-              <folding>
-                <element signature="e#5267#5311#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="441">
+              <caret line="153" column="30" selection-start-line="153" selection-start-column="30" selection-end-line="153" selection-end-column="30" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/views/pk.vue">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="189">
-              <caret line="489" selection-start-line="489" selection-end-line="506" selection-end-column="5" />
-              <folding>
-                <element signature="e#4878#4899#0" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/src/views/3pk.vue">
+        <entry file="file://$PROJECT_DIR$/src/views/2pkRank.vue">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="323">
-              <caret line="24" column="35" lean-forward="true" selection-start-line="24" selection-start-column="35" selection-end-line="24" selection-end-column="35" />
-              <folding>
-                <element signature="e#105#126#0" expanded="true" />
-              </folding>
+            <state relative-caret-position="462">
+              <caret line="38" column="20" selection-start-line="38" selection-start-column="20" selection-end-line="38" selection-end-column="20" />
             </state>
           </provider>
         </entry>
@@ -91,8 +96,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/src/router/index.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="513">
-              <caret line="84" column="29" selection-start-line="84" selection-start-column="29" selection-end-line="84" selection-end-column="29" />
+            <state relative-caret-position="660">
+              <caret line="91" column="29" selection-start-line="91" selection-start-column="29" selection-end-line="91" selection-end-column="29" />
               <folding>
                 <element signature="e#0#21#0" expanded="true" />
               </folding>
@@ -100,15 +105,6 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/views/Index.vue">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="-714">
-              <caret line="5" selection-start-line="5" selection-end-line="5" />
-            </state>
-          </provider>
-        </entry>
-      </file>
     </leaf>
   </component>
   <component name="FileTemplateManagerImpl">
@@ -123,36 +119,36 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>blueUnite</find>
-      <find>fakeNews</find>
-      <find>lp_icon</find>
+      <find>.eight .user</find>
+      <find>.eight .urt img</find>
+      <find>three</find>
       <find>redSum</find>
-      <find>Bluestudents</find>
-      <find>two</find>
-      <find>RedstudentsClassName</find>
-      <find>giveClassName</find>
-      <find>four</find>
-      <find>creat</find>
-      <find>watc</find>
-      <find>ClassStatQuery</find>
-      <find>CalcTeamCk</find>
-      <find>pksum</find>
-      <find>pkVal</find>
-      <find>PkTimer</find>
-      <find>ClacClassTime</find>
-      <find>cur</find>
-      <find>2pkRank</find>
-      <find>xiakele</find>
-      <find>curgetClassStat</find>
-      <find>trueDate</find>
-      <find>getClassStat</find>
-      <find>that.redSum</find>
-      <find>GetgetUserList</find>
-      <find>flyhead</find>
-      <find>createEgg</find>
-      <find>前往等待页面</find>
-      <find>fmtInt</find>
-      <find>calcSumCK</find>
+      <find>.eight</find>
+      <find>YellowVal</find>
+      <find>YellowVal</find>
+      <find>.right-bar</find>
+      <find>right-bar</find>
+      <find>dp</find>
+      <find>pk</find>
+      <find>sumScore</find>
+      <find>sumCK</find>
+      <find>flagContainer</find>
+      <find>rankContainer</find>
+      <find>sumlt</find>
+      <find>red</find>
+      <find>pkIcon</find>
+      <find>rank1</find>
+      <find>blueSum</find>
+      <find>.name</find>
+      <find>redUnite</find>
+      <find>CLEscore</find>
+      <find>.blueUnite</find>
+      <find>blue</find>
+      <find>UniteBreak</find>
+      <find>BluestudentsClassName</find>
+      <find>console.log(res);</find>
+      <find>sta</find>
+      <find>redMvp</find>
     </findStrings>
     <replaceStrings>
       <replace>0.2rem</replace>
@@ -165,9 +161,12 @@
       <replace>rankTimer</replace>
       <replace>el-zoom-in-top</replace>
       <replace>http://cal.beswell.com:85/</replace>
+      <replace>threepk</replace>
       <replace>eight</replace>
+      <replace>yellowVal</replace>
     </replaceStrings>
     <dirStrings>
+      <dir>D:\wwwroot\flyLong\tv\src\views</dir>
       <dir>D:\wwwroot\flyLong\tv\src</dir>
     </dirStrings>
   </component>
@@ -194,20 +193,24 @@
         <option value="$PROJECT_DIR$/src/assets/css/bg.css" />
         <option value="$PROJECT_DIR$/src/components/upimg.vue" />
         <option value="$PROJECT_DIR$/src/api/Navs.js" />
-        <option value="$PROJECT_DIR$/src/components/Headside.vue" />
-        <option value="$PROJECT_DIR$/src/Global.js" />
         <option value="$PROJECT_DIR$/README.md" />
         <option value="$PROJECT_DIR$/src/views/test.vue" />
-        <option value="$PROJECT_DIR$/src/main.js" />
-        <option value="$PROJECT_DIR$/src/views/Index.vue" />
         <option value="$PROJECT_DIR$/src/views/Rank.vue" />
         <option value="$PROJECT_DIR$/vue.config.js" />
-        <option value="$PROJECT_DIR$/src/views/Wait.vue" />
         <option value="$PROJECT_DIR$/src/views/Main.vue" />
-        <option value="$PROJECT_DIR$/src/views/pk.vue" />
         <option value="$PROJECT_DIR$/src/views/2pkRank.vue" />
-        <option value="$PROJECT_DIR$/src/router/index.js" />
         <option value="$PROJECT_DIR$/src/views/3pk.vue" />
+        <option value="$PROJECT_DIR$/src/Global.js" />
+        <option value="$PROJECT_DIR$/public/index.html" />
+        <option value="$PROJECT_DIR$/src/views/Index.vue" />
+        <option value="$PROJECT_DIR$/src/views/Wait.vue" />
+        <option value="$PROJECT_DIR$/src/main.js" />
+        <option value="$PROJECT_DIR$/src/components/Headside.vue" />
+        <option value="$PROJECT_DIR$/src/libs/rem.js" />
+        <option value="$PROJECT_DIR$/src/views/pk.vue" />
+        <option value="$PROJECT_DIR$/src/router/index.js" />
+        <option value="$PROJECT_DIR$/src/views/3pkRank.vue" />
+        <option value="$PROJECT_DIR$/src/views/threepk.vue" />
       </list>
     </option>
   </component>
@@ -217,9 +220,10 @@
     <other-services-enabled>true</other-services-enabled>
     <auto-save>true</auto-save>
   </component>
-  <component name="ProjectFrameBounds">
+  <component name="ProjectFrameBounds" extendedState="6">
     <option name="x" value="-2568" />
-    <option name="width" value="1859" />
+    <option name="y" value="-8" />
+    <option name="width" value="1296" />
     <option name="height" value="1395" />
   </component>
   <component name="ProjectId" id="1jXXjXdwK5v7WohMBoZDModntXR" />
@@ -239,6 +243,11 @@
               <item name="tv" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
               <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
             </path>
+            <path>
+              <item name="tv" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
+              <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
+              <item name="public" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+            </path>
             <path>
               <item name="tv" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
               <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
@@ -263,7 +272,23 @@
               <item name="src" type="9f88c78c:ScopeViewTreeModel$FileNode" />
               <item name="assets" type="9f88c78c:ScopeViewTreeModel$FileNode" />
               <item name="img" type="9f88c78c:ScopeViewTreeModel$FileNode" />
-              <item name="3pk" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="2pkRank" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+            </path>
+            <path>
+              <item name="tv" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
+              <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
+              <item name="src" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="assets" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="img" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="3pkRank" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+            </path>
+            <path>
+              <item name="tv" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
+              <item name="" type="442cc68d:ScopeViewTreeModel$RootNode" />
+              <item name="src" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="assets" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="img" type="9f88c78c:ScopeViewTreeModel$FileNode" />
+              <item name="threepk" type="9f88c78c:ScopeViewTreeModel$FileNode" />
             </path>
             <path>
               <item name="tv" type="3d21c010:ScopeViewTreeModel$ProjectNode" />
@@ -310,13 +335,15 @@
   </component>
   <component name="RecentsManager">
     <key name="CopyFile.RECENT_KEYS">
-      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\3pk" />
-      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\pk" />
-      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\2pkRank" />
+      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\3pkRank" />
       <recent name="D:\wwwroot\flyLong\tv\src\views" />
-      <recent name="D:\wwwroot\flyLong\tv\src\assets" />
+      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\threepk" />
+      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\2pkRank" />
+      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\pk" />
     </key>
     <key name="MoveFile.RECENT_KEYS">
+      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\threepk" />
+      <recent name="D:\wwwroot\flyLong\tv\src\assets\img\pk" />
       <recent name="D:\wwwroot\flyLong\tv\src\static\img\bg" />
       <recent name="D:\wwwroot\flyLong\tv\src\static\img" />
     </key>
@@ -386,7 +413,7 @@
       <workItem from="1606196990553" duration="30160000" />
       <workItem from="1606548245045" duration="12000" />
       <workItem from="1606548419929" duration="30000" />
-      <workItem from="1606700588181" duration="34118000" />
+      <workItem from="1606700588181" duration="59893000" />
     </task>
     <task id="LOCAL-00001" summary="test web">
       <created>1605431368250</created>
@@ -521,23 +548,30 @@
       <option name="project" value="LOCAL" />
       <updated>1606964298016</updated>
     </task>
-    <option name="localTasksCounter" value="20" />
+    <task id="LOCAL-00020" summary="tv build">
+      <created>1606972962641</created>
+      <option name="number" value="00020" />
+      <option name="presentableId" value="LOCAL-00020" />
+      <option name="project" value="LOCAL" />
+      <updated>1606972962641</updated>
+    </task>
+    <option name="localTasksCounter" value="21" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="343177000" />
+    <option name="totallyTimeSpent" value="368952000" />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-2568" y="0" width="1859" height="1395" extended-state="0" />
+    <frame x="-2568" y="-8" width="2576" height="1395" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2149637" />
+      <window_info content_ui="combo" id="Project" order="0" weight="0.2699362" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.24973656" />
       <window_info id="Favorites" order="2" side_tool="true" weight="0.32982087" />
       <window_info id="npm" order="3" side_tool="true" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" weight="0.32687446" />
-      <window_info anchor="bottom" id="Run" order="2" sideWeight="0.49920255" visible="true" weight="0.2274642" />
+      <window_info anchor="bottom" id="Run" order="2" sideWeight="0.49920255" weight="0.2274642" />
       <window_info anchor="bottom" id="Debug" order="3" weight="0.21468298" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
@@ -616,7 +650,8 @@
     <MESSAGE value="测试翻页问题" />
     <MESSAGE value="pc part" />
     <MESSAGE value="chang img" />
-    <option name="LAST_COMMIT_MESSAGE" value="chang img" />
+    <MESSAGE value="tv build" />
+    <option name="LAST_COMMIT_MESSAGE" value="tv build" />
   </component>
   <component name="WindowStateProjectService">
     <state x="-1830" y="274" width="1099" height="859" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1604022799787">
@@ -661,70 +696,6 @@
     <state x="-2342" y="308" width="840" height="1034" key="search.everywhere.popup/0.0.1920.1019/-2560.0.2560.1379@-2560.0.2560.1379" timestamp="1604114774442" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/static/img/people/sxf.png" />
-    <entry file="file://$PROJECT_DIR$/src/static/img/newRecord/record_icon.svg">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/static/img/newRecord/record_title.svg">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/static/img/newRecord/record.svg">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/static/img/newRecord/record.png">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/static/img/people/flyhead.svg" />
-    <entry file="file://$PROJECT_DIR$/src/components/newRecord.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="336">
-          <caret line="130" column="27" lean-forward="true" selection-start-line="130" selection-start-column="6" selection-end-line="130" selection-end-column="27" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/libs/rem.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="63">
-          <caret line="3" column="15" lean-forward="true" selection-start-line="3" selection-start-column="15" selection-end-line="3" selection-end-column="15" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/App.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="9" column="9" lean-forward="true" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/Mock/index.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="932">
-          <caret line="117" column="49" selection-start-line="117" selection-start-column="38" selection-end-line="117" selection-end-column="49" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/views/gropePk.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="42">
-          <caret line="2" column="14" selection-start-line="2" selection-start-column="14" selection-end-line="2" selection-end-column="14" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/assets/css/main.css">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-630" />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/assets/css/bg.css">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1076">
-          <caret line="56" column="25" selection-start-line="56" selection-start-column="25" selection-end-line="56" selection-end-column="25" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/static/img/rank/recordIcon.svg">
-      <provider selected="true" editor-type-id="images" />
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/api/test.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="336">
@@ -748,13 +719,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/components/Headside.vue">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="433">
-          <caret line="35" column="34" lean-forward="true" selection-start-line="35" selection-start-column="34" selection-end-line="35" selection-end-column="34" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/api/getApiRes.js">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="432">
@@ -775,17 +739,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/main.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="294">
-          <caret line="14" column="6" lean-forward="true" selection-start-line="14" selection-start-column="6" selection-end-line="14" selection-end-column="6" />
-          <folding>
-            <element signature="e#0#21#0" expanded="true" />
-            <element signature="e#136#171#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/views/test.vue">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="105">
@@ -833,13 +786,6 @@
     <entry file="file://$PROJECT_DIR$/src/static/img/s1.svg">
       <provider selected="true" editor-type-id="images" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/vue.config.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="546">
-          <caret line="26" column="59" selection-start-line="26" selection-start-column="59" selection-end-line="26" selection-end-column="59" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/assets/img/pk/blueFlag.svg">
       <provider selected="true" editor-type-id="images" />
     </entry>
@@ -855,85 +801,170 @@
     <entry file="file://$PROJECT_DIR$/src/assets/img/pk/vs.svg">
       <provider selected="true" editor-type-id="images" />
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/views/Rank.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="200">
+          <caret line="83" column="41" selection-start-line="83" selection-start-column="25" selection-end-line="83" selection-end-column="41" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/assets/img/3pk/3pkbg.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/vue.config.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="546">
+          <caret line="26" column="59" selection-start-line="26" selection-start-column="59" selection-end-line="26" selection-end-column="59" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/App.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="189">
+          <caret line="9" column="9" lean-forward="true" selection-start-line="9" selection-start-column="9" selection-end-line="9" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/public/favicon.ico">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/Global.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="98">
-          <caret line="95" column="13" selection-start-line="95" selection-end-line="95" selection-end-column="13" />
+        <state relative-caret-position="929">
+          <caret line="393" column="53" selection-start-line="393" selection-start-column="53" selection-end-line="393" selection-end-column="53" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/views/Main.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-6069">
+          <caret line="18" selection-start-line="18" selection-end-line="18" />
+          <folding>
+            <element signature="e#5267#5311#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/views/Wait.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="191">
-          <caret line="134" selection-start-line="134" selection-end-line="134" />
+        <state relative-caret-position="464">
+          <caret line="370" column="67" selection-start-line="370" selection-start-column="67" selection-end-line="370" selection-end-column="67" />
           <folding>
+            <element signature="e#4880#4924#0" expanded="true" />
             <element signature="n#style#0;n#s#0;n#!!top" expanded="true" />
             <element signature="n#style#0;n#s#0;n#!!top" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/views/Main.vue">
+    <entry file="file://$PROJECT_DIR$/src/main.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-3150">
-          <caret line="18" selection-start-line="18" selection-end-line="18" />
+        <state relative-caret-position="252">
+          <caret line="12" column="43" lean-forward="true" selection-start-line="12" selection-start-column="43" selection-end-line="12" selection-end-column="43" />
           <folding>
-            <element signature="e#5267#5311#0" expanded="true" />
+            <element signature="e#0#21#0" expanded="true" />
+            <element signature="e#136#171#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/views/Rank.vue">
+    <entry file="file://$PROJECT_DIR$/src/components/Headside.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="200">
-          <caret line="83" column="41" selection-start-line="83" selection-start-column="25" selection-end-line="83" selection-end-column="41" />
+        <state relative-caret-position="1239">
+          <caret line="75" column="27" selection-start-line="75" selection-start-column="27" selection-end-line="75" selection-end-column="27" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/views/2pkRank.vue">
+    <entry file="file://$PROJECT_DIR$/src/views/Index.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="44" column="34" lean-forward="true" selection-start-line="44" selection-start-column="34" selection-end-line="44" selection-end-column="34" />
+        <state relative-caret-position="462">
+          <caret line="41" column="33" lean-forward="true" selection-start-line="41" selection-start-column="33" selection-end-line="41" selection-end-column="33" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/router/index.js">
+    <entry file="file://$PROJECT_DIR$/src/libs/rem.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="513">
-          <caret line="84" column="29" selection-start-line="84" selection-start-column="29" selection-end-line="84" selection-end-column="29" />
-          <folding>
-            <element signature="e#0#21#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="252">
+          <caret line="12" column="1" lean-forward="true" selection-start-line="12" selection-start-column="1" selection-end-line="12" selection-end-column="1" />
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/public/index.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="126">
+          <caret line="6" column="73" selection-start-line="6" selection-start-column="73" selection-end-line="6" selection-end-column="73" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/assets/img/pk/yellowFlag.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/assets/img/threepk/yellowcube.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/static/img/pk/rcube.png">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/assets/img/threepk/blueCube.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/views/pk.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="189">
-          <caret line="489" selection-start-line="489" selection-end-line="506" selection-end-column="5" />
+        <state relative-caret-position="147">
+          <caret line="7" column="65" selection-start-line="7" selection-start-column="42" selection-end-line="7" selection-end-column="65" />
           <folding>
-            <element signature="e#4878#4899#0" expanded="true" />
+            <element signature="e#8460#9803#0" />
+            <element signature="e#9829#9984#0" />
+            <element signature="e#10003#17874#0" />
+            <element signature="e#17893#18362#0" />
+            <element signature="e#18379#19254#0" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/views/Index.vue">
+    <entry file="file://$PROJECT_DIR$/src/assets/img/3pkRank/yellowtit.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/router/index.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="-714">
-          <caret line="5" selection-start-line="5" selection-end-line="5" />
+        <state relative-caret-position="660">
+          <caret line="91" column="29" selection-start-line="91" selection-start-column="29" selection-end-line="91" selection-end-column="29" />
+          <folding>
+            <element signature="e#0#21#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/assets/img/3pk/3pkbg.svg">
+    <entry file="file://$PROJECT_DIR$/src/assets/img/3pkRank/rank2.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/assets/img/3pkRank/pk.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/assets/img/3pkRank/rank1.svg">
       <provider selected="true" editor-type-id="images" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/views/3pk.vue">
+    <entry file="file://$PROJECT_DIR$/src/assets/img/3pkRank/redMvp.svg">
+      <provider selected="true" editor-type-id="images" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/views/2pkRank.vue">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="323">
-          <caret line="24" column="35" lean-forward="true" selection-start-line="24" selection-start-column="35" selection-end-line="24" selection-end-column="35" />
-          <folding>
-            <element signature="e#105#126#0" expanded="true" />
-          </folding>
+        <state relative-caret-position="462">
+          <caret line="38" column="20" selection-start-line="38" selection-start-column="20" selection-end-line="38" selection-end-column="20" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/views/3pkRank.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="441">
+          <caret line="153" column="30" selection-start-line="153" selection-start-column="30" selection-end-line="153" selection-end-column="30" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/views/threepk.vue">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="380">
+          <caret line="396" column="45" lean-forward="true" selection-start-line="396" selection-start-column="45" selection-end-line="396" selection-end-column="45" />
         </state>
       </provider>
     </entry>

+ 2 - 1
tv/public/index.html

@@ -3,7 +3,8 @@
   <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width,initial-scale=1.0">
+    <!--<meta name="viewport" content="width=device-width,initial-scale=1.0">-->
+      <meta name="viewport" content="width=device-width,initial-scale=1.5,maximum-scale=1.0,user-scalable=no" />
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= htmlWebpackPlugin.options.title %></title>
   </head>

+ 1 - 1
tv/src/Global.js

@@ -391,6 +391,6 @@ numberToWeekdays = function (val) {
 // 随机背景
 RandomBg = function () {
     let bgClassNum = parseInt(Math.random() * 3)+1;
-    let bgClass = 'bgStyle' + bgClassNum + '  pages';
+    let bgClass = 'bgStyle' + bgClassNum + '  pages' ;
     return bgClass;
 };

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 0
tv/src/assets/img/3pkRank/3pkbg.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 46 - 0
tv/src/assets/img/3pkRank/blueMvp.svg


+ 16 - 0
tv/src/assets/img/3pkRank/bluetit.svg

@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="456" height="90" viewBox="0 0 456 90">
+  <defs>
+    <linearGradient id="linear-gradient" x1="0.987" y1="1" x2="0" y2="1" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#1604ff"/>
+      <stop offset="1" stop-color="#1604ff" stop-opacity="0"/>
+    </linearGradient>
+    <linearGradient id="linear-gradient-2" x1="0.013" x2="1" xlink:href="#linear-gradient"/>
+  </defs>
+  <g id="tit" transform="translate(-135 -220)">
+    <rect id="矩形_91" data-name="矩形 91" width="100" height="72" transform="translate(135 238)" fill="url(#linear-gradient)"/>
+    <path id="路径_157" data-name="路径 157" d="M197,292h38v18Z" fill="#1a00c3"/>
+    <rect id="矩形_92" data-name="矩形 92" width="100" height="72" transform="translate(491 238)" fill="url(#linear-gradient-2)"/>
+    <path id="路径_158" data-name="路径 158" d="M235,292H197v18Z" transform="translate(294)" fill="#1a00c3"/>
+    <path id="路径_159" data-name="路径 159" d="M0,0H332V72H0Z" transform="translate(197 220)" fill="#0920fa"/>
+  </g>
+</svg>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 17 - 0
tv/src/assets/img/3pkRank/pk.svg


+ 9 - 0
tv/src/assets/img/3pkRank/rank1.svg

@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="30.832" height="40" viewBox="0 0 30.832 40">
+  <g id="名次" transform="translate(0 813.914)">
+    <path id="路径_164" data-name="路径 164" d="M92.809-373.484l4.939-3.629,2.461,5.61,4.614-17.217-7.4-1.984Z" transform="translate(-88.248 -402.412)" fill="#efac44"/>
+    <path id="路径_165" data-name="路径 165" d="M290.074-388.719l4.615,17.217,2.462-5.61,4.939,3.627L297.475-390.7Z" transform="translate(-275.818 -402.412)" fill="#efac44"/>
+    <path id="路径_166" data-name="路径 166" d="M15.416-813.914l-2.831,1.173H9.517l-2.169,2.169L4.516-809.4l-1.174,2.832L1.173-804.4v3.066L0-798.5l1.173,2.833v3.066l2.169,2.169L4.516-787.6l2.832,1.174,2.169,2.169h3.066l2.834,1.173,2.833-1.173h3.066l2.169-2.169,2.834-1.174,1.173-2.832L29.66-792.6v-3.065l1.173-2.834-1.174-2.834V-804.4l-2.167-2.169L26.318-809.4l-2.834-1.174-2.169-2.169H18.251Z" fill="#ffde61"/>
+    <path id="路径_167" data-name="路径 167" d="M135.916-687.687A9.688,9.688,0,0,1,126.227-678a9.688,9.688,0,0,1-9.688-9.688,9.688,9.688,0,0,1,9.688-9.688A9.688,9.688,0,0,1,135.916-687.687Z" transform="translate(-110.812 -110.812)" fill="#efac44"/>
+    <text id="_1" data-name="1" transform="translate(16 -792.914)" fill="#fff" font-size="16" font-family="SourceHanSansCN-Bold, Source Han Sans CN" font-weight="700"><tspan x="-4.712" y="0">1</tspan></text>
+  </g>
+</svg>

+ 9 - 0
tv/src/assets/img/3pkRank/rank2.svg

@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="30.832" height="40" viewBox="0 0 30.832 40">
+  <g id="名次" transform="translate(0 813.914)">
+    <path id="路径_164" data-name="路径 164" d="M92.809-373.484l4.939-3.629,2.461,5.61,4.614-17.217-7.4-1.984Z" transform="translate(-88.248 -402.412)" fill="#b1c8d6"/>
+    <path id="路径_165" data-name="路径 165" d="M290.074-388.719l4.615,17.217,2.462-5.61,4.939,3.627L297.475-390.7Z" transform="translate(-275.818 -402.412)" fill="#b1c8d6"/>
+    <path id="路径_166" data-name="路径 166" d="M15.416-813.914l-2.831,1.173H9.517l-2.169,2.169L4.516-809.4l-1.174,2.832L1.173-804.4v3.066L0-798.5l1.173,2.833v3.066l2.169,2.169L4.516-787.6l2.832,1.174,2.169,2.169h3.066l2.834,1.173,2.833-1.173h3.066l2.169-2.169,2.834-1.174,1.173-2.832L29.66-792.6v-3.065l1.173-2.834-1.174-2.834V-804.4l-2.167-2.169L26.318-809.4l-2.834-1.174-2.169-2.169H18.251Z" fill="#d1dfe8"/>
+    <path id="路径_167" data-name="路径 167" d="M135.916-687.687A9.688,9.688,0,0,1,126.227-678a9.688,9.688,0,0,1-9.688-9.688,9.688,9.688,0,0,1,9.688-9.688A9.688,9.688,0,0,1,135.916-687.687Z" transform="translate(-110.812 -110.812)" fill="#a1b5c1"/>
+    <text id="_2" data-name="2" transform="translate(16 -792.914)" fill="#fff" font-size="16" font-family="SourceHanSansCN-Bold, Source Han Sans CN" font-weight="700"><tspan x="-4.712" y="0">2</tspan></text>
+  </g>
+</svg>

+ 9 - 0
tv/src/assets/img/3pkRank/rank3.svg

@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="30.832" height="40" viewBox="0 0 30.832 40">
+  <g id="名次" transform="translate(0 813.914)">
+    <path id="路径_164" data-name="路径 164" d="M92.809-373.484l4.939-3.629,2.461,5.61,4.614-17.217-7.4-1.984Z" transform="translate(-88.248 -402.412)" fill="#ccab78"/>
+    <path id="路径_165" data-name="路径 165" d="M290.074-388.719l4.615,17.217,2.462-5.61,4.939,3.627L297.475-390.7Z" transform="translate(-275.818 -402.412)" fill="#ccab78"/>
+    <path id="路径_166" data-name="路径 166" d="M15.416-813.914l-2.831,1.173H9.517l-2.169,2.169L4.516-809.4l-1.174,2.832L1.173-804.4v3.066L0-798.5l1.173,2.833v3.066l2.169,2.169L4.516-787.6l2.832,1.174,2.169,2.169h3.066l2.834,1.173,2.833-1.173h3.066l2.169-2.169,2.834-1.174,1.173-2.832L29.66-792.6v-3.065l1.173-2.834-1.174-2.834V-804.4l-2.167-2.169L26.318-809.4l-2.834-1.174-2.169-2.169H18.251Z" fill="#edc78c"/>
+    <path id="路径_167" data-name="路径 167" d="M135.916-687.687A9.688,9.688,0,0,1,126.227-678a9.688,9.688,0,0,1-9.688-9.688,9.688,9.688,0,0,1,9.688-9.688A9.688,9.688,0,0,1,135.916-687.687Z" transform="translate(-110.812 -110.812)" fill="#c89e5e"/>
+    <text id="_3" data-name="3" transform="translate(16 -792.914)" fill="#fff" font-size="16" font-family="SourceHanSansCN-Bold, Source Han Sans CN" font-weight="700"><tspan x="-4.712" y="0">3</tspan></text>
+  </g>
+</svg>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 46 - 0
tv/src/assets/img/3pkRank/redMvp.svg


+ 16 - 0
tv/src/assets/img/3pkRank/redtit.svg

@@ -0,0 +1,16 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="456" height="90" viewBox="0 0 456 90">
+  <defs>
+    <linearGradient id="linear-gradient" x1="0.987" y1="1" x2="0" y2="1" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#c3234f"/>
+      <stop offset="1" stop-color="#c3234f" stop-opacity="0"/>
+    </linearGradient>
+    <linearGradient id="linear-gradient-2" x1="0.013" x2="1" xlink:href="#linear-gradient"/>
+  </defs>
+  <g id="tit" transform="translate(-135 -220)">
+    <rect id="矩形_91" data-name="矩形 91" width="100" height="72" transform="translate(135 238)" fill="url(#linear-gradient)"/>
+    <path id="路径_157" data-name="路径 157" d="M197,292h38v18Z" fill="#7b1d2e"/>
+    <rect id="矩形_92" data-name="矩形 92" width="100" height="72" transform="translate(491 238)" fill="url(#linear-gradient-2)"/>
+    <path id="路径_158" data-name="路径 158" d="M235,292H197v18Z" transform="translate(294)" fill="#7b1d2e"/>
+    <rect id="矩形_90" data-name="矩形 90" width="332" height="72" transform="translate(197 220)" fill="#ff3f52"/>
+  </g>
+</svg>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 46 - 0
tv/src/assets/img/3pkRank/yellowMvp.svg


+ 19 - 0
tv/src/assets/img/3pkRank/yellowtit.svg

@@ -0,0 +1,19 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="456" height="90" viewBox="0 0 456 90">
+  <defs>
+    <linearGradient id="linear-gradient" x1="0.987" y1="1" x2="0" y2="1" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#ceb31e"/>
+      <stop offset="1" stop-color="#ceb31e" stop-opacity="0"/>
+    </linearGradient>
+    <linearGradient id="linear-gradient-2" x1="0.013" y1="1" x2="1" y2="1" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#acbb14"/>
+      <stop offset="1" stop-color="#ceb31e" stop-opacity="0"/>
+    </linearGradient>
+  </defs>
+  <g id="tit" transform="translate(-135 -220)">
+    <rect id="矩形_91" data-name="矩形 91" width="100" height="72" transform="translate(135 238)" fill="url(#linear-gradient)"/>
+    <path id="路径_157" data-name="路径 157" d="M197,292h38v18Z" fill="#928121"/>
+    <rect id="矩形_92" data-name="矩形 92" width="100" height="72" transform="translate(491 238)" fill="url(#linear-gradient-2)"/>
+    <path id="路径_158" data-name="路径 158" d="M235,292H197v18Z" transform="translate(294)" fill="#928121"/>
+    <path id="路径_159" data-name="路径 159" d="M0,0H332V72H0Z" transform="translate(197 220)" fill="#ecd034"/>
+  </g>
+</svg>

+ 21 - 0
tv/src/assets/img/pk/yellowFlag.svg

@@ -0,0 +1,21 @@
+<svg id="组_146" data-name="组 146" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="19.798" height="20" viewBox="0 0 19.798 20">
+  <defs>
+    <clipPath id="clip-path">
+      <path id="路径_97" data-name="路径 97" d="M0-797H19.8v-20H0Z" transform="translate(0 817)" fill="none" clip-rule="evenodd"/>
+    </clipPath>
+  </defs>
+  <g id="组_164" data-name="组 164" transform="translate(0 0)">
+    <g id="组_163" data-name="组 163" transform="translate(0 0)" clip-path="url(#clip-path)">
+      <path id="路径_87" data-name="路径 87" d="M119.8-747.553l.064,0a2.563,2.563,0,0,1,1.037.3,1.257,1.257,0,0,0,.749.184,2.249,2.249,0,0,1,.989.172,6.984,6.984,0,0,1,.682.307c.178.088.365.178.549.254a1.442,1.442,0,0,1,.154.078,1.127,1.127,0,0,0,.147.074c.3.115.566.2.836.282a2.173,2.173,0,0,0,.543.053,3.568,3.568,0,0,1,.523.037,1.229,1.229,0,0,0,.228.008,1.686,1.686,0,0,1,.245.006,8.073,8.073,0,0,1,1.182.25,4.392,4.392,0,0,1,1.294.552c.073.051.145.106.214.162a4.539,4.539,0,0,1,.661.751,3.944,3.944,0,0,0,.506.589l.019.018a8.041,8.041,0,0,0,.705.557,3.064,3.064,0,0,0,1.686.581.081.081,0,0,1,.046-.037l.037-.01.031.022a.084.084,0,0,1,.027.109c0,.006-.008.018-.014.033-.015.035-.027.063-.037.088-.041.094-.058.137-.106.262-.008.024-.017.045-.025.068-.019.051-.037.1-.054.149a4.154,4.154,0,0,0,.446,2.555c.369.974.717,1.9.367,2.58-.514,1-.085,2.963.365,3.973l.058.131-.141-.014a28.426,28.426,0,0,1-4.443-.894,3.587,3.587,0,0,1-.726-.422c-.164-.114-.342-.239-.514-.362s-.352-.25-.518-.366a3.616,3.616,0,0,0-.757-.434,4.081,4.081,0,0,1-.873-.511l-.108-.074a3.722,3.722,0,0,0-1.273-.671c-.156-.02-.315-.033-.473-.043s-.3-.01-.454-.012a4.057,4.057,0,0,1-.709-.043,8.809,8.809,0,0,1-.892-.219c-.247-.076-.5-.164-.8-.276a.654.654,0,0,0-.153-.027.719.719,0,0,1-.2-.039,3.834,3.834,0,0,1-.535-.28,3.55,3.55,0,0,0-.6-.3c-.216-.076-.419-.143-.62-.2a8.385,8.385,0,0,0-2.067-.385l-.1,0Z" transform="translate(-114.175 749.251)"/>
+      <path id="路径_88" data-name="路径 88" d="M.043-796.931A.115.115,0,0,1,0-797.056L5.33-815.268l-.043-.014a.319.319,0,0,1-.093-.045.278.278,0,0,1-.122-.3.252.252,0,0,1,.11-.143s0-.006,0-.01a.239.239,0,0,1,.131-.147.285.285,0,0,1,.2-.012l.01,0,.01-.035a.484.484,0,0,1-.149-.5.485.485,0,0,1,.226-.284.47.47,0,0,1,.359-.039.475.475,0,0,1,.131.063.482.482,0,0,1,.187.532.477.477,0,0,1-.326.325l-.019.066a.312.312,0,0,1,.081.039.248.248,0,0,1,.108.274s0,.006,0,.01a.254.254,0,0,1,.015.18.261.261,0,0,1-.145.162.316.316,0,0,1-.22.012l-.031-.01L.505-797.206c-.093.317-.1.331-.143.352a.078.078,0,0,1-.066.006l-.23-.071A.066.066,0,0,1,.043-796.931Z" transform="translate(0 816.819)" fill="#231715"/>
+      <path id="路径_89" data-name="路径 89" d="M9.3-808.095l.232.07c.01,0,.013.018.091-.246L3.959-788.887c-.087.3-.1.307-.108.3l-.234-.069c-.01,0-.013-.018-.008-.033L9.277-808.07C9.283-808.087,9.294-808.1,9.3-808.095Z" transform="translate(-3.52 808.484)" fill="#fff"/>
+      <path id="路径_90" data-name="路径 90" d="M226.352-812.252a.39.39,0,0,0,.485-.266.4.4,0,0,0-.263-.493.39.39,0,0,0-.485.266A.4.4,0,0,0,226.352-812.252Z" transform="translate(-220.615 813.124)" fill="#c3af00"/>
+      <path id="路径_91" data-name="路径 91" d="M251.956-784.647C251.961-784.616,251.944-784.694,251.956-784.647Z" transform="translate(-245.868 785.453)" fill="#fff"/>
+      <path id="路径_92" data-name="路径 92" d="M231.066-809.09a.152.152,0,0,0,.149.016.136.136,0,0,0,.079-.119.156.156,0,0,0-.07-.135.151.151,0,0,0-.149-.016.136.136,0,0,0-.079.119A.16.16,0,0,0,231.066-809.09Z" transform="translate(-225.419 809.544)" fill="#ece738"/>
+      <path id="路径_93" data-name="路径 93" d="M218.361-777.781l.427.129a.181.181,0,0,1,.137.211.177.177,0,0,1-.228.1l-.427-.129a.181.181,0,0,1-.137-.211A.176.176,0,0,1,218.361-777.781Z" transform="translate(-212.861 778.749)" fill="#c3af00"/>
+      <path id="路径_94" data-name="路径 94" d="M213.749-772.229l.494.149a.212.212,0,0,1,.16.244.205.205,0,0,1-.265.117l-.495-.149a.212.212,0,0,1-.16-.245A.2.2,0,0,1,213.749-772.229Z" transform="translate(-208.325 773.334)" fill="#c3af00"/>
+      <path id="路径_95" data-name="路径 95" d="M216.228-775.744a1.425,1.425,0,0,0,.278.064c.06,0,.066-.014.014-.045a1.4,1.4,0,0,0-.265-.108,1.426,1.426,0,0,0-.278-.064c-.06,0-.066.014-.014.045A1.4,1.4,0,0,0,216.228-775.744Zm.095-.225a1.072,1.072,0,0,0,.2.047c.043,0,.044-.006.008-.026a1.118,1.118,0,0,0-.187-.072,1.048,1.048,0,0,0-.2-.047c-.042,0-.044.006-.008.025A1.115,1.115,0,0,0,216.323-775.969Z" transform="translate(-210.714 777.069)" fill="#ece738"/>
+      <path id="路径_96" data-name="路径 96" d="M124.976-738.674l.064,0a2.55,2.55,0,0,1,1.018.3,1.266,1.266,0,0,0,.736.188,2.268,2.268,0,0,1,.97.18c.23.088.456.2.67.305.176.088.359.18.539.252a1.663,1.663,0,0,1,.153.078,1.236,1.236,0,0,0,.143.074c.3.115.556.205.821.284a2.289,2.289,0,0,0,.533.059,3.412,3.412,0,0,1,.512.043,1.154,1.154,0,0,0,.222.01,1.405,1.405,0,0,1,.241.01,8.147,8.147,0,0,1,1.161.258,4.446,4.446,0,0,1,1.273.552c.072.049.143.1.211.16a4.753,4.753,0,0,1,.657.735,3.989,3.989,0,0,0,.5.577l.019.016c.218.184.444.376.7.55a3.11,3.11,0,0,0,1.655.585.067.067,0,0,1,.046-.035l.035-.01.031.022a.083.083,0,0,1,.027.106c0,.006-.008.018-.014.031l-.035.084c-.039.09-.054.131-.1.25l-.023.067c-.017.049-.035.1-.05.143a4.032,4.032,0,0,0,.469,2.478c.373.949.726,1.844.394,2.5-.489.962-.044,2.866.408,3.847l.058.127-.137-.016a28.779,28.779,0,0,1-4.358-.923,3.659,3.659,0,0,1-.717-.419c-.162-.111-.336-.235-.506-.358s-.346-.248-.512-.362a3.716,3.716,0,0,0-.746-.43,4.1,4.1,0,0,1-.859-.5l-.108-.074a3.813,3.813,0,0,0-1.254-.667c-.154-.019-.309-.037-.464-.049s-.3-.014-.444-.018a3.879,3.879,0,0,1-.7-.053,8.729,8.729,0,0,1-.877-.225c-.243-.076-.494-.166-.786-.278a.74.74,0,0,0-.149-.029.712.712,0,0,1-.191-.041,4.27,4.27,0,0,1-.529-.278,3.456,3.456,0,0,0-.593-.3c-.212-.078-.411-.143-.608-.2a8.439,8.439,0,0,0-2.026-.4l-.1-.006Z" transform="translate(-119.405 740.589)" fill="#ffd800"/>
+    </g>
+  </g>
+</svg>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 0
tv/src/assets/img/threepk/blueCube.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 0
tv/src/assets/img/threepk/redCube.svg


BIN
tv/src/assets/img/threepk/threepkbg.png


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 0
tv/src/assets/img/threepk/yellowcube.svg


+ 1 - 1
tv/src/components/Headside.vue

@@ -73,7 +73,7 @@
         background: url("../static/img/logo.svg");
         background-position: top center;
         background-repeat: no-repeat;
-        background-size: 16%;
+        background-size: 14%;
     }
 
     * {

+ 10 - 5
tv/src/libs/rem.js

@@ -1,16 +1,21 @@
 // 设置 rem 函数
-function setRem () {
+function setRem() {
 
     // 320 默认大小16px; 320px = 20rem ;每个元素px基础上/16
     let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
-//得到html的Dom元素
+
+    console.log('htmlWidth:' + htmlWidth);
+
+    //得到html的Dom元素
     let htmlDom = document.getElementsByTagName('html')[0];
-//设置根元素字体大小
-    htmlDom.style.fontSize= htmlWidth/20 + 'px';
+    //设置根元素字体大小
+    htmlDom.style.fontSize = htmlWidth / 20 + 'px';
 }
+
 // 初始化
 setRem();
 // 改变窗口大小时重新设置 rem
 window.onresize = function () {
     setRem()
-}
+};
+

+ 0 - 1
tv/src/main.js

@@ -10,7 +10,6 @@ import axios from 'axios'
 import VConsole from 'vconsole/dist/vconsole.min.js' //import vconsole
 
 if(process.env.NODE_ENV === 'development'){
-    console.log(123);
     // let vConsole = new VConsole() // 初始化
 }else{
 

+ 12 - 4
tv/src/router/index.js

@@ -77,11 +77,19 @@ const routes = [
                     clmid: "5",
                 }
             },{
-                path: '/3pk',
-                name: '3pk',
-                component: () => import('@/views/3pk.vue'),
+                path: '/threepk',
+                name: 'threepk',
+                component: () => import('@/views/threepk.vue'),
                 meta: {
-                    title: "3pk",
+                    title: "threepk",
+                    clmid: "6",
+                }
+            },{
+                path: '/3pkRank',
+                name: 'threepk',
+                component: () => import('@/views/3pkRank.vue'),
+                meta: {
+                    title: "3pkRank",
                     clmid: "6",
                 }
             },{

+ 0 - 43
tv/src/views/3pk.vue

@@ -1,43 +0,0 @@
-<template>
-    <div class="pages">
-        <Headside></Headside>
-    </div>
-</template>
-
-<script>
-    import '../libs/rem';
-    import Headside from '@/components/Headside'
-    import {
-        getHello,
-        getClassStat
-    } from '@/api/getApiRes'
-    import '../libs/rem';
-    let qs = require('qs');
-
-    export default {
-        name: "3pk",
-        components: {
-            Headside
-        }
-    }
-</script>
-<style scoped>
-    @import "../assets/css/bg.css";
-
-    .pages {
-        position: absolute;
-        top: 0;
-        left: 0;
-        right: 0;
-        bottom: 0;
-        width: 100%;
-        overflow: hidden;
-        display: block;
-        margin: 0 auto;
-        background-color: #028fe1;
-        background: url("../assets/img/3pk/3pkbg.png");
-        background-size: 100%;
-        background-repeat: no-repeat;
-    }
-
-</style>

+ 718 - 0
tv/src/views/3pkRank.vue

@@ -0,0 +1,718 @@
+<template>
+    <div :class="pageStyle">
+        <Headside></Headside>
+        <div class="rankContainer">
+            <div class="sumScore">
+                <div class="sumlt">
+                    <img src="../assets/img/3pkRank/rank1.svg" alt="" class="rankIcon" v-if="red.rank == 1">
+                    <img src="../assets/img/3pkRank/rank2.svg" alt="" class="rankIcon" v-if="red.rank == 2">
+                    <img src="../assets/img/3pkRank/rank3.svg" alt="" class="rankIcon" v-if="red.rank == 3">
+                    <span class="mineUniteName">
+                        红队
+                        <span class="sumCK">
+                            <em>{{redSum}}</em><i>ck</i>
+                        </span>
+                        <span class="flagContainer">
+                            <img src="../assets/img/2pkRank/flag.svg" alt="" v-if="red.rank == 1">
+                        </span>
+                    </span>
+                </div>
+                <div class="pkIconContainer">
+                    <img src="../assets/img/3pkRank/pk.svg" alt="" class="pkIcon">
+                </div>
+                <div class="summd">
+                    <img src="../assets/img/3pkRank/rank1.svg" alt="" class="rankIcon" v-if="blue.rank == 1">
+                    <img src="../assets/img/3pkRank/rank2.svg" alt="" class="rankIcon" v-if="blue.rank == 2">
+                    <img src="../assets/img/3pkRank/rank3.svg" alt="" class="rankIcon" v-if="blue.rank == 3">
+                    <span class="mineUniteName">
+                        蓝队
+                        <span class="sumCK">
+                            <em>{{blueSum}}</em><i>ck</i>
+                        </span>
+                        <span class="flagContainer">
+                            <img src="../assets/img/2pkRank/flag.svg" alt="" v-if="blue.rank == 1">
+                        </span>
+                    </span>
+                </div>
+                <div class="pkIconContainer">
+                    <img src="../assets/img/3pkRank/pk.svg" alt="" class="pkIcon">
+                </div>
+                <div class="sumrt">
+                    <img src="../assets/img/3pkRank/rank1.svg" alt="" class="rankIcon" v-if="yellow.rank == 1">
+                    <img src="../assets/img/3pkRank/rank2.svg" alt="" class="rankIcon" v-if="yellow.rank == 2">
+                    <img src="../assets/img/3pkRank/rank3.svg" alt="" class="rankIcon" v-if="yellow.rank == 3">
+                    <span class="mineUniteName">
+                        黄队
+                        <span class="sumCK">
+                            <em>{{yellowSum}}</em><i>ck</i>
+                        </span>
+                        <span class="flagContainer">
+                            <img src="../assets/img/2pkRank/flag.svg" alt="" v-if="yellow.rank == 1">
+                        </span>
+                    </span>
+                </div>
+            </div>
+            <div class="list">
+                <div class="part">
+                    <li v-for="(s,i) in students.redUnite" :class="[{'redUnite':true},{'mvpli':i == 0}]">
+                        <div>
+                            <div class="head">
+                                <img :src="s.Head"
+                                     class="headImg" alt="">
+                                <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="red.rank == 1">
+                            </div>
+                            <div class="name">
+                                {{s.Name}}
+                            </div>
+                            <div class="CLEscore">
+                                <em>CLE</em>
+                                {{s.Cle|fmtInt}}
+                            </div>
+                            <div class="CKscore">
+                                <em>ck</em>
+                                {{s.Ck|fmtFloat}}
+                            </div>
+                            <div class="record">
+                                <img src="../assets/img/3pkRank/redMvp.svg" class="mvpImg" alt=""
+                                     v-if="i == 0">
+                            </div>
+                        </div>
+                    </li>
+                </div>
+                <div class="part">
+                    <li v-for="(s,i) in students.blueUnite" :class="[{'blueUnite':true},{'mvpli':i == 0}]">
+                        <div>
+                            <div class="head">
+                                <img :src="s.Head"
+                                     class="headImg" alt="">
+                                <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="blue.rank == 1">
+                            </div>
+                            <div class="name">
+                                {{s.Name}}
+                            </div>
+                            <div class="CLEscore">
+                                <em>CLE</em>
+                                {{s.Cle|fmtInt}}
+                            </div>
+                            <div class="CKscore">
+                                <em>ck</em>
+                                {{s.Ck|fmtFloat}}
+                            </div>
+                            <div class="record">
+                                <img src="../assets/img/3pkRank/blueMvp.svg" class="mvpImg" alt=""
+                                     v-if="i == 0">
+                            </div>
+                        </div>
+                    </li>
+                </div>
+                <div class="part">
+                    <li v-for="(s,i) in students.yellowUnite" :class="[{'yellowUnite':true},{'mvpli':i == 0}]">
+                        <div>
+                            <div class="head">
+                                <img :src="s.Head"
+                                     class="headImg" alt="">
+                                <img src="../assets/img/2pkRank/king.svg" class="king" alt="" v-if="yellow.rank == 1">
+                            </div>
+                            <div class="name">
+                                {{s.Name}}
+                            </div>
+                            <div class="CLEscore">
+                                <em>CLE</em>
+                                {{s.Cle|fmtInt}}
+                            </div>
+                            <div class="CKscore">
+                                <em>ck</em>
+                                {{s.Ck|fmtFloat}}
+                            </div>
+                            <div class="record">
+                                <img src="../assets/img/3pkRank/yellowMvp.svg" class="mvpImg" alt=""
+                                     v-if="i == 0">
+                            </div>
+                        </div>
+                    </li>
+                </div>
+            </div>
+
+            <!--blue-->
+            <!--yellow-->
+        </div>
+    </div>
+</template>
+
+<script>
+    import Headside from '@/components/Headside'
+    import '../libs/rem';
+    import '../Global';
+    import {ClassUserRank} from '@/api/getApiRes'
+
+    let qs = require('qs');
+    export default {
+        data() {
+            return {
+                eqSn: '30:9C:23:0C:8B:1E',
+                pageStyle: RandomBg(),
+                trueDate: true,//真实数据 true false
+                autoJump: true,//开启自动跳走
+                students: {
+                    redUnite: [],
+                    blueUnite: [],
+                },
+                red: {
+                    rank: 0,
+                },
+                blue: {
+                    rank: 0,
+                },
+                yellow: {
+                    rank: 0,
+                },
+                rankTimer: null,
+                redSum: 0,
+                blueSum: 0,
+                yellowSum: 0,
+            }
+        },
+        mounted() {
+            let that = this;
+            if (this.trueDate) {
+                this.getClassUserRank();
+                this.rankTimer = setInterval(() => {
+                    this.getClassUserRank();
+                }, 5000);
+
+            } else {
+                let Rs = this.fakeNews(18);
+                that.UniteBreak(Rs);
+            }
+            if (this.autoJump) {
+                // 倒计时60秒自动关闭
+                let that = this;
+                this.totalTime = 60;
+                let clock = window.setInterval(() => {
+                    this.totalTime--;
+                    if (parseInt(this.totalTime) < 0) {
+                        // 前往等待页面
+                        that.$router.push({path: '/wait'});
+                        // 计时器回收
+                        clearInterval(clock);
+                    }
+                }, 1000)
+            }
+        },
+        beforeDestroy() {
+            clearInterval(this.rankTimer);
+            this.rankTimer = null;
+        },
+        methods: {
+            fakeNews(fakeNums) {
+                let item = [];
+                // 1 2 3 5 9 11 13 16 21 30
+                for (var i = 0; i < fakeNums; i++) {
+                    item.push(
+                        {
+                            "SvId": 1,
+                            "UserId": 1,
+                            "Cle": i * 14,
+                            "realHr1": parseInt(Math.random() * 100 + 50),
+                            "realHr": 60,
+                            "activePercent": 30,
+                            "heartRate": 90,
+                            "Steps": 9999,
+                            "PureCalorieNoVo2": 999,
+                            "Name": "刘宇宁",
+                            "updateTime": 1604568915582,
+                            "Ck": i * 9.9,
+                            "Head": "http://192.168.0.2/zw.png",
+                            "GroupNo": i % 2 + 1
+                        }
+                    )
+                }
+                return item;
+            },
+            // 分队展示
+            UniteBreak(Rs) {
+                let that = this;
+                that.students.redUnite = [];
+                that.students.blueUnite = [];
+                that.students.yellowUnite = [];
+                if (!Rs) {
+                    that.students.redUnite = [];
+                    that.students.blueUnite = [];
+                    that.students.yellowUnite = [];
+                } else {
+                    Rs.map(function (item, t) {
+                        if (item.GroupNo == 1) {
+                            that.students.redUnite.push(item);
+                        }
+                        if (item.GroupNo == 2) {
+                            that.students.blueUnite.push(item);
+                        }
+                        if (item.GroupNo == 3) {
+                            that.students.yellowUnite.push(item);
+                        }
+                    })
+
+                }
+                // 排序
+                that.students.redUnite = that.students.redUnite.sort(function (a, b) {
+                    return b.Cle - a.Cle;
+                });
+                that.students.blueUnite = that.students.blueUnite.sort(function (a, b) {
+                    return b.Cle - a.Cle;
+                });
+                that.students.yellowUnite = that.students.yellowUnite.sort(function (a, b) {
+                    return b.Cle - a.Cle;
+                });
+
+                that.calcSumCK(that.students);
+
+            },
+            // 计算各队总分
+            calcSumCK(Rs) {
+                let that = this;
+                let redSum = 0;
+                let blueSum = 0;
+                let yellowSum = 0;
+                Rs.redUnite.map(function (item, t) {
+                    redSum += parseFloat(item.Ck)
+                });
+                Rs.blueUnite.map(function (item, t) {
+                    blueSum += parseFloat(item.Ck)
+                });
+                Rs.yellowUnite.map(function (item, t) {
+                    yellowSum += parseFloat(item.Ck)
+                });
+                that.redSum = redSum.toFixed(1);
+                that.blueSum = blueSum.toFixed(1);
+                that.yellowSum = yellowSum.toFixed(1);
+                let res = [
+                    {name: "red", val: that.redSum},
+                    {name: "blue", val: that.blueSum},
+                    {name: "yellow", val: that.yellowSum},
+                ];
+                that.getUnitRank(res);
+
+            },
+            // 结果排序
+            getUnitRank(res) {
+                 let that = this;
+                let sum = res.sort(function (a, b) {
+                    return b.val - a.val;
+                });
+                sum.map(function (item, i) {
+                    eval("that."+item['name']+".rank = i+1");
+                });
+            },
+            getClassUserRank() {
+                let that = this;
+                let param = {
+                    eqSn: localStorage.eqSn
+                };
+                let postdata = qs.stringify(param);
+                ClassUserRank(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.UniteBreak(json.Rs);
+                        // this.students.CkSort = json.Rs.CkSort;
+                        // this.students.CalSort = json.Rs.CalSort;
+                    } else {
+                        if (json.Code == '999') {
+                            // that.$router.push({path: '/wait'});
+                        } else {
+                            // 已出错
+                            that.$message.error(json.Memo);
+                        }
+                    }
+                })
+            }
+        },
+        filters: {
+            fmtNum(val) {
+                if (val == 0) {
+                    return '--'
+                } else {
+                    if (parseInt(val) < 0) return 0;
+                    if (parseInt(val) > 0) return val
+                }
+            },
+            fmtFloat(val) {
+                if (val == 0) {
+                    return '0'
+                } else {
+                    return parseFloat(val).toFixed(1);
+                }
+            },
+            fmtInt(val) {
+                if (val == 0) {
+                    return '0'
+                } else {
+                    return parseInt(val);
+                    // return parseFloat(val).toFixed(3);
+                }
+            },
+        },
+        watch: {
+            '$route': function (val) {
+                if (val.path == '/rank') {
+                    if (this.trueDate) {
+                        this.getClassUserRank();
+                        this.rankTimer = setInterval(() => {
+                            this.getClassUserRank();
+                        }, 5000);
+
+                    } else {
+                        this.rankTimer = setInterval(() => {
+                            this.students.redUnite = this.fakeNews();
+                            this.students.blueUnite = this.fakeNews();
+                        }, 5000);
+                    }
+                    if (this.autoJump) {
+                        // 倒计时60秒自动关闭
+                        let that = this;
+                        this.totalTime = 60;
+                        let clock = window.setInterval(() => {
+                            this.totalTime--;
+                            if (parseInt(this.totalTime) < 0) {
+                                // 前往等待页面
+                                that.$router.push({path: '/wait'});
+                                // 计时器回收
+                                clearInterval(clock);
+                            }
+                        }, 1000)
+                    }
+                } else {
+                    clearInterval(this.autoJump);
+                    clearInterval(this.rankTimer);
+                }
+            }
+        },
+        components: {
+            Headside
+        }
+    }
+</script>
+
+<style scoped>
+    @import "../assets/css/bg.css";
+
+    @font-face {
+        font-family: vista;
+        src: url('../assets/font/vista.otf');
+    }
+
+    * {
+        font-family: vista;
+    }
+
+
+    .pages {
+        position: absolute;
+        top: 0;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        font-family: vista;
+        background: url("../assets/img/threepk/threepkbg.png");
+        background-position: top center;
+        background-repeat: no-repeat;
+        background-size: 100% 100%;
+    }
+
+    .rankContainer {
+        width: 96%;
+        overflow: visible;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .sumScore {
+        width: 90%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        height: 1.4rem;
+        background-size: 100%;
+        background-position: top center;
+        background-repeat: no-repeat;
+    }
+
+    .pkIconContainer {
+        width: 20%;
+        float: left;
+    }
+
+    .pkIconContainer img {
+        width: 1.5rem;
+        height: 1.5rem;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    li {
+        width: 90%;
+        height: 0.8rem;
+        display: block;
+        margin: 0 auto;
+        overflow: hidden;
+        margin-bottom: 0.06rem;
+    }
+
+    li .rows {
+        width: 100%;
+        height: 0.8rem;
+        /*background: #ee191d;*/
+        border-radius: 250rem;
+        overflow: visible;
+        display: block;
+        margin: 0 auto;
+        margin-top: 0.15rem;
+    }
+
+    li .head {
+        width: 0.6rem;
+        height: 0.7rem;
+        float: left;
+        margin-left: 0.1rem;
+        margin-top: 0.07rem;
+        overflow: visible;
+    }
+
+    li .head .headImg {
+        width: 100%;
+        height: 0.6rem;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        border: 0.04rem solid #fff;
+        border-radius: 250px;
+    }
+
+
+    li .name {
+        width: 1.2rem;
+        font-weight: normal;
+        font-size: 0.3rem;
+        text-align: left;
+        color: #fff;
+        float: left;
+        margin-left: 0.2rem;
+        line-height: 0.8rem;
+    }
+
+    li .record {
+        position: relative;
+        top: -0.2rem;
+        float: right;
+        margin-right: 2%;
+        /*line-height: 0.8rem;*/
+    }
+
+    li .score {
+        font-weight: normal;
+        font-size: 0.4rem;
+        color: #fff;
+        float: right;
+        margin-right: 0.2rem;
+        line-height: 1rem;
+        text-align: right;
+        line-height: 0.8rem;
+    }
+
+    li .score em {
+        font-size: 0.2rem;
+    }
+
+    .sumlt {
+        width: 20%;
+        float: left;
+        color: #fff;
+        height: 1.2rem;
+        background: url("../assets/img/3pkRank/redtit.svg");
+        background-size: 100%;
+        background-position: top center;
+        background-repeat: no-repeat;
+        margin-top: 0.5rem;
+        overflow: visible;
+    }
+
+    .summd {
+        width: 20%;
+        float: left;
+        color: #fff;
+        height: 1.2rem;
+        background: url("../assets/img/3pkRank/bluetit.svg");
+        background-size: 100%;
+        background-position: top center;
+        background-repeat: no-repeat;
+        margin-top: 0.5rem;
+        overflow: visible;
+    }
+
+    .sumrt {
+        width: 20%;
+        float: left;
+        color: #fff;
+        height: 1.2rem;
+        background: url("../assets/img/3pkRank/yellowtit.svg");
+        background-size: 100%;
+        background-position: top center;
+        background-repeat: no-repeat;
+        margin-top: 0.5rem;
+        overflow: visible;
+    }
+
+    .sumCK {
+        float: right;
+        font-size: 0.3rem;
+    }
+
+    .mineUniteName {
+        width: 65%;
+        overflow: visible;
+        display: block;
+        margin: 0 auto;
+        text-align: left;
+        font-size: 0.4rem;
+    }
+
+
+    .sumCK em {
+        font-size: 0.4rem;
+    }
+
+    .sumCK i {
+        font-size: 0.24rem;
+    }
+
+    .flagContainer {
+        position: relative;
+        top: -1.1rem;
+        float: right;
+        right: 0;
+    }
+
+    .flagContainer img {
+        width: 0.8rem;
+        height: 0.8rem;
+    }
+
+    .rankIcon {
+        position: relative;
+        float: left;
+        width: 0.3rem;
+        top: -0.1rem;
+        left: 0.3rem;
+    }
+
+    .list {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .list .part {
+        width: 33.333%;
+        float: left;
+    }
+
+
+    li.redUnite {
+        width: 96%;
+        float: left;
+        background: rgba(232, 32, 62, 0.75);
+        color: #fff;
+        margin-bottom: 0.07rem;
+        overflow: hidden;
+    }
+
+    li.blueUnite {
+        width: 96%;
+        margin: 0 auto;
+        margin-bottom: 0.05rem;
+        background: rgba(24, 15, 170, 0.75);
+        color: #fff;
+    }
+
+    li.yellowUnite {
+        width: 96%;
+        float: right;
+        background: rgba(228, 196, 25, 0.75);
+        color: #fff;
+    }
+
+
+    li .CLEscore {
+        width: 1.3rem;
+        float: left;
+        font-size: 0.4rem;
+        margin-left: 1%;
+        line-height: 0.8rem;
+    }
+
+    li .CLEscore em {
+        font-size: 0.3rem;
+    }
+
+    li .CKscore {
+        width: 1.6rem;
+        float: left;
+        font-size: 0.4rem;
+        margin-left: 1%;
+        line-height: 0.8rem;
+    }
+
+    li .CKscore em {
+        font-size: 0.3rem;
+    }
+
+    li .record img {
+        width: 0.7rem;
+        float: left;
+    }
+
+    li.mvpli {
+        padding-top: 0.15rem;
+        padding-bottom: 0.15rem;
+    }
+
+    li.mvpli .CLEscore {
+        font-size: 0.4rem;
+    }
+
+    li.mvpli .CKscore {
+        font-size: 0.4rem;
+    }
+
+    li.mvpli .head {
+        width: 0.7rem;
+        height: 0.8rem;
+    }
+
+    li.mvpli .head img {
+        height: 0.7rem;
+        margin-top: -0.05rem;
+    }
+
+    li.mvpli .name {
+        font-size: 0.3rem;
+    }
+
+    li .king {
+        width: 0.4rem;
+        height: 0.2rem;
+        float: left;
+        position: relative;
+        top: -0.7rem;
+        left: -0.1rem;
+    }
+
+    li.mvpli .head img.king {
+        top: -1rem;
+    }
+</style>

+ 7 - 5
tv/src/views/Index.vue

@@ -37,6 +37,8 @@
             }
         },
         mounted() {
+            // alert('clientWidth:' + document.documentElement.clientWidth);
+            // alert('devicePixelRatio:' + window.devicePixelRatio);
             this.getCurVersion();
         },
         methods: {
@@ -45,15 +47,15 @@
                 let that = this;
                 localStorage.eqSn = '30:9C:23:0C:8B:1E';//浏览器默认的
                 function plusReady() {
-                    if(typeof plus == 'undefined') return false;
+                    if (typeof plus == 'undefined') return false;
                     // 获取本地应用资源版本号
                     plus.runtime.getProperty(plus.runtime.appid, function (inf) {
                         localStorage.version = inf.version;
                         that.curVersion = inf.version;
 
                         //首发版本1.0.1
-                        console.log( localStorage.version);
-                        that.checkUpdate( that.curVersion); //开启自动升级
+                        console.log(localStorage.version);
+                        that.checkUpdate(that.curVersion); //开启自动升级
 
                     });
 
@@ -61,9 +63,9 @@
                     plus.device.getInfo({
                         success: function (e) {
                             let uuid = JSON.stringify(e.uuid).toString().substr(1);
-                            uuid = uuid.substring(0,uuid.length-1);
+                            uuid = uuid.substring(0, uuid.length - 1);
                             localStorage.eqSn = uuid;
-                            console.log('===== uuid =====:'+uuid);
+                            console.log('===== uuid =====:' + uuid);
                             // const h = this.$createElement;
                             // that.$notify({
                             //     title: '获取UUID',

+ 2 - 2
tv/src/views/Main.vue

@@ -395,7 +395,7 @@
                             // 0: 下课 团课/私教 排名
                             // 1:团课/私教 todo
                             // 2:竞技课2PK
-                            // 3:竞技课3PK
+                            // 3:竞技课threepk
                             switch (parseInt(json.dp)) {
                                 case 0:
                                     that.$router.push({path: '/rank'});
@@ -408,7 +408,7 @@
                                     that.$router.push({path: '/pk'});
                                     break;
                                 case 3:
-                                    that.$router.push({path: '/3pk'});
+                                    that.$router.push({path: '/threepk'});
                                     break;
                             }
                         }

+ 6 - 3
tv/src/views/Wait.vue

@@ -362,19 +362,19 @@
                             // 0: 下课 团课/私教 排名
                             // 1:团课/私教 todo
                             // 2:竞技课2PK
-                            // 3:竞技课3PK
+                            // 3:竞技课threepk
                             switch (parseInt(json.dp)) {
                                 case 0:
                                     that.$router.push({path: '/rank'});
                                     break;
                                 case 1:
-                                    that.$router.push({path: '/'});
+                                    that.$router.push({path: '/main'});
                                     break;
                                 case 2:
                                     that.$router.push({path: '/pk'});
                                     break;
                                 case 3:
-                                    that.$router.push({path: '/3pk'});
+                                    that.$router.push({path: '/threepk'});
                                     break;
                             }
                         }
@@ -423,6 +423,9 @@
         overflow: hidden;
         display: block;
         margin: 0 auto;
+        /*transform: scale(1,5);*/
+        /*-ms-transform: scale(1,5); !* IE 9 *!*/
+        /*-webkit-transform: scale(0.8,0.8); !* Safari and Chrome *!*/
     }
 
     /*/deep/ .el-carousel__item--card {*/

+ 0 - 2
tv/src/views/pk.vue

@@ -233,9 +233,7 @@
                 // 人口总数
                 that.num = json.Rs ? json.Rs.length : 0;
                 this.ClacClassTime();
-
             }
-
         },
         beforeDestroy() {
             clearInterval(this.PkTimer);

+ 1498 - 0
tv/src/views/threepk.vue

@@ -0,0 +1,1498 @@
+<template>
+    <div class="pages">
+        <Headside></Headside>
+        <div class="pk-detail-con">
+            <div class="progress">
+                <div class="progress-bar" :style="{width: pkVal}">
+                    <i class="lightning"></i>
+                </div>
+                <div class="right-bar" :style="{width: yellowVal}">
+                    <i class="lightning"></i>
+                </div>
+            </div>
+        </div>
+        <div class="lessonInfo">
+            <div class="lt">
+                <div class="bottomInfo">
+                    <span class="names">
+                        {{PlanName}}
+                    </span>
+                    <div class="teacher">
+                        <span>人数:{{num}}</span>
+                    </div>
+
+                </div>
+            </div>
+            <div class="md">
+                <div class="cubelist">
+                    <div class="cubes rcube">
+                        <em>红队</em>
+                    </div>
+                    <img class="vs" src="../assets/img/pk/vs.svg"/>
+                    <div class="cubes bcube">
+                        <em>蓝队</em>
+                    </div>
+                    <img class="vs" src="../assets/img/pk/vs.svg"/>
+                    <div class="cubes ycube">
+                        <em>黄队</em>
+                    </div>
+                </div>
+                <div class="teamScore">
+                    <div class="lt">{{redSum}} <em>ck值</em></div>
+                    <div class="md">{{blueSum}} <em>ck值</em></div>
+                    <div class="rt">{{yellowSum}} <em>ck值</em></div>
+                </div>
+            </div>
+            <div class="rt">
+                <div class="classTime">
+                    {{classInfo.endTime}}
+                </div>
+            </div>
+        </div>
+        <div class="pk_container">
+            <div class="pl_lt">
+                <ul>
+                    <li :class="RedstudentsClassName" v-for="(s,i) in students.redUnite">
+                        <div class="bg">
+                            <h5>{{ s.Name }}</h5>
+                            <div class="user">
+                                <div class="ult">
+                                    <em>
+                                        <div v-if="s.activePercent != 0">
+                                            {{ s.activePercent}}
+                                        </div>
+                                        <div class="plus" v-if="s.activePercent == 0">
+                                            ---
+                                        </div>
+                                        <s>%</s>
+                                    </em>
+                                </div>
+                                <div class="umd">
+                                    <div class="circle">
+                                        <img :src="s.Head" alt="" v-if="s.Head">
+                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                    </div>
+                                </div>
+                                <div class="urt">
+                                    <em class="fastJump" v-if="s.realHr != 0" v-show="parseInt(s.realHr) > 100">{{
+                                        s.realHr }}</em>
+                                    <em class="slowJump" v-if="s.realHr != 0" v-show="parseInt(s.realHr) <= 100">{{
+                                        s.realHr }}</em>
+                                    <em class="plus" v-if="s.realHr == 0"> --- </em>
+                                    <img src="../static/img/heart.svg" class=""/>
+                                </div>
+                            </div>
+                            <div class="bottomLi">
+                                <div class="btcla">
+                                    <img src="../static/img/s1.svg"/>
+                                    <span>{{ s.Cle |fmtFloat }}</span>
+                                </div>
+                                <div class="btck">
+                                    <img src="../static/img/s2.svg"/>
+                                    <span>{{ s.Steps }}</span>
+                                </div>
+                                <div class="step">
+                                    <img src="../static/img/ck.svg"/>
+                                    <span>{{ s.Ck  |fmtFloat}}</span>
+                                </div>
+                            </div>
+                        </div>
+                    </li>
+                </ul>
+            </div>
+            <div class="pl_md">
+                <ul>
+                    <li :class="RedstudentsClassName" v-for="(s,i) in students.blueUnite">
+                        <div class="bg">
+                            <h5>{{ s.Name }}</h5>
+                            <div class="user">
+                                <div class="ult">
+                                    <em>
+                                        <div v-if="s.activePercent != 0">
+                                            {{ s.activePercent}}
+                                        </div>
+                                        <div class="plus" v-if="s.activePercent == 0">
+                                            ---
+                                        </div>
+                                        <s>%</s>
+                                    </em>
+                                </div>
+                                <div class="umd">
+                                    <div class="circle">
+                                        <img :src="s.Head" alt="" v-if="s.Head">
+                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                    </div>
+                                </div>
+                                <div class="urt">
+                                    <em class="fastJump" v-if="s.realHr != 0" v-show="parseInt(s.realHr) > 100">{{
+                                        s.realHr }}</em>
+                                    <em class="slowJump" v-if="s.realHr != 0" v-show="parseInt(s.realHr) <= 100">{{
+                                        s.realHr }}</em>
+                                    <em class="plus" v-if="s.realHr == 0"> --- </em>
+                                    <img src="../static/img/heart.svg" class=""/>
+                                </div>
+                            </div>
+                            <div class="bottomLi">
+                                <div class="btcla">
+                                    <img src="../static/img/s1.svg"/>
+                                    <span>{{ s.Cle |fmtFloat }}</span>
+                                </div>
+                                <div class="btck">
+                                    <img src="../static/img/s2.svg"/>
+                                    <span>{{ s.Steps }}</span>
+                                </div>
+                                <div class="step">
+                                    <img src="../static/img/ck.svg"/>
+                                    <span>{{ s.Ck  |fmtFloat}}</span>
+                                </div>
+                            </div>
+                        </div>
+                    </li>
+                </ul>
+            </div>
+            <div class="pl_rt">
+                <ul>
+                    <li :class="RedstudentsClassName" v-for="(s,i) in students.yellowUnite">
+                        <div class="bg">
+                            <h5>{{ s.Name }}</h5>
+                            <div class="user">
+                                <div class="ult">
+                                    <em>
+                                        <div v-if="s.activePercent != 0">
+                                            {{ s.activePercent}}
+                                        </div>
+                                        <div class="plus" v-if="s.activePercent == 0">
+                                            ---
+                                        </div>
+                                        <s>%</s>
+                                    </em>
+                                </div>
+                                <div class="umd">
+                                    <div class="circle">
+                                        <img :src="s.Head" alt="" v-if="s.Head">
+                                        <img src="../static/img/people/flyhead.png" alt="" v-if="!s.Head">
+                                    </div>
+                                </div>
+                                <div class="urt">
+                                    <em class="fastJump" v-if="s.realHr != 0" v-show="parseInt(s.realHr) > 100">{{
+                                        s.realHr }}</em>
+                                    <em class="slowJump" v-if="s.realHr != 0" v-show="parseInt(s.realHr) <= 100">{{
+                                        s.realHr }}</em>
+                                    <em class="plus" v-if="s.realHr == 0"> --- </em>
+                                    <img src="../static/img/heart.svg" class=""/>
+                                </div>
+                            </div>
+                            <div class="bottomLi">
+                                <div class="btcla">
+                                    <img src="../static/img/s1.svg"/>
+                                    <span>{{ s.Cle |fmtFloat }}</span>
+                                </div>
+                                <div class="btck">
+                                    <img src="../static/img/s2.svg"/>
+                                    <span>{{ s.Steps }}</span>
+                                </div>
+                                <div class="step">
+                                    <img src="../static/img/ck.svg"/>
+                                    <span>{{ s.Ck  |fmtFloat}}</span>
+                                </div>
+                            </div>
+                        </div>
+                    </li>
+                </ul>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script>
+    import '../libs/rem';
+    import Headside from '@/components/Headside'
+    import {
+        getHello,
+        getClassStat
+    } from '@/api/getApiRes'
+    import '../libs/rem';
+
+    let qs = require('qs');
+
+    export default {
+        data() {
+            return {
+                trueDate: true,//启用真实数据 true / false
+                RedstudentsClassName: '',
+                BluestudentsClassName: '',
+                YellowstudentsClassName: '',
+                studentsClassName: [],
+                redSum: 0,
+                blueSum: 0,
+                yellowSum: 0,
+                pkVal: '50%',
+                yellowVal : '50%',
+                students: {
+                    redUnite: [],
+                    blueUnite: [],
+                    yellowUnite: [],
+                },
+                PlanName: '',
+                num: 0,
+                classInfo: {
+                    name: '竞技课程',
+                    num: '0',
+                    btTime: '2020-11-13 09:00:00',//时间戳
+                    endTime: '00:00:00',
+                    redSum: 0,
+                    blueSum: 0,
+                }
+            }
+        },
+        mounted() {
+            let that = this;
+            if (this.trueDate) {
+                this.PkTimer = setInterval(() => {
+                    this.GetgetUserList();
+                    this.curgetClassStat();
+                }, 1000);
+                this.GetgetUserList();
+
+                // this.PkEgg = setInterval(() => {
+                //     this.createEgg();
+                // }, 6000);
+
+            } else {
+                // 虚假的数据
+                let json = {
+                    "Code": "0",
+                    "Memo": "Success",
+                    "Dp": {
+                        "PlanId": 182,
+                        "ShopId": 1,
+                        "SvId": 1,
+                        "PlanName": "齐源大厦浏览器显示2020-12-02日08:40开始的竞技游戏",
+                        "Status": 2,
+                        "BeginTime": "17:15:18",
+                        "EndTime": 0,
+                        "ClassType": 2,
+                        "PkNum": 2
+                    }
+                };
+                // 载入课程信息
+                let Dp = json.Dp;
+                that.ReadLessonInfo(Dp);
+                // 载入学生信息
+                let Rs = this.fakeNews(14);
+                that.UniteBreak(Rs);
+
+                // 人口总数
+                that.num = Rs ? Rs.length +1: 0;
+                this.ClacClassTime();
+            }
+        },
+        beforeDestroy() {
+            clearInterval(this.PkTimer);
+            clearInterval(this.PkEgg);
+            this.PkTimer = null;
+            this.PkEgg = null;
+        },
+        methods: {
+            fakeNews(num) {
+                let item = [];
+                let nums = Math.random() * 100 + 1;
+                this.fakeNums = num;
+                for (var i = 0; i < this.fakeNums; i++) {
+                    item.push(
+                        {
+                            "SvId": 1,
+                            "UserId": 1,
+                            "Cle": i * 14,
+                            "realHr1": parseInt(Math.random() * 100 + 50),
+                            "realHr": 60,
+                            "activePercent": 30,
+                            "heartRate": 90,
+                            "Steps": 9999,
+                            "PureCalorieNoVo2": 999,
+                            "Name": "刘宇宁",
+                            "updateTime": 1604568915582,
+                            "Ck": nums + i * 2.2,
+                            "Head": "http://192.168.0.2/zw.png",
+                            "GroupNo": i % 3 + 1
+                        }
+                    )
+                }
+                return item;
+            },
+            // 载入课程信息
+            ReadLessonInfo(Dp) {
+                this.PlanName = Dp.PlanName;
+                this.BeginTime = Dp.BeginTime;
+            },
+            // 分队展示
+            UniteBreak(Rs) {
+                let that = this;
+                that.students.redUnite = [];
+                that.students.blueUnite = [];
+                that.students.yellowUnite = [];
+                if (!Rs) {
+                    that.students.redUnite = [];
+                    that.students.blueUnite = [];
+                    that.students.yellowUnite = [];
+                } else {
+                    Rs.map(function (item, t) {
+                        if (item.GroupNo == 1) {
+                            that.students.redUnite.push(item);
+                        }
+                        if (item.GroupNo == 2) {
+                            that.students.blueUnite.push(item);
+                        }
+                        if (item.GroupNo == 3) {
+                            that.students.yellowUnite.push(item);
+                        }
+                    })
+
+                }
+                that.giveClassName(that.students.redUnite, 1);
+                that.giveClassName(that.students.blueUnite, 2);
+                that.giveClassName(that.students.yellowUnite, 3);
+                that.calcSumCK(that.students);
+            },
+            // 计算各队总分
+            calcSumCK(Rs) {
+                let that = this;
+                let redSum = 0;
+                let blueSum = 0;
+                let yellowSum = 0;
+                // that.redSum
+                Rs.redUnite.map(function (item, t) {
+                    redSum += parseFloat(item.Ck)
+                });
+                Rs.blueUnite.map(function (item, t) {
+                    blueSum += parseFloat(item.Ck)
+                });
+                Rs.yellowUnite.map(function (item, t) {
+                    yellowSum += parseFloat(item.Ck)
+                });
+                that.redSum = redSum.toFixed(1);
+                that.blueSum = blueSum.toFixed(1);
+                that.yellowSum = yellowSum.toFixed(1);
+
+                // pkVal
+                let sumMax = parseFloat(redSum) + parseFloat(blueSum) + parseFloat(yellowSum);
+                that.pkVal = (redSum / sumMax) * 100 + '%';
+                that.yellowVal = (yellowSum / sumMax) * 100 + '%';
+            },
+            // 获取上课学生信息
+            GetgetUserList() {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    eqSn: localStorage.eqSn
+                };
+                let postdata = qs.stringify(param);
+                getHello(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        that.ReadLessonInfo(json.Dp);
+                        that.UniteBreak(json.Rs);
+                        // 人口总数
+                        that.num = json.Rs.length ? json.Rs.length : 0;
+                        this.ClacClassTime();
+                    } else {
+                        // 已下课
+                        console.log(json.Code);
+                        if (json.Code == '999') {
+                            that.$router.push({path: '/3pkRank'});
+                        } else {
+                            // 已出错
+                            that.$message.error(json.Memo);
+                        }
+                    }
+                })
+            },
+            // 动态计算排版
+            giveClassName(res, type) {
+                let that = this;
+                let numberClass = '';
+                switch (true) {
+                    case  parseInt(res.length) <= 2 && parseInt(res.length) > 0:
+                        numberClass = 'two';
+                        break;
+                    // case  parseInt(res.length) == 3:
+                    //     numberClass = 'three';
+                    //     break;
+                    case  parseInt(res.length) <= 4 && parseInt(res.length) >= 3:
+                        numberClass = 'four';
+                        break;
+                    case  parseInt(res.length) <= 6 && parseInt(res.length) > 4:
+                        numberClass = 'four';
+                        break;
+                    case  parseInt(res.length) <= 8 && parseInt(res.length) > 6:
+                        numberClass = 'eight';
+                        break;
+                }
+                if (type == 1) {
+                    that.RedstudentsClassName = numberClass;
+                }
+                if (type == 2) {
+                    that.BluestudentsClassName = numberClass;
+                }
+                if (type == 3) {
+                    that.YellowstudentsClassName = numberClass;
+                }
+            },
+            // 计算团队竞技课持续时间
+            ClacClassTime() {
+                let BeginTime = new Date(globalcurrent() + ' ' + this.BeginTime);//结束时间
+                let nowDate = new Date();
+                let date = new Date(nowDate - BeginTime);
+
+                let h = date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':';
+                let m = date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':';
+                let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
+                this.classInfo.endTime = h + m + s;
+            },
+            // // 计算双方对抗强度加总
+            // CalcTeamCk() {
+            //     let that = this;
+            //     let Redsum = 0;
+            //     let Bluesum = 0;
+            //     let sumMax = 0;
+            //     if (that.Redstudents) {
+            //         that.Redstudents.map(function (i) {
+            //             Redsum = parseFloat(Redsum) + parseFloat(i.Ck)
+            //         });
+            //     }
+            //     if (that.Bluestudents) {
+            //         that.Bluestudents.map(function (i) {
+            //             Bluesum = parseFloat(Bluesum) + parseFloat(i.Ck)
+            //         });
+            //     }
+            //     that.classInfo.redSum = parseFloat(Redsum).toFixed(1);
+            //     that.classInfo.blueSum = parseFloat(Bluesum).toFixed(1);
+            //
+            //     sumMax = parseFloat(Redsum) + parseFloat(Bluesum);
+            //     that.classInfo.pkVal = (that.classInfo.redSum / sumMax) * 100 + '%';
+            // },
+            // 当前课程状态
+            curgetClassStat() {
+                let that = this;
+                let param = {
+                    token: localStorage.token,
+                    eqSn: localStorage.eqSn
+                };
+                let postdata = qs.stringify(param);
+                getClassStat(postdata).then(res => {
+                    let json = res;
+                    if (json.Code == 0) {
+                        // 没开课
+                        if (json.ClassOn == 0) {
+                            console.log("xiakele ");
+                            // 0: 下课 团课/私教 排名
+                            // 1:团课/私教 todo
+                            // 2:竞技课2PK
+                            // 3:竞技课3PK
+                            switch (parseInt(json.dp)) {
+                                case 2:
+                                    that.$router.push({path: '/3pkRank'});
+                                    break;
+                                case 3:
+                                    that.$router.push({path: '/3pkRank'});
+                                    break;
+                            }
+                        }
+                    } else {
+                        // that.$message.error(json.Memo);
+                    }
+                })
+            },
+        },
+        filters: {
+            fmtNum(val) {
+                if (val == 0) {
+                    return '--'
+                } else {
+                    if (parseInt(val) < 0) return 0;
+                    if (parseInt(val) > 0) return val
+                }
+            },
+            fmtFloat(val) {
+                if (val == 0) {
+                    return '0'
+                } else {
+                    return parseFloat(val).toFixed(1);
+                }
+            }
+        },
+        watch: {
+            '$route': function (val) {
+                if (val.path == '/threepk') {
+                    if (this.trueDate) {
+                        this.PkTimer = setInterval(() => {
+                            this.GetgetUserList();
+                            this.ClacClassTime();
+                            this.curgetClassStat();
+                        }, 1000);
+                        this.GetgetUserList();
+
+                        // this.PkEgg = setInterval(() => {
+                        //     this.createEgg();
+                        // }, 6000);
+
+                    } else {
+                        let Rs = this.fakeNews(16);
+                        that.UniteBreak(Rs);
+
+                    }
+                } else {
+                    clearInterval(this.PkTimer);
+                    clearInterval(this.PkEgg);
+                }
+            }
+        },
+        components: {
+            Headside
+        }
+    }
+</script>
+<style scoped>
+    @import "../assets/css/bg.css";
+
+    .pages {
+        position: absolute;
+        top: 0;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        background-color: #028fe1;
+        background: url("../assets/img/threepk/threepkbg.png");
+        background-size: 100%;
+        background-repeat: no-repeat;
+    }
+
+    * {
+        font-family: vista;
+    }
+
+
+    ul, li {
+        list-style: none;
+        margin: 0;
+        padding: 0;
+    }
+
+    em {
+        font-style: normal;
+    }
+
+
+    .pk-detail-con {
+        /*position: absolute;*/
+        position: relative;
+        top: 0rem;
+        width: 100%;
+        height: 0.6rem;
+        display: block;
+        margin: 0 auto;
+        padding-top: 0.35rem;
+        overflow: hidden;
+    }
+
+    .progress {
+        width: 100%;
+        height: 0.3rem;
+        overflow: visible;
+        background-color: #04A6EE;
+        border-radius: 19px;
+        background-image: url("../static/img/pk/blue.png");
+        /*background-image: linear-gradient(45deg, #60b7ff 25%, #0a84e9 0, #0a84e9 50%, #60b7ff 0, #60b7ff 75%, #0a84e9 0);*/
+        background-size: 40px 40px;
+    }
+
+    .progress-bar {
+        float: left;
+        height: 0.3rem;
+        text-align: left;
+        background-color: #F75E07;
+        -moz-transition: width .6s ease;
+        -webkit-transition: width .6s ease;
+        transition: width .6s ease;
+        background-image: url("../static/img/pk/red.png");
+        background-size: 40px 40px;
+        /*background-image: linear-gradient(45deg, #ff9960 25%, #f75e07 0, #f75e07 50%, #ff9960 0, #ff9960 75%, #f75e07 0);*/
+        /*background-size: 40px 40px;*/
+    }
+
+    .right-bar {
+        float: right;
+        position: relative;
+        right: 0;
+        top: 0rem;
+        height: 0.3rem;
+        text-align: right;
+        background-color: #DBB900;
+        -moz-transition: width .6s ease;
+        -webkit-transition: width .6s ease;
+        transition: width .6s ease;
+        background-image: url("../static/img/pk/red.png");
+        background-size: 40px 40px;
+    }
+
+    .progress, .progress-bar {
+        /*background-image: linear-gradient(rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 50%);*/
+    }
+
+    .lightning {
+        position: relative;
+        top: -0.5rem;
+        width: 1rem;
+        height: 1.3rem;
+        float: right;
+        margin-right: -0.5rem;
+        background: url("../static/img/pk/light.png") no-repeat center;
+        background-size: cover;
+
+    }
+
+    .right-bar .lightning {
+        position: relative;
+        top: -0.5rem;
+        width: 1rem;
+        height: 1.3rem;
+        margin-right: -0.5rem;
+        background: url("../static/img/pk/light.png") no-repeat center;
+        background-size: cover;
+        left: -0.4rem;
+        float: left;
+    }
+
+    .lp_icon {
+        position: absolute;
+        left: -0.1rem;
+        top: -0.3rem;
+        width: 0.8rem;
+        height: 0.8rem;
+        float: left;
+    }
+
+    .rp_icon {
+        position: absolute;
+        right: 0;
+        top: -0.3rem;
+        width: 0.8rem;
+        height: 0.8rem;
+        float: right;
+    }
+
+    .lessonInfo {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .lessonInfo .lt {
+        width: 30%;
+        float: left;
+    }
+
+    .lessonInfo .md {
+        width: 40%;
+        float: left;
+    }
+
+    .lessonInfo .rt {
+        width: 30%;
+        float: right;
+    }
+
+    .bottomInfo {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .bottomInfo .names {
+        width: 70%;
+        height: 0.6rem;
+        border-radius: 36px;
+        background: #0925b4;
+        border: 2px solid rgba(255, 255, 255, 0.5);
+        font-size: 0.4rem;
+        font-family: Roboto;
+        font-weight: normal;
+        text-align: center;
+        color: #e1ff00;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        margin-top: 0.2rem;
+    }
+
+    .teacher {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        color: #fff;
+        font-size: 0.3rem;
+        padding-top: 0.2rem;
+    }
+
+    .teacher span {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .classTime {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        color: #fff;
+        text-align: center;
+    }
+
+    .cubelist {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .cubelist .cubes {
+        width: 20%;
+        height: 1.5rem;
+        overflow: hidden;
+        float: left;
+        background-position: top center;
+
+    }
+
+    .cubelist .vs {
+        width: 20%;
+        height: 0.6rem;
+        overflow: hidden;
+        float: left;
+        padding-top: 0.4rem;
+    }
+
+    .cubelist .cubes em {
+        width: 80%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        text-align: center;
+        font-size: 0.2rem;
+        font-style: normal;
+        color: #fff;
+        line-height: 1.5rem;
+    }
+
+    .cubes.rcube {
+        background: url("../assets/img/threepk/redCube.svg");
+        background-size: 100% 100%;
+    }
+
+    .cubes.bcube {
+        background: url("../assets/img/threepk/blueCube.svg");
+        background-size: 100% 100%;
+    }
+
+    .cubes.ycube {
+        background: url("../assets/img/threepk/yellowcube.svg");
+        background-size: 100% 100%;
+    }
+
+    .teamScore {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .lessonInfo .teamScore div {
+        width: 20%;
+        float: left;
+        text-align: center;
+        color: #fff;
+        font-size: 0.4rem;
+    }
+
+    .lessonInfo .teamScore .md {
+        width: 60%;
+    }
+
+    .lessonInfo .teamScore .rt {
+        float: right;
+    }
+
+    .lessonInfo .teamScore em {
+        font-size: 0.2rem;
+    }
+
+    .pk_container {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .pk_container .pl_lt {
+        width: 33.333%;
+        float: left;
+    }
+
+    .pk_container .pl_rt {
+        width: 33.333%;
+        float: right;
+    }
+
+    .pk_container .pl_md {
+        width: 33.333%;
+        float: left;
+    }
+
+
+    .pk_container ul {
+        width: 98%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        padding-top: 0.01rem;
+    }
+
+    .pk_container li {
+        overflow: hidden;
+        color: #fff;
+        margin-bottom: 0.1rem;
+    }
+
+    .pk_container .lt li {
+        overflow: hidden;
+    }
+
+    .pk_container .rt li {
+        overflow: hidden;
+    }
+
+    .pk_container .pl_lt .bg {
+        border: 2px solid rgba(255, 143, 122, 0.5);
+        background: rgba(194, 36, 6, 0.5);
+    }
+
+    .pk_container .pl_md .bg {
+        border: 2px solid rgba(80, 115, 255, 0.5);
+        background: rgba(0, 30, 152, 0.5);
+    }
+
+    .pk_container .pl_rt .bg {
+        border: 2px solid rgba(255, 239, 149, 0.5);
+        background: rgba(255, 230, 0, 0.5);
+    }
+
+
+    .pk_container li .bg > h5 {
+        font-family: vista;
+        font-weight: 500;
+        font-size: 0.3rem;
+        text-align: center;
+        color: #fff;
+        margin: 0;
+        margin-top: 0.1rem;
+        margin-bottom: 0.1rem;
+    }
+
+    .pk_container li .user {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .pk_container .user .ult {
+        width: 33.333%;
+        float: left;
+        overflow: visible;
+        flex-direction: column;
+    }
+
+    .pk_container .user .umd {
+        width: 33.333%;
+        float: left;
+        overflow: hidden;
+        flex-direction: column
+    }
+
+    .pk_container .user .urt {
+        width: 33.333%;
+        float: right;
+        flex-direction: column;
+    }
+
+    .centerLi .slowJump {
+        animation: mymove 3s infinite;
+        -webkit-animation: mymove 3s infinite; /*Safari and Chrome*/
+        animation-direction: alternate; /*轮流反向播放动画。*/
+        animation-timing-function: ease-in-out; /*动画的速度曲线*/
+        /* Safari 和 Chrome */
+        -webkit-animation: mymove 3s infinite;
+        -webkit-animation-direction: alternate; /*轮流反向播放动画。*/
+        -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
+    }
+
+    .user .ult span {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        font-family: "Source Han Sans CN";
+        font-weight: normal;
+        font-size: 0.3rem;
+        text-align: center;
+    }
+
+    .user .ult em {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .user .ult em div {
+        width: 80%;
+        overflow: hidden;
+        float: right;
+        text-align: right;
+        padding-right: 0.3rem;
+        font-size: 0.8rem;
+        line-height: 1.6rem;
+    }
+
+    .user .ult s {
+        position: relative;
+        top: -1.2rem;
+        right: 0rem;
+        float: right;
+        font-family: HeadLineA;
+        font-weight: normal;
+        font-size: 0.3rem;
+        text-align: center;
+        text-decoration: none;
+    }
+
+    .circle {
+        width: 1.65rem;
+        height: 1.65rem;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        border-radius: 250px;
+        padding-top: 0.09rem;
+    }
+
+    .user .umd img {
+        width: 1.5rem;
+        height: 1.5rem;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        border-radius: 250px;
+        border: 5px solid #B9CB01;
+    }
+
+
+    .urt img {
+        position: relative;
+        right: 0.1rem;
+        top: -1.2rem;
+        width: 0.35rem;
+        height: 0.35rem;
+        float: right;
+    }
+
+    .urt em {
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        font-family: HeadLineA;
+        font-weight: normal;
+        font-size: 0.7rem;
+        letter-spacing: -0.05em;
+        text-align: right;
+        font-style: normal;
+        line-height: 1.5rem;
+        padding-right: 25%;
+    }
+
+    .bottomLi {
+        width: 98%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        font-weight: normal;
+        color: #fff;
+        text-align: center;
+        font-size: 0.4rem;
+        text-indent: 0.2rem;
+    }
+
+    .bottomLi img {
+        float: left;
+        margin-left: 10%;
+    }
+
+    .bottomLi span {
+        float: left;
+        text-align: left;
+    }
+
+    .bottomLi .btcla {
+        width: 30%;
+        float: left;
+        text-align: left;
+    }
+
+    .bottomLi .btck {
+        width: 40%;
+        float: left;
+        text-align: left;
+    }
+
+    .bottomLi .step {
+        width: 30%;
+        float: right;
+        text-align: left;
+    }
+
+    @keyframes mymove {
+        0% {
+            transform: scale(1); /*开始为原始大小*/
+        }
+        25% {
+            transform: scale(1.2); /*放大1.1倍*/
+        }
+        50% {
+            transform: scale(1);
+        }
+        75% {
+            transform: scale(1.2);
+        }
+
+    }
+
+    @-webkit-keyframes mymove /*Safari and Chrome*/
+    {
+        0% {
+            transform: scale(1); /*开始为原始大小*/
+        }
+        25% {
+            transform: scale(1.2); /*放大1.1倍*/
+        }
+        50% {
+            transform: scale(1);
+        }
+        75% {
+            transform: scale(1.2);
+        }
+    }
+
+    .partInfo {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        padding-top: 1rem;
+    }
+
+    .partInfo .rp, .partInfo .bp {
+        width: 50%;
+        float: left;
+    }
+
+    .partInfo .title {
+        width: 33%;
+        overflow: hidden;
+        display: block;
+        margin: 0;
+        font-size: 0.4rem;
+        color: #fff;
+        text-align: left;
+    }
+
+    .rtitle {
+        float: left;
+        padding-left: 0.25rem;
+    }
+
+    .partInfo .btitle {
+        width: 30%;
+        float: right;
+    }
+
+    .partInfo .title img {
+        float: left;
+        margin-right: 0.2rem;
+    }
+
+    .cubelist {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .teamScore {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .teamScore div {
+        width: 50%;
+        float: left;
+        text-align: center;
+        color: #fff;
+        font-size: 0.6rem;
+    }
+
+
+    .fastJump {
+        animation: mymove 1s infinite;
+        -webkit-animation: mymove 1s infinite; /*Safari and Chrome*/
+        animation-direction: alternate; /*轮流反向播放动画。*/
+        animation-timing-function: ease-in-out; /*动画的速度曲线*/
+        /* Safari 和 Chrome */
+        -webkit-animation: mymove 1s infinite;
+        -webkit-animation-direction: alternate; /*轮流反向播放动画。*/
+        -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
+    }
+
+    .slowJump {
+        animation: mymove 2s infinite;
+        -webkit-animation: mymove 2s infinite; /*Safari and Chrome*/
+        animation-direction: alternate; /*轮流反向播放动画。*/
+        animation-timing-function: ease-in-out; /*动画的速度曲线*/
+        /* Safari 和 Chrome */
+        -webkit-animation: mymove 3s infinite;
+        -webkit-animation-direction: alternate; /*轮流反向播放动画。*/
+        -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
+    }
+
+
+    /*two*/
+
+    .pk_container li.two {
+        width: 100%;
+        overflow: hidden;
+        display: block;
+    }
+
+    .pk_container li.two .user {
+        height: 1.75rem;
+        overflow: hidden;
+    }
+
+    .two .bottomLi {
+        width: 98%;
+        font-size: 0.35rem;
+        margin-top: 0rem;
+        text-align: center;
+    }
+
+    .two .bottomLi img {
+        width: 0.4rem;
+        height: 0.4rem;
+        margin-top: 0.15rem;
+    }
+
+    .two .bottomLi .btck img {
+        width: 0.4rem;
+        margin-top: 0.1rem;
+    }
+
+    .two .bottomLi span {
+        line-height: 0.8rem;
+        text-indent: 0.1rem;
+    }
+
+    .two .bottomLi .btcla {
+        width: 30%;
+    }
+
+    .two .bottomLi .btck {
+        width: 33%;
+        padding-left: 3%;
+    }
+
+    .two .bottomLi .step {
+        width: 28%;
+        padding-right: 0%;
+    }
+
+    .two .cla em.plus {
+        position: relative;
+        left: -0.3rem
+    }
+
+    .two .lhj span.plus {
+        position: relative;
+        left: 1.3rem
+    }
+
+    .two .bottomLi .btck img {
+        width: 0.5rem;
+        height: 0.5rem;
+        margin-top: 0.12rem;
+    }
+
+    /*three*/
+
+    .pk_container li.three {
+        width: 90%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+        margin-bottom: 0.1rem;
+        float: none;
+    }
+
+    .three .bottomLi {
+        width: 98%;
+        font-size: 0.35rem;
+        margin-top: 0rem;
+        text-align: center;
+    }
+
+    .three .circle {
+        width: 1.2rem;
+        height: 1.2rem;
+    }
+
+    .three .circle img {
+        width: 0.9rem;
+        height: 0.9rem;
+    }
+
+    .three .user {
+        height: 1.2rem;
+        overflow: hidden;
+    }
+
+    .three .ult em div {
+        line-height: 1.2rem;
+    }
+
+    .three .urt em {
+        line-height: 1.2rem;
+    }
+
+    .three .bottomLi img {
+        width: 0.4rem;
+        height: 0.4rem;
+        margin-top: 0.15rem;
+    }
+
+    .three .bottomLi .btck img {
+        width: 0.4rem;
+        margin-top: 0.1rem;
+    }
+
+    .three .bottomLi span {
+        line-height: 0.8rem;
+        text-indent: 0.1rem;
+    }
+
+    .three .bottomLi .btcla {
+        width: 30%;
+    }
+
+    .three .bottomLi .btck {
+        width: 33%;
+        padding-left: 3%;
+    }
+
+    .three .bottomLi .step {
+        width: 28%;
+        padding-right: 0%;
+    }
+
+    .three .cla em.plus {
+        position: relative;
+        left: -0.3rem
+    }
+
+    .three .lhj span.plus {
+        position: relative;
+        left: 1.3rem
+    }
+
+    .three .bottomLi .btck img {
+        width: 0.5rem;
+        height: 0.5rem;
+        margin-top: 0.12rem;
+    }
+
+
+    /*four*/
+    .four {
+        width: 50%;
+        float: left;
+    }
+
+    .four .bg {
+        width: 96%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .pk_container li.four .bg > h5 {
+        font-size: 0.25rem;
+    }
+
+    .four .user .ult span {
+        font-size: 0.2rem;
+    }
+
+    .four .user .ult em div {
+        width: 90%;
+        margin-right: 0;
+        font-size: 0.5rem;
+        line-height: 1rem;
+        padding-right: 0.2rem;
+    }
+
+    .four .user .ult s {
+        font-size: 0.1rem;
+        line-height: 1rem;
+    }
+
+    .four .circle {
+        width: 1rem;
+        height: 1rem;
+    }
+
+    .four .user .umd img {
+        width: 0.8rem;
+        height: 0.8rem;
+    }
+
+    .four .urt img {
+        width: 0.2rem;
+        height: 0.2rem;
+        top: -0.8rem;
+    }
+
+    .four .urt em {
+        font-size: 0.4rem;
+        line-height: 1rem;
+    }
+
+    .four .bottomLi {
+        width: 100%;
+        text-indent: 0.1rem;
+        font-size: 0.2rem;
+    }
+
+    .four .bottomLi img {
+        width: 0.2rem;
+        height: 0.2rem;
+    }
+
+    .four .bottomLi span {
+        width: 60%;
+    }
+
+    .four .user {
+        height: 1.2rem;
+        overflow: hidden;
+    }
+
+    /*six*/
+
+
+    /*eight*/
+    .eight {
+        width: 50%;
+        float: left;
+    }
+
+    .eight .bg {
+        width: 96%;
+        overflow: hidden;
+        display: block;
+        margin: 0 auto;
+    }
+
+    .pk_container li.eight .bg > h5 {
+        font-size: 0.25rem;
+        margin: 0.01rem 0;
+    }
+
+    .eight .user .ult span {
+        font-size: 0.2rem;
+
+    }
+
+    .eight .user .ult em div {
+        width: 90%;
+        padding-right: 0.2rem;
+        margin-right: 0rem;
+        font-size: 0.4rem;
+        line-height: 0.8rem;
+    }
+
+    .eight .user .ult s {
+        font-size: 0.1rem;
+        line-height: 1.3rem;
+    }
+
+    .eight .circle {
+        width: 1rem;
+        height: 1rem;
+    }
+
+    .eight .user .umd img {
+        width: 0.6rem;
+        height: 0.6rem;
+    }
+
+    .eight .urt img {
+        width: 0.15rem;
+        height: 0.15rem;
+        top: -0.6rem;
+        right: 0.2rem;
+    }
+
+    .eight .urt em {
+        font-size: 0.3rem;
+        line-height: 0.8rem;
+        padding-right: 45%;
+    }
+
+    .eight .bottomLi {
+        width: 100%;
+        text-indent: 0.1rem;
+        font-size: 0.2rem;
+    }
+
+    .eight .bottomLi img {
+        width: 0.2rem;
+        height: 0.2rem;
+    }
+
+    .eight .bottomLi span {
+        width: 60%;
+    }
+
+    .eight .user {
+        height: 0.85rem;
+        overflow: hidden;
+    }
+</style>

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.