日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、背景

一直以來,公司這邊有運作一個微信號和兩個小程序。在每個應用的入口除了賬密登錄,還有一個微信快速登錄。

目前是使用openid的方式來進行業務邏輯處理的。但是這樣就存在一個問題:因為分屬不同的應用,導致同一個微信

用戶小程序1和小程序2所返回的openid是不一樣的。

顯然,這是很不合理的!就解決方案來說:

① 可以把倆個openId都存儲起來,然后進行比對。但是會隨著應用增多所保存的openid也逐漸增加

② 針對于此,官方給出的方案是使用 unionid

二、什么是unionid

2.1、什么是unionid

簡單來說,如果開發者擁有多個移動應用、網站應用、公眾號應用等情況下,可以通過unionid來區分用戶的唯一性,

因為只要是同一個微信開放平臺賬號下的應用、網站、公眾號,其unionid是唯一的。換句話說:同一用戶對同一個微信

開放平臺下的不同應用,其unionid是相同的。

2.2、如何獲取unionid

綁定了開發者賬號的小程序,可以通過以下途徑獲取unionid

① 開發者使用wx.login + jscode2session來獲取該用戶的unionid。無需用戶授權

② 小程序端調用云函數時,可在云函數中通過Cloud.getWXContet獲取unionid

2.3、綁定小程序到微信開放平臺

① 注冊微信開放平臺

登錄到微信開放平臺:
https://open.weixin.qq.com/

② 注冊賬號

填寫郵箱 -> 密碼 -> 填寫機構名稱 -> 地區及所在地 -> 認證個人信息(姓名和身份證號)-> 綁定管理員

PS: 基本的賬號注冊流程,沒啥特別好說的

③ 綁定小程序

填寫小程序登錄賬號及密碼,最后小程序管理員確認掃碼即可。大致如下:

微信公眾平臺接入指南

 


微信公眾平臺接入指南

 

三、unionid獲取的整個流程

3.1、小程序中進行微信登錄

微信可以快速登錄相關代碼:


	<!-- 微信快捷登錄 -->
	<view class="xa-wechat-login-panel">
		<button class="xa-wechat-login-btn" bindtap="wechatLogin">
			<image class="xa-wechat-login-logo" src="../login/wechat.png"></image>
		</button>
	</view>

	<view class="container">
      <view class="userinfo">
        <block wx:if="{{!hasUserInfo}}">
          <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 獲取頭像昵稱 </button>
          <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 獲取頭像昵稱 </button>
        </block>
        <block wx:else>
          <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
          <text class="userinfo-nickname">{{userInfo.nickName}}</text>
        </block>
      </view>

JAVA

3.2、向后端發起驗證請求


        wechatLogin(){
		const that = this;
		wx.login({
			success (res) {
				if (res.code) {
					/* 發起網絡請求 */
					debugger;
					that.doWechatFastLogin(res.code);
				} else {
					console.log('登錄失??!' + res.errMsg)
				}
			}
		})
	},

Java

3.3、后端發起網絡請求

    
    public R wechatFastLogin(WeichatFastLoginVO weichatFastLoginVO) {
        String url = null;
        try {
            url = userAccessTokenUrl.replace("AppID", appId).replace("SECRET", secret)
                    .replace("JSCODE", weichatFastLoginVO.getWechatCode());
            logger.info("獲取微信登錄憑證校驗Url:" + url);
        } catch (Exception e) {
            logger.info("獲取微信登錄憑證校驗失敗:" + url);
        }
        /* 發送get請求獲取WXUserAccessToken */
        String respRlt = HttpClientUtil.doGet(url, null);
        WxUserAccessTokenDTO wxUserAccessTokenDTO = JSONObject.parseobject(respRlt, WxUserAccessTokenDTO.class);
        if (null == wxUserAccessTokenDTO) {
            return R.error("微信未登錄,請先登錄微信!");
        } else if (null != wxUserAccessTokenDTO.getErrcode() && wxUserAccessTokenDTO.getErrcode() != 0) {
            return R.error("微信未登錄,請先登錄微信!");
        } else if (null == wxUserAccessTokenDTO.getOpenid() || wxUserAccessTokenDTO.getOpenid().isEmpty()) {
            return R.error("微信未登錄,請先登錄微信!");
        }
        String openId = wxUserAccessTokenDTO.getOpenid();
        ...
        /* unionid存在于wxUserAccessTokenDTO,可進行自定義相關業務邏輯處理 */
    }

Java

 

四、注意事項

4.1、一定要加入微信開放平臺

微信公眾平臺接入指南

 

 

微信公眾平臺接入指南

 

4.2、微信公眾平臺需認證

微信公眾平臺需要證人,但是如果你是同一主體的話可以暫時不做認證。認證費用大約為300元。

4.3、關聯不同主體時

當你要關聯不同主體的微信公眾號、小程序時,必須要先進行認證處理。

分享到:
標簽:公眾 平臺
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定