Skip to content

[ProductName] 商业化模块文档

1. 模块概述

商业化模块是 [ProductName] 系统中负责用户账号管理、店铺授权、财务计费、支付结算等核心商业功能的模块集合。该模块从用户菜单(UserMenus)入口出发,涵盖以下子模块:

子模块路由路径权限标识说明
授权管理 (Profile)/profileHomeAuthorize多平台店铺授权与管理
账号管理 (SubAccount)/subAccount-账号信息、子账号管理
账单中心 (BillingCenter)/Financial/billingCenterBillInquire多版本账单查询
我的资产 (MyAssets)/Financial/myAssetsVoucher抵用券/优惠券管理
支付方式 (Payment)/Financial/paymentUserPayment信用卡绑定与管理
预算与余额 (Budget)/Financial/budgetBudgetandBalanceDSP 预算与余额查看
任务中心 (AsyncTaskCenter)/asyncTaskCenterTask_Center批量任务与数据导出
数据同步 (DataSync)/dataSyncdata_syncPlatformA 数据同步状态
偏好设置 (UserPreferences)/settingsNotification货币/语言/日期格式等

2. 模块入口:UserMenus 用户菜单

文件位置: src/layout/main/components/header/components/UserMenus.vue

UserMenus 是整个商业化模块的统一入口,以 Dropdown 下拉菜单形式挂载在页面顶部 Header 右侧。

2.1 菜单结构

┌─────────────────────────────┐
│ [头像] 用户名    [账号管理]  │
├─────────────────────────────┤
│ 🔑 授权管理                  │
│ 💰 账单中心          ▶      │
│    ├─ 账单查询               │
│    ├─ 我的资产               │
│    ├─ 支付方式               │
│    └─ 预算与余额             │
│ 📋 任务中心                  │
│ 🔄 数据同步 (仅[PlatformA]) │
├─────────────────────────────┤
│ 偏好                        │
│ [货币选择]  [语言选择]       │
│ 更多设置                    │
├─────────────────────────────┤
│ 🍪 Cookie 自定义配置        │
│ 🔒 修改密码                 │
│ 🚪 登出                     │
└─────────────────────────────┘

2.2 菜单项配置

菜单项权限可见条件跳转目标
授权管理Authorize默认显示profile 页面
账单中心BillCenter / BillInquire (V3)sourceChannel !== 4V3: billingCenter; 非V3: 展开子菜单
任务中心Task_CentersourceChannel !== 4asyncTaskCenter
数据同步data_syncplatform === '[platformA]'dataSync
Cookie 配置默认显示调用 CookieConsent.showPreferences()
修改密码sourceChannel !== 4打开 ChangePasswordDialog
登出默认显示执行 logout 流程

2.3 偏好设置区域

偏好设置区域内嵌在菜单中,包含:

  • 货币选择: 根据平台动态渲染不同组件
    • Omni 平台: OmniCurrencySelect
  • 语言选择: LanguageSelectInUserMenus / OmniLanguageSelect
  • 更多设置: 跳转到 /settings 页面

2.4 Mermaid 架构图:UserMenus 组件依赖


3. 授权管理模块 (Profile)

路由: /profileHome
权限: Authorize
入口文件: src/views/profile/index.vue

3.1 模块结构

授权管理模块通过 Tab 页签切换支持多平台店铺管理:

Tab权限组件
PlatformAAuthorize_PlatformAPlatformAAccounts.vue
PlatformBAuthorize_PlatformBPlatformBAccounts.vue
[PlatformC]无 (默认显示)PlatformCAccounts.vue

3.2 PlatformA 授权管理

文件: src/views/profile/[platformA]/PlatformAAccounts.vue

PlatformA 授权管理是最复杂的平台授权模块,包含三个子 Tab:

子Tab权限说明
店铺授权AuthorizeViewPPC/SP-API 店铺授权管理
DSP 授权DSP_Authorization_VisibleDSP 广告主授权
AMC 实例授权AMC_Instance_AuthorizationAMC 实例管理

核心功能流程

  1. 添加店铺: 打开 AddOrEditProfileDialog → PPC 授权 → SP-API 授权
  2. 编辑店铺: 修改店铺信息、DSP 广告主配置
  3. PPC 授权: PpcAuthDialogPpcAuthSelectProfileDialog (选择关联店铺)
  4. SP-API 授权: SpapiAuthDialog 引导用户完成 PlatformA SP-API 授权
  5. 手动同步: SyncDialog 触发数据同步
  6. 批量更新: UpdateProfileDialog 批量更新店铺信息
  7. 新手引导: NoviceGuideDialog (仅中国区用户首次访问)

