fix: error

This commit is contained in:
imeepos
2025-10-29 19:38:04 +08:00
parent 3a99ff96d5
commit 30ea4fb13c
34 changed files with 2185 additions and 870 deletions

View File

@@ -65,13 +65,10 @@ export default function TemplateRunScreen() {
const [formSchema, setFormSchema] = useState<RunFormSchema>({ fields: [] });
const {
state: runState,
progress,
result,
error,
isLoading,
isCompleted,
isError,
executeTemplate,
cancelRun,
reset,
@@ -85,13 +82,7 @@ export default function TemplateRunScreen() {
},
});
const {
formData,
errors,
updateField,
validateForm,
isValid,
} = useTemplateFormData();
const { formData, errors, updateField } = useTemplateFormData();
// 获取模板信息
useEffect(() => {
@@ -235,42 +226,56 @@ export default function TemplateRunScreen() {
}
const handleConfirm = async () => {
// 转换表单数据为 API 期望的格式
const transformedData = transformFormData(formData);
console.log('转换后的数据:', transformedData);
// 这个我后端取 获取月
const list = await subscription.list()
const listData = list.data;
if (listData && listData.length > 0) {
const item = listData[0]
const subscriptionId = item?.stripeSubscriptionId!;
const summary = await subscription.credit.summary({
subscriptionId: subscriptionId,
filter: {
type: `applicability_scope`,
applicability_scope: {
price_type: `metered`
}
}
});
const identify = await subscription.meterEvent({
event_name: `token_usage`,
payload: {
value: `100`
}
})
// error
const orid = identify.data?.identifier
if (orid) {
try {
setCurrentStep('progress');
executeTemplate(template!.id, transformedData);
} catch (e) {
// 退款orid
}
try {
const transformedData = transformFormData(formData);
console.log('转换后的数据:', transformedData);
const list = await subscription.list();
const listData = list.data ?? [];
if (listData.length === 0) {
Alert.alert('未检测到订阅', '请先完成订阅后再尝试生成内容。');
return;
}
} else {
// 跳转到订阅
const subscriptionId = listData[0]?.stripeSubscriptionId;
if (!subscriptionId) {
Alert.alert('订阅信息缺失', '当前订阅缺少 Stripe 订阅标识,无法记录用量。');
return;
}
await subscription.credit.summary({
subscriptionId,
filter: {
type: 'applicability_scope',
applicability_scope: {
price_type: 'metered',
},
},
});
const identify = await subscription.meterEvent({
event_name: 'token_usage',
payload: {
value: '100',
},
});
const identifier = identify.data?.identifier;
if (!identifier) {
Alert.alert('用量记录失败', '无法生成用量凭证,请稍后重试。');
return;
}
try {
setCurrentStep('progress');
await executeTemplate(template!.id, transformedData);
} catch (error) {
console.error('执行模板失败:', error);
Alert.alert('执行失败', '运行模板时出现异常,请稍后重试。');
}
} catch (error) {
console.error('提交表单失败:', error);
Alert.alert('提交失败', '提交生成请求时出现问题,请稍后重试。');
}
};
@@ -542,4 +547,4 @@ const styles = StyleSheet.create({
fontWeight: '600',
color: '#fff',
},
});
});