需求:小程序端代码要同时同步到服务器与 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 合并会把密码永久写入本仓库历史,故采用快照方式。
67 行
1.3 KiB
Vue
67 行
1.3 KiB
Vue
<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>
|