d83a6bdd69
- 在关于我们页补充企业优势和联系方式演示数据展示 - 资讯列表页增加分类标签,实现按分类筛选资讯 - 文章详情页新增相关推荐文章展示逻辑 - 主页使用演示数据兜底导航、Banner、核心业务、公司简介和文章列表 - 各页面均优化站点信息使用,优先展示真实数据,缺失时使用演示数据 - 留言页增加公司联系信息展示,提升体验 - 个人中心页支持分享官网,展示演示数据防止空白 - 主页Banner支持无图时使用渐变背景和文字占位 - 统一使用演示数据,保证页面无空白,提升整体稳定性和用户体验
573 lines
68 KiB
XML
573 lines
68 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="refactor(common): 移除 NutUI Button 并改用 Taro 原生 Button - `EmptyState` 和 `FixedButton` 组件替换 NutUI Button 为 Taro 原生 Button - 解决空状态按钮在微信小程序端不可见问题,确保按钮正常显示 - `FixedButton` 组件调整实现,icon 由 prop 改为 children 渲染 - 统一主色改用 tailwind 的 `bg-red-500`,弃用 NutUI primary 颜色 - 全局样式修复微信小程序原生 button 的 `::after` 灰色描边问题 - NutUI Button 引用文件数由 27 减至 25,`src/components/common/` 无 NutUI 依赖 - CMS 请求链路调整,所有 CMS 接口改用独立 `cmsRequest` 实现">
|
||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
||
<change beforePath="$PROJECT_DIR$/src/official/about/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/official/about/index.tsx" afterDir="false" />
|
||
<change beforePath="$PROJECT_DIR$/src/official/article-detail/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/official/article-detail/index.tsx" afterDir="false" />
|
||
<change beforePath="$PROJECT_DIR$/src/official/article/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/official/article/index.tsx" afterDir="false" />
|
||
<change beforePath="$PROJECT_DIR$/src/official/index/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/official/index/index.tsx" afterDir="false" />
|
||
<change beforePath="$PROJECT_DIR$/src/official/message/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/official/message/index.tsx" afterDir="false" />
|
||
<change beforePath="$PROJECT_DIR$/src/official/mine/index.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/src/official/mine/index.tsx" afterDir="false" />
|
||
</list>
|
||
<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="4896000" />
|
||
<workItem from="1784873955217" duration="3822000" />
|
||
<workItem from="1786371937331" duration="13654000" />
|
||
<workItem from="1786532924218" duration="478000" />
|
||
</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>
|
||
<task id="LOCAL-00071" summary="feat(user): 合并并切换“申请开发者”菜单项状态 - 在用户菜单中根据 isDeveloper 字段切换显示“申请成为开发者”或“进入开发者中心” - 已通过审核用户直接显示“进入开发者中心”且高亮显示 - 去除冗余的独立“开发者中心”菜单条目,简化菜单结构 - 调整平台管理页和门店中心入口权限为仅超级管理员可访问 - 优化登录与权限校验流程,防止权限不足时页面闪烁或无访问权限空白 - 更新相关文档,完善审核通过后店员记录添加流程">
|
||
<option name="closed" value="true" />
|
||
<created>1784802434477</created>
|
||
<option name="number" value="00071" />
|
||
<option name="presentableId" value="LOCAL-00071" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784802434477</updated>
|
||
</task>
|
||
<task id="LOCAL-00072" summary="fix(auth): 统一超级管理员标识为布尔值true - 将所有页面和菜单中超级管理员校验由数字1改为布尔true - 平台管理、门店中心菜单项仅在isSuperAdmin===true时显示 - 门店中心页面移除店员门槛,改为超级管理员访问限制 - 非超级管理员访问门店中心弹窗提示并返回 - 首页工作台入口及相关访问权限判定切换为布尔判断 - 优化首屏加载状态,避免权限校验闪烁和误判">
|
||
<option name="closed" value="true" />
|
||
<created>1784802589434</created>
|
||
<option name="number" value="00072" />
|
||
<option name="presentableId" value="LOCAL-00072" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784802589434</updated>
|
||
</task>
|
||
<task id="LOCAL-00073" summary="feat(user): 合并切换开发者菜单项状态并更新开发者中心UI - 用户菜单中根据 isDeveloper 字段条件展示“申请成为开发者”或“进入开发者中心” - 已审核通过用户菜单显示“进入开发者中心”,并设置高亮样式 - 去除冗余的独立“开发者中心”菜单条目,简化菜单结构 - 重新设计开发者中心页面UI,统一为门店中心风格 - 顶部展示开发者头像及昵称手机号信息 - 功能卡片展示“我的应用”、“API Key”和“我的工单”,异步加载数量角标 - 底部添加“开发者帮助与支持”入口,替代门店订阅消息卡片 - 未登录或非开发者状态显示相应空态提示及操作按钮 - 优化登录状态与权限校验逻辑,防止页面闪烁和无权限内容显示">
|
||
<option name="closed" value="true" />
|
||
<created>1784802954848</created>
|
||
<option name="number" value="00073" />
|
||
<option name="presentableId" value="LOCAL-00073" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784802954848</updated>
|
||
</task>
|
||
<task id="LOCAL-00074" summary="feat(user): 合并切换开发者菜单并优化首页轮播图显示 - 用户菜单根据 isDeveloper 字段切换显示申请或进入开发者中心 - 已审核用户菜单高亮显示“进入开发者中心” - 去除冗余开发者中心菜单条目,简化结构 - 重新设计开发者中心页面UI,统一门店中心风格 - 顶部展示开发者头像及昵称手机号信息 - 功能卡片展示“我的应用”、“API Key”和“我的工单”,异步加载数量角标 - 底部添加“开发者帮助与支持”入口,替代门店订阅消息卡片 - 未登录或非开发者状态显示相应空态及操作按钮 - 首页轮播图为空时不显示容器,功能入口自动上移,优化空状态体验 - 优化登录状态与权限校验逻辑,防止页面闪烁和无权限展示">
|
||
<option name="closed" value="true" />
|
||
<created>1784803190504</created>
|
||
<option name="number" value="00074" />
|
||
<option name="presentableId" value="LOCAL-00074" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784803190504</updated>
|
||
</task>
|
||
<task id="LOCAL-00075" summary="feat(user): 合并切换开发者菜单并优化首页轮播图显示 - 用户菜单根据 isDeveloper 字段切换显示申请或进入开发者中心 - 已审核用户菜单高亮显示“进入开发者中心” - 去除冗余开发者中心菜单条目,简化结构 - 重新设计开发者中心页面UI,统一门店中心风格 - 顶部展示开发者头像及昵称手机号信息 - 功能卡片展示“我的应用”、“API Key”和“我的工单”,异步加载数量角标 - 底部添加“开发者帮助与支持”入口,替代门店订阅消息卡片 - 未登录或非开发者状态显示相应空态及操作按钮 - 首页轮播图为空时不显示容器,功能入口自动上移,优化空状态体验 - 优化登录状态与权限校验逻辑,防止页面闪烁和无权限展示">
|
||
<option name="closed" value="true" />
|
||
<created>1784873966827</created>
|
||
<option name="number" value="00075" />
|
||
<option name="presentableId" value="LOCAL-00075" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1784873966827</updated>
|
||
</task>
|
||
<task id="LOCAL-00076" summary="feat(checkout): 优化微信支付和线下付款流程 - 将默认支付方式调整为微信支付(payType=1),增加支付方式选择项 - 微信支付成功后直接调用微信支付接口并处理支付结果反馈 - 支付取消或失败时显示对应提示信息 - 线下付款(payType=9)保留并显示相应提示,不触发在线支付 - 提交订单时根据支付方式显示不同的按钮文本 (‘提交并支付’ 或 ‘提交订单’) - 针对微信支付配置缺失的错误,统一显示详细提示,便于定位问题 - 优化支付方式选中时的提示样式与说明,提升用户体验">
|
||
<option name="closed" value="true" />
|
||
<created>1786372231925</created>
|
||
<option name="number" value="00076" />
|
||
<option name="presentableId" value="LOCAL-00076" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786372231925</updated>
|
||
</task>
|
||
<task id="LOCAL-00077" summary="feat(checkout): 优化微信支付和线下付款流程 - 支付方式新增微信支付(payType=1),并设为默认,保留线下付款(payType=9) - 微信支付时调用 Taro.requestPayment 发起支付流程,取消或失败给出明确提示 - 支付选项选中状态下微信支付显示绿色提示,线下付款显示橙色提示 - 提交按钮文案区分微信支付(提交并支付)与线下付款(提交订单) - 后端支付配置缺失时提示“微信支付暂不可用:支付配置缺失” - 确保编译构建通过,未引入新类型错误">
|
||
<option name="closed" value="true" />
|
||
<created>1786407521622</created>
|
||
<option name="number" value="00077" />
|
||
<option name="presentableId" value="LOCAL-00077" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786407521622</updated>
|
||
</task>
|
||
<task id="LOCAL-00078" summary="feat(official): 实现企业官网分包及内容展示 - 新增官方分包目录及页面(首页、资讯列表、详情、关于我们、留言、我的) - 自定义实现底部导航组件 OfficialTabBar,解决微信 tabBar 不支持分包问题 - 统一接口调用走 shop-api 代理,无新增 CMS 域名,减少合法域名负担 - 新增 CMS 站点信息获取接口及留言咨询提交与查询接口 - 设计并完善官网富文本样式,品牌色统一为 #185FA5,并更新 tailwind 配置 - 首页新增企业官网入口卡片,方便用户访问官网内容 - 完成官网分包构建验证,解决 Taro 构建批量删除保护问题 - 规范 CMS 字段使用,适配字段名称及状态含义 - 后续计划对历史页面 NutUI 组件进行空壳化整改,及更新 UI 设计文档">
|
||
<option name="closed" value="true" />
|
||
<created>1786409297653</created>
|
||
<option name="number" value="00078" />
|
||
<option name="presentableId" value="LOCAL-00078" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786409297653</updated>
|
||
</task>
|
||
<task id="LOCAL-00079" summary="refactor(cms): 迁移CMS模块接口到独立cms-api服务 - 新增cmsRequest工具,基于request封装,默认baseURL为cms-api - 改用cmsRequest替换所有cms相关请求,确保请求走独立域名 - 配置三环境新增CMS_API_BASE_URL及导出CmsBaseUrl常量 - 解决CMS接口走shop-api时返回404的问题,避免小程序域名白名单冲突 - 统一修改34个cms API模块的261处调用,保持接口行为一致 - 修复部分拼接全URL方式改为相对路径调用cmsRequest - 更新注释说明并调整相关接口调用代码 - 兼容macOS sed替换问题,采用perl命令完成批量替换">
|
||
<option name="closed" value="true" />
|
||
<created>1786417481138</created>
|
||
<option name="number" value="00079" />
|
||
<option name="presentableId" value="LOCAL-00079" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786417481138</updated>
|
||
</task>
|
||
<task id="LOCAL-00080" summary="refactor(cms): 迁移CMS模块接口到独立cms-api服务 - 新增cmsRequest工具,基于request封装,默认baseURL为cms-api - 改用cmsRequest替换所有cms相关请求,确保请求走独立域名 - 配置三环境新增CMS_API_BASE_URL及导出CmsBaseUrl常量 - 解决CMS接口走shop-api时返回404的问题,避免小程序域名白名单冲突 - 统一修改34个cms API模块的261处调用,保持接口行为一致 - 修复部分拼接全URL方式改为相对路径调用cmsRequest - 更新注释说明并调整相关接口调用代码 - 兼容macOS sed替换问题,采用perl命令完成批量替换">
|
||
<option name="closed" value="true" />
|
||
<created>1786417523542</created>
|
||
<option name="number" value="00080" />
|
||
<option name="presentableId" value="LOCAL-00080" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786417523542</updated>
|
||
</task>
|
||
<task id="LOCAL-00081" summary="refactor(cms): 迁移CMS模块接口到独立cms-api服务 - 新增cmsRequest工具,基于request封装,默认baseURL为cms-api - 改用cmsRequest替换所有cms相关请求,确保请求走独立域名 - 配置三环境新增CMS_API_BASE_URL及导出CmsBaseUrl常量 - 解决CMS接口走shop-api时返回404的问题,避免小程序域名白名单冲突 - 统一修改34个cms API模块的261处调用,保持接口行为一致 - 修复部分拼接全URL方式改为相对路径调用cmsRequest - 更新注释说明并调整相关接口调用代码 - 兼容macOS sed替换问题,采用perl命令完成批量替换">
|
||
<option name="closed" value="true" />
|
||
<created>1786417577350</created>
|
||
<option name="number" value="00081" />
|
||
<option name="presentableId" value="LOCAL-00081" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786417577350</updated>
|
||
</task>
|
||
<task id="LOCAL-00082" summary="refactor(common): 移除公共组件中的 NutUI Button,改用 Taro 原生 Button - `EmptyState` 和 `FixedButton` 两个组件全部替换 NutUI Button 为 Taro 原生 Button - 解决空状态按钮在微信小程序端不可见的问题,确保按钮正常显示 - `FixedButton` 组件虽然未被调用,仍保留但调整实现,icon 由 prop 改为 children 渲染 - 统一主色使用 tailwind 的 `bg-red-500`,弃用原 NutUI primary 颜色 - 全局修复微信小程序原生 button 的 `::after` 灰色描边问题,在全局样式中设置 `button::after { border: none; }` - NutUI Button 的引用文件数由 27 减至 25,`src/components/common/` 完全无 NutUI 依赖 - CMS 请求链路调整,所有 CMS 接口改用独立 `cmsRequest` 实现,确保请求正确 - 修正 `src/api/official` 的数据层,取消错误的 shop-api 代理说明,强调独立 CMS API 基础地址和合法域名配置事项">
|
||
<option name="closed" value="true" />
|
||
<created>1786417944432</created>
|
||
<option name="number" value="00082" />
|
||
<option name="presentableId" value="LOCAL-00082" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786417944432</updated>
|
||
</task>
|
||
<task id="LOCAL-00083" summary="refactor(common): 移除 NutUI Button 并改用 Taro 原生 Button - `EmptyState` 和 `FixedButton` 组件替换 NutUI Button 为 Taro 原生 Button - 解决空状态按钮在微信小程序端不可见问题,确保按钮正常显示 - `FixedButton` 组件调整实现,icon 由 prop 改为 children 渲染 - 统一主色改用 tailwind 的 `bg-red-500`,弃用 NutUI primary 颜色 - 全局样式修复微信小程序原生 button 的 `::after` 灰色描边问题 - NutUI Button 引用文件数由 27 减至 25,`src/components/common/` 无 NutUI 依赖 - CMS 请求链路调整,所有 CMS 接口改用独立 `cmsRequest` 实现">
|
||
<option name="closed" value="true" />
|
||
<created>1786434456515</created>
|
||
<option name="number" value="00083" />
|
||
<option name="presentableId" value="LOCAL-00083" />
|
||
<option name="project" value="LOCAL" />
|
||
<updated>1786434456515</updated>
|
||
</task>
|
||
<option name="localTasksCounter" value="84" />
|
||
<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(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 字段控制 - 优化登录及权限校验流程,避免权限不足时页面闪烁显示 - 更新工作记录文档,补充审核通过流程中新添加的店员记录步骤" />
|
||
<MESSAGE value="feat(user): 合并并切换“申请开发者”菜单项状态 - 在用户菜单中根据 isDeveloper 字段切换显示“申请成为开发者”或“进入开发者中心” - 已通过审核用户直接显示“进入开发者中心”且高亮显示 - 去除冗余的独立“开发者中心”菜单条目,简化菜单结构 - 调整平台管理页和门店中心入口权限为仅超级管理员可访问 - 优化登录与权限校验流程,防止权限不足时页面闪烁或无访问权限空白 - 更新相关文档,完善审核通过后店员记录添加流程" />
|
||
<MESSAGE value="fix(auth): 统一超级管理员标识为布尔值true - 将所有页面和菜单中超级管理员校验由数字1改为布尔true - 平台管理、门店中心菜单项仅在isSuperAdmin===true时显示 - 门店中心页面移除店员门槛,改为超级管理员访问限制 - 非超级管理员访问门店中心弹窗提示并返回 - 首页工作台入口及相关访问权限判定切换为布尔判断 - 优化首屏加载状态,避免权限校验闪烁和误判" />
|
||
<MESSAGE value="feat(user): 合并切换开发者菜单项状态并更新开发者中心UI - 用户菜单中根据 isDeveloper 字段条件展示“申请成为开发者”或“进入开发者中心” - 已审核通过用户菜单显示“进入开发者中心”,并设置高亮样式 - 去除冗余的独立“开发者中心”菜单条目,简化菜单结构 - 重新设计开发者中心页面UI,统一为门店中心风格 - 顶部展示开发者头像及昵称手机号信息 - 功能卡片展示“我的应用”、“API Key”和“我的工单”,异步加载数量角标 - 底部添加“开发者帮助与支持”入口,替代门店订阅消息卡片 - 未登录或非开发者状态显示相应空态提示及操作按钮 - 优化登录状态与权限校验逻辑,防止页面闪烁和无权限内容显示" />
|
||
<MESSAGE value="feat(user): 合并切换开发者菜单并优化首页轮播图显示 - 用户菜单根据 isDeveloper 字段切换显示申请或进入开发者中心 - 已审核用户菜单高亮显示“进入开发者中心” - 去除冗余开发者中心菜单条目,简化结构 - 重新设计开发者中心页面UI,统一门店中心风格 - 顶部展示开发者头像及昵称手机号信息 - 功能卡片展示“我的应用”、“API Key”和“我的工单”,异步加载数量角标 - 底部添加“开发者帮助与支持”入口,替代门店订阅消息卡片 - 未登录或非开发者状态显示相应空态及操作按钮 - 首页轮播图为空时不显示容器,功能入口自动上移,优化空状态体验 - 优化登录状态与权限校验逻辑,防止页面闪烁和无权限展示" />
|
||
<MESSAGE value="feat(checkout): 优化微信支付和线下付款流程 - 将默认支付方式调整为微信支付(payType=1),增加支付方式选择项 - 微信支付成功后直接调用微信支付接口并处理支付结果反馈 - 支付取消或失败时显示对应提示信息 - 线下付款(payType=9)保留并显示相应提示,不触发在线支付 - 提交订单时根据支付方式显示不同的按钮文本 (‘提交并支付’ 或 ‘提交订单’) - 针对微信支付配置缺失的错误,统一显示详细提示,便于定位问题 - 优化支付方式选中时的提示样式与说明,提升用户体验" />
|
||
<MESSAGE value="feat(checkout): 优化微信支付和线下付款流程 - 支付方式新增微信支付(payType=1),并设为默认,保留线下付款(payType=9) - 微信支付时调用 Taro.requestPayment 发起支付流程,取消或失败给出明确提示 - 支付选项选中状态下微信支付显示绿色提示,线下付款显示橙色提示 - 提交按钮文案区分微信支付(提交并支付)与线下付款(提交订单) - 后端支付配置缺失时提示“微信支付暂不可用:支付配置缺失” - 确保编译构建通过,未引入新类型错误" />
|
||
<MESSAGE value="feat(official): 实现企业官网分包及内容展示 - 新增官方分包目录及页面(首页、资讯列表、详情、关于我们、留言、我的) - 自定义实现底部导航组件 OfficialTabBar,解决微信 tabBar 不支持分包问题 - 统一接口调用走 shop-api 代理,无新增 CMS 域名,减少合法域名负担 - 新增 CMS 站点信息获取接口及留言咨询提交与查询接口 - 设计并完善官网富文本样式,品牌色统一为 #185FA5,并更新 tailwind 配置 - 首页新增企业官网入口卡片,方便用户访问官网内容 - 完成官网分包构建验证,解决 Taro 构建批量删除保护问题 - 规范 CMS 字段使用,适配字段名称及状态含义 - 后续计划对历史页面 NutUI 组件进行空壳化整改,及更新 UI 设计文档" />
|
||
<MESSAGE value="refactor(cms): 迁移CMS模块接口到独立cms-api服务 - 新增cmsRequest工具,基于request封装,默认baseURL为cms-api - 改用cmsRequest替换所有cms相关请求,确保请求走独立域名 - 配置三环境新增CMS_API_BASE_URL及导出CmsBaseUrl常量 - 解决CMS接口走shop-api时返回404的问题,避免小程序域名白名单冲突 - 统一修改34个cms API模块的261处调用,保持接口行为一致 - 修复部分拼接全URL方式改为相对路径调用cmsRequest - 更新注释说明并调整相关接口调用代码 - 兼容macOS sed替换问题,采用perl命令完成批量替换" />
|
||
<MESSAGE value="refactor(common): 移除公共组件中的 NutUI Button,改用 Taro 原生 Button - `EmptyState` 和 `FixedButton` 两个组件全部替换 NutUI Button 为 Taro 原生 Button - 解决空状态按钮在微信小程序端不可见的问题,确保按钮正常显示 - `FixedButton` 组件虽然未被调用,仍保留但调整实现,icon 由 prop 改为 children 渲染 - 统一主色使用 tailwind 的 `bg-red-500`,弃用原 NutUI primary 颜色 - 全局修复微信小程序原生 button 的 `::after` 灰色描边问题,在全局样式中设置 `button::after { border: none; }` - NutUI Button 的引用文件数由 27 减至 25,`src/components/common/` 完全无 NutUI 依赖 - CMS 请求链路调整,所有 CMS 接口改用独立 `cmsRequest` 实现" />
|
||
<MESSAGE value="refactor(common): 移除 NutUI Button 并改用 Taro 原生 Button - `EmptyState` 和 `FixedButton` 组件替换 NutUI Button 为 Taro 原生 Button - 解决空状态按钮在微信小程序端不可见问题,确保按钮正常显示 - `FixedButton` 组件调整实现,icon 由 prop 改为 children 渲染 - 统一主色改用 tailwind 的 `bg-red-500`,弃用 NutUI primary 颜色 - 全局样式修复微信小程序原生 button 的 `::after` 灰色描边问题 - NutUI Button 引用文件数由 27 减至 25,`src/components/common/` 无 NutUI 依赖 - CMS 请求链路调整,所有 CMS 接口改用独立 `cmsRequest` 实现" />
|
||
<option name="LAST_COMMIT_MESSAGE" value="refactor(common): 移除 NutUI Button 并改用 Taro 原生 Button - `EmptyState` 和 `FixedButton` 组件替换 NutUI Button 为 Taro 原生 Button - 解决空状态按钮在微信小程序端不可见问题,确保按钮正常显示 - `FixedButton` 组件调整实现,icon 由 prop 改为 children 渲染 - 统一主色改用 tailwind 的 `bg-red-500`,弃用 NutUI primary 颜色 - 全局样式修复微信小程序原生 button 的 `::after` 灰色描边问题 - NutUI Button 引用文件数由 27 减至 25,`src/components/common/` 无 NutUI 依赖 - CMS 请求链路调整,所有 CMS 接口改用独立 `cmsRequest` 实现" />
|
||
<option name="NON_MODAL_COMMIT_POSTPONE_SLOW_CHECKS" value="false" />
|
||
</component>
|
||
</project> |