修改功能

This commit is contained in:
2026-08-29 19:06:07 +08:00
parent f94c652c7c
commit aaed0584b1
142 changed files with 6176 additions and 869 deletions
+28 -7
View File
@@ -14,6 +14,15 @@
})(typeof globalThis !== 'undefined' ? globalThis : window, function (root) {
'use strict';
function confirmAction(message) {
if (root.ProfileUI && typeof root.ProfileUI.confirmAction === 'function') {
return root.ProfileUI.confirmAction(message);
}
return Promise.resolve(!root['confirm'] || root['confirm'](message));
}
var MediaDisplay = root.MediaDisplay || (typeof require === 'function' ? require('./media-display.js') : null);
var documentRef = root.document;
var PAGE_SIZE = 20;
var currentFeedPage = 1;
@@ -339,7 +348,6 @@
'publisherNickName',
'publisherStatus',
'feedType',
'mediaOssIds',
'likedByMe',
'likeCount',
'commentCount',
@@ -351,6 +359,8 @@
'createTime',
'updateTime'
]);
var mediaFiles = MediaDisplay ? MediaDisplay.normalizeFileList(item && item.mediaFiles) : [];
if (mediaFiles.length) feed.mediaFiles = mediaFiles;
if (toId(item.genealogyId)) feed.genealogyId = toId(item.genealogyId);
if (toId(item.publisherUserId)) feed.publisherUserId = toId(item.publisherUserId);
return feed;
@@ -438,7 +448,7 @@
function renderFeedRow(feed, genealogyId) {
var canDelete = viewerContext.userId && viewerContext.userId === feed.publisherUserId;
var mediaCount = feed.mediaOssIds ? String(feed.mediaOssIds).split(',').filter(Boolean).length : 0;
var mediaCount = Array.isArray(feed.mediaFiles) ? feed.mediaFiles.length : 0;
var title = feed.publisherNickName || feed.genealogyName || '家族动态';
var meta = [];
var actions = '';
@@ -458,11 +468,12 @@
actions += '<a class="pill" href="' + escapeHtml(buildFeedUrl('edit', genealogyId, feed.feedId)) + '">编辑</a>';
}
if (canDelete) {
actions += '<button class="pill" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
actions += '<button class="pill is-danger" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
}
return '<article class="module-row feed-row" data-feed-id="' + escapeHtml(feed.feedId) + '">' +
'<div><h3>' + escapeHtml(title) + '</h3><p>' + escapeHtml(feed.feedContent) + '</p>' +
(MediaDisplay ? MediaDisplay.renderGallery(feed.mediaFiles, { label: '动态附件', className: 'feed-media-gallery' }) : '') +
'<p class="module-meta">' + escapeHtml(meta.join(' · ')) + '</p></div>' +
'<div class="row-actions">' + actions + '</div></article>';
}
@@ -520,7 +531,7 @@
if (!comment.userDeleted) {
actions += '<button class="pill" type="button" data-feed-comment-reply="' + escapeHtml(comment.commentId) + '" data-feed-id="' + escapeHtml(feedId) + '">回复</button>';
if (canDelete) {
actions += '<button class="pill" type="button" data-feed-comment-delete="' + escapeHtml(comment.commentId) + '" data-feed-id="' + escapeHtml(feedId) + '">删除评论</button>';
actions += '<button class="pill is-danger" type="button" data-feed-comment-delete="' + escapeHtml(comment.commentId) + '" data-feed-id="' + escapeHtml(feedId) + '">删除评论</button>';
}
}
if (hasReplies(comment)) {
@@ -671,11 +682,12 @@
actions += '<a class="pill" href="' + escapeHtml(buildFeedUrl('edit', genealogyId, feed.feedId)) + '">编辑</a>';
}
if (canDelete) {
actions += '<button class="pill" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
actions += '<button class="pill is-danger" type="button" data-feed-delete="' + escapeHtml(feed.feedId) + '">删除</button>';
}
container.setAttribute('data-feed-id', feed.feedId);
container.innerHTML = '<h2>' + escapeHtml(feed.publisherNickName || feed.genealogyName || '家族动态') + '</h2>' +
'<p>' + escapeHtml(feed.feedContent) + '</p>' +
(MediaDisplay ? MediaDisplay.renderGallery(feed.mediaFiles, { label: '动态附件', className: 'feed-media-gallery' }) : '') +
'<p class="module-meta">' +
escapeHtml([
feed.createTime || '',
@@ -744,6 +756,15 @@
var api = getApi();
var genealogyId;
var feedId = getCurrentFeedId();
var isEditing = Boolean(feedId);
var editorTitle = isEditing ? '编辑动态' : '发布动态';
if (root.document) root.document.title = editorTitle + ' - 个人中心 - 代代相传';
if (query('[data-feed-editor-kicker]')) query('[data-feed-editor-kicker]').textContent = editorTitle;
if (query('[data-feed-editor-title]')) query('[data-feed-editor-title]').textContent = editorTitle;
queryAll('[data-feed-editor-action]').forEach(function (button) {
button.textContent = isEditing ? '保存修改' : '发布动态';
});
if (redirectUnauthorized(api)) return;
genealogyId = requireGenealogyId();
@@ -905,7 +926,7 @@
if (redirectUnauthorized(api)) return;
genealogyId = requireGenealogyId();
if (!genealogyId || !feedId) return;
if (root.confirm && !root.confirm('确认删除这条动态吗?')) return;
if (!await confirmAction('确认删除这条动态吗?')) return;
return withActionLock('delete:' + feedId, async function () {
try {
await api.deleteFeed(genealogyId, feedId);
@@ -1044,7 +1065,7 @@
if (redirectUnauthorized(api)) return;
genealogyId = requireGenealogyId();
if (!genealogyId || !feedId || !commentId) return;
if (root.confirm && !root.confirm('确认删除这条评论吗?')) return;
if (!await confirmAction('确认删除这条评论吗?')) return;
return withActionLock('delete-comment:' + commentId, async function () {
try {
await api.deleteFeedComment(genealogyId, feedId, commentId);