Skip to content

Commit

Permalink
add doc and demo to support awtkweb
Browse files Browse the repository at this point in the history
  • Loading branch information
xianjimli committed Jun 20, 2024
1 parent e3f3dfd commit 211fca2
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 0 deletions.
24 changes: 24 additions & 0 deletions build.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "temperature1",
"version": "1.0",
"assets": "res/assets",
"includes": [
".",
"src"
],
"sources": [
"src/mvvm/base/*.c",
"src/mvvm/awtk/*.c",
"src/mvvm/view_models/*.c",
"src/mvvm/*.c",
"demos/demo1/*.c"
],
"web": {
"app_type": "c",
"assets": "design",
"config": {
"fontScale": "0.8",
"defaultFont": "sans"
}
}
}
10 changes: 10 additions & 0 deletions demos/demo1/application.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,24 @@
#include "mvvm/mvvm.h"
#include "temperature_view_model.h"

static ret_t mvvm_app_init(void);
static ret_t mvvm_app_deinit(void);

ret_t application_init(void) {
#ifdef AWTK_WEB
mvvm_app_init();
#endif/*AWTK_WEB*/

view_model_factory_register("temperature", temperature_view_model_create);

return navigator_to("temperature1");
}

ret_t application_exit(void) {
log_debug("application_exit\n");
#ifdef AWTK_WEB
mvvm_app_deinit();
#endif/*AWTK_WEB*/

return RET_OK;
}
Expand Down
3 changes: 3 additions & 0 deletions docs/changes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# 最新动态

* 2024/06/20
* 增加支持 awtk-web 的文档和示例。

* 2024/05/09
* 修正README.md。

Expand Down
35 changes: 35 additions & 0 deletions docs/mvvm_for_web.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# 在 AWTK-WEB 中使用 MVVM

AWTK-WEB APP 的初始化流程和普通 AWTK APP 不同,对于基于 MVVM 的 APP,如果要在 WEB 上运行,需要自己初始化 MVVM 模块。

## 声明 MVVM 初始化和反初始化函数

```
static ret_t mvvm_app_init(void);
static ret_t mvvm_app_deinit(void);
```

## 调用 MVVM 初始化和反初始化函数

```c
ret_t application_init(void) {
#ifdef AWTK_WEB
mvvm_app_init();
#endif/*AWTK_WEB*/

view_model_factory_register("temperature", temperature_view_model_create);

return navigator_to("temperature1");
}

ret_t application_exit(void) {
log_debug("application_exit\n");
#ifdef AWTK_WEB
mvvm_app_deinit();
#endif/*AWTK_WEB*/

return RET_OK;
}
```
完整示例请参考:demos/demo1/application.c

0 comments on commit 211fca2

Please sign in to comment.