小程序的多端表现差异(支付宝/微信)

1. showModal:在showCanceltrue时,支付宝/微信success返回一致,均为{confirm: true/false}showCancel为false时,微信返回照旧,支付宝返回{success: true},影响判断res.confirm

2. showLoadingshowToast:微信使用同一套机制,hideLoading时会销毁toastshowToast也会顶掉showLoading,支付宝在开发工具上showToastshowLoading是共存状态,两者互不干涉。
导致问题:添加hideLoading后,微信会销毁toast,造成toast闪现即消失,不添加则支付宝loading不消失
解决hideLoading前置,销毁loading后再toast,或判断环境,仅支付宝hideLoading
Plus: wx.hideLoading2.22.1版本已增加noConflict参数用于区别loadingtoast

3. readFileSyncFileSystemManager.readFileSync(file,'base64'):没啥可说的,文档定义不同。以base64举例,微信调用后直接返回的string,支付宝返回的{ "data": "文件内容", "dataType": "string", "success": true }。以构建环境区分取值即可。

4. 支付:微信使用requestPayment,支付宝使用tradePay,传参各有差异,详询文档。需注意微信的success回调代表支付成功,而支付宝的success回调仅代表API调用成功,是否支付成功需判断返回体,更靠谱的做法是等支付宝的异步回调通知。

另:TaroJs中并未声明tradePay类型,导致标红。issue已提,已有相关commit,待Taro发版后修复。

5. 自定义导航栏

微信设置为custom即可,支付宝配置如图。

需要注意微信的表现是整个导航栏除胶囊外都消失,支付宝则是除胶囊外单项配置,而且返回按钮不支持配置隐藏。

这意味微信需要配返回按钮,支付宝不需要配,否则会有两个返回。
此处未解决的问题是:支付宝的返回按钮在导航栏隐藏后没有背景,只有一个箭头图标,虽然可以配置颜色,但是在不定背景下没办法预知应该配重色还是白色

设计效果
支付宝下没有自定义返回时白背景的表现
黑色背景的表现
尝试提高返回组件层级,未果,根本盖不住
无法遮挡箭头
暂时把自定义的返回箭头去掉了,只留一个白圈,但是白圈和原生的返回箭头对不对得准就两说了。
补充:实测不同机型返回箭头位置是不一样的,更别说对准了。
返回处不再使用圆形背景,暂时就这样吧

6. compressImage:同3,文档定义不同,传参有差异,且Tarojs类型上没有支付宝参数,需要自行适配。
API在支付宝开发者工具上不生效,真机生效。微信表现待补充。
注:该API较新,原有压缩方案为canvas手动缩长宽然后toDataUrl(),支付宝转换表现为base64体积三倍增大,且canvasContext不再维护,故弃用。

7. 样式问题:支付宝的 acss 样式不支持属性选择器,错误使用属性选择器可能无法展示预期的效果。如input[type='search']

8.分包:支付宝分包包名 root 不能是 main 或者 whole (main)

9.城市选择:有虑于城市选择组件的数据更新问题,决定使用官方提供的选择器。微信使用插件实现,详见地址,支付宝使用API实现my.chooseCity

城市选择

10.定位:微信根据合规要求提高了精确定位的准入门槛,申请成功后可用,可暂时使用模糊定位;
支付宝精确定位仍能使用,且有更为便捷的my.ap.getMainSelectedCity可以获取到当前支付宝用户设置的主城市

主城市

11.支付宝小程序ahooks/lodash使用报错
小程序框架Taro 3.6.5 支付宝开发工具版本3.7.4
现象:项目引用了ahooks中的useDebounceFn,报错Cannot read properties of undefined (reading 'now'),定位是ahooks使用lodash/now.jsDate对象为undefined

报错
解决:如下图,在app.ts中覆盖原生对象

12.支付宝小程序,键盘弹起,输入框被挡住
全局配置,添加 enableInPageRenderInput: 'YES',Input组件,添加 alwaysSystem:true;另外可设置Input组件cursor-spacing指定光标与键盘的距离,取 input 距离底部的距离和 cursor-spacing 指定的距离的最小值作为光标与键盘的距离

13.安卓手机微信小程序调用camera组件,相机无法显示
问题:安卓手机,微信小程序调用camera组件,相机无法显示,但是可以调用拍照api,ios正常
原因:层级问题
解决:1、window 下配置添加renderingMode属性,属性值为seperated,·这个会关闭所有组件的同层,如果有组件希望同层可以再配置 mixedRenderComponents: ["video"] 给特定组件开启同层
2、设置相机和相机上的cover-view的层级,相机层级最小

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容