weixin_52219567 hai 3 semanas
pai
achega
9767b70a5b

+ 1 - 0
src/addon/components/diy/group/index.vue

@@ -8,6 +8,7 @@
                :class="diyGroup.getComponentClass(index,component)" :style="component.pageStyle">
                 <view class="relative" :style="{ marginTop : component.margin.top < 0 ? (component.margin.top * 2) + 'rpx' : '0' }">
                   <!-- 装修模式下,设置负上边距后超出的内容,禁止选中设置 -->
+                   <!-- {{ component.componentName }} -->
                   <view v-if="diyGroup.isShowPlaceHolder(index,component)" class="absolute w-full z-1" :style="{ height : (component.margin.top * 2 * -1) + 'rpx' }" @click.stop="diyGroup.placeholderEvent"></view>
                   <template v-if="component.componentName == 'ActiveCube'">
                      <diy-active-cube ref="diyActiveCubeRef" :component="component" :global="data.global" :index="index" :scrollBool="diyGroup.componentsScrollBool.ActiveCube" @update:componentIsShow="component.componentIsShow = $event" />

+ 38 - 119
src/addon/shop/components/diy/shop-member-info/index.vue

@@ -1,81 +1,66 @@
 <template>
     <view :style="warpCss">
-        <view class="px-[30rpx] pt-[30rpx] box-border pb-[30rpx]" :class="{'!pb-[120rpx]':diyComponent.isShowAccount}">
+        <view class="px-[30rpx] pt-[30rpx] box-border pb-[30rpx]" :class="{ '!pb-[120rpx]': diyComponent.isShowAccount }">
             <!-- #ifdef MP-WEIXIN -->
             <view :style="navbarInnerStyle"></view>
             <!-- #endif -->
             <view v-if="info" class="flex items-center">
                 <!-- 唤起获取微信 -->
-                <u-avatar :src="img(info.headimg)" :size="'110rpx'" leftIcon="none" :default-url="img('static/resource/images/default_headimg.png')" @click="clickAvatar" />
+                <u-avatar :src="img('https://index.xiaoluwebsite.xyz/assets/logo2-BEt-XeZG.png')" :size="'110rpx'"
+                    leftIcon="none" :default-url="img('https://v6.site.niucloud.com/static/resource/images/default_headimg.png')"
+                    @click="clickAvatar" />
                 <view class="ml-[20rpx] flex-1">
-                    <view class="text-[#ffffff] flex items-baseline flex-wrap" :style="{ color : diyComponent.textColor }">
-                        <view class="text-[32rpx] truncate max-w-[320rpx] font-500 leading-[38rpx]">{{ info.nickname }}</view>
-                        <view class="text-[26rpx] font-400 leading-[28rpx] ml-[10rpx]" v-if="info.mobile">{{ info.mobile.replace(info.mobile.substring(3, 7), "****") }}</view>
-
-                        <!-- #ifdef H5 -->
-                        <view v-else-if="!info.mobile" @click="bindMobileFn"
-                              class="text-[22rpx] ml-[10rpx] px-[6rpx] border-[1rpx] border-solid border-[#E3E4E9] rounded-[8rpx] h-[34rpx] flex-center"
-                              :style="diyComponent.textColor ? { boxShadow: '0 0 0 1rpx ' + diyComponent.textColor, border: 'none' } : {}">
-                            {{ t('bindMobile') }}
-                        </view>
-                        <!-- #endif -->
-
-                        <!-- #ifdef MP-WEIXIN -->
-                        <button v-else-if="!info.mobile"
-                                class="text-[22rpx] ml-[10rpx] bg-[#fff] px-[6rpx] border-[1rpx] border-solid border-[#E3E4E9] rounded-[8rpx] h-[37rpx] flex-center mr-0"
-                                :style="diyComponent.textColor ? { boxShadow: '0 0 0 1rpx ' + diyComponent.textColor, border: 'none' } : {}"
-                                open-type="getPhoneNumber" @getphonenumber="memberStore.bindMobile">{{ t('bindMobile') }}</button>
-                        <!-- #endif -->
+                    <view class="text-[#ffffff] flex items-baseline flex-wrap"
+                        :style="{ color: diyComponent.textColor }">
+                        <view class="text-[32rpx] truncate max-w-[320rpx] font-500 leading-[38rpx]">{{ info.companyName
+                            }}</view>
 
                     </view>
