All Products
Search
Document Center

SuperApp:Lakukan operasi pada program mini

Last Updated:Jun 28, 2025

Setelah mengintegrasikan kontainer program mini WindVane atau uni-app ke dalam aplikasi asli, Anda dapat mencari program mini, mendapatkan daftar program mini, atau memulai program mini.

Mendapatkan daftar program mini

SDK kontainer program mini menyediakan antarmuka untuk mendapatkan daftar program mini. Jika hanya ingin mendapatkan daftar program mini, Anda dapat langsung menggunakan antarmuka ini.

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];

if (miniAppService) {
   // Nilai default dari parameter anchor adalah 0.
  [miniAppService getMiniAppList:anchor completionBlock:^(int resultCode, NSArray * _Nonnull miniApps, NSString *anchor) {
  	 // Jika nilai resultCode adalah 200, semua program mini diperoleh.
     // Mengembalikan daftar program mini. Secara default, maksimal 10 program mini dapat diperoleh. Parameter anchor digunakan untuk mendapatkan lebih banyak program mini.
  }];
}

Cari program mini

SDK kontainer program mini menyediakan antarmuka untuk mencari program mini. Jika hanya ingin mencari program mini, Anda dapat langsung menggunakan antarmuka ini.

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];

if (miniAppService) {
   // Parameter keyword menentukan kata kunci pencarian. Nilai default dari parameter anchor adalah 0.
  [miniAppService queryMiniApps:keyword anchor:anchor completionBlock:^(int resultCode, NSArray * _Nonnull miniApps, NSString *anchor) {
 		// Jika nilai resultCode adalah 200, pencarian berhasil.	
    // Mengembalikan hasil pencarian. Secara default, maksimal 10 program mini dapat diperoleh. Parameter anchor digunakan untuk mendapatkan lebih banyak program mini.
  }];
}

Memulai program mini

Anda dapat memulai program mini menggunakan ID-nya. Program mini WindVane dan uni-app dapat dimulai dengan cara yang sama. Memuat program mini memerlukan waktu tertentu. Kami sarankan menambahkan kode ke metode callback terkait untuk menginisialisasi atau memperbarui elemen UI.

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];

if (miniAppService) {
   [miniAppService openMiniApp:appId openConfiguration:nil completionBlock:^(int resultCode, NSDictionary * _Nonnull resultDict) {
            
    }];
}

Buka halaman tertentu dalam program mini

Saat memulai program mini, Anda dapat mengonfigurasi parameter path untuk membuka halaman tertentu dalam program mini dan menggunakan extraData untuk meneruskan argumen ke halaman tersebut.

Catatan
  • Untuk program mini uni-app, parameter path menentukan URL absolut halaman program mini, dan extraData adalah objek JSON yang digunakan untuk meneruskan argumen startup ke program mini. Setelah program mini dimulai, Anda dapat mengambil nilai dari extraData menggunakan metode plus.runtime.arguments.

  • Untuk membuka halaman dalam program mini WindVane, Anda dapat mengakses URL dalam format berikut: https://{appId}.app.mini.windvane.suite.emas.alibaba.com/index.html#/{path}?key=value&key2=123. Saat mengembangkan program mini, Anda harus menggunakan perutean hash untuk menangani logika navigasi halaman.

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];
    
if (miniAppService) {
    EMASMiniAppOpenConfiguration *config = [[EMASMiniAppOpenConfiguration alloc] init];
    if (path.length > 0) {
        // Jalur deeplink.
        config.path = path;
    }
    if (params){
        // Parameter tambahan.
        config.extraData = params;
    }
    
    [miniAppService openMiniApp:self.appId openConfiguration:config completionBlock:^(int resultCode, NSDictionary * _Nonnull resultDict) {
        NSLog(@"resultCode = %d, resultDict = %@",resultCode,resultDict);
        if (resultCode == 200) {
            // Jika program mini dimulai, Anda akan dialihkan ke halaman utama program mini.
        }
    }];
}

Mendapatkan daftar kategori

SDK kontainer program mini menyediakan antarmuka untuk mendapatkan daftar kategori program mini. Jika hanya ingin mendapatkan daftar kategori program mini, Anda dapat langsung menggunakan antarmuka ini.

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];
    if (miniAppService) {
        [miniAppService queryMiniAppCategories:^(int resultCode, NSArray *resultArray) {
            if (resultCode == 200) {
               //Jika nilai resultCode adalah 200, daftar kategori diperoleh.
            } else {
              //gagal
               }
        }];
    }

Mendapatkan daftar program mini dari kategori

SDK kontainer program mini menyediakan antarmuka untuk mendapatkan daftar program mini dari ID kategori. Jika hanya ingin mendapatkan daftar program mini, Anda dapat langsung menggunakan antarmuka ini.

id<EMASMiniAppService> miniAppService = [[EMASServiceManager sharedInstance] serviceForProtocol:@"EMASMiniAppService"];
   if (miniAppService) {
        [miniAppService queryMiniAppsByCategory:categoryId completionBlock:^(int resultCode, NSArray * _Nonnull resultArray) {
            if (resultCode == 200) {
                //Jika nilai resultCode adalah 200, daftar program mini dari ID kategori diperoleh.
            } else {
               //gagal
            }
        }];
    }