最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

《仿盒馬》app開(kāi)發(fā)技術(shù)分享-- 邏輯優(yōu)化第二彈(82)

標(biāo)簽:
鴻蒙 HarmonyOS

技术栈

Appgallery connect

开发准备

这一节我们继续对我们已有的业务逻辑进行优化,在积分兑换完商品后我们回到积分展示页面发现积分的数量并没有减少,而是重新进入才会发生变化,上一节我们实现商城订单的确认揽收之后继续在待收货页面实现确认揽收按钮的业务逻辑。

功能分析

要实现积分的实时变化,我们需要在page页面的生命周期onpageshow中实现积分信息的获取,待收货页面我们要新增一个确认收货按钮并实现数据库逻辑的修改,数据修改完成后我们对数据列表进行刷新,记得修改orderstatus的状态,这会影响到我们对数据的筛选

代码实现

首先我们在积分页面实现每次页面展示都请求数据,我们在生命周期方法中onpageshow中查询当前用户的信息,然后根据用户的id去查询数据。我们创建变量来接收数据,在数据查询回调中赋值给定义的变量

 @State user: User|null=null;
  @State userInfo:UserInfo|null=null;

 async onPageShow(): Promise<void> {
    const value = await StorageUtils.getAll('user');
    if (value != "") {
      this.user = JSON.parse(value)
      if (this.user != null) {
        let databaseZone = cloudDatabase.zone('default');
        let condition = new cloudDatabase.DatabaseQuery(user_info);
        condition.equalTo("user_id", this.user?.user_id)
        let listData = await databaseZone.query(condition);
        let json = JSON.stringify(listData)
        let data: UserInfo[] = JSON.parse(json)
        this.userInfo = data[0]
        this.points = data[0].points
        hilog.error(0x0000, 'testTag', `Failed to query data, code: ${data}`);
      }
    }
  }

然后我们在商品订单待收货列表新增确认收货按钮,在确认收货时我们因为是修改已有订单的参数,所以这里的id我们用查询到订单的id,不要用新建的id,其他的参数我们都要用已经查询的数据,赋值给对应的参数,在数据修改完成之后,我们拿到返回的修改条目数据,根据对条目的回调数据的判断是否大于1,来实现后续的业务逻辑

 Text("确认收货")
                    .fontColor(Color.Black)
                    .fontSize(12)
                    .padding(5)
                    .borderRadius(10)
                    .backgroundColor(Color.Pink)
                    .onClick(async ()=>{
                      let orderPush=new order_list()
                      orderPush.id=item.id
                      orderPush.user_id=this.user!.user_id
                      orderPush.order_product_id=item.order_product_id
                      orderPush.order_code=item.order_code
                      orderPush.order_status=2
                      orderPush.order_remark=item.order_remark
                      orderPush.address=item.address
                      orderPush.nickname=item.nickname
                      orderPush.phone=item.phone
                      orderPush.order_create_time=item.order_create_time
                      orderPush.order_pay_time=item.order_pay_time
                      orderPush.order_delivery_time=item.order_delivery_time
                      let num = await databaseZone.upsert(orderPush);
                      if (num>0) {
                        this.onRefresh()
                        showToast("收货成功")
                      }
                    })

到这里我们就实现了对应的业务逻辑优化了

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消