mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:13:26 +08:00
Merge branch 'feat/bob_dev_merge' into 'master'
uniapp【优化】: 用户登录的状态根据后台开关是否开启,通过分享进去设置上下级 See merge request jianweie/coreshoppro!66
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
<view class="fix-bottom-btn">
|
<view class="fix-bottom-btn">
|
||||||
<!-- #ifdef MP-ALIPAY -->
|
<!-- #ifdef MP-ALIPAY -->
|
||||||
<view class="btn">
|
<view class="btn">
|
||||||
<coreshop-button class="btn" v-bind="$attrs" @onClick="onClick()"></coreshop-button>
|
<coreshop-button v-bind="$attrs" @onClick="onClick()"></coreshop-button>
|
||||||
</view>
|
</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
|
|
||||||
|
|||||||
@@ -210,6 +210,7 @@
|
|||||||
uni.setStorageSync(UserToken, phoneNumber.data.token);
|
uni.setStorageSync(UserToken, phoneNumber.data.token);
|
||||||
if (phoneNumber.otherData) {
|
if (phoneNumber.otherData) {
|
||||||
userInfoStore.setUserInfo(phoneNumber.otherData);
|
userInfoStore.setUserInfo(phoneNumber.otherData);
|
||||||
|
uni.removeStorageSync(Invitecode);
|
||||||
handleShowToast('登录成功', 'success');
|
handleShowToast('登录成功', 'success');
|
||||||
emits('getUserInfo')
|
emits('getUserInfo')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,4 +162,10 @@ export enum ShowcheckInEnum {
|
|||||||
export enum ShowMenuEnum {
|
export enum ShowMenuEnum {
|
||||||
show = 1,
|
show = 1,
|
||||||
hidden = 2
|
hidden = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 是否开启二次扫码实现与上级绑定 */
|
||||||
|
export enum AllowUserSecondBindEnum {
|
||||||
|
yes = 1,
|
||||||
|
no = 2,
|
||||||
}
|
}
|
||||||
@@ -15,7 +15,8 @@ export interface ShopConfigType {
|
|||||||
indexPopupWindowHrefUrl ?: string;
|
indexPopupWindowHrefUrl ?: string;
|
||||||
indexPopupWindowImageUrl ?: string;
|
indexPopupWindowImageUrl ?: string;
|
||||||
invoiceSwitch ?: number;
|
invoiceSwitch ?: number;
|
||||||
|
isAllowUserSecondBind ?: number;
|
||||||
|
|
||||||
/** 余额提现 */
|
/** 余额提现 */
|
||||||
isAllowWithdrawCash ?: number;
|
isAllowWithdrawCash ?: number;
|
||||||
isOpenAgent ?: number;
|
isOpenAgent ?: number;
|
||||||
|
|||||||
@@ -133,6 +133,8 @@
|
|||||||
|
|
||||||
/** 返回上一个页面 */
|
/** 返回上一个页面 */
|
||||||
handleShowToast(login.msg, 'success', () => {
|
handleShowToast(login.msg, 'success', () => {
|
||||||
|
clearInterval(state.intervalTime);
|
||||||
|
uni.removeStorageSync(Invitecode);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
}, 1000)
|
}, 1000)
|
||||||
|
|||||||
@@ -1,17 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<uv-loading-page :loading="loading" loading-text="加载中..." color="#d33123" loadingColor="#d33123" font-size="24rpx"
|
||||||
|
bgColor="rgba(255, 255, 255, 0.2)"></uv-loading-page>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import { ref } from 'vue';
|
||||||
import { onLoad } from '@dcloudio/uni-app';
|
import { onLoad } from '@dcloudio/uni-app';
|
||||||
import { handleRouteSwitchTab, handleRouteRedirectTo, handleShowToast } from '@/core/utils';
|
import { handleRouteSwitchTab, handleRouteRedirectTo, handleShowToast } from '@/core/utils';
|
||||||
import { queryDeshare } from '@/core/api';
|
import { queryDeshare, setMyInvite } from '@/core/api';
|
||||||
import type { Response } from '@/core/models';
|
import type { Response } from '@/core/models';
|
||||||
import { Invitecode } from '@/core/consts';
|
import { Invitecode, UserToken } from '@/core/consts';
|
||||||
import { ShareEnum } from '@/core/enum';
|
import { ShareEnum, AllowUserSecondBindEnum } from '@/core/enum';
|
||||||
|
import { useShopConfigStore } from '@/core/store';
|
||||||
|
|
||||||
interface QueryParams {
|
interface QueryParams {
|
||||||
scene : string | number;
|
scene : string | number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 获取项目配置 */
|
||||||
|
const shopConfigStore = useShopConfigStore();
|
||||||
|
|
||||||
|
const loading = ref(true);
|
||||||
|
|
||||||
onLoad((query : QueryParams) => {
|
onLoad((query : QueryParams) => {
|
||||||
if (query?.scene) {
|
if (query?.scene) {
|
||||||
handleShare(query?.scene)
|
handleShare(query?.scene)
|
||||||
@@ -22,121 +31,130 @@
|
|||||||
|
|
||||||
const handleShare = async (code : string | number) => {
|
const handleShare = async (code : string | number) => {
|
||||||
const shareData : Response<any> = await queryDeshare({ code, });
|
const shareData : Response<any> = await queryDeshare({ code, });
|
||||||
|
if (!shareData.status) {
|
||||||
if (shareData.status) {
|
loading.value = false;
|
||||||
uni.setStorageSync(Invitecode, shareData.data?.userShareCode);
|
|
||||||
switch (Number(shareData.data?.page)) {
|
|
||||||
/** 首页*/
|
|
||||||
case ShareEnum.index:
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
break;
|
|
||||||
/** 商品详情页*/
|
|
||||||
case ShareEnum.goods:
|
|
||||||
if (shareData.data?.params?.goodsId) {
|
|
||||||
handleRouteRedirectTo(`/pages/goods/detail?id=${shareData.data?.params?.goodsId}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 拼团详情页*/
|
|
||||||
case ShareEnum.pinTuan:
|
|
||||||
if (shareData.data?.params?.groupId && shareData.data?.params?.teamId) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/activity/pinTuan/detail/detail?id=${shareData.data?.params?.groupId}&teamId=${shareData.data?.params?.teamId}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 店铺邀请*/
|
|
||||||
case ShareEnum.inv:
|
|
||||||
if (shareData.data?.params?.store) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/distribution/store/index?store=${shareData.data?.params?.store}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 文章页面 */
|
|
||||||
case ShareEnum.article:
|
|
||||||
if (shareData.data?.params?.articleId) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/article/category/category?id=${shareData.data?.params?.articleId}&idType=${shareData.data?.params?.articleType}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 参团页面 */
|
|
||||||
case ShareEnum.addPinTuan:
|
|
||||||
if (shareData.data?.params?.groupId && shareData.data?.params?.teamId) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/activity/pinTuan/detail/detail?id=${shareData.data?.params?.groupId}&teamId=${shareData.data?.params?.teamId}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 自定义页面 */
|
|
||||||
case ShareEnum.page:
|
|
||||||
if (shareData.data?.params?.pageCode) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/custom/custom?code=${shareData.data?.params?.pageCode}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 智能表单 */
|
|
||||||
case ShareEnum.form:
|
|
||||||
if (shareData.data?.params?.id) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/form/detail/detail?id=${shareData.data?.params?.id}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 团购 */
|
|
||||||
case ShareEnum.group:
|
|
||||||
if (shareData.data?.params?.groupId) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/activity/groupBuying/detail/detail?id=${shareData.data?.params?.groupId}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 秒杀 */
|
|
||||||
case ShareEnum.seckill:
|
|
||||||
if (shareData.data?.params?.groupId) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/activity/seckill/detail/detail?id=${shareData.data?.params?.groupId}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 代理商*/
|
|
||||||
case ShareEnum.agent:
|
|
||||||
if (shareData.data?.params?.store) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/agency/store/index?store=${shareData.data?.params?.store}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 接龙*/
|
|
||||||
case ShareEnum.solitaire:
|
|
||||||
if (shareData.data?.params?.id) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/activity/solitaire/detail/detail?id=${shareData.data?.params?.id}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
/** 服务商品*/
|
|
||||||
case ShareEnum.serviceGoods:
|
|
||||||
if (shareData.data?.params?.serviceGoodsId) {
|
|
||||||
handleRouteRedirectTo(`/pages/subpackage/serviceGoods/detail/detail?id=${shareData.data?.params?.serviceGoodsId}`)
|
|
||||||
} else {
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
handleRouteSwitchTab();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
handleShowToast('跳转失败', 'error', () => {
|
handleShowToast('跳转失败', 'error', () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
handleRouteSwitchTab();
|
handleRouteSwitchTab();
|
||||||
}, 1000)
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 登录状态 + 后台开启 设置上下级 */
|
||||||
|
if (uni.getStorageSync(UserToken) && shopConfigStore.config?.isAllowUserSecondBind === AllowUserSecondBindEnum.yes) {
|
||||||
|
await setMyInvite({ id: shareData.data?.userShareCode });
|
||||||
|
}else{
|
||||||
|
uni.setStorageSync(Invitecode, shareData.data?.userShareCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loading.value = false;
|
||||||
|
switch (Number(shareData.data?.page)) {
|
||||||
|
/** 首页*/
|
||||||
|
case ShareEnum.index:
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
break;
|
||||||
|
/** 商品详情页*/
|
||||||
|
case ShareEnum.goods:
|
||||||
|
if (shareData.data?.params?.goodsId) {
|
||||||
|
handleRouteRedirectTo(`/pages/goods/detail?id=${shareData.data?.params?.goodsId}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 拼团详情页*/
|
||||||
|
case ShareEnum.pinTuan:
|
||||||
|
if (shareData.data?.params?.groupId && shareData.data?.params?.teamId) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/activity/pinTuan/detail/detail?id=${shareData.data?.params?.groupId}&teamId=${shareData.data?.params?.teamId}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 店铺邀请*/
|
||||||
|
case ShareEnum.inv:
|
||||||
|
if (shareData.data?.params?.store) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/distribution/store/index?store=${shareData.data?.params?.store}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 文章页面 */
|
||||||
|
case ShareEnum.article:
|
||||||
|
if (shareData.data?.params?.articleId) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/article/category/category?id=${shareData.data?.params?.articleId}&idType=${shareData.data?.params?.articleType}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 参团页面 */
|
||||||
|
case ShareEnum.addPinTuan:
|
||||||
|
if (shareData.data?.params?.groupId && shareData.data?.params?.teamId) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/activity/pinTuan/detail/detail?id=${shareData.data?.params?.groupId}&teamId=${shareData.data?.params?.teamId}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 自定义页面 */
|
||||||
|
case ShareEnum.page:
|
||||||
|
if (shareData.data?.params?.pageCode) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/custom/custom?code=${shareData.data?.params?.pageCode}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 智能表单 */
|
||||||
|
case ShareEnum.form:
|
||||||
|
if (shareData.data?.params?.id) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/form/detail/detail?id=${shareData.data?.params?.id}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 团购 */
|
||||||
|
case ShareEnum.group:
|
||||||
|
if (shareData.data?.params?.groupId) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/activity/groupBuying/detail/detail?id=${shareData.data?.params?.groupId}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 秒杀 */
|
||||||
|
case ShareEnum.seckill:
|
||||||
|
if (shareData.data?.params?.groupId) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/activity/seckill/detail/detail?id=${shareData.data?.params?.groupId}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 代理商*/
|
||||||
|
case ShareEnum.agent:
|
||||||
|
if (shareData.data?.params?.store) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/agency/store/index?store=${shareData.data?.params?.store}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 接龙*/
|
||||||
|
case ShareEnum.solitaire:
|
||||||
|
if (shareData.data?.params?.id) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/activity/solitaire/detail/detail?id=${shareData.data?.params?.id}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/** 服务商品*/
|
||||||
|
case ShareEnum.serviceGoods:
|
||||||
|
if (shareData.data?.params?.serviceGoodsId) {
|
||||||
|
handleRouteRedirectTo(`/pages/subpackage/serviceGoods/detail/detail?id=${shareData.data?.params?.serviceGoodsId}`)
|
||||||
|
} else {
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
handleRouteSwitchTab();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped></style>
|
||||||
Reference in New Issue
Block a user