个人中心:登录切换到自己的逻辑

pull/34/MERGE
YunaiV 2023-12-28 22:59:14 +08:00
parent c3cc5d653d
commit f0e8ff1f87
9 changed files with 45 additions and 59 deletions

View File

@ -52,7 +52,6 @@
/>
</uni-list>
</view>
<!-- TODO 芋艿统一的配置界面 -->
<view class="set-footer ss-flex-col ss-row-center ss-col-center">
<view class="agreement-box ss-flex ss-col-center ss-m-b-40">
<view class="ss-flex ss-col-center ss-m-b-10">
@ -99,6 +98,7 @@
<script setup>
import sheep from '@/sheep';
import { computed, reactive } from 'vue';
import AuthUtil from '@/sheep/api/member/auth';
const appInfo = computed(() => sheep.$store('app').info);
const isLogin = computed(() => sheep.$store('user').isLogin);
@ -123,10 +123,12 @@
if (!res.confirm) {
return;
}
const result = await sheep.$store('user').logout();
if (result) {
sheep.$router.go('/pages/index/user');
const { code } = await AuthUtil.logout();
if (code !== 0) {
return;
}
sheep.$store('user').logout();
sheep.$router.go('/pages/index/user');
},
});
}
@ -140,10 +142,12 @@
if (!res.confirm) {
return;
}
const result = await sheep.$store('user').logout();
if (result) {
sheep.$router.go('/pages/index/user');
const { code } = await AuthUtil.logout();
if (code !== 0) {
return;
}
sheep.$store('user').logout();
sheep.$router.go('/pages/index/user');
},
});
}

View File

@ -1,10 +0,0 @@
import request from '@/sheep/request';
import request2 from '@/sheep/request2';
export default {
faq: () =>
request({
url: 'data/faq',
method: 'GET',
}),
};

View File

@ -1,4 +1,3 @@
import request2 from '@/sheep/request2';
import request from '@/sheep/request';
const OrderApi = {
@ -26,14 +25,14 @@ const OrderApi = {
const queryString = Object.keys(data2)
.map((key) => key + '=' + data2[key])
.join('&');
return request2({
return request({
url: `trade/order/settlement?${queryString}`,
method: 'GET',
});
},
// 创建订单
createOrder: (data) => {
return request2({
return request({
url: `trade/order/create`,
method: 'POST',
data,
@ -41,7 +40,7 @@ const OrderApi = {
},
// 获得订单
getOrder: (id) => {
return request2({
return request({
url: `trade/order/get-detail`,
method: 'GET',
params: {
@ -62,7 +61,7 @@ const OrderApi = {
},
// 确认收货
receiveOrder: (id) => {
return request2({
return request({
url: `/app-api/trade/order/receive`,
method: 'PUT',
params: {
@ -72,7 +71,7 @@ const OrderApi = {
},
// 取消订单
cancelOrder: (id) => {
return request2({
return request({
url: `/app-api/trade/order/cancel`,
method: 'DELETE',
params: {
@ -82,7 +81,7 @@ const OrderApi = {
},
// 删除订单
deleteOrder: (id) => {
return request2({
return request({
url: `/app-api/trade/order/delete`,
method: 'DELETE',
params: {
@ -92,7 +91,7 @@ const OrderApi = {
},
// 获得交易订单数量
getOrderCount: () => {
return request2({
return request({
url: '/app-api/trade/order/get-count',
method: 'GET',
custom: {
@ -103,7 +102,7 @@ const OrderApi = {
},
// 创建单个评论
createOrderItemComment: (data) => {
return request2({
return request({
url: `/app-api/trade/order/item/create-comment`,
method: 'POST',
data,

View File

@ -12,7 +12,7 @@
<view class="menu-item ss-flex-1 ss-flex-col ss-row-center ss-col-center"
@tap="sheep.$router.go('/pages/user/wallet/score')">
<view class="value-box ss-flex ss-col-bottom">
<view class="value-text">{{ userInfo.point || '0.00' }}</view>
<view class="value-text">{{ userInfo.point || 0 }}</view>
<view class="unit-text ss-m-l-6"></view>
</view>
<view class="menu-title ss-m-t-28">积分</view>

View File

@ -95,7 +95,6 @@ http.interceptors.request.use(
config.header['Accept'] = '*/*'
config.header['tenant-id'] = '1';
config.header['terminal'] = '20';
config.header['Authorization'] = 'Bearer test247';
}
return config;
},
@ -109,12 +108,8 @@ http.interceptors.request.use(
*/
http.interceptors.response.use(
(response) => {
// 自动设置登陆令牌
if (response.header.authorization || response.header.Authorization) {
$store('user').setToken(response.header.authorization || response.header.Authorization);
}
// TODO 芋艿:如果是登录的 API则自动设置 token
if (response.data?.data?.accessToken) {
// 约定:如果是 /auth/ 下的 URL 地址,并且返回了 accessToken 说明是登录相关的接口,则自动设置登陆令牌
if (response.config.url.indexOf('/member/auth/') >= 0 && response.data?.data?.accessToken) {
$store('user').setToken(response.data.data.accessToken);
}

View File

@ -152,7 +152,7 @@ http.interceptors.response.use(
} else {
errorMessage = '请先登录';
}
userStore.logout(true);
userStore.logout();
showAuthModal();
break;
case 403:

View File

@ -58,10 +58,10 @@ const _go = (
}
// 页面登录拦截
// if (nextRoute.meta?.auth && !$store('user').isLogin) {
// showAuthModal();
// return;
// }
if (nextRoute.meta?.auth && !$store('user').isLogin) {
showAuthModal();
return;
}
url = page;
if (!isEmpty(query)) {

View File

@ -85,9 +85,12 @@ const cart = defineStore({
}
},
// 清空购物车
async emptyList() {
await this.delete(this.list.map((item) => item.id));
// 清空购物车。注意,仅用于用户退出时,重置数据
emptyList() {
this.list = [];
this.selectedIds = [];
this.isAllSelected = true;
this.totalPriceSelected = 0;
},
},
persist: {

View File

@ -102,7 +102,7 @@ const user = defineStore({
if (error === 0) uni.removeStorageSync('shareLog');
},
// 设置token
// 设置 token
// TODO 芋艿:整理下;
setToken(token = '') {
if (token === '') {
@ -137,22 +137,27 @@ const user = defineStore({
},
// 重置用户默认数据
// TODO 芋艿:整理下;
resetUserData() {
// 清空 token
this.setToken();
// 清空用户相关的缓存
this.userInfo = clone(defaultUserInfo);
this.userWallet = clone(defaultUserWallet);
this.numData = cloneDeep(defaultNumData);
// 清空购物车的缓存
cart().emptyList();
},
// 登录后
// 登录后,加载各种信息
// TODO 芋艿:整理下;
async loginAfter() {
await this.updateUserData();
// 加载购物车
cart().getList();
// 登录后设置全局分享参数
$share.getShareInfo();
// 提醒绑定手机号
// if (app().platform.bind_mobile && !this.userInfo.verification?.mobile) {
// showAuthModal('changeMobile');
@ -168,21 +173,11 @@ const user = defineStore({
}
},
// 登出
// TODO 芋艿:整理下;
async logout(force = false) {
if (!force) {
const { code } = AuthUtil.logout();
if (code === 0) {
this.resetUserData();
}
}
if (force) {
this.resetUserData();
}
// 登出系统
async logout() {
this.resetUserData();
return !this.isLogin;
},
}
},
persist: {
enabled: true,