Mermaid 流程图:PlatformA 授权流程

PlatformA 授权组件清单

组件文件功能
PlatformAFilterPlatformAFilter.vue筛选:关键词/区域/国家/PPC状态/SP-API状态
PlatformATablePlatformATable.vue店铺列表表格
AddOrEditProfileDialogAddOrEditProfileDialog.vue添加/编辑店铺弹窗
PpcAuthDialogPpcAuthDialog.vuePPC 授权弹窗
PpcAuthSelectProfileDialogPpcAuthSelectProfileDialog.vuePPC 授权后选择店铺
SpapiAuthDialogSpapiAuthDialog.vueSP-API 授权弹窗
DspEditDialogDspEditDialog.vueDSP 广告主编辑
DspEditAdvertiserSelectDspEditAdvertiserSelect.vueDSP 广告主选择器
SyncDialogSyncDialog.vue手动同步数据弹窗
UpdateProfileDialogUpdateProfileDialog.vue批量更新店铺弹窗
NoviceGuideDialogNoviceGuideDialog.vue新手引导弹窗
CountryAuthLayoutCountryAuthLayout.vue国家授权布局
CountryListCellCountryListCell.vue国家列表单元格
CountryListEditCountryListEdit.vue国家列表编辑
composables.jscomposables.js授权相关组合式函数
columns.jscolumns.js表格列定义

AMC 子模块

组件说明
DspAuthorizeDSP 授权管理页面
AmcInstanceAMC 实例授权管理页面
SelectDspAdvertiserDSP 广告主选择弹窗

3.3 PlatformB 授权管理

文件: src/views/profile/[platformB]/PlatformBAccounts.vue

组件功能
PlatformBAccounts主容器,管理筛选/表格/弹窗状态
PlatformBTable店铺列表表格
AddOrEditProfileDialog添加/编辑 PlatformB 店铺
ProfileAuthorizationDialogPlatformB PPC 授权弹窗

核心流程

  1. 添加店铺 → AddOrEditProfileDialog (step 1)
  2. 编辑店铺 → AddOrEditProfileDialog (step 2)
  3. 授权重试 → 调用 updatePlatformBProfileAuthInfo API

3.4 [PlatformC] 授权管理

文件: src/views/profile/[platformC]/PlatformCAccounts.vue

组件功能
PlatformCAccounts主容器
PlatformCFilter筛选:关键词/账号/国家/授权状态
PlatformCTable店铺列表表格
AuthDrawer授权抽屉 (create/edit/retry)
EditAdvertiserDialog编辑广告主弹窗 (已授权状态)
AuthDocGuide授权文档引导
composables.js组合式函数
columns.js表格列定义

特殊逻辑

  • 支持 OAuth 回调处理:页面挂载时检查 URL 中的 codeauth_id 参数
  • 编辑操作根据授权状态分流:已授权 → 弹窗编辑;未授权 → 抽屉编辑

3.5 Mermaid 架构图:授权管理模块


4. 账号管理模块 (SubAccount)

路由: /subAccount
入口文件: src/views/subAccount/index.vue

4.1 模块结构

账号管理页面根据用户角色展示不同内容:

角色展示内容
主账号 (isMain)BasicInfo + SubAccountTable
组长 (isGroupLeader)BasicInfo + SubAccountTable
子账号BasicInfo + ResourceViewCard (只读)
sourceChannel === 4所有编辑功能禁用

4.2 BasicInfo 基本信息

文件: src/views/subAccount/components/BasicInfo.vue

展示并管理账号基本信息:

信息项可编辑说明
版本徽章显示 businessVersion (如 CNProfessional)
邮箱通过 EditDialog 修改,需验证码
手机号通过 EditDialog 修改,需验证码
公司名称通过 Popover 内联编辑
联系人通过 Popover 内联编辑
有效期国内版显示到期日,国际版显示"永久"
AI 有效期仅 CNProfessional 版本显示
账号状态正常/不可用
是否主账号是/否

4.3 SubAccountTable 子账号管理

文件: src/views/subAccount/components/table/

组件功能
index.vue子账号列表主表格
SubAccountDialog.vue添加/编辑子账号弹窗
SubAccountDrawer.vue子账号详情抽屉
SubAccountForm.vue子账号表单
PermissionTable.vue权限配置表格
ResourceTable.vue资源分配表格
ProfileFilter.vue店铺筛选器
PlatformAShopDialog.vuePlatformA 店铺选择弹窗
OperationCheckGroup.vue操作权限勾选组
OperationGroupDialog.vue操作组弹窗
DataIsolationControl.vue数据隔离控制
columns.js表格列定义
utils.js工具函数

