or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

api.mdcompiler.mdindex.mdruntime.md
tile.json

index.mddocs/

@dcloudio/uni-mp-alipay

@dcloudio/uni-mp-alipay is a specialized adapter package that enables uni-app applications to run on Alipay Mini Program platform. It provides complete compiler integration, runtime adaptation, and API compatibility layer to bridge the gap between Vue.js-based uni-app code and Alipay's mini program environment.

Package Information

  • Package Name: @dcloudio/uni-mp-alipay
  • Package Type: npm
  • Language: TypeScript
  • Installation: Installed as part of uni-app development tools via @dcloudio/cli
  • Platform: Alipay Mini Program (mp-alipay)
  • Framework: Vue.js 3.x

Core Imports

The package exports are typically consumed through the uni-app build system rather than direct imports:

// Build system usage (Vite plugins)
import uniMpAlipayPlugin from "@dcloudio/uni-mp-alipay";

// Runtime (auto-injected in mini program environment)
import { createApp, createPage, createComponent } from "@dcloudio/uni-mp-alipay/dist/uni.mp.esm.js";

// API access (auto-injected)
import uni from "@dcloudio/uni-mp-alipay/dist/uni.api.esm.js";

Basic Usage

The package is integrated into uni-app projects through the build configuration:

// vite.config.ts
import { defineConfig } from 'vite';
import uniMpAlipayPlugin from '@dcloudio/uni-mp-alipay';

export default defineConfig({
  plugins: [
    ...uniMpAlipayPlugin // Array of Vite plugins for Alipay compilation
  ]
});

In the mini program runtime environment, the APIs are automatically available:

// Page definition
const pageOptions = {
  onLoad() {
    // createApp, createPage are automatically available via my.createApp, my.createPage
    this.$vm = my.createPage(vueComponentOptions);
  }
};

// Using adapted APIs
uni.request({
  url: 'https://api.example.com/data',
  success: (res) => console.log(res.data)
});

Architecture

The package is structured around three main functional areas:

  • Compiler Integration: Vite plugins and Vue compiler transforms that adapt uni-app code for Alipay Mini Program build requirements
  • Runtime Layer: App, page, and component creation functions that bridge Vue.js components with Alipay's mini program lifecycle
  • API Adaptation: Complete uni API implementation with Alipay-specific protocol adaptations and compatibility shims

Capabilities

Compiler Integration

Vite plugins and Vue compiler configuration for building uni-app applications targeting Alipay Mini Program platform.

declare const uniMpAlipayPlugin: Plugin[];

interface MiniProgramCompilerOptions {
  event: EventOptions;
  class: ClassOptions;
  slot: SlotOptions;
  directive: string;
  component: ComponentOptions;
  filter: FilterOptions;
}

interface CompilerOptions {
  nodeTransforms: NodeTransform[];
}

Compiler Integration

Runtime Layer

Core runtime functions for creating and managing uni-app applications, pages, and components in the Alipay Mini Program environment.

function createApp(parseAppOptions: any): any;
function createPage(): any;
function createComponent(): any;
function createPluginApp(parseAppOptions: any): any;
function createSubpackageApp(parseAppOptions: any): any;

Runtime Layer

API Adaptation

Complete uni API implementation with Alipay-specific adaptations, protocol mappings, and compatibility shims for seamless cross-platform development.

declare const uni: UniAPI;

interface UniAPI {
  // Storage APIs
  setStorageSync(key: string, data: any): void;
  getStorageSync(key: string): any;
  removeStorageSync(key: string): void;
  
  // Network APIs
  request(options: RequestOptions): void;
  
  // UI APIs
  showModal(options?: ShowModalOptions): void;
  showToast(options?: ShowToastOptions): void;
  showActionSheet(options: ShowActionSheetOptions): void;
  
  // Device APIs
  getSystemInfo(options: GetSystemInfoOptions): void;
  getSystemInfoSync(): SystemInfo;
  
  // And 50+ more APIs...
}

API Adaptation

Platform Compatibility

This package specifically targets Alipay Mini Program platform with the following characteristics:

  • Global Object: my (Alipay's global API object)
  • Template Engine: .axml files (Alipay's template format)
  • Styling: .acss files (Alipay's CSS variant)
  • Scripting: .sjs files (Alipay's JavaScript variant)
  • Build Target: CommonJS modules for Alipay Mini Program runtime

Types

interface UniMiniProgramPluginOptions {
  cdn: number;
  vite: ViteOptions;
  global: string;
  json: JsonOptions;
  app: AppOptions;
  project: ProjectOptions;
  template: TemplateOptions;
  style: StyleOptions;
}

interface ViteOptions {
  inject: Record<string, [string, string]>;
  alias: Record<string, string>;
  copyOptions: CopyOptions;
}

interface JsonOptions {
  windowOptionsMap: Record<string, string>;
  tabBarOptionsMap: Record<string, string>;
  tabBarItemOptionsMap: Record<string, string>;
}