陶杰
2024-12-23 fa9c8374664a2afa5f5f995ad2697d5f4aa71203
1.微信登录
已修改1个文件
96 ■■■■■ 文件已修改
pages/login/supplier-login.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/login/supplier-login.vue
@@ -22,7 +22,8 @@
                    </view>
                    <view class="t-a input form-input" v-if="loginType=='pwd'">
                        <!-- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> -->
                        <u-input placeholder="请输入账号" :border="false" v-model="userName" @blur="validatePhoneNumber()"></u-input>
                        <u-input placeholder="请输入账号" :border="false" v-model="userName"
                            @blur="validatePhoneNumber()"></u-input>
                    </view>
                    <view class="t-a input form-input" v-if="loginType=='pwd'">
@@ -31,7 +32,8 @@
                    <view class="t-a input form-input" v-if="loginType=='code'">
                        <u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber" @blur="validatePhoneNumber()">
                        <u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber"
                            @blur="validatePhoneNumber()">
                            <template slot="suffix">
                                <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
                                    {{ getCodeText }}
@@ -87,6 +89,7 @@
                    <button @tap="login()" class="bottom-button">登 录</button>
                    <view class="flex">
                        <view class="topic-font" v-if="loginType=='pwd'&&apitype!=='loginAdmin'"
                            @click="loginType='code'">手机验证码登录</view>
                        <view class="topic-font" v-if="loginType=='code'&&apitype!=='loginAdmin'"
@@ -119,6 +122,25 @@
                {{optionsStr}}
            </view> -->
        </view>
        <!-- #ifdef PUB_CUSTOMER -->
        <view class="flex" style="justify-content: center; margin-top: 150px;">
            <u--image :showLoading="true" v-if="false"
                src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/6e/6e74997e6d4c4a29be3903b35bc1f38fwechat.png"
                width="40rpx" height="40rpx" @click="handleWechatClick">
            </u--image>
            <u-grid :border="false" :col="1">
                <u-grid-item @click="handleWechatClick">
                    <u--image :showLoading="true"
                        src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/6e/6e74997e6d4c4a29be3903b35bc1f38fwechat.png"
                        width="40rpx" height="40rpx" @click="handleWechatClick">
                    </u--image>
                    <text class="third-login-text" @click="handleWechatClick">微信登录</text>
                </u-grid-item>
            </u-grid>
        </view>
        <!-- #endif -->
    </view>
</template>
<script>
@@ -400,6 +422,71 @@
            };
        },
        methods: {
        handleWechatClick() {
            let that = this
            // 微信登录
            uni.login({
                "provider": "weixin",
                "onlyAuthorize": true, // 微信登录仅请求授权认证
                success: async function (event) {
                    console.log("客户端成功获取授权临时票据(code),向业务服务器发起登录请求。")
                    console.log(event)
                    const { code } = event
                    console.log('code', code)
                    that.$message.showLoading();
                    const resp = await that.$store.dispatch('loginwx', { code })
                    if (resp && resp.data) {
                        that.$forceUpdate()
                        uni.reLaunch({
                            url: '/pages/home/home'
                        })
                    }
                    // const resp = await that.$http.request('get', '/api/wx/jscode2session', {
                    //     params: {
                    //         jsCode: code,
                    //         userType: that.apitype.replace("login", "").toLowerCase()
                    //     }
                    // });
                    that.$message.hideLoading();
                    // console.log('resp', resp)
                    // if (resp && resp.data) {
                    //     var cts = resp.data;
                    //     var openid = cts.openid; //openid 用户唯一标识
                    //     if (cts && cts.openid) {
                    //         that.$storage.setItem('openid', cts.openid);
                    //     }
                    //     var session_key = cts.session_key; //session_key  会话密钥
                    //     if (true) {
                    //         if (!!cts.errmsg) {
                    //             that.$message.showToast('获取失败' + cts.errmsg);
                    //         } else {
                    //             //成功了,再调用
                    //             uni.getUserInfo({
                    //             provider: 'weixin',
                    //             success: function (infoRes) {
                    //                 console.log("uni.getUserInfo")
                    //                 console.log(infoRes)
                    //                 console.log('用户信息:', infoRes.userInfo);
                    //             },
                    //             fail: function (err) {
                    //                 console.error('获取用户信息失败:', err);
                    //             },
                    //             });
                    //         }
                    //     }
                    // }
                },
                fail: function (err) {
                    // 登录授权失败
                    // err.code是错误码
                }
            })
        },
            // 手机号码正则表达式校验
            validatePhoneNumber() {
@@ -801,4 +888,9 @@
        height: 0;
        content: '\20';
    }
.third-login-text{
    font-size: 18rpx;
    margin-top:5rpx;
}
</style>