zqf vor 5 Monaten
Ursprung
Commit
bfab0a055e
4 geänderte Dateien mit 40 neuen und 28 gelöschten Zeilen
  1. 1 1
      src/api/login.js
  2. 15 25
      src/pages/index/login.vue
  3. 20 0
      src/utils/auth.js
  4. 4 2
      src/utils/request.js

+ 1 - 1
src/api/login.js

@@ -3,7 +3,7 @@ import { request } from "@/utils/request.js";
 export const onLoginByWxMini = (data) => {
   return request({
     url: "/website/web/doLoginByWxMini",
-    method: "POST",
+    method: "GET",
     data,
   });
 };

+ 15 - 25
src/pages/index/login.vue

@@ -3,39 +3,29 @@
     <image class="logo" src="/static/img/logo.png"></image>
     <image class="login-bc" src="/static/img/login_bc.png"></image>
     <text class="welcome">您好,欢迎登录逍遥游</text>
-    <button
-      class="btn"
-      type="primary"
-      open-type="getPhoneNumber"
-      @getphonenumber="getPhoneNumber"
-    >
+    <button class="btn" type="primary" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
       手机号快捷登录
     </button>
   </view>
 </template>
 
 <script setup>
-import { onLoginByWxMini } from "@/api/login";
+import { onLoginByWxMini } from '@/api/login';
+import { useAuth } from '@/utils/auth';
 
-async function getPhoneNumber(e) {
-  console.log(e.detail.code);
-  const { data } = await onLoginByWxMini({code: e.detail.code});
-  // 登录成功后跳转首页
+const { setToken } = useAuth();
 
-  // if (e.detail.errMsg === 'getPhoneNumber:ok') {
-  //   wx.request({
-  //     url: `${import.meta.env.VITE_API_BASE_URL}/xxx`, // 后端接口地址
-  //     method: 'POST',
-  //     data: {
-  //       code: e.detail.code,
-  //     },
-  //     success: function (res) {
-  //       console.log('手机号:', res.data.phoneNumber);
-  //     },
-  //   });
-  // } else {
-  //   console.error('获取手机号失败');
-  // }
+async function getPhoneNumber(e) {
+  if (e.detail.errMsg === 'getPhoneNumber:ok') {
+    const { data } = await onLoginByWxMini({ phoneCode: e.detail.code });
+    setToken(data.tokenData);
+    // 登录成功后跳转首页
+    uni.switchTab({
+      url: '/pages/home/index',
+    });
+  } else {
+    console.error('获取手机号失败');
+  }
 }
 </script>
 

+ 20 - 0
src/utils/auth.js

@@ -0,0 +1,20 @@
+export function useAuth() {
+
+  function setToken(newToken) {
+    try {
+      uni.setStorageSync('token', newToken);
+    } catch (e) {
+      console.error('设置 token 失败', e);
+    }
+  }
+
+  function getToken() {
+    return uni.getStorageSync('token') || '';
+  }
+
+  function gotoLogin() {
+    // 
+  }
+
+  return { gotoLogin, setToken, getToken };
+}

+ 4 - 2
src/utils/request.js

@@ -1,4 +1,5 @@
-// import { getToken } from "@/utils/auth";
+import { useAuth } from "@/utils/auth";
+const { getToken } = useAuth();
 
 const request = ({
   url,
@@ -9,12 +10,13 @@ const request = ({
   showErrorToast = true,
 } = {}) => {
   return new Promise((resolve, reject) => {
+    const token = getToken();
     if (showLoading) uni.showLoading({ title: "加载中" });
     uni.request({
       url: `${import.meta.env.VITE_API_BASE_URL}${url}`,
       method,
       data,
-      header: { ...header, token: "", version: "1.0" },
+      header: { ...header, Authorization: token, version: "1.0" },
       success: (res) =>
         handleSuccessCallback({
           res,