fix(hn): hide unavailable purchase periods
This commit is contained in:
parent
39d7277f4b
commit
a8e7026457
9
docs/maintenance/HN_SHOP_PERIODS.md
Normal file
9
docs/maintenance/HN_SHOP_PERIODS.md
Normal file
@ -0,0 +1,9 @@
|
||||
# HN购买页周期显示
|
||||
|
||||
2026-10-28用户要求:套餐卡片里置灰的不可购买周期直接不显示。
|
||||
|
||||
仅在frontends/hn/vite.config.mjs的HN适配器中,对上游Shop.vue周期标签v-for数据过滤price===null;不修改锁定EZ源码或DPL主题/代码/数据。不改套餐价格、销售状态、周期定义或订单校验。
|
||||
|
||||
本地实际浏览器确认:标准与专业各只显示月付/季度/半年/一年,一次性只显示一次性,DOM中disabled周期标签0个。周期切换/分组正常,既有价格和介绍未变。截图在共享工作目录codex/output/hn-hide-periods-20261028/shop.png。
|
||||
|
||||
生产仅发布HN,Git提交/构建与验收收据在同任务忽略目录及服务器备份;部署完成记录由GemDocs HN项目档案维护。恢复时仅回退HN此适配器提交并重新构建,或从该次静态资源备份恢复;不变更DPL、数据库或共享EZ子仓库。
|
||||
@ -16,6 +16,7 @@
|
||||
| 文件 | 用途 |
|
||||
| --- | --- |
|
||||
| HN_MAIL_GATEWAY.md | HN独立企业邮箱/Resend、辅助域名、订阅网关、验收及恢复 |
|
||||
| HN_SHOP_PERIODS.md | HN购买页隐藏不可购买周期、隔离与验收 |
|
||||
| HN_PRODUCTION.md | HN生产版本、主域名/后台、独立运行服务、TLS、服务器验收与回退 |
|
||||
| SITE_PROFILES.md | dpl / hn 独立部署参数、主题选择、开发与发布隔离 |
|
||||
| THEME_DESIGNS.md | tpl-a 等可复用设计方案、定稿与绑定状态、预览和验证边界 |
|
||||
|
||||
@ -17,6 +17,9 @@ export default defineConfig(({mode}) => ({
|
||||
transform(code, id) {
|
||||
if (!id.startsWith(upstream + '/src/')) return;
|
||||
code = code.replaceAll('src="/images/logo.png"', ':src="hnLogo"').replaceAll('/images/logo.png', '/brand/hn/logo.svg');
|
||||
if (id === path.join(upstream,'src/views/shop/Shop.vue')) {
|
||||
code = code.replace('v-for="(price, type) in getPlanPrices(plan)"', 'v-for="(price, type) in Object.fromEntries(Object.entries(getPlanPrices(plan)).filter(([, price]) => price !== null))"');
|
||||
}
|
||||
if (id === path.join(upstream,'src/i18n/locales/zh-CN.js')) code = code.replaceAll('商店', '购买套餐');
|
||||
if (id === path.join(upstream,'src/appInit.js')) code = code.replace("app.mount('#app');", "app.config.globalProperties.hnLogo = window.settings?.logo || '/brand/hn/logo.svg'; app.mount('#app');");
|
||||
if (id === path.join(upstream,'src/api/user.js')) code = code.replace(/export function getIpLocationInfo\(\)\s*\{[\s\S]*?\n\}/, 'export function getIpLocationInfo() { return Promise.resolve({data: null}); }');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user