From 9519540adb9ce5268cf07dcaf0c7ca14a5695dbc Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期二, 10 六月 2025 10:57:01 +0800 Subject: [PATCH] Merge branch 'dev-ui' of http://120.26.58.240:8888/r/LifePaymentFront into dev-ui --- apps/taro/src/subpackages/my/applyResult/applyResult.vue | 81 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 75 insertions(+), 6 deletions(-) diff --git a/apps/taro/src/subpackages/my/applyResult/applyResult.vue b/apps/taro/src/subpackages/my/applyResult/applyResult.vue index 56d16be..3aa1492 100644 --- a/apps/taro/src/subpackages/my/applyResult/applyResult.vue +++ b/apps/taro/src/subpackages/my/applyResult/applyResult.vue @@ -2,7 +2,7 @@ <PageLayout title="绔嬪嵆鐢宠" class="applyAgent-page-wrapper" hasBgColor :needAuth="false"> <ResultWithoutBG remark="鎴戜滑鐨勮繍钀ヤ汉鍛樹細鍦�5涓伐浣滄棩鍐呰仈绯绘偍娌熼�氫唬鐞嗕簨瀹滐紝璇蜂繚鎸佺數璇濈晠閫�!" - tips="娉細鎴愬姛鎷涘嫙浠g悊鍟嗭紝杩樻湁鏈�楂�1000鍏冨鍔憋紝璇﹁璇峰挩璇細16505012333" + tips="娉細鎴愬姛鎷涘嫙浠g悊鍟嗭紝杩樻湁鏈�楂�1000鍏冨鍔憋紝璇﹁璇峰挩璇細18968263725" title="鎻愪氦鎴愬姛" @generate="generate" ></ResultWithoutBG> @@ -12,14 +12,83 @@ <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({ - name: 'applyAgent', + name: 'applyResult', }); -function generate() { - RouteHelper.navigateTo({ - url: RouterPath.promotionQrcode, - }); +const router = Taro.useRouter(); +const { blLifeRecharge } = useLifeRechargeContext(); +const consultationId = router.params?.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 promoterRes = await getPromoter(res.phoneNumber); + let idNumber: string; + if (promoterRes?.idNumber) { + idNumber = promoterRes.idNumber; + } else { + let createOrUpdatePromoterRes = await createOrUpdatePromoter({ + name: res.name, + phoneNumber: res.phoneNumber, + }); + idNumber = createOrUpdatePromoterRes.idNumber; + } + if (idNumber) { + if (res.phoneNumber === blLifeRecharge.accountModel.phoneNumber) { + blLifeRecharge.accountModel.setUserPromoterIdNumber(idNumber); + } + RouteHelper.navigateTo({ + url: `${RouterPath.promotionQrcode}?promoterIdNumber=${idNumber}`, + }); + } + } + } + } catch (error) {} } </script> -- Gitblit v1.9.1