本文介紹了在 iOS 客戶端調用卡片方法的實現路徑。
操作步驟
在卡片側實現調用的 JS 方法。
<script> const navigator = requireModule("crystalnavigator"); export default { data: { message: 'Hello Cube', text:"Cube引擎是一套簡單易用的跨平臺開發方案,能以Web的開發體驗構建高性能", string: "defaultString", temp:"https://gw.alicdn.com/tfs/TB1dZ4WowoQMeJjy0FnXXb8gFXa-950-1267.jpg" }, methods: { //客戶端調用的JS方法 jsTestMethod(string) { //更新頁面參數 this.string = string; } } } </script>
將卡片打包,發布到卡片后臺。
客戶端調用。
在卡片加載的代理方法中獲取卡片實例,調用對應的 JS 方法,并發送數據。
#pragma mark---CrystalCardCallback - (void)onLoaded:(CubeCard *)card cardType:(CCardType)cardType config:(CubeCardConfig *)config erroCode:(CubeCardResultCode)erroCode { if (!card) { NSString *errMsg = [NSString stringWithFormat:@"創建失?。簍emplteId=%@,style=%d, error=%d", [config templteId], cardType, erroCode]; NSLog(@"錯誤信息:%@", errMsg); return; } NSLog(@"創建成功 succ %@ style %d error %d", [config templteId], cardType, erroCode); dispatch_async(dispatch_get_main_queue(), ^{ NSString *text = @"客戶端調用卡片JS方法傳參:Hello World"; if (![text isEqualToString:@""]) { NSArray *valueArray = @[text]; //調用與卡片約定的JS方法,傳入參數 [card callJsFunction:@"jsTestMethod" arguments:valueArray]; } }); }
?
文檔內容是否對您有幫助?