Compare commits
No commits in common. "eaa9f50e7a144e70806cf750cfd3635b72bb5a16" and "6de20826f4aa3de46e39f8265466f7870c851e1a" have entirely different histories.
eaa9f50e7a
...
6de20826f4
@ -301,7 +301,6 @@ const onContactInfoEmitSubmit = (item: any) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onContactInfoButtonClicked = (item: any) => {
|
const onContactInfoButtonClicked = (item: any) => {
|
||||||
|
|
||||||
item.onClick
|
item.onClick
|
||||||
&& item.onClick({
|
&& item.onClick({
|
||||||
contactInfoData: contactInfoData.value,
|
contactInfoData: contactInfoData.value,
|
||||||
@ -397,7 +396,6 @@ function onUserBlacklistUpdated(userBlacklist: IBlackListUserItem[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function onCurrentContactInfoUpdated(contactInfo: IContactInfoType) {
|
async function onCurrentContactInfoUpdated(contactInfo: IContactInfoType) {
|
||||||
console.log('contactInfo-----', contactInfo);
|
|
||||||
if (
|
if (
|
||||||
contactInfoData.value
|
contactInfoData.value
|
||||||
&& contactInfo
|
&& contactInfo
|
||||||
|
|||||||
@ -1,128 +0,0 @@
|
|||||||
.tui-contact-info-h5 {
|
|
||||||
padding: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-header {
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 10px !important;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-header-title {
|
|
||||||
flex: 1;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-basic {
|
|
||||||
padding: 10px !important;
|
|
||||||
background: #fff;
|
|
||||||
margin-top: 10px !important;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row-reverse;
|
|
||||||
justify-content: left;
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-basic-text-name {
|
|
||||||
font-size: 20px;
|
|
||||||
padding-bottom: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-basic-text-other {
|
|
||||||
font-size: 14px;
|
|
||||||
padding: 3px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-basic-avatar {
|
|
||||||
border-radius: 10px;
|
|
||||||
margin-right: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-more {
|
|
||||||
background: #fff;
|
|
||||||
margin-top: 10px !important;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-more-item {
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 10px !important;
|
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-more-item-label {
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-more-item-content {
|
|
||||||
overflow: hidden;
|
|
||||||
color: #979797;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: flex-end;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-more-item-content-text {
|
|
||||||
overflow: hidden;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-more-item-content-text-data {
|
|
||||||
flex: 1;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-more-item:last-child {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-button {
|
|
||||||
margin-top: 10px !important;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
padding: 0;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-button-item {
|
|
||||||
width: 100%;
|
|
||||||
margin: 0;
|
|
||||||
border: none;
|
|
||||||
padding: 16px !important;
|
|
||||||
font-size: 16px;
|
|
||||||
border-bottom: 1px solid #eee;
|
|
||||||
height: fit-content;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-button-item::after {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-button-item-textarea {
|
|
||||||
background-color: #f8f8f8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-button-item:last-child {
|
|
||||||
border-bottom: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-button .tui-contact-info-button-item-cancel {
|
|
||||||
background-color: #fff;
|
|
||||||
color: #006eff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tui-contact-info-h5-button .tui-contact-info-button-item-submit {
|
|
||||||
background-color: #fff;
|
|
||||||
color: #FE3C3C;
|
|
||||||
}
|
|
||||||
@ -119,13 +119,12 @@
|
|||||||
|
|
||||||
.tui-contact-info-button-item-cancel {
|
.tui-contact-info-button-item-cancel {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
color: #006eff;
|
color: #e54545;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tui-contact-info-button-item-submit {
|
.tui-contact-info-button-item-submit {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
color: #006eff;
|
||||||
color: #FE3C3C;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,7 +34,7 @@ import { onHide } from '@dcloudio/uni-app';
|
|||||||
import './entry.ts';
|
import './entry.ts';
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
const emits = defineEmits(['handleSwitchConversation','state']);
|
const emits = defineEmits(['handleSwitchConversation']);
|
||||||
|
|
||||||
const totalUnreadCount = ref(0);
|
const totalUnreadCount = ref(0);
|
||||||
const headerRef = ref<typeof ConversationHeader>();
|
const headerRef = ref<typeof ConversationHeader>();
|
||||||
@ -56,7 +56,6 @@ TUIStore.watch(StoreName.CUSTOM, {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const handleSwitchConversation = (conversationID: string) => {
|
const handleSwitchConversation = (conversationID: string) => {
|
||||||
emits('state',false);
|
|
||||||
TUIGlobal?.navigateTo({
|
TUIGlobal?.navigateTo({
|
||||||
url: '/TUIKit/components/TUIChat/index',
|
url: '/TUIKit/components/TUIChat/index',
|
||||||
});
|
});
|
||||||
|
|||||||
@ -17,9 +17,9 @@ const groupIntroConfig = [
|
|||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
icon: 'https://web.sdk.qcloud.com/im/assets/images/Work.svg',
|
icon: 'https://web.sdk.qcloud.com/im/assets/images/Work.svg',
|
||||||
label: '好友群',
|
label: '好友工作群(Work)',
|
||||||
type: TUIChatEngine.TYPES.GRP_WORK,
|
type: TUIChatEngine.TYPES.GRP_WORK,
|
||||||
detail: '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批',
|
detail: '类似普通微信群,创建后仅支持已在群内的好友邀请加群,且无需被邀请方同意或群主审批。详见',
|
||||||
src: '产品文档',
|
src: '产品文档',
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
|
|||||||
@ -30,7 +30,6 @@
|
|||||||
<li class="group-list-item">
|
<li class="group-list-item">
|
||||||
<label class="group-list-item-label">{{ TUITranslateService.t('TUIGroup.群头像') }}</label>
|
<label class="group-list-item-label">{{ TUITranslateService.t('TUIGroup.群头像') }}</label>
|
||||||
<Avatar :url="groupInfo.profile.avatar" />
|
<Avatar :url="groupInfo.profile.avatar" />
|
||||||
<!-- {{ }} -->
|
|
||||||
</li>
|
</li>
|
||||||
<ul>
|
<ul>
|
||||||
<li
|
<li
|
||||||
@ -77,12 +76,12 @@
|
|||||||
>
|
>
|
||||||
<label class="introduction-name">{{ groupTypeDetail.label }}:</label>
|
<label class="introduction-name">{{ groupTypeDetail.label }}:</label>
|
||||||
<span class="introduction-detail">{{ groupTypeDetail.detail }}</span>
|
<span class="introduction-detail">{{ groupTypeDetail.detail }}</span>
|
||||||
<!-- <a
|
<a
|
||||||
:href="documentLink.product.url"
|
:href="documentLink.product.url"
|
||||||
target="view_window"
|
target="view_window"
|
||||||
>
|
>
|
||||||
{{ TUITranslateService.t(`TUIGroup.${groupTypeDetail.src}`) }}
|
{{ TUITranslateService.t(`TUIGroup.${groupTypeDetail.src}`) }}
|
||||||
</a> -->
|
</a>
|
||||||
</article>
|
</article>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -206,8 +205,10 @@ const createInfo = computed(() => {
|
|||||||
? [groupNameInput]
|
? [groupNameInput]
|
||||||
: [groupNameInput, groupIDInput];
|
: [groupNameInput, groupIDInput];
|
||||||
});
|
});
|
||||||
|
|
||||||
const submitDisabledStatus = computed(() => {
|
const submitDisabledStatus = computed(() => {
|
||||||
return groupInfo.profile.name === '' && !groupInfo.isEdit;
|
return groupInfo.profile.name === '' && !groupInfo.isEdit;
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const selected = (type: any) => {
|
const selected = (type: any) => {
|
||||||
|
|||||||
@ -1,102 +0,0 @@
|
|||||||
.group {
|
|
||||||
background: #FFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-list-item {
|
|
||||||
background: #FFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-list-item label {
|
|
||||||
font-family: PingFangSC-Regular;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-list input {
|
|
||||||
border: 1px solid rgba(131, 137, 153, 0.4);
|
|
||||||
font-weight: 400;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-list-edit {
|
|
||||||
background: #FFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-profile-footer {
|
|
||||||
background: #FFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-h5 {
|
|
||||||
background: #F7F8FA;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-h5-list-item-introduction {
|
|
||||||
font-family: PingFangSC-Regular;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #888;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-h5-list-item-introduction a {
|
|
||||||
color: #006EFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select a {
|
|
||||||
color: #006EFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item {
|
|
||||||
border: 1px solid rgba(131, 137, 153, 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-header .left {
|
|
||||||
font-weight: 500;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-detail {
|
|
||||||
color: #4F4F4F;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select .selected {
|
|
||||||
border: 1px solid #006EFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
|
||||||
background: #FFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
header h1 {
|
|
||||||
font-family: PingFangSC-Medium;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #000;
|
|
||||||
letter-spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-default {
|
|
||||||
background: #FFF;
|
|
||||||
border: 1px solid #DDD;
|
|
||||||
font-family: PingFangSC-Medium;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #828282;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-submit {
|
|
||||||
width: 100%;
|
|
||||||
background: #3370FF;
|
|
||||||
border: 0 solid #2F80ED;
|
|
||||||
font-family: PingFangSC-Regular;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #FFF;
|
|
||||||
letter-spacing: 0;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-submit:disabled {
|
|
||||||
background: #e8e8e9;
|
|
||||||
border: 1px solid #DDD;
|
|
||||||
color: #FFF;
|
|
||||||
}
|
|
||||||
@ -89,14 +89,12 @@ header {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.btn-submit {
|
.btn-submit {
|
||||||
width: 100%;
|
|
||||||
background: #3370FF;
|
background: #3370FF;
|
||||||
border: 0 solid #2F80ED;
|
border: 0 solid #2F80ED;
|
||||||
font-family: PingFangSC-Regular;
|
font-family: PingFangSC-Regular;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
letter-spacing: 0;
|
letter-spacing: 0;
|
||||||
background-color: #fe3c3c;
|
|
||||||
|
|
||||||
&:disabled {
|
&:disabled {
|
||||||
background: #e8e8e9;
|
background: #e8e8e9;
|
||||||
|
|||||||
@ -1,104 +0,0 @@
|
|||||||
.group {
|
|
||||||
padding: 30px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
width: 750px;
|
|
||||||
max-height: calc(100vh - 100px);
|
|
||||||
overflow-y: auto;
|
|
||||||
border-radius: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group .group-box .group-box-header {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row-reverse;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group .group-box .group-box-header .group-box-header-title {
|
|
||||||
font-size: 18px;
|
|
||||||
line-height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-list-item {
|
|
||||||
display: flex;
|
|
||||||
padding: 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-list-item-label {
|
|
||||||
width: 84px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-list input {
|
|
||||||
flex: 1;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 6px 10px;
|
|
||||||
border-radius: 2px;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item {
|
|
||||||
padding: 12px 20px !important;
|
|
||||||
border-radius: 2px;
|
|
||||||
margin-bottom: 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-header {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-header .left {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-header .left .icon {
|
|
||||||
margin-right: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-header .icon-selected {
|
|
||||||
position: relative;
|
|
||||||
left: 12px;
|
|
||||||
top: -4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-type {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item-detail {
|
|
||||||
padding-top: 6px;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.select-item .link {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.group-profile-footer {
|
|
||||||
padding-top: 10px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-end;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-default {
|
|
||||||
width: 82px;
|
|
||||||
height: 32px;
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 14px;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-submit {
|
|
||||||
width: 100%;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
height: 32px;
|
|
||||||
border-radius: 4px;
|
|
||||||
margin-left: 10px;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
@ -95,12 +95,10 @@
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-submit {
|
.btn-submit {
|
||||||
width: 100%;
|
width: 82px;
|
||||||
background-color: #fe3c3c;
|
|
||||||
height: 32px;
|
height: 32px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
|
|||||||
@ -197,13 +197,11 @@ const close = (tabName: string) => {
|
|||||||
border: 0 solid #2f80ed;
|
border: 0 solid #2f80ed;
|
||||||
padding: 4px 28px;
|
padding: 4px 28px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 12px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
display: flex ;
|
|
||||||
align-items: center;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
&-cancel {
|
&-cancel {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
@ -239,7 +237,7 @@ const close = (tabName: string) => {
|
|||||||
font-family: PingFangSC-Regular;
|
font-family: PingFangSC-Regular;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: #fe3c3c;
|
color: #3370ff;
|
||||||
letter-spacing: 0;
|
letter-spacing: 0;
|
||||||
line-height: 27px;
|
line-height: 27px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,7 +35,6 @@
|
|||||||
<button
|
<button
|
||||||
class="btn btn-cancel"
|
class="btn btn-cancel"
|
||||||
@click="close"
|
@click="close"
|
||||||
style="color: #fff;display: flex;justify-content: center;align-items: center"
|
|
||||||
>
|
>
|
||||||
{{ TUITranslateService.t('component.取消') }}
|
{{ TUITranslateService.t('component.取消') }}
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@ -1,46 +0,0 @@
|
|||||||
.dialog {
|
|
||||||
background: rgba(0, 0, 0, 0.6);
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main {
|
|
||||||
background: #FFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-header {
|
|
||||||
font-weight: 500;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-title {
|
|
||||||
font-family: PingFangSC-Medium;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-back {
|
|
||||||
background: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-content {
|
|
||||||
font-weight: 400;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
font-weight: 400;
|
|
||||||
color: #FFF;
|
|
||||||
letter-spacing: 0;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-cancel {
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
color: #666;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-default {
|
|
||||||
background: #006EFF;
|
|
||||||
border: 1px solid #006EFF;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
|
||||||
@ -30,16 +30,14 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #FFF;
|
color: #FFF;
|
||||||
letter-spacing: 0;
|
letter-spacing: 0;
|
||||||
background-color: #fe3c3c;
|
|
||||||
&-cancel {
|
&-cancel {
|
||||||
border: 1px solid #ddd;
|
border: 1px solid #ddd;
|
||||||
color: #666;
|
color: #666;
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&-default {
|
&-default {
|
||||||
background: #006EFF;
|
background: #006EFF;
|
||||||
border: 1px solid #006EFF;
|
border: 1px solid #006EFF;
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,59 +0,0 @@
|
|||||||
.dialog-h5 {
|
|
||||||
height: 95%;
|
|
||||||
top: 30px;
|
|
||||||
align-items: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-h5 .dialog-main {
|
|
||||||
border-radius: 0;
|
|
||||||
padding: 0;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
overflow: hidden;
|
|
||||||
width: 100%;
|
|
||||||
min-height: 80px;
|
|
||||||
min-width: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-h5 .dialog-main-content {
|
|
||||||
flex: 1;
|
|
||||||
min-width: 0;
|
|
||||||
min-height: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
text-align: center;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-h5 .dialog-main-content-uniapp {
|
|
||||||
padding: 40px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-h5 .dialog-main-footer {
|
|
||||||
border-top: 1px solid #DDD;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-h5 .dialog-main-footer .btn {
|
|
||||||
flex: 1;
|
|
||||||
margin: 0;
|
|
||||||
background: none;
|
|
||||||
border-right: 1px solid #DDD;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-h5 .dialog-main-footer .btn-default {
|
|
||||||
color: #fff;
|
|
||||||
border: none;
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.center {
|
|
||||||
align-items: center;
|
|
||||||
padding: 20px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
.dialog-h5 {
|
.dialog-h5 {
|
||||||
height: 95%;
|
height: 100%;
|
||||||
top: 30px;
|
top: 0;
|
||||||
align-items: inherit;
|
align-items: inherit;
|
||||||
|
|
||||||
.dialog {
|
.dialog {
|
||||||
@ -38,14 +38,10 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
background: none;
|
background: none;
|
||||||
border-right: 1px solid #DDD;
|
border-right: 1px solid #DDD;
|
||||||
background-color: #fe3c3c;
|
|
||||||
&-default {
|
&-default {
|
||||||
color: #fff;
|
color: #FF584C;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: #fe3c3c;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,63 +0,0 @@
|
|||||||
.dialog {
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
z-index: 6;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main {
|
|
||||||
min-width: 368px;
|
|
||||||
border-radius: 10px;
|
|
||||||
padding: 20px 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-header {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-title {
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-content {
|
|
||||||
font-size: 14px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-main-footer {
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-end;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn {
|
|
||||||
padding: 8px 20px;
|
|
||||||
margin: 0 6px;
|
|
||||||
border-radius: 4px;
|
|
||||||
border: none;
|
|
||||||
font-size: 14px;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 20px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn:disabled {
|
|
||||||
opacity: 0.3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn:last-child {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
@ -50,8 +50,7 @@
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
&:disabled {
|
&:disabled {
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,9 +3,20 @@
|
|||||||
class="transfer"
|
class="transfer"
|
||||||
:class="[!isPC ? 'transfer-h5' : '', isWeChat ? 'transfer-h5-wechat' : '']"
|
:class="[!isPC ? 'transfer-h5' : '', isWeChat ? 'transfer-h5-wechat' : '']"
|
||||||
>
|
>
|
||||||
<header v-if="!isPC" class="transfer-header transfer-h5-header">
|
<header
|
||||||
<div v-if="!props.isHiddenBackIcon" @click="cancel">
|
v-if="!isPC"
|
||||||
<Icon class="icon" :file="backIcon" :width="'18px'" :height="'18px'" />
|
class="transfer-header transfer-h5-header"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-if="!props.isHiddenBackIcon"
|
||||||
|
@click="cancel"
|
||||||
|
>
|
||||||
|
<Icon
|
||||||
|
class="icon"
|
||||||
|
:file="backIcon"
|
||||||
|
:width="'18px'"
|
||||||
|
:height="'18px'"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span class="title">{{ transferTitle }}</span>
|
<span class="title">{{ transferTitle }}</span>
|
||||||
<span class="space" />
|
<span class="space" />
|
||||||
@ -22,7 +33,7 @@
|
|||||||
enterkeyhint="search"
|
enterkeyhint="search"
|
||||||
:class="[isUniFrameWork ? 'left-uniapp-input' : '']"
|
:class="[isUniFrameWork ? 'left-uniapp-input' : '']"
|
||||||
@keyup.enter="handleInput"
|
@keyup.enter="handleInput"
|
||||||
/>
|
>
|
||||||
<!-- not PC triggers blur -->
|
<!-- not PC triggers blur -->
|
||||||
<input
|
<input
|
||||||
v-if="!isPC && isTransferSearch"
|
v-if="!isPC && isTransferSearch"
|
||||||
@ -33,7 +44,7 @@
|
|||||||
:class="[isUniFrameWork ? 'left-uniapp-input' : '']"
|
:class="[isUniFrameWork ? 'left-uniapp-input' : '']"
|
||||||
@blur="handleInput"
|
@blur="handleInput"
|
||||||
@confirm="handleInput"
|
@confirm="handleInput"
|
||||||
/>
|
>
|
||||||
</header>
|
</header>
|
||||||
<main class="transfer-left-main">
|
<main class="transfer-left-main">
|
||||||
<ul class="transfer-list">
|
<ul class="transfer-list">
|
||||||
@ -48,7 +59,10 @@
|
|||||||
:width="'18px'"
|
:width="'18px'"
|
||||||
:height="'18px'"
|
:height="'18px'"
|
||||||
/>
|
/>
|
||||||
<i v-else class="icon-unselected" />
|
<i
|
||||||
|
v-else
|
||||||
|
class="icon-unselected"
|
||||||
|
/>
|
||||||
<span class="select-all">{{
|
<span class="select-all">{{
|
||||||
TUITranslateService.t("component.全选")
|
TUITranslateService.t("component.全选")
|
||||||
}}</span>
|
}}</span>
|
||||||
@ -78,14 +92,15 @@
|
|||||||
'https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'
|
'https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'
|
||||||
"
|
"
|
||||||
onerror="this.onerror=null;this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"
|
onerror="this.onerror=null;this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"
|
||||||
/>
|
|
||||||
<span class="name">{{ item.nick || item.userID }}</span>
|
|
||||||
<span v-if="item.isDisabled"
|
|
||||||
>({{ TUITranslateService.t("component.已在群中") }})</span
|
|
||||||
>
|
>
|
||||||
|
<span class="name">{{ item.nick || item.userID }}</span>
|
||||||
|
<span v-if="item.isDisabled">({{ TUITranslateService.t("component.已在群中") }})</span>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<slot name="left" :data="item" />
|
<slot
|
||||||
|
name="left"
|
||||||
|
:data="item"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
</li>
|
</li>
|
||||||
<li
|
<li
|
||||||
@ -99,10 +114,16 @@
|
|||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<header v-if="isPC" class="transfer-header">
|
<header
|
||||||
|
v-if="isPC"
|
||||||
|
class="transfer-header"
|
||||||
|
>
|
||||||
{{ transferTitle }}
|
{{ transferTitle }}
|
||||||
</header>
|
</header>
|
||||||
<ul v-if="resultShow" class="transfer-list">
|
<ul
|
||||||
|
v-if="resultShow"
|
||||||
|
class="transfer-list"
|
||||||
|
>
|
||||||
<p
|
<p
|
||||||
v-if="transferSelectedList.length > 0 && isPC"
|
v-if="transferSelectedList.length > 0 && isPC"
|
||||||
class="transfer-text"
|
class="transfer-text"
|
||||||
@ -125,17 +146,28 @@
|
|||||||
'https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'
|
'https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'
|
||||||
"
|
"
|
||||||
onerror="this.onerror=null;this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"
|
onerror="this.onerror=null;this.src='https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png'"
|
||||||
/>
|
>
|
||||||
<span v-if="isPC" class="name">{{
|
<span
|
||||||
item.nick || item.userID
|
v-if="isPC"
|
||||||
}}</span>
|
class="name"
|
||||||
|
>{{ item.nick || item.userID }}</span>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<slot name="right" :data="item" />
|
<slot
|
||||||
|
name="right"
|
||||||
|
:data="item"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
</aside>
|
</aside>
|
||||||
<span v-if="isPC" @click="selected(item)">
|
<span
|
||||||
<Icon :file="cancelIcon" :width="'18px'" :height="'18px'" />
|
v-if="isPC"
|
||||||
|
@click="selected(item)"
|
||||||
|
>
|
||||||
|
<Icon
|
||||||
|
:file="cancelIcon"
|
||||||
|
:width="'18px'"
|
||||||
|
:height="'18px'"
|
||||||
|
/>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -143,7 +175,6 @@
|
|||||||
<button
|
<button
|
||||||
class="btn btn-cancel"
|
class="btn btn-cancel"
|
||||||
@click="cancel"
|
@click="cancel"
|
||||||
style="display: flex; justify-content: center; align-items: center"
|
|
||||||
>
|
>
|
||||||
{{ TUITranslateService.t("component.取消") }}
|
{{ TUITranslateService.t("component.取消") }}
|
||||||
</button>
|
</button>
|
||||||
@ -151,13 +182,6 @@
|
|||||||
v-if="transferSelectedList.length > 0"
|
v-if="transferSelectedList.length > 0"
|
||||||
class="btn"
|
class="btn"
|
||||||
@click="submit"
|
@click="submit"
|
||||||
style="
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
color: #fff;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
{{ TUITranslateService.t("component.完成") }}
|
{{ TUITranslateService.t("component.完成") }}
|
||||||
</button>
|
</button>
|
||||||
@ -165,13 +189,6 @@
|
|||||||
v-else
|
v-else
|
||||||
class="btn btn-no"
|
class="btn btn-no"
|
||||||
@click="submit"
|
@click="submit"
|
||||||
style="
|
|
||||||
background-color: #fe3c3c;
|
|
||||||
color: #fff;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
{{ TUITranslateService.t("component.完成") }}
|
{{ TUITranslateService.t("component.完成") }}
|
||||||
</button>
|
</button>
|
||||||
@ -182,14 +199,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, watchEffect, computed } from "../../../adapter-vue";
|
import { ref, watchEffect, computed } from '../../../adapter-vue';
|
||||||
import { TUITranslateService } from "@tencentcloud/chat-uikit-engine";
|
import { TUITranslateService } from '@tencentcloud/chat-uikit-engine';
|
||||||
import { ITransferListItem } from "../../../interface";
|
import { ITransferListItem } from '../../../interface';
|
||||||
import Icon from "../Icon.vue";
|
import Icon from '../Icon.vue';
|
||||||
import selectedIcon from "../../../assets/icon/selected.svg";
|
import selectedIcon from '../../../assets/icon/selected.svg';
|
||||||
import backIcon from "../../../assets/icon/back.svg";
|
import backIcon from '../../../assets/icon/back.svg';
|
||||||
import cancelIcon from "../../../assets/icon/cancel.svg";
|
import cancelIcon from '../../../assets/icon/cancel.svg';
|
||||||
import { isPC, isUniFrameWork, isWeChat } from "../../../utils/env";
|
import { isPC, isUniFrameWork, isWeChat } from '../../../utils/env';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
list: {
|
list: {
|
||||||
@ -214,11 +231,11 @@ const props = defineProps({
|
|||||||
},
|
},
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "",
|
default: '',
|
||||||
},
|
},
|
||||||
type: {
|
type: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "",
|
default: '',
|
||||||
},
|
},
|
||||||
resultShow: {
|
resultShow: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@ -239,14 +256,14 @@ const transferTotal = ref<number>(0);
|
|||||||
const transferSelectedList = ref<ITransferListItem[]>([]);
|
const transferSelectedList = ref<ITransferListItem[]>([]);
|
||||||
const isTransferSearch = ref(true);
|
const isTransferSearch = ref(true);
|
||||||
const isTransferCustomItem = ref(false);
|
const isTransferCustomItem = ref(false);
|
||||||
const transferTitle = ref("");
|
const transferTitle = ref('');
|
||||||
const searchValue = ref("");
|
const searchValue = ref('');
|
||||||
|
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
if (props.isCustomItem) {
|
if (props.isCustomItem) {
|
||||||
for (let index = 0; index < props.list.length; index++) {
|
for (let index = 0; index < props.list.length; index++) {
|
||||||
if (
|
if (
|
||||||
(props.list[index] as any).conversationID.indexOf("@TIM#SYSTEM") > -1
|
(props.list[index] as any).conversationID.indexOf('@TIM#SYSTEM') > -1
|
||||||
) {
|
) {
|
||||||
// eslint-disable-next-line vue/no-mutating-props
|
// eslint-disable-next-line vue/no-mutating-props
|
||||||
props.list.splice(index, 1);
|
props.list.splice(index, 1);
|
||||||
@ -257,25 +274,21 @@ watchEffect(() => {
|
|||||||
transferList.value = props.list as ITransferListItem[];
|
transferList.value = props.list as ITransferListItem[];
|
||||||
}
|
}
|
||||||
transferTotal.value = props.total ? props.total : props.list.length;
|
transferTotal.value = props.total ? props.total : props.list.length;
|
||||||
transferSelectedList.value = (
|
transferSelectedList.value = (props.selectedList && props.selectedList.length > 0 ? props.selectedList : transferSelectedList.value) as any;
|
||||||
props.selectedList && props.selectedList.length > 0
|
|
||||||
? props.selectedList
|
|
||||||
: transferSelectedList.value
|
|
||||||
) as any;
|
|
||||||
isTransferSearch.value = props.isSearch;
|
isTransferSearch.value = props.isSearch;
|
||||||
isTransferCustomItem.value = props.isCustomItem;
|
isTransferCustomItem.value = props.isCustomItem;
|
||||||
transferTitle.value = props.title;
|
transferTitle.value = props.title;
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(["search", "submit", "cancel", "getMore"]);
|
const emit = defineEmits(['search', 'submit', 'cancel', 'getMore']);
|
||||||
|
|
||||||
const optional = computed(() =>
|
const optional = computed(() =>
|
||||||
transferList.value.filter((item: any) => !item.isDisabled)
|
transferList.value.filter((item: any) => !item.isDisabled),
|
||||||
);
|
);
|
||||||
|
|
||||||
const handleInput = (e: any) => {
|
const handleInput = (e: any) => {
|
||||||
searchValue.value = e.target.value || e.detail.value;
|
searchValue.value = e.target.value || e.detail.value;
|
||||||
emit("search", searchValue.value);
|
emit('search', searchValue.value);
|
||||||
};
|
};
|
||||||
const selected = (item: any) => {
|
const selected = (item: any) => {
|
||||||
if (item.isDisabled) {
|
if (item.isDisabled) {
|
||||||
@ -302,17 +315,17 @@ const selectedAll = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const submit = () => {
|
const submit = () => {
|
||||||
emit("submit", transferSelectedList.value);
|
emit('submit', transferSelectedList.value);
|
||||||
searchValue.value = "";
|
searchValue.value = '';
|
||||||
};
|
};
|
||||||
|
|
||||||
const cancel = () => {
|
const cancel = () => {
|
||||||
emit("cancel");
|
emit('cancel');
|
||||||
searchValue.value = "";
|
searchValue.value = '';
|
||||||
};
|
};
|
||||||
|
|
||||||
const getMore = () => {
|
const getMore = () => {
|
||||||
emit("getMore");
|
emit('getMore');
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -1,91 +0,0 @@
|
|||||||
.transfer-h5 {
|
|
||||||
width: 100%;
|
|
||||||
height: 92%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5-wechat {
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5-header {
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
font-size: 18px;
|
|
||||||
padding: 16px 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5-header .space, .transfer-h5-header .icon {
|
|
||||||
width: 18px;
|
|
||||||
height: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main {
|
|
||||||
flex: 1;
|
|
||||||
flex-direction: column;
|
|
||||||
width: auto;
|
|
||||||
height: auto;
|
|
||||||
border-radius: 0;
|
|
||||||
border: none;
|
|
||||||
box-shadow: none;
|
|
||||||
max-height: calc(100% - 50px);
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .avatar {
|
|
||||||
border-radius: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .left {
|
|
||||||
padding: 0;
|
|
||||||
flex: 1;
|
|
||||||
border: none;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .left .transfer-header {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
padding: 0 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .left .transfer-header input {
|
|
||||||
border-radius: 5px;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .left-uniapp-input {
|
|
||||||
height: 36px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .right {
|
|
||||||
flex: 0;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
box-shadow: inset 0 1px 0 0 #EEE;
|
|
||||||
padding: 8px 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .right .transfer-list {
|
|
||||||
flex-direction: row;
|
|
||||||
width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .right .transfer-list-item-content {
|
|
||||||
flex: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .right .transfer-right-footer {
|
|
||||||
padding: 6px 0;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.transfer-h5 .main .right .transfer-right-footer .btn {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
.transfer-h5 {
|
.transfer-h5 {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 92%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
||||||
@ -86,7 +86,6 @@
|
|||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,7 +23,7 @@ export function getArticleCategory(category_type) {
|
|||||||
*/
|
*/
|
||||||
export function getArticleDetail(type) {
|
export function getArticleDetail(type) {
|
||||||
return http.request({
|
return http.request({
|
||||||
url: `/other/article/type/${type}`,
|
url: `/other/article/get/${type}`,
|
||||||
method: Method.GET,
|
method: Method.GET,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
26
api/point.js
@ -23,32 +23,6 @@ export function mymon() {
|
|||||||
needToken: true,
|
needToken: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* 达人下的用户
|
|
||||||
* @param params
|
|
||||||
*/
|
|
||||||
export function bindUsers() {
|
|
||||||
return http.request({
|
|
||||||
url: '/share/code/expert/bind/users',
|
|
||||||
method: Method.GET,
|
|
||||||
needToken: true,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 分销的消费记录
|
|
||||||
* @param params
|
|
||||||
*/
|
|
||||||
export function getcompleted(data) {
|
|
||||||
return http.request({
|
|
||||||
url: '/share/code/completed-orders',
|
|
||||||
method: Method.GET,
|
|
||||||
needToken: true,
|
|
||||||
params:data
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 绑定推荐码
|
* 绑定推荐码
|
||||||
* @param params
|
* @param params
|
||||||
|
|||||||
@ -70,32 +70,32 @@ export default {
|
|||||||
show: true,
|
show: true,
|
||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
color: "#04BE02",
|
color: '#04BE02',
|
||||||
title: "微信好友",
|
title: '微信好友',
|
||||||
icon: "weixin-fill",
|
icon: 'weixin-fill',
|
||||||
type: 0,
|
type: 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
color: "#04BE02",
|
color: '#04BE02',
|
||||||
title: "朋友圈",
|
title: '朋友圈',
|
||||||
icon: "weixin-circle-fill",
|
icon: 'weixin-circle-fill',
|
||||||
type: 1,
|
type: 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
color: "#04BE02",
|
color: '#04BE02',
|
||||||
title: "消息",
|
title: '消息',
|
||||||
icon: "man-add-fill",
|
icon: 'weixin-circle-fill',
|
||||||
type: 2,
|
type: 2
|
||||||
},
|
}
|
||||||
],
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
// 图片缩略图、 商品名称 、 type(goods,shop,pintuan) 拼团商品分享以及店铺分享
|
// 图片缩略图、 商品名称 、 type(goods,shop,pintuan) 拼团商品分享以及店铺分享
|
||||||
|
|
||||||
props: ["thumbnail", "goodsName", "type", "goodsId", "link", "price"],
|
props: ['thumbnail', 'goodsName', 'type', 'goodsId', 'link', 'price'],
|
||||||
methods: {
|
methods: {
|
||||||
close() {
|
close() {
|
||||||
this.$emit("close");
|
this.$emit('close');
|
||||||
},
|
},
|
||||||
// h5复制链接
|
// h5复制链接
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
@ -104,22 +104,20 @@ export default {
|
|||||||
if (this.link) {
|
if (this.link) {
|
||||||
content = this.configs.shareLink + this.link;
|
content = this.configs.shareLink + this.link;
|
||||||
} else {
|
} else {
|
||||||
content =
|
content = this.configs.shareLink + getCurrentPages()[getCurrentPages().length - 1].__page__.fullPath;
|
||||||
this.configs.shareLink +
|
|
||||||
getCurrentPages()[getCurrentPages().length - 1].__page__.fullPath;
|
|
||||||
}
|
}
|
||||||
if (content === null || content === undefined) {
|
if (content === null || content === undefined) {
|
||||||
content = "";
|
content = '';
|
||||||
} else content = content + "";
|
} else content = content + '';
|
||||||
const result = h5Copy(content);
|
const result = h5Copy(content);
|
||||||
if (result === false) {
|
if (result === false) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "不支持",
|
title: '不支持'
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "复制成功",
|
title: '复制成功',
|
||||||
icon: "none",
|
icon: 'none'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -143,11 +141,9 @@ export default {
|
|||||||
handleShare(val) {
|
handleShare(val) {
|
||||||
if (val.type <= 1) {
|
if (val.type <= 1) {
|
||||||
let scene; // "WXSenceTimeline 朋友圈 WXSceneSession 微信好友"
|
let scene; // "WXSenceTimeline 朋友圈 WXSceneSession 微信好友"
|
||||||
val.type == 1
|
val.type == 1 ? (scene = 'WXSenceTimeline') : (scene = 'WXSceneSession');
|
||||||
? (scene = "WXSenceTimeline")
|
|
||||||
: (scene = "WXSceneSession");
|
|
||||||
uni.share({
|
uni.share({
|
||||||
provider: "weixin",
|
provider: 'weixin',
|
||||||
scene: scene,
|
scene: scene,
|
||||||
href: configs.shareLink + this.link,
|
href: configs.shareLink + this.link,
|
||||||
imageUrl: this.thumbnail,
|
imageUrl: this.thumbnail,
|
||||||
@ -156,55 +152,58 @@ export default {
|
|||||||
title: this.shareTitle(),
|
title: this.shareTitle(),
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "分享成功!",
|
title: '分享成功!',
|
||||||
duration: 2000,
|
duration: 2000,
|
||||||
icon: "none",
|
icon: 'none'
|
||||||
});
|
});
|
||||||
this.$emit("close");
|
this.$emit('close');
|
||||||
},
|
},
|
||||||
fail: function (err) {
|
fail: function (err) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "分享失败!",
|
title: '分享失败!',
|
||||||
duration: 2000,
|
duration: 2000,
|
||||||
icon: "none",
|
icon: 'none'
|
||||||
});
|
});
|
||||||
this.$emit("close");
|
this.$emit('close');
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (val.type == 2) {
|
if (val.type == 2) {
|
||||||
const mofn =
|
// 优化复制逻辑,确保内容存在
|
||||||
this.goodsName +
|
// props: ["thumbnail", "goodsName", "type", "goodsId", "link","price"],
|
||||||
"," +
|
// console.log(this.link,'===')
|
||||||
this.price +
|
// const mofn=JSON.stringify('名字:'+this.goodsName+',价格:'+this.price+','+this.link)
|
||||||
"," +
|
|
||||||
this.thumbnail.split("?")[0].split("com")[1] +
|
const mofn = this.goodsName + ',' + this.price + ',' + this.thumbnail.split('?')[0].split('com')[1] + ',' + this.link.split('?')[1];
|
||||||
"," +
|
// const mofn={nage:this.goodsName,price:this.price,img:this.thumbnail.split('?')[0],link:this.link}
|
||||||
this.link.split("?")[1];
|
console.log('===+++', mofn.split(',')[1]);
|
||||||
uni.setClipboardData({
|
console.log('===+++', this.thumbnail);
|
||||||
data: mofn,
|
console.log('===+++', mofn.split(',')[3]);
|
||||||
success: () => {
|
// uni.setClipboardData({
|
||||||
uni.showToast({
|
// data: mofn,
|
||||||
title: "复制成功",
|
// success: () => {
|
||||||
icon: "none",
|
// uni.showToast({
|
||||||
});
|
// title: "复制成功",
|
||||||
uni.switchTab({
|
// icon: "none",
|
||||||
url: "/pages/tabbar/im/index",
|
// });
|
||||||
fail: (err) => {
|
// uni.switchTab({
|
||||||
console.error("跳转失败--:", err); // 查看具体错误
|
// url: "/pages/tabbar/im/index",
|
||||||
},
|
// fail: (err) => {
|
||||||
});
|
// console.error("跳转失败--:", err); // 查看具体错误
|
||||||
},
|
// },
|
||||||
fail: () => {
|
// });
|
||||||
uni.showToast({
|
|
||||||
title: "不支持",
|
// },
|
||||||
});
|
// fail: () => {
|
||||||
},
|
// uni.showToast({
|
||||||
});
|
// title: "不支持",
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
// #endif
|
// #endif
|
||||||
},
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@ -322,7 +322,7 @@ export default {
|
|||||||
return `${m}:${s < 10 ? '0' : ''}${s}`;
|
return `${m}:${s < 10 ? '0' : ''}${s}`;
|
||||||
},
|
},
|
||||||
onTimeUpdate(e) {
|
onTimeUpdate(e) {
|
||||||
// console.log(e.detail.currentTime);
|
console.log(e.detail.currentTime);
|
||||||
if (e.detail.currentTime > 0.2) {
|
if (e.detail.currentTime > 0.2) {
|
||||||
this.doplay(e.detail.currentTime);
|
this.doplay(e.detail.currentTime);
|
||||||
}
|
}
|
||||||
|
|||||||
12
pages.json
@ -498,18 +498,6 @@
|
|||||||
"navigationBarTitleText": "我的分销"
|
"navigationBarTitleText": "我的分销"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"path": "mydistribution/my/myindex",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "用户"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "mydistribution/my/consumption",
|
|
||||||
"style": {
|
|
||||||
"navigationBarTitleText": "消费记录"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"path": "makeMoney/index",
|
"path": "makeMoney/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@ -2,9 +2,9 @@
|
|||||||
<view class="add-address">
|
<view class="add-address">
|
||||||
<div class="uForm">
|
<div class="uForm">
|
||||||
<u-form :border-bottom="false" :model="form" ref="uForm" :error-type="['toast']" :rule="rules">
|
<u-form :border-bottom="false" :model="form" ref="uForm" :error-type="['toast']" :rule="rules">
|
||||||
<!-- <view class="selectAddress" @click="clickUniMap">
|
<view class="selectAddress" @click="clickUniMap">
|
||||||
选择收货地址
|
选择收货地址
|
||||||
</view> -->
|
</view>
|
||||||
<u-form-item class="border" label="收货人" label-width="130" prop="name">
|
<u-form-item class="border" label="收货人" label-width="130" prop="name">
|
||||||
<u-input v-model="form.name" clearable placeholder="请输入收货人姓名" />
|
<u-input v-model="form.name" clearable placeholder="请输入收货人姓名" />
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
|
|||||||
@ -319,21 +319,15 @@ export default {
|
|||||||
border-color: #fe3c3c !important;
|
border-color: #fe3c3c !important;
|
||||||
background-color: #fe3c3c !important;
|
background-color: #fe3c3c !important;
|
||||||
}
|
}
|
||||||
.u-radio__icon-wrap--checked{
|
|
||||||
border-color: #fe3c3c !important;
|
|
||||||
background-color: #fe3c3c !important;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.bunem {
|
.bunem {
|
||||||
width: 309px;
|
width: 309px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
height: 32px;
|
height: 41px;
|
||||||
display: flex;
|
font-size: 15px;
|
||||||
align-items: #ffffff;
|
line-height: 41px;
|
||||||
|
text-align: center;
|
||||||
|
color: #ffffff;
|
||||||
margin-bottom: 35px;
|
margin-bottom: 35px;
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,14 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<div class="imgage" v-if="type=='about'">
|
|
||||||
<div>便捷生活畅玩无终街</div>
|
|
||||||
<!-- <div class="title">{{ loginTitleWay[current].title }}</div>
|
|
||||||
<div :class="current == 1 ? 'desc-light' : 'desc'">
|
|
||||||
{{ loginTitleWay[current].desc
|
|
||||||
}}<span v-if="current == 1">{{ mobile | secrecyMobile }}</span>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
|
||||||
<u-parse v-html="res.content"></u-parse>
|
<u-parse v-html="res.content"></u-parse>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -17,7 +10,6 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
res: "",
|
res: "",
|
||||||
type:"",
|
|
||||||
way: {
|
way: {
|
||||||
user: {
|
user: {
|
||||||
title: "用户协议",
|
title: "用户协议",
|
||||||
@ -43,7 +35,6 @@ export default {
|
|||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
title: this.way[option.type].title,
|
title: this.way[option.type].title,
|
||||||
});
|
});
|
||||||
this.type = option.type;
|
|
||||||
this.init(option);
|
this.init(option);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -62,19 +53,4 @@ export default {
|
|||||||
.wrapper {
|
.wrapper {
|
||||||
padding: 16rpx;
|
padding: 16rpx;
|
||||||
}
|
}
|
||||||
.imgage {
|
|
||||||
width: 100%;
|
|
||||||
height: 37.5vh;
|
|
||||||
background: url("@/static/logn.png");
|
|
||||||
background-size: 100% 100%;
|
|
||||||
& > div {
|
|
||||||
width: 100%;
|
|
||||||
height: 80%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: end;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
@ -6,7 +6,7 @@
|
|||||||
v-model="inviteCode"
|
v-model="inviteCode"
|
||||||
type="text"
|
type="text"
|
||||||
aria-placeholder="
|
aria-placeholder="
|
||||||
请输入推荐码/手机号"
|
请输入推荐码"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="si_bottom">
|
<div class="si_bottom">
|
||||||
|
|||||||
@ -80,9 +80,10 @@ export default {
|
|||||||
return {
|
return {
|
||||||
show: false,
|
show: false,
|
||||||
menuItems: [
|
menuItems: [
|
||||||
{name:"我的用户",url:'/pages/mine/mydistribution/my/myindex'},
|
{name:"我的用户",url:''},
|
||||||
{name:"消费记录",url:'/pages/mine/mydistribution/my/consumption'},
|
{name:"消费记录",url:''},
|
||||||
{name:"收益明细",url:''},
|
{name:"收益明细",url:''},
|
||||||
|
{name:"提现记录",url:''},
|
||||||
{name:"我的邀请码",url:'/pages/mine/invite'},
|
{name:"我的邀请码",url:'/pages/mine/invite'},
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,107 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="distribution-container">
|
|
||||||
<div class="distribution-header">
|
|
||||||
<view :style="{ textAlign: 'center' }">分销收益</view>
|
|
||||||
<view class="hcolng" :style="{ textAlign: 'center' }">
|
|
||||||
<view :style="{ fontSize: '30px' }">¥</view>
|
|
||||||
<view :style="{ fontSize: '30px' }">{{ totle }}</view>
|
|
||||||
<view :style="{ fontSize: '30px' }">积分</view>
|
|
||||||
</view>
|
|
||||||
</div>
|
|
||||||
<div class="distribution-center">
|
|
||||||
<div>
|
|
||||||
<div>头像</div>
|
|
||||||
<div>消费金额</div>
|
|
||||||
<div>日期</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
v-for="(item, index) in getlist"
|
|
||||||
:key="item.id"
|
|
||||||
:style="{ background: index % 2 == 0 ? '#fff' : '' }"
|
|
||||||
>
|
|
||||||
<div>
|
|
||||||
<img :src="item.face" alt="" width="60" style="border-radius: 50%" />
|
|
||||||
</div>
|
|
||||||
<div>{{ item.nickName }}</div>
|
|
||||||
<div>{{ timefun(item.lastLoginDate) }}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { bindUsers, getcompleted } from "@/api/point.js";
|
|
||||||
export default {
|
|
||||||
name: "MyDistribution",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
show: false,
|
|
||||||
totle: 0,
|
|
||||||
getlist: [],
|
|
||||||
size:1,
|
|
||||||
page:10,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.getl();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
timefun(e) {
|
|
||||||
return e.split(" ")[0];
|
|
||||||
},
|
|
||||||
touni(e) {
|
|
||||||
uni.navigateTo({ url: e });
|
|
||||||
},
|
|
||||||
goToDepositPage() {
|
|
||||||
uni.navigateTo({ url: "/pages/mine/deposit/operation" });
|
|
||||||
},
|
|
||||||
getl() {
|
|
||||||
getcompleted({size:this.size,page:this.page}).then((res) => {
|
|
||||||
this.getlist = res.data.result;
|
|
||||||
this.totle = res.data.result.length;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.distribution-container {
|
|
||||||
font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
|
||||||
width: 100%;
|
|
||||||
color: #333;
|
|
||||||
|
|
||||||
.distribution-header {
|
|
||||||
background-color: #ff7d00;
|
|
||||||
color: white;
|
|
||||||
padding: 25px 20px;
|
|
||||||
.hcolng {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
padding: 10px 20px;
|
|
||||||
margin-top: 50px;
|
|
||||||
& > view {
|
|
||||||
font-weight: 700;
|
|
||||||
display: flex;
|
|
||||||
font-size: 14px;
|
|
||||||
margin: 0 5px;
|
|
||||||
align-items: end;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.distribution-center {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
& > div {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-evenly;
|
|
||||||
padding: 10px 0px 10px 0px;
|
|
||||||
& > div {
|
|
||||||
width: 30%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// justify-content: space-evenly;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@ -1,107 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="distribution-container">
|
|
||||||
<!-- Header section -->
|
|
||||||
<div class="distribution-header">
|
|
||||||
<view class="hcolng">
|
|
||||||
<view>共</view>
|
|
||||||
<view :style="{ fontSize: '30px' }">{{ totle }}</view>
|
|
||||||
<view>人</view>
|
|
||||||
</view>
|
|
||||||
</div>
|
|
||||||
<div class="distribution-center">
|
|
||||||
<div>
|
|
||||||
<div>用户头像</div>
|
|
||||||
<div>昵称</div>
|
|
||||||
<div>绑定日期</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
v-for="(item, index) in getlist"
|
|
||||||
:key="item.id"
|
|
||||||
:style="{ background: index % 2 == 0 ? '#fff' : '' }"
|
|
||||||
>
|
|
||||||
<div>
|
|
||||||
<img :src="item.face" alt="" width="60" style="border-radius: 50%" />
|
|
||||||
</div>
|
|
||||||
<div>{{ item.nickName }}</div>
|
|
||||||
<div>{{ timefun(item.lastLoginDate) }}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { bindUsers } from "@/api/point.js";
|
|
||||||
export default {
|
|
||||||
name: "MyDistribution",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
show: false,
|
|
||||||
totle: 0,
|
|
||||||
getlist: [],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.getl();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
timefun(e) {
|
|
||||||
return e.split(" ")[0];
|
|
||||||
},
|
|
||||||
touni(e) {
|
|
||||||
uni.navigateTo({ url: e });
|
|
||||||
},
|
|
||||||
goToDepositPage() {
|
|
||||||
uni.navigateTo({ url: "/pages/mine/deposit/operation" });
|
|
||||||
},
|
|
||||||
getl() {
|
|
||||||
bindUsers({}).then((res) => {
|
|
||||||
this.getlist = res.data.result;
|
|
||||||
this.totle = res.data.result.length;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.distribution-container {
|
|
||||||
font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
|
||||||
width: 100%;
|
|
||||||
color: #333;
|
|
||||||
|
|
||||||
.distribution-header {
|
|
||||||
background-color: #ff7d00;
|
|
||||||
color: white;
|
|
||||||
padding: 25px 20px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
.hcolng {
|
|
||||||
display: flex;
|
|
||||||
padding: 10px 20px;
|
|
||||||
margin-top: 50px;
|
|
||||||
& > view {
|
|
||||||
font-weight: 700;
|
|
||||||
display: flex;
|
|
||||||
font-size: 14px;
|
|
||||||
margin: 0 5px;
|
|
||||||
align-items: end;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.distribution-center {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
& > div {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-evenly;
|
|
||||||
padding: 10px 0px 10px 0px;
|
|
||||||
& > div {
|
|
||||||
width: 30%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// justify-content: space-evenly;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@ -33,7 +33,6 @@
|
|||||||
max-count="1"
|
max-count="1"
|
||||||
:action="action"
|
:action="action"
|
||||||
@on-uploaded="onUploadedtwo"
|
@on-uploaded="onUploadedtwo"
|
||||||
@on-remove="onRemove"
|
|
||||||
style="margin-left: 30px"
|
style="margin-left: 30px"
|
||||||
></u-upload>
|
></u-upload>
|
||||||
<div class="describe">请压缩图片在2M以内,格式为gif,jpg,png</div>
|
<div class="describe">请压缩图片在2M以内,格式为gif,jpg,png</div>
|
||||||
@ -208,9 +207,6 @@ export default {
|
|||||||
this.form.storeLogo.push(item.response.result);
|
this.form.storeLogo.push(item.response.result);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRemove(lists) {
|
|
||||||
this.form.storeLogo = [];
|
|
||||||
},
|
|
||||||
// 下一步
|
// 下一步
|
||||||
next() {
|
next() {
|
||||||
this.$refs.thirdForm.validate((valid) => {
|
this.$refs.thirdForm.validate((valid) => {
|
||||||
@ -224,11 +220,11 @@ export default {
|
|||||||
applyThird(params)
|
applyThird(params)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
// uni.showToast({
|
uni.showToast({
|
||||||
// title: "请正确输入",
|
title: "请正确输入",
|
||||||
// icon: "none",
|
icon: "none",
|
||||||
// duration: 1500,
|
duration: 1500,
|
||||||
// });
|
});
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: "/pages/tabbar/user/my",
|
url: "/pages/tabbar/user/my",
|
||||||
@ -311,15 +307,12 @@ h4 {
|
|||||||
}
|
}
|
||||||
.bunem {
|
.bunem {
|
||||||
width: 309px;
|
width: 309px;
|
||||||
margin-top: 20px;
|
margin-top: 50px;
|
||||||
height: 32px;
|
height: 41px;
|
||||||
display: flex;
|
font-size: 15px;
|
||||||
align-items: #ffffff;
|
line-height: 41px;
|
||||||
margin-bottom: 35px;
|
text-align: center;
|
||||||
align-items: center;
|
color: #ffffff;
|
||||||
justify-content: center;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
}
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.u-checkbox__icon-wrap--checked {
|
.u-checkbox__icon-wrap--checked {
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<u-form-item prop="companyName" label="公司名称">
|
<u-form-item prop="companyName" label="公司名称">
|
||||||
<u-input v-model="form.companyName" placeholder="请填写公司信息" />
|
<u-input v-model="form.companyName" placeholder="请填写公司信息" />
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<u-form-item label="公司所在地">
|
<u-form-item prop="companyAddressIdPath" label="公司所在地">
|
||||||
<u-input
|
<u-input
|
||||||
v-model="path"
|
v-model="path"
|
||||||
type="select"
|
type="select"
|
||||||
@ -68,8 +68,6 @@
|
|||||||
max-count="1"
|
max-count="1"
|
||||||
style="margin-left: 70px"
|
style="margin-left: 70px"
|
||||||
@on-uploaded="onUploadedone"
|
@on-uploaded="onUploadedone"
|
||||||
|
|
||||||
@on-remove="onRemoveone"
|
|
||||||
></u-upload>
|
></u-upload>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
<h4>法人信息</h4>
|
<h4>法人信息</h4>
|
||||||
@ -89,7 +87,6 @@
|
|||||||
max-count="2"
|
max-count="2"
|
||||||
:action="action"
|
:action="action"
|
||||||
@on-uploaded="onUploadedtwo"
|
@on-uploaded="onUploadedtwo"
|
||||||
@on-remove="onRemove"
|
|
||||||
style="margin-left: 70px"
|
style="margin-left: 70px"
|
||||||
></u-upload>
|
></u-upload>
|
||||||
<div class="describe">
|
<div class="describe">
|
||||||
@ -143,10 +140,11 @@ export default {
|
|||||||
form: {
|
form: {
|
||||||
legalPhoto: [],
|
legalPhoto: [],
|
||||||
licencePhoto: [],
|
licencePhoto: [],
|
||||||
companyAddressIdPath: [],
|
|
||||||
legalId: "",
|
legalId: "",
|
||||||
legalName: "",
|
legalName: "",
|
||||||
companyName: "",
|
companyName: "",
|
||||||
|
// companyAddressIdPath: "",
|
||||||
companyAddress: "",
|
companyAddress: "",
|
||||||
employeeNum: "",
|
employeeNum: "",
|
||||||
registeredCapital: "",
|
registeredCapital: "",
|
||||||
@ -161,6 +159,13 @@ export default {
|
|||||||
trigger: ["blur", "change"],
|
trigger: ["blur", "change"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
companyAddressIdPath: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择公司所在地",
|
||||||
|
trigger: ["change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
companyAddress: [
|
companyAddress: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
@ -308,17 +313,12 @@ export default {
|
|||||||
// 将需要绑定的地址设置为空,并赋值
|
// 将需要绑定的地址设置为空,并赋值
|
||||||
this.form.consigneeAddressIdPath = [];
|
this.form.consigneeAddressIdPath = [];
|
||||||
this.form.consigneeAddressPath = [];
|
this.form.consigneeAddressPath = [];
|
||||||
this.form.companyAddressIdPath = [];
|
|
||||||
let name = "";
|
let name = "";
|
||||||
|
|
||||||
e.forEach((item, index) => {
|
e.forEach((item, index) => {
|
||||||
if (item.id) {
|
if (item.id) {
|
||||||
// 遍历数据
|
// 遍历数据
|
||||||
this.form.consigneeAddressIdPath.push(item.id);
|
this.form.consigneeAddressIdPath.push(item.id);
|
||||||
this.form.companyAddressIdPath.push(item.id);
|
|
||||||
console.log(item.id);
|
|
||||||
console.log(this.form.companyAddressIdPath);
|
|
||||||
|
|
||||||
this.form.consigneeAddressPath.push(item.localName);
|
this.form.consigneeAddressPath.push(item.localName);
|
||||||
name += item.localName;
|
name += item.localName;
|
||||||
this.form.companyAddressPath = name;
|
this.form.companyAddressPath = name;
|
||||||
@ -349,22 +349,12 @@ export default {
|
|||||||
this.form.licencePhoto = item.response.result;
|
this.form.licencePhoto = item.response.result;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onRemoveone(index, lists) {
|
|
||||||
this.form.licencePhoto=[]
|
|
||||||
},
|
|
||||||
// 法人证件电子版
|
// 法人证件电子版
|
||||||
onUploadedtwo(lists) {
|
onUploadedtwo(lists) {
|
||||||
lists.forEach((item) => {
|
lists.forEach((item) => {
|
||||||
const fn = this.form.legalPhoto.indexOf(item.response.result);
|
|
||||||
if (fn == -1) {
|
|
||||||
this.form.legalPhoto.push(item.response.result);
|
this.form.legalPhoto.push(item.response.result);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onRemove(index, lists) {
|
|
||||||
this.form.legalPhoto.splice(index, 1);
|
|
||||||
},
|
|
||||||
|
|
||||||
// 下一步
|
// 下一步
|
||||||
next() {
|
next() {
|
||||||
@ -373,14 +363,11 @@ export default {
|
|||||||
let params = JSON.parse(JSON.stringify(this.form));
|
let params = JSON.parse(JSON.stringify(this.form));
|
||||||
params.legalPhoto = this.form.legalPhoto.toString();
|
params.legalPhoto = this.form.legalPhoto.toString();
|
||||||
params.licencePhoto = this.form.licencePhoto.toString();
|
params.licencePhoto = this.form.licencePhoto.toString();
|
||||||
params.companyAddressIdPath = this.form.companyAddressIdPath.toString();
|
|
||||||
if (
|
if (
|
||||||
this.form.legalPhoto != "" &&
|
this.form.legalPhoto != "" &&
|
||||||
this.form.legalId != "" &&
|
this.form.legalId != "" &&
|
||||||
this.form.legalName != ""
|
this.form.legalName != ""
|
||||||
) {
|
) {
|
||||||
console.log(params,'========');
|
|
||||||
|
|
||||||
applyFirst(params)
|
applyFirst(params)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
@ -430,14 +417,12 @@ export default {
|
|||||||
.bunem {
|
.bunem {
|
||||||
width: 309px;
|
width: 309px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
height: 32px;
|
height: 41px;
|
||||||
display: flex;
|
font-size: 15px;
|
||||||
align-items: #ffffff;
|
line-height: 41px;
|
||||||
|
text-align: center;
|
||||||
|
color: #ffffff;
|
||||||
margin-bottom: 35px;
|
margin-bottom: 35px;
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
}
|
||||||
.u-input {
|
.u-input {
|
||||||
margin-left: 30px; // 可根据实际情况调整这个值
|
margin-left: 30px; // 可根据实际情况调整这个值
|
||||||
|
|||||||
@ -175,15 +175,12 @@ h4 {
|
|||||||
// }
|
// }
|
||||||
.bunem{
|
.bunem{
|
||||||
width: 309px;
|
width: 309px;
|
||||||
margin-top: 20px;
|
margin-top: 50px;
|
||||||
height: 32px;
|
height: 41px;
|
||||||
display: flex;
|
font-size: 15px;
|
||||||
align-items: #ffffff;
|
line-height: 41px;
|
||||||
margin-bottom: 35px;
|
text-align: center;
|
||||||
align-items: center;
|
color: #ffffff;
|
||||||
justify-content: center;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
}
|
||||||
.u-input {
|
.u-input {
|
||||||
margin-left: 30px; // 可根据实际情况调整这个值
|
margin-left: 30px; // 可根据实际情况调整这个值
|
||||||
|
|||||||
@ -1,14 +1,8 @@
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="edition-intro">
|
<view class="edition-intro">
|
||||||
<div class="imgage">
|
<image :src="config.logo" class="logo" />
|
||||||
<div>便捷生活畅玩无终街</div>
|
<h1> {{config.name}}</h1>
|
||||||
<!-- <div class="title">{{ loginTitleWay[current].title }}</div>
|
|
||||||
<div :class="current == 1 ? 'desc-light' : 'desc'">
|
|
||||||
{{ loginTitleWay[current].desc
|
|
||||||
}}<span v-if="current == 1">{{ mobile | secrecyMobile }}</span>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
|
||||||
<view class='version'>
|
<view class='version'>
|
||||||
<!-- #ifdef APP-PLUS -->
|
<!-- #ifdef APP-PLUS -->
|
||||||
Version {{localVersion.version}}
|
Version {{localVersion.version}}
|
||||||
@ -25,11 +19,11 @@
|
|||||||
<u-cell-item title="证照信息" @click="navigateTo('/pages/mine/help/tips?type=message')"></u-cell-item>
|
<u-cell-item title="证照信息" @click="navigateTo('/pages/mine/help/tips?type=message')"></u-cell-item>
|
||||||
<u-cell-item title="服务协议" @click="navigateTo('/pages/mine/help/tips?type=user')"></u-cell-item>
|
<u-cell-item title="服务协议" @click="navigateTo('/pages/mine/help/tips?type=user')"></u-cell-item>
|
||||||
<u-cell-item title="隐私协议" @click="navigateTo('/pages/mine/help/tips?type=privacy')"></u-cell-item>
|
<u-cell-item title="隐私协议" @click="navigateTo('/pages/mine/help/tips?type=privacy')"></u-cell-item>
|
||||||
<u-cell-item title="公司介绍" :border-bottom="false" @click="navigateTo('/pages/mine/help/tips?type=about')"></u-cell-item>
|
<u-cell-item title="关于我们" :border-bottom="false" @click="navigateTo('/pages/mine/help/tips?type=about')"></u-cell-item>
|
||||||
|
|
||||||
</u-cell-group>
|
</u-cell-group>
|
||||||
|
|
||||||
<!-- <view class="intro">
|
<view class="intro">
|
||||||
<view>{{config.customerServiceMobile ? `客服热线:${config.customerServiceMobile}` : ``}}</view>
|
<view>{{config.customerServiceMobile ? `客服热线:${config.customerServiceMobile}` : ``}}</view>
|
||||||
<view style="margin:20rpx 0 0 0;">{{config.customerServiceEmail ? `客服邮箱:${config.customerServiceEmail}` : ``}}</view>
|
<view style="margin:20rpx 0 0 0;">{{config.customerServiceEmail ? `客服邮箱:${config.customerServiceEmail}` : ``}}</view>
|
||||||
|
|
||||||
@ -37,7 +31,7 @@
|
|||||||
<view style="margin:20rpx 0; color:#003a8c;" @click="navigateTo('/pages/mine/help/tips?type=user')">《{{config.name}}用户协议》</view>
|
<view style="margin:20rpx 0; color:#003a8c;" @click="navigateTo('/pages/mine/help/tips?type=user')">《{{config.name}}用户协议》</view>
|
||||||
<view>CopyRight @{{config.name}} </view>
|
<view>CopyRight @{{config.name}} </view>
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -142,7 +136,7 @@ page {
|
|||||||
background: #fff;
|
background: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
// justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
> h1 {
|
> h1 {
|
||||||
@ -160,22 +154,7 @@ page {
|
|||||||
letter-spacing: 2rpx;
|
letter-spacing: 2rpx;
|
||||||
}
|
}
|
||||||
.logo {
|
.logo {
|
||||||
width: 100%;
|
width: 200rpx;
|
||||||
// height: 200rpx;
|
height: 200rpx;
|
||||||
}
|
|
||||||
.imgage {
|
|
||||||
width: 100%;
|
|
||||||
height: 37.5vh;
|
|
||||||
background: url("@/static/logn.png");
|
|
||||||
background-size: 100% 100%;
|
|
||||||
& > div {
|
|
||||||
width: 100%;
|
|
||||||
height: 80%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: end;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -39,15 +39,7 @@
|
|||||||
placeholder="请选择城市"
|
placeholder="请选择城市"
|
||||||
right-icon="arrow-right"
|
right-icon="arrow-right"
|
||||||
>
|
>
|
||||||
<div
|
<div style="width: 100%" @click="clickRegion">
|
||||||
style="
|
|
||||||
width: 32vh;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
"
|
|
||||||
@click="clickRegion"
|
|
||||||
>
|
|
||||||
{{ form.___path || "请选择城市" }}
|
{{ form.___path || "请选择城市" }}
|
||||||
</div>
|
</div>
|
||||||
</u-form-item>
|
</u-form-item>
|
||||||
@ -95,7 +87,7 @@ export default {
|
|||||||
form: {
|
form: {
|
||||||
nickName: storage.getUserInfo().nickName || "",
|
nickName: storage.getUserInfo().nickName || "",
|
||||||
birthday: storage.getUserInfo().birthday || "",
|
birthday: storage.getUserInfo().birthday || "",
|
||||||
face: storage.getUserInfo().face || "/static/imlogo.png", //默认头像
|
face: storage.getUserInfo().face || "/static/missing-face.png", //默认头像
|
||||||
regionId: [], //地址Id
|
regionId: [], //地址Id
|
||||||
region: storage.getUserInfo().region || [], //地址
|
region: storage.getUserInfo().region || [], //地址
|
||||||
sex: storage.getUserInfo().sex, //性别
|
sex: storage.getUserInfo().sex, //性别
|
||||||
@ -325,7 +317,4 @@ export default {
|
|||||||
background-color: #fe3c3c !important;
|
background-color: #fe3c3c !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.u-form-item div {
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
<u-cell-item title="意见反馈" @click="navigateTo('/pages/mine/set/feedBack')"></u-cell-item>
|
<u-cell-item title="意见反馈" @click="navigateTo('/pages/mine/set/feedBack')"></u-cell-item>
|
||||||
<!-- #ifndef H5 -->
|
<!-- #ifndef H5 -->
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<u-cell-item :title="`关于我们`" @click="navigateTo('/pages/mine/set/editionIntro')"></u-cell-item>
|
<u-cell-item :title="`关于${config.name}`" @click="navigateTo('/pages/mine/set/editionIntro')"></u-cell-item>
|
||||||
</u-cell-group>
|
</u-cell-group>
|
||||||
<view class="submit" @click="showModalDialog">{{userInfo.id ?'退出登录':'返回登录'}}</view>
|
<view class="submit" @click="showModalDialog">{{userInfo.id ?'退出登录':'返回登录'}}</view>
|
||||||
<u-modal show-cancel-button v-model="quitShow" @confirm="confirm" :confirm-color="lightColor" :async-close="true"
|
<u-modal show-cancel-button v-model="quitShow" @confirm="confirm" :confirm-color="lightColor" :async-close="true"
|
||||||
|
|||||||
@ -349,7 +349,7 @@ export default {
|
|||||||
// 接收分类的数据
|
// 接收分类的数据
|
||||||
|
|
||||||
this.routerVal = val;
|
this.routerVal = val;
|
||||||
console.log(this.routerVal);
|
|
||||||
// 有值
|
// 有值
|
||||||
if (this.routerVal.category) {
|
if (this.routerVal.category) {
|
||||||
this.params.categoryId = this.routerVal.category;
|
this.params.categoryId = this.routerVal.category;
|
||||||
@ -705,8 +705,6 @@ export default {
|
|||||||
if (type == "refresh") {
|
if (type == "refresh") {
|
||||||
this.goodsList = [];
|
this.goodsList = [];
|
||||||
}
|
}
|
||||||
console.log(this.params,'==');
|
|
||||||
|
|
||||||
//没有更多直接返回 #TODO
|
//没有更多直接返回 #TODO
|
||||||
let goodsList = await getGoodsList(this.params);
|
let goodsList = await getGoodsList(this.params);
|
||||||
|
|
||||||
|
|||||||
@ -113,7 +113,7 @@
|
|||||||
borderRadius="10rpx"
|
borderRadius="10rpx"
|
||||||
width="200rpx"
|
width="200rpx"
|
||||||
height="200rpx"
|
height="200rpx"
|
||||||
:src="imgfun(val.goodsSku.thumbnail)"
|
:src="val.goodsSku.thumbnail"
|
||||||
alt
|
alt
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -256,6 +256,7 @@
|
|||||||
</u-row>
|
</u-row>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 配送地区没有提示 -->
|
<!-- 配送地区没有提示 -->
|
||||||
<div class="notSupportFreight" v-if="notSupportFreight.length != 0">
|
<div class="notSupportFreight" v-if="notSupportFreight.length != 0">
|
||||||
<u-notice-bar
|
<u-notice-bar
|
||||||
@ -647,8 +648,6 @@ export default {
|
|||||||
// 获取会员默认地址
|
// 获取会员默认地址
|
||||||
this.getUserAddress();
|
this.getUserAddress();
|
||||||
} else {
|
} else {
|
||||||
// console.log(res.data.result,"=====");
|
|
||||||
|
|
||||||
this.address = res.data.result.memberAddress;
|
this.address = res.data.result.memberAddress;
|
||||||
res.data.result.memberAddress.consigneeAddressPath = res.data.result.memberAddress.consigneeAddressPath.split(
|
res.data.result.memberAddress.consigneeAddressPath = res.data.result.memberAddress.consigneeAddressPath.split(
|
||||||
","
|
","
|
||||||
|
|||||||
@ -75,7 +75,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 循环出当前可使用的第三方登录模式 -->
|
<!-- 循环出当前可使用的第三方登录模式 -->
|
||||||
<!-- <div class="flex login-list">
|
<div class="flex login-list">
|
||||||
<div
|
<div
|
||||||
v-if="item.code"
|
v-if="item.code"
|
||||||
:style="{ background: item.color }"
|
:style="{ background: item.color }"
|
||||||
@ -100,7 +100,7 @@
|
|||||||
height="80"
|
height="80"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div>
|
||||||
<myVerification
|
<myVerification
|
||||||
v-if="codeFlag"
|
v-if="codeFlag"
|
||||||
@send="verification"
|
@send="verification"
|
||||||
|
|||||||
@ -243,9 +243,9 @@
|
|||||||
<u-icon name="more-dot-fill"></u-icon>
|
<u-icon name="more-dot-fill"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="card-flex" @click="shutMask(3)" v-if="ste == 1">
|
<view class="card-flex" @click="shutMask(3)" v-if="ste==1">
|
||||||
<view class="card-title"> 送至</view>
|
<view class="card-title"> 送至</view>
|
||||||
<view class="card-content">
|
<view class="card-content" >
|
||||||
<span v-if="delivery">{{
|
<span v-if="delivery">{{
|
||||||
delivery.consigneeAddressPath | clearStrComma
|
delivery.consigneeAddressPath | clearStrComma
|
||||||
}}</span>
|
}}</span>
|
||||||
@ -256,9 +256,9 @@
|
|||||||
<u-icon name="more-dot-fill"></u-icon>
|
<u-icon name="more-dot-fill"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="card-flex" v-else @click="copyAddren">
|
<view class="card-flex" v-else>
|
||||||
<view class="card-title"> 位置</view>
|
<view class="card-title"> 店铺位置</view>
|
||||||
<view class="card-content">
|
<view class="card-content" >
|
||||||
{{ addren }}
|
{{ addren }}
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@ -316,7 +316,7 @@
|
|||||||
<view class="detail-btn" v-if="!isGroup">
|
<view class="detail-btn" v-if="!isGroup">
|
||||||
<view
|
<view
|
||||||
class="to-store-car to-store-btn"
|
class="to-store-car to-store-btn"
|
||||||
v-if="goodsDetail.goodsType != 'VIRTUAL_GOODS' && ste == 1"
|
v-if="goodsDetail.goodsType != 'VIRTUAL_GOODS' && ste==1 "
|
||||||
@click="shutMask(4)"
|
@click="shutMask(4)"
|
||||||
>
|
>
|
||||||
加入购物车</view
|
加入购物车</view
|
||||||
@ -452,11 +452,11 @@ export default {
|
|||||||
GoodsSwiper,
|
GoodsSwiper,
|
||||||
popupGoods,
|
popupGoods,
|
||||||
popupAddress,
|
popupAddress,
|
||||||
TUIChatKit,
|
TUIChatKit
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
addren: "",
|
addren:"",
|
||||||
setup,
|
setup,
|
||||||
promotionShow: false, //弹窗开关
|
promotionShow: false, //弹窗开关
|
||||||
promotionFlag: true, //活动开关
|
promotionFlag: true, //活动开关
|
||||||
@ -578,7 +578,7 @@ export default {
|
|||||||
|
|
||||||
routerVal: "",
|
routerVal: "",
|
||||||
IMLink: "", // IM地址
|
IMLink: "", // IM地址
|
||||||
ste: 1,
|
ste:1
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -604,7 +604,7 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.ste = uni.getStorageSync("ste");
|
this.ste=uni.getStorageSync('ste')
|
||||||
const { windowHeight } = uni.getSystemInfoSync();
|
const { windowHeight } = uni.getSystemInfoSync();
|
||||||
let bottomHeight = 0;
|
let bottomHeight = 0;
|
||||||
let topHeight = 0;
|
let topHeight = 0;
|
||||||
@ -721,7 +721,7 @@ export default {
|
|||||||
}
|
}
|
||||||
/**商品信息以及规格信息存储 */
|
/**商品信息以及规格信息存储 */
|
||||||
this.goodsDetail = response.data.result.data;
|
this.goodsDetail = response.data.result.data;
|
||||||
this.addren = response.data.result.storeAddressPath;
|
this.addren= response.data.result.storeAddressPath;
|
||||||
|
|
||||||
this.goodsSpec = response.data.result.specs;
|
this.goodsSpec = response.data.result.specs;
|
||||||
this.PromotionList = response.data.result.promotionMap;
|
this.PromotionList = response.data.result.promotionMap;
|
||||||
@ -773,7 +773,7 @@ export default {
|
|||||||
// storage.getUserInfo
|
// storage.getUserInfo
|
||||||
getUserimInfo()
|
getUserimInfo()
|
||||||
.then(({ data }) => {
|
.then(({ data }) => {
|
||||||
if (data.success) {
|
if (data.success ) {
|
||||||
const par = data.result;
|
const par = data.result;
|
||||||
TUILogin.login({
|
TUILogin.login({
|
||||||
SDKAppID: par.sdkAppId,
|
SDKAppID: par.sdkAppId,
|
||||||
@ -918,15 +918,7 @@ export default {
|
|||||||
getStoreBaseInfoFun(id) {
|
getStoreBaseInfoFun(id) {
|
||||||
API_store.getStoreBaseInfo(id).then((res) => {
|
API_store.getStoreBaseInfo(id).then((res) => {
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
if (res.data.result != "null") {
|
|
||||||
this.storeDetail = res.data.result;
|
this.storeDetail = res.data.result;
|
||||||
} else {
|
|
||||||
uni.reLaunch({ url: "/" });
|
|
||||||
uni.showToast({
|
|
||||||
title: "店铺已关闭!",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -983,6 +975,7 @@ export default {
|
|||||||
keyword: this.goodsDetail.name,
|
keyword: this.goodsDetail.name,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
this.likeGoodsList = res.data.result.content;
|
this.likeGoodsList = res.data.result.content;
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1162,17 +1155,6 @@ export default {
|
|||||||
async shareChange() {
|
async shareChange() {
|
||||||
this.shareFlage = true;
|
this.shareFlage = true;
|
||||||
},
|
},
|
||||||
copyAddren() {
|
|
||||||
uni.setClipboardData({
|
|
||||||
data: this.addren,
|
|
||||||
success: () => {
|
|
||||||
uni.showToast({
|
|
||||||
title: "复制成功",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -162,6 +162,8 @@ import config from "@/config/config";
|
|||||||
import storage from "@/utils/storage";
|
import storage from "@/utils/storage";
|
||||||
import { getGoodsList } from "@/api/goods.js";
|
import { getGoodsList } from "@/api/goods.js";
|
||||||
import { getAllCoupons } from "@/api/promotions.js";
|
import { getAllCoupons } from "@/api/promotions.js";
|
||||||
|
import setup from "./product/popup/popup";
|
||||||
|
TUIChatKit.init();
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -348,17 +350,9 @@ export default {
|
|||||||
*/
|
*/
|
||||||
async getStoreData() {
|
async getStoreData() {
|
||||||
let res = await getStoreBaseInfo(this.storeId);
|
let res = await getStoreBaseInfo(this.storeId);
|
||||||
if(res.data.success){
|
res.data.success
|
||||||
if(res.data.result!='null'){
|
? (this.storeInfo = res.data.result)
|
||||||
this.storeInfo = res.data.result;
|
: uni.reLaunch({ url: "/" });
|
||||||
}else{
|
|
||||||
uni.reLaunch({ url: "/" })
|
|
||||||
uni.showToast({
|
|
||||||
title: "店铺已关闭!",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 加载商品 */
|
/** 加载商品 */
|
||||||
|
|||||||
@ -904,15 +904,7 @@ export default {
|
|||||||
getStoreBaseInfoFun(id) {
|
getStoreBaseInfoFun(id) {
|
||||||
API_store.getStoreBaseInfo(id).then((res) => {
|
API_store.getStoreBaseInfo(id).then((res) => {
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
if (res.data.result != "null") {
|
|
||||||
this.storeDetail = res.data.result;
|
this.storeDetail = res.data.result;
|
||||||
} else {
|
|
||||||
uni.reLaunch({ url: "/" });
|
|
||||||
uni.showToast({
|
|
||||||
title: "店铺已关闭!",
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
<view class="index-items">
|
<view class="index-items">
|
||||||
<view class="index-item" v-for="(item, key) in nav.goods" :key="key" @click="toGoods(item)">
|
<view class="index-item" v-for="(item, key) in nav.goods" :key="key" @click="toGoods(item)">
|
||||||
<view class="index-item-img">
|
<view class="index-item-img">
|
||||||
<u-image :src="imgfun(item.thumbnail)" mode="aspectFill">
|
<u-image :src="item.thumbnail" mode="aspectFill">
|
||||||
<u-loading slot="loading"></u-loading>
|
<u-loading slot="loading"></u-loading>
|
||||||
</u-image>
|
</u-image>
|
||||||
<view class="index-item-title">{{ item.goodsName }}</view>
|
<view class="index-item-title">{{ item.goodsName }}</view>
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<u-image shape="circle" :lazy-load="true" width="100" height="100"
|
<u-image shape="circle" :lazy-load="true" width="100" height="100"
|
||||||
:src="userInfo.face || '/static/missing-face.png'"></u-image>
|
:src="userInfo.face || '/static/missing-face.png'"></u-image>
|
||||||
<div class="whether-point">
|
<div class="whether-point">
|
||||||
<div>积分:<span class="point">{{userInfo.point || 0}}</span></div>
|
<div>你的可用积分:<span class="point">{{userInfo.point || 0}}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -34,9 +34,9 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.user-point {
|
.user-point {
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
height: 200px;
|
height: 300rpx;
|
||||||
background: url("/static/point-bg.png") no-repeat;
|
background: url("/static/point-bg.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100%;
|
||||||
}
|
}
|
||||||
.point {
|
.point {
|
||||||
font-size: 40rpx;
|
font-size: 40rpx;
|
||||||
|
|||||||
@ -202,7 +202,7 @@ export default {
|
|||||||
.sale-head {
|
.sale-head {
|
||||||
image {
|
image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 200px;
|
height: 280rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 366 KiB After Width: | Height: | Size: 31 KiB |
@ -66,13 +66,9 @@ export default {
|
|||||||
tpl,
|
tpl,
|
||||||
},
|
},
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
|
console.log("触底了");
|
||||||
this.$refs.childComp.loadMon();
|
this.$refs.childComp.loadMon();
|
||||||
},
|
},
|
||||||
onPullDownRefresh() {
|
|
||||||
setTimeout(() => {
|
|
||||||
uni.stopPullDownRefresh();
|
|
||||||
}, 1000);
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
change(index) {
|
change(index) {
|
||||||
this.current = index;
|
this.current = index;
|
||||||
@ -96,7 +92,7 @@ export default {
|
|||||||
}
|
}
|
||||||
::v-deep {
|
::v-deep {
|
||||||
.u-tabs {
|
.u-tabs {
|
||||||
padding: 30px 20px 0px 20px;
|
padding: 25px 20px 0px 20px;
|
||||||
}
|
}
|
||||||
.u-tab-item {
|
.u-tab-item {
|
||||||
color: $main-color !important;
|
color: $main-color !important;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
/** 配置楼层模块的跳转 */
|
/** 配置楼层模块的跳转 */
|
||||||
export function modelNavigateTo(item,ste='') {
|
export function modelNavigateTo(item) {
|
||||||
let val = item.url;
|
let val = item.url;
|
||||||
|
|
||||||
switch (val.___type) {
|
switch (val.___type) {
|
||||||
@ -11,7 +11,7 @@ export function modelNavigateTo(item,ste='') {
|
|||||||
case "category":
|
case "category":
|
||||||
if (val.id) {
|
if (val.id) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/navigation/search/searchPage?category=${val.id}&ste=${ste}`,
|
url: `/pages/navigation/search/searchPage?category=${val.id}`,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
<div class="menu-list">
|
<div class="menu-list">
|
||||||
<div class="menu-item" @click="modelNavigateTo(item,val)" v-for="(item, index) in res.list" :key="index">
|
<div class="menu-item" @click="modelNavigateTo(item)" v-for="(item, index) in res.list" :key="index">
|
||||||
<div>
|
<div>
|
||||||
<u-image
|
<u-image
|
||||||
width="88rpx"
|
width="88rpx"
|
||||||
@ -21,16 +21,12 @@
|
|||||||
import {modelNavigateTo} from './tpl'
|
import {modelNavigateTo} from './tpl'
|
||||||
export default {
|
export default {
|
||||||
title:"五列菜单",
|
title:"五列菜单",
|
||||||
props: ["res","val"],
|
props: ["res"],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
modelNavigateTo,
|
modelNavigateTo,
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
mounted () {
|
|
||||||
console.log(this.val,'=========')
|
|
||||||
// this.$u.toast('Hello uView!');
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layout">
|
<div class="layout">
|
||||||
<div class="addres" @click="showPicker">
|
<div class="addres" @click="showPicker" style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
||||||
{{ cityOrCounty == "" ? "请选择" : cityOrCounty }}
|
{{ cityOrCounty == "" ? "请选择" : cityOrCounty }}
|
||||||
</div>
|
</div>
|
||||||
<div class="search" @click="handleSearch">{{ res.list[0].title }}</div>
|
<div class="search" @click="handleSearch">{{ res.list[0].title }}</div>
|
||||||
@ -240,13 +240,10 @@ export default {
|
|||||||
}
|
}
|
||||||
.addres {
|
.addres {
|
||||||
// width: 15%;
|
// width: 15%;
|
||||||
width: 60px;
|
|
||||||
height: 32px;
|
height: 32px;
|
||||||
padding: 0px 10px 0px 10px;
|
display: flex;
|
||||||
white-space: nowrap;
|
justify-content: center;
|
||||||
overflow: hidden;
|
align-items: center;
|
||||||
text-overflow: ellipsis;
|
|
||||||
line-height: 32px;
|
|
||||||
}
|
}
|
||||||
.layout {
|
.layout {
|
||||||
// background: #fff;
|
// background: #fff;
|
||||||
|
|||||||
@ -7,22 +7,11 @@
|
|||||||
@click="handleClick(item)"
|
@click="handleClick(item)"
|
||||||
>
|
>
|
||||||
<div class="pl_img">
|
<div class="pl_img">
|
||||||
<img :src="imgfun(item.thumbnail)" alt="" width="100" height="100"/>
|
<img :src="imgfun(item.thumbnail)" alt="" width="100" />
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div style="font-size:18px">{{ item.goodsName }}
|
<div>{{ item.goodsName }}</div>
|
||||||
</div>
|
<div>价格:¥{{ item.price }}</div>
|
||||||
<div>收藏:{{ item.commentNum }}
|
|
||||||
</div>
|
|
||||||
<div class="proice">价格:¥{{ item.price }}</div>
|
|
||||||
|
|
||||||
<div class="flex store-distance">
|
|
||||||
<div>
|
|
||||||
<template v-for="i in 5">
|
|
||||||
<u-icon :name="i <= item.descriptionScore ? 'star-fill' : 'star'" class="proice" size="30"></u-icon>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>地址:{{ item.storeAddressPath }}</div>
|
<div>地址:{{ item.storeAddressPath }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -145,11 +134,6 @@ export default {
|
|||||||
.right{
|
.right{
|
||||||
// flex: 1;
|
// flex: 1;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
font-size: 12px;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.proice{
|
|
||||||
color: $light-color;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -41,7 +41,7 @@
|
|||||||
<flexFour v-if="item.type == 'flexFour'" :res="item.options" />
|
<flexFour v-if="item.type == 'flexFour'" :res="item.options" />
|
||||||
<flexTwo v-if="item.type == 'flexTwo'" :res="item.options" />
|
<flexTwo v-if="item.type == 'flexTwo'" :res="item.options" />
|
||||||
<textPicture v-if="item.type == 'textPicture'" :res="item.options" />
|
<textPicture v-if="item.type == 'textPicture'" :res="item.options" />
|
||||||
<menuLayout v-if="item.type == 'menu'" :val="ste" :res="item.options" />
|
<menuLayout v-if="item.type == 'menu'" :res="item.options" />
|
||||||
<flexOne v-if="item.type == 'flexOne'" :res="item.options" />
|
<flexOne v-if="item.type == 'flexOne'" :res="item.options" />
|
||||||
<activity v-if="item.type == 'activity'" :res="item.options" />
|
<activity v-if="item.type == 'activity'" :res="item.options" />
|
||||||
<Talent v-if="item.type == 'talent'" :res="item.options" :model="item" />
|
<Talent v-if="item.type == 'talent'" :res="item.options" :model="item" />
|
||||||
@ -93,7 +93,7 @@ export default {
|
|||||||
config,
|
config,
|
||||||
pageData: "", //楼层页面数据
|
pageData: "", //楼层页面数据
|
||||||
isIos: "",
|
isIos: "",
|
||||||
isload: false,
|
isload:false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@ -148,7 +148,7 @@ export default {
|
|||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
loadMon() {
|
loadMon() {
|
||||||
this.isload = !this.isload;
|
this.isload=!this.isload
|
||||||
// this.$refs.loadMonfn.loadMon();
|
// this.$refs.loadMonfn.loadMon();
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
@ -160,14 +160,12 @@ export default {
|
|||||||
if (this.ste == 1) {
|
if (this.ste == 1) {
|
||||||
getFloorData().then((res) => {
|
getFloorData().then((res) => {
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
console.log("商城数据已加载完成");
|
|
||||||
this.pageData = JSON.parse(res.data.result.pageData);
|
this.pageData = JSON.parse(res.data.result.pageData);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
getFloorgetBendi().then((res) => {
|
getFloorgetBendi().then((res) => {
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
console.log("本地生活数据已加载完成");
|
|
||||||
this.pageData = JSON.parse(res.data.result.pageData);
|
this.pageData = JSON.parse(res.data.result.pageData);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -188,6 +186,7 @@ export default {
|
|||||||
let path = encodeURIComponent(res.result);
|
let path = encodeURIComponent(res.result);
|
||||||
// WX_CODE 为小程序码
|
// WX_CODE 为小程序码
|
||||||
if (res.scanType == "WX_CODE") {
|
if (res.scanType == "WX_CODE") {
|
||||||
|
console.log(res);
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/${res.path}`,
|
url: `/${res.path}`,
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,16 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style="height: 100%" @click="handleTouchStart">
|
<div style="height: 100%">
|
||||||
<div class="jolkp">
|
<div class="jolkp">
|
||||||
<div
|
<div
|
||||||
class="fan"
|
class="fan"
|
||||||
:style="{ marginRight: statue == 0 ? '47.5%' : '47.5%' }"
|
:style="{ marginRight: statue == 0 ? '50%' : '50%' }"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@click="hui(0)"
|
@click="hui(0)"
|
||||||
:style="{ marginTop: '45px' }"
|
:style="{ marginTop: '35px', color: '#fff' }"
|
||||||
v-if="statue !=0"
|
v-if="statue == 1 || 6"
|
||||||
>
|
>
|
||||||
<u-icon name="arrow-left"></u-icon>
|
<
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <TUIContact v-else-if="statue==1" :stu="2" /> -->
|
<!-- <TUIContact v-else-if="statue==1" :stu="2" /> -->
|
||||||
@ -18,7 +18,7 @@
|
|||||||
@click="hui(6)"
|
@click="hui(6)"
|
||||||
class="jolkp_z"
|
class="jolkp_z"
|
||||||
v-if="statue == 0 || 6"
|
v-if="statue == 0 || 6"
|
||||||
:style="{ marginTop: '45px' }"
|
:style="{ marginTop: '40px' }"
|
||||||
>
|
>
|
||||||
<div class="tiole">{{ tole }}</div>
|
<div class="tiole">{{ tole }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -27,17 +27,21 @@
|
|||||||
@click="hui(1)"
|
@click="hui(1)"
|
||||||
class="jolkp_h"
|
class="jolkp_h"
|
||||||
v-if="statue == 0 || 6"
|
v-if="statue == 0 || 6"
|
||||||
:style="{ marginTop: '45px' }"
|
:style="{ marginTop: '35px' }"
|
||||||
|
></div>
|
||||||
|
<div
|
||||||
|
@click="fnkiopl"
|
||||||
|
class="jolkp_l"
|
||||||
|
:style="{ marginTop: '35px' }"
|
||||||
></div>
|
></div>
|
||||||
<view class="jolkp_l" :style="{ marginTop: '45px' }"></view>
|
|
||||||
<!-- 弹出框 -->
|
<!-- 弹出框 -->
|
||||||
<view v-if="isPopupVisible" class="popup" ref="popup">
|
<div v-if="isPopupVisible" class="popup" ref="popup">
|
||||||
<ul>
|
<ul>
|
||||||
<li @click="handleAddFriend">添加好友/群聊</li>
|
<li @click="handleAddFriend">添加好友/群聊</li>
|
||||||
<li @click="handleMenu()">发起群聊</li>
|
<li @click="handleMenu()">发起群聊</li>
|
||||||
<li @click="handleScan">扫一扫</li>
|
<li @click="handleScan">扫一扫</li>
|
||||||
</ul>
|
</ul>
|
||||||
</view>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 搜索添加 -->
|
<!-- 搜索添加 -->
|
||||||
<TUIContactsea v-if="statue == 2" @switchConversation="hui" />
|
<TUIContactsea v-if="statue == 2" @switchConversation="hui" />
|
||||||
@ -52,7 +56,6 @@
|
|||||||
<!-- 群类型 -->
|
<!-- 群类型 -->
|
||||||
<CreateGroup v-else-if="statue == 10" @con="confn" />
|
<CreateGroup v-else-if="statue == 10" @con="confn" />
|
||||||
<SelectFriendqlioa v-else-if="statue == 4" @concen="concen" />
|
<SelectFriendqlioa v-else-if="statue == 4" @concen="concen" />
|
||||||
<ContactInfo v-else-if="statue == 7" @concen="concen" />
|
|
||||||
<!-- 站内信数据 -->
|
<!-- 站内信数据 -->
|
||||||
<!-- <div > -->
|
<!-- <div > -->
|
||||||
<scroll-view
|
<scroll-view
|
||||||
@ -85,7 +88,10 @@
|
|||||||
|
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
<!-- 会话 -->
|
<!-- 会话 -->
|
||||||
<TUIConversation style="height: 100%" v-else @state="state" />
|
<TUIConversation
|
||||||
|
style="height: 100%"
|
||||||
|
v-else
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -99,14 +105,13 @@ import ContactSearch from "@/TUIKit/components/TUIContact/contact-search/index.v
|
|||||||
import CreateGroup from "@/TUIKit/components/TUIGroup/create-group/index.vue";
|
import CreateGroup from "@/TUIKit/components/TUIGroup/create-group/index.vue";
|
||||||
import { TUIChatKit } from "@/TUIKit";
|
import { TUIChatKit } from "@/TUIKit";
|
||||||
import SelectFriend from "@/TUIKit/components/TUIContact/select-friend/index.vue";
|
import SelectFriend from "@/TUIKit/components/TUIContact/select-friend/index.vue";
|
||||||
import ContactInfo from "@/TUIKit/components/TUIContact/contact-info/index.vue";
|
|
||||||
import SelectFriendqlioa from "@/TUIKit/components/TUIGroup/index.vue";
|
import SelectFriendqlioa from "@/TUIKit/components/TUIGroup/index.vue";
|
||||||
|
|
||||||
import TUICore, { ExtensionInfo, TUIConstants } from "@tencentcloud/tui-core";
|
import TUICore, { ExtensionInfo, TUIConstants } from "@tencentcloud/tui-core";
|
||||||
import storage from "@/utils/storage.js";
|
import storage from "@/utils/storage.js";
|
||||||
// push
|
// push
|
||||||
import { TUIConversationService } from "@tencentcloud/chat-uikit-engine";
|
import { TUIConversationService } from '@tencentcloud/chat-uikit-engine';
|
||||||
import * as Push from "@/uni_modules/TencentCloud-Push";
|
import * as Push from '@/uni_modules/TencentCloud-Push';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getUserimInfo,
|
getUserimInfo,
|
||||||
@ -115,16 +120,6 @@ import {
|
|||||||
getMemberdelete,
|
getMemberdelete,
|
||||||
geterweijki,
|
geterweijki,
|
||||||
} from "@/api/members";
|
} from "@/api/members";
|
||||||
import {
|
|
||||||
TUITranslateService,
|
|
||||||
TUIStore,
|
|
||||||
StoreName,
|
|
||||||
IGroupModel,
|
|
||||||
TUIFriendService,
|
|
||||||
Friend,
|
|
||||||
FriendApplication,
|
|
||||||
TUIUserService,
|
|
||||||
} from "@tencentcloud/chat-uikit-engine";
|
|
||||||
TUIChatKit.init();
|
TUIChatKit.init();
|
||||||
let vueVersion = 2;
|
let vueVersion = 2;
|
||||||
// vueVersion = 3;
|
// vueVersion = 3;
|
||||||
@ -140,11 +135,10 @@ export default {
|
|||||||
SelectFriendqlioa,
|
SelectFriendqlioa,
|
||||||
TUIChatKit,
|
TUIChatKit,
|
||||||
CreateGroup,
|
CreateGroup,
|
||||||
ContactInfo,
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
statue: 0, // 0对话记录 1联系人 2添加好友/群聊 3建群 4群名称 6站内信 10群类型 7扫码后用户详情
|
statue: 0, // 0对话记录 1联系人 2添加好友/群聊 3建群 4群名称 6站内信
|
||||||
isPopupVisible: false, // 控制弹出框的显示与隐藏
|
isPopupVisible: false, // 控制弹出框的显示与隐藏
|
||||||
isq: false,
|
isq: false,
|
||||||
popupRef: null, // 新增,用于保存弹窗的引用
|
popupRef: null, // 新增,用于保存弹窗的引用
|
||||||
@ -173,56 +167,52 @@ export default {
|
|||||||
userSig: par.userSig,
|
userSig: par.userSig,
|
||||||
useUploadPlugin: true, // If you need to send rich media messages, please set to true.
|
useUploadPlugin: true, // If you need to send rich media messages, please set to true.
|
||||||
framework: `vue${vueVersion}`, // framework used vue2 / vue3
|
framework: `vue${vueVersion}`, // framework used vue2 / vue3
|
||||||
}).then(() => {
|
}).then(()=>{
|
||||||
Push.setRegistrationID(par.userID, () => {
|
Push.setRegistrationID(par.userID, () => {
|
||||||
console.log(
|
console.log('设置id设置id设置id设置id设置id设置id设置id设置id设置id设置id', par.userID);
|
||||||
"设置id设置id设置id设置id设置id设置id设置id设置id设置id设置id",
|
|
||||||
par.userID
|
|
||||||
);
|
|
||||||
|
|
||||||
Push.registerPush(
|
Push.registerPush(
|
||||||
par.sdkAppId,
|
par.sdkAppId,
|
||||||
"vkFpe55aYqfV7Sk5uGaoxhEstJ3tcI9dquk7JwG1GloDSLD2HeMWeQweWWXgNlhC",
|
'vkFpe55aYqfV7Sk5uGaoxhEstJ3tcI9dquk7JwG1GloDSLD2HeMWeQweWWXgNlhC',
|
||||||
(data) => {
|
(data) => {
|
||||||
console.log("registerPush ok", data);
|
console.log('registerPush ok', data);
|
||||||
Push.getRegistrationID((registrationID) => {
|
Push.getRegistrationID((registrationID) => {
|
||||||
console.log("getRegistrationID ok", registrationID);
|
console.log('getRegistrationID ok', registrationID);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
(errCode, errMsg) => {
|
(errCode, errMsg) => {
|
||||||
console.error("registerPush failed", errCode, errMsg);
|
console.error('registerPush failed', errCode, errMsg);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
// 监听通知栏点击事件,获取推送扩展信息
|
// 监听通知栏点击事件,获取推送扩展信息
|
||||||
Push.addPushListener(Push.EVENT.NOTIFICATION_CLICKED, (res) => {
|
Push.addPushListener(Push.EVENT.NOTIFICATION_CLICKED, (res) => {
|
||||||
console.log("notification clicked", res);
|
console.log('notification clicked', res);
|
||||||
// 解析扩展信息,跳转到相应的会话(代码仅供参考,发布前需要完善)
|
// 解析扩展信息,跳转到相应的会话(代码仅供参考,发布前需要完善)
|
||||||
try {
|
try {
|
||||||
const data = JSON.parse(res.data);
|
const data = JSON.parse(res.data);
|
||||||
const conv_type =
|
const conv_type = data?.entity?.chatType === 1 ? 'C2C' : 'GROUP';
|
||||||
data?.entity?.chatType === 1 ? "C2C" : "GROUP";
|
|
||||||
// 根据推送信息拼的 conversationID
|
// 根据推送信息拼的 conversationID
|
||||||
const conversationID = `${conv_type}${data.entity.sender}`;
|
const conversationID = `${conv_type}${data.entity.sender}`;
|
||||||
// 切换会话
|
// 切换会话
|
||||||
TUIConversationService.switchConversation(conversationID);
|
TUIConversationService.switchConversation(conversationID);
|
||||||
const chatPath = "/TUIKit/components/TUIChat/index";
|
const chatPath = '/TUIKit/components/TUIChat/index';
|
||||||
uni.navigateTo({ url: chatPath });
|
uni.navigateTo({ url: chatPath });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("error", error);
|
console.log('error', error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 监听在线推送
|
// 监听在线推送
|
||||||
Push.addPushListener(Push.EVENT.MESSAGE_RECEIVED, (res) => {
|
Push.addPushListener(Push.EVENT.MESSAGE_RECEIVED, (res) => {
|
||||||
// res 为消息内容
|
// res 为消息内容
|
||||||
console.log("message received", res);
|
console.log('message received', res);
|
||||||
});
|
});
|
||||||
// 监听在线推送被撤回
|
// 监听在线推送被撤回
|
||||||
Push.addPushListener(Push.EVENT.MESSAGE_REVOKED, (res) => {
|
Push.addPushListener(Push.EVENT.MESSAGE_REVOKED, (res) => {
|
||||||
// res 为被撤回的消息 ID
|
// res 为被撤回的消息 ID
|
||||||
console.log("message revoked", res);
|
console.log('message revoked', res);
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
// 接口返回非 200 状态码,跳转登录页面
|
// 接口返回非 200 状态码,跳转登录页面
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@ -237,62 +227,23 @@ export default {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getMembermethod();
|
this.getMembermethod();
|
||||||
this.setTime();
|
this.setTime();
|
||||||
|
// 监听全局点击事件
|
||||||
// 监听自定义全局点击事件
|
document.addEventListener("click", (event) =>
|
||||||
uni.$on("globalClick", (event) => {
|
this.handleGlobalClick(event)
|
||||||
// console.log(event, "====+++");
|
);
|
||||||
this.handleGlobalClick(event);
|
// 监听滚动事件
|
||||||
});
|
|
||||||
|
|
||||||
// // 在页面根元素上监听触摸开始事件并触发自定义全局点击事件
|
|
||||||
// uni.onTouchStart((event) => {
|
|
||||||
// uni.$emit("globalClick", event);
|
|
||||||
// });
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
// 移除全局点击事件监听
|
// 移除全局点击事件
|
||||||
uni.$off("globalClick");
|
document.removeEventListener("click", this.handleGlobalClick);
|
||||||
// 清除定时器
|
// 清除定时器
|
||||||
clearTimeout(this.cleartime);
|
clearTimeout(this.cleartime);
|
||||||
|
// 移除滚动事件监听
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
state(item) {
|
|
||||||
this.isPopupVisible = item;
|
|
||||||
},
|
|
||||||
handleTouchStart(event) {
|
|
||||||
uni.$emit("globalClick", event);
|
|
||||||
},
|
|
||||||
handleGlobalClick(event) {
|
|
||||||
const query = uni.createSelectorQuery().in(this);
|
|
||||||
query
|
|
||||||
.select(".jolkp_l")
|
|
||||||
// 获取节点的布局位置和尺寸信息
|
|
||||||
.boundingClientRect((rect) => {
|
|
||||||
if (rect) {
|
|
||||||
const clickX = event.clientX || event.touches[0].clientX;
|
|
||||||
const clickY = event.clientY || event.touches[0].clientY;
|
|
||||||
|
|
||||||
if (clickX >= rect.left && clickX <= rect.width+rect.left
|
|
||||||
&& clickY >= rect.top && clickY <= rect.top + rect.height*2) {
|
|
||||||
// this.statue = 0; // 点击在节点范围内,执行相应操作
|
|
||||||
console.log("点击是在节点范围");
|
|
||||||
this.isPopupVisible = !this.isPopupVisible; // 隐藏弹出框
|
|
||||||
}else{
|
|
||||||
// this.statue = 0; // 点击在节点范围内,执行相应操作
|
|
||||||
console.log("否");
|
|
||||||
this.isPopupVisible = false; // 隐藏弹出框
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
// 执行查询操作
|
|
||||||
.exec(() => {
|
|
||||||
// this.isPopupVisible = true; // 隐藏弹出框
|
|
||||||
});
|
|
||||||
},
|
|
||||||
lowerBottom() {
|
lowerBottom() {
|
||||||
if (this.total >= this.meList.length) {
|
if (this.total >= this.meList.length) {
|
||||||
this.pageSize += 10;
|
this.pageSize += 10;
|
||||||
@ -307,7 +258,7 @@ export default {
|
|||||||
}, 10000);
|
}, 10000);
|
||||||
},
|
},
|
||||||
torut(item) {
|
torut(item) {
|
||||||
this.isPopupVisible = false;
|
// 将 item 对象转换为 JSON 字符串,以便在 URL 中传递
|
||||||
const itemJson = encodeURIComponent(JSON.stringify(item));
|
const itemJson = encodeURIComponent(JSON.stringify(item));
|
||||||
// 使用 uni.navigateTo 方法跳转到详情页,并传递信息
|
// 使用 uni.navigateTo 方法跳转到详情页,并传递信息
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@ -332,6 +283,11 @@ export default {
|
|||||||
this.isPopupVisible = !this.isPopupVisible;
|
this.isPopupVisible = !this.isPopupVisible;
|
||||||
this.popupRef = this.$refs.popup;
|
this.popupRef = this.$refs.popup;
|
||||||
},
|
},
|
||||||
|
handleGlobalClick(event) {
|
||||||
|
if (this.isPopupVisible && event.target._prevClass != "jolkp_l") {
|
||||||
|
this.isPopupVisible = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
getMembermethod() {
|
getMembermethod() {
|
||||||
const param = {
|
const param = {
|
||||||
@ -375,13 +331,18 @@ export default {
|
|||||||
this.isPopupVisible = false;
|
this.isPopupVisible = false;
|
||||||
uni.scanCode({
|
uni.scanCode({
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log("扫码结果:---", res.result);
|
console.log("扫码结果:---", res);
|
||||||
const params = {
|
geterweijki(res.result).then((resfn) => {
|
||||||
userID: res.result, //userID
|
console.log(resfn, "====");
|
||||||
};
|
this.getUserimInfo();
|
||||||
console.log("params", params);
|
this.statue = 0;
|
||||||
TUIStore.update(StoreName.CUSTOM, "currentContactInfo", params);
|
});
|
||||||
this.statue = 7;
|
this.statue = 0;
|
||||||
|
// 可以在这里添加处理扫码结果的逻辑
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
console.error("扫码失败:", err);
|
||||||
|
this.statue = 0;
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -417,13 +378,12 @@ page {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
.jolkp {
|
.jolkp {
|
||||||
height: 75px;
|
height: 66px;
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
/* background: green; */
|
|
||||||
/* 设置背景图 */
|
/* 设置背景图 */
|
||||||
/* background-image: url('@/static/im/Rectangle.png'); */
|
background-image: url('@/static/im/Rectangle.png');
|
||||||
/* 让背景图覆盖整个元素 */
|
/* 让背景图覆盖整个元素 */
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
/* 背景图不重复 */
|
/* 背景图不重复 */
|
||||||
@ -431,9 +391,9 @@ page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.jolkp_l {
|
.jolkp_l {
|
||||||
width: 1.8rem;
|
width: 2rem;
|
||||||
height: 1.8rem;
|
height: 2rem;
|
||||||
background-image: url("@/static/im/Frame.png");
|
background-image: url('@/static/im/Frame.png');
|
||||||
/* 让背景图覆盖整个元素 */
|
/* 让背景图覆盖整个元素 */
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
/* 背景图不重复 */
|
/* 背景图不重复 */
|
||||||
@ -443,9 +403,9 @@ page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.jolkp_h {
|
.jolkp_h {
|
||||||
width: 1.8rem;
|
width: 2rem;
|
||||||
height: 1.8rem;
|
height: 2rem;
|
||||||
background-image: url("@/static/im/user.png");
|
background-image: url('@/static/im/user.png');
|
||||||
/* 让背景图覆盖整个元素 */
|
/* 让背景图覆盖整个元素 */
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
/* 背景图不重复 */
|
/* 背景图不重复 */
|
||||||
@ -454,14 +414,15 @@ page {
|
|||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
.jolkp_z {
|
.jolkp_z {
|
||||||
width: 1.8rem;
|
width: 2rem;
|
||||||
height: 1.8rem;
|
height: 1.5rem;
|
||||||
background-image: url("@/static/im/znx.png");
|
background-image: url('@/static/im/znx.png');
|
||||||
/* 让背景图覆盖整个元素 */
|
/* 让背景图覆盖整个元素 */
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
/* 背景图不重复 */
|
/* 背景图不重复 */
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
|
|
||||||
|
margin-top: 35px;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
.tiole {
|
.tiole {
|
||||||
@ -472,7 +433,7 @@ page {
|
|||||||
}
|
}
|
||||||
.popup {
|
.popup {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 75px;
|
top: 65px;
|
||||||
/* 调整弹出框的位置 */
|
/* 调整弹出框的位置 */
|
||||||
right: 5px;
|
right: 5px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
@ -499,7 +460,7 @@ page {
|
|||||||
|
|
||||||
.fan {
|
.fan {
|
||||||
width: 10%;
|
width: 10%;
|
||||||
height: "100%";
|
height: '100%';
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
@ -509,11 +470,11 @@ page {
|
|||||||
.fan {
|
.fan {
|
||||||
margin-right: 56% !important;
|
margin-right: 56% !important;
|
||||||
width: 10%;
|
width: 10%;
|
||||||
height: "100%";
|
height: '100%';
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 80%;
|
margin-top: 85%;
|
||||||
/* padding: 5px; */
|
padding: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.three {
|
.three {
|
||||||
@ -535,7 +496,7 @@ page {
|
|||||||
.three_div1 {
|
.three_div1 {
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
width: 40%;
|
width: 40%;
|
||||||
background-image: url("@/static/im/kf.png");
|
background-image: url('@/static/im/kf.png');
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -546,7 +507,7 @@ page {
|
|||||||
.three_div2 {
|
.three_div2 {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
background-image: url("@/static/im/hy.png");
|
background-image: url('@/static/im/hy.png');
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
width: 40%;
|
width: 40%;
|
||||||
@ -554,7 +515,7 @@ page {
|
|||||||
|
|
||||||
.three_div3 {
|
.three_div3 {
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
background-image: url("@/static/im/da.png");
|
background-image: url('@/static/im/da.png');
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
width: 40%;
|
width: 40%;
|
||||||
@ -607,4 +568,5 @@ page {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -10,20 +10,15 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="head-2" v-if="userInfo.id">
|
<view class="head-2" v-if="userInfo.id">
|
||||||
<view class="user-name">{{ userInfo.nickName }}</view>
|
<view class="user-name">{{ userInfo.nickName }}</view>
|
||||||
<view class="user-logn" v-if="ismongt.expert">
|
|
||||||
<view class="mong"></view>
|
|
||||||
<view>达人</view>
|
|
||||||
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="head-2" v-else>
|
<view class="head-2" v-else>
|
||||||
<view class="user-name">登录/注册</view>
|
<view class="user-name">登录/注册</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- <u-icon
|
<u-icon
|
||||||
style="display: flex; align-items: flex-start"
|
style="display: flex; align-items: flex-start"
|
||||||
name="arrow-right"
|
name="arrow-right"
|
||||||
></u-icon> -->
|
></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<!-- 积分,优惠券,关注, -->
|
<!-- 积分,优惠券,关注, -->
|
||||||
<div class="pointBox box">
|
<div class="pointBox box">
|
||||||
@ -106,15 +101,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 常用工具 -->
|
<!-- 常用工具 -->
|
||||||
|
|
||||||
<tool :userInfo="userInfo" v-if="userInfo.id != undefined" ref="tool" />
|
<tool :userInfo="userInfo" v-if="userInfo.id != undefined" ref="tool"/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import tool from "@/pages/tabbar/user/utils/tool.vue";
|
import tool from "@/pages/tabbar/user/utils/tool.vue";
|
||||||
import { getCouponsNum, getFootprintNum } from "@/api/members.js";
|
import { getCouponsNum, getFootprintNum } from "@/api/members.js";
|
||||||
import { getUserWallet } from "@/api/members";
|
import { getUserWallet } from "@/api/members";
|
||||||
import Views from "../home/views.vue";
|
|
||||||
import { getUserInfo } from "@/api/members";
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
tool,
|
tool,
|
||||||
@ -128,14 +121,10 @@ export default {
|
|||||||
couponNum: "",
|
couponNum: "",
|
||||||
footNum: "",
|
footNum: "",
|
||||||
walletNum: "",
|
walletNum: "",
|
||||||
ismongt: {},
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onLoad() {},
|
onLoad() {},
|
||||||
onShow() {
|
onShow() {
|
||||||
// if(this.ismongt.expert=='undefined'){
|
|
||||||
this.getUser()
|
|
||||||
// }
|
|
||||||
this.userInfo = this.$options.filters.isLogin();
|
this.userInfo = this.$options.filters.isLogin();
|
||||||
if (this.$options.filters.isLogin("auth")) {
|
if (this.$options.filters.isLogin("auth")) {
|
||||||
this.getUserOrderNum();
|
this.getUserOrderNum();
|
||||||
@ -145,9 +134,9 @@ export default {
|
|||||||
},
|
},
|
||||||
onPullDownRefresh() {
|
onPullDownRefresh() {
|
||||||
this.getUserOrderNum();
|
this.getUserOrderNum();
|
||||||
this.getUser()
|
|
||||||
this.userInfo = this.$options.filters.isLogin();
|
this.userInfo = this.$options.filters.isLogin();
|
||||||
this.$refs.tool.getUser();
|
this.$refs.tool.getUser();
|
||||||
|
|
||||||
},
|
},
|
||||||
// #ifndef MP
|
// #ifndef MP
|
||||||
onNavigationBarButtonTap(e) {
|
onNavigationBarButtonTap(e) {
|
||||||
@ -160,12 +149,6 @@ export default {
|
|||||||
|
|
||||||
mounted() {},
|
mounted() {},
|
||||||
methods: {
|
methods: {
|
||||||
getUser() {
|
|
||||||
this.ismongt = {}
|
|
||||||
getUserInfo().then((user) => {
|
|
||||||
this.ismongt = user.data.result;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/**
|
/**
|
||||||
* 统一跳转接口,拦截未登录路由
|
* 统一跳转接口,拦截未登录路由
|
||||||
* navigator标签现在默认没有转场动画,所以用view
|
* navigator标签现在默认没有转场动画,所以用view
|
||||||
@ -253,7 +236,7 @@ body {
|
|||||||
.head-2 {
|
.head-2 {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 30rpx;
|
margin-left: 30rpx;
|
||||||
margin-top: 80rpx;
|
margin-top: 100rpx;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
/deep/ .u-icon,
|
/deep/ .u-icon,
|
||||||
@ -315,19 +298,7 @@ body {
|
|||||||
.user-name {
|
.user-name {
|
||||||
font-size: 34rpx;
|
font-size: 34rpx;
|
||||||
}
|
}
|
||||||
.user-logn {
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin: 15px 15px 0px 0px;
|
|
||||||
font-size: 15px;
|
|
||||||
.mong{
|
|
||||||
width: 1rem;
|
|
||||||
height:1rem;
|
|
||||||
background: url("@/static/mon.png") no-repeat;
|
|
||||||
background-size: 100% 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.bag {
|
.bag {
|
||||||
width: 56rpx;
|
width: 56rpx;
|
||||||
height: 56rpx;
|
height: 56rpx;
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 642 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 761 B |
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 404 B |
BIN
static/mon.png
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 7.9 KiB |
@ -24,27 +24,29 @@ function cleanStorage() {
|
|||||||
storage.setHasLogin(false);
|
storage.setHasLogin(false);
|
||||||
storage.setAccessToken("");
|
storage.setAccessToken("");
|
||||||
storage.setRefreshToken("");
|
storage.setRefreshToken("");
|
||||||
|
console.log("清空token");
|
||||||
storage.setUuid("");
|
storage.setUuid("");
|
||||||
storage.setUserInfo({});
|
storage.setUserInfo({});
|
||||||
// 清理vlog信息
|
// 清理vlog信息
|
||||||
storage.setVlogToken("");
|
storage.setVlogToken("")
|
||||||
storage.setVlogUserInfo(null);
|
storage.setVlogUserInfo(null)
|
||||||
// 清除初始化数据内容
|
// 清除初始化数据内容
|
||||||
storage.setRefreshVlogIndex("0"); //不需要刷新
|
storage.setRefreshVlogIndex('0') //不需要刷新
|
||||||
// 获取当前页面栈
|
|
||||||
const pages = getCurrentPages();
|
|
||||||
const currentPage = pages[pages.length - 1];
|
|
||||||
const currentRoute = currentPage.route;
|
|
||||||
// 防抖处理跳转
|
// 防抖处理跳转
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
if (currentRoute !== 'pages/passport/wechatMPLogin') {
|
|
||||||
uni.navigateTo({ url: "/pages/passport/wechatMPLogin" });
|
uni.navigateTo({
|
||||||
}
|
url: "/pages/passport/wechatMPLogin",
|
||||||
|
});
|
||||||
|
|
||||||
// #endif
|
// #endif
|
||||||
|
|
||||||
// #ifndef MP-WEIXIN
|
// #ifndef MP-WEIXIN
|
||||||
if (currentRoute !== 'pages/passport/login') {
|
uni.navigateTo({
|
||||||
uni.navigateTo({ url: "/pages/passport/login" });
|
url: "/pages/passport/login",
|
||||||
}
|
});
|
||||||
// #endif
|
// #endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,10 +92,13 @@ http.interceptors.request.use(
|
|||||||
|
|
||||||
config.params = params;
|
config.params = params;
|
||||||
config.header.accessToken = accessToken;
|
config.header.accessToken = accessToken;
|
||||||
|
|
||||||
}
|
}
|
||||||
// 配置vlog所需参数
|
// 配置vlog所需参数
|
||||||
let vlogToken = storage.getVlogToken();
|
let vlogToken = storage.getVlogToken();
|
||||||
let vlogId = storage.getVlogUserInfo();
|
let vlogId = storage.getVlogUserInfo();
|
||||||
|
// console.log(vlogId)
|
||||||
|
// console.log(vlogToken)
|
||||||
if (vlogToken) {
|
if (vlogToken) {
|
||||||
config.header.headerUserToken = vlogToken;
|
config.header.headerUserToken = vlogToken;
|
||||||
config.header.headerUserId = vlogId.id;
|
config.header.headerUserId = vlogId.id;
|
||||||
@ -102,6 +107,7 @@ http.interceptors.request.use(
|
|||||||
...config.header,
|
...config.header,
|
||||||
uuid: storage.getUuid() || uuid.v1(),
|
uuid: storage.getUuid() || uuid.v1(),
|
||||||
};
|
};
|
||||||
|
// console.log(config)
|
||||||
return config;
|
return config;
|
||||||
},
|
},
|
||||||
(config) => {
|
(config) => {
|
||||||
|
|||||||