<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    微信公眾號與小程序數據互通

    管理 管理 編輯 刪除

    背景

    最近做了一個有意思的功能《官網內容訂閱》,用戶在官網掃碼后可以訂閱官網欄目,訂閱欄目后發送模版消息提醒用戶訂閱成功,模版消息關聯了小程序,然后做了一個小程序來管理用戶訂閱的欄目,小程序提供訂閱和新聞列表閱讀功能。

    實現技術調研分析

    通過背景描述我們知道需要實現兩塊登錄:

    1、官網掃碼二維碼登錄;

    2、用戶直接進小程序實現登錄。

    要實現兩塊登錄且要求用戶從任意一個入口登錄都需要確定為同一個用戶,所以需要打通公眾號與小程序的用戶數據。幸運的是微信公眾平臺提供了unionid機制:

    如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程序),可通過unionid來區分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號(包括小程序),用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。

    因此,第一步需要申請微信開放平臺的開發者資質,成為開發者資質之后,可以在微信開放平臺綁定需要打通數據的公眾號和小程序,讓他們擁有相同的unionid,那么接下來的工作就是實現掃碼登錄與小程序登錄后數據互通。

    掃碼登錄實現

    用戶掃碼登錄狀態時序圖,用戶在瀏覽游戲官網時發現自己喜歡的欄目,

    1. 用戶點擊點閱欄目時;

    2. 瀏覽器將請求微管家服務器獲取二維碼,同時輪詢服務器用戶的掃碼狀態

    3. 微管家服務器通過前端給的網站域名查詢對應的公眾號信息

    4. 微管家服務器去微信后臺請求場景值二維碼

    5. 微信服務器返回場景碼給為瀏覽器

    6. 瀏覽器展示給用戶二維碼

    7. 瀏覽器一直在輪詢用戶掃碼狀態

    8. 用戶掃碼二維碼后,用戶手機瀏覽器(通常是微信內置瀏覽器)發送二維碼請求到服務器

    9. 服務器會獲取用戶的個人信息,

    10. 并將用戶信息和掃碼狀態告知瀏覽器,同時種下瀏覽器cookie

    此時相當面用戶已經用微信登錄且獲取微信昵稱和頭像信息,用戶可以去訂閱其他欄目。

    具體流程請參考下圖。需要注意的時候用戶掃碼登錄之后,要使用用戶的unionid作為用戶的唯一標識,方便下一步關聯的小程序登錄。

    9155a202304281214459930.png

    小程序登錄實現

    小程序登錄請查考小程序官網文檔,需要注意兩個點:

    1、維護用戶的登錄狀態;

    2、用戶同意登錄授權后需要獲取用戶個加密個人信息(unionid)。

    第一步的用戶登錄狀態維護時序圖如下,第二步非常重要,在用戶授權同時請求第三方服務器來進行登錄獲取session時,需要將用戶的encryptedData數據數據傳回第三方服務器,解密出用戶unionid,通過服務器配置的小程序與公眾號關聯關系,同步用戶數據。

    總結

    通過上面兩步登錄設計開發即可打通該功能的兩種用戶數據,然后可以根據用戶訂閱掃碼情況發送模版消息直接打開小程序,用戶在pc瀏覽器頁面所訂閱的欄目與小程序的訂閱數據一致。  這里面的關鍵點就是用戶unionid機制,通過該機制可以打通多個公眾號、小程序之間的用戶數據,上面的案例只是一個小小的應用場景,還有更多的想象空間,結合場景值二維碼和模版消息的應用,收集用戶信息與用戶行文,后期可以考慮對用戶提供精準的推送服務。

    原文鏈接: https://blog.csdn.net/zhu2mu/article/details/73176551

    請登錄后查看

    CRMEB-慕白寒窗雪 最后編輯于2023-04-28 12:16:05

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    5411
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服