From b833b83d02ef23ad36a5abdf0e3d0948a8e771cf Mon Sep 17 00:00:00 2001 From: 18631081161 <2088094923@qq.com> Date: Wed, 7 Jan 2026 17:52:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- miniapp/api/config.js | 13 +- miniapp/api/message.js | 44 ++ miniapp/pages.json | 7 + miniapp/pages/index/index.vue | 18 +- miniapp/pages/interact/favoritedMe.vue | 8 +- miniapp/pages/interact/myFavorite.vue | 8 +- miniapp/pages/interact/myUnlocked.vue | 8 +- miniapp/pages/interact/myViewed.vue | 8 +- miniapp/pages/interact/unlockedMe.vue | 8 +- miniapp/pages/interact/viewedMe.vue | 8 +- miniapp/pages/member/index.vue | 6 +- miniapp/pages/message/index.vue | 8 +- miniapp/pages/message/system.vue | 377 ++++++++++++++++++ miniapp/pages/mine/index.vue | 24 +- miniapp/pages/profile/detail.vue | 48 ++- miniapp/pages/profile/personal.vue | 26 +- miniapp/store/config.js | 30 +- miniapp/utils/storage.js | 12 +- .../Controllers/ConfigController.cs | 26 ++ 19 files changed, 631 insertions(+), 56 deletions(-) create mode 100644 miniapp/api/message.js create mode 100644 miniapp/pages/message/system.vue diff --git a/miniapp/api/config.js b/miniapp/api/config.js index 0ebd698..29b166d 100644 --- a/miniapp/api/config.js +++ b/miniapp/api/config.js @@ -42,8 +42,19 @@ export async function getAllPopupConfigs() { return response } +/** + * 获取默认头像配置 + * + * @returns {Promise} 默认头像URL + */ +export async function getDefaultAvatarConfig() { + const response = await get('/config/defaultAvatar', {}, { needAuth: false }) + return response +} + export default { getHomeConfig, getPopupConfig, - getAllPopupConfigs + getAllPopupConfigs, + getDefaultAvatarConfig } diff --git a/miniapp/api/message.js b/miniapp/api/message.js new file mode 100644 index 0000000..b48c2a9 --- /dev/null +++ b/miniapp/api/message.js @@ -0,0 +1,44 @@ +/** + * 消息相关 API + */ + +import { get, post } from './request.js' + +/** + * 获取系统消息列表 + * @param {Object} params - 查询参数 + * @param {number} params.pageIndex - 页码 + * @param {number} params.pageSize - 每页数量 + * @returns {Promise} + */ +export const getSystemMessages = (params) => { + return get('/notification/list', { + pageIndex: params.pageIndex, + pageSize: params.pageSize + }) +} + +/** + * 标记消息已读 + * @param {number} messageId - 消息ID + * @returns {Promise} + */ +export const markMessageRead = (messageId) => { + return post('/notification/read', { notificationId: messageId }) +} + +/** + * 标记所有系统消息已读 + * @returns {Promise} + */ +export const markAllSystemMessagesRead = () => { + return post('/notification/read', { markAll: true }) +} + +/** + * 获取未读消息数量 + * @returns {Promise} + */ +export const getUnreadCount = () => { + return get('/notification/unreadCount') +} diff --git a/miniapp/pages.json b/miniapp/pages.json index a55390c..503e416 100644 --- a/miniapp/pages.json +++ b/miniapp/pages.json @@ -15,6 +15,13 @@ "navigationBarTitleText": "消息" } }, + { + "path": "pages/message/system", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "系统消息" + } + }, { "path": "pages/mine/index", "style": { diff --git a/miniapp/pages/index/index.vue b/miniapp/pages/index/index.vue index 751a596..7a09d66 100644 --- a/miniapp/pages/index/index.vue +++ b/miniapp/pages/index/index.vue @@ -121,7 +121,8 @@ } from '@/store/config.js' import { getHomeConfig, - getPopupConfig + getPopupConfig, + getDefaultAvatarConfig } from '@/api/config.js' import { getRecommend @@ -247,6 +248,18 @@ } } + // 加载默认头像配置 + const loadDefaultAvatarConfig = async () => { + try { + const res = await getDefaultAvatarConfig() + if (res && res.code === 0 && res.data?.avatarUrl) { + configStore.setDefaultAvatarConfig(res.data.avatarUrl) + } + } catch (error) { + console.error('加载默认头像配置失败:', error) + } + } + // 加载推荐用户列表 const loadRecommendList = async (isLoadMore = false) => { if (listLoading.value) return @@ -309,7 +322,8 @@ await Promise.all([ loadHomeConfig(), loadDailyPopup(), - loadMemberAdConfig() + loadMemberAdConfig(), + loadDefaultAvatarConfig() ]) // 加载推荐列表(无论是否登录都加载) diff --git a/miniapp/pages/interact/favoritedMe.vue b/miniapp/pages/interact/favoritedMe.vue index 5b80c7a..278fa19 100644 --- a/miniapp/pages/interact/favoritedMe.vue +++ b/miniapp/pages/interact/favoritedMe.vue @@ -84,10 +84,11 @@ + + diff --git a/miniapp/pages/mine/index.vue b/miniapp/pages/mine/index.vue index 52d7d7d..8bcd754 100644 --- a/miniapp/pages/mine/index.vue +++ b/miniapp/pages/mine/index.vue @@ -20,8 +20,9 @@ @@ -130,9 +131,11 @@ @@ -826,7 +831,6 @@ defineExpose({ .gender-year-row { display: flex; align-items: center; - justify-content: space-between; margin-bottom: 24rpx; .gender-year { @@ -839,13 +843,17 @@ defineExpose({ } } + .flex-spacer { + flex: 1; + } + .share-btn { - padding: 12rpx 32rpx; - font-size: 26rpx; - color: #ff6b6b; - background: #fff; - border: 2rpx solid #ff6b6b; - border-radius: 30rpx; + padding: 16rpx 40rpx; + font-size: 28rpx; + color: #fff; + background: #4cd964; + border: none; + border-radius: 12rpx; line-height: 1; &::after { diff --git a/miniapp/pages/profile/personal.vue b/miniapp/pages/profile/personal.vue index a4bb9ca..538ccc7 100644 --- a/miniapp/pages/profile/personal.vue +++ b/miniapp/pages/profile/personal.vue @@ -21,8 +21,9 @@ @@ -64,27 +65,38 @@