4.4 其他组件

组件功能
ResourceViewCard子账号查看自身资源分配
UpgradeDialog版本升级弹窗
BatchUpload/批量上传子账号
ResourceViewer/资源查看器

4.5 Mermaid 架构图:账号管理模块


5. 财务模块 (Financial)

路由前缀: /Financial
入口文件: src/views/financial/

5.1 账单中心 (BillingCenter)

路由: /Financial/billingCenter
权限: BillInquire
入口文件: src/views/financial/billingCenter/index.vue

账单中心是最复杂的财务子模块,根据用户的 businessTypebusinessVersion 动态渲染不同版本的账单页面。

版本路由逻辑

账单版本对照表

版本目录适用场景主要功能
V1v1/旧版国际用户 (businessType=0)未出账/已出账 Tab + 账单详情
V2v2/新版国内/国际用户未出账/已出账 Tab + 折扣横幅 + 账单详情
V3 US PLGv3_us/美国 PLG V3 用户账单表格 + 账单详情 + 切换套餐
PLGvPlg/国内 PLG (CNSS) 用户续费 + 版本升级
AI ProvAiPro/旧版 AI Pro 用户(已废弃,使用 vNewAiPro)
New AI ProvNewAiPro/CNAIPro 用户新版 AI Pro 账单

账单中心组件清单

组件/目录功能
components/datePicker.vue日期选择器
components/filter.vue筛选器
components/selectProfile.vue店铺选择
components/productCard.vue产品卡片
components/portfolios.vuePortfolio 选择
components/aiTable/AI 账单表格
components/monthTable/月度账单表格
components/taskTable/任务账单表格
pricing.vue定价页面 (套餐切换)

账单中心路由表

路由名路径说明
billingCenter/Financial/billingCenter账单中心首页
outDetailV1/billingCenter/v1/outDetailV1 已出账详情
outDetailV2/billingCenter/v2/outDetailV2 已出账详情
unBilledDetailV2/billingCenter/v2/unBilledDetailV2 未出账详情
UsV3BillingDetail/billingCenter/v3/us-billing-detailUS V3 账单详情
pricing/billingCenter/pricing定价/套餐切换
upgrade/billingCenter/upgradePLG 版本升级
renewal/billingCenter/renewalPLG 续费
USPLGSwitchPlan/billingCenter/us-plg-switch-planUS PLG 切换套餐

5.2 支付方式 (Payment)

路由: /Financial/payment
权限: UserPayment
入口文件: src/views/financial/payment/

支付模块结构

组件/文件功能
index/index.js支付方式首页 (信用卡列表)
index/useCheckAccount.js账号检查 Hook
index/useBindCardSuccessCallback.js绑卡成功回调
addCard/addCard.js添加/编辑信用卡
addCard/usePaymentSDKElements.js[PaymentSDK] Elements 集成
BillUnPaidDialog.vue未支付账单弹窗
CreditPromptDialog.vue信用卡绑定提示弹窗
CreditPromptDialog2.vue信用卡绑定提示弹窗 V2
PayBillDialog.vue支付账单弹窗
USPLGPaymentDialog/US PLG 支付弹窗 ([PaymentSDK])
store.js支付状态管理 (Vue 实例)
paymentError.js支付错误处理
waitForStore.js等待 Store 初始化

Payment Store 核心状态

store.js 使用独立的 Vue 实例作为状态管理:

状态类型说明
cardBindingStatusNumber信用卡绑定状态: 0-未绑定, 1-已绑定, 2-无需绑定
businessVersionString用户版本 (GlobalExploreV3, GlobalScaleV3, CNAIPro 等)
businessTypeNumber1-国内用户, 2-国际用户
accountPayStatusNumber9-试用, 1-正式, 2-过期
freeTrialExpireDateString免费试用到期时间
profileEmptyBoolean是否有已授权店铺
profileCountNumber绑定店铺数量
isYearPaidNumber是否年费用户
spendThresholdNumber广告花费额度占比

支付提示逻辑

Payment Store 包含多种横幅提示逻辑:

5.3 PLG 支付模块

文件: src/views/financial/plg/

PLG (Product-Led Growth) 支付模块专为国内 PLG 用户设计,支持 [PayMethodA]/[PayMethodB] 扫码支付。

