国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot使用 WxJava 實現(xiàn) 微信小程序(uniapp開發(fā))的登陸功能

這篇具有很好參考價值的文章主要介紹了springboot使用 WxJava 實現(xiàn) 微信小程序(uniapp開發(fā))的登陸功能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前端使用uniapp來開發(fā)微信小程序

后端springboot中使用WxJava來做服務端(WxJava是微信服務端開發(fā) 的Java SDK

一、微信小程序登陸流程圖

該圖來源于微信小程序官方文檔

springboot使用 WxJava 實現(xiàn) 微信小程序(uniapp開發(fā))的登陸功能,uniapp,微信小程序,uni-app,java

二、前端代碼

根據uniapp的官網直接通過它提供的第三方 登陸api直接使用,代碼如下


<script setup>
import { onMounted, ref } from "vue";
let nickName = ref('');
let avatarUrl = ref('');
onMounted(()=>{
	getLogin();
});
const getLogin = ()=>{
	uni.login({
	  provider: 'weixin',
	  success: function (loginRes) {
		console.log(loginRes);
		let code = loginRes.code;
		// 獲取用戶信息
		uni.getUserInfo({
		  provider: 'weixin',
		  success: function (infoRes) {
			console.log(infoRes); 
			nickName.value = infoRes.userInfo.nickName;
			avatarUrl.value = infoRes.userInfo.avatarUrl;
			let param = {
				code: code,       //登陸憑證
				encryptedData: infoRes.encryptedData,  //包括敏感數據在內的完整用戶信息的加密數據 
				iv: infoRes.iv,   //加密算法的初始向量,詳細見加密數據解密算法
				appId: uni.getAccountInfoSync().miniProgram.appId //小程序的appId
			}
			//提交給服務端
			uni.request({
			    url: 'http://10.72.144.42:8080/wx/auth/login_wx', //僅為示例,并非真實接口地址。
			    method: 'post',
				data: param,
			    header: {
			        // 'custom-header': 'hello' //自定義請求頭信息
			    },
			    success: (res) => {
					console.log("提交數據",res);
			    }
			});
		  }
		});
	  }
	});
};
</script>

三、java服務端代碼

直接根據WxJava的官方demo

(1) yml配置

#使用weixin-java-miniapp java微信小程序封裝的sdk
wx:
  miniapp:
    configs:
        - appid: 1111111111 #微信小程序的appid
          secret: 2222222222 #微信小程序的Secret(登陸憑證)
          token: #微信小程序消息服務器配置的token
          aesKey: #微信小程序消息服務器配置的EncodingAESKey
          msgDataFormat: JSON

(2)兩個配置文件

public class WxMaProperties {
    private List<Config> configs;
    @Data
    public static class Config{
        /**
         * 設置微信小程序的appid
         */
        private String appid;

        /**
         * 設置微信小程序的Secret
         */
        private String secret;

        /**
         * 設置微信小程序消息服務器配置的token
         */
        private String token;

        /**
         * 設置微信小程序消息服務器配置的EncodingAESKey
         */
        private String aesKey;

        /**
         * 消息格式,XML或者JSON
         */
        private String msgDataFormat;
    }
}
public class WxMaConfiguration {
    private final WxMaProperties properties;

    //有參構造
    @Autowired
    public WxMaConfiguration(WxMaProperties properties) {
        this.properties = properties;
    }


    @Bean
    public WxMaService wxMaService() {
        List<WxMaProperties.Config> configs = this.properties.getConfigs();
        if (configs == null) {
            throw new WxRuntimeException("大哥,拜托先看下項目首頁的說明(readme文件),添加下相關配置,注意別配錯了!");
        }
        WxMaService maService = new WxMaServiceImpl();
        maService.setMultiConfigs(
                configs.stream()
                        .map(a -> {
                            WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
//                WxMaDefaultConfigImpl config = new WxMaRedisConfigImpl(new JedisPool());
                            // 使用上面的配置時,需要同時引入jedis-lock的依賴,否則會報類無法找到的異常
                            config.setAppid(a.getAppid());
                            config.setSecret(a.getSecret());
                            config.setToken(a.getToken());
                            config.setAesKey(a.getAesKey());
                            config.setMsgDataFormat(a.getMsgDataFormat());
                            return config;
                        }).collect(Collectors.toMap(WxMaDefaultConfigImpl::getAppid, a -> a, (o, n) -> o)));
        return maService;
    }
}

(3)controller接口代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-613714.html

  @PostMapping("/wx/auth/login_wx")
    public Map getLogin(@RequestBody JSONObject params){
        //得到數據參數
        String code = params.getString("code");
        String encryptedData = params.getString("encryptedData");
        String iv = params.getString("iv");
        String appId = params.getString("appId");

        if (!wxMaService.switchover(appId)) {
            throw new IllegalArgumentException(String.format("未找到對應appid=[%s]的配置,請核實!", appId));
        }
        WxMaJscode2SessionResult session = null;
        WxMaUserInfo wxMaUserInfo = null;
        try {
            //這一行代碼就完成了 與微信開放服務端,要回session
            session = wxMaService.getUserService().getSessionInfo(code);
            log.info(session.getSessionKey());
            log.info(session.getOpenid());

            //session_key是對用戶數據解密出全部用戶數據
            wxMaUserInfo = wxMaService.getUserService().getUserInfo(session.getSessionKey(),encryptedData,iv);
            log.info(wxMaUserInfo.getNickName());
            log.info(wxMaUserInfo.getAvatarUrl());
            //添加自己的邏輯,關聯(lián)業(yè)務相關數據

        } catch (WxErrorException e) {
            e.printStackTrace();
        }

        Map map = new HashMap();
        return map;
    }

到了這里,關于springboot使用 WxJava 實現(xiàn) 微信小程序(uniapp開發(fā))的登陸功能的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • java springboot+uniapp實現(xiàn)微信小程序獲取微信手機號

    java springboot+uniapp實現(xiàn)微信小程序獲取微信手機號

    https://mp.weixin.qq.com/ 用此功能可能需要首頁一些列認證完成后才可以:eg:小程序備案、微信認證等 1、獲取AppId和AppSecret 側開發(fā)管理-開發(fā)設置-需要獲取 AppID(小程序ID) 、**AppSecret(小程序密鑰) **。 注意:AppSecret第一次生成后需要自己復制保存,后續(xù)雖然可以重置但是重置會相

    2024年02月02日
    瀏覽(21)
  • 如何快速搭建springboot+前后端分離(vue),多商戶客戶端實現(xiàn)微信小程序+ios+app使用uniapp(一處編寫,處處編譯)

    如何快速搭建springboot+前后端分離(vue),多商戶客戶端實現(xiàn)微信小程序+ios+app使用uniapp(一處編寫,處處編譯)

    kxmalls外賣生鮮多商戶,針對中小商戶、企業(yè)和個人學習者開發(fā)。使用Java編碼,采用SpringBoot、Mybatis-Plus等易用框架,適合個人學習研究。同時支持單機部署、集群部署,用戶與店鋪范圍動態(tài)定位,中小商戶企業(yè)可根據業(yè)務動態(tài)擴容。kxmalls使用uniapp前端框架,可同時編譯到 微

    2024年01月25日
    瀏覽(92)
  • 基于SpringBoot+Vue+uniapp微信小程序的健身管理系統(tǒng)及會員微信小程序的詳細設計和實現(xiàn)

    基于SpringBoot+Vue+uniapp微信小程序的健身管理系統(tǒng)及會員微信小程序的詳細設計和實現(xiàn)

    ?? 博主介紹 :?全網粉絲10W+,CSDN特邀作者、博客專家、CSDN新星計劃導師、全棧領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java、小程序技術領域和畢業(yè)項目實戰(zhàn)??? ???? 精彩專欄 推薦訂閱 ???? 2023-2024年最值得選的微信小程序畢業(yè)設

    2024年02月21日
    瀏覽(25)
  • 基于Java+SpringBoot+Vue+uniapp微信小程序外賣系統(tǒng)設計和實現(xiàn)

    基于Java+SpringBoot+Vue+uniapp微信小程序外賣系統(tǒng)設計和實現(xiàn)

    博主介紹 : ? 全網粉絲30W+,csdn特邀作者、博客專家、CSDN新星計劃導師、Java領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java技術領域和畢業(yè)項目實戰(zhàn) ? ?? 文末獲取源碼聯(lián)系 ?? ?????精彩專欄 推薦訂閱 ?????不然下次找不到喲 2022-2024年

    2024年02月13日
    瀏覽(380)
  • 基于Java+SpringBoot+Vue+uniapp微信小程序實現(xiàn)倉儲管理系統(tǒng)

    基于Java+SpringBoot+Vue+uniapp微信小程序實現(xiàn)倉儲管理系統(tǒng)

    博主介紹 : ? 全網粉絲20W+,csdn特邀作者、博客專家、CSDN新星計劃導師、java領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java技術領域和畢業(yè)項目實戰(zhàn) ? ?? 文末獲取源碼聯(lián)系 ?? ?????精彩專欄 推薦訂閱 ?????不然下次找不到喲 ?java項目

    2024年02月09日
    瀏覽(96)
  • 基于SpringBoot+uniapp微信小程序校園點餐平臺詳細設計和實現(xiàn)

    基于SpringBoot+uniapp微信小程序校園點餐平臺詳細設計和實現(xiàn)

    博主介紹 : ? 全網粉絲30W+,csdn特邀作者、博客專家、CSDN新星計劃導師、Java領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java技術領域和畢業(yè)項目實戰(zhàn) ? ?? 文末獲取源碼聯(lián)系 ?? ?????精彩專欄 推薦訂閱 ?????不然下次找不到喲 2022-2024年

    2024年02月05日
    瀏覽(32)
  • uniapp+java/springboot實現(xiàn)微信小程序APIV3支付功能

    uniapp+java/springboot實現(xiàn)微信小程序APIV3支付功能

    微信小程序的支付跟H5的支付和APP支付流程不一樣,本次只描述下小程序支付流程。 1.微信小程序賬號 文檔:小程序申請 小程序支付需要先認證,如果你有已認證的公眾號,也可以通過公眾號免費注冊認證小程序。 一般300元,我是認證的政府的免費。 然后登錄小程序,設置

    2023年04月19日
    瀏覽(31)
  • 基于SpringBoot+Vue+uniapp微信小程序的校園跑腿的詳細設計和實現(xiàn)

    ?? 博主介紹 :?全網粉絲10W+,CSDN特邀作者、博客專家、CSDN新星計劃導師、全棧領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java、小程序技術領域和畢業(yè)項目實戰(zhàn)??? ???? 精彩專欄 推薦訂閱 ???? 2023-2024年最值得選的微信小程序畢業(yè)設

    2024年03月18日
    瀏覽(25)
  • 基于SpringBoot+Vue+uniapp微信小程序的訂餐系統(tǒng)的詳細設計和實現(xiàn)

    基于SpringBoot+Vue+uniapp微信小程序的訂餐系統(tǒng)的詳細設計和實現(xiàn)

    ?? 博主介紹 :?全網粉絲10W+,CSDN特邀作者、博客專家、CSDN新星計劃導師、全棧領域優(yōu)質創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺優(yōu)質作者、專注于Java、小程序技術領域和畢業(yè)項目實戰(zhàn)??? ???? 精彩專欄 推薦訂閱 ???? 2023-2024年最值得選的微信小程序畢業(yè)設

    2024年02月22日
    瀏覽(90)
  • 基于SpringBoot+Vue+uniapp微信小程序的相親網站的詳細設計和實現(xiàn)

    基于SpringBoot+Vue+uniapp微信小程序的相親網站的詳細設計和實現(xiàn)

    ?? 博主介紹 :?全網粉絲15W+,CSDN特邀作者、211畢業(yè)、高級全棧開發(fā)程序員、大廠多年工作經驗、碼云/掘金/華為云/阿里云/InfoQ/StackOverflow/github等平臺優(yōu)質作者、專注于Java、小程序技術領域和畢業(yè)項目實戰(zhàn),以及程序定制化開發(fā)、全棧講解、就業(yè)輔導??? ???? 精彩專欄

    2024年03月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包