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

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

 

封面图0429.jpg

 

前言

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

1.jpg

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

2.png

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 中获取参数。

操作方法同安卓一致。

撰文:刘启洋、滕宏才

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯安全发布安全托管服务MSS,推动网络安全建设向服务驱动转变

近年来&#xff0c;随着黑产组织逐渐规模化、产业化&#xff0c;网络攻击态势愈发严峻&#xff1b;同时&#xff0c;由于DevOps、云原生等新技术的落地&#xff0c;以及IT架构的变化&#xff0c;企业研发和运营的模型随之改变&#xff0c;风险应对策略也越发复杂&#xff0c;越…

深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库

简介&#xff1a; 阿里云在最新发布的 The Forrester Wave™: Cloud Data Warehouse, Q1 2021 全球云数据仓库技术评比中进入卓越表现者象限&#xff0c;成为国内唯一入选厂商。本文针对 Forrester 的报告&#xff0c;结合阿里云的以 MaxCompute 为核心的云数仓产品&#xff0c…

Azkaban业务流程如何转化为DataWorks业务流程

简介&#xff1a; 用户在迁移上云的时候&#xff0c;需要将云下的的Azkaban任务迁移上云&#xff0c;之前通过用户在DataWroks一步步创建对应的业务流程&#xff0c;其转化难度和转化时间都是一定的成本和时间&#xff0c;但如何能做到省时省力的方式迁移,为此本文提供了使用迁…

深度 | 数据湖分析算力隔离技术剖析

简介&#xff1a; 随着越来越多的企业开始做数据湖分析&#xff0c;数据量的持续增加&#xff0c;数据分析需求也会越来越多&#xff0c;在一个共享的数据湖分析引擎&#xff0c;如何防止多租户之间的查询相互影响是一个很通用的问题&#xff0c;本文以阿里云DLA Presto为例&am…

mfc链表中的数据如何排序输出_java程序员面试中最容易被问到的18个算法题(附答案!)...

算法是比较复杂又基础的学科&#xff0c;每个学编程的人都会学习大量的算法。而根据统计&#xff0c;以下这18个问题是面试中最容易遇到的&#xff0c;本文给出了一些基本答案&#xff0c;供算法方向工程师或对此感兴趣的程序员参考。1&#xff09;请简单解释算法是什么&#x…

深度解析PolarDB数据库并行查询技术

简介&#xff1a; 随着数据规模的不断扩大&#xff0c;用户SQL的执行时间越来越长&#xff0c;这不仅对数据库的优化能力提出更高的要求&#xff0c;并且对数据库的执行模式也提出了新的挑战。本文将介绍基于代价进行并行优化、并行执行的云数据库的并行查询引擎的关键问题和核…

万物互联、应用现代化、云原生新范式,华为云为数字化转型提供最优解

10月27日&#xff0c;华为云TechWave全球技术峰会&#xff08;应用现代化&#xff09;在广州举办。华为云发布“云原生2.0”新范式&#xff0c;并分享应用现代化、万物互联等最新理念及产品进展。 华为云CTO张宇昕发表主题演讲 华为云CTO张宇昕表示&#xff1a;“云原生新范式…

动态游标for循环_【【动图算法】(动态规划篇):最长回文子串

本周继续做一道动态规划类型的题目&#xff0c;该题是阿里一面的一道算法题。【动图算法】(动态规划篇)&#xff1a;最长回文子串leetcode 5 题&#xff1a;最长回文子串https://leetcode-cn.com/problems/longest-palindromic-substring/给定一个字符串 s&#xff0c;找到 s 中…

企业上云如何对SLS日志审计服务进行权限控制

简介&#xff1a; 日志审计是信息安全审计功能的核心部分&#xff0c;是企业信息系统安全风险管控的重要组成部分。SLS的日志审计服务针对阿里云的多种云产品&#xff08;Actiontrail、OSS、SLB、RDS、PolarDB、SAS、WAF等&#xff09;提供了一站式的日志收集、存储、查询、可视…

分区取模分库分表策略:多表事务分库内闭环解决方案

简介&#xff1a; 当表数据超过一定量级&#xff0c;就需要通过分表来解决单表的性能瓶颈问题&#xff1b;当数据库负载超过一定水平线&#xff0c;就需要通过分库来解决单库的连接数、性能负载的瓶颈问题。本文将阐述在不同情况下&#xff0c;让不同数量级表&#xff0c;在同一…

