开始链路预测模块
This commit is contained in:
		
							parent
							
								
									47bea158d6
								
							
						
					
					
						commit
						ea81b75abd
					
				| 
						 | 
				
			
			@ -110,7 +110,7 @@ const isActive = (routePath) => {
 | 
			
		|||
 | 
			
		||||
//处理跳转页面逻辑
 | 
			
		||||
const jumpPage = (routePath) => {
 | 
			
		||||
  const activedPaths = ["/key-node-1", "/key-node-2", "/key-node-3"];
 | 
			
		||||
  const activedPaths = ["/key-node-1", "/key-node-2", "/key-node-3", "/link-prediction-1"];
 | 
			
		||||
  if (activedPaths.includes(routePath)) {
 | 
			
		||||
    router.push({ path: routePath });
 | 
			
		||||
    return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ import { createRouter, createWebHistory } from "vue-router";
 | 
			
		|||
const KeyNodeRecognition2 = () => import("@/views/KeyNodeRecognition1/index.vue");
 | 
			
		||||
const KeyNodeRecognition3 = () => import("@/views/KeyNodeRecognition2/index.vue");
 | 
			
		||||
const KeyNodeRecognition1 = () => import("@/views/KeyNodeRecognition3/index.vue");
 | 
			
		||||
const LinkPrediction1 = () => import("@/views/LinkPrediction1.vue");
 | 
			
		||||
const LinkPrediction1 = () => import("@/views/LinkPrediction/characterInteraction/index.vue");
 | 
			
		||||
const LinkPrediction2 = () => import("@/views/LinkPrediction2.vue");
 | 
			
		||||
const LinkPrediction3 = () => import("@/views/LinkPrediction3.vue");
 | 
			
		||||
const GroupEvolution1 = () => import("@/views/GroupEvolution1.vue");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
import { defineStore } from "pinia";
 | 
			
		||||
 | 
			
		||||
export const useLinkPredictionStore = defineStore("linkPrediction", {
 | 
			
		||||
export const useCharacterInteractionStore = defineStore("characterInteraction", {
 | 
			
		||||
  state: () => ({}),
 | 
			
		||||
  actions: {},
 | 
			
		||||
  persist: false // 开启持久化
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										128
									
								
								src/views/LinkPrediction/characterInteraction/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								src/views/LinkPrediction/characterInteraction/index.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,128 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="layout-container">
 | 
			
		||||
    <div class="top-container"></div>
 | 
			
		||||
    <div class="content">
 | 
			
		||||
      <div class="left-container">
 | 
			
		||||
        <div class="userPanel"></div>
 | 
			
		||||
        <div class="userChart"></div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="middle-container">
 | 
			
		||||
        <div class="graph"></div>
 | 
			
		||||
        <div class="timeShaft"></div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="right-container">
 | 
			
		||||
        <div class="anlysisPanel"></div>
 | 
			
		||||
        <div class="cloudWords"></div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup>
 | 
			
		||||
import { useCharacterInteractionStore } from "@/store/llinkPrediction/index";
 | 
			
		||||
const interactionStore = useCharacterInteractionStore();
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less">
 | 
			
		||||
.layout-container {
 | 
			
		||||
  width: 1544px;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: column;
 | 
			
		||||
  gap: 20px;
 | 
			
		||||
  .top-container {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 88px;
 | 
			
		||||
    background-image: url(@/assets/images/linkPrediction/title/page-title.png);
 | 
			
		||||
    background-repeat: no-repeat;
 | 
			
		||||
    background-size: cover;
 | 
			
		||||
    fill: linear-gradient(270deg, rgba(6, 61, 113, 0.1) 0%, rgba(8, 30, 56, 0.38) 100%);
 | 
			
		||||
    stroke-width: 1px;
 | 
			
		||||
    stroke: #3aa1f8;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .content {
 | 
			
		||||
    width: 100%;
 | 
			
		||||
    height: 805px;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    justify-content: space-between;
 | 
			
		||||
    gap: 15px;
 | 
			
		||||
    .left-container {
 | 
			
		||||
      width: 352px;
 | 
			
		||||
      height: 100%;
 | 
			
		||||
      display: flex;
 | 
			
		||||
      flex-direction: column;
 | 
			
		||||
      gap: 15px;
 | 
			
		||||
      .userPanel {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 540px;
 | 
			
		||||
        border-radius: 2px;
 | 
			
		||||
        flex-shrink: 0;
 | 
			
		||||
        background-color: rgba(6, 45, 90, 0.3);
 | 
			
		||||
        border: 1px solid rgba(0, 113, 188, 0.705);
 | 
			
		||||
      }
 | 
			
		||||
      .userChart {
 | 
			
		||||
        flex: 1;
 | 
			
		||||
        border-radius: 2px;
 | 
			
		||||
        background-color: rgba(6, 45, 90, 0.3);
 | 
			
		||||
        border: 1px solid rgba(0, 113, 188, 0.705);
 | 
			
		||||
        overflow: auto;
 | 
			
		||||
        -ms-overflow-style: none; /* IE 和 Edge */
 | 
			
		||||
        scrollbar-width: none; /* Firefox */
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .middle-container {
 | 
			
		||||
      flex: 1;
 | 
			
		||||
      display: flex;
 | 
			
		||||
      flex-direction: column;
 | 
			
		||||
      gap: 15px;
 | 
			
		||||
      .search {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 60px;
 | 
			
		||||
      }
 | 
			
		||||
      .graph {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 541px;
 | 
			
		||||
        background-color: #070a22;
 | 
			
		||||
        border-radius: 4px;
 | 
			
		||||
        background-color: rgba(6, 45, 90, 0.3);
 | 
			
		||||
        border: 1px solid rgba(0, 113, 188, 0.705);
 | 
			
		||||
      }
 | 
			
		||||
      .timeShaft {
 | 
			
		||||
        flex: 1;
 | 
			
		||||
        border-radius: 4px;
 | 
			
		||||
        background-color: rgba(6, 45, 90, 0.3);
 | 
			
		||||
        border: 1px solid rgba(0, 113, 188, 0.705);
 | 
			
		||||
        fill: linear-gradient(270deg, rgba(6, 61, 113, 0.1) 0%, rgba(8, 30, 56, 0.38) 100%);
 | 
			
		||||
        stroke-width: 1px;
 | 
			
		||||
        stroke: #3aa1f8;
 | 
			
		||||
        overflow: auto;
 | 
			
		||||
        padding: 10px 10px;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .right-container {
 | 
			
		||||
      width: 352px;
 | 
			
		||||
      height: 100%;
 | 
			
		||||
      display: flex;
 | 
			
		||||
      flex-direction: column;
 | 
			
		||||
      gap: 15px;
 | 
			
		||||
      .anlysisPanel {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 540px;
 | 
			
		||||
        border-radius: 2px;
 | 
			
		||||
        flex-shrink: 0;
 | 
			
		||||
        background-color: rgba(6, 45, 90, 0.3);
 | 
			
		||||
        border: 1px solid rgba(0, 113, 188, 0.705);
 | 
			
		||||
      }
 | 
			
		||||
      .cloudWords {
 | 
			
		||||
        flex: 1;
 | 
			
		||||
        border-radius: 2px;
 | 
			
		||||
        flex-shrink: 0;
 | 
			
		||||
        background-color: rgba(6, 45, 90, 0.3);
 | 
			
		||||
        border: 1px solid rgba(0, 113, 188, 0.705);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										7
									
								
								src/views/LinkPrediction/components/anlysisPanle.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/views/LinkPrediction/components/anlysisPanle.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="anlysisPanel-component"></div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup></script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less"></style>
 | 
			
		||||
							
								
								
									
										7
									
								
								src/views/LinkPrediction/components/cloudWords.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/views/LinkPrediction/components/cloudWords.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="cloudWords-component"></div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup></script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less"></style>
 | 
			
		||||
							
								
								
									
										7
									
								
								src/views/LinkPrediction/components/graph.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/views/LinkPrediction/components/graph.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="graph-component"></div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup></script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less"></style>
 | 
			
		||||
							
								
								
									
										7
									
								
								src/views/LinkPrediction/components/postList.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/views/LinkPrediction/components/postList.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="postList-component"></div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup></script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less"></style>
 | 
			
		||||
							
								
								
									
										7
									
								
								src/views/LinkPrediction/components/userChart.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/views/LinkPrediction/components/userChart.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="userChart-component"></div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup></script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less"></style>
 | 
			
		||||
							
								
								
									
										7
									
								
								src/views/LinkPrediction/components/userPanel.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								src/views/LinkPrediction/components/userPanel.vue
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="userPanel-component"></div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script setup></script>
 | 
			
		||||
 | 
			
		||||
<style scoped lang="less"></style>
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user