qingyiay
2023-07-26 c636483eef9fcdf1805f6a968914bf95255de2fc
pages/login/login.vue
@@ -10,12 +10,17 @@
            :disabled="btnLoading"
            :loading="btnLoading"
            type="primary"
            text="微信一键登录"></u-button>
            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">
         <view class="copyright">冀中能源无人值守微信小程序</view>
         <view class="copyright">无人值守微信小程序</view>
         <view class="copyright">小程序仅供已拥有系统账号特定内部人员使用</view>
      </view>
      <!-- 微信授权前的弹框 -->
@@ -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,7 +135,7 @@
               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) {
                  uni.setStorageSync('openid', res.data.openid);
                  // uni.showToast({
@@ -116,7 +148,6 @@
               apiLoginWx({ code: code }).then(res => {
                  if (res.code != 1) {
                     this.$u.toast('登录成功');
                     this.changeisLogin(true);
                     // 登陆成功,存储相关信息
                     setToken(res.access_token);
                     setRefreshToken(res.refresh_token);
@@ -131,7 +162,7 @@
                        this.$nextTick(() => {
                           redirectHome();
                        });
                     });
                     })
                  } else {
                     this.$u.toast(res.msg);
                     this.bindWxModelShow = true;
@@ -156,10 +187,27 @@
         openPopup() {
            console.log('打开了');
         },
         registerClick() {
         privacyConfirm() {
            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 +216,10 @@
<style lang="scss">
   @import 'index.scss';
   .PrivacyAgreement {
      color: rgb(60, 156, 255)
   }
   .login {
      // height: 100vh;
      // display: flex;