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

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> </uni-list>
</view> </view>
<!-- TODO 芋艿统一的配置界面 -->
<view class="set-footer ss-flex-col ss-row-center ss-col-center"> <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="agreement-box ss-flex ss-col-center ss-m-b-40">
<view class="ss-flex ss-col-center ss-m-b-10"> <view class="ss-flex ss-col-center ss-m-b-10">
@ -99,6 +98,7 @@
<script setup> <script setup>
import sheep from '@/sheep'; import sheep from '@/sheep';
import { computed, reactive } from 'vue'; import { computed, reactive } from 'vue';
import AuthUtil from '@/sheep/api/member/auth';
const appInfo = computed(() => sheep.$store('app').info); const appInfo = computed(() => sheep.$store('app').info);
const isLogin = computed(() => sheep.$store('user').isLogin); const isLogin = computed(() => sheep.$store('user').isLogin);
@ -123,10 +123,12 @@
if (!res.confirm) { if (!res.confirm) {
return; return;
} }
const result = await sheep.$store('user').logout(); const { code } = await AuthUtil.logout();
if (result) { if (code !== 0) {
sheep.$router.go('/pages/index/user'); return;
} }
sheep.$store('user').logout();
sheep.$router.go('/pages/index/user');
}, },
}); });
} }
@ -140,10 +142,12 @@
if (!res.confirm) { if (!res.confirm) {
return; return;
} }
const result = await sheep.$store('user').logout(); const { code } = await AuthUtil.logout();
if (result) { if (code !== 0) {
sheep.$router.go('/pages/index/user'); 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'; import request from '@/sheep/request';
const OrderApi = { const OrderApi = {
@ -26,14 +25,14 @@ const OrderApi = {
const queryString = Object.keys(data2) const queryString = Object.keys(data2)
.map((key) => key + '=' + data2[key]) .map((key) => key + '=' + data2[key])
.join('&'); .join('&');
return request2({ return request({
url: `trade/order/settlement?${queryString}`, url: `trade/order/settlement?${queryString}`,
method: 'GET', method: 'GET',
}); });
}, },
// 创建订单 // 创建订单
createOrder: (data) => { createOrder: (data) => {
return request2({ return request({
url: `trade/order/create`, url: `trade/order/create`,
method: 'POST', method: 'POST',
data, data,
@ -41,7 +40,7 @@ const OrderApi = {
}, },
// 获得订单 // 获得订单
getOrder: (id) => { getOrder: (id) => {
return request2({ return request({
url: `trade/order/get-detail`, url: `trade/order/get-detail`,
method: 'GET', method: 'GET',
params: { params: {
@ -62,7 +61,7 @@ const OrderApi = {
}, },
// 确认收货 // 确认收货
receiveOrder: (id) => { receiveOrder: (id) => {
return request2({ return request({
url: `/app-api/trade/order/receive`, url: `/app-api/trade/order/receive`,
method: 'PUT', method: 'PUT',
params: { params: {
@ -72,7 +71,7 @@ const OrderApi = {
}, },
// 取消订单 // 取消订单
cancelOrder: (id) => { cancelOrder: (id) => {
return request2({ return request({
url: `/app-api/trade/order/cancel`, url: `/app-api/trade/order/cancel`,
method: 'DELETE', method: 'DELETE',
params: { params: {
@ -82,7 +81,7 @@ const OrderApi = {
}, },
// 删除订单 // 删除订单
deleteOrder: (id) => { deleteOrder: (id) => {
return request2({ return request({
url: `/app-api/trade/order/delete`, url: `/app-api/trade/order/delete`,
method: 'DELETE', method: 'DELETE',
params: { params: {
@ -92,7 +91,7 @@ const OrderApi = {
}, },
// 获得交易订单数量 // 获得交易订单数量
getOrderCount: () => { getOrderCount: () => {
return request2({ return request({
url: '/app-api/trade/order/get-count', url: '/app-api/trade/order/get-count',
method: 'GET', method: 'GET',
custom: { custom: {
@ -103,7 +102,7 @@ const OrderApi = {
}, },
// 创建单个评论 // 创建单个评论
createOrderItemComment: (data) => { createOrderItemComment: (data) => {
return request2({ return request({
url: `/app-api/trade/order/item/create-comment`, url: `/app-api/trade/order/item/create-comment`,
method: 'POST', method: 'POST',
data, data,

View File

@ -12,7 +12,7 @@
<view class="menu-item ss-flex-1 ss-flex-col ss-row-center ss-col-center" <view class="menu-item ss-flex-1 ss-flex-col ss-row-center ss-col-center"
@tap="sheep.$router.go('/pages/user/wallet/score')"> @tap="sheep.$router.go('/pages/user/wallet/score')">
<view class="value-box ss-flex ss-col-bottom"> <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 class="unit-text ss-m-l-6"></view>
</view> </view>
<view class="menu-title ss-m-t-28">积分</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['Accept'] = '*/*'
config.header['tenant-id'] = '1'; config.header['tenant-id'] = '1';
config.header['terminal'] = '20'; config.header['terminal'] = '20';
config.header['Authorization'] = 'Bearer test247';
} }
return config; return config;
}, },
@ -109,12 +108,8 @@ http.interceptors.request.use(
*/ */
http.interceptors.response.use( http.interceptors.response.use(
(response) => { (response) => {
// 自动设置登陆令牌 // 约定:如果是 /auth/ 下的 URL 地址,并且返回了 accessToken 说明是登录相关的接口,则自动设置登陆令牌
if (response.header.authorization || response.header.Authorization) { if (response.config.url.indexOf('/member/auth/') >= 0 && response.data?.data?.accessToken) {
$store('user').setToken(response.header.authorization || response.header.Authorization);
}
// TODO 芋艿:如果是登录的 API则自动设置 token
if (response.data?.data?.accessToken) {
$store('user').setToken(response.data.data.accessToken); $store('user').setToken(response.data.data.accessToken);
} }

View File

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

View File

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

View File

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

View File

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