From 92b45d8130c3ef9e169251dc8fd516c59dd7f29e Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 09 六月 2025 16:55:41 +0800 Subject: [PATCH] feat: 接口 --- apps/taro/src/subpackages/my/applyResult/applyResult.vue | 71 +++++++++++++++++++++++++++++++++-- 1 files changed, 66 insertions(+), 5 deletions(-) diff --git a/apps/taro/src/subpackages/my/applyResult/applyResult.vue b/apps/taro/src/subpackages/my/applyResult/applyResult.vue index 994f2f1..66614fb 100644 --- a/apps/taro/src/subpackages/my/applyResult/applyResult.vue +++ b/apps/taro/src/subpackages/my/applyResult/applyResult.vue @@ -12,6 +12,12 @@ <script setup lang="ts"> import { PageLayout } from '@/components'; import { ResultWithoutBG } from '@life-payment/components'; +import { + APIgetChannelConsultationByIdParams, + APIgetPromoterParams, + CreateOrUpdatePromoterInput, + useLifeRechargeContext, +} from '@life-payment/core-vue'; import Taro from '@tarojs/taro'; defineOptions({ @@ -19,12 +25,67 @@ }); const router = Taro.useRouter(); - +const { blLifeRecharge } = useLifeRechargeContext(); const consultationId = router.params?.consultationId ?? ''; -function generate() { - RouteHelper.navigateTo({ - url: `${RouterPath.promotionQrcode}?promoterIdNumber=${consultationId}`, - }); +async function getPromoter(phoneNumber: string) { + try { + let params: APIgetPromoterParams = { + phoneNumber: phoneNumber, + }; + return await blLifeRecharge.services.getPromoter(params); + } catch (error) {} +} + +async function getChannelConsultationById() { + try { + let params: APIgetChannelConsultationByIdParams = { + id: consultationId, + }; + return await blLifeRecharge.services.getChannelConsultationById(params); + } catch (error) {} +} + +type CreateOrUpdatePromoterOptions = { + name?: string; + phoneNumber?: string; +}; + +async function createOrUpdatePromoter(options: CreateOrUpdatePromoterOptions = {}) { + try { + const { name, phoneNumber } = options; + let params: CreateOrUpdatePromoterInput = { + userId: blLifeRecharge.accountModel.userId, + name: name, + phoneNumber: phoneNumber, + }; + return await blLifeRecharge.services.createOrUpdatePromoter(params); + } catch (error) {} +} + +async function generate() { + try { + if (consultationId) { + let res = await getChannelConsultationById(); + if (res) { + let resIdNumber1 = await getPromoter(res.phoneNumber); + if (resIdNumber1) { + RouteHelper.navigateTo({ + url: `${RouterPath.promotionQrcode}?promoterIdNumber=${resIdNumber1.idNumber}`, + }); + } else { + let resIdNumber2 = await createOrUpdatePromoter({ + name: res.name, + phoneNumber: res.phoneNumber, + }); + if (resIdNumber2) { + RouteHelper.navigateTo({ + url: `${RouterPath.promotionQrcode}?promoterIdNumber=${resIdNumber2}`, + }); + } + } + } + } + } catch (error) {} } </script> -- Gitblit v1.9.1