| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 12-May-2024 | - | 37 | 34 | ||
| entry/ | 12-May-2024 | - | 2,320 | 2,105 | ||
| feature/emitter/ | 12-May-2024 | - | 233 | 194 | ||
| hvigor/ | 12-May-2024 | - | 8 | 8 | ||
| screenshots/device/ | 12-May-2024 | - | ||||
| .gitignore | D | 12-May-2024 | 79 | 6 | 6 | |
| README_zh.md | D | 12-May-2024 | 3.4 KiB | 78 | 63 | |
| build-profile.json5 | D | 12-May-2024 | 1.1 KiB | 47 | 46 | |
| hvigorfile.js | D | 12-May-2024 | 168 | 2 | 1 | |
| hvigorw | D | 12-May-2024 | 2.1 KiB | 62 | 28 | |
| hvigorw.bat | D | 12-May-2024 | 2 KiB | 72 | 56 | |
| oh-package.json5 | D | 12-May-2024 | 817 | 26 | 25 | |
| ohosTest.md | D | 12-May-2024 | 562 | 10 | 8 |
README_zh.md
1# 自定义Emitter 2 3### 介绍 4 5本示例使用[@ohos.events.emitter (Emitter)](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-emitter.md)实现事件的订阅和发布,使用[自定义弹窗](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-methods-custom-dialog-box.md)设置广告信息。 6 7### 效果预览 8 9|首页|列表页|详情|购物车| 10|-------|-------|-------|-------| 11||||| 12 13使用说明 141. 进入首页后弹出广告弹窗,点击即可关闭。 152. 点击商品列表中的一个商品可以跳转到商品详情页。 163. 在商品详情页点击首页可以返回到商品列表页,点击购物车可以跳转到购物车页面,点击加入购物车可以在购物车页面添加一条商品信息。 17 18### 工程目录 19``` 20entry/src/main/ets/ 21|---components 22| |---BottomNavigation.ets // 底部按钮导航栏 23| |---Choice.ets // 商品规格选择 24| |---EventsDialog.ets // 广告弹窗 25| |---Information.ets // 详细信息页面 26| |---Valueation.ets // 价格页面 27|---mock 28| |---DetailData.ets // 商品详情数据 29| |---ProductsData.ets // 产品列表数据 30|---model 31| |---DetailMode.ets // 商品详情数据结构 32| |---GoodsModel.ets // 商品数据结构 33|---pages 34| |---Detail.ets // 商品详情 35| |---Index.ets // 首页 36| |---ShopCart.ets // 购物车 37|---shoppingCart 38| |---Cart.ets // 购物车 39| |---FavorGoodlist.ets // 推荐列表 40|---util 41| |---Logger.ets // 日志工具 42feature/emitter/src/main/ets/ 43|---common 44| |---EmitterConst.ts // 事件通知常量 45|---components 46| |---feature 47| | |---CustomEmitter.ets // 封装事件通知类 48``` 49 50### 具体实现 51+ 订阅事件通知在CustomEmitter中实现,源码参考[CustomEmitter.ets](feature/emitter/src/main/ets/components/feature/CustomEmitter.ets) 52 + 广告弹窗:使用Emitter的事件单次订阅emitter.once(eventId,call),单次订阅CustomDialogController弹窗事件,弹窗触发后自动取消订阅。 53 + 购物车添加商品:使用Emitter.on持续订阅商品添加事件,添加商品时更新购物车商品列表。 54 55### 相关权限 56 57不涉及。 58 59### 依赖 60 61不涉及。 62 63### 约束与限制 64 651. 本示例仅支持标准系统上运行,支持设备:RK3568。 662. 本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release) 673. 本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 68 69### 下载 70如需单独下载本工程,执行如下命令: 71 72``` 73git init 74git config core.sparsecheckout true 75echo code/BasicFeature/Notification/CustomEmitter/ > .git/info/sparse-checkout 76git remote add origin https://gitee.com/openharmony/applications_app_samples.git 77git pull origin master 78```