成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Laravel 5 微信小程序擴(kuò)展

Pines_Cheng / 2401人閱讀

摘要:小程序官方的加解密已經(jīng)非常清楚了,只不過改成風(fēng)格而已,僅僅相當(dāng)于搬磚工。至于重復(fù)造輪子,我發(fā)現(xiàn)其他人的擴(kuò)展解密用戶信息的時候代碼出錯了,并且需要安裝一個的擴(kuò)展,沒有提示用戶去安裝。

小程序官方的加解密 SDK 已經(jīng)非常清楚了,只不過改成 Laravel 風(fēng)格而已,僅僅相當(dāng)于搬磚工。至于重復(fù)造輪子,我發(fā)現(xiàn)其他人的擴(kuò)展解密用戶信息的時候代碼出錯了,并且需要安裝一個 Laravel 的 Curl 擴(kuò)展,沒有提示用戶去安裝。只好自己去根據(jù)他們的源碼自己寫一個0.0 ,不依賴其他擴(kuò)展,直接安裝使用即可。

小程序API接口

用戶登錄:wx.login

獲取用戶信息:wx.getUserInfo

安裝

執(zhí)行以下命令安裝最新穩(wěn)定版本:

composer require iwanli/wxxcx

或者添加如下信息到你的 composer.json 文件中 :

"iwanli/wxxcx": "^1.0",

然后注冊服務(wù)提供者到 Laravel中 具體位置:/config/app.php 中的 providers 數(shù)組:

IwanliWxxcxWxxcxServiceProvider::class,

發(fā)布配置文件:

php artisan vendor:publish --tag=wxxcx

命令完成后,會添加一個wxxcx.php配置文件到您的配置文件夾 如 : /config/wxxcx.php

生成配置文件后,將小程序的 AppIDAppSecret 填寫到 /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", "");

        //根據(jù) 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 向服務(wù)端發(fā)送請求示例代碼:
//調(diào)用登錄接口
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 中反饋,非常感謝!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/23029.html

相關(guān)文章

  • Laravel 信小程序獲取『用戶詳細(xì)信息』及『帶參數(shù)小程序碼』擴(kuò)展

    摘要:功能介紹本擴(kuò)展包包含用戶詳細(xì)信息解密帶參數(shù)小程序碼生成并保存在本地目錄功能。用戶詳細(xì)信息解密官方也提供多種語言版本,在本擴(kuò)展包中僅僅做封裝處理。 功能介紹 本擴(kuò)展包包含用戶詳細(xì)信息解密、帶參數(shù)小程序碼生成并保存在本地目錄功能。用戶詳細(xì)信息解密官方也提供多種語言版本SDK(C++、PHP、Node、Python),在本擴(kuò)展包中僅僅做封裝處理。帶參數(shù)小程序碼生成,官方給出三種接口,在此擴(kuò)展...

    maybe_009 評論0 收藏0
  • Laravel 教程 - 實戰(zhàn) iBrand 開源電商 API 系統(tǒng)

    摘要:最佳實踐良好的編碼規(guī)范單元測試持續(xù)集成文檔,從一開始就形成良好的編碼習(xí)慣。真實的電商業(yè)務(wù)所有的業(yè)務(wù)需求來自真實的客戶,并且線上良好運營中。 重要通知: Laravel + 小程序的開源電商版本源碼已經(jīng)在 github 上拉,歡迎提交 issue 和 star :) 開源電商 Server 端: Laravel API源碼 開源電商 client 端:小程序源碼 iBrand 簡介...

    iOS122 評論0 收藏0
  • 信小程序之頁面攔截器

    摘要:對于這個頁面,如果微信用戶沒有系統(tǒng)角色,則跳轉(zhuǎn)到登錄頁。令人憂桑的是,微信小程序并沒有提供針對實例的中間件機(jī)制。即使用戶身份校驗不通過,小程序也并不會阻塞頁面的渲染。 場景 小程序有52個頁面,其中13個頁面無需任何身份,另外39個頁面需要系統(tǒng)角色。對于這39個頁面,如果微信用戶沒有系統(tǒng)角色,則跳轉(zhuǎn)到登錄頁。 是否有系統(tǒng)角色信息需要通過異步請求來獲取。 需求分析&實現(xiàn) 對需求進(jìn)行抽...

    Stardustsky 評論0 收藏0
  • 2017年1月前端月報

    摘要:平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。年以前看這個網(wǎng)址概況在線地址前端開發(fā)群月報提交原則技術(shù)文章新的為主。 平日學(xué)習(xí)接觸過的網(wǎng)站積累,以每月的形式發(fā)布。2017年以前看這個網(wǎng)址:http://www.kancloud.cn/jsfron... 概況 在線地址:http://www.kancloud.cn/jsfront/month/82796 JS前端開發(fā)群月報 提交原則: 技...

    FuisonDesign 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<