zjk
2026-05-21 8980086904dd503373e45429909f1c5c7d79ccbf
feat(subscribe): 新增分享行程主动订阅功能

新增分享行程订阅相关枚举、模板配置与工具函数,更新分享行程页面的订阅调用逻辑
3个文件已修改
22 ■■■■■ 已修改文件
src/robotaxi/constants/subscribe.ts 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/share-trip/index.tsx 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/subscribe.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/constants/subscribe.ts
@@ -2,6 +2,7 @@
export enum SubscribeSceneKey {
  OrderSuccess = 'ORDER_CREATE_SUCCESS',
  OperationCouponGroup = 'OPERATION_COUPON_GROUP',
  ShareTrip = 'SHARE_TRIP',
}
// 订阅场景配置类型
@@ -24,6 +25,16 @@
  needLogin: true
};
// 分享行程订阅模板配置
export const SHARE_TRIP_SUBSCRIBE_CONFIG: SubscribeSceneConfig = {
  sceneKey: SubscribeSceneKey.ShareTrip,
  tmplIds: [
    '9PFe1-lI0Gqm0LoNWVtUOW9Is2qEy9Lb8FfZ5iwq2fU',
  ],
  limit: 1,
  needLogin: true
};
// 运营活动 + 券效期 + 券到账订阅模板配置
export const OPERATION_COUPON_SUBSCRIBE_CONFIG: SubscribeSceneConfig = {
  sceneKey: SubscribeSceneKey.OperationCouponGroup,
src/robotaxi/pages/share-trip/index.tsx
@@ -10,7 +10,7 @@
import ShareTripView from './components/share-trip-view';
import { TripStatus } from '../begin-route/constants/trip-status';
import { isWhiteList } from '../../api/home';
import { subscribeAfterOrderSuccessByTap } from '../../../utils/subscribe';
import { subscribeShareTripByTap } from '../../../utils/subscribe';
import { checkOtp } from '../../../utils/tools';
import { jumpToHome } from '../../../utils/jump';
@@ -204,7 +204,7 @@
  const handleEnableReminder = async () => {
    // 用户主动点击时直接拉起订阅,避免被本地频控缓存拦截
    await subscribeAfterOrderSuccessByTap(orderId);
    await subscribeShareTripByTap(orderId);
    setShowReminder(false);
  }; // 开启提醒订阅
src/utils/subscribe.ts
@@ -10,6 +10,7 @@
import {
  OPERATION_COUPON_SUBSCRIBE_CONFIG,
  ORDER_SUCCESS_SUBSCRIBE_CONFIG,
  SHARE_TRIP_SUBSCRIBE_CONFIG,
  SubscribeSceneConfig
} from "../robotaxi/constants/subscribe";
@@ -243,6 +244,12 @@
  if (!orderId) return;
  await requestSubscribeMessageDirect(ORDER_SUCCESS_SUBSCRIBE_CONFIG, orderId);
}
// 分享行程页主动点击订阅,只请求分享行程对应单模板
export async function subscribeShareTripByTap(orderId: string) {
  if (!orderId) return;
  await requestSubscribeMessageDirect(SHARE_TRIP_SUBSCRIBE_CONFIG, orderId);
}
// 运营活动 + 券效期 + 券到账三合一模板订阅
export async function subscribeOperationCouponGroup(bizId?: string | number) {