-                    <view class="text-[#666] text-[24rpx] font-400 leading-[28rpx] mt-[14rpx]" :style="{ color : diyComponent.uidTextColor }">UID:{{ info.member_no }}</view>
+                    <view class="text-[#666] text-[24rpx] font-400 leading-[28rpx] mt-[14rpx]"
+                        :style="{ color: diyComponent.uidTextColor }">手机号:18571599334</view>
                 </view>
-                <text @click="redirect({ url: '/app/pages/setting/index' })" class="nc-iconfont nc-icon-shezhiV6xx1 text-[38rpx] ml-[10rpx]" :style="{ color : diyComponent.textColor }"></text>
+                <text @click="redirect({ url: '/app/pages/setting/index' })"
+                    class="nc-iconfont nc-icon-shezhiV6xx1 text-[38rpx] ml-[10rpx]"
+                    :style="{ color: diyComponent.textColor }"></text>
             </view>
             <view v-else class="flex items-center">
                 <u-avatar :src="img('static/resource/images/default_headimg.png')" :size="'100rpx'" @click="toLogin" />
                 <view class="ml-[20rpx] flex-1" @click="toLogin">
-                    <view class="text-[32rpx] font-500 leading-[38rpx]" :style="{ color : diyComponent.textColor }">{{ t('login') }}/{{ t('register') }}</view>
+                    <view class="text-[32rpx] font-500 leading-[38rpx]" :style="{ color: diyComponent.textColor }">
+                        登录/注册</view>
                 </view>
                 <view @click="redirect({ url: '/app/pages/setting/index' })">
-                    <text class="nc-iconfont nc-icon-shezhiV6xx1 text-[38rpx] ml-[10rpx]" :style="{ color : diyComponent.textColor }"></text>
+                    <text class="nc-iconfont nc-icon-shezhiV6xx1 text-[38rpx] ml-[10rpx]"
+                        :style="{ color: diyComponent.textColor }"></text>
                 </view>
             </view>
             <view class="flex mt-[40rpx] items-center" v-if="diyComponent.isShowAccount">
                 <view class="text-center w-[33.333%] flex-shrink-0">
                     <view class="text-[36rpx] mb-[20rpx] font-500 price-font">
-                        <view @click="redirect({url: '/app/pages/member/balance'})" :style="{ color : diyComponent.textColor }">{{ money }}</view>
+                        <view :style="{ color: diyComponent.textColor }">0</view>
                     </view>
                     <view class="text-[22rpx] font-400">
-                        <view @click="redirect({url: '/app/pages/member/balance'})" :style="{ color : diyComponent.accountTextColor }">{{ t('balance') }}</view>
+                        <view :style="{ color: diyComponent.accountTextColor }">剩余额度</view>
                     </view>
                 </view>
                 <view class="text-center w-[33.333%] flex-shrink-0">
                     <view class="text-[36rpx] mb-[20rpx] font-500 price-font">
-                        <view @click="redirect({url: '/app/pages/member/point'})" :style="{ color : diyComponent.textColor }">{{ parseInt(info?.point) || 0 }}</view>
+                        <view :style="{ color: diyComponent.textColor }">0</view>
                     </view>
                     <view class="text-[22rpx] font-400">
-                        <view @click="redirect({url: '/app/pages/member/point'})" :style="{ color : diyComponent.accountTextColor }">{{ t('point') }}</view>
+                        <view :style="{ color: diyComponent.accountTextColor }">部门额度</view>
                     </view>
                 </view>
-                <view class="text-center w-[33.333%] flex-shrink-0" @click="redirect({ url: '/addon/shop/pages/member/my_coupon' })">
+                <view class="text-center w-[33.333%] flex-shrink-0">
                     <view class="text-[36rpx] mb-[20rpx] font-500 price-font">
-                        <view :style="{ color : diyComponent.textColor }">{{ couponCount }}</view>
+                        <view :style="{ color: diyComponent.textColor }">0</view>
                     </view>
                     <view class="text-[22rpx] font-400">
