• 生成小程序事件二维码

    生成小程序事件二维码

    小程序提供了三种方式实现事件码,具体技术文档见:小程序码

    WeiPHP5.0也对应实现了这三种事件码

    weiapp_demo代码见qrcode部分

    A模式下,只需要根据自己的需求修改path和width参数即可获取二维码的URL,用户此码后就跳转到跳转的path页面

    1. // 获取A模式下的二维码
    2. getCodeByA: function () {
    3. var that = this,
    4. url = app.url + 'weiapp/Api/getwxacode&PHPSESSID=' + wx.getStorageSync('PHPSESSID');
    5. wx.request({
    6. url: url,
    7. data: { type: 'A', param: { path: 'pages/qrcode/qrcode', width: 400 } },
    8. success: function (res) {
    9. if (res.data.status == 0) {
    10. that.showError(res.data.msg)
    11. } else {
    12. that.setData({ 'a_src': res.data.url })
    13. }
    14. }
    15. })
    16. },

    B模式下,只需要根据自己的需求修改scene和width参数即可获取二维码的URL

    1. // 获取B模式下的二维码
    2. getCodeByB: function () {
    3. var that = this,
    4. url = app.url + 'weiapp/Api/getwxacode&PHPSESSID=' + wx.getStorageSync('PHPSESSID');
    5. wx.request({
    6. url: url,
    7. data: { type: 'B', param: { scene: 'qrcode', width: 400 } },
    8. success: function (res) {
    9. if (res.data.status == 0) {
    10. that.showError(res.data.msg)
    11. } else {
    12. that.setData({ 'b_src': res.data.url })
    13. }
    14. }
    15. })
    16. },

    使用B生成的二维码,用户扫码后统一进入小程序首页,如果要跳转到指定页面或者做指定动作,可以在首页加入以下类型的业务判断代码

    1. // 这是首页的 js
    2. Page({
    3. onLoad: function(options) {
    4. var scene = options.scene
    5. if(scene=='qrcode'){
    6. //跳转到qrcode页面,如果qrcode在底部栏有配置,需要使用wx.switchTab来跳转
    7. wx.redirectTo({
    8. url: '/pages/qrcode/qrcode'
    9. })
    10. }
    11. }
    12. })

    C模式下,只需要根据自己的需求修改path和width参数即可获取二维码的URL,用户此码后就跳转到跳转的path页面

    1. // 获取C模式下的二维码
    2. getCodeByC: function () {
    3. var that = this,
    4. url = app.url + 'weiapp/Api/getwxacode&PHPSESSID=' + wx.getStorageSync('PHPSESSID');
    5. wx.request({
    6. url: url,
    7. data: { type: 'C', param: { path: 'pages/qrcode/qrcode', width: 400 } },
    8. success: function (res) {
    9. if (res.data.status == 0) {
    10. that.showError(res.data.msg)
    11. } else {
    12. that.setData({ 'c_src': res.data.url })
    13. }
    14. }
    15. })
    16. },