摘要:小程序官方的加解密已經非常清楚了,只不過改成風格而已,僅僅相當于搬磚工。至于重復造輪子,我發現其他人的擴展解密用戶信息的時候代碼出錯了,并且需要安裝一個的擴展,沒有提示用戶去安裝。
小程序API接口小程序官方的加解密 SDK 已經非常清楚了,只不過改成 Laravel 風格而已,僅僅相當于搬磚工。至于重復造輪子,我發現其他人的擴展解密用戶信息的時候代碼出錯了,并且需要安裝一個 Laravel 的 Curl 擴展,沒有提示用戶去安裝。只好自己去根據他們的源碼自己寫一個0.0 ,不依賴其他擴展,直接安裝使用即可。
用戶登錄:wx.login
獲取用戶信息:wx.getUserInfo
安裝執行以下命令安裝最新穩定版本:
composer require iwanli/wxxcx
或者添加如下信息到你的 composer.json 文件中 :
"iwanli/wxxcx": "^1.0",
然后注冊服務提供者到 Laravel中 具體位置:/config/app.php 中的 providers 數組:
IwanliWxxcxWxxcxServiceProvider::class,
發布配置文件:
php artisan vendor:publish --tag=wxxcx
命令完成后,會添加一個wxxcx.php配置文件到您的配置文件夾 如 : /config/wxxcx.php。
生成配置文件后,將小程序的 AppID 和 AppSecret 填寫到 /config/wxxcx.php 文件中
在Laravel 5控制器中使用 (示例)... use IwanliWxxcxWxxcx; class WxxcxController extends Controller { protected $wxxcx; function __construct(Wxxcx $wxxcx) { $this->wxxcx = $wxxcx; } /** * 小程序登錄獲取用戶信息 * @author 晚黎 * @date 2017-05-27T14:37:08+0800 * @return [type] [description] */ public function getWxUserInfo() { //code 在小程序端使用 wx.login 獲取 $code = request("code", ""); //encryptedData 和 iv 在小程序端使用 wx.getUserInfo 獲取 $encryptedData = request("encryptedData", ""); $iv = request("iv", ""); //根據 code 獲取用戶 session_key 等信息, 返回用戶openid 和 session_key $userInfo = $this->wxxcx->getLoginInfo($code); //獲取解密后的用戶信息 return $this->wxxcx->getUserInfo($encryptedData, $iv); } }
用戶信息返回格式:
{ "openId": "xxxx", "nickName": "晚黎", "gender": 1, "language": "zh_CN", "city": "", "province": "Shanghai", "country": "CN", "avatarUrl": "http://wx.qlogo.cn/mmopen/xxxx", "watermark": { "timestamp": 1495867603, "appid": "your appid" } }小程序端獲取 code、iv、encryptedData 向服務端發送請求示例代碼:
//調用登錄接口 wx.login({ success: function (response) { var code = response.code wx.getUserInfo({ success: function (resp) { wx.request({ url: "your domain", data: { code: code, iv: resp.iv, encryptedData: resp.encryptedData }, success: function (res) { console.log(res.data) } }) } }) }, fail:function(){ ... } })
github地址:https://github.com/lanceWan/wxxcx
packagist地址: https://packagist.org/packages/iwanli/wxxcx
個人博客地址:http://blog.iwanli.me/
如有bug,請在 Issues 中反饋,非常感謝!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/23029.html
摘要:功能介紹本擴展包包含用戶詳細信息解密帶參數小程序碼生成并保存在本地目錄功能。用戶詳細信息解密官方也提供多種語言版本,在本擴展包中僅僅做封裝處理。 功能介紹 本擴展包包含用戶詳細信息解密、帶參數小程序碼生成并保存在本地目錄功能。用戶詳細信息解密官方也提供多種語言版本SDK(C++、PHP、Node、Python),在本擴展包中僅僅做封裝處理。帶參數小程序碼生成,官方給出三種接口,在此擴展...
摘要:最佳實踐良好的編碼規范單元測試持續集成文檔,從一開始就形成良好的編碼習慣。真實的電商業務所有的業務需求來自真實的客戶,并且線上良好運營中。 重要通知: Laravel + 小程序的開源電商版本源碼已經在 github 上拉,歡迎提交 issue 和 star :) 開源電商 Server 端: Laravel API源碼 開源電商 client 端:小程序源碼 iBrand 簡介...
摘要:對于這個頁面,如果微信用戶沒有系統角色,則跳轉到登錄頁。令人憂桑的是,微信小程序并沒有提供針對實例的中間件機制。即使用戶身份校驗不通過,小程序也并不會阻塞頁面的渲染。 場景 小程序有52個頁面,其中13個頁面無需任何身份,另外39個頁面需要系統角色。對于這39個頁面,如果微信用戶沒有系統角色,則跳轉到登錄頁。 是否有系統角色信息需要通過異步請求來獲取。 需求分析&實現 對需求進行抽...
摘要:平日學習接觸過的網站積累,以每月的形式發布。年以前看這個網址概況在線地址前端開發群月報提交原則技術文章新的為主。 平日學習接觸過的網站積累,以每月的形式發布。2017年以前看這個網址:http://www.kancloud.cn/jsfron... 概況 在線地址:http://www.kancloud.cn/jsfront/month/82796 JS前端開發群月報 提交原則: 技...
閱讀 3717·2021-10-11 10:59
閱讀 1301·2019-08-30 15:44
閱讀 3479·2019-08-29 16:39
閱讀 2888·2019-08-29 16:29
閱讀 1800·2019-08-29 15:24
閱讀 808·2019-08-29 15:05
閱讀 1264·2019-08-29 12:34
閱讀 2302·2019-08-29 12:19