2025.03.12 工作代码提交
This commit is contained in:
parent
09e8b23e43
commit
134facabb2
|
@ -110,6 +110,18 @@ const shop = {
|
|||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 商品详情下面的商品推荐
|
||||
* @param {Object} param
|
||||
*/
|
||||
getInfoProductRecommendations(param) {
|
||||
return util.request({
|
||||
url: `/shopify/appProductionApi/infoProductRecommendations`,
|
||||
method: 'GET',
|
||||
query: param.query
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 商品分类列表
|
||||
* @param {Object} param
|
||||
|
@ -134,6 +146,18 @@ const shop = {
|
|||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 个人中心下面的商品推荐
|
||||
* @param {Object} param
|
||||
*/
|
||||
getMineUserProList(param) {
|
||||
return util.request({
|
||||
url: `/shopify/appProductionApi/personalCenterProductRecommendations`,
|
||||
method: 'GET',
|
||||
query: param.query,
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 添加商品浏览记录
|
||||
* @param {Object} param
|
||||
|
|
|
@ -9,7 +9,7 @@ const config = {
|
|||
host: 'http://91f.xyz:8080',
|
||||
// #endif
|
||||
// 是否vivo显示
|
||||
showVivo: false,
|
||||
showVivo: true,
|
||||
// 支付方式配置
|
||||
payType: {
|
||||
score: {
|
||||
|
|
|
@ -126,6 +126,9 @@
|
|||
<view class="main">
|
||||
<!-- 获取详情 -->
|
||||
<proDetail :id="proId" :detail="detail" />
|
||||
|
||||
<!-- 填充 -->
|
||||
<view class="fill" style="height: 180rpx;"></view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
|
|
|
@ -49,23 +49,6 @@
|
|||
})
|
||||
// 最近购买订单列表
|
||||
const recentOrderList = ref([])
|
||||
//
|
||||
const menuFn = {
|
||||
// 店铺
|
||||
store() {
|
||||
link('/pages/shop/store/index')
|
||||
},
|
||||
// 客服
|
||||
customerService() {
|
||||
link('/pages/news/question-answer/index')
|
||||
},
|
||||
// 收藏
|
||||
heibianStar() {
|
||||
//
|
||||
}
|
||||
}
|
||||
// 编辑器上下文对象
|
||||
const editorCtx = ref(null)
|
||||
// 已选择的规格下标
|
||||
const spaceIndex = ref(0)
|
||||
// 数量
|
||||
|
@ -94,7 +77,6 @@
|
|||
let result = ''
|
||||
const richText = props.detail.infoRichText || ''
|
||||
if (richText) result = decodeURIComponent(escape(atob(richText)))
|
||||
console.log('richText', result, decodeURIComponent(escape(atob(richText))))
|
||||
return result
|
||||
})
|
||||
|
||||
|
@ -378,12 +360,9 @@
|
|||
<!-- 商品详情 -->
|
||||
<view class="content mt30">
|
||||
<!-- <rich-text :nodes="infoRichText" v-if="infoRichText" /> -->
|
||||
<parseRichText :imageProp="{'mode': 'widthFix',}" :content="infoRichText" />
|
||||
<parseRichText :imageProp="{'mode': 'widthFix',}" :content="infoRichText" v-if="infoRichText" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 填充 -->
|
||||
<view class="fill" style="height: 180rpx;"></view>
|
||||
</template>
|
||||
|
||||
<style lang="scss">
|
||||
|
|
|
@ -16,24 +16,23 @@
|
|||
choicenessTitle: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
requestFn: {
|
||||
type: Function,
|
||||
default: (ev) => {
|
||||
return api.shop.getProduct(ev)
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
// 参数
|
||||
// 商品列表参数
|
||||
const listPrototype = reactive({
|
||||
pageSize: 10,
|
||||
pageNum: 1,
|
||||
total: 0,
|
||||
// 搜索
|
||||
searchValue: '',
|
||||
// 商户主键
|
||||
merId: '',
|
||||
// 品牌主键
|
||||
brandId: '',
|
||||
// 分类code
|
||||
categoryCode: '',
|
||||
data: [],
|
||||
})
|
||||
// 商品列表
|
||||
const list = reactive([])
|
||||
|
||||
/**
|
||||
* 点击列表项
|
||||
|
@ -43,7 +42,8 @@
|
|||
//
|
||||
uni.navigateTo({
|
||||
url: util.setUrl('/pages/shop/commodity/index', {
|
||||
productId: item.id
|
||||
productId: item.id,
|
||||
categoryId: item.categoryId,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
@ -64,24 +64,18 @@
|
|||
|
||||
// 获取商品
|
||||
function getList() {
|
||||
api.shop.getProduct({
|
||||
//
|
||||
console.log('listPrototype', listPrototype)
|
||||
props.requestFn({
|
||||
data: {
|
||||
pageSize: listPrototype.pageSize,
|
||||
pageNum: listPrototype.pageNum,
|
||||
// 搜索
|
||||
searchValue: listPrototype.searchValue,
|
||||
// 商户主键
|
||||
merId: listPrototype.merId,
|
||||
// 品牌主键
|
||||
brandId: listPrototype.brandId,
|
||||
// 分类code
|
||||
categoryCode: listPrototype.categoryCode,
|
||||
...listPrototype,
|
||||
},
|
||||
query: {
|
||||
...listPrototype,
|
||||
},
|
||||
}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
if (listPrototype.pageNum == 1) listPrototype.data.length = []
|
||||
listPrototype.data.push(...rs.rows)
|
||||
if (listPrototype.pageNum == 1) list.length = []
|
||||
list.push(...rs.rows)
|
||||
listPrototype.total = rs.total
|
||||
return
|
||||
}
|
||||
|
@ -111,8 +105,7 @@
|
|||
</view>
|
||||
|
||||
<view class="list">
|
||||
<view class="item oh bfff br20" v-for="(item, index) in listPrototype.data" :key="index"
|
||||
@click="handleItem(item)">
|
||||
<view class="item oh bfff br20" v-for="(item, index) in list" :key="index" @click="handleItem(item)">
|
||||
<!-- 需要展示的图 -->
|
||||
<image class="poster" :src="item.sliderImage.split(',')[0]" mode="aspectFill" />
|
||||
|
||||
|
|
|
@ -96,7 +96,8 @@
|
|||
"path": "pages/mine/mine",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的",
|
||||
"navigationStyle": "custom"
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": true
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
|
@ -65,9 +65,7 @@
|
|||
return result
|
||||
})
|
||||
// 我的钱包
|
||||
const purse = computed(() => {
|
||||
return store.state.purse || {}
|
||||
})
|
||||
const purse = computed(() => store.state.purse || {})
|
||||
|
||||
// 榴莲果配置
|
||||
const configData = reactive({
|
||||
|
|
|
@ -6,13 +6,15 @@
|
|||
import {
|
||||
ref,
|
||||
computed,
|
||||
getCurrentInstance
|
||||
} from 'vue'
|
||||
import {
|
||||
onReachBottom,
|
||||
onPullDownRefresh,
|
||||
onShow,
|
||||
onLoad,
|
||||
onPageScroll
|
||||
onReady,
|
||||
onPageScroll,
|
||||
} from '@dcloudio/uni-app';
|
||||
import {
|
||||
useStore
|
||||
|
@ -26,18 +28,35 @@ import noLogin from '@/components/login/noLogin'
|
|||
import productList from '@/components/shop/productList/productList';
|
||||
// 底部导航
|
||||
import footerMneu from '@/components/footerMenu/footerMenu'
|
||||
//
|
||||
// 工具库
|
||||
import util from '@/common/js/util';
|
||||
//
|
||||
import api from '@/api/index.js'
|
||||
|
||||
const {
|
||||
proxy
|
||||
} = getCurrentInstance()
|
||||
//
|
||||
const store = useStore()
|
||||
// 用户信息
|
||||
const userinfo = computed(() => {
|
||||
let result = store.state.userinfo || {}
|
||||
return result
|
||||
})
|
||||
const userinfo = computed(() => store.state.userinfo || {})
|
||||
// 是否显示顶部
|
||||
const showHeader = ref(false)
|
||||
|
||||
onReady(() => {
|
||||
util.isLogin().then(rs => {
|
||||
proxy.$refs.productListRef.getList()
|
||||
})
|
||||
})
|
||||
|
||||
onReachBottom(() => {
|
||||
proxy.$refs.productListRef.getMoreList()
|
||||
})
|
||||
|
||||
onPullDownRefresh(() => {
|
||||
proxy.$refs.productListRef.refreshList()
|
||||
})
|
||||
|
||||
onPageScroll((ev) => {
|
||||
if (ev.scrollTop > 44) showHeader.value = true
|
||||
else showHeader.value = false
|
||||
|
@ -49,6 +68,7 @@ function link(url) {
|
|||
url,
|
||||
})
|
||||
}
|
||||
|
||||
function toCustomer() {
|
||||
uni.navigateTo({
|
||||
url: util.setUrl('/pages/mine/setting/feedback')
|
||||
|
@ -211,7 +231,8 @@ function toCustomer() {
|
|||
|
||||
<!-- 精选 -->
|
||||
<view class="recommend mtb20 mlr20">
|
||||
<productList choicenessTitle="true"></productList>
|
||||
<productList ref="productListRef" :choicenessTitle="true" :requestFn="api.shop.getMineUserProList">
|
||||
</productList>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
|
|
@ -60,7 +60,8 @@
|
|||
function getList() {
|
||||
api.mine.getBankCards({}).then(rs => {
|
||||
if (rs.code == 200) {
|
||||
Object.assign(list, rs.data)
|
||||
list.length = 0
|
||||
list.push(...rs.data)
|
||||
return
|
||||
}
|
||||
util.alert({
|
||||
|
|
|
@ -101,7 +101,7 @@ function handleSubmit() {
|
|||
// 同步性别值
|
||||
if (gender[genderIndex.value]) user.sex = gender[genderIndex.value].id
|
||||
|
||||
if (!IsEmail(user.email)) {
|
||||
if (user.email && !IsEmail(user.email)) {
|
||||
util.alert('邮箱格式不正确!')
|
||||
return
|
||||
}
|
||||
|
@ -110,10 +110,6 @@ function handleSubmit() {
|
|||
...user,
|
||||
}
|
||||
|
||||
// 去域名地址
|
||||
// if(data.avatar) data.avatar = util.replace_url(data.avatar)
|
||||
// if(data.background) data.background = util.replace_url(data.background)
|
||||
|
||||
//
|
||||
api.mine.updateUserInfo({
|
||||
data,
|
||||
|
@ -133,12 +129,12 @@ function handleSubmit() {
|
|||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 校验邮箱地址
|
||||
function IsEmail(str) {
|
||||
var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
|
||||
return reg.test(str);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
|
@ -39,13 +39,16 @@
|
|||
const id = ref('')
|
||||
// 产品详情
|
||||
const detail = reactive({})
|
||||
// 分类id
|
||||
const categoryId = ref('')
|
||||
// 当前登录的用户信息
|
||||
const userinfo = computed(() => {
|
||||
return store.state.userinfo
|
||||
})
|
||||
const userinfo = computed(() => store.state.userinfo)
|
||||
|
||||
onLoad(option => {
|
||||
// 商品id
|
||||
if (option.productId) id.value = option.productId
|
||||
// 分类id
|
||||
if (option.categoryId) categoryId.value = option.categoryId
|
||||
// 获取产品详情
|
||||
getDetail()
|
||||
// 添加商品浏览记录
|
||||
|
@ -55,7 +58,13 @@
|
|||
})
|
||||
|
||||
onReady(() => {
|
||||
//
|
||||
// 分类id
|
||||
if (categoryId.value) {
|
||||
proxy.$refs.productListRef.listPrototype.categoryId = categoryId.value
|
||||
proxy.$refs.productListRef.listPrototype.productId = id.value
|
||||
// 获取推荐列表
|
||||
proxy.$refs.productListRef.getList()
|
||||
}
|
||||
})
|
||||
|
||||
// 销毁监听
|
||||
|
@ -72,7 +81,6 @@
|
|||
function addListener() {
|
||||
// 监听商品详情
|
||||
uni.$on('commodityDetail', (data) => {
|
||||
//
|
||||
if (detail.id == data.id) getDetail()
|
||||
})
|
||||
}
|
||||
|
@ -186,9 +194,13 @@
|
|||
<proDetail :id="id" :detail="detail" />
|
||||
<!-- 精选 -->
|
||||
<view class="recommend mlr20">
|
||||
<productList :choicenessTitle="true" />
|
||||
<productList ref="productListRef" :choicenessTitle="true"
|
||||
:requestFn="api.shop.getInfoProductRecommendations" />
|
||||
</view>
|
||||
|
||||
<!-- 填充 -->
|
||||
<view class="fill" style="height: 180rpx;"></view>
|
||||
|
||||
<!-- 底部菜单 -->
|
||||
<view class="footer plr20 shadow bfff">
|
||||
<footerMenu :detail="detail" @update="handleDetail" @buy="showMakeOrder" />
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
if (cateIndex.value === index) return
|
||||
cateIndex.value = index
|
||||
// 分类
|
||||
proxy.$refs.product.listPrototype.categoryCode = cateList[index].categoryCode
|
||||
proxy.$refs.product.listPrototype.categoryId = cateList[index].id
|
||||
// 重载列表
|
||||
proxy.$refs.product.refreshList()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue