Browse Source

登录信息持久化存储

template
liruiqiang 2 months ago
parent
commit
d51b3ac5a6
  1. 2
      src/pages/category/components/PageSkeleton.vue
  2. 22
      src/pages/login/login.vue
  3. 5
      src/stores/modules/member.ts

2
src/pages/category/components/PageSkeleton.vue

@ -165,7 +165,7 @@
/* #ifdef H5 || APP-PLUS */
/* 修复 H5 端骨架屏样式异常 */
@import '@/components/styles/XtxSwiper.scss';
@import '../styles/category.scss';
@import '@/styles/category.scss';
/* #endif */
.sk-transparent {
color: transparent !important;

22
src/pages/login/login.vue

@ -35,7 +35,9 @@
<script setup lang="ts">
import { onLoad } from '@dcloudio/uni-app'
import { ref } from 'vue'
import { postLoginAPI, postLoginWxMinAPI, postLoginWxMinSimpleAPI } from '@/services/login'
import { postLoginWxMinAPI, postLoginWxMinSimpleAPI } from '@/services/login'
import { useMemberStore } from '@/stores'
import type { LoginResult } from '@/types/member'
// code
let code = ''
@ -51,14 +53,26 @@ const onGetphonenumber: UniHelper.ButtonOnGetphonenumber = async (ev) => {
const iv = ev.detail.iv!
//
const res = await postLoginWxMinAPI({ code, encryptedData, iv })
//
uni.showToast({ icon: 'none', title: '登录成功' })
//
loginSuccess(res.result)
}
//
const onGetphonenumberSimple = async () => {
const res = await postLoginWxMinSimpleAPI('18730880302')
uni.showToast({ icon: 'none', title: '登录成功' })
loginSuccess(res.result)
}
const loginSuccess = (profile: LoginResult) => {
//
const memberStore = useMemberStore()
memberStore.setProfile(profile)
//
uni.showToast({ icon: 'success', title: '登录成功' })
setTimeout(() => {
//
uni.switchTab({ url: '/pages/my/my' })
}, 500)
}
</script>

5
src/stores/modules/member.ts

@ -1,15 +1,16 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
import type { LoginResult } from '@/types/member'
// 定义 Store
export const useMemberStore = defineStore(
'member',
() => {
// 会员信息
const profile = ref<any>()
const profile = ref<LoginResult>()
// 保存会员信息,登录时使用
const setProfile = (val: any) => {
const setProfile = (val: LoginResult) => {
profile.value = val
}

Loading…
Cancel
Save