组件功能
payment.vuePLG 支付主页面 (两步流程)
PaymentDetailCard.vue支付详情卡片
addCM.vue添加客户经理
staticAddCM.vue静态客户经理页面
composables.js客服二维码生成

PLG 支付流程

PLG 计费模式

模式权限说明
按广告花费 (paymentMode=1)PLG_billed_by_Ad_spend按总广告花费额度计费
按AI广告花费 (paymentMode=2)PLG_billed_by_AI_spend按AI托管广告花费计费

5.4 我的资产 (MyAssets)

路由: /Financial/myAssets
权限: Voucher
入口文件: src/views/financial/myAssets/index_new.vue

组件功能
index_new.vue资产页面主入口 (新版)
VoucherAmount.vue抵用券余额展示
VoucherHistoryTable.vue抵用券使用历史表格
old/index.vue旧版资产页面
column.js表格列定义
utils.js工具函数 (含 useCheckAccount)

页面根据账号类型分流:

  • 子账号 → NoPermissionPage
  • 新版账号 → Tab 切换 (AI 抵用券) + 余额 + 历史记录
  • 旧版账号 → VoucherOldPage

5.5 预算与余额 (Budget)

路由: /Financial/budget
权限: BudgetandBalance
入口文件: src/views/financial/budget/index.vue

仅对 DSP 类型店铺或 SP+DSP 混合店铺可见,展示:

  • 本月预算金额
  • 预算执行率 (进度条)
  • 账户余额

6. 任务中心 (AsyncTaskCenter)

路由: /asyncTaskCenter
权限: Task_Center
入口文件: src/views/asyncTaskCenter/index.vue

6.1 模块结构

任务中心通过 Tab 页签分为两个子模块:

Tab权限组件功能
任务列表Bulk_tasksTaskList批量操作任务管理
数据导出Data_exportTaskDownloadList数据导出任务管理

6.2 组件清单

组件/目录功能
components/taskList/任务列表模块
components/taskDownloadList/下载列表模块
components/detail/任务详情页
components/TaskStatusText.vue任务状态文本组件
components/utils.js工具函数

7. 数据同步 (DataSync)

路由: /dataSync
权限: data_sync
入口文件: src/views/dataSync/index.vue
可见条件: 仅 PlatformA 平台

7.1 模块结构

组件功能
index.vue主页面,包含概览表格和同步表格
OverviewTable.vue数据同步概览
SyncTable.vue同步任务详情表格
ProfileSelect.vue店铺选择器
ManualSyncDialog.vue手动同步弹窗
StatusTag.vue同步状态标签
columns.js表格列定义
constant.js常量定义

8. 修改密码 (ChangePassword)

文件: src/layout/main/components/header/components/ChangePasswordDialog.vue

独立弹窗组件,功能包括:

  • 旧密码验证
  • 新密码设置 (含密码强度校验 XpPasswordInputPopover)
  • 确认密码一致性校验
  • 密码使用 Base64 编码传输
  • 修改成功后自动触发登出

9. 偏好设置 (UserPreferences)

文件: src/layout/main/components/header/components/UserPreferences.vue

偏好设置组件负责:

  • 初始化用户偏好 (调用 getUserPreferences API)
  • 管理偏好项:ACOS/ROAS 指标偏好、周起始日、日期格式、品牌/非品牌模式
  • 跨 Tab 同步:监听 localStoragestorage 事件
  • 日期格式变更时自动刷新页面
  • 点击跳转到 /settings 完整设置页面

10. 登出流程 (Logout)

登出逻辑定义在 UserMenus.vue 中,执行以下清理操作:


11. 全局架构图


12. 权限体系

商业化模块涉及的权限标识汇总:

权限标识模块说明
Authorize授权管理授权管理页面访问
Authorize_PlatformA授权管理PlatformA Tab 可见
Authorize_PlatformB授权管理PlatformB Tab 可见
AuthorizeView授权管理PlatformA 店铺授权 Tab
DSP_Authorization_Visible授权管理DSP 授权 Tab
AMC_Instance_Authorization授权管理AMC 实例 Tab
ChildAccountView账号管理子账号查看
BillCenter账单中心账单中心入口 (非V3)
BillInquire账单中心账单查询 (V3)
Voucher我的资产抵用券管理
UserPayment支付方式支付方式管理
BudgetandBalance预算余额预算与余额查看
Task_Center任务中心任务中心访问
Bulk_tasks任务中心批量任务 Tab
Data_export任务中心数据导出 Tab
data_sync数据同步数据同步页面
PLG_billed_by_Ad_spendPLG 支付按广告花费计费
PLG_billed_by_AI_spendPLG 支付按AI广告花费计费
PLGRenewPLG 续费PLG 续费权限
Notification设置通知设置