-                        <view :style="{ color : diyComponent.accountTextColor }">{{ t('coupon') }}</view>
+                        <view :style="{ color: diyComponent.accountTextColor }">优惠券</view>
                     </view>
                 </view>
             </view>
         </view>
-
-        <!-- #ifdef MP-WEIXIN -->
-        <information-filling ref="infoFillRef"></information-filling>
-        <!-- #endif -->
-
-        <!-- 强制绑定手机号 -->
-        <bind-mobile ref="bindMobileRef" />
-
     </view>
 </template>
 
@@ -85,16 +70,12 @@ import useMemberStore from '@/stores/member'
 import { useLogin } from '@/hooks/useLogin'
 import { getMyCouponCount } from '@/addon/shop/api/coupon'
 import { img, isWeixinBrowser, redirect, urlDeconstruction, moneyFormat } from '@/utils/common'
-import { t } from '@/locale'
 import { wechatSync } from '@/app/api/system'
 import useDiyStore from '@/app/stores/diy'
-import useConfigStore from '@/stores/config'
-import bindMobile from '@/components/bind-mobile/bind-mobile.vue';
 import useSystemStore from "@/stores/system";
 
 const props = defineProps(['component', 'index', 'global']);
 const systemStore = useSystemStore()
-const configStore = useConfigStore()
 const diyStore = useDiyStore();
 
 const diyComponent = computed(() => {
@@ -108,7 +89,7 @@ const diyComponent = computed(() => {
 const warpCss = computed(() => {
     let style = '';
     if (diyComponent.value.componentStartBgColor) {
-        if (diyComponent.value.componentStartBgColor && diyComponent.value.componentEndBgColor) style += `background:linear-gradient(${ diyComponent.value.componentGradientAngle },${ diyComponent.value.componentStartBgColor },${ diyComponent.value.componentEndBgColor });`;
+        if (diyComponent.value.componentStartBgColor && diyComponent.value.componentEndBgColor) style += `background:linear-gradient(${diyComponent.value.componentGradientAngle},${diyComponent.value.componentStartBgColor},${diyComponent.value.componentEndBgColor});`;
         else style += 'background-color:' + diyComponent.value.componentStartBgColor + ';';
     }
     if (diyComponent.value.bgUrl) {
@@ -141,75 +122,20 @@ const info = computed(() => {
     // 装修模式
     if (diyStore.mode == 'decorate') {
         return {
-            headimg: '',
-            nickname: '昵称',
-            member_level_name: '普通会员',
-            balance: 0,
-            point: 0,
-            money: 0,
-            mobile: '155****0549',
-            member_no: 'NIU0000021'
+            companyName: '公司名称'
         }
     } else {
         getMyCouponCountFn()
-		const data = memberStore ? memberStore.info : null
+        console.log('info', memberStore.info)
+        const data = memberStore ? memberStore.info : null
         return data;
     }
 })
 
-const money = computed(() => {
-    if (info.value) {
-        let m = parseFloat(info.value.balance) + parseFloat(info.value.money)
-        return moneyFormat(m.toString());
-    } else {
-        return 0;
-    }
-})
 
-const toLogin = () => {
-    let normalLogin = !configStore.login.is_username && !configStore.login.is_mobile && !configStore.login.is_bind_mobile; // 未开启普通登录
-    let authRegisterLogin = !configStore.login.is_auth_register; // 自动注册登录
 
-    // #ifdef H5
-    if (isWeixinBrowser()) {
-        // 微信浏览器
-        if (normalLogin && authRegisterLogin) {
-            uni.showToast({ title: '商家未开启登录注册', icon: 'none' })
-        } else if (configStore.login.is_username || configStore.login.is_mobile || configStore.login.is_bind_mobile) {
-            useLogin().setLoginBack({ url: '/addon/shop/pages/member/index' })
-        } else if (normalLogin && configStore.login.is_auth_register && configStore.login.is_force_access_user_info) {
-            // 判断是否开启第三方自动注册登录,并且开启强制获取用户信息
-            useLogin().getAuthCode({ scopes: 'snsapi_userinfo' })
-        } else if (normalLogin && configStore.login.is_auth_register && !configStore.login.is_force_access_user_info) {
-            // 判断是否开启第三方自动注册登录,并且关闭强制获取用户信息
-            useLogin().getAuthCode({ scopes: 'snsapi_base' })
-        }
-    } else {
-        // 普通浏览器
-        if (normalLogin) {
-            uni.showToast({ title: '商家未开启登录注册', icon: 'none' })
-        } else if (configStore.login.is_username || configStore.login.is_mobile || configStore.login.is_bind_mobile) {
-            useLogin().setLoginBack({ url: '/addon/shop/pages/member/index' })
-        }
-    }
-    // #endif
-
-    // #ifdef MP
-    if (normalLogin && authRegisterLogin) {
-        uni.showToast({ title: '商家未开启登录注册', icon: 'none' })
-    } else if (configStore.login.is_username || configStore.login.is_mobile || configStore.login.is_bind_mobile) {
-        useLogin().setLoginBack({ url: '/addon/shop/pages/member/index' })
-    } else if (normalLogin && configStore.login.is_auth_register && !configStore.login.is_force_access_user_info) {
-        // 判断是否开启第三方自动注册登录
-        useLogin().getAuthCode()
-    } else if (configStore.login.is_auth_register && configStore.login.is_force_access_user_info) {
-        // 开启了第三方自动注册登录,但是需要强制获取昵称
-        useLogin().setLoginBack({ url: '/addon/shop/pages/member/index' })
-    } else if (configStore.login.is_auth_register && configStore.login.is_bind_mobile) {
-        // 开启了第三方自动注册登录,但是需要强制获取手机号
-        useLogin().setLoginBack({ url: '/addon/shop/pages/member/index' })
-    }
-    // #endif
+const toLogin = () => {
+    redirect({ url: '/app/pages/auth/login', param: { type: 'username' } })
 
 }
 
@@ -229,20 +155,14 @@ const clickAvatar = () => {
 }
 
 const couponCount = ref(0)
-const getMyCouponCountFn = async() => {
-    try {
-        const res = await getMyCouponCount({ status: 1 })
-        couponCount.value = res.data
-    } catch (e) {
-        couponCount.value = 0
-    }
-
-}
+const getMyCouponCountFn = async () => {
+    // try {
+    //     const res = await getMyCouponCount({ status: 1 })
+    //     couponCount.value = res.data
+    // } catch (e) {
+    //     couponCount.value = 0
+    // }
 
-//强制绑定手机号
-const bindMobileRef: any = ref(null)
-const bindMobileFn = () => {
-    bindMobileRef.value.open()
 }
 
 // 导航栏内部盒子的样式
@@ -259,5 +179,4 @@ const navbarInnerStyle = computed(() => {
 })
 </script>
 
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>

+ 9 - 9
src/addon/shop/components/diy/shop-order-info/index.vue

@@ -16,14 +16,14 @@
         <view class="pb-[var(--pad-top-m)] px-[var(--pad-sidebar-m)] flex items-center justify-between text-center">
             <view class="flex flex-col items-center w-[20%] flex-shrink-0" @click="toList(1)">
                 <view class="relative w-[44rpx] h-[44rpx]">
-                    <image class="w-[44rpx] h-[44rpx]" :src="img('addon/shop/diy/member/order1.png')" />
+                    <image class="w-[44rpx] h-[44rpx]" :src="img('https://v6.site.niucloud.com/addon/shop/diy/member/order1.png')" />
                     <view v-if="orderInfo.wait_pay" :class="['absolute left-[35rpx] top-[-10rpx] rounded-[28rpx] h-[28rpx] min-w-[28rpx] text-center leading-[30rpx] bg-[#FF4646] text-[#fff] text-[20rpx] font-500 box-border', orderInfo.wait_pay > 9 ? 'px-[10rpx]' : '']">{{ orderInfo.wait_pay > 99 ? "99+" : orderInfo.wait_pay }}</view>
                 </view>
                 <view class="mt-[20rpx] leading-[1]" :style="{ fontSize: diyComponent.item.fontSize * 2 + 'rpx', color: diyComponent.item.color, fontWeight: diyComponent.item.fontWeight }">待付款</view>
             </view>
             <view class="flex flex-col items-center w-[20%] flex-shrink-0" @click="toList(2)">
                 <view class="relative w-[44rpx] h-[44rpx]">
-                    <image class="w-[44rpx] h-[44rpx]" :src="img('addon/shop/diy/member/order2.png')" />
+                    <image class="w-[44rpx] h-[44rpx]" :src="img('https://v6.site.niucloud.com/addon/shop/diy/member/order2.png')" />
                     <view v-if="orderInfo.wait_shipping"
                           :class="['absolute left-[35rpx] top-[-10rpx] rounded-[28rpx] h-[28rpx] min-w-[28rpx] text-center leading-[30rpx] bg-[#FF4646] text-[#fff] text-[20rpx] font-500 box-border', orderInfo.wait_shipping > 9 ? 'px-[10rpx]' : '']">
                         {{ orderInfo.wait_shipping > 99 ? "99+" : orderInfo.wait_shipping }}
@@ -33,14 +33,14 @@
             </view>
             <view class="flex flex-col items-center w-[20%] flex-shrink-0" @click="toList(3)">
                 <view class="relative w-[44rpx] h-[44rpx]">
-                    <image class="w-[44rpx] h-[44rpx]" :src="img('addon/shop/diy/member/order3.png')" />
+                    <image class="w-[44rpx] h-[44rpx]" :src="img('https://v6.site.niucloud.com/addon/shop/diy/member/order3.png')" />
                     <view v-if="orderInfo.wait_take" :class="['absolute left-[35rpx] top-[-10rpx] rounded-[28rpx] h-[28rpx] min-w-[28rpx] text-center leading-[30rpx] bg-[#FF4646] text-[#fff] text-[20rpx] font-500 box-border', orderInfo.wait_take > 9 ? 'px-[10rpx]' : '']">{{ orderInfo.wait_take > 99 ? "99+" : orderInfo.wait_take }}</view>
                 </view>
                 <view class="mt-[20rpx] leading-[1]" :style="{ fontSize: diyComponent.item.fontSize * 2 + 'rpx', color: diyComponent.item.color, fontWeight: diyComponent.item.fontWeight }">待收货</view>
             </view>
             <view class="flex flex-col items-center w-[20%] flex-shrink-0" @click="toList(5)">
                 <view class="relative w-[44rpx] h-[44rpx]">
-                    <image class="w-[44rpx] h-[44rpx]" :src="img('addon/shop/diy/member/order4.png')" />
+                    <image class="w-[44rpx] h-[44rpx]" :src="img('https://v6.site.niucloud.com/addon/shop/diy/member/order4.png')" />
                     <view v-if="orderInfo.evaluate"
                           :class="['absolute left-[35rpx] top-[-10rpx] rounded-[28rpx] h-[28rpx] min-w-[28rpx] text-center leading-[30rpx] bg-[#FF4646] text-[#fff] text-[20rpx] font-500 box-border', orderInfo.evaluate > 9 ? 'px-[10rpx]' : '']">
                         {{ orderInfo.evaluate > 99 ? "99+" : orderInfo.evaluate }}
@@ -50,7 +50,7 @@
             </view>
             <view class="flex flex-col items-center w-[20%] flex-shrink-0" @click="redirect({ url: '/addon/shop/pages/refund/list'})">
                 <view class="relative w-[44rpx] h-[44rpx]">
-                    <image class="w-[44rpx] h-[44rpx]" :src="img('addon/shop/diy/member/order5.png')" />
+                    <image class="w-[44rpx] h-[44rpx]" :src="img('https://v6.site.niucloud.com/addon/shop/diy/member/order5.png')" />
                     <view v-if="orderInfo.refund" :class="['absolute left-[35rpx] top-[-10rpx] rounded-[28rpx] h-[28rpx] min-w-[28rpx] text-center leading-[30rpx] bg-[#FF4646] text-[#fff] text-[20rpx] font-500 box-border', orderInfo.refund > 9 ? 'px-[10rpx]' : '']">{{ orderInfo.refund > 99 ? "99+" : orderInfo.refund }}</view>
                 </view>
                 <view class="mt-[20rpx] leading-[1]" :style="{ fontSize: diyComponent.item.fontSize * 2 + 'rpx', color: diyComponent.item.color, fontWeight: diyComponent.item.fontWeight }">售后/退款</view>
@@ -94,7 +94,7 @@ const refresh = () => {
     }
 }
 
-const orderInfo = ref({})
+const orderInfo = ref<any>({})
 const warpCss = computed(() => {
     let style = '';
     style += 'position:relative;';
@@ -111,9 +111,9 @@ const warpCss = computed(() => {
 })
 
 const getShopOrderNumFn = () => {
-    getShopOrderNum().then((res: any) => {
-        orderInfo.value = res.data
-    })
+    // getShopOrderNum().then((res: any) => {
+    //     orderInfo.value = res.data
+    // })
 }
 const toList = (status: any) => {
     redirect({ url: '/addon/shop/pages/order/list', param: { status } })

+ 0 - 1
src/addon/shop/hooks/useDiyGoodsDetail.ts

@@ -203,7 +203,6 @@ export function useDiyGoodsDetail(params: any = {}) {
                     item.pageStyle += 'padding-left:' + item.margin.both * 2 + 'rpx' + ';';
                 }
             });
-            console.log(diyData.value,'look')
 
             // 控制自定义头部是否出现 | 微信小程序
             isShowTopTabbar.value = diyData.value.some((item: any) => {

+ 3 - 12
src/addon/shop/pages/member/index.vue

@@ -14,11 +14,6 @@
 
         </view>
 
-        <!-- #ifdef MP-WEIXIN -->
-        <!-- 小程序隐私协议 -->
-        <wx-privacy-popup ref="wxPrivacyPopupRef"></wx-privacy-popup>
-        <!-- #endif -->
-
     </view>
 </template>
 
@@ -29,13 +24,13 @@ import { useShare } from '@/hooks/useShare'
 import diyGroup from '@/addon/components/diy/group/index.vue'
 import useMemberStore from '@/stores/member'
 
-const { setShare } = useShare()
+
 // 会员信息
 const memberStore = useMemberStore()
 const userInfo = computed(() => memberStore.info)
 
 const diy = useDiy({
-    name: 'DIY_SHOP_MEMBER_INDEX'
+    type: '2'
 })
 
 const diyGroupRef = ref(null)
@@ -47,12 +42,8 @@ diy.onLoad();
 
 // 监听页面显示
 diy.onShow((data: any) => {
-    let share = data.share ? JSON.parse(data.share) : null;
-    setShare(share);
     diyGroupRef.value?.refresh();
-    if (userInfo.value) {
-        useMemberStore().getMemberInfo()
-    }
+    useMemberStore().getMemberInfo()
     // #ifdef MP
     nextTick(() => {
         if (wxPrivacyPopupRef.value) wxPrivacyPopupRef.value.proactive();

+ 0 - 1
src/app/pages/auth/index.vue

@@ -132,7 +132,6 @@ import useMemberStore from '@/stores/member'
 import { onLoad, onShow } from '@dcloudio/uni-app'
 import { topTabar } from '@/utils/topTabbar'
 import useSystemStore from '@/stores/system'
-
 const systemStore = useSystemStore()
 /********* 自定义头部 - start ***********/
 const topTabarObj = topTabar()

+ 3 - 2
src/stores/member.ts

@@ -1,5 +1,5 @@
 import { defineStore } from 'pinia'
-import { setToken, removeToken, redirect } from '@/utils/common'
+import { setToken, removeToken, redirect ,getToken} from '@/utils/common'
 import { getMemberInfo as getMemberInfoApi, bindMobile as bindMobileApi } from '@/app/api/member'
 import { logout } from '@/app/api/auth'
 import useConfigStore from '@/stores/config'
@@ -26,7 +26,8 @@ const useMemberStore = defineStore('member', {
             this.getMemberInfo(callback)
         },
         getMemberInfo(callback: any = null) {
-            if (!this.token) return
+            console.log('??????????????')
+            if (!getToken()) return
             getMemberInfoApi().then((res: any) => {
                 this.info = res.data;
                 uni.setStorageSync('wap_member_info', this.info)