ven-miniprogram-utils
v1.0.1
Published
Utility functions for mini program deeplink handling
Maintainers
Readme
ven-miniprogram-utils
A utility package for handling deeplinks in mini programs.
Installation
npm install ven-miniprogram-utilsUsage
import {
handleDeeplink,
getDeeplinkFromStartupParams,
getShareParam,
SHARE_TYPE,
SHARE_PARAMS,
} from "ven-miniprogram-utils";
// Handle deeplinks with custom default URL
await handleDeeplink({
defaultUrl: "/pages/custom/custom", // Optional, defaults to PATHS.HOME
});
// Get startup parameters
const startupParams = await getDeeplinkFromStartupParams();
// Generate share parameters
const shareParams = getShareParam(SHARE_TYPE.PRODUCT_DETAIL, {
productOutletId: "123",
imageUrl: "https://example.com/image.jpg",
});API
handleDeeplink(config)
Handles deeplink navigation based on stored data or startup parameters.
Parameters:
config(optional): Configuration objectdefaultUrl(string): Default URL to redirect to when no deeplink is found. Defaults to PATHS.HOME
getDeeplinkFromStartupParams()
Retrieves startup parameters from the mini program environment.
getShareParam(config)
Generates share parameters with custom path and extra parameters.
Parameters:
config: Configuration objectpath: Custom path to use (defaults to PATHS.HOME)extra: Custom extra parametersdefaults: Default valuestitle: Custom share titledesc: Custom share description
internal_getShareParam(shareType, product, category, defaults)
Generates share parameters using predefined share types.
Parameters:
shareType: Type of share (SHARE_TYPE.PRODUCT_DETAIL | SHARE_TYPE.HOME | SHARE_TYPE.CATEGORY)product: (optional) Product details object (required for PRODUCT_DETAIL share type)productOutletId: Product IDimageUrl: Product image URL
category: (optional) Category details object (required for CATEGORY share type)id: Category IDtitle: Category title
defaults: (optional) Default values objecttitle: Custom share titledesc: Custom share description
Example:
// Using getShareParam directly with custom path and extra params
const shareParams = getShareParam({
path: "/pages/custom/custom",
extra: { customParam: "value" },
defaults: {
title: "Custom Title",
desc: "Custom description",
},
});
// Using internal_getShareParam with predefined share types
const productShareParams = internal_getShareParam(
SHARE_TYPE.PRODUCT_DETAIL,
{
productOutletId: "123",
imageUrl: "https://example.com/image.jpg",
},
null,
{
title: "Product Share",
desc: "Check out this product!",
}
);Constants
SHARE_TYPE: Available share types (PRODUCT_DETAIL, HOME, CATEGORY)SHARE_PARAMS: Parameter keys for sharing
Example Usage
Generating Deeplink in onShareAppMessage
onShareAppMessage() {
const category = {
id: this.data.categoryId,
title: this.data.categoryTitle
};
const param = getShareParam({
path: "/pages/custom/custom",
extra: { customParam: "value" },
defaults: {
title: "Custom Title",
desc: "Custom description",
},
});
return param;
}