漫画:什么是“贪心算法”?如何求解“部分背包问题”?

作者 | 小灰来源 | 程序员小灰————— 第二天 —————————————————. . . . . . . .我们回到刚才的题目当中&#xff0c;假设背包的容量是10&#xff0c;有5个商品可供选择&#xff0c;每个商品的价值和重量如图所示&#xff1a;让我们来计算一下每件物品的…

高德 Serverless 平台建设及实践

简介&#xff1a; 高德为什么要搞 Serverless/Faas&#xff1f;是如何做 Serverless/Faas 的&#xff1f;技术方案是什么样的&#xff1f;目前进展怎么样&#xff1f;后续又有哪些计划&#xff1f;本文将和大家做一个简单的分享。 作者 | 邓学祥&#xff08;祥翼&#xff09; 来…

谷歌自研 Tensor 芯片,8核CPU,20核GPU……

作者 | 禾木木 出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09; 10 月 20 日&#xff0c;谷歌在发布会上推出了全新 Pixel 6 和 Pixel 6 Pro 手机。虽然在推出之前&#xff0c;就已经知晓了外观&#xff0c;该说不说这款手机还是很吸引人的。 在这些变化…

云厂商下一块必争之地就是它了!

简介&#xff1a; 继容器编排、AI 工程化之后&#xff0c;全球顶级云厂商都瞄准了这块无人区。 作者 | 太浪 继容器编排、AI 工程化之后&#xff0c;全球顶级云厂商都瞄准了这块无人区。 1 回顾云计算十几年的历史&#xff0c;或者也可以视其为一部“为开发者服务简史”。 …

shell 如何调用多个脚本

简介 这篇文章主要描述如何通过主脚本去调用其他脚本中的方法&#xff0c;调用的过程中可能出现哪些坑&#xff0c;如何避免。 目录 1. 主脚本调用其他脚本的方法 1.1. bash方法 1.2. source方法 2. 避坑技巧 2.1. 路径配置无效 2.2. source变量冲突 3. 总结 1. 主脚本调…

es对已有的索引给主键_ES中对索引的相关操作

写在前面&#xff1a;本文ES版本为&#xff1a;6.4.2(单机)&#xff0c;并安装了head插件&#xff0c;运用postman进行操作。也可以使用head插件在前端浏览器中进行傻瓜式操作&#xff0c;后续会介绍这种方式&#xff01;如果没有安装es和head插件的话&#xff0c;请先安装&…

“华为云-东吴杯”圆满成功,顶尖参赛者推动“智造”场景结构升级

2021年10月9日&#xff0c;“华为云-东吴杯”2021数字化转型创新应用大赛&#xff08;以下简称“华为云-东吴杯”&#xff09;的最终决赛如期上演&#xff0c;给来自创客赛道和企业赛道的顶尖开发者及团队搭建了一个绝佳的舞台&#xff0c;令其充分展示投身数字化转型领域所获得…

云原生下的灰度体系建设

简介&#xff1a; 本篇文章&#xff0c;我们将继续为大家介绍 ASI SRE&#xff08;ASI&#xff0c;Alibaba Serverless infrastructure&#xff0c;阿里巴巴针对云原生应用设计的统一基础设施&#xff09; 是如何探索在 Kubernetes 体系下&#xff0c;建设 ASI 自身基础设施在大…

引用和指针的区别都有什么_C++指针与引用的区别

指针与引用是C中两个很重要的概念&#xff0c;它们功能看过去很相似&#xff0c;就是都是间接引用某个对象&#xff0c;那么我们应该在什么时候使用指针&#xff0c;什么时候使用引用呢&#xff0c;下面请允许我慢慢道来&#xff1a;1.永远不要使用一个指向空值的引用。一个引用…

混合云K8s容器化应用弹性伸缩实战

简介&#xff1a; 混合云K8s容器化应用弹性伸缩实战1. 前提条件 本最佳实践的软件环境要求如下&#xff1a; 应用环境&#xff1a; ①容器服务ACK基于专有云V3.10.0版本。 ②公共云云企业网服务CEN。 ③公共云弹性伸缩组服务ESS。 配置条件&#xff1a; 1&#xff09;使用专有云…