@@ -4,9 +4,18 @@
<option name= "autoReloadType" value= "SELECTIVE" />
</component>
<component name= "ChangeListManager" >
<list default= "true" id= "2de94e4f-0587-4c9b-8bfd-e87e0ae95b81" name= "更改" comment= "feat(user): 统一VIP概念为开发者并优化开发者登录及申请 - 将VIP相关文案、图标改为开发者, 涉及用户中心、门店中心、审核页等 - 优化登录弹窗UI, 改为红色系, 提升视觉统一性和交互体验 - 关于我们页面品牌和公司信息内容更新,展示最新企业介绍和业务范围 - VIP升级页新增“所在城市”选择, 使用微信原生地区选择器, 完善地址信息 - 用户申请表单中新增城市字段及校验,提交时携带城市信息 - 优化审核页面文案,统称开发者身份,明确申请审核内容 - 修复UserRoleController.save接口bug, 避免userId被无条件覆盖导致角色绑错 - 动态查询VIP角色ID, 避免硬编码, 支持多租户环境正确绑定角色 " >
<list default= "true" id= "2de94e4f-0587-4c9b-8bfd-e87e0ae95b81" name= "更改" comment= "refactor(user): 删除门店信息输入框 - 移除用户资料页面中的门店名称输入框 - 移除用户资料页面中的门店地址输入框 - 简化用户页面界面布局,提高界面整洁度 " >
<change beforePath= "$PROJECT_DIR$/.idea/workspace.xml" beforeDir= "false" afterPath= "$PROJECT_DIR$/.idea/workspace.xml" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/pages/user/profile.tsx " beforeDir= "false" afterPath= "$PROJECT_DIR$/src/pages/user/profile.tsx " afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/config/env.js " beforeDir= "false" afterPath= "$PROJECT_DIR$/config/env.js " afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/project.config.json" beforeDir= "false" afterPath= "$PROJECT_DIR$/project.config.json" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/pages/detail.tsx" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/pages/detail.tsx" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/pages/gift-card/purchase/index.tsx" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/pages/gift-card/purchase/index.tsx" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/pages/index/index.config.ts" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/pages/index/index.config.ts" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/pages/index/index.tsx" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/pages/index/index.tsx" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/pages/purchase.tsx" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/pages/purchase.tsx" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/pages/user/vip-upgrade/index.tsx" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/pages/user/vip-upgrade/index.tsx" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/passport/agreement.tsx" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/passport/agreement.tsx" afterDir= "false" />
<change beforePath= "$PROJECT_DIR$/src/passport/login.tsx" beforeDir= "false" afterPath= "$PROJECT_DIR$/src/passport/login.tsx" afterDir= "false" />
</list>
<option name= "SHOW_DIALOG" value= "false" />
<option name= "HIGHLIGHT_CONFLICTS" value= "true" />
@@ -60,7 +69,7 @@
<recent name= "$PROJECT_DIR$" />
</key>
</component>
<component name= "RunManager" selected= "npm.build :weapp" >
<component name= "RunManager" selected= "npm.dev :weapp" >
<configuration name= "build:weapp" type= "js.build_tools.npm" temporary= "true" nameIsGenerated= "true" >
<package-json value= "$PROJECT_DIR$/package.json" />
<command value= "run" />
@@ -83,8 +92,8 @@
</configuration>
<recent_temporary >
<list >
<item itemvalue= "npm.build:weapp" />
<item itemvalue= "npm.dev:weapp" />
<item itemvalue= "npm.build:weapp" />
</list>
</recent_temporary>
</component>
@@ -118,15 +127,7 @@
<workItem from= "1784131049625" duration= "2304000" />
<workItem from= "1784133736973" duration= "4614000" />
<workItem from= "1784585070286" duration= "3047000" />
<workItem from= "1784638429525" duration= "7238 000" />
</task>
<task id= "LOCAL-00011" summary= "fix(invite): 修正邀请接口使用独立API域名 - 将邀请相关接口的请求地址由通用API域名改为独立的INVITE_API_URL - 修改获取邀请信息接口的请求URL - 修改接受邀请接口的请求URL - 确保请求头和参数传递保持一致" >
<option name= "closed" value= "true" />
<created > 1775905743204</created>
<option name= "number" value= "00011" />
<option name= "presentableId" value= "LOCAL-00011" />
<option name= "project" value= "LOCAL" />
<updated > 1775905743204</updated>
<workItem from= "1784638429525" duration= "8483 000" />
</task>
<task id= "LOCAL-00012" summary= "refactor(api): 移除未使用的配置接口及相关Hook - 从cmsWebsiteField接口中删除configWebsiteField方法 - 删除useConfig自定义Hook及其引用 - 更新about页面, 去除对config对象和useConfig的使用 - 修正invite模块请求URL, 统一加上/api前缀" >
<option name= "closed" value= "true" />
@@ -512,7 +513,15 @@
<option name= "project" value= "LOCAL" />
<updated > 1784697551142</updated>
</task>
<option name= "localTasksCounter" value= "60" / >
<task id= "LOCAL-00060" summary= "refactor(user): 删除门店信息输入框 - 移除用户资料页面中的门店名称输入框 - 移除用户资料页面中的门店地址输入框 - 简化用户页面界面布局,提高界面整洁度" >
<option name= "closed" value= "true" />
<created > 1784697730666</created>
<option name= "number" value= "00060" />
<option name= "presentableId" value= "LOCAL-00060" />
<option name= "project" value= "LOCAL" />
<updated > 1784697730666</updated>
</task>
<option name= "localTasksCounter" value= "61" />
<servers />
</component>
<component name= "TypeScriptGeneratedFilesManager" >
@@ -532,7 +541,6 @@
<component name= "VcsManagerConfiguration" >
<option name= "CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value= "false" />
<option name= "CHECK_NEW_TODO" value= "false" />
<MESSAGE value= "feat(invite): 重构邀请加入流程,实现已登录用户免授权直接加入 - 完全重写邀请页逻辑,区分已登录与未注册用户按钮显示 - 已登录用户显示“确认加入”按钮,点击用 wx.login 获取 code 加入 - 未注册用户显示“微信手机号快速加入”按钮,授权手机号后完成注册登录再加入 - 移除跳转登录页面逻辑,所有流程在邀请页内完成 - 加入接口统一使用 Authorization 头携带 token, 确保身份双重验证 - 优化背景、粒子和扫描线效果,提升界面视觉体验 - 增加错误处理提示,加入失败时显示详细原因并可返回首页 - 协议勾选仅在未注册用户显示,确保合规授权流程" />
<MESSAGE value= "feat(passport): 优化已登录用户加入时协议勾选逻辑 - 已登录用户点击「确认加入」时不再强制勾选协议 - 移除 handleConfirmJoin 中对协议勾选的检查 - 未注册用户仍需勾选协议后才能授权手机号 - 确保登录状态异常时有提示信息显示" />
<MESSAGE value= "feat(invite): 支持已登录用户直接加入应用 - 后端accept接口code参数改为可选, 支持通过Authorization头识别登录用户 - 已登录用户加入时不再弹手机号授权, 前端调用新增的doJoinAppForLoggedInUser方法 - 未注册用户仍通过手机号授权码code加入, 调用doJoinAppForNewUser方法 - 拆分前端加入逻辑, 新增handleConfirmJoin统一处理已登录加入流程 - 优化按钮交互,已登录状态下按钮变为普通点击,移除协议强制勾选 - 错误处理和状态提示完善,加入成功后自动跳转首页" />
<MESSAGE value= "feat(developer): 完成小程序开发者中心和企业控制台改造 - 设计并实现了开发者中心与企业控制台两大模块 - 按用户角色区分开发者和企业客户,支持多项目类型及成员管理 - 新增项目管理、应用管理、API Key管理及成员邀请等多功能页面 - 实现应用版本发布、消息通知中心、权限审批与开发者申请流程 - 完成CI/CD流水线、运营监控、发票管理、SSO单点登录功能 - 搭建SDK下载中心、工单系统、FAQ系统、数据导入导出等模块 - 优化后端API, 支持已登录和未注册用户不同加入应用流程 - 前端按钮统一采用微信手机号授权,完善用户授权体验 - 修复多个页面的JSX语法错误及依赖导入问题, 替换部分组件库 - 增加详细的类型定义文件,提升项目类型安全 - 新增超过55个页面及60个API接口, 扩展应用功能和服务体系 - 完成全面的样式设计,实现一致的视觉风格和交互体验" />
@@ -557,7 +565,8 @@
<MESSAGE value= "feat(user): 改为动态查询 VIP 角色ID, 避免写死角色ID - RoleParam 类型新增 tenantId 字段,支持按租户过滤角色 - 新增 getCurrentTenantId 获取当前租户ID, 支持登录态和默认租户回退 - 实现 getVipRoleId 函数,按 roleCode 与 tenantId 查询 VIP 角色ID - assignVipRole 中动态获取 VIP 角色ID, 避免硬编码 - 添加用户角色时带上 tenantId, 确保多租户角色绑定正确 - 移除写" />
<MESSAGE value= "feat(user): 动态查询VIP角色ID, 避免硬编码绑定问题 - RoleParam新增tenantId字段, 支持按租户过滤角色 - 新增getCurrentTenantId函数, 兼容登录态及默认租户回退 - 实现getVipRoleId函数, 按roleCode与tenantId查询VIP角色ID - assignVipRole动态获取VIP角色ID, 移除写死的角色ID - 添加用户角色时传" />
<MESSAGE value= "feat(user): 统一VIP概念为开发者并优化开发者登录及申请 - 将VIP相关文案、图标改为开发者, 涉及用户中心、门店中心、审核页等 - 优化登录弹窗UI, 改为红色系, 提升视觉统一性和交互体验 - 关于我们页面品牌和公司信息内容更新,展示最新企业介绍和业务范围 - VIP升级页新增“所在城市”选择, 使用微信原生地区选择器, 完善地址信息 - 用户申请表单中新增城市字段及校验,提交时携带城市信息 - 优化审核页面文案,统称开发者身份,明确申请审核内容 - 修复UserRoleController.save接口bug, 避免userId被无条件覆盖导致角色绑错 - 动态查询VIP角色ID, 避免硬编码, 支持多租户环境正确绑定角色" />
<option name= "LAST_COMMIT_ MESSAGE" value= "feat(user): 统一VIP概念为开发者并优化开发者登录及申请 - 将VIP相关文案、图标改为开发者, 涉及用户中心、门店中心、审核页等 - 优化登录弹窗UI, 改为红色系, 提升视觉统一性和交互体验 - 关于我们页面品牌和公司信息内容更新,展示最新企业介绍和业务范围 - VIP升级页新增“所在城市”选择, 使用微信原生地区选择器, 完善地址信息 - 用户申请表单中新增城市字段及校验,提交时携带城市信息 - 优化审核页面文案,统称开发者身份,明确申请审核内容 - 修复UserRoleController.save接口bug, 避免userId被无条件覆盖导致角色绑错 - 动态查询VIP角色ID, 避免硬编码, 支持多租户环境正确绑定角色 " />
<MESSAGE value= "refactor(user): 删除门店信息输入框 - 移除用户资料页面中的门店名称输入框 - 移除用户资料页面中的门店地址输入框 - 简化用户页面界面布局,提高界面整洁度 " />
<option name= "LAST_COMMIT_MESSAGE" value= "refactor(user): 删除门店信息输入框 - 移除用户资料页面中的门店名称输入框 - 移除用户资料页面中的门店地址输入框 - 简化用户页面界面布局,提高界面整洁度" />
<option name= "NON_MODAL_COMMIT_POSTPONE_SLOW_CHECKS" value= "false" />
</component>
</project>