解决冲突

This commit is contained in:
duanhao 2025-08-07 10:22:39 +08:00
commit 55330a315d
2 changed files with 54 additions and 45 deletions

View File

@ -16,7 +16,8 @@ import {
getGroupMemberTimeLine, getGroupMemberTimeLine,
getGroupMemberChart, getGroupMemberChart,
getGroupMemberEvolutionInfoByTime, getGroupMemberEvolutionInfoByTime,
getGroupMemberEvolutionAnalysisChart getGroupMemberEvolutionAnalysisChart,
getRelationGraphByUtcTime
} from "@/service/api/groupEvolution" } from "@/service/api/groupEvolution"
import { TansTimestamp, utcStringToHHMMSS } from "@/utils/transform" import { TansTimestamp, utcStringToHHMMSS } from "@/utils/transform"
@ -241,9 +242,7 @@ export const useGroupDiscoveryStore = defineStore("groupDiscovery", {
// 通过时间来获取帖文列表 // 通过时间来获取帖文列表
//根据时间参数获取贴文数据 //根据时间参数获取贴文数据
async initialPostByUtcTime(utcTime) { async initialPostByUtcTime(utcTime) {}
}
}, },
persist: true // 开启持久化 persist: true // 开启持久化
}) })
@ -982,14 +981,13 @@ export const useGroupMemberStore = defineStore("groupMember", {
}, },
async initializeGroupList(time = "2024-06-19T07:57:46Z") { async initializeGroupList(time = "2024-06-19T07:57:46Z") {
const res = await getGroupMemberInfoList(time) const res = await getGroupMemberInfoList(time)
console.log("测试获取groupMemberInfoList:",res); console.log("测试获取groupMemberInfoList:", res)
const groupList = res.data.map(item => ({ const groupList = res.data.map((item) => ({
id: item.id, id: item.id,
type: item.type, type: item.type,
focusedTopic: item.focusedTopic, focusedTopic: item.focusedTopic,
value: item.value.map(item => (item).toFixed(2)) value: item.value.map((item) => item.toFixed(2))
// value: item.value.map(item => (item * 100 + 20).toFixed(2)) // value: item.value.map(item => (item * 100 + 20).toFixed(2))
})) }))
this.groupList = groupList this.groupList = groupList
}, },
@ -997,13 +995,13 @@ export const useGroupMemberStore = defineStore("groupMember", {
const res = await getGroupMemberChart() const res = await getGroupMemberChart()
// console.log("测试获取groupMemberChart:",res); // console.log("测试获取groupMemberChart:",res);
const xAxisData = res.data.xaxisData.map(item => utcStringToHHMMSS(item)) const xAxisData = res.data.xaxisData.map((item) => utcStringToHHMMSS(item))
const yAxisRange = res.data.yaxisRange const yAxisRange = res.data.yaxisRange
const themeColors = ["#2AB8FD", "#02D7DA", "#FFDA09", "#EB57B0"] const themeColors = ["#2AB8FD", "#02D7DA", "#FFDA09", "#EB57B0"]
const seriesList = res.data.seriesList.map(item => ({ const seriesList = res.data.seriesList.map((item) => ({
data: item.data.map(item => item.toFixed(2)), data: item.data.map((item) => item.toFixed(2)),
name: item.name, name: item.name,
themeColor: themeColors[item.id - 1], themeColor: themeColors[item.id - 1]
})) }))
this.chartData = { this.chartData = {
xAxisData, xAxisData,
@ -1014,56 +1012,67 @@ export const useGroupMemberStore = defineStore("groupMember", {
async initialPostByUtcTime(utcTime) { async initialPostByUtcTime(utcTime) {
const res = await getGroupMemberEvolutionInfoByTime(utcTime) const res = await getGroupMemberEvolutionInfoByTime(utcTime)
this.posts = res.data this.posts = res.data
console.log("测试获取groupMemberEvolutionInfoByTime:",res.data); console.log("测试获取groupMemberEvolutionInfoByTime:", res.data)
}, },
async initializeGroupMemberEvolutionAnalysisChart() { async initializeGroupMemberEvolutionAnalysisChart() {
const res = await getGroupMemberEvolutionAnalysisChart() const res = await getGroupMemberEvolutionAnalysisChart()
console.log("测试获取groupMemberEvolutionAnalysisChart:",res); console.log("测试获取groupMemberEvolutionAnalysisChart:", res)
const themeColors = { const themeColors = {
分裂演化:"#2AB8FD", 分裂演化: "#2AB8FD",
合并演化:"#02D7DA", 合并演化: "#02D7DA",
收缩演化:"#FFDA09", 收缩演化: "#FFDA09",
扩展演化:"#EB57B0" 扩展演化: "#EB57B0"
} }
const topSelfMedia = res.data.topSelfMedia.map(item => ({ const topSelfMedia = res.data.topSelfMedia.map((item) => ({
id: item.id, id: item.id,
name: item.name, name: item.name,
chart: { chart: {
xAxisData: item.chart.xaxisData.map(item => utcStringToHHMMSS(item)), xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)),
yAxisRange: {min: 0, max: Math.ceil(Math.max(...item.chart.seriesList[0].data)), interval: Math.ceil(Math.max(...item.chart.seriesList[0].data)/5)}, yAxisRange: {
seriesList: item.chart.seriesList.map(item => ({ min: 0,
max: Math.ceil(Math.max(...item.chart.seriesList[0].data)),
interval: Math.ceil(Math.max(...item.chart.seriesList[0].data) / 5)
},
seriesList: item.chart.seriesList.map((item) => ({
data: item.data, data: item.data,
name: item.name, name: item.name,
themeColor: themeColors[item.name], themeColor: themeColors[item.name]
})) }))
} }
})) }))
const officalMedia = res.data.officalMedia.map((item) => ({
const officalMedia = res.data.officalMedia.map(item => ({
id: item.id, id: item.id,
name: item.name, name: item.name,
chart: { chart: {
xAxisData: item.chart.xaxisData.map(item => utcStringToHHMMSS(item)), xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)),
yAxisRange: {min: 0, max: Math.ceil(Math.max(...item.chart.seriesList[0].data)), interval: Math.ceil(Math.max(...item.chart.seriesList[0].data)/5)}, yAxisRange: {
seriesList: item.chart.seriesList.map(item => ({ min: 0,
max: Math.ceil(Math.max(...item.chart.seriesList[0].data)),
interval: Math.ceil(Math.max(...item.chart.seriesList[0].data) / 5)
},
seriesList: item.chart.seriesList.map((item) => ({
data: item.data, data: item.data,
name: item.name, name: item.name,
themeColor: themeColors[item.name], themeColor: themeColors[item.name]
})) }))
} }
})) }))
const ordinaryMedia = res.data.ordinaryMedia.map(item => ({ const ordinaryMedia = res.data.ordinaryMedia.map((item) => ({
id: item.id, id: item.id,
name: item.name, name: item.name,
chart: { chart: {
xAxisData: item.chart.xaxisData.map(item => utcStringToHHMMSS(item)), xAxisData: item.chart.xaxisData.map((item) => utcStringToHHMMSS(item)),
yAxisRange: {min: 0, max: Math.ceil(Math.max(...item.chart.seriesList[0].data)), interval: Math.ceil(Math.max(...item.chart.seriesList[0].data)/5)}, yAxisRange: {
seriesList: item.chart.seriesList.map(item => ({ min: 0,
max: Math.ceil(Math.max(...item.chart.seriesList[0].data)),
interval: Math.ceil(Math.max(...item.chart.seriesList[0].data) / 5)
},
seriesList: item.chart.seriesList.map((item) => ({
data: item.data, data: item.data,
name: item.name, name: item.name,
themeColor: themeColors[item.name], themeColor: themeColors[item.name]
})) }))
} }
})) }))
@ -1071,11 +1080,9 @@ export const useGroupMemberStore = defineStore("groupMember", {
this.chartsData = { this.chartsData = {
topSelfMedia: topSelfMedia, topSelfMedia: topSelfMedia,
officalMedia: officalMedia, officalMedia: officalMedia,
ordinaryMedia: ordinaryMedia, ordinaryMedia: ordinaryMedia
} }
} }
}, },
persist: true // 开启持久化 persist: true // 开启持久化
}) })

View File

@ -163,7 +163,9 @@ const runForceLayout = () => {
curForceSimulator.alpha(1).restart() curForceSimulator.alpha(1).restart()
curForceSimulator.on("tick", () => { curForceSimulator.on("tick", () => {
graphVis.refreshView() // if (graphVis) {
graphVis.refreshView() //
}
}) })
curForceSimulator.on("end", () => { curForceSimulator.on("end", () => {
@ -216,18 +218,18 @@ const initChart = () => {
registEvents() registEvents()
} }
const groupCount = 3 // // const groupCount = 3 //
const width = 900, // const width = 900,
height = 500 // // height = 500 //
const groupCenters = getGroupCenters(groupCount, width, height) // const groupCenters = getGroupCenters(groupCount, width, height)
assignNodePositions(graph.value.nodes, groupCenters) // assignNodePositions(graph.value.nodes, groupCenters)
createGraph() createGraph()
console.log(graph.value)
graphVis.addGraph({ ...toRaw(graph.value) }) graphVis.addGraph({ ...toRaw(graph.value) })
runForceLayout() runForceLayout()
} }
onMounted(async () => { onMounted(() => {
await nextTick() // DOM
initChart() initChart()
}) })