美文网首页
网页微信扫码登录

网页微信扫码登录

作者: 宏_4491 | 来源:发表于2022-06-14 11:41 被阅读0次

    微信官方文档
    https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

    第一种方法是通过动态创建script 标签引入"http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"

    上代码

    
    <template>
        <view class="content">
            <view id="login_container"> </view>
        </view>
    </template>
    
    <script setup lang="ts">
    import { ref, onMounted } from "vue";
    import { onLoad } from "@dcloudio/uni-app";
    
    /** Data 数据 */
    const appID = ref<string>("wx6b26b7c75e8f3e5a");
    const redirectUrl = ref<string>("https://www.imooc.com/");
    
    const creatScript = () => {
        let secScript = document.createElement("script");
        secScript.setAttribute("type", "text/javascript");
        secScript.setAttribute(
            "src",
            "http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"
        );
        document.body.insertBefore(secScript, document.body.lastChild);
        let timer = setTimeout(() => {
            getWxLoginCode();
        }, 500);
    };
    
    const getWxLoginCode = () => {
        var obj = new WxLogin({
            self_redirect: true,
            id: "login_container",
            appid: appID.value,
            scope: "snsapi_login",
            redirect_uri: redirectUrl.value,
            state: "",
            style: "",
            href: ""
        });
    };
    
    onLoad(() => {});
    
    onMounted(() => {
        creatScript();
    });
    </script>
    
    <style>
    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    #login_container {
        height: 200rpx;
        width: 200rpx;
        margin-top: 200rpx;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 50rpx;
    }
    
    .logo {
        height: 200rpx;
        width: 200rpx;
        margin-top: 200rpx;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 50rpx;
    }
    
    .text-area {
        display: flex;
        justify-content: center;
    }
    
    .title {
        font-size: 36rpx;
        color: #8f8f94;
    }
    </style>
    

    第二种方法是使用vue-wxlogin

    npm install vue-wxlogin

    <template>
        <view class="content">
            <wxlogin :appid="appID" :scope="scope" :redirect_uri="redirectUrl"></wxlogin>
        </view>
    </template>
    
    <script setup lang="ts">
    import { ref } from "vue";
    import { onLoad } from "@dcloudio/uni-app";
    import wxlogin from "vue-wxlogin";
    /** Data 数据 */
    const appID = ref<string>("wx6b26b7c75e8f3e5a");
    const redirectUrl = ref<string>("https://www.imooc.com/");
    const scope = ref<string>("snsapi_login");
    
    onLoad(() => {});
    
    </script>
    
    <style>
    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    
    #login_container {
        height: 200rpx;
        width: 200rpx;
        margin-top: 200rpx;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 50rpx;
    }
    
    .logo {
        height: 200rpx;
        width: 200rpx;
        margin-top: 200rpx;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 50rpx;
    }
    
    .text-area {
        display: flex;
        justify-content: center;
    }
    
    .title {
        font-size: 36rpx;
        color: #8f8f94;
    }
    </style>
    

    相关文章

      网友评论

          本文标题:网页微信扫码登录

          本文链接:https://www.haomeiwen.com/subject/gshzmrtx.html