技术干货 | 轻松两步完成向 mPaaS 小程序传递启动参数

前言
在部分场景下,需要向小程序的默认接收页(pages/index/index)传递参数。
本文将以传递 name 和 pwd 参数为例,分别介绍此场景在 Android 小程序和 iOS 小程序中的实现过程。
前提条件
已参照 快速开始 文档接入了小程序组件。
Android 小程序
1.在客户端添加启动时跳转页面的参数信息。如下所示:
Bundle param = new Bundle();
String query = "name="+Uri.encode("123")+"&pwd="+Uri.encode("456");
param.putString("query",query); //设置参数
MPNebula.startApp(appId:"2020121620201216",param);
URL 启动传参时,传递参数的字段为 query;获取参数时,通过解析 query 字段获取。
startApp 参数说明:
appId:小程序的 ID,可以从 mPaaS 控制台查看。
param:Bundle 对象,可以向 Bundle 对象传递请求参数,key="query",value="键值对";多个参数中间用(&)隔开。
注意1:小程序框架会对每对自定义入参的键值对的 value 进行 uri decode。因此,请对入参键值对的 value 进行 uri encode。
注意2:小程序框架不会对自定义入参的键值对的 key 做任何处理。因此,请不要对 key 设置特殊字符,防止小程序侧无法识别自定义参数。
2.小程序获取参数。从 onLaunch/onShow(options) 方法的参数 options 中获取。

存储 app.js 会获取客户端向小程序传递的参数并保存到全局变量 globalData 中,使用时从 globalData 直接取值或更新值。如请求头里的 token、user_id 等参数,从 Native 传递过来后,保存到 globalData 中,使用时直接取值。

iOS 小程序
1.在客户端添加启动时跳转页面的参数信息。如下所示:
NSString *pwd = [@"123&*!@#$%^*" stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "] invertedSet]];
NSString *queryvalue = [NSString stringWithFormat:@"name=mpaas&pwd=%@",pwd];
NSDictionary * dic = @{@"query":queryvalue};
[MPNebulaAdapterInterface startTinyAppWithId:@"1234567891234567" params:dic];
URL 启动传参时,传递参数的字段为 query;获取参数时,通过解析 query 字段获取。startApp 参数说明:
appId:小程序的 ID,从 mPaaS 控制台获取。
param:params 小程序参数,自定义传值请使用 @{@"query""key=value&key=value"}; ,多个参数之间用 & 隔开。
注意1:小程序框架会对每对自定义入参的键值对的 value 进行 decode。若您的入参键值对的 value 中有特殊字符 & ,请调用以下方法对入参进行 encode。NSString pwd = [@"123&!@#$%^" stringByAddingPercentEncodingWithAllowedCharacters:[[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%+,:;='"`<>()[]{}/\| "] invertedSet]];
如果没有特殊字符,则不需要使用 encode。注意2:小程序框架不会对自定义入参的键值对的 key 做任何处理。因此,请不要对 key 设置特殊字符,防止小程序侧无法识别自定义参数。
2.小程序从 onLaunch/onShow(options) 方法的参数 options 中获取参数。
操作方法同安卓一致。
撰文:刘启洋、滕宏才
**E · N · D**


技术干货 | 轻松两步完成向 mPaaS 小程序传递启动参数的更多相关文章
- 只需两步获取任何微信小程序源码
http://baijiahao.baidu.com/s?id=1601969343738344659&wfr=spider&for=pc
- 快成物流科技 x mPaaS | 小程序容器加持下的技术架构“提质增效”
导言 从 2017 年开始,GMTC"移动技术大会"就更名为"大前端技术大会".发展至今,混合开发.原生开发.前端开发等概念正在深度融合,组成"大 ...
- mPaaS 小程序架构解析 | 实操演示小程序如何实现多端开发
对于 mPaaS 小程序开发框架,想必读者们并不陌生.它源自于支付宝小程序框架,继承了易开发性.跨平台性及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支 ...
- 教你轻松构建基于 Serverless 架构的小程序
前言 自 2017 年第一批小程序上线以来,越来越多的移动端应用以小程序的形式呈现.小程序触手可及.用完即走的优点,大大降低了用户的使用负担,也使小程序得到了广泛的传播.在阿里巴巴,小程序也被广泛地应 ...
- [干货教程]仿网易云课堂微信小程序开发实战经验
本篇文章想跟大家分享下:我们公司“湖北诚万兴科技”最近刚帮客户定制开发.目前已上线的“哎咆课堂”微信小程序的开发经验分享.首先大概介绍下这个小程序所涉及到的主要技术点:微信登录.微信支付.微信小程序F ...
- 两小时快速构建微信小程序
小程序在2017年1月上线之初,被社会极力吹捧,刻意去将其制造为一个“风口”,透支其价值.但是在之后一个月里,石破天惊迅速归为沉寂.媒体又开始过度消费小程序,大谈其鸡肋之处. 个人认为小程序的一个分水 ...
- 又写了两个实用的微信小程序
忙里偷闲,最近又写了两个小程序. 一个是手机壁纸小程序,名字叫[来搜图],特点是界面干净清爽,没有多余的东西.开发这个是因为讨厌市面上那些壁纸app那样那么多的广告,真的太影响体验了.而且小程序更加轻 ...
- 精选腾讯技术干货200+篇,云加社区全年沙龙PPT免费下载!
2019年已经过去,小编为大家整理了这一年以来云加社区发布的 200多篇腾讯干货,点击文章标题即可跳转到原文,请速速收藏哦~ 看腾讯技术: 腾讯成本优化黑科技:整机CPU利用率最高提升至90%: 腾讯 ...
- 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...
随机推荐
- JAVAEE_Servlet_14_HttpServletRequest接口以及常用方法(一)
HttpServletRequest接口 * javax.servlet.http.HttpServletRequest 接口 * 继承关系 HttpServletRequest---继承---> ...
- Day01_08_变量(Variable)
变量 什么是变量? *变量本质上来说是内存上的一块空间,这块空间有数据类型,有名字,有字面值(数据).变量是内存中存储数据最基本的单元 * 变量要求变量中存储的具体数据必须和变量的数据类型一致,必须先 ...
- Django+Vue+Docker搭建接口测试平台实战
一. 开头说两句 大家好,我叫林宗霖,是一位测试工程师,也是全栈测开训练营中的一名学员. 在跟着训练营学习完Docker容器技术系列的课程后,理所应当需要通过实操来进行熟悉巩固.正好接口自动化测试平台 ...
- MySQL数据库干货分享!unsigned使用案例分析
今天主要写一下unsigned的使用,进入正文前先分享一套博主觉得讲的很详细很实用的MySQL教程给大家 https://www.bilibili.com/video/BV1fx411X7BD 好了, ...
- AdaBoostClassifier参数
[AdaBoostClassifier] Adaboost-参数: base_estimator:基分类器,默认是决策树,在该分类器基础上进行boosting,理论上可以是任意一个分类器,但是如果是其 ...
- 1438. Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
Given an array of integers nums and an integer limit, return the size of the longest continuous suba ...
- IDA动态调试Android的DEX文件
Android程序的dex文件的动态调试确实是个大问题,网上也有一些教程但是不是特别的详细,今天用到了IDA动态调试Android的DEX文件,特此记录一下. IDA 6.6新添加了对dex文件的调试 ...
- IDAPython类库---idaapi.py的源码
#ThisfilewasautomaticallygeneratedbySWIG(http://www.swig.org).#Version2.0.12##Donotmakechangestothis ...
- POJ3040给奶牛发工资
题意: 有n种硬币,每种硬币有mi个,然后让你给奶牛发工资,每周发至少c元(就是不找零钱的意思)然后问你能发几周?(硬币之间都是倍数关系) 思路: 这个题目做了两天,丢脸,看完 ...
- Andrew Ng机器学习算法入门(三):线性回归算法
线性回归 线性回归,就是能够用一个直线较为精确地描述数据之间的关系.这样当出现新的数据的时候,就能够预测出一个简单的值. 线性回归中最常见的就是房价的问题.一直存在很多房屋面积和房价的数据,如下图所示 ...