feat: 小程序移除管理后台入口,新增admin-web前端项目

将管理后台功能从微信小程序中剥离,独立为Vue.js前端项目admin-web

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
刘正航
2026-05-14 13:49:07 +08:00
parent f342fdc9b4
commit 49c946dd55
39 changed files with 10760 additions and 257 deletions

View File

@@ -0,0 +1,56 @@
<template>
<div class="container">
<section class="hero fade-up">
<div class="hero-badge">INBOX</div>
<h1 class="hero-title">用户私信收件箱</h1>
<p class="hero-sub">仅展示通过检测后成功送达的私信内容</p>
</section>
<section class="card fade-up fade-up-delay-1" v-if="list.length">
<div class="card-title">私信列表</div>
<div class="list-item" v-for="item in list" :key="item.id">
<div class="item-title">{{ item.text }}</div>
<div class="item-sub">发送人{{ item.nickname || item.username }}{{ item.username }}</div>
<div class="row">
<span class="label">发送时间</span>
<span class="value">{{ item.created_text }}</span>
</div>
</div>
</section>
<section class="card fade-up fade-up-delay-1" v-else>
<div class="empty">{{ loading ? '加载中...' : '暂无私信内容。' }}</div>
</section>
</div>
</template>
<script>
import { request } from '@/utils/request'
export default {
name: 'InboxView',
data() {
return {
loading: false,
list: []
}
},
mounted() {
this.fetchList()
},
methods: {
async fetchList() {
this.loading = true
try {
const data = await request({ url: '/content/posts/inbox', params: { page: 1, page_size: 80 } })
this.list = (data.items || []).map((item) => ({
...item,
created_text: (item.created_at || '').replace('T', ' ').slice(0, 19)
}))
} finally {
this.loading = false
}
}
}
}
</script>