declarative.dpml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <memory>
  3. <item id="mem_1752633976293_138s3tkn5" time="2025/07/16 10:46">
  4. <content>
  5. Vue3 UniApp项目开发规范总结:
  6. ## 页面类型规范
  7. 1. **系统原生导航栏页面**:使用 layout: &#x27;default&#x27; + 自定义导航栏配置(如income.vue)
  8. 2. **自定义导航栏页面**:使用 navigationStyle: &#x27;custom&#x27; + 手动处理安全区域(如referEarn.vue)
  9. ## 代码书写习惯
  10. 1. **UnoCSS样式**:完全使用UnoCSS原子类,避免传统CSS,优先使用内联样式避免动态类名问题
  11. 2. **组件库**:wot-design-uni (wd-前缀组件),包括wd-form、wd-input、wd-button等
  12. 3. **分页组件**:z-paging统一处理列表和滚动,配合useZPaging hook
  13. 4. **TypeScript**:严格类型定义,defineOptions命名规范
  14. ## 项目结构规范
  15. 1. **路由配置**:使用json5格式的route块,自动生成pages.json
  16. 2. **生命周期**:必须导入页面生命周期(即使未直接使用)
  17. 3. **插件配置**:自定义vite插件处理构建逻辑
  18. 4. **组件结构**:route配置 → script setup → template → style
  19. ## 具体编码规范
  20. 1. **安全区域**:自定义导航栏页面必须处理safeAreaInsets
  21. 2. **组件命名**:defineOptions中明确name属性
  22. 3. **表单处理**:使用wd-form + wd-input + 验证规则
  23. 4. **样式写法**:优先UnoCSS原子类,必要时使用:deep()修改组件样式
  24. 5. **背景图片**:统一使用/static/login-bg.png作为登录相关页面背景
  25. </content>
  26. <tags>#最佳实践</tags>
  27. </item>
  28. <item id="mem_1754528859943_jbmq5ht60" time="2025/08/07 09:07">
  29. <content>
  30. PromptX配置信息总结:
  31. ## 项目环境配置
  32. - 项目路径:/Users/liangan/Documents/work_files/code/BandhuBuyUniBest
  33. - IDE类型:cursor
  34. - MCP实例:mcp-4121
  35. - PromptX版本:v0.2.0 (dpml-prompt@0.2.0, Node.js v24.4.0)
  36. ## 配置文件结构
  37. - 主配置:.promptx/pouch.json(记录状态历史和当前状态)
  38. - 资源注册表:.promptx/resource/project.registry.json(项目级资源管理)
  39. - 记忆存储:.promptx/memory/noface/declarative.dpml(角色记忆文件)
  40. - 备份目录:.promptx/backup/(配置备份)
  41. ## 当前状态
  42. - 系统状态:service_discovery
  43. - 可用角色:assistant, luban, noface, nuwa, sean(5个系统角色)
  44. - 项目资源:当前为空,可在domain目录下创建角色资源
  45. - 支持多项目环境,项目间完全隔离
  46. </content>
  47. <tags>#其他</tags>
  48. </item>
  49. <item id="mem_1754532583118_yzgtdqvq0" time="2025/08/07 10:09">
  50. <content>
  51. addressBookOperate.vue 多语言配置分析:
  52. ## 文件多语言使用情况
  53. 该文件大量使用了多语言配置,通过 `t()` 函数调用多语言键值。
  54. ## 页面标题配置
  55. - route配置中:`navigationBarTitleText: &#x27;%addressBook.title%&#x27;`
  56. - 动态设置:编辑模式使用 `t(&#x27;addressBook.operate.title.edit&#x27;)`,新增模式使用 `t(&#x27;addressBook.operate.title.add&#x27;)`
  57. ## 主要多语言键值使用
  58. ### 表单字段
  59. - `t(&#x27;addressBook.operate.form.fullName&#x27;)` - 姓名
  60. - `t(&#x27;addressBook.operate.form.phone&#x27;)` - 手机号码
  61. - `t(&#x27;addressBook.operate.form.district&#x27;)` - 省/区
  62. - `t(&#x27;addressBook.operate.form.street&#x27;)` - 楼层/单元/街道
  63. - `t(&#x27;addressBook.operate.form.postcode&#x27;)` - 邮编
  64. - `t(&#x27;addressBook.operate.form.default&#x27;)` - 默认
  65. ### 占位符文本
  66. - `t(&#x27;addressBook.operate.form.phone.placeholder&#x27;)` - &quot;+88&quot;
  67. - `t(&#x27;addressBook.operate.form.district.placeholder&#x27;)` - &quot;请选择&quot;
  68. - `t(&#x27;addressBook.operate.form.street.placeholder&#x27;)` - &quot;详细地址&quot;
  69. - `t(&#x27;addressBook.operate.form.postcode.placeholder&#x27;)` - &quot;请输入邮编&quot;
  70. ### 按钮文本
  71. - `t(&#x27;addressBook.operate.button.save&#x27;)` - 保存
  72. - `t(&#x27;addressBook.operate.button.update&#x27;)` - 更新
  73. ### 状态提示
  74. - `t(&#x27;addressBook.operate.loading&#x27;)` - 加载中...
  75. - `t(&#x27;addressBook.operate.saving&#x27;)` - 保存中...
  76. - `t(&#x27;addressBook.operate.success.save&#x27;)` - 地址保存成功
  77. - `t(&#x27;addressBook.operate.success.update&#x27;)` - 地址更新成功
  78. ### 错误提示
  79. - `t(&#x27;addressBook.operate.error.emptyName&#x27;)` - 请输入姓名
  80. - `t(&#x27;addressBook.operate.error.emptyPhone&#x27;)` - 请输入手机号码
  81. - `t(&#x27;addressBook.operate.error.emptyDistrict&#x27;)` - 请选择省/区
  82. - `t(&#x27;addressBook.operate.error.emptyStreet&#x27;)` - 请输入详细地址
  83. - `t(&#x27;addressBook.operate.error.emptyPostcode&#x27;)` - 请输入邮编
  84. - `t(&#x27;addressBook.operate.error.loadFailed&#x27;)` - 加载地址详情失败
  85. - `t(&#x27;addressBook.operate.error.saveFailed&#x27;)` - 保存失败,请重试
  86. ## 项目多语言配置
  87. - 支持语言:英语(en)、简体中文(zh-Hans)、孟加拉语(bn)
  88. - 默认语言:根据系统语言,fallback为英语
  89. - 配置文件位置:src/locale/目录下
  90. - 使用vue-i18n进行国际化管理
  91. </content>
  92. <tags>#其他</tags>
  93. </item>
  94. <item id="mem_1754533457774_htkp0pwtn" time="2025/08/07 10:24">
  95. <content>
  96. Vue3 UniApp多语言转换工作总结:
  97. ## 完成的转换工作
  98. 1. **语言包扩展**:在 en.json、zh-Hans.json、bn.json 中添加了60+个新的多语言键值对
  99. 2. **用户认证页面**:完成 login.vue、register.vue 的硬编码转换
  100. 3. **钱包相关页面**:转换 myWallet.vue 等钱包页面的标题和内容
  101. 4. **其他功能页面**:转换 missionCenter.vue、vipMembership.vue 等页面标题
  102. 5. **通知页面**:转换 notifications.vue 页面标题
  103. ## 新增的多语言键值类别
  104. - **认证相关**:auth.login.*, auth.register.*, auth.forgotPassword.*
  105. - **通用文本**:common.loading, common.saving, common.success 等
  106. - **钱包相关**:wallet.balance, wallet.recharge, wallet.withdraw 等
  107. - **页面标题**:各功能页面的标题多语言化
  108. ## 转换模式
  109. - 使用 t() 函数替换硬编码文本
  110. - 页面标题使用 %key% 格式进行多语言配置
  111. - 保持原有的UnoCSS样式和组件结构不变
  112. - 遵循项目现有的多语言命名规范
  113. ## 支持的语言
  114. - 英语 (en):完整支持
  115. - 简体中文 (zh-Hans):完整支持
  116. - 孟加拉语 (bn):完整支持
  117. ## 技术要点
  118. - 导入 t 函数:import { t } from &#x27;@/locale&#x27;
  119. - 模板中使用:{{ t(&#x27;key&#x27;) }}
  120. - 页面标题:navigationBarTitleText: &#x27;%key%&#x27;
  121. - 占位符绑定::placeholder=&quot;t(&#x27;key&#x27;)&quot;
  122. </content>
  123. <tags>#其他</tags>
  124. </item>
  125. <item id="mem_1754534724459_2xmtx8ccx" time="2025/08/07 10:45">
  126. <content>
  127. Vue3 UniApp多语言转换补充完善工作:
  128. ## 发现并修复的遗漏页面
  129. 1. **forgotPassword.vue**:完成了所有验证错误提示、表单占位符、按钮文本的多语言转换
  130. 2. **vipMembership.vue**:转换了VIP等级表格标题、统计信息、邀请进度提示等
  131. 3. **referEarn.vue**:转换了邀请赚钱页面的所有硬编码文本,包括步骤说明、标题等
  132. 4. **checkOut.vue**:完成了结账页面的订单摘要、支付方式、对话框提示等多语言转换
  133. 5. **missionCenter.vue**:转换了签到和每日任务相关的文本
  134. 6. **notifications.vue**:转换了通知页面的标签页和通知内容
  135. ## 新增的多语言键值分类
  136. - **忘记密码相关**:auth.forgotPassword.error.*, auth.forgotPassword.success.*
  137. - **VIP会员相关**:vipMembership.*, vipMembership.table.*
  138. - **推荐赚钱相关**:referEarn.*
  139. - **结账相关**:checkout.*, checkout.dialog.*, checkout.toast.*
  140. - **任务中心相关**:missionCenter.*
  141. - **通知相关**:notifications.*
  142. ## 技术实现要点
  143. - 所有对话框提示都使用了多语言
  144. - 表单验证错误信息完全多语言化
  145. - 保持了原有的参数插值功能(如 {0}, {1})
  146. - 维持了原有的样式和交互逻辑
  147. ## 质量保证
  148. - 三种语言(英语、中文、孟加拉语)完整支持
  149. - 所有硬编码文本都已转换为多语言键值
  150. - 保持了代码的可维护性和一致性
  151. </content>
  152. <tags>#流程管理</tags>
  153. </item>
  154. <item id="mem_1754536671787_6lafi8vfn" time="2025/08/07 11:17">
  155. <content>
  156. Vue3 UniApp多语言转换最终补充工作:
  157. ## 最后发现并修复的遗漏页面
  158. 1. **bestSellers.vue**:转换了&quot;Best Sellers&quot;标题和&quot;Successfully grouped over&quot;提示文本
  159. 2. **productDetail.vue**:完成了产品详情页的全面多语言转换,包括价格、已售、选择规格、拼团规则、进行中的拼团、详情、首页、收藏、开团、参团、数量等所有硬编码文本
  160. 3. **topChampions.vue**:转换了冠军榜页面的标题、TOP标识、统计信息标签等
  161. 4. **recharge.vue**:转换了充值页面的优惠提示、获得、优惠、提交等文本
  162. 5. **register.vue**:修复了遗漏的错误提示信息
  163. 6. **webLink.vue**:转换了默认标题
  164. ## 新增的多语言键值分类
  165. - **热销榜相关**:bestSellers.*
  166. - **产品详情相关**:productDetail.*(包含价格、销量、规格、拼团等)
  167. - **冠军榜相关**:topChampions.*
  168. - **充值相关**:wallet.recharge.*
  169. - **注册错误**:auth.register.error.registrationFailed
  170. ## 完整性验证
  171. 经过系统性检查,现在所有pages目录下的页面(除了myOrders目录)都已经完成多语言转换:
  172. - ✅ 认证页面:login, register, forgotPassword
  173. - ✅ 首页相关:index, search, bestSellers, topChampions
  174. - ✅ 个人中心:mine目录下所有页面
  175. - ✅ 钱包相关:wallet目录下所有页面
  176. - ✅ 功能页面:missionCenter, referEarn, vipMembership, income
  177. - ✅ 产品相关:productDetail, checkOut
  178. - ✅ 通知页面:notifications
  179. - ✅ 其他页面:webLink
  180. ## 技术质量
  181. - 所有硬编码文本都已转换为t()函数调用
  182. - 保持了参数插值功能(如{0}, {1})
  183. - 三种语言完整支持(英语、中文、孟加拉语)
  184. - 保持了原有的样式和交互逻辑
  185. - 修复了重复键值的问题
  186. </content>
  187. <tags>#最佳实践</tags>
  188. </item>
  189. <item id="mem_1754537277255_zmv5ctt1l" time="2025/08/07 11:27">
  190. <content>
  191. Vue3 UniApp多语言显示问题修复:
  192. ## 问题描述
  193. 用户反馈mine.vue页面在切换到孟加拉语(bn)后没有文案显示
  194. ## 问题根因
  195. 孟加拉语文件(bn.json)中完全缺少了所有mine.*相关的多语言键值,导致页面切换到孟加拉语后显示空白
  196. ## 解决方案
  197. 在bn.json文件中补充了所有缺失的mine相关键值:
  198. ### 添加的键值分类
  199. 1. **认证相关**:mine.auth.register, mine.auth.login
  200. 2. **钱包相关**:mine.wallet.title, mine.wallet.balance, mine.wallet.recharge, mine.wallet.discount
  201. 3. **群组相关**:mine.group.title, mine.group.all, mine.group.toPay, mine.group.success, mine.group.failed, mine.group.reward
  202. 4. **菜单相关**:mine.menu.profile, mine.menu.address, mine.menu.share, mine.menu.favorite, mine.menu.chat, mine.menu.activity
  203. 5. **页面相关**:mine.pages.share.*, mine.pages.myFavorite.*
  204. ### 修复结果
  205. - 总计添加了26个mine相关的多语言键值
  206. - 现在三种语言的mine键值数量完全一致
  207. - 孟加拉语用户可以正常看到mine页面的所有文案
  208. ## 技术要点
  209. - 保持了键值的层级结构和命名规范
  210. - 提供了准确的孟加拉语翻译
  211. - 确保了多语言文件的一致性
  212. </content>
  213. <tags>#其他</tags>
  214. </item>
  215. <item id="mem_1754545699616_88hayfgu2" time="2025/08/07 13:48">
  216. <content>
  217. Vue3 UniApp模板多语言函数统一修改工作:
  218. ## 任务目标
  219. 将所有pages目录下页面模板中的 t() 函数调用改为 $t() 函数调用,保持script部分的 t() 不变
  220. ## 完成的页面修改
  221. ### 认证页面
  222. - login.vue:模板中的 {{ t() }} → {{ $t() }}
  223. - register.vue:模板中的 {{ t() }} → {{ $t() }}
  224. - forgotPassword.vue:模板中的 {{ t() }} → {{ $t() }}
  225. ### 首页相关页面
  226. - bestSellers.vue:模板中的 {{ t() }} → {{ $t() }},移除未使用的t导入
  227. - topChampions.vue:模板中的 {{ t() }} → {{ $t() }},移除未使用的t导入
  228. ### 个人中心页面
  229. - mine.vue:模板中的 {{ t() }} → {{ $t() }}
  230. - share.vue:模板中的 {{ t() }} → {{ $t() }}
  231. - myFavorite.vue:模板中的 {{ t() }} → {{ $t() }},移除未使用的t导入
  232. - addressBook.vue:模板中的 {{ t() }} → {{ $t() }}
  233. - setting.vue:模板中的 {{ t() }} → {{ $t() }}
  234. ### 钱包相关页面
  235. - withdraw.vue:模板中的 {{ t() }} → {{ $t() }}
  236. - recharge.vue:模板中的 {{ t() }} → {{ $t() }}
  237. - myWallet.vue:模板中的 {{ t() }} → {{ $t() }}
  238. ### 功能页面
  239. - income.vue:模板中的 {{ t() }} → {{ $t() }},移除未使用的t导入
  240. - missionCenter.vue:模板中的 {{ t() }} → {{ $t() }},移除未使用的t导入
  241. - referEarn.vue:模板中的 {{ t() }} → {{ $t() }},移除未使用的t导入
  242. - vipMembership.vue:模板中的 {{ t() }} → {{ $t() }}
  243. ### 产品和通知页面
  244. - productDetail.vue:模板中的 {{ t() }} → {{ $t() }}
  245. - checkOut.vue:模板中的 {{ t() }} → {{ $t() }}
  246. - notifications.vue:模板中的 {{ t() }} → {{ $t() }},移除未使用的t导入
  247. ## 技术要点
  248. - Vue模板中应使用 $t() 而不是 t()
  249. - script部分继续使用 import { t } from &#x27;@/locale&#x27;
  250. - 移除了未使用的t导入以避免ESLint警告
  251. - 保持了所有参数插值功能(如 $t(&#x27;key&#x27;, [param]))
  252. - 保持了原有的样式和交互逻辑
  253. ## 修改统计
  254. - 总计修改了约20个页面文件
  255. - 转换了100+个模板中的t()调用为$t()
  256. - 移除了10+个未使用的t导入
  257. - 保持了script部分的t()函数不变
  258. ## 质量保证
  259. - 所有模板中的多语言调用都已统一为$t()
  260. - 保持了Vue3的最佳实践
  261. - 避免了ESLint未使用导入的警告
  262. </content>
  263. <tags>#最佳实践</tags>
  264. </item>
  265. <item id="mem_1755138119118_ybef2xgr6" time="2025/08/14 10:21">
  266. <content>
  267. 项目开发规范补充:
  268. 1. 电商功能架构:基于拼团模式,无购物车功能,产品详情页直接开团/参团,然后进入结账页面
  269. 2. 开发要求:不需要创建测试用例和单元测试
  270. 3. TypeScript规范:简化写法,直接使用any类型,不需要严格的类型定义
  271. </content>
  272. <tags>#其他</tags>
  273. </item>
  274. </memory>