应用字段配置端到端的预览、保存、作曲和发送
字段配置切换只是作为UI进行连接——它们没有影响 签名渲染。 承诺: - 提取器将FieldConfig应用到类型.ts作为共享工具 - 在生成PlacehoenersHtml(已保存的模板 HTML)中应用字段过滤 - 在模板Inline编辑器中应用字段过滤(电子邮件作曲预览) - 在构建中应用字段过滤 Templ...
Rename DomainService to EmailDomainService to resolve bean name conflict
The shared library's DomainService and EmailService's local DomainService both registered as 'domainService' bean, causing CrashLoopBackOff on deploy.
从电子邮件模板页面中删除重复的内线帮助
帮助信息在模板列表上方显示, 在帮助和提示边栏。 删除内线渲染来避免 浪费空间, 因为边栏已经为这个目的服务 .
Correct method signatures in DomainController and MailboxController
- Fix getMemberMailboxes -> getMailboxesForMember in MailboxController - Add missing memberId parameter to getVerificationRecords and verifyDomain in DomainCont...
在非名输入时自动附加电子邮件域@, 显示实际错误消息
当用户只输入“ SYSadmin” 这样的用户名时, 域名来自他们的 主电子邮件自动应用(例如"SYSadmin@KamoCRM.com"). 还有 表面显示实际后端错误消息,而不是通用的“未添加别名”.
将成员ID作为字符串发送,以防止 JavaScript 数字精密损失
来自CockroachDB的成员身份证超过了数字. MAX SAFE INTEGER,导致 编号()至圆形,例如:116193613562426374~1161936315562426400. 然后后端找不到成员, 打破了化名创建 和共享邮箱访问操作.
应用相同的间隔和制表符大小校正以支援View
匹配设置View布局: 更紧凑的英雄粘贴( py: 2.5, px lg: 3) , 减少内容粘贴( px lg: 2, pb: 2), 紧凑标签( minHeight: 42, 字体Size:13px),并缩小了标签栏边距(mb:1.5).
紧紧设置查看间隔并降低标签高度以匹配账户页面
- 减少英雄部分的活塞(py:4 → 2.5,px lg:4 → 3) - 减少主要内容区编码(px lg:4 → 2,pb:6 → 2) - 减少标签栏差值(立方米:3-1.5) - 压缩制表高度(小米:42;字体:13px;py:1) - 从标签中删除Org标识图标,以防止高度膨胀
将页面头重命名为 My 账户, 标签为 My Profile, 正常间隔和标签大小
- 页面标题从"我的简介"改为"我的账户" - 第一张标签从"我的账户"更名为"我的配置" - 规范所有标签内容编码,以匹配/设置/账户(第4页,空白:4) - 在 > 5 个标签时使用可滚动标签,以保持一致的标签大小
将动画背景恢复为标题, 将 Avatar 重命名为相片, 固定背景管理
- 用 Org/custom 将 Ken 燃烧出动画的背景图像还原给成员头头 通过新道具提供背景支持(使用OrgBackgrounds,自定义Backgrounds) - 将所有用户造型的"Avatar"/"Avatar Create"文本重命名为"Photo"/"Profile相片"/ "Member Photo"—...
Allow members to view their own account activity without VIEW_ACCESS_LOGS permission
综合定价一体化审计——使所有页由API驱动
计算页面 : - 分为服务器组件+计算器 - 所有计划价格,附加价格,捆绑价格 现在来自API ——针对直播晋级的促进码验证(不是硬码"250FF"). - 正确的折扣类型(FLAT PER SEAT、PERCENTAGE、FLAT AMOUNT) 提供页面 : - 拆分到服务器组件 + 提供客户端 - 从API获得...
从定价中删除所有14天的试卷并提供页面
从"创业计划"和"运营计划"中取消审判. 自由计划是 试购前的体验。 更新的 CTA 按钮 ("开始") , FAQ, 页脚文本,提供页面副本,以及定价目录映射 以尊重来自API的审判日(仅在 > 0时显示审判CTA).
Remove 14-day trial from Starter and Business plans
Free plan serves as the trial experience — no need for separate trial periods on paid plans.
添加编辑矩阵按钮以在读取模式和编辑模式之间切换
矩阵现在以只读视图模式开始 。 单击“编辑矩阵” 切换到带有复选框、开关和文本输入的内置编辑模式。 取消返回更改并重新加载 。 保存持续并退出编辑模式 .
在网格渲染器中的数组操作前分析 JSONB 字符串字段
兼容的 PlanId, 包括 InPlanId, 以及可应用的 PlanId 来源 作为 JSON 字符串的后端,而不是数组。 添加安全JSON.parse倒置 在单元格渲染器中防止“ slice(...).map” 出错.
Remove mock subscription data from DataLoader
Remove loadMockSubscriptionData (BASIC/PRO/ENTERPRISE fake plans) from loadMockPOSData. All subscription data for KamoCRM is now exclusively managed by KamoCRMP...
用后端对齐 API 响应密钥并修正 AG Grid 渲染
- 修复 posApi.ts 中的7 个响应密钥不匹配现象(特点类别、特征, 附加、捆绑、批量贴现、升级、协议牌) - 将所有 AG 网格实例从 DomLayout = “ 正常” 切换为“ 自动高度” 当弹性容器高度没有级联时固定隐形行
使用 docker/login-action + buildx 用于可靠注册认证
将赤色嵌入器登录/ 构建/ push 替换为嵌入器/ login- action@ v3, docker/ setup-builtx-action@v3, 和 docker/built-push-action@v5图案 它能正确处理证书的持久性。 断断续续 在图像推力中"没有基本的认证证书"失败.
KamoCRMPricingLoader looks up org by titleShort and runs from DataLoader.run()
Update seed data to use new subscription plan DTO fields
Replace deprecated **************** with planType, maxSeats, and description in DataLoader subscription plan seed data.
Align POSController subscription endpoints with SubscriptionService signatures
在设置导航菜单中添加 POS( Commerce)
POS app在设置侧边栏和 FeaturesManager 路由图中缺失, 因此,Apps & Features的功能对导航没有影响.
默认情况下移动聊天最小化, 打开全屏, 没有介于两者之间
在手机上(<640px):无论初次访问,总是开始最小化。 打开全屏 最小化返回标签 。 无 70vh 中间状态——只需最小化或全屏.
将 Z 索引提升到导航上方, 添加移动底页, 更新欢迎消息
- Bumps 部件 z- index 到 10002 (导航是 10001) 所以最大化模式没有隐藏 - 移动:将拖动指示器和四舍五入的底盘制成70vh 角取全屏; 隐藏最大化按钮 - 更新AI欢迎消息,以热情提及 Live 支持标签选项
在客户端组件中环绕 PublicChatWidget 以解决服务器组件错误中的 ssr: false
Next.js 16 不允许使用 ssr: false 在服务器组件中的动态 。 添加 PublicChatLoader 作为客户端组件包装器.
将公共聊天密钥管理纳入现有的 API 访问标签
将 APIManager.tsx 重写为 /api/ public- chat- keys (由MediaService支持). 删除单独的 PublicChatKey 管理选项卡 和所有导航参考 密钥现已在 api- access 标签上管理 根据最初的要求.
将公共聊天密钥 API 呼叫 MediaService 而不是安全服务
将代理路径从 /api/ security/ public- chat- keys 更改为 /api/ media/ public- chat- keys 以匹配MediaService中的实际后端控制器位置.
使用 @ MapsId 模式解决 IdClass 错误
从 @ OneToOne- as- @ Id 切换到 @ MapsId , 并带有明确的字符串会话Guid 字段。 修复 Hibernate "没有定义 IdClass" 启动时的错误 。 存储器 ID 类型从 MediaSession 改为 String .
Add missing Member import and fix createMember call in DataLoader
Adds missing import for Member class and replaces non-existent memberService.createMember() with memberRepository.save() for the website-contact system member c...
正确7条合法可争的全站营销主张
1.99.9%的正常时间——被普遍宣称,现在有资格: "高达99.9%" 或"99.9%(企业)". 固定在英雄,证词,CTAStrip, TrustBar, 特性, FAQ (6个文件) 2. 电话系统——"商业电话系统"/"Full VOIP"暗示内置; 现在的"电话整合"/"Ring Central by Ka...
将自由计划索赔从“整个平台”调整为“核心特征”
"全平台"在法律上是可竞争的 因为自由计划 显著限制对付计划(1个用户,3GB,100个联系人,仅查看) 文件,没有录像/AI/HR/SSO。 更改为“ 具有核心的真正工作空间 ” 根据公平贸易委员会的标准,这些特征是准确的,而不是误导性的.
让价格比较表在移动上横向滚动
将特性比较表包入外溢的 X 自动容器 a 700px 最小宽度,所以列在窄处保持可读大小 屏幕。 用户可以刷/滚动桌边而无需移动 其它页面.
删除阻碍页面从顶端开始的全局卷轴行为:平滑
Html元素具有全球卷轴-行为:平滑,导致 下一个.js 客户端导航从 上一个滚动位置, 而不是从新的顶端开始 页 次 删除了全局规则——所有页面平滑滚动(JumpToBar, BackToTop, ScrollSpyNav等)已经使用窗口. 滚动到 行为:"平地"直接,所以这些是不受影响的.
删除内行显示: flex 移动断点
桌面导航容器显示的“ flex” 内含样式 取代 Tailwind “ 隐藏 lg: flex” 类( 内含样式总是) 胜过课). 这使得桌面导航总是在移动中可见, 隐藏汉堡菜单按钮。 删除内置显示属性 因此,Tailwind响应类控制能见度是正确的.
用主页桌面和移动上的主站点链接替换滚动平面导航
主页导航组件显示 ScrollSpyNav 跳至分区 链接(家、地、德莫、显示我、案例、ROI等) 主站点导航。 取而代之的是适当的站点链接(家庭、地物、 Pricing, About, Blog, Control)在两者上匹配共享导航的结构 桌面和移动。 删除未使用的 ScrollSpyNav 导入、 导航项目和 得...
用站点导航链接替换主页移动菜单滚动-平面链接
主页"导航". tsx 移动菜单显示区域跳转链接 (家庭、地物、Demo、Show Me、Cases、ROI、证词、定价、FAQ) 而不是实际的场地导航。 替换为适当的页面链接 (家、地、定价、计算、关于、博客、联系人、文档) 使用下一个.js 连接客户端路由. 桌面卷轴-平面导航保持不变.
将所有内部的<a>和<motion.a>链接转换为 Next.js <Link> ,以便客户端正确运行
- foper.tsx:标志运动.a Link,所有foper导航链接 a Link(已删除) 窗口. location.href 反平面),站点地图 a 链接 - Navigation.tsx:标志运动.a-Link,桌面宣传徽章运动.a-Link, 移动宣传徽章动作.a 链接 - PageHero.tsx:家用面包...