Преглед изворни кода

一点小修改,通过编译

Administrator пре 1 година
родитељ
комит
f86115efd3

+ 1 - 0
router/ArkItemRouter.go

@@ -10,6 +10,7 @@ import (
 func ArkItemRouter(api *gin.RouterGroup) {
 	api.GET("/arkItems", GetArkItems)
 	api.GET("/arkDinos", GetArkDinos)
+
 	api.POST("/arkItems", PostArkItemList)
 	api.POST("/arkDinos", PostArkDinoList)
 

+ 1 - 0
ui/README.md

@@ -7,5 +7,6 @@
 7. 安装elementUI `npm install element-plus --save`
 8. 安装elementUI Icon`npm install @element-plus/icons-vue`
 9. 安装VUEX`npm install vuex@next --save`
+10. npm install --save-dev @types/vuex
 10. 安装富文编辑器`npm install @wangeditor/editor @wangeditor/editor-for-vue`
 11. 编译提示内存不足`npm install --save-dev cross-env`

+ 0 - 1
ui/src/App.vue

@@ -5,7 +5,6 @@
 import store from "./state/ItemList";
 
 store.commit("updateItemList");
-console.log(store.state.ItemMap.blueprintMap.get("Blueprint'/Game/PrimalEarth/CoreBlueprints/Items/Armor/Saddles/PrimalItemArmor_CarnoSaddle.PrimalItemArmor_CarnoSaddle'"))
 </script>
 <style scoped lang="scss">
 

+ 8 - 9
ui/src/api/ARKItemsApi.ts

@@ -1,4 +1,3 @@
-import {name} from "axios";
 import {GetDataByPath, PostDataByPath, PutDataByPath, ResponseData} from "./api";
 
 export class ArkInfo {
@@ -44,13 +43,13 @@ export class ArkDinoInfo extends ArkInfo {
     }
 }
 
-export class ArkItemData {
-    list: ArkItemInfo[]
+export class ArkItemData<T> {
+    list: T[]
     total: number
     pageNum: number
     pageSize: number
 
-    constructor(list: ArkItemInfo[], total: number, pageNum: number, pageSize: number) {
+    constructor(list: T[], total: number, pageNum: number, pageSize: number) {
         this.list = list;
         this.total = total;
         this.pageNum = pageNum;
@@ -59,11 +58,11 @@ export class ArkItemData {
 }
 
 export function GetItemsApi() {
-    return GetDataByPath("/ark/arkItems", {}, true) as Promise<ResponseData<ArkItemData>>
+    return GetDataByPath("/ark/arkItems", {}, true) as Promise<ResponseData<ArkItemData<ArkItemInfo>>>
 }
 
 export function GetDinosApi() {
-    return GetDataByPath("/ark/arkDinos", {}, true) as Promise<ResponseData<ArkDinoData>>
+    return GetDataByPath("/ark/arkDinos", {}, true) as Promise<ResponseData<ArkItemData<ArkDinoInfo>>>
 }
 
 export class ReqArkItem {
@@ -87,13 +86,13 @@ export class ReqArkItem {
 export function PostItemList(item: ReqArkItem, pageNum: number, pageSize: number) {
     item.pageNum = pageNum;
     item.pageSize = pageSize;
-    return PostDataByPath("/ark/arkItems", item, true) as Promise<ResponseData<ArkItemInfo>>
+    return PostDataByPath("/ark/arkItems", item, true) as Promise<ResponseData<ArkItemData<ArkItemInfo>>>
 }
 
 export function PostDinoList(item: ReqArkItem, pageNum: number, pageSize: number) {
     item.pageNum = pageNum;
     item.pageSize = pageSize;
-    return PostDataByPath("/ark/arkDinos", item, true) as Promise<ResponseData<ArkDinoData>>
+    return PostDataByPath("/ark/arkDinos", item, true) as Promise<ResponseData<ArkItemData<ArkDinoInfo>>>
 }
 
 export function updateItemList(item: ArkItemInfo) {
@@ -101,5 +100,5 @@ export function updateItemList(item: ArkItemInfo) {
 }
 
 export function updateDinoList(dino: ArkDinoInfo) {
-    return PutDataByPath("/ark/arkItem", dino, true) as Promise<ResponseData<ArkDinoData>>
+    return PutDataByPath("/ark/arkItem", dino, true) as Promise<ResponseData<ArkItemData<ArkDinoInfo>>>
 }

+ 5 - 5
ui/src/api/ARKShopItemAPI.ts

@@ -1,5 +1,5 @@
-import {Item} from "./ConfigFile.ts";
-import {DeleteDataByPath, GetDataByPath, PostDataByPath, PutDataByPath, ResponseData} from "./api.ts";
+import {Item} from "./ConfigFile";
+import {DeleteDataByPath, GetDataByPath, PostDataByPath, PutDataByPath, ResponseData} from "./api";
 
 export class ShopData {
     Description: string
@@ -17,7 +17,7 @@ export class ShopItem extends ShopData {
     Items: Item[]
 
     static Create(): ShopItem {
-        return new ShopItem("item", 0, "", []);
+        return new ShopItem("item", "", 0, []);
     }
 
     constructor(Type: string, Description: string, Price: number, Items: Item[]) {
@@ -129,13 +129,13 @@ export function GetShopItems(type: string) {
     return GetDataByPath("/ark/shopItem?type=" + type, {}, true) as Promise<ResponseData<ShopData[]>>;
 }
 
-export function SaveShopItem(shopItem: ShopItem, name: string, shopType: string) {
+export function SaveShopItem(shopItem: ShopData, name: string, shopType: string) {
     return PostDataByPath("/ark/shopItem",
         {shopItem: shopItem, shopItemName: name, shopType: shopType},
         true)
 }
 
-export function UpdateShopItem(newShopItem: ShopItem, name: string, shopType: string) {
+export function UpdateShopItem(newShopItem: ShopData, name: string, shopType: string) {
     return PutDataByPath("/ark/shopItem", {
         newShopItem: newShopItem,
         shopItemName: name, shopType: shopType

+ 5 - 5
ui/src/api/ConfigFile.ts

@@ -1,4 +1,4 @@
-import {GetDataByPath, PostDataByPath, PutDataByPath, ResponseData} from './api.ts';
+import {GetDataByPath, PostDataByPath, PutDataByPath, ResponseData} from './api';
 
 export class Messages {
     Sender: string;
@@ -345,21 +345,21 @@ export class SellItem {
 }
 
 export function GetSellItems() {
-    return GetDataByPath("/ark/sellItems", {}, true) as Promise<ResponseData<SellItem[]>>;
+    return GetDataByPath("/ark/sellItem", {}, true) as Promise<ResponseData<SellItem[]>>;
 }
 
 export function SaveSellItem(sellItem: SellItem) {
-    return PostDataByPath("/ark/sellItems", sellItem, true)
+    return PostDataByPath("/ark/sellItem", sellItem, true)
 }
 
 export function UpdateSellItem(oldSellItem: SellItem, newSellItem: SellItem) {
-    return PutDataByPath("/ark/sellItems", {
+    return PutDataByPath("/ark/sellItem", {
         oldSellItem: oldSellItem, newSellItem: newSellItem
     }, true)
 }
 
 export function DeleteSellItem(sellItemName: string) {
-    return PutDataByPath("/ark/sellItems", {sellItemName: sellItemName}, true)
+    return PutDataByPath("/ark/sellItem", {sellItemName: sellItemName}, true)
 }
 
 export class BaseData<T> {

+ 1 - 1
ui/src/api/Login.ts

@@ -1,4 +1,4 @@
-import {GetDataByPath, PostDataByPath} from "./api.ts";
+import {GetDataByPath, PostDataByPath} from "./api";
 
 export class LoginInfo {
     username: string = "";

+ 1 - 1
ui/src/components/ShopBeaconComponent.vue

@@ -81,7 +81,7 @@
 
 import {ref} from "vue";
 import {BaseData} from "../api/ConfigFile";
-import {DeleteShopItem, GetShopItems, SaveShopItem, ShopBeacon, ShopDino, UpdateShopItem} from "../api/ARKShopItemAPI";
+import {DeleteShopItem, GetShopItems, SaveShopItem, ShopBeacon, UpdateShopItem} from "../api/ARKShopItemAPI";
 import {ElMessage} from "element-plus";
 
 let shopItems = ref<BaseData<ShopBeacon>[]>([])

+ 1 - 2
ui/src/components/ShopCommandsComponent.vue

@@ -3,7 +3,7 @@
     <el-col :span="1.5">
       <el-button plain class="el-btn-margin" type="primary"
                  @click="OpenAddAndUpdateView('save',
-                 new BaseData<ShopExperience>('',ShopCommand.Create()))">
+                 new BaseData<ShopCommand>('',ShopCommand.Create()))">
         添加信标
       </el-button>
     </el-col>
@@ -101,7 +101,6 @@ import {
   SaveShopItem,
   ShopCommand,
   ShopCommandItem,
-  ShopExperience,
   UpdateShopItem
 } from "../api/ARKShopItemAPI";
 import {ElMessage} from "element-plus";

+ 2 - 2
ui/src/components/ShopDinoComponent.vue

@@ -156,7 +156,7 @@ function replay() {
 
 replay()
 
-function OpenAddAndUpdateView(status: string, shopDino: BaseData<shopDino>) {
+function OpenAddAndUpdateView(status: string, shopDino: BaseData<ShopDino>) {
   openView.value = true
   itemStatus.value = status
   shopDinoForm.value = shopDino
@@ -176,7 +176,7 @@ function SubmitForm() {
       )
       break
     case "update":
-      UpdateShopItem(shopOldItemsForm.value.data, shopDinoForm.value.Name, "dino").then(res => {
+      UpdateShopItem(shopDinoForm.value.data, shopDinoForm.value.Name, "dino").then(res => {
             if (res.code == 200) {
               ElMessage.success("修改成功")
             } else {

+ 5 - 0
ui/src/components/ShopExperienceComponent.vue

@@ -19,6 +19,11 @@
     <el-table-column prop="data.Price" label="商品价格"></el-table-column>
     <el-table-column prop="data.Amount" label="数量"/>
     <el-table-column prop="data.GiveToDino" label="是否给到龙"/>
+    <el-table-column label="操作">
+      <template #default="scope">
+        <el-button type="text" @click="DeleteItem(scope.row.Name)">删除</el-button>
+      </template>
+    </el-table-column>
   </el-table>
   <el-dialog title="添加/修改恐龙列表" v-model="openView" width="1100px">
     <el-form :model="shopItemForm" label-width="100px">

+ 10 - 7
ui/src/components/ShopUnlockengramComponent.vue

@@ -3,7 +3,7 @@
     <el-col :span="1.5">
       <el-button plain class="el-btn-margin" type="primary"
                  @click="OpenAddAndUpdateView('save',
-                 new BaseData<ShopExperience>('',ShopCommand.Create()))">
+                 new BaseData<ShopUnlockengram>('',ShopUnlockengram.Create()))">
         添加信标
       </el-button>
     </el-col>
@@ -24,7 +24,7 @@
     <el-table-column label="操作" width="180">
       <template #default="scope">
         <el-button type="primary" link @click="OpenAddAndUpdateView('save',
-                new BaseData<ShopCommand>(scope.row.Name,scope.row.data))">修改
+                new BaseData<ShopUnlockengram>(scope.row.Name,scope.row.data))">修改
         </el-button>
         <el-button type="danger" link @click="DeleteItem(scope.row.Name)">删除
         </el-button>
@@ -83,6 +83,12 @@
         </el-table>
       </el-col>
     </el-form>
+    <template #footer>
+      <div class="dialog-footer">
+        <el-button type="primary" @click="SubmitForm()">确 定</el-button>
+        <el-button @click="openView=false">取 消</el-button>
+      </div>
+    </template>
   </el-dialog>
 
 </template>
@@ -95,9 +101,6 @@ import {
   DeleteShopItem,
   GetShopItems,
   SaveShopItem,
-  ShopCommand,
-  ShopDino,
-  ShopExperience,
   ShopUnlockengram,
   ShopUnlockengramItem,
   UpdateShopItem
@@ -108,7 +111,7 @@ import ArkItemText from "./item/ArkItemText.vue";
 const type = ref("unlockengram")
 let shopItems = ref<BaseData<ShopUnlockengram>[]>([])
 
-let shopItemForm = ref<BaseData<ShopUnlockengram>>(new BaseData<ShopUnlockengram>("", ShopDino.Create()))
+let shopItemForm = ref<BaseData<ShopUnlockengram>>(new BaseData<ShopUnlockengram>("", ShopUnlockengram.Create()))
 
 let itemStatus = ref<string>("")
 let openView = ref(false)
@@ -172,7 +175,7 @@ function DeleteItem(itemName: string) {
 }
 
 function AddItems() {
-  shopItemForm.value.data.Items.push(new ShopUnlockengramItem("", ''))
+  shopItemForm.value.data.Items.push(new ShopUnlockengramItem(""))
 }
 
 function getTypeNameByType(type: string): string {

+ 3 - 3
ui/src/components/item/ArkDinoSelect.vue

@@ -6,9 +6,9 @@
       style="width: 240px">
     <el-option
         v-for="item in dinoList"
-        :key="getData(item,keyType)"
-        :label="getData(item,labelType)"
-        :value="getData(item,valueType)"
+        :key="getData(item,props.keyType)"
+        :label="getData(item,props.labelType)"
+        :value="getData(item,props.valueType)"
     />
   </el-select>
 </template>

+ 3 - 3
ui/src/components/item/ArkItemSelect.vue

@@ -6,9 +6,9 @@
       style="width: 240px">
     <el-option
         v-for="item in itemList"
-        :key="getData(item,keyType)"
-        :label="getData(item,labelType)"
-        :value="getData(item,valueType)"
+        :key="getData(item,props.keyType)"
+        :label="getData(item,props.labelType)"
+        :value="getData(item,props.valueType)"
     />
   </el-select>
 

+ 2 - 1
ui/src/components/item/ArkItemText.vue

@@ -6,6 +6,7 @@
 <script setup lang="ts">
 import {ref} from "vue";
 import store from "../../state/ItemList";
+import {ArkInfo} from "../../api/ARKItemsApi";
 
 const props = defineProps({
   sourceType: {
@@ -26,7 +27,7 @@ const props = defineProps({
   }
 })
 
-let ItemMap = ref<Map<string, string>>(new Map<string, string>());
+let ItemMap = ref<Map<string, ArkInfo>>(new Map<string, ArkInfo>());
 
 function getMapByType() {
   if (props.sourceType === 'blueprint') {

+ 3 - 0
ui/src/main.ts

@@ -1,4 +1,6 @@
 import {createApp} from 'vue'
+// @ts-ignore
+import Vuex from 'vuex'
 import App from './App.vue'
 import './style.css'
 import axios from 'axios'
@@ -12,5 +14,6 @@ const app = createApp(App);
 app.use(ElementPlus)
 app.use(store);
 app.use(router)
+app.use(Vuex)
 app.provide('$axios', axios)
 app.mount('#app')

+ 1 - 1
ui/src/page/Login.vue

@@ -22,7 +22,7 @@
 <script setup lang="ts">
 import {reactive} from "vue";
 import {Lock, UserFilled} from "@element-plus/icons-vue";
-import {arkLogin, LoginInfo} from "../api/Login.ts";
+import {arkLogin, LoginInfo} from "../api/Login";
 import router from "../router";
 
 

+ 1 - 1
ui/src/page/back/ARKItemListView.vue

@@ -94,11 +94,11 @@ let pageNum = ref<number>(1)
 let pageSize = ref<number>(10)
 
 let searchForm = ref<ReqArkItem>(new ReqArkItem(pageNum.value, pageSize.value, "", "", "", ""))
-let demo = ref<string>("")
 function replay() {
   items.value = []
   PostItemList(searchForm.value, pageNum.value, pageSize.value).then((res) => {
     if (res.code == 200) {
+      console.log(res.data)
       items.value = res.data.list
       total.value = res.data.total
     }

+ 1 - 0
ui/src/page/back/BackBaseView.vue

@@ -14,6 +14,7 @@
 </template>
 <script setup lang="ts">
 import {installPlugin, saveConfig, updateServerShopApiConfig} from "../../api/FileApi";
+import {ref} from "vue";
 
 let compulsion = ref(false)
 

+ 2 - 2
ui/src/page/back/GeneralView.vue

@@ -46,7 +46,7 @@
             <el-switch v-model="generalForm.UseSoulTraps"></el-switch>
           </el-form-item>
           <el-form-item label="低温仓时间上限 ?">
-            <el-switch v-model="General.CryoLimitedTime"></el-switch>
+            <el-switch v-model="generalForm.CryoLimitedTime"></el-switch>
           </el-form-item>
         </el-form>
       </el-col>
@@ -57,7 +57,7 @@
   </div>
 </template>
 <script setup lang="ts">
-import {General, GetGeneral} from "../../api/ConfigFile.ts";
+import {General, GetGeneral} from "../../api/ConfigFile";
 import {ref} from "vue";
 import VIPView from "./VIPView.vue";
 

+ 1 - 1
ui/src/page/back/KitsView.vue

@@ -61,7 +61,7 @@
 </template>
 
 <script setup lang="ts">
-import {BaseData, Dino, GetKits, Item, Kit} from "../../api/ConfigFile.ts";
+import {BaseData, Dino, GetKits, Item, Kit} from "../../api/ConfigFile";
 import {ref} from "vue";
 import ArkItemText from "../../components/item/ArkItemText.vue";
 

+ 1 - 1
ui/src/page/back/MessagesView.vue

@@ -280,7 +280,7 @@
 <script lang="ts" setup>
 import {ref} from 'vue';
 import {ElForm, ElFormItem, ElInput} from 'element-plus';
-import {GetArkConfig, Messages} from "../../api/ConfigFile.ts";
+import {GetArkConfig, Messages} from "../../api/ConfigFile";
 
 let messages = ref<Messages>(new Messages())
 

+ 2 - 2
ui/src/page/back/SellItemView.vue

@@ -17,7 +17,7 @@
 </template>
 
 <script setup lang="ts">
-import {BaseData, GetSellItems, SellItem} from "../../api/ConfigFile.ts";
+import {BaseData, GetSellItems, SellItem} from "../../api/ConfigFile";
 import {ref} from "vue";
 
 let SellItems = ref<BaseData<SellItem>[]>([]);
@@ -25,7 +25,7 @@ replay()
 function replay() {
   GetSellItems().then((res) => {
     if (res.code == 200) {
-      for (let key in res) {
+      for (let key in res.data) {
         SellItems.value.push(new BaseData(key, res.data[key]))
       }
     }

+ 5 - 5
ui/src/page/back/ShopItemView.vue

@@ -11,10 +11,10 @@
           <el-table-column prop="Amount" label="数量"></el-table-column>
           <el-table-column prop="Blueprint" label="蓝图"></el-table-column>
           <el-table-column label="操作">
-            <template #default="scope">
-              <el-button type="primary">添加</el-button>
-              <el-button type="primary">删除</el-button>
-            </template>
+<!--            <template #default="scope">-->
+<!--              <el-button type="primary">添加</el-button>-->
+<!--              <el-button type="primary">删除</el-button>-->
+<!--            </template>-->
           </el-table-column>
         </el-table>
       </el-col>
@@ -23,7 +23,7 @@
 </template>
 
 <script setup lang="ts">
-import {BaseData , ShopItem} from "../../api/ConfigFile.ts"
+import {BaseData , ShopItem} from "../../api/ConfigFile"
 import {ref} from "vue"
 
 let shopItems = ref<BaseData<ShopItem>[]>([])

+ 4 - 4
ui/src/page/back/ShopItemView2.vue

@@ -37,8 +37,8 @@
 <script setup lang="ts">
 import {ref} from "vue";
 import {TabsPaneContext} from "element-plus";
-import {GetShopItems, ShopData, ShopItem} from "../../api/ARKShopItemAPI.ts";
-import {BaseData} from "../../api/ConfigFile.ts";
+import {GetShopItems, ShopData, ShopItem} from "../../api/ARKShopItemAPI";
+import {BaseData} from "../../api/ConfigFile";
 import ShopItemsComponent from "../../components/ShopItemsComponent.vue";
 import ShopCommandsComponent from "../../components/ShopCommandsComponent.vue";
 import ShopDinoComponent from "../../components/ShopDinoComponent.vue";
@@ -129,8 +129,8 @@ function getTypeNameByType(type: string): string {
 
 }
 
-const handleClick = (tab: TabsPaneContext, event: Event) => {
-  activeName.value = tab.props.name
+const handleClick = (tab: TabsPaneContext) => {
+  activeName.value = tab.props.name+""
   router.push({path: "/back/shopItem/"+tab.props.name})
   replay()
 }

+ 15 - 13
ui/src/page/back/VIPView.vue

@@ -60,7 +60,7 @@
       </el-col>
       <el-row>
         <el-col :span="1.5" style="margin: 10px ">
-          <el-button plain type="primary" @click="OpenDialog('save',new Group())">添加</el-button>
+          <el-button plain type="primary" @click="OpenDialog('save',new Group('',0))">添加</el-button>
           <el-button plain type="primary" @click="replay()">刷新</el-button>
         </el-col>
         <el-col :span="1.5"></el-col>
@@ -72,7 +72,7 @@
         <el-table-column width="120" label="操作">
           <template #default="scope">
             <el-button link type="primary" @click="OpenDialog('update',scope.row)">修改</el-button>
-            <el-button link type="danger" @click="deleteSkuById(scope.row.id)">删除</el-button>
+            <!--            <el-button link type="danger" @click="deleteSkuById(scope.row.Name)">删除</el-button>-->
           </template>
         </el-table-column>
       </el-table>
@@ -99,22 +99,22 @@
 <script setup lang="ts">
 
 import {QuestionFilled} from "@element-plus/icons-vue";
-import {GetTimedPointsReward, Group, TimedPointsReward, TimedPointsRewardAmount} from "../../api/ConfigFile.ts";
+import {GetTimedPointsReward, Group, TimedPointsReward, TimedPointsRewardAmount} from "../../api/ConfigFile";
 import {ref} from "vue";
 
 
-let timedPointsReward = ref<TimedPointsReward>(new TimedPointsReward())
-let groups = ref<Group[]>(new Array<Group[]>())
+let timedPointsReward = ref<TimedPointsReward>(TimedPointsReward.Create())
+let groups = ref<Group[]>([])
 
-let groupForm = ref<Group>(new Group())
+let groupForm = ref<Group>(new Group("", 0))
 
 let open = ref(false)
 let status = ref("save")//save,update
 
 
-function OpenDialog(status: string, group: Group) {
+function OpenDialog(statu: string, group: Group) {
   open.value = true
-  this.status = status
+  status.value = statu
   groupForm.value = group
 }
 
@@ -126,13 +126,15 @@ function submitForm() {
 
 function replay() {
   groups.value = []
-  GetTimedPointsReward().then((data) => {
-    if (data.code == 200) {
-      timedPointsReward.value = data.data
+  GetTimedPointsReward().then((res) => {
+    if (res.code == 200) {
+      timedPointsReward.value = res.data
     }
     groups.value = []
-    for (let groupsKey in data.data.Groups) {
-      groups.value.push(new Group(groupsKey, data.data.Groups[groupsKey].Amount))
+    let map = res.data.Groups
+    for (let groupsKey in map) {
+      let da = map.get(groupsKey)
+      groups.value.push(new Group(groupsKey, da ? da.Amount : 0))
     }
   })
 }

+ 5 - 15
ui/src/page/back/index.vue

@@ -25,18 +25,6 @@
     </template>
     <el-menu-item @click="ReplayConfig()">刷新
     </el-menu-item>
-    <!--    -->
-    <!--    <el-menu-item index="1" @click="JumpRouter('/back/base')">基本功能</el-menu-item>-->
-    <!--    <el-menu-item index="2" @click="JumpRouter('/back/general')">概述</el-menu-item>-->
-    <!--    <el-sub-menu index="3">-->
-    <!--      <template #title>商城</template>-->
-    <!--      <el-menu-item index="2-1" @click="JumpRouter('/back/vip')">VIP</el-menu-item>-->
-    <!--      <el-menu-item index="2-2">礼包</el-menu-item>-->
-    <!--      <el-menu-item index="2-3">商品</el-menu-item>-->
-    <!--      <el-menu-item index="2-4">回收</el-menu-item>-->
-    <!--    </el-sub-menu>-->
-    <!--    <el-menu-item index="4" @click="JumpRouter('/back/message')">消息</el-menu-item>-->
-    <!--    <el-menu-item index="5">设置</el-menu-item>-->
   </el-menu>
   <router-view/>
 </template>
@@ -46,7 +34,7 @@ import {ref} from 'vue'
 import router from "../../router";
 import {ReplayConfig} from "../../api/Login";
 
-const activeIndex = ref<string>('1')
+let activeIndex = ref<string>("1")
 
 class Menu {
   index: string
@@ -62,7 +50,7 @@ class Menu {
   }
 }
 
-const menus = ref<Menu[]>([new Menu("1", "基本功能", "/back/base", []),
+var menus = ref<Menu[]>([new Menu("1", "基本功能", "/back/base", []),
   new Menu("2", "概述", "/back/general", []),
   new Menu("3", "商城", "/back/vip", [
     new Menu("2-1", "VIP", "/back/general", []),
@@ -87,7 +75,9 @@ function GetNowMenu() {
       }
     }
   }
-  activeIndex.value = map.get(router.currentRoute.value.path)
+  let path = router.currentRoute.value.path
+  let d = map.get(path)
+  activeIndex.value = d ? d.toString() : "1"
 }
 
 GetNowMenu()

+ 2 - 1
ui/src/state/ItemList.ts

@@ -1,5 +1,6 @@
+// @ts-ignore
 import {createStore} from 'vuex'
-import {ArkDinoInfo, ArkInfo, ArkItemData, ArkItemInfo, GetDinosApi, GetItemsApi} from "../api/ARKItemsApi";
+import {ArkDinoInfo, ArkInfo, ArkItemInfo, GetDinosApi, GetItemsApi} from "../api/ARKItemsApi";
 // 类似 Redux 中的建立状态树
 
 export default createStore({