20251015-wxwork-project.md 6.4 KB

任务:企业微信嵌入显示管理模块开发

请您参考./rules/所有及子级.md的开发规范和范式要求。 分析目前实现的静态页面./src/app/pages/designer/project-detail/ 所有内容。 构思设计企业微信端项目管理所需的功能

企微端项目管理页面

  • 项目预加载页面:会话数据及员工数据
    • 根据wxwork相关组件及示例,在当前页面加载会话窗口上下文、当前企业员工数据
    • 窗口上下文决定入口,还有对应的ContactInfo.id和GroupChat.id
    • 企业员工数据,认定了当前用户的身份,对应不同功能和提示
    • 预加载的信息中,如果查询不到当前项目,可以展示群聊相关的其他项目(能可能为空)
      • 可以用骨架屏,引导用户对当前群组创建项目
      • 默认项目名称是群聊名字,并提供修改
      • 创建项目后,加载组件:项目详情(组件@input传入群组GroupChat、项目Project、员工Profile)
  • 两个入口:群聊进管项目,客户进查画像
    • 企业微信中客户联系工具条,可以从群聊和客户两处打开
      • 群聊打开,获取的是GroupChat
        • 根据参数,加载群聊当前项目,展示组件:项目详情
      • 联系人打开,获取的是ContactInfo
        • 根据参数,展示组件:客户画像
          • 显示该客户基础信息、所在群聊及项目、跟进记录
            • 点击群聊,通过WxworkSDK 跳转进入群聊

架构设计和规则

  • 通过预加载页面获取群组GroupChat、项目Project、员工Profile数据后,再通过组件加载对应功能页面
    • 主要为了方便调试,调试时候,可以通过路由携带:groupid :projectid :profileid
    • 让对应功能组件从route参数加载对应的数据,而不需要只依赖于@Input传入
      • 此处需要判断若@Input上面的对应FmodeObject空,则根据路由传入参数加载
  • 企微会话进入的页面,都是手机竖屏的布局,要考虑到内容设计主次分明,且项目各阶段方便切换
  • 企业微信开发相关部分,请您充分参考:./rules/wxwork/*.md
    • 合理设计企微上下文及当前用户获取参数,尽量优化加载速度的同时,确保新员工新会话都能正常同步创建对应的Profile ContactInfo GroupChat数据到数据库,方便项目管理功能调用。
  • 数据请参考./rules/schemas.md,使用FmodeParse FmodeObject FmodeQuery实现増删查改
  • 项目详情页,还有四大阶段和状态的区分,因此需要合理使用二级路由,和二级子组件来合理规划拆分项目结构,方便维护

功能模块目录

./src/modules/project 项目管理模块下

- 项目预加载页面
- 客户画像组件
- 项目详情组件
    - 需要充分展示出项目各个阶段的核心功能
        - 客户信息:
            - 只有客服能看手机、微信、邮箱
            - 客户标签和项目相关的偏好画像、需求、方案是全员能看
        - 订单分配:主要由客服操作
            - 填写项目必备信息,创建对应的报价细项
        - 确认需求:全员操作,主要由组长组员完成
            - 重点功能是上传参考图、CAD图,并说明图的具体内容
                - 其中参考图,提供色彩分析弹出组件
                - CAD图,只有人工填写描述,方便全员查看
                - 其他需求创建和碳写(根据聊天问答获取的其他需求卡片)
            - AI生成方案页
                - AI分析的完整方案分析(可参考大模型调用示例项目 /home/ryan/workspace/nova/nova-admin/projects/ai-k12-daofa/src/modules/daofa/search/search.component.ts)
                    - 根据参考图、参考图获取的色彩分析报告,在根据方案所需各个维度的参数
                    - 进行调用大模型,输出方案分析文档,辅助设计师理解
                    - 第一次需要生成,方案生成后要保存到需求分析中,方便其他人加载查看
                        - 也可以在参考图更多,填写了更多需求,可以重新分析
        - 交付执行:主要是组员操作
            - 完成各个场景对应交付物上传(根据报价项目清单中,不同的场景),每个场景都需要
                - 白模:上传白模图片
                - 软装:上传软装小图
                - 渲染:展示渲染进度信息
                - 后期:上传后期处理后图片
            - 每个交付物都有一个自查项,打勾的交互,方便组员自查
            - 组长可以在交付执行页面,给组员对应的交付,提出ProjectIssue,来自组长的Issue
                - 组员需要更明显得看到,以便于根据要求修改调整
            - 发起交付
                - 组员上传完所有交付物,可以发起交付
                - 通知项目群聊的客户,已完成,并且发起收款请求
        - 售后归档:主要是客服操作
            - 处理尾款、客户评价、项目复盘等工作
            - 完成后,可以点击归档,该群聊当前项目将设为空,该项目为已归档历史项目,显示在列表里

任务计划

请您完成上面所有核心功能模块的设计和产品结构分析,写在./docs/prd/<端>-<功能>-<页面>。

请您逐个完成上述所有功能,包括页面、数据对接、大模型调用,并确保正常运行。

FAQ:服务功能对接

请参考/home/ryan/workspace/nova/nova-admin/projects/ai-k12-daofa/src/modules/daofa/search/search.component.ts,文件服务使用NovaUploadService.参考[Pasted text #1 +481 lines]大模型LLM用法,还有通过completionJSON携带images实现的图片解析(彻底替代OCR),以及[Pasted text #2 +862 lines]中客户端JS SDK点击按钮后触发的群聊跳转还有消息发送,而不通过API

/cost ⎿ Total cost: $11.84

 Total duration (API):  1h 1m 6s
 Total duration (wall): 7h 25m 49s
 Total code changes:    11993 lines added, 157 lines removed
 Usage by model:
     claude-3-5-haiku:  53.4k input, 2.5k output, 0 cache read, 0 cache write ($0.0528)
        claude-sonnet:  9.7k input, 146.9k output, 6.3m cache read, 2.0m cache write ($11.79)