Skip to content
Snippets Groups Projects
Commit 79ec9a8f authored by yz's avatar yz
Browse files

feat: delete data model(wait to use data API)

parent 9d77d206
No related branches found
No related tags found
No related merge requests found
// 首页:导航栏+子页面 // 首页:导航栏+子页面
import {LocalPage} from '../pages/LocalPage' import {LocalPage} from '../pages/LocalPage'
import {WebPage} from '../pages/WebPage' import {Login} from '../pages/LoginPage'
import DataModel from '../viewmodel/DataModel'
import TodoItemModel from '../viewmodel/TodoItemModel';
@Entry @Entry
@Component @Component
...@@ -10,14 +8,6 @@ struct Index { ...@@ -10,14 +8,6 @@ struct Index {
@State currentIndex: number = 0; //导航栏下标 @State currentIndex: number = 0; //导航栏下标
private tabsController: TabsController = new TabsController(); private tabsController: TabsController = new TabsController();
@State totalTasks: Array<TodoItemModel> = [] //todoList - root
async aboutToAppear(): Promise<void> { //数据库
await DataModel.getPreferences()
await DataModel.getPreferenceData()
this.totalTasks = DataModel.getData()
}
@Builder //导航栏 @Builder //导航栏
tabBarBuilder(title: string, targetIndex: number, selectedIcon: Resource, unselectIcon: Resource) { tabBarBuilder(title: string, targetIndex: number, selectedIcon: Resource, unselectIcon: Resource) {
Column() { Column() {
...@@ -46,14 +36,14 @@ struct Index { ...@@ -46,14 +36,14 @@ struct Index {
Column() { Column() {
Tabs({ barPosition: BarPosition.End, controller: this.tabsController }) { Tabs({ barPosition: BarPosition.End, controller: this.tabsController }) {
TabContent() { TabContent() {
LocalPage({totalTasks: $totalTasks}) LocalPage()
} }
.tabBar(this.tabBarBuilder('本地版', 0, $r('app.media.ic_01_on'), $r('app.media.ic_01_off'))) .tabBar(this.tabBarBuilder('TodoList', 0, $r('app.media.ic_01_on'), $r('app.media.ic_01_off')))
TabContent() { TabContent() {
WebPage({totalTasks: $totalTasks}) Login()
} }
.tabBar(this.tabBarBuilder('网页版', 1, $r('app.media.ic_03_on'), $r('app.media.ic_03_off'))) .tabBar(this.tabBarBuilder('我的', 1, $r('app.media.ic_03_on'), $r('app.media.ic_03_off')))
} }
.vertical(false) .vertical(false)
.divider({ .divider({
......
...@@ -8,14 +8,14 @@ import ItemDetail from '../view/ItemDetail'; ...@@ -8,14 +8,14 @@ import ItemDetail from '../view/ItemDetail';
@Component @Component
export struct LocalPage { export struct LocalPage {
@Link totalTasks: Array<TodoItemModel> //TodoList - link
@Provide('localPageStack') LocalPageStack: NavPathStack = new NavPathStack(); //router @Provide('localPageStack') LocalPageStack: NavPathStack = new NavPathStack(); //router
@State totalTasks: Array<ToDoItem> = []
@Builder @Builder
PageMap(name: string) { PageMap(name: string) {
if(name.substring(0, 10) == 'ItemDetail') { if(name.substring(0, 10) == 'ItemDetail') {
ItemDetail({content: this.totalTasks[parseInt(name.substring(10))]}) // ItemDetail({content: this.totalTasks[parseInt(name.substring(10))]})
} }
else if(name == 'AddItem') { else if(name == 'AddItem') {
AddItem() AddItem()
...@@ -25,7 +25,8 @@ export struct LocalPage { ...@@ -25,7 +25,8 @@ export struct LocalPage {
build() { build() {
Navigation(this.LocalPageStack) { Navigation(this.LocalPageStack) {
Row() { //顶栏 Row() { //顶栏
Text('待办事项') // 文字标题
Text('Todolist')
.fontWeight(FontWeight.Bold) .fontWeight(FontWeight.Bold)
.fontSize(CommonConstants.title1_font_size) .fontSize(CommonConstants.title1_font_size)
.lineHeight(CommonConstants.title1_font_height) .lineHeight(CommonConstants.title1_font_height)
...@@ -35,7 +36,7 @@ export struct LocalPage { ...@@ -35,7 +36,7 @@ export struct LocalPage {
bottom: CommonConstants.title1_margin_bottom, bottom: CommonConstants.title1_margin_bottom,
}) })
.textAlign(TextAlign.Start) .textAlign(TextAlign.Start)
// 添加按钮
Button('+') Button('+')
.fontSize(CommonConstants.button_font_size) .fontSize(CommonConstants.button_font_size)
.width(CommonConstants.button_size) .width(CommonConstants.button_size)
...@@ -47,7 +48,7 @@ export struct LocalPage { ...@@ -47,7 +48,7 @@ export struct LocalPage {
}) })
.onClick(() => { .onClick(() => {
this.LocalPageStack.pushDestination({name:"AddItem", onPop: ()=> { this.LocalPageStack.pushDestination({name:"AddItem", onPop: ()=> {
this.totalTasks = DataModel.getData() //返回时更新数据(应对添加数据的情况) // this.totalTasks = DataModel.getData() //返回时更新数据(应对添加数据的情况)
}}) }})
}) })
} }
...@@ -58,7 +59,7 @@ export struct LocalPage { ...@@ -58,7 +59,7 @@ export struct LocalPage {
ToDoItem({totalTasks: $totalTasks, myIndex: index, myTask: item}) ToDoItem({totalTasks: $totalTasks, myIndex: index, myTask: item})
.onClick(() => { //点击进入详情页 .onClick(() => { //点击进入详情页
this.LocalPageStack.pushDestination({name: 'ItemDetail' + index, onPop: ()=> { this.LocalPageStack.pushDestination({name: 'ItemDetail' + index, onPop: ()=> {
this.totalTasks = DataModel.getData() //返回时更新数据(应对删除数据的情况) // this.totalTasks = DataModel.getData() //返回时更新数据(应对删除数据的情况)
}}) }})
// item.itemName = '1' //在这里的改变无法被子组件察觉,而且不会存储 // item.itemName = '1' //在这里的改变无法被子组件察觉,而且不会存储
}) })
......
// 登陆页面
import { router, promptAction } from '@kit.ArkUI'
@Component
export struct Login {
@State name: string = ''
@State pwd: string = ''
// 提交
handleSubmit() {
if(this.name === '' || this.pwd === '') {
promptAction.showToast({ message: '账号或密码不能为空' })
}else {
// 登录接口逻辑...
promptAction.showToast({ message: '登录成功' })
setTimeout(() => {
router.replaceUrl({ url: 'pages/Index' })
}, 2000)
}
}
build() {
Column() {
Column({space: 10}) {
Image('../../resources/base/media/startIcon.png').height(50).width(50)
Text('HarmonyOS-Chat').fontSize(18).fontColor('#0a59f7')
}
.margin({top: 50})
Column({space: 15}) {
TextInput({placeholder: '请输入账号'})
.onChange((value) => {
this.name = value
})
TextInput({placeholder: '请输入密码'}).type(InputType.Password)
.onChange((value) => {
this.pwd = value
})
Button('登录').height(45).width('100%')
.linearGradient({ angle: 135, colors: [['#0a59f7', 0.1], ['#07c160', 1]] })
.onClick(() => {
this.handleSubmit()
})
}
.margin({top: 30})
.width('80%')
Row({space: 15}) {
Text('忘记密码').fontSize(14).opacity(0.5)
Text('注册账号').fontSize(14).opacity(0.5)
.onClick(() => {
// router.pushUrl({url: 'pages/views/auth/Register'})
})
}
.margin({top: 20})
}
.height('100%')
.width('100%')
.expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment