• 微信浏览器调试

    2017-06-09 18:01:12
    微信浏览器调试

    最近做支付改版的项目,为了调试页面在微信浏览器中的效果而尝试了几种调试方法。

    1. 微信web开发者工具

      下载地址:windowsx86版本下载

      调试效果:
      这里写图片描述

      使用注意事项:
      (1).因为我要调试的页面,需要微信登陆授权功能,使用此功能需要你的微信号为调试页面所属企业号的开发者,可以在微信公众平台企业号中绑定开发者身份。
      (2).这工具可以console、打断点,爽是蛮爽,就是坑爹不支持模拟微信支付接口,还是不能debug微信支付。看来只能在手机上做debug了,然后找到了vconsole插件,支持console控制台。

    2. vconsole插件

      下载地址:vconsole.js在GitHub下载地址
      调试效果:
      这里写图片描述
      使用注意事项:
      (1)将vconsole.js文件通过script标签引入到需要打印调试信息的页面即可。使用简单
      (2)只能打印调试信息,不能打断点

    3. 微信支付踩坑点

      (1)微信支付有安全支付路径限制,需要在微信公众平台你的企业号里面,添加当前的支付页面路径进安全支付路径,否则调wx.chooseWXPay()方法,参数传的再怎么正确,也只会相当智能的返回一个fail==.留人一脸懵逼。
      (2)微信支付调起需要在微信浏览器环境中,需要获取用户openID,如果用户不选择用微信账户登录你的公众号,此时拿不到openID,有两个解决办法
      a.通过调起网页用户信息授权,来获取用户openID
      b.不去获取openID,采用微信扫码支付,

      //生成付款二维码代码
       <script src="${pageContext.request.contextPath}/script/lib/qrcode.min.js"></script>
      methodeWXNative:function(code_url){
          $("#pay-qr-code").html("");
          new QRCode(document.getElementById("pay-qr-code"), {
              'text':code_url,
              colorDark : "#3F3F3F",
              colorLight : "#ffffff",
              width:256,
              height:256,
          });
      },
    展开全文
  • 下面介绍在微信开发调试方面的应用。 微信网页开发中,由于有js接口安全域名和授权域名等的限制,导致部分功能需要部署到线上才能测试。通过代理可以实现本地调试网站的所有功能。 配置代理规则 全站转发可以这样...

    Fiddler是一个非常强大的代理工具,可以让你的前端开发调试更加方便。下面介绍在微信开发调试方面的应用。

    微信网页开发中,由于有js接口安全域名和授权域名等的限制,导致部分功能需要部署到线上才能测试。通过代理可以实现本地调试网站的所有功能。

    配置代理规则

    全站转发可以这样设置:Tools -> HOSTS
    HOST配置

    图片中表示your.domain.com的请求全部转发到127.0.0.1:8000。第二个参数的限制是:不能加协议、路径或参数。

    如果你的网站域名和接口域名是同一个,那就不能使用全站转发了,需要html、css、js、websocket请求转发到本地,接口调用请求则直接发送到远程服务器。

    可以使用自定义规则实现
    自定义规则

    上面图片中的正则表达式和目标地址如下:

    regex:^http://your.domain.com(?!/api|/swagger|/webjars|/configuration/ui)(.*)
    
    
    http://localhost:8000$1
    

    本条规则表示:将your.domain.com下的http请求转发到localhost:8000,其中/api/swagger/webjarsconfiguration/ui开头的路径不转发。

    目标地址表达式中的$1代表原始请求URL域名后面的字符串,包括pathsearch

    设置代理服务器

    打开微信开发者工具,设置 -> 代理设置 -> 选择手动设置代理
    Fiddler默认运行在127.0.0.1:8888

    在真机上测试

    在真机上测试本地微信网页项目的步骤如下:

    1. 手机和电脑连接同一个局域网。
    2. 设置Fiddler允许远程连接,Tools -> Options -> Connections -> 勾选Allow remote computers to connect

    allow-remote

    1. 查看电脑在局域网中的IP地址,命令行输入ipconfig(windows)。

    getIp

    1. 手机网络配置代理服务器。

    phone-config

    到这里,本篇文章的主要内容就结束了,如果你想了解更多关于Fiddler和代理工具的使用,可以参考我同事的文章代理工具Fiddler -调试与替换接口状态
    代理工具做微信项目的调试配置
    如果你想了解使用nodejs如何实现上述以及更多自定义的功能,敬请往下阅读。

    nodejs实现代理服务器

    下文中,client表示客户端(浏览器),proxy表示代理服务器,server表示目标服务器

    HTTP

    实现HTTP代理服务器是非常简单的,因为HTTP为明文传输,所以proxy只需要解析client的HTTP报文,再向server发送相同的请求,server响应时,proxy将HTTP响应状态,响应首部字段和响应主体返回给client即可。

    这里可以使用nodejs的http模块实现

    const http = require('http');
    const { URL } = require('url');
    
    let server = http.createServer((req, res) => {
      let {
        pathname,
        search,
        hostname,
        port
      } = new URL(req.url);
    
      console.log('http ', req.url);
    
      // 后端api调用请求直接发送给远程服务器,除此之外的HTTP请求发送给本地运行的端口
      if (!pathname.startsWith('/api')) {
        hostname = 'localhost';
        port = 8000; // 项目运行的端口
      }
    
      req.pipe(http.request({
        hostname,
        port,
        path: `${pathname}${search}`,
        method: req.method,
        headers: req.headers
      }, (response) => {
        res.writeHead(response.statusCode, response.statusMessage, response.headers);
        response.pipe(res);
      }));
    });
    
    server.listen(8888);
    
    

    HTTPS

    只有HTTP代理服务器是不够的,因为不管是微信开发工具,还是浏览器,都有可能发送HTTPS请求。比如微信开发者工具的登录和域名校验就是使用的HTTPS与微信服务器通信的,如果不代理这部分流量是无法正常运行微信开发者工具的。

    HTTPS因为报文加密的原因,proxy不能解析报文后伪装client发送请求。最常见的解决方案是web隧道,proxy建立和client、server的TCP连接,之后盲转发两端的数据。

    建立web隧道的方式之一是使用HTTP的CONNECT方法,实际上客户端(浏览器)设置了代理服务器后,client发出的HTTPS请求是不同的,它首先会使用CONNECT方法发送HTTP请求,请求proxy建立连接,这是proxy能代理HTTPS的关键。

    client请求proxy与server建立TCP连接的HTTP报文如下:

    CONNECT your.domain:443 HTTP/1.1
    Host: your.domain:443
    Connection: keep-alive
    User-Agent: M....
    
    

    proxy在与server建立TCP连接后,按照约定,需要200 Connection Established响应,响应首部字段可自定义:

    HTTP/1.1 200 Connection Established
    Connection: close
    
    

    所以http服务器就可以代理https请求。实际上,按照上面的原理http服务器能够代理很多其他协议的流量。

    https代理服务器需要使用http和net模块,对上面的http代理的代码扩展即可

    server.on('connect', (req, clientSocket) => {
      let {
        port,
        hostname
      } = new URL(`http://${req.url}`);
    
      console.log('https', req.url);
    
      let serverSocket = net.connect(port || 80, hostname, () => {
        clientSocket.write(
          `HTTP/1.1 200 Connection Established
    Connection: close
    
    `
        );
    
        clientSocket.pipe(serverSocket);
        serverSocket.pipe(clientSocket);
      });
    });
    

    从实现方式可以看出来,这种代理服务器是无法正常获取和更改通信双方的数据的。如果要实现能监听和更改通信数据的HTTPS代理服务器,可以使用自签名证书实现,这里不做探究。

    websocket

    本地开发的项目往往有热更新功能,而热更新的通信依靠websocket,所以websocket代理也是必不可少的。websocket的连接也是用HTTP建立起来的。
    如果根据我们之前了解的websocket知识,client会向服务器发送协议升级请求(请求报文中包含特殊的请求首部字段),服务器响应101 Switching Protocols,之后的数据则转为websocket协议发送。根据以上流程,同样只需要对http服务器代码扩充即可,我们很容易写出如下代码:

    server.on('upgrade', (req, clientSocket) => {
      let {
        pathname,
        search,
        hostname,
        port
      } = new URL(req.url);
    
      console.log('websocket', req.url);
    
      let request = http.request({
        pathname: 'localhost',
        port: 8000, // 项目运行的端口
        method: req.method,
        headers: req.headers
      });
    
      req.pipe(request);
    
      request.on('upgrade', (response, serverSocket) => {
        let resStr = 'HTTP/1.1 101 Switching Protocols\r\n';
    
        for (let [key, value] of Object.entries(response.headers)) {
          resStr += `${key}: ${value}\r\n`;
        }
    
        resStr += '\r\n';
    
        clientSocket.write(resStr);
        clientSocket.pipe(serverSocket);
        serverSocket.pipe(clientSocket);
      });
    });
    
    server.listen(8888)
    

    上面的写法实际上是反向代理服务器的写法。即,浏览器直接建立到ws://localhost:8888的请求,该代理服务器是能够将请求转发到8000端口的,但当浏览器设置了代理服务器后,发送websocket请求和没设置前是不同的,它同样会先向proxy请求建立连接,所以代理websocket请求和代理https请求代码是一样的,我们在connect事件中做好区分即可。

    server.on('connect', (req, clientSocket) => {
      let {
        port,
        hostname
      } = new URL(`http://${req.url}`);
    
      console.log('https', req.url);
    
      // websocket请求发送到本地8000端口
      if (req.url === 'your.domain.com:80') {
        port = 8000; // 项目运行的端口
        hostname = 'localhost';
      }
    
      let serverSocket = net.connect(port || 80, hostname, () => {
        clientSocket.write(
          `HTTP/1.1 200 Connection Established
    Connection: close
    
    `
        );
    
        console.log(req.url, 'connect');
    
        clientSocket.pipe(serverSocket);
        serverSocket.pipe(clientSocket);
      });
    });
    

    经过以上三步,一个带有完整功能的代理服务器就写好了,想要实现自定义功能,无非是在请求报文识别和server响应报文篡改上做文章,尽情发挥你的创造力吧。

    作者简介:叶茂,芦苇科技web前端开发工程师,代表作品:口红挑战网红小游戏、服务端渲染官网、微信小程序粒子系统。擅长网站建设、公众号开发、微信小程序开发、小游戏、公众号开发,专注于前端领域框架、交互设计、图像绘制、数据分析等研究。 一起并肩作战: yemao@talkmoney.cn 访问 www.talkmoney.cn 了解更多Fiddler是一个非常强大的代理工具,可以让你的前端开发调试更加方便。下面介绍在微信开发调试方面的应用。

    微信网页开发中,由于有js接口安全域名和授权域名等的限制,导致部分功能需要部署到线上才能测试。通过代理可以实现本地调试网站的所有功能。

    配置代理规则

    全站转发可以这样设置:Tools -> HOSTS
    HOST配置

    图片中表示your.domain.com的请求全部转发到127.0.0.1:8000。第二个参数的限制是:不能加协议、路径或参数。

    如果你的网站域名和接口域名是同一个,那就不能使用全站转发了,需要html、css、js、websocket请求转发到本地,接口调用请求则直接发送到远程服务器。

    可以使用自定义规则实现
    自定义规则

    上面图片中的正则表达式和目标地址如下:

    regex:^http://your.domain.com(?!/api|/swagger|/webjars|/configuration/ui)(.*)
    
    
    http://localhost:8000$1
    

    本条规则表示:将your.domain.com下的http请求转发到localhost:8000,其中/api/swagger/webjarsconfiguration/ui开头的路径不转发。

    目标地址表达式中的$1代表原始请求URL域名后面的字符串,包括pathsearch

    设置代理服务器

    打开微信开发者工具,设置 -> 代理设置 -> 选择手动设置代理
    Fiddler默认运行在127.0.0.1:8888

    在真机上测试

    在真机上测试本地微信网页项目的步骤如下:

    1. 手机和电脑连接同一个局域网。
    2. 设置Fiddler允许远程连接,Tools -> Options -> Connections -> 勾选Allow remote computers to connect

    allow-remote

    1. 查看电脑在局域网中的IP地址,命令行输入ipconfig(windows)。

    getIp

    1. 手机网络配置代理服务器。

    phone-config

    到这里,本篇文章的主要内容就结束了,如果你想了解更多关于Fiddler和代理工具的使用,可以参考我同事的文章代理工具Fiddler -调试与替换接口状态
    代理工具做微信项目的调试配置
    如果你想了解使用nodejs如何实现上述以及更多自定义的功能,敬请往下阅读。

    nodejs实现代理服务器

    下文中,client表示客户端(浏览器),proxy表示代理服务器,server表示目标服务器

    HTTP

    实现HTTP代理服务器是非常简单的,因为HTTP为明文传输,所以proxy只需要解析client的HTTP报文,再向server发送相同的请求,server响应时,proxy将HTTP响应状态,响应首部字段和响应主体返回给client即可。

    这里可以使用nodejs的http模块实现

    const http = require('http');
    const { URL } = require('url');
    
    let server = http.createServer((req, res) => {
      let {
        pathname,
        search,
        hostname,
        port
      } = new URL(req.url);
    
      console.log('http ', req.url);
    
      // 后端api调用请求直接发送给远程服务器,除此之外的HTTP请求发送给本地运行的端口
      if (!pathname.startsWith('/api')) {
        hostname = 'localhost';
        port = 8000; // 项目运行的端口
      }
    
      req.pipe(http.request({
        hostname,
        port,
        path: `${pathname}${search}`,
        method: req.method,
        headers: req.headers
      }, (response) => {
        res.writeHead(response.statusCode, response.statusMessage, response.headers);
        response.pipe(res);
      }));
    });
    
    server.listen(8888);
    
    

    HTTPS

    只有HTTP代理服务器是不够的,因为不管是微信开发工具,还是浏览器,都有可能发送HTTPS请求。比如微信开发者工具的登录和域名校验就是使用的HTTPS与微信服务器通信的,如果不代理这部分流量是无法正常运行微信开发者工具的。

    HTTPS因为报文加密的原因,proxy不能解析报文后伪装client发送请求。最常见的解决方案是web隧道,proxy建立和client、server的TCP连接,之后盲转发两端的数据。

    建立web隧道的方式之一是使用HTTP的CONNECT方法,实际上客户端(浏览器)设置了代理服务器后,client发出的HTTPS请求是不同的,它首先会使用CONNECT方法发送HTTP请求,请求proxy建立连接,这是proxy能代理HTTPS的关键。

    client请求proxy与server建立TCP连接的HTTP报文如下:

    CONNECT your.domain:443 HTTP/1.1
    Host: your.domain:443
    Connection: keep-alive
    User-Agent: M....
    
    

    proxy在与server建立TCP连接后,按照约定,需要200 Connection Established响应,响应首部字段可自定义:

    HTTP/1.1 200 Connection Established
    Connection: close
    
    

    所以http服务器就可以代理https请求。实际上,按照上面的原理http服务器能够代理很多其他协议的流量。

    https代理服务器需要使用http和net模块,对上面的http代理的代码扩展即可

    server.on('connect', (req, clientSocket) => {
      let {
        port,
        hostname
      } = new URL(`http://${req.url}`);
    
      console.log('https', req.url);
    
      let serverSocket = net.connect(port || 80, hostname, () => {
        clientSocket.write(
          `HTTP/1.1 200 Connection Established
    Connection: close
    
    `
        );
    
        clientSocket.pipe(serverSocket);
        serverSocket.pipe(clientSocket);
      });
    });
    

    从实现方式可以看出来,这种代理服务器是无法正常获取和更改通信双方的数据的。如果要实现能监听和更改通信数据的HTTPS代理服务器,可以使用自签名证书实现,这里不做探究。

    websocket

    本地开发的项目往往有热更新功能,而热更新的通信依靠websocket,所以websocket代理也是必不可少的。websocket的连接也是用HTTP建立起来的。
    如果根据我们之前了解的websocket知识,client会向服务器发送协议升级请求(请求报文中包含特殊的请求首部字段),服务器响应101 Switching Protocols,之后的数据则转为websocket协议发送。根据以上流程,同样只需要对http服务器代码扩充即可,我们很容易写出如下代码:

    server.on('upgrade', (req, clientSocket) => {
      let {
        pathname,
        search,
        hostname,
        port
      } = new URL(req.url);
    
      console.log('websocket', req.url);
    
      let request = http.request({
        pathname: 'localhost',
        port: 8000, // 项目运行的端口
        method: req.method,
        headers: req.headers
      });
    
      req.pipe(request);
    
      request.on('upgrade', (response, serverSocket) => {
        let resStr = 'HTTP/1.1 101 Switching Protocols\r\n';
    
        for (let [key, value] of Object.entries(response.headers)) {
          resStr += `${key}: ${value}\r\n`;
        }
    
        resStr += '\r\n';
    
        clientSocket.write(resStr);
        clientSocket.pipe(serverSocket);
        serverSocket.pipe(clientSocket);
      });
    });
    
    server.listen(8888)
    

    上面的写法实际上是反向代理服务器的写法。即,浏览器直接建立到ws://localhost:8888的请求,该代理服务器是能够将请求转发到8000端口的,但当浏览器设置了代理服务器后,发送websocket请求和没设置前是不同的,它同样会先向proxy请求建立连接,所以代理websocket请求和代理https请求代码是一样的,我们在connect事件中做好区分即可。

    server.on('connect', (req, clientSocket) => {
      let {
        port,
        hostname
      } = new URL(`http://${req.url}`);
    
      console.log('https', req.url);
    
      // websocket请求发送到本地8000端口
      if (req.url === 'your.domain.com:80') {
        port = 8000; // 项目运行的端口
        hostname = 'localhost';
      }
    
      let serverSocket = net.connect(port || 80, hostname, () => {
        clientSocket.write(
          `HTTP/1.1 200 Connection Established
    Connection: close
    
    `
        );
    
        console.log(req.url, 'connect');
    
        clientSocket.pipe(serverSocket);
        serverSocket.pipe(clientSocket);
      });
    });
    

    经过以上三步,一个带有完整功能的代理服务器就写好了,想要实现自定义功能,无非是在请求报文识别和server响应报文篡改上做文章,尽情发挥你的创造力吧。

    查看原文https://www.talkmoney.cn/blog/articleId367

    作者简介:叶茂,芦苇科技web前端开发工程师,代表作品:口红挑战网红小游戏、服务端渲染官网、微信小程序粒子系统。擅长网站建设、公众号开发、微信小程序开发、小游戏、公众号开发,专注于前端领域框架、交互设计、图像绘制、数据分析等研究。 一起并肩作战: yemao@talkmoney.cn 访问 www.talkmoney.cn 了解更多

    展开全文
  • 远程调试任何手机浏览器页面,任何手机移动端webview(如:微信,HybirdApp等)。支持HTTP/HTTPS,无需USB连接设备。     01特性   1、页面调试+抓包 2、操作简单,无需USB连接设备 3、支持HTTPS。 4、...

    一站式页面调试、抓包工具。远程调试任何手机浏览器页面,任何手机移动端webview(如:微信,HybirdApp等)。支持HTTP/HTTPS,无需USB连接设备。

     

     

    01特性

     

    1、页面调试+抓包

    2、操作简单,无需USB连接设备

    3、支持HTTPS。

    4、spy-debugger内部集成了weinre、node-mitmproxy、AnyProxy。

    5、自动忽略原生App发起的https请求,只拦截webview发起的https请求。对使用了SSL pinning技术的原生App不造成任何影响。

    6、可以配合其它代理工具一起使用(默认使用AnyProxy) (设置外部代理)

     

     

    02使用案例

     

    页面编辑模式

     

    启动命令:spy-debugger -w true

     

     

    weiner页面调试界面

     

     

     

    anyproxy抓包界面

     

     

     

    03安装

     

    Windows 下

    
     

    Mac 下

    
     

     

    04三分钟上手

     

    第一步:手机和PC保持在同一网络下(比如同时连到一个Wi-Fi下)

    第二步:命令行输入spy-debugger,按命令行提示用浏览器打开相应地址。

    第三步:设置手机的HTTP代理,代理IP地址设置为PC的IP地址,端口为spy-debugger的启动端口(默认端口:9888)。

    • Android设置代理步骤:设置 - WLAN - 长按选中网络 - 修改网络 - 高级 - 代理设置 - 手动

    • iOS设置代理步骤:设置 - 无线局域网 - 选中网络 - HTTP代理手动

    第四步:手机安装证书。注:手机必须先设置完代理后再通过(非微信)手机浏览器访问http://spydebugger.com/cert(地址二维码)安装证书(手机首次调试需要安装证书,已安装了证书的手机无需重复安装)。

    第五步:用手机浏览器访问你要调试的页面即可。

     

     

    05自定义选项

     

    端口

    (默认端口:9888)

    
     

     

    设置外部代理(默认使用AnyProxy)

    
     

     

    spy-debugger内置AnyProxy提供抓包功能,但是也可通过设置外部代理和其它抓包代理工具一起使用,如:Charles、Fiddler。

     

    设置页面内容为可编辑模式

    该功能使页面内容修改更加直观方便。 (默认: false)

    
     

     

    内部实现原理:在需要调试的页面内注入代码:document.body.contentEditable=true。暂不支持使用了iscroll框架的页面。

     

    是否允许weinre监控iframe加载的页面

    (默认: false)

    
     

     

    是否只拦截浏览器发起的https请求

    (默认: true)

    
     

    有些浏览器发出的connect请求没有正确的携带userAgent,这个判断有时候会出错,如UC浏览器。这个时候需要设置为false。大多数情况建议启用默认配置:true,由于目前大量App应用自身(非WebView)发出的请求会使用到SSL pinning技术,自定义的证书将不能通过app的证书校验。

     

    是否允许HTTP缓存

    (默认: false)

    
     

     

    06更多

     

    • 修复weinre在node.js V7版本会崩溃的bug

    • 对weinre在页面document ready事件前,无法打印console.log日志进行了增强修复。

    • spy-debugger原理是集成了weinre,简化了weinre需要给每个调试的页面添加js代码。spy-debugger原理是拦截所有html页面请求注入weinre所需要的js代码。让页面调试更加方便。

    展开全文
  • 微信h5调试工具

    2018-12-10 14:32:02
    友好的微信给我们提供了这么一个入口,使开发者可以真机调试。给微信开发者点赞。然后就可以看到你打印的内容及其他的信息,比如cookie、LocalStorage,Network、Element…… 微信打开这个网址 ...

    在移动端实际开发中,还是会碰到一些棘手的bug,想看看到底哪里出了问题,苦于移动端不能F12啊。友好的微信给我们提供了这么一个入口,使开发者可以真机调试。给微信开发者点赞。然后就可以看到你打印的内容及其他的信息,比如cookie、LocalStorage,Network、Element……

    微信打开这个网址 http://debugx5.qq.com/ 暖心的我给你准备好了二维码,扫一扫吧

     这里写图片描述 
     
    进去后,选择中间‘’信息‘’,然后一直往下翻,把vConsole打开,把下面两个Content Cache关掉。 

    这里写图片描述 

    然后打开你要调试的页面,你就你能看到右下角有个绿色按钮vConsole。点击就能查看你代码中console的内容了。 


    这里写图片描述
     
    其实还有一种方法是引入vConsole文件。就直接可以看到打印的东西了。他们讲的很明白,我就不多说了。 
    https://github.com/Tencent/vConsole/blob/dev/doc/tutorial_CN.md 

    展开全文
  • 微信小程序中如果 res.data数据是一个json格式数据。 console.log( res.data) ()中不拼接其他字符串 直接打印的话,可以打印数据 如果()中拼接了字符串 console.log("===data===" + res.data) ...

    微信小程序中如果  res.data数据是一个json格式数据。

    console.log( res.data)     ()中不拼接其他字符串 直接打印的话,可以打印数据

    如果()中拼接了字符串  console.log("===data===" + res.data)  这样打印出了是只会打印一个对象名称,不会打印数据

    解决方法:console.log("===data===" + JSON.stringify(res.data));
     


     

    展开全文
  • 微信公众平台前端团队打造的前端调试面板。 使用方法: &lt;script src="path/to/vconsole.min.js"&gt;&lt;/script&gt; &lt;script&gt; console.log("test"); &lt...
  • 于是开始学习微信小程序开发文档,下载微信开发者工具,进行开发了。开发过程中需要调试,开始只是打日志或者断言,觉得很不方便,希望跟IDEA一样的调试器,于是摸索如下: 第一步:打断点,我们必须在我们想要它停下来的...
  • https://blog.csdn.net/m0_37036014/article/details/80113635
  • 最初的console 界面可能以下这样的, 当ctrl + s 保存并跑了一段代码,但是不显示结果. 解决办法就是把旁边的设置按钮 (蓝色的小齿轮) 点击一下就可以切换界面并看到跑代码的结果了 点击一下设置按钮,显示界面改变...
  • 这周做的一个活动有微信分享的功能,本来看微信JS-SDK说明文档代码一copy以为就大功告成了,可是调试-_-#,于是乎写个文章纪念下? 分享的调试 1. 下载微信开发者工具 2. 微信公众平台接口测试帐号申请 申请账号 ...
  • 这篇文章简单介绍了基于node包wechat和wechat-api进行微信公众号开发和基于内网穿透技术的本机调试,想要了解如何用nodejs从头开发微信公众号的童鞋请戳这篇文章。 wechat和wechat-api区别在它们github上也描述得很...
  • 友好的微信给我们提供了这么一个入口,使开发者可以真机调试。给微信开发者点赞。然后就可以看到你打印的内容及其他的信息,比如cookie、LocalStorage,Network、Element…… 微信打开这个网址 ...
  • //重写console.log方法,判断是否开启日志调试模式,否则就不输出 console.log = (function (oriLogFunc) { return function (str) { if (true) {// 需要打印 此处改为 true oriLogFunc.call(console, str); } } })...
  • 前言: 这几天一直想搞个公众号玩一玩。然后去阿里云买了个云服务器ECS(学生9.9/月),因为一开始接触云服务器,所以选了...放进tomcat的webapps目录下,启动tomcat(当然端口是80,因为微信公众号的URL只支持80和4...
  • 开发微信小程序的时候,从后台传过来的数据没有问题,但是在开发的过程中,console.log出来的结果为object。 把console.log()里面的东西去掉,直接是 res.data就可以了 或者是把 ‘+’改为‘,’ 也能...
  • 微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个...
  • 调试微信接口,例如调试微信消息收发接口,我们需要提供一个公网访问url,正常情况下,我们需要建立web工程,然后打包,不部署服务器,提供服务器外网访问url。但是想要将自己本地电脑上运行的项目发布到公网,让...
  • 由于微信环境、sdk的限制,在微信环境下如何有更加良好的调试体验还是有一些坑的,本篇将主要介绍本人在实际业务开发中使用到的微信环境下h5页面的三种调试方法(由于没有苹果手机,所以在开发自测...
  • 微信在线接口工具调试使用
1 2 3 4 5 ... 20
收藏数 6,160
精华内容 2,464