本文介绍了启动小程序的相关接口,并通过示例演示如何启动小程序。
接口说明
该接口用于跳转到小程序。
@interface MPNebulaAdapterInterface : NSObject
/**
打开小程序包
@param appId 小程序 ID
@param params 小程序参数
*/
+ (void)startTinyAppWithId:(NSString*)appId params:(NSDictionary*)params;
@end
代码示例
[MPNebulaAdapterInterface startTinyAppWithId:@"1234567891234567" params:@{}];
参数说明
名称 | 类型 | 描述 | 必填 |
appId | NSString | 待跳转的目标小程序的 AppID。 | 是 |
params | NSDictionary | 打开小程序时传递的参数。 | 否 |
params 字段说明
名称 | 类型 | 描述 | 必填 |
query | NSString | 打开小程序时传递的自定义参数,可在小程序中获取。 | 否 |
page | NSString | 打开小程序时指定的页面,若不传,默认打开小程序主页面。 | 否 |
启动小程序
启动小程序并传递自定义参数
在客户端添加启动时跳转页面的参数信息如下所示:
NSString *pwd = [@"123&*!@#$%^*" stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "] invertedSet]]; NSString *queryvalue = [NSString stringWithFormat:@"name=mpaas&pwd=%@",pwd]; NSDictionary * dic = @{@"query":queryvalue}; [MPNebulaAdapterInterface startTinyAppWithId:@"1234567891234567" params:dic];
参数说明
appId:小程序的 ID,从 mPaaS 控制台获取。
params:params 小程序参数。自定义传递参数的字段为 query,多个 value 之间用
&
隔开。
注意
小程序框架会对每对自定义入参的键值对的 value 进行 decode。若您的入参键值对的 value 中有特殊字符
&
,请调用以下方法对入参进行 encode;如果没有特殊字符,则不需要使用 encode。NSString *pwd = [@"123&*!@#$%^*" stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "] invertedSet]];
小程序框架不会对自定义入参的键值对的 key 做任何处理。因此,请不要对 key 设置特殊字符,防止小程序侧无法识别自定义参数。
小程序中可从
onLaunch
或onShow(options)
方法的参数options
中获取参数。您可将传递的参数存储到app.js
的全局变量globalData
中,使用时从globalData
直接取值。
启动小程序并跳转到指定页面
当小程序有多个页面时,您可以通过 page 参数设置打开小程序的指定页面,如下所示。若不设置 page 参数,则默认打开配置的首页路径。
NSDictionary * dict = @{
@"page" : @"/pages/demo3/index"
};
[MPNebulaAdapterInterface startTinyAppWithId:@"1234567891234567" params:dict];
文档内容是否对您有帮助?