qingyiay
2023-08-28 54a0b7c1a758f958f7e6fd0b86fa8e0aecfeca75
pages/login/login.vue
@@ -12,6 +12,11 @@
            type="primary"
            text="微信一键登录"></u-button>
      </view>
      <!-- <view class="loginBtn">
         <u-button @click.stop="jumpBindBack"
            type="primary"
            text="一键绑定测试"></u-button>
      </view> -->
      <view class="register"
         @click="registerClick"><text>注册</text></view>
      <view class="login-bottom-box">
@@ -52,6 +57,21 @@
            @confirm="bindWxConfirm"
            @cancel="bindWxCancel"></u-modal>
      </view>
      <!-- 注册同意获取隐私信息 -->
      <view class="privacy">
         <u-modal :show="privacyShow"
            :title="privacyTitle"
            showCancelButton
            @confirm="privacyConfirm"
            @cancel="privacyCancel"
            confirmText="同意"
            cancelText="不同意">
            <view class="slot-content"
               @click="PrivacyAgreementHandle">
               <rich-text :nodes="PrivacyAgreement"></rich-text>
            </view>
         </u-modal>
      </view>
   </view>
</template>
@@ -68,7 +88,12 @@
            // 绑定微信模态框
            bindWxModelShow: false,
            bindWxModelTitle: '提示',
            bindWxContent: '如果已拥有系统账号,可以直接跳转绑定微信页面'
            bindWxContent: '如果已拥有系统账号,可以直接跳转绑定微信页面',
            appid: "",
            secret: "",
            privacyShow: false,
            privacyTitle: "注意",
            PrivacyAgreement: `<p>注册即代表您同意我们用户隐私协议</p><p  class='PrivacyAgreement'>点击查看用户隐私协议</p>`
         };
      },
      components: {
@@ -76,9 +101,16 @@
      },
      methods: {
         ...mapMutations(['setUserTabbar', 'changeisLogin']),
         getAppidAndSercet() {
            this.$reqGet('getAppidAndSercet').then(res => {
               this.appid = res.data.appid;
               this.secret = res.data.secret
            })
         },
         // 访问wx.login,获取code
         beforeLoginEvent() {
            this.loginPopupShow = true;
            this.getAppidAndSercet();
         },
         wxLogin() {
            // 获取登录用户code
@@ -103,8 +135,9 @@
               title: '加载中...'
            });
            wx.request({
               url: `https://api.weixin.qq.com/sns/jscode2session?appid=wx4a62fc1684c429a9&secret=ee90afe376cdcec2fdd947c0a4db961a&js_code=${code}&grant_type=authorization_code`,
               url: `https://api.weixin.qq.com/sns/jscode2session?appid=${this.appid}&secret=${this.secret}&js_code=${code}&grant_type=authorization_code`,
               success(res) {
                  console.log(res, 'openid');
                  uni.setStorageSync('openid', res.data.openid);
                  // uni.showToast({
                  //    title: '成功获取测试openid',
@@ -125,6 +158,7 @@
                     this.$reqGet('getUserEntity').then(res => {
                        this.setUserTabbar(res.data.type);
                        uni.setStorageSync('roleType', res.data.type);
                        uni.setStorageSync("userId", res.data.userId)
                        setCustomerId(res.data.customerid);
                        uni.hideLoading();
                        //跳转页面
@@ -156,10 +190,28 @@
         openPopup() {
            console.log('打开了');
         },
         registerClick() {
         privacyConfirm() {
            this.loginPopupShow = false
            uni.navigateTo({
               url: '/pages/register/register'
            });
         },
         privacyCancel() {
            this.privacyShow = false
         },
         registerClick() {
            this.privacyShow = true
         },
         PrivacyAgreementHandle() {
            uni.navigateTo({
               url: '/pages/login/PrivacyAgreementText/PrivacyAgreementText'
            })
         },
         // 此方法只进行绑定测试,后期已通过扫码解决
         jumpBindBack() {
            uni.navigateTo({
               url: '/pages/bindBackground/bindBackground'
            })
         }
      }
   };
@@ -168,6 +220,10 @@
<style lang="scss">
   @import 'index.scss';
   .PrivacyAgreement {
      color: rgb(60, 156, 255)
   }
   .login {
      // height: 100vh;
      // display: flex;