- 在用户菜单中根据 isDeveloper 字段切换显示“申请成为开发者”或“进入开发者中心” - 已通过审核用户直接显示“进入开发者中心”且高亮显示 - 去除冗余的独立“开发者中心”菜单条目,简化菜单结构 - 调整平台管理页和门店中心入口权限为仅超级管理员可访问 - 优化登录与权限校验流程,防止权限不足时页面闪烁或无访问权限空白 - 更新相关文档,完善审核通过后店员记录添加流程
561 lines
64 KiB
XML
561 lines
64 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<project version="4">
|
||
<component name="AutoImportSettings">
|
||
<option name="autoReloadType" value="SELECTIVE" />
|
||
</component>
|
||
<component name="ChangeListManager">
|
||
<list default="true" id="2de94e4f-0587-4c9b-8bfd-e87e0ae95b81" name="更改" comment="feat(user): 补充开发者审核通过时添加店员记录功能 - 引入 addShopStoreUser 接口用于新增门店店员记录 - 新增 clerkStoreId 和 clerkTenantId 状态,保存当前审核店员的门店和租户信息 - 在审核通过后调用 addShopStoreUser,添加申请人为当前门店店员 - 保证只有当 clerkStoreId 存在时才执行新增操作 - 调整平台管理页 UI,使其与门店中心保持一致风格 - 门店中心及平台管理入口权限调整,仅超级管理员可访问 - 用户菜单中平台管理和门店中心入口现基于 isSuperAdmin 字段控制 - 优化登录及权限校验流程,避免权限不足时页面闪烁显示 - 更新工作记录文档,补充审核通过流程中新添加的店员记录步骤" />
|
||
<option name="SHOW_DIALOG" value="false" />
|
||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||
</component>
|
||
<component name="Git.Settings">
|
||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||
<option name="RESET_MODE" value="HARD" />
|
||
</component>
|
||
<component name="ProjectColorInfo">{
|
||
"associatedIndex": 7
|
||
}</component>
|
||
<component name="ProjectId" id="3CCElusNNIyc7lgX61jkNQo02h3" />
|
||
<component name="ProjectLevelVcsManager">
|
||
<ConfirmationsSetting value="2" id="Add" />
|
||
</component>
|
||
<component name="ProjectViewState">
|
||
<option name="hideEmptyMiddlePackages" value="true" />
|
||
<option name="showLibraryContents" value="true" />
|
||
</component>
|
||
<component name="PropertiesComponent">{
|
||
"keyToString": {
|
||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
|
||
"RunOnceActivity.git.unshallow": "true",
|
||
"git-widget-placeholder": "master",
|
||
"junie.onboarding.icon.badge.shown": "true",
|
||
"last_opened_file_path": "/Users/gxwebsoft/VUE/websopy-taro/src/passport",
|
||
"node.js.detected.package.eslint": "true",
|
||
"node.js.detected.package.stylelint": "true",
|
||
"node.js.detected.package.tslint": "true",
|
||
"node.js.selected.package.eslint": "(autodetect)",
|
||
"node.js.selected.package.stylelint": "/Users/gxwebsoft/VUE/websopy-taro/node_modules/stylelint",
|
||
"node.js.selected.package.tslint": "(autodetect)",
|
||
"nodejs_package_manager_path": "pnpm",
|
||
"npm.build:weapp.executor": "Run",
|
||
"npm.dev:weapp.executor": "Run",
|
||
"settings.editor.selected.configurable": "preferences.pluginManager",
|
||
"to.speed.mode.migration.done": "true",
|
||
"ts.external.directory.path": "/Users/gxwebsoft/VUE/websopy-taro/node_modules/typescript/lib",
|
||
"vue.rearranger.settings.migration": "true"
|
||
}
|
||
}</component>
|
||
<component name="RecentsManager">
|
||
<key name="CopyFile.RECENT_KEYS">
|
||
<recent name="$PROJECT_DIR$/src/passport" />
|
||
<recent name="$PROJECT_DIR$/src/api" />
|
||
<recent name="$PROJECT_DIR$/src/api/passport/wx-login" />
|
||
<recent name="$PROJECT_DIR$" />
|
||
</key>
|
||
</component>
|
||
<component name="RunManager" selected="npm.build:weapp">
|
||
<configuration name="build:weapp" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
||
<package-json value="$PROJECT_DIR$/package.json" />
|
||
<command value="run" />
|
||
<scripts>
|
||
<script value="build:weapp" />
|
||
</scripts>
|
||
<node-interpreter value="project" />
|
||
<envs />
|
||
<method v="2" />
|
||
</configuration>
|
||
<configuration name="dev:weapp" type="js.build_tools.npm" temporary="true" nameIsGenerated="true">
|
||
<package-json value="$PROJECT_DIR$/package.json" />
|
||
<command value="run" />
|
||
<scripts>
|
||
<script value="dev:weapp" />
|
||
</scripts>
|
||
<node-interpreter value="project" />
|
||
<envs />
|
||
<method v="2" />
|
||
</configuration>
|
||
<recent_temporary>
|
||
<list>
|
||
<item itemvalue="npm.build:weapp" />
|
||
<item itemvalue="npm.dev:weapp" />
|
||
</list>
|
||
</recent_temporary>
|
||
</component>
|
||
<component name="SharedIndexes">
|
||
<attachedChunks>
|
||
<set>
|
||
<option value="bundled-js-predefined-d6986cc7102b-e03c56caf84a-JavaScript-WS-252.23892.411" />
|
||
</set>
|
||
</attachedChunks>
|
||
</component>
|
||
<component name="TaskManager">
|
||
<task active="true" id="Default" summary="默认任务">
|
||
<changelist id="2de94e4f-0587-4c9b-8bfd-e87e0ae95b81" name="更改" comment="" />
|
||
<created>1775881305279</created>
|
||
<option name="number" value="Default" />
|
||
<option name="presentableId" value="Default" />
|
||
<updated>1775881305279</updated>
|
||
<workItem from="1775881306434" duration="12652000" />
|
||
<workItem from="1775910653750" duration="20840000" />
|
||
<workItem from="1777873063244" duration="20000" />
|
||
<workItem from="1778089953570" duration="7000" />
|
||
<workItem from="1778308774420" duration="947000" />
|
||
<workItem from="1780559793276" duration="400000" />
|
||
<workItem from="1782803615391" duration="418000" />
|
||
<workItem from="1782804285999" duration="4025000" />
|
||
<workItem from="1782813891753" duration="1850000" />
|
||
<workItem from="1782876148090" duration="4787000" />
|
||
<workItem from="1782903749109" duration="4000" />
|
||
<workItem from="1782971387128" duration="7154000" />
|
||
<workItem from="1784093204572" duration="6082000" />
|
||
<workItem from="1784131049625" duration="2304000" />
|
||
<workItem from="1784133736973" duration="4614000" />
|
||
<workItem from="1784585070286" duration="3047000" />
|
||
<workItem from="1784638429525" duration="16147000" />
|
||
<workItem from="1784798575885" duration="2914000" />
|
||
</task>
|
||
<task id="LOCAL-00022" summary="feat(invite): 支持已登录用户直接加入应用 - 后端accept接口code参数改为可选,支持通过Authorization头识别登录用户 - 已登录用户加入时不再弹手机号授权,前端调用新增的doJoinAppForLoggedInUser方法 - 未注册用户仍通过手机号授权码code加入,调用doJoinAppForNewUser方法 - 拆分前端加入逻辑,新增handleConfirmJoin统一处理已登录加入流程 - 优化按钮交互,已登录状态下按钮变为普通点击,移除协议强制勾选 - 错误处理和状态提示完善,加入成功后自动跳转首页">
|
||
<option name="closed" value="true" />
|
||
<created>1775966172496</created>
|
||
<option name="number" value="00022" />
|
||
<option name="presentableId" value="LOCAL-00022" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1775966172496</updated>
|
||
</task>
|
||
<task id="LOCAL-00023" summary="feat(developer): 完成小程序开发者中心和企业控制台改造 - 设计并实现了开发者中心与企业控制台两大模块 - 按用户角色区分开发者和企业客户,支持多项目类型及成员管理 - 新增项目管理、应用管理、API Key管理及成员邀请等多功能页面 - 实现应用版本发布、消息通知中心、权限审批与开发者申请流程 - 完成CI/CD流水线、运营监控、发票管理、SSO单点登录功能 - 搭建SDK下载中心、工单系统、FAQ系统、数据导入导出等模块 - 优化后端API,支持已登录和未注册用户不同加入应用流程 - 前端按钮统一采用微信手机号授权,完善用户授权体验 - 修复多个页面的JSX语法错误及依赖导入问题,替换部分组件库 - 增加详细的类型定义文件,提升项目类型安全 - 新增超过55个页面及60个API接口,扩展应用功能和服务体系 - 完成全面的样式设计,实现一致的视觉风格和交互体验">
|
||
<option name="closed" value="true" />
|
||
<created>1776018406658</created>
|
||
<option name="number" value="00023" />
|
||
<option name="presentableId" value="LOCAL-00023" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1776018406658</updated>
|
||
</task>
|
||
<task id="LOCAL-00024" summary="feat(api-keys): 优化隐私协议同意逻辑及样式 - 修正api-keys样式导入路径,改为developer路径 - 在开发者申请页面增加服务协议和隐私政策勾选框 - 提交时校验协议是否已勾选,未勾选时提示用户 - 优化申请页面协议区域样式及交互 - 在用户验证页面添加隐私政策同意勾选框 - 提交用户验证表单时检查协议同意状态 - 增加打开服务协议和隐私政策的链接跳转 - 更新项目配置,增加passport/webview路由配置 - 修复createTicket函数中日期格式正则表达式问题">
|
||
<option name="closed" value="true" />
|
||
<created>1776019228297</created>
|
||
<option name="number" value="00024" />
|
||
<option name="presentableId" value="LOCAL-00024" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1776019228297</updated>
|
||
</task>
|
||
<task id="LOCAL-00025" summary="feat(api-keys): 优化隐私协议同意逻辑及样式 - 修正api-keys样式导入路径,改为developer路径 - 在开发者申请页面增加服务协议和隐私政策勾选框 - 提交时校验协议是否已勾选,未勾选时提示用户 - 优化申请页面协议区域样式及交互 - 在用户验证页面添加隐私政策同意勾选框 - 提交用户验证表单时检查协议同意状态 - 增加打开服务协议和隐私政策的链接跳转 - 更新项目配置,增加passport/webview路由配置 - 修复createTicket函数中日期格式正则表达式问题">
|
||
<option name="closed" value="true" />
|
||
<created>1776019711439</created>
|
||
<option name="number" value="00025" />
|
||
<option name="presentableId" value="LOCAL-00025" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1776019711439</updated>
|
||
</task>
|
||
<task id="LOCAL-00026" summary="refactor(config): 移除开发者中心和企业控制台的自定义导航样式 - 删除了开发者中心页面配置中的 navigationStyle: 'custom' - 删除了企业控制台页面配置中的 navigationStyle: 'custom' - 简化了页面配置,保持默认导航样式 - 有助于提升页面兼容性和维护性">
|
||
<option name="closed" value="true" />
|
||
<created>1776019857647</created>
|
||
<option name="number" value="00026" />
|
||
<option name="presentableId" value="LOCAL-00026" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1776019857647</updated>
|
||
</task>
|
||
<task id="LOCAL-00027" summary="feat(userVerify): 添加阿里云身份证二要素核验功能 - 在接口层新增 verifyIdCard 接口,实现姓名与身份证号核验 - userVerify 页面提交时增加身份核验逻辑,核验失败阻止提交 - 调用核验接口时显示加载状态,并根据结果提示用户 - 后端依赖 aliyun cloudauth,提供实人认证相关服务接口 - 完成基本的错误捕获与用户提示,提升实名认证流程安全性">
|
||
<option name="closed" value="true" />
|
||
<created>1776021606260</created>
|
||
<option name="number" value="00027" />
|
||
<option name="presentableId" value="LOCAL-00027" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1776021606260</updated>
|
||
</task>
|
||
<task id="LOCAL-00028" summary="feat(userVerify): 添加阿里云身份证二要素核验功能 - 在接口层新增 verifyIdCard 接口,实现姓名与身份证号核验 - userVerify 页面提交时增加身份核验逻辑,核验失败阻止提交 - 调用核验接口时显示加载状态,并根据结果提示用户 - 后端依赖 aliyun cloudauth,提供实人认证相关服务接口 - 完成基本的错误捕获与用户提示,提升实名认证流程安全性">
|
||
<option name="closed" value="true" />
|
||
<created>1776021764419</created>
|
||
<option name="number" value="00028" />
|
||
<option name="presentableId" value="LOCAL-00028" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1776021764419</updated>
|
||
</task>
|
||
<task id="LOCAL-00029" summary="refactor(api): 规范前端API接口地址并统一路径前缀 - 修正开发者、小程序和企业相关API的基础URL,避免重复添加/api前缀 - 统一调整developer、enterprise、invite等模块接口路径,保持与后端Controller一致 - 新增权限申请及消息通知相关API,并完善相关函数实现 - 规范请求参数传递,移除多余包装,改用直接传递对象方式 - 新增API Key重置、版本发布/回滚等接口支持 feat(invite): 重构邀请登录流程支持未注册快速加入 - 完整重写invite页,分离已注册用户和未注册用户的按钮显示和交互 - 实现未注册用户微信手机号授权后自动注册登录及自动加入应用 - 已注册用户直接确认加入应用,无需手机号授权弹窗 - 统一使用getPhoneNumber按钮处理两种状态并修复“授权码不能为空”报错 - 前端配合后端改造,支持已登录用户可直接通过Authorization头加入应用 fix(developer): 修复开发者中心应用加载问题 - 修复只查询创建的应用导致邀请加入的应用不显示的问题 - 同时请求创建应用和参与应用接口,合并并去重应用列表 - 新增pageJoinedApp接口调用及合并逻辑,提高应用列表完整性和体验">
|
||
<option name="closed" value="true" />
|
||
<created>1776065433562</created>
|
||
<option name="number" value="00029" />
|
||
<option name="presentableId" value="LOCAL-00029" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1776065433562</updated>
|
||
</task>
|
||
<task id="LOCAL-00030" summary="refactor(api): 规范前端API接口地址并统一路径前缀 - 修正开发者、小程序和企业相关API的基础URL,避免重复添加/api前缀 - 统一调整developer、enterprise、invite等模块接口路径,保持与后端Controller一致 - 新增权限申请及消息通知相关API,并完善相关函数实现 - 规范请求参数传递,移除多余包装,改用直接传递对象方式 - 新增API Key重置、版本发布/回滚等接口支持 feat(invite): 重构邀请登录流程支持未注册快速加入 - 完整重写invite页,分离已注册用户和未注册用户的按钮显示和交互 - 实现未注册用户微信手机号授权后自动注册登录及自动加入应用 - 已注册用户直接确认加入应用,无需手机号授权弹窗 - 统一使用getPhoneNumber按钮处理两种状态并修复“授权码不能为空”报错 - 前端配合后端改造,支持已登录用户可直接通过Authorization头加入应用 fix(developer): 修复开发者中心应用加载问题 - 修复只查询创建的应用导致邀请加入的应用不显示的问题 - 同时请求创建应用和参与应用接口,合并并去重应用列表 - 新增pageJoinedApp接口调用及合并逻辑,提高应用列表完整性和体验">
|
||
<option name="closed" value="true" />
|
||
<created>1782803958326</created>
|
||
<option name="number" value="00030" />
|
||
<option name="presentableId" value="LOCAL-00030" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782803958326</updated>
|
||
</task>
|
||
<task id="LOCAL-00031" summary="refactor(api): 规范前端API接口地址并统一路径前缀 - 修正开发者、小程序和企业相关API的基础URL,避免重复添加/api前缀 - 统一调整developer、enterprise、invite等模块接口路径,保持与后端Controller一致 - 新增权限申请及消息通知相关API,并完善相关函数实现 - 规范请求参数传递,移除多余包装,改用直接传递对象方式 - 新增API Key重置、版本发布/回滚等接口支持 feat(invite): 重构邀请登录流程支持未注册快速加入 - 完整重写invite页,分离已注册用户和未注册用户的按钮显示和交互 - 实现未注册用户微信手机号授权后自动注册登录及自动加入应用 - 已注册用户直接确认加入应用,无需手机号授权弹窗 - 统一使用getPhoneNumber按钮处理两种状态并修复“授权码不能为空”报错 - 前端配合后端改造,支持已登录用户可直接通过Authorization头加入应用 fix(developer): 修复开发者中心应用加载问题 - 修复只查询创建的应用导致邀请加入的应用不显示的问题 - 同时请求创建应用和参与应用接口,合并并去重应用列表 - 新增pageJoinedApp接口调用及合并逻辑,提高应用列表完整性和体验">
|
||
<option name="closed" value="true" />
|
||
<created>1782803960387</created>
|
||
<option name="number" value="00031" />
|
||
<option name="presentableId" value="LOCAL-00031" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782803960387</updated>
|
||
</task>
|
||
<task id="LOCAL-00032" summary="refactor(api): 规范前端API接口地址并统一路径前缀 - 修正开发者、小程序和企业相关API的基础URL,避免重复添加/api前缀 - 统一调整developer、enterprise、invite等模块接口路径,保持与后端Controller一致 - 新增权限申请及消息通知相关API,并完善相关函数实现 - 规范请求参数传递,移除多余包装,改用直接传递对象方式 - 新增API Key重置、版本发布/回滚等接口支持 feat(invite): 重构邀请登录流程支持未注册快速加入 - 完整重写invite页,分离已注册用户和未注册用户的按钮显示和交互 - 实现未注册用户微信手机号授权后自动注册登录及自动加入应用 - 已注册用户直接确认加入应用,无需手机号授权弹窗 - 统一使用getPhoneNumber按钮处理两种状态并修复“授权码不能为空”报错 - 前端配合后端改造,支持已登录用户可直接通过Authorization头加入应用 fix(developer): 修复开发者中心应用加载问题 - 修复只查询创建的应用导致邀请加入的应用不显示的问题 - 同时请求创建应用和参与应用接口,合并并去重应用列表 - 新增pageJoinedApp接口调用及合并逻辑,提高应用列表完整性和体验">
|
||
<option name="closed" value="true" />
|
||
<created>1782803963602</created>
|
||
<option name="number" value="00032" />
|
||
<option name="presentableId" value="LOCAL-00032" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782803963602</updated>
|
||
</task>
|
||
<task id="LOCAL-00033" summary="feat(app): 添加应用入口文件和配置文件 - 新增 index.tsx 作为应用的主入口文件 - 新增 index.config.ts 用于应用的配置管理">
|
||
<option name="closed" value="true" />
|
||
<created>1782804027400</created>
|
||
<option name="number" value="00033" />
|
||
<option name="presentableId" value="LOCAL-00033" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782804027400</updated>
|
||
</task>
|
||
<task id="LOCAL-00034" summary="feat(app): 添加应用入口文件和配置文件 - 新增 index.tsx 作为应用的主入口文件 - 新增 index.config.ts 用于应用的配置管理">
|
||
<option name="closed" value="true" />
|
||
<created>1782804461646</created>
|
||
<option name="number" value="00034" />
|
||
<option name="presentableId" value="LOCAL-00034" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782804461646</updated>
|
||
</task>
|
||
<task id="LOCAL-00035" summary="fix(tailwind): 更新配置以兼容微信小程序 - 启用 autoprefixer 并新增 postcss-nested 插件支持嵌套语法 - 扩展主题颜色,添加 primary 色系 - 更新 content 路径包含 public/index.html - 禁用 preflight 以移除默认样式重置 - 移除多数 corePlugins 禁用项,保留 preflight 禁用,简化兼容性配置">
|
||
<option name="closed" value="true" />
|
||
<created>1782805513768</created>
|
||
<option name="number" value="00035" />
|
||
<option name="presentableId" value="LOCAL-00035" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782805513768</updated>
|
||
</task>
|
||
<task id="LOCAL-00036" summary="feat(postcss): 添加插件移除微信小程序不兼容Tailwind规则 - 实现 postcss-remove-wxss-incompatible 插件 - 移除反斜杠转义的重要性修饰符类选择器(.\!xxx) - 删除依赖 :not 和兄弟选择器的 .space-[x|y]-* 规则 - 删除依赖 :not 和兄弟选择器的 .divide-[x|y]-* 规则 - 解决微信小程序 WXSS 不支持的 CSS 特性问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782808735147</created>
|
||
<option name="number" value="00036" />
|
||
<option name="presentableId" value="LOCAL-00036" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782808735147</updated>
|
||
</task>
|
||
<task id="LOCAL-00037" summary="feat(postcss): 添加插件移除微信小程序不兼容Tailwind规则 - 实现 postcss-remove-wxss-incompatible 插件 - 移除反斜杠转义的重要性修饰符类选择器(.\!xxx) - 删除依赖 :not 和兄弟选择器的 .space-[x|y]-* 规则 - 删除依赖 :not 和兄弟选择器的 .divide-[x|y]-* 规则 - 解决微信小程序 WXSS 不支持的 CSS 特性问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782808737652</created>
|
||
<option name="number" value="00037" />
|
||
<option name="presentableId" value="LOCAL-00037" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782808737652</updated>
|
||
</task>
|
||
<task id="LOCAL-00038" summary="feat(postcss): 添加插件移除微信小程序不兼容Tailwind规则 - 实现 postcss-remove-wxss-incompatible 插件 - 移除反斜杠转义的重要性修饰符类选择器(.\!xxx) - 删除依赖 :not 和兄弟选择器的 .space-[x|y]-* 规则 - 删除依赖 :not 和兄弟选择器的 .divide-[x|y]-* 规则 - 解决微信小程序 WXSS 不支持的 CSS 特性问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782808741979</created>
|
||
<option name="number" value="00038" />
|
||
<option name="presentableId" value="LOCAL-00038" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782808741979</updated>
|
||
</task>
|
||
<task id="LOCAL-00039" summary="fix(pay): 优化订阅号获取逻辑并调整支付组件样式 - 优先从小程序码 scene 参数读取 subscriptionNo,提升参数兼容性 - 对 scene 参数进行解码,避免编码引起的问题 - 移除支付组件价格显示处的固定颜色设置,增强样式灵活性">
|
||
<option name="closed" value="true" />
|
||
<created>1782810191833</created>
|
||
<option name="number" value="00039" />
|
||
<option name="presentableId" value="LOCAL-00039" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782810191833</updated>
|
||
</task>
|
||
<task id="LOCAL-00040" summary="fix(utils): 优化小程序端复制文本功能体验 - 小程序端直接调用原生 wx.setClipboardData,避免 Taro Promise 封装问题 - 避免微信小程序重复显示复制成功提示和误报复制失败 - 失败时仅在小程序端输出错误日志,非小程序端显示提示 - 修改首页外链跳转逻辑,支持相对路径跳转,小程序内外链复制提示提升用户体验 - 更新项目内剪切板使用规范文档,说明复制行为调整及符合相应规范要求">
|
||
<option name="closed" value="true" />
|
||
<created>1782814230613</created>
|
||
<option name="number" value="00040" />
|
||
<option name="presentableId" value="LOCAL-00040" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782814230613</updated>
|
||
</task>
|
||
<task id="LOCAL-00041" summary="fix(utils): 优化小程序端复制文本功能体验 - 小程序端直接调用原生 wx.setClipboardData,避免 Taro Promise 封装问题 - 避免微信小程序重复显示复制成功提示和误报复制失败 - 失败时仅在小程序端输出错误日志,非小程序端显示提示 - 修改首页外链跳转逻辑,支持相对路径跳转,小程序内外链复制提示提升用户体验 - 更新项目内剪切板使用规范文档,说明复制行为调整及符合相应规范要求">
|
||
<option name="closed" value="true" />
|
||
<created>1782814693982</created>
|
||
<option name="number" value="00041" />
|
||
<option name="presentableId" value="LOCAL-00041" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782814693982</updated>
|
||
</task>
|
||
<task id="LOCAL-00042" summary="fix(index): 优化外链提示及删除复制咨询模板功能 - 替换小程序内外链打开方式提示为弹窗提醒用户手动复制 - 删除复制咨询模板功能及相关按钮 - 修改联系我们文案,突出直接电话沟通或需求反馈 - 移除无用导入的复制文本工具函数copyText">
|
||
<option name="closed" value="true" />
|
||
<created>1782814719111</created>
|
||
<option name="number" value="00042" />
|
||
<option name="presentableId" value="LOCAL-00042" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782814719111</updated>
|
||
</task>
|
||
<task id="LOCAL-00043" summary="feat(utils): 优化请求函数URL拼接逻辑 - 在request函数中将请求拦截改为先拼接完整URL - 支持相对路径自动补全baseUrl - 删除原有请求拦截中url未处理的问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782879460607</created>
|
||
<option name="number" value="00043" />
|
||
<option name="presentableId" value="LOCAL-00043" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782879460607</updated>
|
||
</task>
|
||
<task id="LOCAL-00044" summary="feat(utils): 优化请求函数URL拼接逻辑 - 在request函数中将请求拦截改为先拼接完整URL - 支持相对路径自动补全baseUrl - 删除原有请求拦截中url未处理的问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782881600013</created>
|
||
<option name="number" value="00044" />
|
||
<option name="presentableId" value="LOCAL-00044" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782881600013</updated>
|
||
</task>
|
||
<task id="LOCAL-00045" summary="feat(utils): 优化请求函数URL拼接逻辑 - 在request函数中将请求拦截改为先拼接完整URL - 支持相对路径自动补全baseUrl - 删除原有请求拦截中url未处理的问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782881602732</created>
|
||
<option name="number" value="00045" />
|
||
<option name="presentableId" value="LOCAL-00045" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782881602732</updated>
|
||
</task>
|
||
<task id="LOCAL-00046" summary="feat(utils): 优化请求函数URL拼接逻辑 - 在request函数中将请求拦截改为先拼接完整URL - 支持相对路径自动补全baseUrl - 删除原有请求拦截中url未处理的问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782881620199</created>
|
||
<option name="number" value="00046" />
|
||
<option name="presentableId" value="LOCAL-00046" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782881620199</updated>
|
||
</task>
|
||
<task id="LOCAL-00047" summary="feat(utils): 优化请求函数URL拼接逻辑 - 在request函数中将请求拦截改为先拼接完整URL - 支持相对路径自动补全baseUrl - 删除原有请求拦截中url未处理的问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782881623335</created>
|
||
<option name="number" value="00047" />
|
||
<option name="presentableId" value="LOCAL-00047" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782881623335</updated>
|
||
</task>
|
||
<task id="LOCAL-00048" summary="feat(utils): 优化请求函数URL拼接逻辑 - 在request函数中将请求拦截改为先拼接完整URL - 支持相对路径自动补全baseUrl - 删除原有请求拦截中url未处理的问题">
|
||
<option name="closed" value="true" />
|
||
<created>1782881646712</created>
|
||
<option name="number" value="00048" />
|
||
<option name="presentableId" value="LOCAL-00048" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782881646712</updated>
|
||
</task>
|
||
<task id="LOCAL-00049" summary="docs(schedule): 添加2026年7月1日日程文件 - 创建新的日程文档文件 2026-07-01.md - 文件内容待后续补充和更新">
|
||
<option name="closed" value="true" />
|
||
<created>1782899810526</created>
|
||
<option name="number" value="00049" />
|
||
<option name="presentableId" value="LOCAL-00049" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782899810526</updated>
|
||
</task>
|
||
<task id="LOCAL-00050" summary="docs(schedule): 添加2026年7月1日日程文件 - 创建新的日程文档文件 2026-07-01.md - 文件内容待后续补充和更新">
|
||
<option name="closed" value="true" />
|
||
<created>1782899812498</created>
|
||
<option name="number" value="00050" />
|
||
<option name="presentableId" value="LOCAL-00050" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782899812498</updated>
|
||
</task>
|
||
<task id="LOCAL-00051" summary="feat(pay): 优化小程序支付流程并增强日志调试 - 更新 wx-login 接口以返回完整 LoginResult,包括 access_token 和 user 对象 - 支付页面新增大量日志,详尽打印参数、请求和响应信息 - 优化获取订阅详情流程,支持 returnRaw 返回完整响应用于调试 - 支付流程新增步骤,先通过 code 获取 openid 并缓存,再尝试用 openid 自动登录 - 增加自动登录失败交互,提示未注册用户先登录 - 支付相关请求均使用 returnRaw 方便错误排查 - request 请求模块添加统一请求和响应日志,增强调试能力 - request 认证错误和业务错误时加入详细日志输出">
|
||
<option name="closed" value="true" />
|
||
<created>1782979300991</created>
|
||
<option name="number" value="00051" />
|
||
<option name="presentableId" value="LOCAL-00051" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1782979300991</updated>
|
||
</task>
|
||
<task id="LOCAL-00052" summary="feat(pay): 支付成功后自动跳转到已购产品页面 - 支付成功后显示成功提示 - 延迟1.5秒自动跳转到已购产品页面 - 处理跳转失败时回退到用户首页 - 优化用户支付完成后的使用体验">
|
||
<option name="closed" value="true" />
|
||
<created>1783003209100</created>
|
||
<option name="number" value="00052" />
|
||
<option name="presentableId" value="LOCAL-00052" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1783003209100</updated>
|
||
</task>
|
||
<task id="LOCAL-00053" summary="feat(pay-bak): 新增小程序支付页面及相关配置 - 新增确认支付页面配置,设置导航栏标题和样式 - 实现小程序支付页完整组件逻辑,包括加载订单、发起JSAPI支付等 - 支持通过 scene 或 subscriptionNo 获取订单参数 - 完善支付流程接口请求及错误处理,支持自动登录和支付确认 - 增加支付成功、支付中、支付失败、取消等状态页面展示 - 支持支付成功后跳转已购产品页或用户页 - 提供取消支付返回逻辑和界面展示 - 细化支付金额显示和提示用户支付后可使用应用功能">
|
||
<option name="closed" value="true" />
|
||
<created>1784131564427</created>
|
||
<option name="number" value="00053" />
|
||
<option name="presentableId" value="LOCAL-00053" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784131564427</updated>
|
||
</task>
|
||
<task id="LOCAL-00054" summary="feat(address): 新增收货地址与售后申请功能 - 新增地址编辑页面,支持地址智能识别、地图选点、地区选择和默认地址设置 - 实现地址列表页面,支持地址查看、删除、设为默认及选择返回结算页 - 新增售后申请页面,支持退款类型选择、商品选择、原因填写、图片上传和提交审核 - 修复 passport 分包配置,移除不存在分包并补充缺失声明,避免 Taro 编译报错 - 新增地址类型定义,增强前端地址数据结构类型安全 - 优化页面交互体验,完善表单校验及错误提示逻辑 - 统一代码格式与命名规范,保持代码风格一致性">
|
||
<option name="closed" value="true" />
|
||
<created>1784135922873</created>
|
||
<option name="number" value="00054" />
|
||
<option name="presentableId" value="LOCAL-00054" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784135922873</updated>
|
||
</task>
|
||
<task id="LOCAL-00055" summary="feat(passport): 迁移并修复小程序支付页面访问 websopy API 问题 - 迁移 src/passport/pay 相关代码至当前项目,无需替换文件 - 新增环境变量 WEBSOPY_API_BASE_URL,提供 websopy API 基础地址 - 在 config/app.ts 导出 WebsopyBaseUrl,供代码引用 - 配置 env.d.ts 类型定义,消除 TypeScript 隐式 any 错误 - request 请求方法支持自定义 baseUrl 以调用不同接口地址 - passport/pay 页面调用订阅接口统一传入 WebsopyBaseUrl - 修正 tenantId 类型为 number,调整登录用户类型断言 - 确认编译成功,dist 目录生成对应文件及正确请求地址 - 说明 type-check 依赖库问题不影响正常构建和运行">
|
||
<option name="closed" value="true" />
|
||
<created>1784136882898</created>
|
||
<option name="number" value="00055" />
|
||
<option name="presentableId" value="LOCAL-00055" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784136882898</updated>
|
||
</task>
|
||
<task id="LOCAL-00056" summary="feat(passport): 优化支付成功后页面跳转逻辑 - 修改支付成功后的自动跳转目标,从已购产品页面改为我的页面 - 使用 switchTab 替代 navigateTo 保证在 tabBar 页顺利跳转 - 移除多余的跳转失败回退逻辑,简化跳转流程 - 调整跳转延迟时间为 1500 毫秒,提升用户体验">
|
||
<option name="closed" value="true" />
|
||
<created>1784586922535</created>
|
||
<option name="number" value="00056" />
|
||
<option name="presentableId" value="LOCAL-00056" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784586922535</updated>
|
||
</task>
|
||
<task id="LOCAL-00057" summary="feat(user): 改为动态查询 VIP 角色ID,避免写死角色ID - RoleParam 类型新增 tenantId 字段,支持按租户过滤角色 - 新增 getCurrentTenantId 获取当前租户ID,支持登录态和默认租户回退 - 实现 getVipRoleId 函数,按 roleCode 与 tenantId 查询 VIP 角色ID - assignVipRole 中动态获取 VIP 角色ID,避免硬编码 - 添加用户角色时带上 tenantId,确保多租户角色绑定正确 - 移除写死的 VIP_ROLE_ID,改用动态查询结果,提高跨租户兼容性 - 补充引入 listRoles 和 TenantId,完善相关依赖引用">
|
||
<option name="closed" value="true" />
|
||
<created>1784639229566</created>
|
||
<option name="number" value="00057" />
|
||
<option name="presentableId" value="LOCAL-00057" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784639229566</updated>
|
||
</task>
|
||
<task id="LOCAL-00058" summary="feat(user): 动态查询VIP角色ID,避免硬编码绑定问题 - RoleParam新增tenantId字段,支持按租户过滤角色 - 新增getCurrentTenantId函数,兼容登录态及默认租户回退 - 实现getVipRoleId函数,按roleCode与tenantId查询VIP角色ID - assignVipRole动态获取VIP角色ID,移除写死的角色ID - 添加用户角色时传入tenantId,确保多租户环境中角色绑定正确 - 修复后端UserRoleController.save接口bug,避免userId被无条件覆盖 - 用户角色绑定时正确使用申请人userId,解决VIP审核角色误绑定问题">
|
||
<option name="closed" value="true" />
|
||
<created>1784653464775</created>
|
||
<option name="number" value="00058" />
|
||
<option name="presentableId" value="LOCAL-00058" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784653464775</updated>
|
||
</task>
|
||
<task id="LOCAL-00059" summary="feat(user): 统一VIP概念为开发者并优化开发者登录及申请 - 将VIP相关文案、图标改为开发者,涉及用户中心、门店中心、审核页等 - 优化登录弹窗UI,改为红色系,提升视觉统一性和交互体验 - 关于我们页面品牌和公司信息内容更新,展示最新企业介绍和业务范围 - VIP升级页新增“所在城市”选择,使用微信原生地区选择器,完善地址信息 - 用户申请表单中新增城市字段及校验,提交时携带城市信息 - 优化审核页面文案,统称开发者身份,明确申请审核内容 - 修复UserRoleController.save接口bug,避免userId被无条件覆盖导致角色绑错 - 动态查询VIP角色ID,避免硬编码,支持多租户环境正确绑定角色">
|
||
<option name="closed" value="true" />
|
||
<created>1784697551142</created>
|
||
<option name="number" value="00059" />
|
||
<option name="presentableId" value="LOCAL-00059" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784697551142</updated>
|
||
</task>
|
||
<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>
|
||
<task id="LOCAL-00061" summary="refactor(user): 统一品牌名称为“威数谱软件” - 将项目中所有“威硕谱软件”名称修改为“威数谱软件” - 更新协议页面、欢迎消息、礼品卡等多处文本内容 - 修改小程序配置文件中的项目名称和显示标题 - 优化开发者申请页部分文案,明确开发者身份描述 - 保证所有界面及配置中的品牌名称统一一致">
|
||
<option name="closed" value="true" />
|
||
<created>1784699171525</created>
|
||
<option name="number" value="00061" />
|
||
<option name="presentableId" value="LOCAL-00061" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784699171525</updated>
|
||
</task>
|
||
<task id="LOCAL-00062" summary="refactor(user): 将VIP身份统一改为开发者标记 - 审核通过时不再新增角色,而是更新用户isDeveloper布尔标记 - 后端UserService新增markAsDeveloper方法,通过updateById设置isDeveloper - UserController新增PUT接口更新开发者标记,权限使用sys:userRole:save - 前端api新增setUserDeveloper调用新的审核接口 - vip-review页面移除角色相关代码,改为调用setUserDeveloper方法 - 约定开发者身份即sys_user.is_developer字段,不再依赖角色表记录 - app.config.ts追加开发者中心与平台管理相关页面路由 - 新增开发者中心、平台管理的多个API模块(apikey、appProduct、appDomain、developer请求等) - 添加公共工具方法和复用组件用于开发者中心及平台管理功能 - 统一品牌名称为“威数谱软件”,更新文案及界面展现一致性">
|
||
<option name="closed" value="true" />
|
||
<created>1784703425108</created>
|
||
<option name="number" value="00062" />
|
||
<option name="presentableId" value="LOCAL-00062" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784703425108</updated>
|
||
</task>
|
||
<task id="LOCAL-00063" summary="refactor(user): 将VIP身份统一改为开发者标记 - 审核通过时不再新增角色,而是更新用户isDeveloper布尔标记 - 后端UserService新增markAsDeveloper方法,通过updateById设置isDeveloper - UserController新增PUT接口更新开发者标记,权限使用sys:userRole:save - 前端api新增setUserDeveloper调用新的审核接口 - vip-review页面移除角色相关代码,改为调用setUserDeveloper方法 - 约定开发者身份即sys_user.is_developer字段,不再依赖角色表记录 - app.config.ts追加开发者中心与平台管理相关页面路由 - 新增开发者中心、平台管理的多个API模块(apikey、appProduct、appDomain、developer请求等) - 添加公共工具方法和复用组件用于开发者中心及平台管理功能 - 统一品牌名称为“威数谱软件”,更新文案及界面展现一致性">
|
||
<option name="closed" value="true" />
|
||
<created>1784704220175</created>
|
||
<option name="number" value="00063" />
|
||
<option name="presentableId" value="LOCAL-00063" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784704220175</updated>
|
||
</task>
|
||
<task id="LOCAL-00064" summary="feat(weapp): 新增开发者中心与平台管理入口及相关功能 - 小程序端新增开发者中心和平台管理页面模块,完善功能入口 - 新增开发者中心页面(概览、我的应用、API Key和工单) - 新增平台管理页面(管理首页、应用审核、Git权限审核、域名绑定审核和工单处理) - 复刻PC端/api/app/*相关API接口,基地址使用WEBSOPY_API_BASE_URL - 增加公共组件StatCard、EntryGrid、CellRow以支持新页面UI - 修改首页增加开发者中心和平台管理角色入口,仅对对应用户显示 - 用户页面菜单新增开发者中心和平台管理入口条件展示 - 约定开发者身份使用sys_user.is_developer布尔字段,不再依赖角色表 - 更新登录态业务,菜单是否显示基于登录接口返回的isDeveloper/isAdmin字段 - 确保相关页面已在app.config.ts注册并添加身份认证需求 - 调整运行配置为npm build:weapp,确保编译无误">
|
||
<option name="closed" value="true" />
|
||
<created>1784707342939</created>
|
||
<option name="number" value="00064" />
|
||
<option name="presentableId" value="LOCAL-00064" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784707342940</updated>
|
||
</task>
|
||
<task id="LOCAL-00065" summary="feat(weapp): 新增开发者中心与平台管理入口及功能 - 小程序端新增开发者中心和平台管理页面模块,完善功能入口 - 新增开发者中心页面(概览、我的应用、API Key和工单) - 新增平台管理页面(管理首页、应用审核、Git权限审核、域名绑定审核和工单处理) - 复刻PC端/api/app/*相关API接口,基地址使用WEBSOPY_API_BASE_URL - 增加公共组件StatCard、EntryGrid、CellRow以支持新页面UI - 修改首页增加开发者中心和平台管理角色入口,仅对对应用户显示 - 用户页面菜单新增开发者中心和平台管理入口条件展示 - 约定开发者身份使用sys_user.is_developer布尔字段,不再依赖角色表 - 更新登录态业务,菜单是否显示基于登录接口返回的isDeveloper/isAdmin字段 - vip-review审核通过流程调整为只调用setUserDeveloper,后台替换角色为developer并置isDeveloper=1">
|
||
<option name="closed" value="true" />
|
||
<created>1784709736683</created>
|
||
<option name="number" value="00065" />
|
||
<option name="presentableId" value="LOCAL-00065" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784709736683</updated>
|
||
</task>
|
||
<task id="LOCAL-00066" summary="fix(weapp): 修复支付页nutui组件导致内容空白问题 - 替换支付页中nutui的Button、Cell、Price、Divider组件为Taro原生组件或项目自定义组件 - 修正商品名称、价格类型和支付金额显示,使用flex布局及Text组件自绘内容 - 调整按钮样式,统一为带蓝色背景和圆角的自定义样式 - 移除nutui Price组件中的thousands属性,使用项目自定义Price组件 - 解决微信小程序中nutui组件因div渲染缺失导致UI元素不显示的问题 - 保持支付流程及状态逻辑无改动,仅优化展示兼容性和稳定性">
|
||
<option name="closed" value="true" />
|
||
<created>1784798603228</created>
|
||
<option name="number" value="00066" />
|
||
<option name="presentableId" value="LOCAL-00066" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784798603228</updated>
|
||
</task>
|
||
<task id="LOCAL-00067" summary="fix(weapp): 修复支付页nutui组件导致内容空白问题 - 替换支付页中nutui的Button、Cell、Price、Divider组件为Taro原生组件或项目自定义组件 - 修正商品名称、价格类型和支付金额显示,使用flex布局及Text组件自绘内容 - 调整按钮样式,统一为带蓝色背景和圆角的自定义样式 - 移除nutui Price组件中的thousands属性,使用项目自定义Price组件 - 解决微信小程序中nutui组件因div渲染缺失导致UI元素不显示的问题 - 保持支付流程及状态逻辑无改动,仅优化展示兼容性和稳定性">
|
||
<option name="closed" value="true" />
|
||
<created>1784799951929</created>
|
||
<option name="number" value="00067" />
|
||
<option name="presentableId" value="LOCAL-00067" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784799951929</updated>
|
||
</task>
|
||
<task id="LOCAL-00068" summary="fix(weapp): 修复支付页nutui组件导致内容空白问题 - 替换支付页中nutui的Button、Cell、Price、Divider组件为Taro原生组件或项目自定义组件 - 修正商品名称、价格类型和支付金额显示,使用flex布局及Text组件自绘内容 - 调整按钮样式,统一为带蓝色背景和圆角的自定义样式 - 移除nutui Price组件中的thousands属性,使用项目自定义Price组件 - 解决微信小程序中nutui组件因div渲染缺失导致UI元素不显示的问题 - 保持支付流程及状态逻辑无改动,仅优化展示兼容性和稳定性">
|
||
<option name="closed" value="true" />
|
||
<created>1784800111045</created>
|
||
<option name="number" value="00068" />
|
||
<option name="presentableId" value="LOCAL-00068" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784800111045</updated>
|
||
</task>
|
||
<task id="LOCAL-00069" summary="feat(user): 补充开发者审核通过时添加店员记录功能 - 引入 addShopStoreUser 接口用于新增门店店员记录 - 新增 clerkStoreId 和 clerkTenantId 状态,保存当前审核店员的门店和租户信息 - 在审核通过后调用 addShopStoreUser,添加申请人为当前门店店员 - 保证只有当 clerkStoreId 存在时才执行新增操作 - 更新工作记录文档,补充审核通过流程中新添加的店员记录步骤 - 保持原有升级开发者逻辑和接口调用不变">
|
||
<option name="closed" value="true" />
|
||
<created>1784800763746</created>
|
||
<option name="number" value="00069" />
|
||
<option name="presentableId" value="LOCAL-00069" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784800763746</updated>
|
||
</task>
|
||
<task id="LOCAL-00070" summary="feat(user): 补充开发者审核通过时添加店员记录功能 - 引入 addShopStoreUser 接口用于新增门店店员记录 - 新增 clerkStoreId 和 clerkTenantId 状态,保存当前审核店员的门店和租户信息 - 在审核通过后调用 addShopStoreUser,添加申请人为当前门店店员 - 保证只有当 clerkStoreId 存在时才执行新增操作 - 调整平台管理页 UI,使其与门店中心保持一致风格 - 门店中心及平台管理入口权限调整,仅超级管理员可访问 - 用户菜单中平台管理和门店中心入口现基于 isSuperAdmin 字段控制 - 优化登录及权限校验流程,避免权限不足时页面闪烁显示 - 更新工作记录文档,补充审核通过流程中新添加的店员记录步骤">
|
||
<option name="closed" value="true" />
|
||
<created>1784802336157</created>
|
||
<option name="number" value="00070" />
|
||
<option name="presentableId" value="LOCAL-00070" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784802336157</updated>
|
||
</task>
|
||
<option name="localTasksCounter" value="71" />
|
||
<servers />
|
||
</component>
|
||
<component name="TypeScriptGeneratedFilesManager">
|
||
<option name="version" value="3" />
|
||
</component>
|
||
<component name="Vcs.Log.Tabs.Properties">
|
||
<option name="TAB_STATES">
|
||
<map>
|
||
<entry key="MAIN">
|
||
<value>
|
||
<State />
|
||
</value>
|
||
</entry>
|
||
</map>
|
||
</option>
|
||
</component>
|
||
<component name="VcsManagerConfiguration">
|
||
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
|
||
<option name="CHECK_NEW_TODO" value="false" />
|
||
<MESSAGE value="feat(app): 添加应用入口文件和配置文件 - 新增 index.tsx 作为应用的主入口文件 - 新增 index.config.ts 用于应用的配置管理" />
|
||
<MESSAGE value="fix(tailwind): 更新配置以兼容微信小程序 - 启用 autoprefixer 并新增 postcss-nested 插件支持嵌套语法 - 扩展主题颜色,添加 primary 色系 - 更新 content 路径包含 public/index.html - 禁用 preflight 以移除默认样式重置 - 移除多数 corePlugins 禁用项,保留 preflight 禁用,简化兼容性配置" />
|
||
<MESSAGE value="feat(postcss): 添加插件移除微信小程序不兼容Tailwind规则 - 实现 postcss-remove-wxss-incompatible 插件 - 移除反斜杠转义的重要性修饰符类选择器(.\!xxx) - 删除依赖 :not 和兄弟选择器的 .space-[x|y]-* 规则 - 删除依赖 :not 和兄弟选择器的 .divide-[x|y]-* 规则 - 解决微信小程序 WXSS 不支持的 CSS 特性问题" />
|
||
<MESSAGE value="fix(pay): 优化订阅号获取逻辑并调整支付组件样式 - 优先从小程序码 scene 参数读取 subscriptionNo,提升参数兼容性 - 对 scene 参数进行解码,避免编码引起的问题 - 移除支付组件价格显示处的固定颜色设置,增强样式灵活性" />
|
||
<MESSAGE value="fix(utils): 优化小程序端复制文本功能体验 - 小程序端直接调用原生 wx.setClipboardData,避免 Taro Promise 封装问题 - 避免微信小程序重复显示复制成功提示和误报复制失败 - 失败时仅在小程序端输出错误日志,非小程序端显示提示 - 修改首页外链跳转逻辑,支持相对路径跳转,小程序内外链复制提示提升用户体验 - 更新项目内剪切板使用规范文档,说明复制行为调整及符合相应规范要求" />
|
||
<MESSAGE value="fix(index): 优化外链提示及删除复制咨询模板功能 - 替换小程序内外链打开方式提示为弹窗提醒用户手动复制 - 删除复制咨询模板功能及相关按钮 - 修改联系我们文案,突出直接电话沟通或需求反馈 - 移除无用导入的复制文本工具函数copyText" />
|
||
<MESSAGE value="feat(utils): 优化请求函数URL拼接逻辑 - 在request函数中将请求拦截改为先拼接完整URL - 支持相对路径自动补全baseUrl - 删除原有请求拦截中url未处理的问题" />
|
||
<MESSAGE value="docs(schedule): 添加2026年7月1日日程文件 - 创建新的日程文档文件 2026-07-01.md - 文件内容待后续补充和更新" />
|
||
<MESSAGE value="feat(pay): 优化小程序支付流程并增强日志调试 - 更新 wx-login 接口以返回完整 LoginResult,包括 access_token 和 user 对象 - 支付页面新增大量日志,详尽打印参数、请求和响应信息 - 优化获取订阅详情流程,支持 returnRaw 返回完整响应用于调试 - 支付流程新增步骤,先通过 code 获取 openid 并缓存,再尝试用 openid 自动登录 - 增加自动登录失败交互,提示未注册用户先登录 - 支付相关请求均使用 returnRaw 方便错误排查 - request 请求模块添加统一请求和响应日志,增强调试能力 - request 认证错误和业务错误时加入详细日志输出" />
|
||
<MESSAGE value="feat(pay): 支付成功后自动跳转到已购产品页面 - 支付成功后显示成功提示 - 延迟1.5秒自动跳转到已购产品页面 - 处理跳转失败时回退到用户首页 - 优化用户支付完成后的使用体验" />
|
||
<MESSAGE value="feat(pay-bak): 新增小程序支付页面及相关配置 - 新增确认支付页面配置,设置导航栏标题和样式 - 实现小程序支付页完整组件逻辑,包括加载订单、发起JSAPI支付等 - 支持通过 scene 或 subscriptionNo 获取订单参数 - 完善支付流程接口请求及错误处理,支持自动登录和支付确认 - 增加支付成功、支付中、支付失败、取消等状态页面展示 - 支持支付成功后跳转已购产品页或用户页 - 提供取消支付返回逻辑和界面展示 - 细化支付金额显示和提示用户支付后可使用应用功能" />
|
||
<MESSAGE value="feat(address): 新增收货地址与售后申请功能 - 新增地址编辑页面,支持地址智能识别、地图选点、地区选择和默认地址设置 - 实现地址列表页面,支持地址查看、删除、设为默认及选择返回结算页 - 新增售后申请页面,支持退款类型选择、商品选择、原因填写、图片上传和提交审核 - 修复 passport 分包配置,移除不存在分包并补充缺失声明,避免 Taro 编译报错 - 新增地址类型定义,增强前端地址数据结构类型安全 - 优化页面交互体验,完善表单校验及错误提示逻辑 - 统一代码格式与命名规范,保持代码风格一致性" />
|
||
<MESSAGE value="feat(passport): 迁移并修复小程序支付页面访问 websopy API 问题 - 迁移 src/passport/pay 相关代码至当前项目,无需替换文件 - 新增环境变量 WEBSOPY_API_BASE_URL,提供 websopy API 基础地址 - 在 config/app.ts 导出 WebsopyBaseUrl,供代码引用 - 配置 env.d.ts 类型定义,消除 TypeScript 隐式 any 错误 - request 请求方法支持自定义 baseUrl 以调用不同接口地址 - passport/pay 页面调用订阅接口统一传入 WebsopyBaseUrl - 修正 tenantId 类型为 number,调整登录用户类型断言 - 确认编译成功,dist 目录生成对应文件及正确请求地址 - 说明 type-check 依赖库问题不影响正常构建和运行" />
|
||
<MESSAGE value="feat(passport): 优化支付成功后页面跳转逻辑 - 修改支付成功后的自动跳转目标,从已购产品页面改为我的页面 - 使用 switchTab 替代 navigateTo 保证在 tabBar 页顺利跳转 - 移除多余的跳转失败回退逻辑,简化跳转流程 - 调整跳转延迟时间为 1500 毫秒,提升用户体验" />
|
||
<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,避免硬编码,支持多租户环境正确绑定角色" />
|
||
<MESSAGE value="refactor(user): 删除门店信息输入框 - 移除用户资料页面中的门店名称输入框 - 移除用户资料页面中的门店地址输入框 - 简化用户页面界面布局,提高界面整洁度" />
|
||
<MESSAGE value="refactor(user): 统一品牌名称为“威数谱软件” - 将项目中所有“威硕谱软件”名称修改为“威数谱软件” - 更新协议页面、欢迎消息、礼品卡等多处文本内容 - 修改小程序配置文件中的项目名称和显示标题 - 优化开发者申请页部分文案,明确开发者身份描述 - 保证所有界面及配置中的品牌名称统一一致" />
|
||
<MESSAGE value="refactor(user): 将VIP身份统一改为开发者标记 - 审核通过时不再新增角色,而是更新用户isDeveloper布尔标记 - 后端UserService新增markAsDeveloper方法,通过updateById设置isDeveloper - UserController新增PUT接口更新开发者标记,权限使用sys:userRole:save - 前端api新增setUserDeveloper调用新的审核接口 - vip-review页面移除角色相关代码,改为调用setUserDeveloper方法 - 约定开发者身份即sys_user.is_developer字段,不再依赖角色表记录 - app.config.ts追加开发者中心与平台管理相关页面路由 - 新增开发者中心、平台管理的多个API模块(apikey、appProduct、appDomain、developer请求等) - 添加公共工具方法和复用组件用于开发者中心及平台管理功能 - 统一品牌名称为“威数谱软件”,更新文案及界面展现一致性" />
|
||
<MESSAGE value="feat(weapp): 新增开发者中心与平台管理入口及相关功能 - 小程序端新增开发者中心和平台管理页面模块,完善功能入口 - 新增开发者中心页面(概览、我的应用、API Key和工单) - 新增平台管理页面(管理首页、应用审核、Git权限审核、域名绑定审核和工单处理) - 复刻PC端/api/app/*相关API接口,基地址使用WEBSOPY_API_BASE_URL - 增加公共组件StatCard、EntryGrid、CellRow以支持新页面UI - 修改首页增加开发者中心和平台管理角色入口,仅对对应用户显示 - 用户页面菜单新增开发者中心和平台管理入口条件展示 - 约定开发者身份使用sys_user.is_developer布尔字段,不再依赖角色表 - 更新登录态业务,菜单是否显示基于登录接口返回" />
|
||
<MESSAGE value="feat(weapp): 新增开发者中心与平台管理入口及功能 - 小程序端新增开发者中心和平台管理页面模块,完善功能入口 - 新增开发者中心页面(概览、我的应用、API Key和工单) - 新增平台管理页面(管理首页、应用审核、Git权限审核、域名绑定审核和工单处理) - 复刻PC端/api/app/*相关API接口,基地址使用WEBSOPY_API_BASE_URL - 增加公共组件StatCard、EntryGrid、CellRow以支持新页面UI - 修改首页增加开发者中心和平台管理角色入口,仅对对应用户显示 - 用户页面菜单新增开发者中心和平台管理入口条件展示 - 约定开发者身份使用sys_user.is_developer布尔字段,不再依赖角色表 - 更新登录态业务,菜单是否显示基于登录接口返回的isDeveloper/isAdmin字段 - vip-review审核通过流程调整为只调用setUserDeveloper,后台替换角色为developer并置isDeveloper=1" />
|
||
<MESSAGE value="fix(weapp): 修复支付页nutui组件导致内容空白问题 - 替换支付页中nutui的Button、Cell、Price、Divider组件为Taro原生组件或项目自定义组件 - 修正商品名称、价格类型和支付金额显示,使用flex布局及Text组件自绘内容 - 调整按钮样式,统一为带蓝色背景和圆角的自定义样式 - 移除nutui Price组件中的thousands属性,使用项目自定义Price组件 - 解决微信小程序中nutui组件因div渲染缺失导致UI元素不显示的问题 - 保持支付流程及状态逻辑无改动,仅优化展示兼容性和稳定性" />
|
||
<MESSAGE value="feat(user): 补充开发者审核通过时添加店员记录功能 - 引入 addShopStoreUser 接口用于新增门店店员记录 - 新增 clerkStoreId 和 clerkTenantId 状态,保存当前审核店员的门店和租户信息 - 在审核通过后调用 addShopStoreUser,添加申请人为当前门店店员 - 保证只有当 clerkStoreId 存在时才执行新增操作 - 更新工作记录文档,补充审核通过流程中新添加的店员记录步骤 - 保持原有升级开发者逻辑和接口调用不变" />
|
||
<MESSAGE value="feat(user): 补充开发者审核通过时添加店员记录功能 - 引入 addShopStoreUser 接口用于新增门店店员记录 - 新增 clerkStoreId 和 clerkTenantId 状态,保存当前审核店员的门店和租户信息 - 在审核通过后调用 addShopStoreUser,添加申请人为当前门店店员 - 保证只有当 clerkStoreId 存在时才执行新增操作 - 调整平台管理页 UI,使其与门店中心保持一致风格 - 门店中心及平台管理入口权限调整,仅超级管理员可访问 - 用户菜单中平台管理和门店中心入口现基于 isSuperAdmin 字段控制 - 优化登录及权限校验流程,避免权限不足时页面闪烁显示 - 更新工作记录文档,补充审核通过流程中新添加的店员记录步骤" />
|
||
<option name="LAST_COMMIT_MESSAGE" value="feat(user): 补充开发者审核通过时添加店员记录功能 - 引入 addShopStoreUser 接口用于新增门店店员记录 - 新增 clerkStoreId 和 clerkTenantId 状态,保存当前审核店员的门店和租户信息 - 在审核通过后调用 addShopStoreUser,添加申请人为当前门店店员 - 保证只有当 clerkStoreId 存在时才执行新增操作 - 调整平台管理页 UI,使其与门店中心保持一致风格 - 门店中心及平台管理入口权限调整,仅超级管理员可访问 - 用户菜单中平台管理和门店中心入口现基于 isSuperAdmin 字段控制 - 优化登录及权限校验流程,避免权限不足时页面闪烁显示 - 更新工作记录文档,补充审核通过流程中新添加的店员记录步骤" />
|
||
<option name="NON_MODAL_COMMIT_POSTPONE_SLOW_CHECKS" value="false" />
|
||
</component>
|
||
</project> |