✨ 个人中心:登录切换到自己的逻辑
parent
c3cc5d653d
commit
f0e8ff1f87
|
@ -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');
|
||||
},
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
import request from '@/sheep/request';
|
||||
import request2 from '@/sheep/request2';
|
||||
|
||||
export default {
|
||||
faq: () =>
|
||||
request({
|
||||
url: 'data/faq',
|
||||
method: 'GET',
|
||||
}),
|
||||
};
|
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -152,7 +152,7 @@ http.interceptors.response.use(
|
|||
} else {
|
||||
errorMessage = '请先登录';
|
||||
}
|
||||
userStore.logout(true);
|
||||
userStore.logout();
|
||||
showAuthModal();
|
||||
break;
|
||||
case 403:
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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: {
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue