文件
fenleixinxi/uniapp/components/fc-empty/fc-empty.vue
linda 376a7ed793 feat(uniapp): 小程序端(用户端 uni-app)源码入库到 uniapp/ 目录
需求:小程序端代码要同时同步到服务器与 git 远程仓库,此前前端仅存在于本地目录(无 remote,从未推送),
服务器与 gitcode 上只有后端。现并入本仓库,复用现有「push 即部署」链路,一次推送双端落地。

- 新增 uniapp/:小程序端源码全量快照(150 文件 / 1.2M)
  pages(13 页面) · components(fc-navbar/fc-tabbar/fc-post-card/fc-empty) ·
  common(api·utils·mock·assets·store·config) · static(74 图标 + 3 轮播插画 + LOGO) ·
  docs(01-04 交付文档) · tests(零依赖全链路用例) · tools(图标/主题/轮播配图生成脚本)
- 明确排除:AGENTS.md(含后台密码、服务器 root 密码、小程序 AppSecret,切勿入库)、
  unpackage/(构建产物,由 uniapp/.gitignore 忽略)、node_modules、.DS_Store、*.log
- .gitignore 新增 /uniapp/AGENTS.md 兜底(与根 /AGENTS.md、/fluniapp/ 同一约定)
- README.md 增补「本项目结构 + 部署链路」章节,说明 uniapp/ 为源码快照、
  小程序真正上线仍需微信开发者工具 cli upload

说明:本次为源码快照,未携带前端本地仓库历史——其历史提交中含 AGENTS.md 凭据,
若做 subtree 合并会把密码永久写入本仓库历史,故采用快照方式。
2026-10-17 14:19:03 +08:00

67 行
1.3 KiB
Vue

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

<template>
<view class="fc-empty">
<view class="fc-empty__icon">
<image class="fc-empty__img" :src="iconUrl(icon)" mode="aspectFit" />
</view>
<text class="fc-empty__text">{{ text }}</text>
<view v-if="btnText" class="fc-empty__btn" @click="$emit('action')">
<text>{{ btnText }}</text>
</view>
</view>
</template>
<script>
import { iconUrl } from '@/common/store/ui.js'
export default {
name: 'FcEmpty',
props: {
// 图标 key(见 common/assets/icons.js,可由后台替换)
icon: { type: String, default: 'inbox' },
text: { type: String, default: '暂无数据' },
btnText: { type: String, default: '' },
},
methods: {
iconUrl,
},
}
</script>
<style lang="scss" scoped>
.fc-empty {
padding: 120rpx 0;
display: flex;
flex-direction: column;
align-items: center;
}
.fc-empty__icon {
width: 160rpx;
height: 160rpx;
border-radius: 50%;
background: $fc-gradient-soft;
display: flex;
align-items: center;
justify-content: center;
box-shadow: $fc-shadow;
}
.fc-empty__img {
width: 76rpx;
height: 76rpx;
}
.fc-empty__text {
margin-top: 28rpx;
font-size: $fc-font;
color: $fc-text-secondary;
}
.fc-empty__btn {
margin-top: 32rpx;
padding: 16rpx 48rpx;
border-radius: $fc-radius-pill;
background: $fc-gradient-primary;
color: $fc-primary-ink;
font-size: $fc-font;
font-weight: 600;
box-shadow: $fc-shadow;
}
</style>