HarmonyOS 鸿蒙Next服务卡片无法刷新数据

发布于 1周前 作者 h691938207 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next服务卡片无法刷新数据
服务卡片配置每隔半小时刷新,但是没有刷新方法并没有调到,也没有日志,没有执行刷新逻辑  注册卡片代码:

 {
      "forms": [
      {
        "name":
        "ICDeparture", "displayName":
        "$string:ICDeparture_display_name", "description":
        "$string:ICDeparture_desc", "src":
        "./ets/widget/icdeparture/pages/ICDepartureCard.ets", "uiSyntax":
        "arkts", "window":
        {
          "designWidth":
          720, "autoDesignWidth":
          true
        }
        ,
        "colorMode":
        "auto", "isDynamic":
        true, "isDefault":
        true, "updateEnabled":
        true, "scheduledUpdateTime":
        "10:30", "updateDuration":
        1, "defaultDimension":
        "2*2", "supportDimensions": [
        "2*2" ]
      }
      ]
    }
    onUpdateForm(formId:
    string, wantParams ? : Record<
    string, Object >
    )
    {
      console.error("onUpdateForm " + formId)
      let paramsGet = new Map<string, string>()
      let data: Array<CardListItemData> | undefined = undefined
      httpRequestGet<Array<CardListItemData>>('/intelli/device/ic/list', paramsGet).then((res) => {
        if (res.data !== null || res.data !== undefined) {
          data = res.data
          if (data && data.length > 0) {
          } else {
            data = [{
              strategy_name: "刷新的数据 指数派滚雪球",
              departure_time_desc: "刷新的数据 指数派滚雪球",
              departure_no: "2-241235234",
              departure_invest_advice: { code: 0, desc: "增加投入" },
              special_metric: { value: "5.8星" },
              market_sentiment: { sentiment_special_type: "3", sentiment_value: 3 }
            }];
          }
          let obj2: formBindingData.FormBindingData = formBindingData.createFormBindingData(data);
          formProvider.updateForm(formId, obj2).then(() => {
            console.error(`FormExtensionAbility context updateForm`);
          }).catch((error: BusinessError) => {
            console.error(`FormExtensionAbility context updateForm failed, data: ${error}`);
          });
        }
      })
    }

更多关于HarmonyOS 鸿蒙Next服务卡片无法刷新数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

关于卡片定时刷新和定点刷新

参考链接: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-ui-widget-update-by-time-V5

参考如下demo:

// xxx.ets

import { formBindingData } from '@kit.FormKit'

import { BusinessError } from '@kit.BasicServicesKit'

import formProvider from '@ohos.application.formProvider';

class cardListParameter {

  itemCount: number = 0

  cardListData?: cardListData[]

}

class codeDesc {

  code: number = 0

  desc: string = ''

}

class value {

  value: string = ''

}

class sentiment_value {

  sentiment_value: number = 0

  sentiment_special_type: null = null

}

class cardListData {

  strategy_name?: string

  departure_time_desc: string = ''

  departure_no: string = ''

  departure_invest_advice?: codeDesc[]

  special_metric?: value[]

  market_sentiment?: sentiment_value[]

}

@Entry

@Component

struct AttrAnimationExample {

  @State widthSize: number = 250

  @State heightSize: number = 100

  @State rotateAngle: number = 0

  @State flag: boolean = true

  @State formData: cardListParameter = {

    itemCount: 1,

    cardListData: [{

      strategy_name: "这是拉取的数据",

      departure_time_desc: "刚刚发车",

      departure_no: "240923550888880000000005",

      departure_invest_advice: [{ code: 2, desc: "增加投入" }],

      special_metric: [{ value: "5.8星" }],

      market_sentiment: [{ sentiment_value: 5, sentiment_special_type: null }]

    }]

  }

  aboutToAppear(): void {

    let formId: string = '12400633174999288';

    let obj2: formBindingData.FormBindingData = formBindingData.createFormBindingData(this.formData);

    formProvider.updateForm(formId, obj2)

      .then(() => {

        console.log('刷新卡片数据');

      })

      .catch((error: BusinessError) => {

        console.error(`FormExtensionAbility context updateForm failed, data: ${error}`);

      });

  }

  build() {

    Column() {

      Image($r("app.media.bs_ai_right_switch"))

        .width(130)

        .height(240)

        .onClick(() => {

          this.rotateAngle = 30

        })

    }.width('100%').margin({ top: 20 })

  }

}

更多关于HarmonyOS 鸿蒙Next服务卡片无法刷新数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next服务卡片无法刷新数据的问题,通常与卡片的数据源或服务后台有关。以下是几个可能的原因及排查方法:

  1. 网络问题:检查设备是否连接到网络,且网络状态稳定。网络不稳定可能导致数据无法及时更新。

  2. 服务后台异常:服务卡片的数据通常来源于某个应用或服务,如果该服务后台出现异常或维护状态,可能导致卡片数据无法刷新。

  3. 卡片配置问题:检查卡片的配置设置,确保已正确设置数据刷新频率和更新策略。

  4. 系统缓存:尝试清除系统缓存或重启设备,看是否能解决问题。有时系统缓存可能导致数据更新延迟。

  5. 卡片版本:检查是否有可用的卡片更新,有时更新卡片可以解决数据刷新问题。

  6. 权限问题:确保应用已授予必要的权限,包括网络访问权限和数据访问权限,以便卡片能够正常获取数据。

如果以上方法均未能解决问题,可能是系统或应用层面的更深层次问题。此时,建议直接联系官方客服进行进一步排查和解决。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部