zoukankan      html  css  js  c++  java
  • 小程序引入外链-联想智能机器人

    小程序官方明确给出他们现在不支持外链,我们再也不能像原来一样用一个a标签,链接一个我们程序外的页面了。

    其实想想,小程序不支持dom操作,如果支持外链的话,那岂不是又开始支持dom操作了吗,jquery之类的插件又可以用了,显然这和微信对小程序的定义有出入,所以不支持外链html似乎是可以理解的。

    这引起一个问题,如果我们已有的成型的项目而我们项目有很多集成别的系统的链接,而我们想抓住小程序这个噱头做一个小程序版本的,似乎变成不能了。

    拿我自己的项目为例:我们是一个智能机器人小乐项目,可以很好的解决联想电脑用户的问题,此为背景。

    此处有两类需要解析html的地方,用到了两个方式,第一个方式是我自己写的,只能解析层级只有两到三层的html代码,第二个方式是别人已经写好的插件(https://github.com/icindy/wxParse),但是你要达到你想要的效果就需要对这个插件进行修改。首先来说简单的

    第一种:

    机器人的聊天是用户发送问题,后端返回的答案是html格式的(项目已成型),这时候我们要做的第一步是把段html代码翻译成小程序自己的语言。

    返回值为:

    {"content":"启动速度和电脑配置及系统安装软件的多少都有关系,以下是小乐搜集到的优化方法,您可以尝试 1.您可以通过调整启动项和服务项提速,<a href="http://robotterm.ecare365.com/ZmptY2NtYW5hZ2Vy/p4data/Rdata/Rfiles/1581.html">➢点击这里</a>查看方法 2.如果是笔记本电脑,可尝试将电源管理方案调整至高性能,<a href="http://robotterm.ecare365.com/ZmptY2NtYW5hZ2Vy/p4data/Rdata/Rfiles/xitongdianyuanguanli.html">➢点击这里</a>查看操作方法 3.您可以使用小工具优化加速您电脑的系统(<a href="http://tsonline.lenovo.com.cn/robot/robot_web_app/api/tools_weixin.html?id=1531144&name=8s8_t137">➢点击这里填写您的邮箱</a>接收小工具,在电脑上运行) 85%的用户通过以上方法解决了此问题/:strong 亲~不要着急哦,请回复数字“0”小乐帮您转接工程师","msgtype":"text","code":1000,"success":true}

    下边开始转化,

    思路:第一步首先把这个html代码转化成json,由于这个一部分数据层级只有两层,所以我们生成的json就不考虑层级,按照顺序生成,但是需要注意的是里边含有a标签,这时候我们需要做的是把a标签变成navigator标签,或者是转成view标签,加上点击事件调用navigator事件。

     js生产json后wxml用template循环获取

    这样就可以生成我们想要的页面

    第二种情况:

    如上图所示,我们解析了a标签,但是这个a标签对应的是一个html的方案,而解析整个html我们用上边的方式就不行了。

    这时候我们需要时点击a标签时用请求 wx.request请求这个html的url,获取到html后用html2json直接转化成json,https://github.com/icindy/wxParse在这里你可以得到获取转化成json以及解析成wxml的例子。

    需要注意的是你拿到这个例子后展示你的页面会很差强人意,这时候你只能修改它的逻辑,按照你们的模版进行进一步转化。

     

     这样一个简单的小程序的聊天就形成了,即使里边有外链我们也可以很好的解决

  • 相关阅读:
    百度判断手机终端并自动跳转uaredirect.js代码及使用实例
    php 即点即改
    Thinkphp 3.2 去掉index.php
    php获取数组中指定值的下标
    tp5 查询本年、本月、本周的方法
    《数字集成电路静态时序分析基础》笔记⑨
    《数字集成电路静态时序分析基础》笔记⑧
    《数字集成电路静态时序分析基础》笔记⑦
    《数字集成电路静态时序分析基础》笔记⑥
    《数字集成电路静态时序分析基础》笔记⑤
  • 原文地址:https://www.cnblogs.com/Ycc9/p/6149235.html
Copyright © 2011-2022 走看看