index.vue 5 KB
<!--
 * @Date: 2022-09-19 14:11:06
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2024-05-26 10:17:04
 * @FilePath: /meihuaApp/src/pages/auth/index.vue
 * @Description: 文件描述
-->
<template>
  <div>
    <!-- <button wx:if="{{canIUse}}" open-type="getUserInfo" @getuserinfo="bindGetUserInfo">授权登录</button>
    <view @tap="auth">授权登陆</view> -->
  </div>
</template>

<script setup>
import Taro from '@tarojs/taro'
import { ref } from "vue";
import request from '@/utils/request';

</script>

<script>
import "./index.less";
import { getCurrentPageParam } from "@/utils/weapp";

export default {
  name: "authPage",
  mounted () {
    // 授权登陆
    Taro.login({
      success: function (res) {
        if (res.code) {
          //发起网络请求
          Taro.showLoading({
            title: '授权中',
          })
          request.post('/srv/?a=openid', {
            code: res.code
            // openid: '0002'
            // openid: 'o5NFZ5cFQtLRy3aVHaZMLkjHFusI'
            // openid: 'o5NFZ5TpgG4FwYursGCLjcUJH2ak'
            // openid: 'o5NFZ5cqroPYwawCp8FEOxewtgnw'
          })
          .then(res => {
            if (res.data.code) {
              var cookie = res.cookies[0];
              if (cookie != null) {
                wx.setStorageSync("sessionid", res.cookies[0]);//服务器返回的 Set-Cookie,保存到本地
                //TAG 小程序绑定cookie
                // 修改请求头
                request.defaults.headers.cookie = res.cookies[0];
                // if (res.data.data.avatar) {
                //   Taro.reLaunch({
                //     url: '../../' + getCurrentPageParam().url
                //   })
                // } else { // 头像没有设置跳转完善信息页面
                //   Taro.redirectTo({
                //     url: '../apxUserInfo/index'
                //   })
                // }
                // TAG:处理分享跳转问题
                const params = getCurrentPageParam();
                if (getCurrentPageParam().url === 'pages/detail/index') { // 详情页的分享跳转处理
                  Taro.reLaunch({
                    url: `../../${params.url}?id=${params.id}&start_date=${params.start_date}&end_date=${params.end_date}`
                  })
                } else { // 其他页面分享跳首页
                  Taro.reLaunch({
                    url: `/pages/index/index?first_in=${wx.getStorageSync("first_in")}`
                  })
                }
                Taro.hideLoading();
              }
            } else {
              console.warn(res.data.msg);
              Taro.hideLoading();
            }
          })
          .catch(err => {
            console.error(err);
            Taro.hideLoading();
          });
        } else {
          console.log('登录失败!' + res.errMsg)
        }
      }
    })
  },
  data () {
    return {
      canIUse: wx.canIUse('button.open-type.getUserInfo')
    }
  },
  onLoad: function() {
    // 查看是否授权
    // wx.getSetting({
    //   success (res){
    //     if (res.authSetting['scope.userInfo']) {
    //       // 已经授权,可以直接调用 getUserInfo 获取头像昵称
    //       wx.getUserInfo({
    //         success: function(res) {
    //           console.warn(res.userInfo)
    //         }
    //       })
    //     }
    //   }
    // })
  },
  methods: {
    bindGetUserInfo (e) {
      console.warn(e.detail.userInfo)
    },
    // auth () {
    //   Taro.getSetting({
    //     success: function (res) {
    //       if (!res.authSetting['scope.userInfo']) {
    //         console.warn(0);
    //         Taro.authorize({
    //           scope: 'scope.userInfo',
    //           success: function () {
    //             Taro.getUserInfo({
    //               success: function(res) {
    //                 var userInfo = res.userInfo
    //                 console.warn(userInfo);
    //               }
    //             })
    //           },
    //           fail: function (error) {
    //             console.error(error)
    //           }
    //         })
    //       }
    //     }
    //   })
    // }
    auth () {
      // wx.getSetting({
      //   success (res){
      //     if (res.authSetting['scope.userInfo']) {
      //       // 已经授权,可以直接调用 getUserInfo 获取头像昵称
      //       wx.getUserInfo({
      //         success: function(res) {
      //           console.warn(res.userInfo)
      //         }
      //       })
      //     }
      //   }
      // })
      wx.getSetting({
        success(res) {
          if (!res.authSetting['scope.userInfo']) {
            wx.authorize({
              scope: 'scope.userInfo',
              success () {
                // 已经授权,可以直接调用 getUserInfo 获取头像昵称
                wx.getUserInfo({
                  success: function(res) {
                    console.warn(res.userInfo)
                  }
                })
              }
            })
          }
        }
      })
    }
  }
};
</script>