简介:以传递 name 和 pwd 参数为例,分别介绍此场景在 Android 小程序和 iOS 小程序中的实现过程。

前言

在部分场景下,需要向小程序的默认接收页(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


原文链接:https://developer.aliyun.com/article/783939?

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

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

  1. 只需两步获取任何微信小程序源码

    只需两步获取任何微信小程序源码 kedwan关注 12018.09.15 09:32:43字数 2,428阅读 3,946 转载自百家号作者:不忘初心lucy 第一次在掘金这样高大上的社区写文章,忐忑 ...

  2. 只需两步快速获取微信小程序源码

    第一次在掘金这样高大上的社区写文章,忐忑地敲下我获取小程序源码过程中的经验分享. 最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了某个小程序的前端实现,过程一言难尽,差不多两 ...

  3. 技术干货 | mPaaS 小程序高玩带你起飞:客户端预置小程序无视网络质量

    简介: 弱网拉包无障碍,深度提升用户体验 传统的小程序技术容易受到网络环境影响,当网络质量不佳时可能导致拉取不到小程序包的情况.通过预置小程序,即可规避该问题.本文介绍了预置小程序的原理和预置小程序的 ...

  4. 让小程序在自有App中启动的技术来了:mPaaS小程序架构深度解析

    简介:mPaaS 小程序框架作为一款 App 通用框架,帮助开发者面向自身的 App 实现小程序投放.不止如此,小程序代码仅需撰写一次,便可多端投放至自有 App.支付宝.钉钉甚至其他小程序开放平台. ...

  5. mPaaS小程序技术架构深度解析

    ⚅ 点击观看<mPaaS 小程序新品发布会>回放 > > 随着小程序技术的愈发成熟,不同平台的优势和典型使用场景各有侧重,同时越来越多的开发者可以结合自身的业务特色,通过小程序 ...

  6. 快成物流科技 x mPaaS | 小程序容器加持下的技术架构“提质增效”

    简介:大前端团队如何选型技术?如何快速上手?如何高效协同?让我们看看快成科技如何解决这一问题. 导言 从 2017 年开始,GMTC"移动技术大会"就更名为"大前端技术大 ...

  7. 一款App基于mPaaS小程序如何进行改造?

    这篇故事围绕着一款 App 基于 mPaaS 小程序进行改造娓娓展开. 作为国内校园服务场景最丰富的平台,笑联 App 已覆盖国内 130 所高校,服务近百万高校学生. 截止目前,笑联 App 内的 ...

  8. 小程序技术始于微信?来看看移动端小程序技术的前世今生!

    本文由DCloud 公司创始人王安原创发布于CSDN,原题<小程序技术演进史>,即时通讯网收录时有改动,感谢原作者. 1.引言 微信的成功,并非特定于某个具体的功能,微信的成功实际上是一大 ...

  9. 排查指南 | 当 mPaaS 小程序提示“应用更新错误(1001)”时

    问题描述:APP 启动 mPaaS 小程序弹出 toast 信息:"应用更新错误". 原因分析 调用MDS小程序更新接口之后,没有拉到对应的小程序信息,就会返回1001. mPaa ...

最新文章

  1. Real VNC 5.1.1新增实用的技能:VNC Address Book
  2. gitlab 无法git clone 的一个小点
  3. 成功解决tensorflow\contrib\learn\python\learn\datasets\base._internal_retry.locals.wrap.locals.wrapp
  4. 【PAT乙级】1061 判断题 (15 分)
  5. JS高级部分(个人认为)
  6. DBUtils事务处理
  7. 大爷去取钱,银行把取款办成存款,大爷拒绝还钱,大家怎么看?
  8. 18、Linux下编程风格
  9. mysql数据库主从同步的原理_mysql数据库主从同步复制原理
  10. Table(name=“xx“)与Entity(name=“xx“) 问题
  11. 7.2版升7.5+php7,帝国CMS7.2版升级到7.5版的详细步骤方法(已测)
  12. GPIO output level 和 GPIO Pull-up/Pull-down的区别
  13. 2023二建建筑施工备考第二天Day02
  14. Win10 WSL初体验
  15. JBoss EAP 7消息系统
  16. MongoDB数据库设计中6条重要经验法则 Part 2
  17. chiplogic-网表提取-(2)二极管三极管电阻器件插入
  18. 英语前后缀大全 - 快速理解英语单词
  19. 华为机试第二题420 按照路径替换二叉树
  20. 舞动18周年 搭建企业互联网转型的蹁跹舞台

热门文章

  1. python字符串基本操作-Python 基本字符串操作
  2. 自己动手写了个 Web 框架,我膨胀了
  3. 求求你!不要在网上乱拷贝代码了!一段网上找的代码突然炸了,项目出现大BUG...
  4. sqlserver 字段中只有年月 加上中文年月_PowerBI 10月更新,全新图标正式亮相
  5. combobox 怎么实现对listview的类别查询_Flutter实战之独立实现官网Demo单词收藏Demo
  6. u盘正常接入后计算机无法看到,u盘在我的电脑显示不出来怎么办-处理u盘在我的电脑无法显示的方案 - 河东软件园...
  7. zend解释php过程,Zend framework处理一个http请求的流程分析
  8. html5有foreach吗,JavaScript中的map()和forEach()有什么区别?
  9. 深度学习笔记之DenseNets
  10. 树形结构:从二分查找,二叉搜索树寻找最近祖先,从递归到迭代,实现技巧总结