移植背景:

1. 支付宝小程序开发文档只了解了大致框架,跑了demo,具体Api、组件没太多了解;

2. 已有微信小程序,移植支付宝小程序做预研(主要针对授权登录、支付等功能)。

3. 移植的微信小程序属小型项目,页面8个,组件两个。首页功能性较强,集成了主要的业务处理逻辑,涉及登录、获取用户手机号码、获取定位信息、下单、支付、查看卡券等功能。

移植用时:

大致2小时,基本完成前端移植(控制台无报错,接口正常调用,用户登录授权需等后端接口改造,具体页面和流程需待后端相关接口改造后再行调试验证)

移植过程:

1. 创建支付宝小程序:

最好是基于todo模板创建一个demo项目,这样方便移植的时候对比修改。

2. 公共项目配置文件复用:

app.json文件中,支付宝小程序window配置项与微信小程序不同,需要单独修改。

app.js文件中,支付宝小程序默认没有全局变量的,我们需要自行将微信小程序中定义的全局变量复用过来。

app.wxss==>app.acss公共样式:完全复用就好了。

3. 模板复制:

将微信小程序主目录下的pages/components/imgs及utils目录复制到支付宝小程序主目录下进行合并。

4. 接口请求的改造:

res.statusCode==>res.status

5. 模板文件名后缀修改:

所有页面和组件中的模板文件和样式文件后缀都需要修改,页面比较多的可以编写批处理修改。

  • wxml==>axml
  • wxss==>acss

6. 模板文件中需要替换的地方:

模板文件axml中,需要替换的主要有这些:

  • bindTap-==>onTap
  • wx:==>a:

脚本文件js中,需要替换的主要有:

  • wx.==>my.

小程序开发工具中一键替换方法如下:

7. 不同的API的处理:

经过上边的改造,基本上对于框架类的东西都已经更换了,剩下的就是API方面的不同需要修改了。

对于小程序API,大部分都是相同的,可以说需要调整的API并不是很多。但基于各自内部不同的生态,所以在授权登录、支付这些方面自然会有所不同。对于这部分API的移植,就没有前边的一键替换那么方便了,你也不可能一个个把所有用到的API都去搜索下去做调整。最好的方法就是直接在小程序的运行中进行调试,通过调试来发现并调整需要更改的API。

对于这块儿的改造,就得好好利用console.log()了,如下图输出的是my.getAuthCode接口获取用户code值的返回数据,不同于微信小程序的code,支付宝的是authCode,所以才会有下边的报错,调整对应的代码就好了。

后端接口改造:

对于用户授权登录、支付等API的参数是需要后端返回的,因此这方面的代码就需要等后端相关接口改造完成之后才能正常调试了。

微信小程序快速移植支付宝小程序的更多相关文章

  1. 【小程序案例】支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台

    支付宝小程序-MQTT模拟器通过WSS接入阿里云IoT物联网平台 小程序效果: 1. 准备工作 1.1 注册阿里云账号 开通阿里云账号,并通过支付宝实名认证 https://www.aliyun.co ...

  2. Mac小技巧:快速查看指定应用程序的所有窗口

    我们知道在Mac中快速在系统所有程序中切换得快捷键为: cmd + tab 不过有时我们需要快速查看某一个程序的所有窗口,那又该如何呢? 以下方法在MacOS 10.12中测试成功! Mac默认该功能 ...

  3. 支付宝小程序开发之与微信小程序不同的地方

    前言: 本文仅汇总微信小程序移植支付宝小程序过程中遇到的一些不同的地方,详细请参考官方开发文档. 网络请求: 对于网络请求,基本上改动不大,也就支付宝小程序没有responseType属性及响应码字段 ...

  4. 支付宝小程序和微信小程序的区别(部分)

    支付宝小程序和微信小程序之间的互相转换 1.首先是文件名 微信小程序 wxss ------ 支付宝小程序 acss 微信小程序 wxml ------ 支付宝小程序 axml 2.调用方法前缀 微信 ...

  5. 支付宝小程序开发——rich-text富文本组件支持html代码

    前言: 与微信小程序不同,支付宝小程序的富文本组件并不能直接支持html代码,如: 如上,支付宝小程序的富文本组件只支持数组类型,html代码需要使用 mini-html-parser 转换,具体用法 ...

  6. 支付宝小程序云开发(Serverless)

    支付宝小程序云开发(Serverless) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 一.在支付宝账号里面开通小程序云服务 ...

  7. 如何让微信小程序快速接入七牛云

    如果你确定用七牛运行小程序的话,给大家分享一个九折优惠码:61d1fd4d1 月 9 日 微信小程序正式发布,小程序终于揭开了它神秘的面纱,开发者对小程序的追捧更是热度不减.从小程序的热门应用场景来看 ...

  8. 小程序开发过程中常见问题[微信小程序、支付宝小程序]

    目录 一.样式中如何使用background-image呢? 二.使用自适应单位rpx类似于rem,布局尽量使用flex布局 三.万能的{{双大括号,用于在模版中输出变量 四.你想要的基础组件和API ...

  9. 微信小程序快速开发上手

    微信小程序快速开发上手 介绍: 从实战开发角度,完整系统地介绍了小程序的开发环境.小程序的结构.小程序的组件与小程序的API,并提供了多个开发实例帮助读者快速掌握小程序的开发技能,并能自己动手开发出小 ...

随机推荐

  1. jquery接触初级-----juqery 动画函数

    1. window.onload(), 一次只能保存对一个函数的引用:如果多次调用,他会自动用后面的函数覆盖前面的函数 2.$(document).ready(); 会在现有行为上追加新的行为,这些函 ...

  2. php 获取文件后缀最简单的方法

    1 <?php 2 $recordingname = '通话录音@18502290616(18502290616)_20171103142448.mp3'; 3 $suffix = end(ex ...

  3. centOS6.6网络设置

    linux的网卡IP地址是存放在文件中的,这个配置文件在/etc/sysconfig/network-scripts下, 名称分别为ifcfg-eth0,ifcfg-eth1等 如果你只有一块网卡,就 ...

  4. mysql 的REPLAYCE语句

      MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数 ...

  5. Ajax 学习 第四篇

    使用jQuery实现Ajax 跨域

  6. 手机移动端web前端常见问题整理

    移动端常见问题及解决方案 一.meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="w ...

  7. openstack常用命令

    共享镜像 glance member-create fa47923c-2d3b-4d71-80cf-a047ba3bf342 eb3913b9ae5f41b09f2632389a1958d8删除共享镜 ...

  8. Missing parentheses in call to 'print'

    这个消息的意思是你正在试图用python3.x来运行一个只用于python2.x版本的python脚本. print"Hello world" 上面的语法在python3中是错误的 ...

  9. curl get请求

    curl --proxy 192.168.1.159:8889  -d "grant_type=client_credential&appid=wxxx&secret=xxx ...

  10. devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

    问题: 制作镜像的时候报错 devmapper: Thin Pool has 162394 free data blocks which is less than minimum required 1 ...