13. 用户版本体系

系统通过 businessVersionbusinessType 区分不同用户版本:

businessType说明
0旧版用户
1国内用户
2国际用户
businessVersion说明账单版本
CNSS国内 PLGvPlg
CNAIPro国内 AI ProvNewAiPro
CNProfessional国内专业版v2
CNFreeTrial国内免费试用v2
GlobalExploreV3国际探索版 V3v3_us
GlobalScaleV3国际规模版 V3v3_us
Enterprise企业版v2
其他 V3国际 V3 版本v3_us

14. 文件目录总览

src/
├── layout/main/components/header/components/
│   ├── UserMenus.vue                          # 用户菜单入口
│   ├── ChangePasswordDialog.vue               # 修改密码弹窗
│   ├── UserPreferences.vue                    # 偏好设置
│   ├── CurrencySelect*.vue                    # 货币选择 (多平台)
│   ├── LanguageSelectInUserMenus.vue          # 语言选择
│   └── ...

├── views/
│   ├── profile/                               # 授权管理
│   │   ├── index.vue                          # Tab 入口
│   │   ├── [platformA]/                       # [PlatformA] 授权 (17个文件)
│   │   │   ├── PlatformAAccounts.vue
│   │   │   ├── PlatformATable.vue
│   │   │   ├── AddOrEditProfileDialog.vue
│   │   │   ├── PpcAuthDialog.vue
│   │   │   ├── SpapiAuthDialog.vue
│   │   │   ├── amc/                           # AMC/DSP 子模块
│   │   │   └── ...
│   │   ├── [platformB]/                       # [PlatformB] 授权 (5个文件)
│   │   ├── [platformC]/                       # [PlatformC] 授权 (8个文件)
│   │   └── components/                        # 共享组件
│   │
│   ├── subAccount/                            # 账号管理
│   │   ├── index.vue
│   │   ├── components/
│   │   │   ├── BasicInfo.vue
│   │   │   ├── table/                         # 子账号表格 (14个文件)
│   │   │   ├── BatchUpload/
│   │   │   └── ResourceViewer/
│   │   └── ...
│   │
│   ├── financial/                             # 财务中心
│   │   ├── billingCenter/                     # 账单中心
│   │   │   ├── index.vue
│   │   │   ├── v1/                            # V1 账单
│   │   │   ├── v2/                            # V2 账单
│   │   │   ├── v3_us/                         # US PLG V3 账单
│   │   │   ├── vPlg/                          # 国内 PLG 账单
│   │   │   ├── vAiPro/                        # AI Pro 账单 (旧)
│   │   │   ├── vNewAiPro/                     # AI Pro 账单 (新)
│   │   │   ├── components/                    # 共享组件
│   │   │   └── pricing.vue                    # 定价页
│   │   ├── payment/                           # 支付方式
│   │   │   ├── index/
│   │   │   ├── addCard/                       # [PaymentSDK] 绑卡
│   │   │   ├── USPLGPaymentDialog/            # US PLG 支付
│   │   │   ├── store.js                       # 支付状态管理
│   │   │   └── ...
│   │   ├── myAssets/                          # 我的资产
│   │   ├── budget/                            # 预算余额
│   │   └── plg/                               # PLG 支付 ([PayMethodA]/[PayMethodB])
│   │
│   ├── asyncTaskCenter/                       # 任务中心
│   │   ├── index.vue
│   │   └── components/
│   │
│   └── dataSync/                              # 数据同步
│       ├── index.vue
│       └── ...

└── router/modules/
    ├── profile.js                             # 授权/账号路由
    ├── financial.js                           # 财务路由
    ├── asyncTaskCenter.js                     # 任务中心路由
    └── dataSync.js                            # 数据同步路由

15. 技术栈与关键依赖

技术用途
Vue 2 + Composition API框架 (部分组件使用 Options API)
Vuex全局状态管理
Element UIUI 组件库
vue-i18n国际化 (中/英/日)
[PaymentSDK] Elements国际信用卡支付
[PayMethodA]/[PayMethodB] 扫码国内 PLG 支付
moment.js日期处理
vanilla-cookieconsentCookie 同意管理
[TrackingSDK]埋点追踪
js-base64密码编码