index.vue 3.51 KB
<!--
 * @Date: 2022-09-19 14:11:06
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2022-10-18 16:09:34
 * @FilePath: /swx/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';
import { userInfo } from 'os';

</script>

<script>
import "./index.less";
export default {
  name: "authPage",
  mounted () {
    // TODO: 现在先传openid,小程序的密钥还有搞到
    // 小程序预览,接口没有跑起来,真机调试可以运行
    request.post('/srv/?a=openid', {
      openid: 'wxa2e50e76487d1d7b'
    })
    .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];
          Taro.navigateBack({
          delta: 1 // 返回上一级页面。
          });
        }
      } else {
        console.warn(res.data.msg);
      }
    })
    .catch(err => {
      console.error(err);
    });
  },
  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>