V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whisky221
V2EX  ›  微信

请教大佬微信 H5 迁移到小程序的解决思路

  •  
  •   whisky221 · 2020-07-29 11:28:07 +08:00 · 2174 次点击
    这是一个创建于 1584 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前基于微信浏览器的 H5 已完成状态

    想要使用 web-view 放到小程序上面,目前存在的问题是小程序的支付接口和 JSSDK 的支付接口不一致。

    目前这边的思路是

    1 、判断环境写两套接口,但是这样代码不是很干净

    2 、新开一套域名单独供小程序环境使用,也很麻烦

    想问下有经验的大佬有没有更好的解题思路,感激不尽

    9 条回复    2020-07-31 18:02:31 +08:00
    qiayue
        1
    qiayue  
       2020-07-29 11:40:20 +08:00
    小程序 webview 里可以调原生小程序接口
    所以判断环境,调用不同支付即可

    先最小代价把业务跑起来,至于代码干不干净,没那么重要,另外,加个判断就不干净,那你的标准也太高了
    whisky221
        2
    whisky221  
    OP
       2020-07-29 11:50:58 +08:00
    @qiayue 谢谢,主要是整个项目用到支付接口的地方比较零散...
    heasy
        3
    heasy  
       2020-07-29 11:52:19 +08:00
    小程序 webview 也可以使用 jssdk 吧
    whisky221
        4
    whisky221  
    OP
       2020-07-29 12:06:52 +08:00
    @heasy 可以使用部分,其中不包括支付
    heasy
        5
    heasy  
       2020-07-29 12:50:11 +08:00
    @whisky221 我之前有看到别人 webview 调用支付的
    belin520
        6
    belin520  
       2020-07-29 13:00:58 +08:00
    事件传递给小程序那边支付,成本是维护 2 套支付代码(当然可以继续独立封装共同的部分)
    xiangyuecn
        7
    xiangyuecn  
       2020-07-29 13:03:19 +08:00
    小程序 web-view 可以用 jssdk 接口 拉起小程序的支付 page 页面,然后走小程序支付
    xiangyuecn
        8
    xiangyuecn  
       2020-07-29 13:08:16 +08:00
    我的暴力数据交互方法是这样的,3 个小程序页面

    1. web-view 后台页面:此页面网页地址不变,比如 response.html,用来接收小程序传给网页的数据(沙雕弱鸡的小程序-webview 数据交互,支付宝的小程序好很多),放到后台就是方便随意小程序刷新 url,url 中携带数据

    2. web-view 主页面:此页面显示实际的小程序网页界面,有数据交互数据过来 response.html 会发过来

    3. 其他小程序页面:比如支付小程序页面,当有 webview 主页面需要支付时,拉起此页面,支付完成后后退一下就 ok,数据通过修改后台页面 url 来传递
    xxyang
        9
    xxyang  
       2020-07-31 18:02:31 +08:00
    webview 调不起来 jssdk 支付,亲测
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2116 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:31 · PVG 08:31 · LAX 16:31 · JFK 19:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.