feat(aigc): fully integrate backend API and replace mock data

- Replace all static mock data with real backend API calls for templates, generation tasks, credit balance and recharge
- Remove deprecated mock data files including templates.js, versionOptions.js, records.js and packages.js
- Add useCurrentCredit composable for fetching and managing user credit balance
- Update all components to align with new backend data shapes (e.g. templateItemId instead of id)
- Add loading and disabled states for interactive UI elements
- Implement full WeChat mini-program payment flow for credit recharge
- Fix template and record card UI styling and media handling
- Set developVersion flag to true for testing environment
This commit is contained in:
duanshuwen
2026-07-12 21:14:22 +08:00
parent 7db07273af
commit cadddb5c3f
29 changed files with 655 additions and 303 deletions

View File

@@ -11,7 +11,7 @@
<view class="aigc-wallet-button" @tap="emit('recharge')">
<text class="aigc-wallet-label">{{ rechargeLabel }}</text>
<text class="aigc-wallet-points">
<text class="aigc-wallet-number">{{ points }}</text>
<text class="aigc-wallet-number">{{ displayPoints }}</text>
积分
</text>
</view>
@@ -30,7 +30,7 @@
import { computed, onMounted, ref } from "vue";
import { zniconsMap } from "@/static/fonts/znicons.js";
defineProps({
const props = defineProps({
points: {
type: [Number, String],
default: 0,
@@ -57,6 +57,8 @@ const topbarStyle = computed(() => ({
"--aigc-capsule-safe-width": `${capsuleSafeWidth.value}px`,
}));
const displayPoints = computed(() => Number(props.points) || 0);
onMounted(() => {
try {
const systemInfo = uni.getSystemInfoSync();