Skip to content

Commit

Permalink
🐞 fix(修复楼中楼弹窗下层主名字和外面显示的不同的问题):
Browse files Browse the repository at this point in the history
  • Loading branch information
WhiteSevs committed Jul 18, 2024
1 parent 94892b9 commit 94ed6c5
Show file tree
Hide file tree
Showing 6 changed files with 201 additions and 108 deletions.
4 changes: 2 additions & 2 deletions packages/【移动端】百度系优化/SCRIPT_VERSION.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"time": 1721299432572,
"version": "2024.7.18"
"time": 1721312066360,
"version": "2024.7.18.22"
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// ==UserScript==
// @name 【移动端】百度系优化
// @namespace https://github.com/WhiteSevs/TamperMonkeyScript
// @version 2024.7.18
// @version 2024.7.18.22
// @author WhiteSevs
// @description 用于【移动端】的百度系列产品优化,包括【百度搜索】、【百家号】、【百度贴吧】、【百度文库】、【百度经验】、【百度百科】、【百度知道】、【百度翻译】、【百度图片】、【百度地图】、【百度好看视频】、【百度爱企查】、【百度问题】、【百度识图】等
// @license GPL-3.0-only
Expand Down Expand Up @@ -10088,7 +10088,8 @@ div[class^="new-summary-container_"] {\r
}
}
if (addSeeAllReply) {
let lzlCommentNums = newCommentDOM["data-whitesev"]["pageCommentList"]["commentList"][newCommentDOM["data-whitesev"]["userPostId"]]["comment_num"];
let lzlItemData = newCommentDOM["data-whitesev"];
let lzlCommentNums = lzlItemData["pageCommentList"]["commentList"][lzlItemData["userPostId"]]["comment_num"];
let seeAllReplyElement = domutils.createElement(
"div",
{
Expand Down Expand Up @@ -10446,7 +10447,7 @@ div[class^="new-summary-container_"] {\r
<div class="whitesev-reply-dialog-user-line" data-portrait="${data["userPortrait"]}">
<div class="whitesev-reply-dialog-avatar" style="background-image: url(${data["userAvatar"]});"></div>
<div class="whitesev-reply-dialog-user-info">
<div class="whitesev-reply-dialog-user-username">${data["userName"]}</div>
<div class="whitesev-reply-dialog-user-username">${data["userShowName"] || data["userName"]}</div>
${data["userForumLevel"] && data["userForumLevel"] >= 0 && PopsPanel.getValue("baidu_tieba_show_forum_level") ? `
<div class="forum-level-container">
<span class="forum-level" data-level="${data["userForumLevel"]}">Lv.${data["userForumLevel"]} ${data["userForumLevelName"]}</span>
Expand Down Expand Up @@ -10587,7 +10588,7 @@ div[class^="new-summary-container_"] {\r
lzlLoadingView.show();
let replyInfo = await TiebaComment.getLzlCommentReply(
TiebaComment.param_tid,
data["userPostId"],
data["userPostId"].toString(),
lzlPage
);
log.success(["加载更多回复的数据", replyInfo]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,30 +23,9 @@ import { TiebaPost } from "./TiebaPost";
import { VueUtils } from "@/utils/VueUtils";
import { TiebaReply } from "./TiebaReply";
import { dataType } from "element-plus/es/components/table-v2/src/common";
import { FloorCommentData, LzlItemData, PageComment } from "../types/PostsType";
import { CommentData } from "../types/CommentType";

interface PageComment {
commentList: {
comment_info: {
show_nickname: string;
content: string;
user_id: string;
[key: string]: any;
}[];
[key: string]: any;
}[];
[key: string]: any;
}

interface CommentData {
userAvatar: string;
userHomeUrl: string;
userName: string;
userShowName: string;
userPortrait: string;
userPostId: number | string;
userReplyContent: string;
userReplyTime: string;
}
interface AffixOption {
/**
* 偏移距离,默认0
Expand Down Expand Up @@ -837,7 +816,7 @@ const TiebaComment = {
let $textContent = $item.querySelector(
".text-content"
) as HTMLDivElement;
let data = ($item as any)["data-whitesev"];
let data = ($item as any)["data-whitesev"] as FloorCommentData;
log.info(["获取本条回复的数据", data]);
if (!data) {
Qmsg.error("获取本条回复的数据失败");
Expand Down Expand Up @@ -893,7 +872,7 @@ const TiebaComment = {
let $textContent = $item.querySelector(
".whitesev-reply-dialog-user-comment"
) as HTMLDivElement;
let data = ($item as any)["data-lzl-item"];
let data = ($item as any)["data-lzl-item"] as LzlItemData;
log.info(["获取本条楼中楼回复的数据", data]);
if (!data) {
Qmsg.error("获取本条回复的数据失败");
Expand Down Expand Up @@ -1485,7 +1464,7 @@ const TiebaComment = {
userCommentTime: userCommentTime,
userIpPosition: userIpPosition,
pageCommentList: pageCommentList,
},
} as FloorCommentData,
},
{
"data-v-74eb13e2": "",
Expand Down Expand Up @@ -1581,11 +1560,13 @@ const TiebaComment = {
}
}
if (addSeeAllReply) {
let lzlCommentNums = (newCommentDOM as any)["data-whitesev"][
"pageCommentList"
]["commentList"][(newCommentDOM as any)["data-whitesev"]["userPostId"]][
"comment_num"
];
let lzlItemData = (newCommentDOM as any)[
"data-whitesev"
] as FloorCommentData;
let lzlCommentNums =
lzlItemData["pageCommentList"]["commentList"][
lzlItemData["userPostId"]
]["comment_num"];
let seeAllReplyElement = DOMUtils.createElement(
"div",
{
Expand Down Expand Up @@ -1885,15 +1866,16 @@ const TiebaComment = {
*/
showReplyDialog(element: HTMLElement) {
let contentElement = element.closest("div.post-item") as any;
let data = {} as NestedObjectWithToString;
let data = {} as FloorCommentData;
if (contentElement && contentElement["data-whitesev"]) {
data = contentElement["data-whitesev"];
}
log.success(["data-whitesev数据", data]);
/* 当前评论数据信息JSON */
let currentCommentData = data["pageCommentList"]["commentList"][
data["userPostId"]
]["comment_info"] as NestedObjectWithToString;
let currentCommentData =
data["pageCommentList"]["commentList"][data["userPostId"]][
"comment_info"
];
log.success(["当前评论数据信息JSON", currentCommentData]);
/* 楼中楼评论的总共数量 */
let currentCommentListNum =
Expand All @@ -1909,7 +1891,7 @@ const TiebaComment = {
log.success(["本帖楼主的信息", landlordInfo]);

let $ohterCommentFragment = document.createDocumentFragment();
currentCommentData.forEach((item: any) => {
currentCommentData.forEach((item) => {
/* 根据user_id获取用户映射的信息 */
let itemUserInfo = userList[item["user_id"]];
/* 用户id值 */
Expand Down Expand Up @@ -1946,7 +1928,7 @@ const TiebaComment = {
if (
itemForumInfo["forum_list"] &&
Array.isArray(itemForumInfo["forum_list"]) &&
itemForumInfo["forum_list"].includes(TiebaData.forumName)
itemForumInfo["forum_list"].includes(TiebaData.forumName!)
) {
lzlUserForumLevel = itemForumLevel as unknown as number;
}
Expand All @@ -1967,7 +1949,7 @@ const TiebaComment = {
data: item,
userInfo: itemUserInfo,
portrait: userPortrait,
};
} as LzlItemData;
$ohterCommentFragment.appendChild($otherCommentItem);
});
log.success(["显示评论的弹窗", data]);
Expand All @@ -1994,7 +1976,7 @@ const TiebaComment = {
});"></div>
<div class="whitesev-reply-dialog-user-info">
<div class="whitesev-reply-dialog-user-username">${
data["userName"]
data["userShowName"] || data["userName"]
}</div>
${
data["userForumLevel"] &&
Expand Down Expand Up @@ -2026,15 +2008,15 @@ const TiebaComment = {
`,
});
(dialog as any)["data-whitesev"] = data;
let dialogTitleElement = dialog.querySelector(
let dialogTitleElement = dialog.querySelector<HTMLDivElement>(
".whitesev-reply-dialog-sheet-title"
) as HTMLDivElement;
let dialogContentElement = dialog.querySelector(
)!;
let dialogContentElement = dialog.querySelector<HTMLDivElement>(
".whitesev-reply-dialog-sheet-content"
) as HTMLDivElement;
let dialogOhterContentElement = dialog.querySelector(
)!;
let dialogOhterContentElement = dialog.querySelector<HTMLDivElement>(
".whitesev-reply-dialog-sheet-other-content"
) as HTMLDivElement;
)!;
dialogOhterContentElement.appendChild($ohterCommentFragment);

let isClosingDialog = false;
Expand Down Expand Up @@ -2183,7 +2165,7 @@ const TiebaComment = {
lzlLoadingView.show();
let replyInfo = await TiebaComment.getLzlCommentReply(
TiebaComment.param_tid,
data["userPostId"],
data["userPostId"].toString(),
lzlPage
);
log.success(["加载更多回复的数据", replyInfo]);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
export type CommentData = {
/** 用户头像 */
userAvatar: string;
/** 主页url */
userHomeUrl: string;
/** 用户un */
userName: string;
/** 显示的用户名 */
userShowName: string;
/** */
userPortrait: string;
/** 用户发帖id */
userPostId: number | string;
/** 用户回复内容 */
userReplyContent: string;
/** 用户回复时间 */
userReplyTime: string;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
export type PageComment = {
/** 楼中楼评论的数据 */
commentList: {
[postId: string]: {
/** 评论数据,键是发帖id */
comment_info: {
show_nickname: string;
username: string;
content: string;
comment_id: number;
post_id: number;
user_id: number;
thread_id: number;
now_time: number;
location?: {
name: string;
};
// [key: string]: any;
}[];
comment_list_num: number;
comment_num: number;
};
};
/** 楼中楼评论的用户的数据 */
userList: {
[postId: string]: {
show_nickname: string;
user_name: string;
user_nickname: string;
user_nickname_v2: string;
nickname: string;
display_name: string;
user_sex: 0 | 1 | 2;
user_id: number;
portrait: string;
card: {
/** 点赞数 */
good_num: number;
is_novice: number;
op_time: number;
/** 发帖数 */
post_num: number;
/** 关注的吧 */
like_forum?: {
[forumLevel: string]: {
count: number;
/** 吧名列表 */
forum_list: string[];
};
};
};
};
};
};

/** 某一楼的数据 */
export type FloorCommentData = {
/** 层主id */
userId: number;
/** 发帖id */
userPostId: number;
/** */
userPortrait: string;
/** 当前楼层 */
userFloor: number;
/** 层主评论的内容 */
userComment: string;
/** 层主主页url */
userHomeUrl: string;
/** 用户在本吧的等级 */
userForumLevel: number;
/** 用户在本吧的等级的名字 */
userForumLevelName: string;
/** 层主头像 */
userAvatar: string;
/** 层主的un */
userName: string;
/** 层主显示的名字 */
userShowName: string;
/** 层主评论的时间,例如:xxx小时前 */
userCommentTime: string;
/** 层主的ip地址 */
userIpPosition: string;
/** 楼中楼评论的数据 */
pageCommentList: PageComment;
};

export type LzlItemData = {
data: PageComment["commentList"][""]["comment_info"][0];
userInfo: PageComment["userList"][""];
portrait: string;
};

0 comments on commit 94ed6c5

Please sign in to comment.