開發(fā)小程序也有一年多了,根據(jù)常見的情況,生成二維碼還是經常用到。 比如掃碼點餐小程序,需要為每一張桌子生成一個專屬二維碼用于區(qū)分不同桌號。 小程序不能直接分享到朋友圈或者通過其他非微信傳播,但是可以生成一個二維碼圖片,用圖片發(fā)送從而分享。如下圖 在小程序里生成分享圖片目前有三種方式。 第一種,用小程序的畫布canvas生成圖片,然后直接保存畫布畫的圖片到系統(tǒng)相冊,根據(jù)筆者親測,不太完美。 第二種,用PHP圖片處理類生成圖片,然后在小程序前端顯示。 第三張,生成一個專屬分享頁面,引導用戶截屏分享。 但不管是哪一種方式,都需要用到微信的生成二維碼或者小程序碼接口。 微信提供了三種方式生成, createWXAQRCode 生成數(shù)量限制為10萬的小程序二維碼。 getWXACode生成數(shù)量限制為10萬的小程序碼。 getWXACodeUnlimit生成無數(shù)量限制的小程序碼。 大家可以根據(jù)場景采用不同的方式。注意不同方式參數(shù)不一樣,getWXACodeUnlimit方法的參數(shù)需要通過scene傳遞。 分享如下PHP生成無限制數(shù)量小程序碼的代碼 $AccessTokenModel = new \Api\Model\AccessTokenModel(); $access_token = $AccessTokenModel->get_token(); $url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$access_token; $data['scene'] = 'id='.$goods_id.'&i='.$item_id.'&m='.$member_id; $data['page'] = 'pages/detail/index'; $data['width'] = '280px'; $data_json = json_encode($data); $result = sendCmd($url,$data_json); $code_pic = 'Public/code/code-'.$id.'-'.$item_id.'.jpeg'; if(file_put_contents($code_pic,$result) > 0) { //生成成功處理 } else { //生成失敗處理 }