介绍

App Mine显示与App相关的关于我的信息页面。比如,电商App,就可以通过App Mine页面显示我的订单、我的优惠券、我的收藏等等功能,非常适合开发一些Mobile场景的App

对于一个App而言,App Mine是可选的布局组件。如果没有提供App Mine,则显示Default App的布局组件

设置

App Mine有三种设置选择:

  1. 不设置:意味着当前App不提供App Mine。比如系统App,因为当我们打开系统App时,目的就是为了展示系统菜单

  2. true:意味着使用默认风格来显示App Mine。 系统会自动从后端获取App的Mine菜单资源并渲染成默认的风格。比如:宴会Appmine.layout设置为true

  3. layoutKey:意味着完全定制App Mine页面的显示内容或者显示风格

设置:true

那么,如何定制可以在App Mine中使用的菜单资源呢?以模块test-party为例:

src/suite/test-party/modules/test-party/backend/src/config/static/resources.js

  1. 1 {
  2. 2 atomName: 'Kitchen-sink',
  3. 3 atomStaticKey: 'mineKitchenSink',
  4. 4 atomRevision: 1,
  5. 5 atomCategoryId: 'a-base:mine.Tools',
  6. 6 resourceType: 'a-base:mine',
  7. 7 resourceConfig: JSON.stringify({
  8. 8 actionModule: moduleInfo.relativeName,
  9. 9 actionPath: 'kitchen-sink/index',
  10. 10 }),
  11. 11 resourceIcon: ':business:kitchen-set',
  12. 12 appKey: 'test-party:appParty',
  13. 13 resourceRoles: 'root,RoleScopeCliDevelopment',
  14. 14 resourceSorting: 1,
  15. 15 },
  • resourceType:可以看出,App Mine中使用的菜单资源与App Menu中使用的菜单资源,其区别就是:
App组件 resourceType
App Mine a-base:mine
App Home a-base:menu
  • resourceIcon:菜单资源的图标

  • appKey:菜单资源归属的App应用

其他字段的说明信息,参见:静态资源

设置:layoutKey

我们可以新建一个LayoutLayout本质就是通过定义多个block(区块)来组合成一个页面。为了更灵活的二次开发,App Mine页面由以下区块组成:

  • title:默认显示一组内置的按钮

  • mineHeader:默认显示用户的基本信息,如:头像、用户名、登录状态等

  • mineSubHeader:默认为空

  • mineBody:默认显示Mine菜单资源清单

  • mineFooter:默认显示CabloyJS的版权信息

我们可以按需定制任何一个区块的渲染内容和渲染风格。参见模块a-user提供的Layout基类:layoutAppMineBase

src/module-system/a-user/backend/src/config/static/layout/layoutAppMineBase.js