feat(aigc): add template, recharge & points pages

This commit adds the full AIGC feature set including template usage flow, points recharge and transaction ledger pages, along with all supporting components, styles and data files. It also updates the home page navigation and registers all new pages in the project's pages configuration.
This commit is contained in:
duanshuwen
2026-07-05 19:34:55 +08:00
parent f47f68e19b
commit b381c712df
37 changed files with 1840 additions and 1 deletions

View File

@@ -0,0 +1,53 @@
<template>
<uni-popup
ref="popupRef"
type="bottom"
background-color="transparent"
mask-background-color="rgba(0, 0, 0, 0)"
:safe-area="false"
:is-mask-click="false"
>
<view class="photo-pick-drawer">
<view class="photo-pick-close" @tap="emit('close')">
<uni-icons type="closeempty" size="30" color="#8fa2ba" />
</view>
<text class="photo-pick-title">选择照片</text>
<view class="photo-pick-card">
<view class="photo-pick-plus">+</view>
<text class="photo-pick-card-title">上传照片或视频素材</text>
<text class="photo-pick-card-desc">
选择后会自动进行清晰度人脸数量和遮挡检测
</text>
</view>
<view class="photo-pick-actions">
<view class="photo-pick-action" hover-class="is-pressed" @tap="emit('camera')">
拍照
</view>
<view class="photo-pick-action" hover-class="is-pressed" @tap="emit('album')">
相册
</view>
</view>
<text class="photo-pick-hint">建议使用半身照避免墨镜口罩强逆光</text>
</view>
</uni-popup>
</template>
<script setup>
import { nextTick, onMounted, ref } from "vue";
const emit = defineEmits(["close", "camera", "album"]);
const popupRef = ref(null);
onMounted(async () => {
await nextTick();
popupRef.value?.open();
});
</script>
<style scoped lang="scss">
@import "./styles/index.scss";
</style>