Xiaopei's DokuWiki

These are the good times in your life,
so put on a smile and it'll be alright

User Tools

Site Tools


it:weixin:start

微信开发 weixin wechat

微信web开发者工具

微信web开发者工具 官方文档

移动调试内嵌了 weinre,且使用时不需在自己的网页潜入 target.js 就能拿到 console.log,如果没拿到,需要让网页的脚本慢点执行。

捕捉网页上的错误可以用 window.onerror

window.onerror = function(message, url, lineNumber) {  
  //save error and send to server for example.
  return true;
};  

公共平台

  • 通信方式
    • 收信 / 回复
      • 流程: 用户 –> 微信服务器 –> (HTTP POST XML) 公众号服务器 –> (XML) 微信服务器
      • 接入方式: 在微信设置公众号服务器的 url 及 token(口令)
    • 发请求
      • 流程: 公众号服务器 –> (HTTP GET / POST JSON) 微信服务器 –> (JSON) 公众号服务器
      • 接入方式: 先获取 access_token,再调用 API
  • 订阅号
  • 服务号
  • 测试号
    • 无编辑模式, 不能群发
    • 自行开发后台服务器后, 可在测试号中绑定开发接口, 让服务器接收消息
    • 有 access_token 后, 可使用接口调试工具 https://mp.weixin.qq.com/debug/ 调用微信的接口 (如设置自定义菜单)
    • 测试号可使用 “会话界面自定义菜单” 等普通公共号需认证才能得到的接口
    • node 开发可使用 express/connect 的 node-webot/wechat 中间件
    • 微信中常见的刮刮卡效果可使用 wScratchPad :: jQuery Scratch Pad Plugin
      • 该库实际在操作一个 <canvas>
      • wScratchPad 的 “奖券” 是一张图片, 目前只支持图片 URL
      • 为提升性能, 以后可将 “奖券” 生成放在前台 canvas 生成, 而若不改 wScratchPad, 则对于背景图片可使用 #! URL
    • , node 做图可使用 node-canvas. node-canvas 使用 cairo, 安装参考: node-canvas/wiki
      /// 绘图
      var Canvas = require('canvas')
        , canvas = new Canvas(320, 150)
        , ctx = canvas.getContext('2d');
       
      var draw_text = 'Awesome!'
        , from_x = 100
        , from_y = 65;
       
      // 整个 canvas rotate
      ctx.rotate(.1);
       
      ctx.font = '30px Impact';
      ctx.fillText(draw_text, from_x, from_y);
       
      var te = ctx.measureText(draw_text);
      ctx.strokeStyle = 'rgba(0,0,0,0.5)';
      ctx.beginPath();
      ctx.lineTo(from_x, from_y + 2); // 2px margin to the text
      ctx.lineTo(from_x + te.width, from_y + 2);
      ctx.stroke();
       
      // console.log('<img src="' + canvas.toDataURL() + '" />');
       
      /// 保存
      var fs = require('fs')
        , out = fs.createWriteStream(__dirname + '/lottery.png')
        , stream = canvas.pngStream();
       
      stream.on('data', function(chunk){
        out.write(chunk);
      });
       
      stream.on('end', function(){
        console.log('saved png');
      });
it/weixin/start.txt · Last modified: 2017/08/30 23:44 by admin