2025.02.17 工作代码提交

This commit is contained in:
sx 2025-02-17 19:26:33 +08:00
parent caa0b30ee6
commit 65f386e8ed
16 changed files with 158 additions and 171 deletions

View File

@ -7,7 +7,7 @@ const config = {
// #endif
// #ifndef H5
host: 'http://91f.xyz:8080',
// host: 'http://yg4ak8.natappfree.cc',
// host: 'http://hvw2rn.natappfree.cc',
// #endif
// 支付方式配置
payType: {

View File

@ -1410,29 +1410,33 @@ const util = {
* @param {Function} cb 回调函数
*/
finalLogin(param, cb) {
// 登录令牌
const token = param.data
// 缓存token
uni.setStorageSync('token', token)
try {
// 登录令牌
const token = param.data
// 缓存token
uni.setStorageSync('token', token)
// 开启加载
uni.showLoading({
mask: true
})
// 开启加载
uni.showLoading({
mask: true
})
// 获取用户信息
util.getUserinfo((userinfo) => {
// 登录
uni.$emit('login')
// 获取用户信息
util.getUserinfo((userinfo) => {
// 登录
uni.$emit('login')
setTimeout(() => {
uni.reLaunch({
url: '/pages/index/index'
})
}, 500)
//
cb ? cb() : ''
})
setTimeout(() => {
uni.reLaunch({
url: '/pages/index/index'
})
}, 500)
//
cb ? cb() : ''
})
} catch (ev) {
console.log('finalLogin catch', ev)
}
},
// 登录腾讯聊天

View File

@ -173,6 +173,11 @@
tapTimer.value = setTimeout(() => {
let a = tapList.length
tapList.length = 0
//
let targetLike = {
0: 1,
1: 0
} [props.item.isLike]
switch (a) {
case 1:
@ -180,19 +185,35 @@
break;
case 2:
console.log('公开赞')
emit('like', {
likeType: 0,
index: props.index,
isLike: props.item.isLike
})
if (props.item.likeType == 0) {
emit('like', {
likeType: 0,
index: props.index,
isLike: targetLike
})
} else {
emit('like', {
likeType: 0,
index: props.index,
isLike: 0
})
}
break;
case 3:
console.log('隐私赞')
emit('like', {
likeType: 1,
index: props.index,
isLike: props.item.isLike
})
if (props.item.likeType == 1) {
emit('like', {
likeType: 1,
index: props.index,
isLike: targetLike
})
} else {
emit('like', {
likeType: 1,
index: props.index,
isLike: 0
})
}
break;
}
}, 200)
@ -543,7 +564,7 @@
<navigator :url="util.setUrl('/pages/index/videoHome',{userId:item.userId})" class="item pr mb10">
<view class="col">
<image class="wh80 cir" :src="item.avatar" mode="aspectFill" />
<view class="focus pa" v-if="!item.isAttention">
<view class="focus pa" v-if="item.isAttention !== 0">
<image class="wh40" src="@/static/indexAtt.png" mode="aspectFit" />
</view>
</view>
@ -553,7 +574,7 @@
<view class="item">
<view class="col">
<view class="pr">
<template v-if="item.isLike">
<template v-if="item.isLike == 0">
<!-- 公开赞 -->
<image class="wh50" src="/static/indexLike1.png" mode="aspectFit"
v-if="item.likeType == 0" @click="handleLike(index,0, 1)" />

View File

@ -31,6 +31,7 @@
})
onUnmounted(() => {
console.log('onUnmounted')
//
removeListener()
})
@ -46,6 +47,7 @@
//
function removeListener() {
console.log('off selectAddress')
//
uni.$off('selectAddress')
}
@ -59,7 +61,7 @@
</script>
<template>
<view class="address df fdr aic jcc">
<view class="address df fdr aic jcc" v-if="address.id">
<!-- 图标 -->
<view class="icon mr20">
<image class="wh45" src="/static/address.png" mode="aspectFill" />
@ -79,10 +81,15 @@
<!-- 选择地址 -->
<view v-if="shopEdit" class="button btn ti plr20 ml20"
@click="link('/pages/mine/address/index?select=1')">
@click="link('/pages/mine/address/index?select=1&addressId='+address.id)">
<text class="text">选择地址</text>
</view>
</view>
<view class="fmid" @click="link('/pages/mine/address/index?select=1')" v-else>
<text class="c999 f28">暂无默认地址</text>
<uni-icons type="right" color="#999" size="30rpx" />
</view>
</template>
<style lang="scss" scoped>

View File

@ -60,6 +60,8 @@
//
function initRegionIndex() {
console.log('props.province', props.province, province.value)
if(props.province) console.log('true')
if (props.province) {
const provinceIndex = region.findIndex(item => item.regionName == props.province);
regionIndex[0] = provinceIndex;
@ -75,6 +77,12 @@
regionIndex[2] = areaIndex;
}
}
} else {
emit('change', {
province: province.value,
city: city.value,
area: area.value,
});
}
}

View File

@ -10,7 +10,8 @@
defineEmits,
onMounted,
defineProps,
defineExpose
defineExpose,
watch,
} from 'vue'
//
import util from '@/common/js/util.js'
@ -38,7 +39,7 @@
//
const emit = defineEmits(['confirm'])
//
const address = reactive({})
const address = ref({})
//
const spaceIndex = ref(0)
//
@ -59,6 +60,10 @@
return result
})
watch(() => address.value, (nValue) => {
console.log('address', nValue)
})
onMounted(() => {
//
if (props.mode === 'detail') getDefaultAddress()
@ -69,7 +74,7 @@
util.isLogin().then(res => {
api.shop.getDefaultAddress({}).then(res => {
if (res.code === 200) {
if (res.data) Object.assign(address, {}, res.data)
if (res.data) Object.assign(address.value, {}, res.data)
return
}
util.alert({
@ -120,7 +125,7 @@
//
function handleConfirm() {
//
if (props.mode == 'detail' && !address.id) {
if (props.mode == 'detail' && !address.value.id) {
util.alert('请选择收货地址')
return
}
@ -132,7 +137,7 @@
}
//
if (address.id) param.address = address
if (address.value.id) param.address = address.value
emit('confirm', param)
//
@ -166,15 +171,7 @@
<uni-popup type="bottom" ref="payment" @change="handlePopChange">
<view class="buy popBot plr20 bfff">
<view class="address mtb40" v-if="mode === 'detail'">
<template v-if="address.id">
<JyCommodityAddress :address="address" />
</template>
<template v-else>
<view class="fmid" @click="link('/pages/mine/address/index?select=1')">
<text class="c999 f28">暂无默认地址</text>
<uni-icons type="right" color="#999" size="30rpx" />
</view>
</template>
<JyCommodityAddress v-model:address="address" />
</view>
<!-- 商品图 价格 明细 数量 -->

View File

@ -453,7 +453,6 @@
"style": {
"navigationBarTitleText": "账单详情",
"navigationBarBackgroundColor": "#fff"
}
},
{
@ -734,7 +733,7 @@
"path" : "pages/login/freezeAccount",
"style" :
{
"navigationBarTitleText" : "账号挂失"
"navigationBarTitleText" : "账号冻结"
}
},
{

View File

@ -194,7 +194,8 @@
uni.$on('focusUser', (param) => {
if (!param.userId) return
// 重载关注列表
refreshAttList()
if (tab[0].load) refreshAttList()
console.log(param)
// 切换推荐列表的关注状态
for (var index = 0; index < recList.data.length; i++) {
const item = recList.data[index]
@ -323,7 +324,8 @@
const pages = getCurrentPages()
// 判断是否当前页
if (pages[pages.length - 1].route != 'pages/index/index') {
proxy.$refs[`videoRef${tabIndex.value}`][current[tabIndex.value]].playState.value =
proxy.$refs[`videoRef${tabIndex.value}`][current[tabIndex.value]].playState
.value =
false
proxy.$refs[`videoRef${tabIndex.value}`][current[tabIndex.value]].pause()
}
@ -614,6 +616,7 @@
// //点赞 0.点赞 1.取消点赞
isLike: param.isLike,
})
//
api.video.videoLike({
data: {
@ -625,7 +628,7 @@
targetUserId: item.userId,
// 点赞类型 0.公开赞 1.隐私赞
likeType: param.likeType,
// //点赞 0.点赞 1.取消点赞
//点赞 0.点赞 1.取消点赞
isLike: param.isLike,
}
}).then(rs => {

View File

@ -102,19 +102,19 @@
<image class="qr" :src="qrData" mode="aspectFill" />
</view>
<view class="log mtb60 f28" v-if="team.referrerUser">
<view class="log mtb60 f28" v-if="team.referrerReferrerUser">
<view class="title tac f32">上级推荐人</view>
<view class="list">
<view class="item rows mtb20">
<view class="f1">
<view>账户昵称</view>
</view>
<view class="">{{team.referrerUser.userNickname}}</view>
<view class="">{{team.referrerReferrerUser.userNickname}}</view>
</view>
</view>
</view>
<view class="log mtb60 f28" v-if="team.referrerReferrerUser">
<view class="log mtb60 f28" v-if="team.referrerUser">
<view class="title rows">
<view class="f1"></view>
<view class="tac f32 mlr20">我的推荐人</view>
@ -135,7 +135,7 @@
<view class="f1">
<view>账户昵称</view>
</view>
<view class="">{{team.referrerReferrerUser.userNickname}}</view>
<view class="">{{team.referrerUser.userNickname}}</view>
</view>
</view>
</view>
@ -177,8 +177,8 @@
<!-- 内容 -->
<view class="content df aic f1 ptb10">
<view class="line"></view>
<view class="ml10 df aic c999 f28" :class="{'style1': secItem.isShop == 1}">
<view class="count mr20 plr10 cfff br10"></view>
<view class="ml10 df aic c999 f28">
<view class="count mr20 plr10 cfff br10" v-if="secItem.isShop"></view>
<view class="name">{{secItem.userNickname}}</view>
<view class="label ml10">{{secItem.count}}</view>
</view>
@ -250,20 +250,17 @@
//
.content {
.style1 {
// color: #FF8400;
//
.label {
background-image: linear-gradient(144deg, #27EFE2 0%, #A45EFF 43%, #FF004F 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
}
//
// .label {
// background-image: linear-gradient(144deg, #27EFE2 0%, #A45EFF 43%, #FF004F 100%);
// -webkit-background-clip: text;
// -webkit-text-fill-color: transparent;
// background-clip: text;
// text-fill-color: transparent;
// }
//
.count {
background-image: linear-gradient(114deg, #27EFE2 0%, #A45EFF 43%, #FF004F 100%);
}

View File

@ -174,7 +174,7 @@
content: '删除后不可恢复。确认删除?',
}).then(rs => {
// 删除视频
if (rs.confirm) api.video.deleteVideo({
if (rs.confirm) api.video.removeVideo({
data: {
id: detail.id,
}

View File

@ -89,8 +89,6 @@
if (rs.code == 200) {
console.log('userinfo', rs)
const result = rs.data
result.userPortrait = util.format_url(result.userPortrait, 'img')
result.background = util.format_url(result.background, 'img')
Object.assign(detail, result)
return
}
@ -121,11 +119,7 @@
}).then(rs => {
if (rs.code == 200) {
if (listProperty.pageNum == 1) listProperty.data.length = 0
listProperty.data.push(...rs.rows.map(item => {
item.format_videoUrl = util.format_url(item.videoUrl, 'video')
item.format_imageUrl = util.format_url(item.imageUrl, 'img')
return item
}))
listProperty.data.push(...rs.rows)
listProperty.total = rs.total
return
}
@ -168,26 +162,30 @@
//
function handleAttention() {
let targetAtt = detail.isAttention == 0 ? 1 : 0
api.video.attention({
data: {
// id
userId: userinfo.value.id,
// id
attentionId: detail.id,
isAttention: detail.isAttention ? 1 : 0,
//
isAttention: targetAtt,
}
}).then(rs => {
if (rs.code == 200) {
//
detail.isAttention = !detail.isAttention
detail.isAttention = targetAtt
//
getUserinfo()
//
uni.$emit('focusUser', {
userId: detail.userId,
result: detail.isAttention,
})
//
uni.$emit('updateFocusList')
return
}
util.alert({
@ -300,7 +298,7 @@
<!-- 关注按钮 -->
<view class="btns df">
<template v-if="detail.isAttention">
<template v-if="detail.isAttention == 0">
<view class="btn lg cancel f1" @click="handleAttention">已关注</view>
<view class="btn lg cancel f1 ml20" @click="handleMessage">私信</view>
</template>

View File

@ -55,12 +55,16 @@
})
//
const select = ref('')
// id
const selectAddressId = ref('')
//
const userinfo = computed(() => store.state.userinfo)
onLoad((option) => {
//
if (option.select) select.value = option.select
//
if (option.addressId) selectAddressId.value = option.addressId
//
getList()
})
@ -158,6 +162,7 @@
data,
}).then(rs => {
if (rs.code == 200) {
uni.$emit('selectAddress', rs.data)
//
proxy.$refs.add.close()
//
@ -215,6 +220,7 @@
},
}).then(rs => {
if (rs.code == 200) {
uni.$emit('selectAddress', item)
//
refreshList()
return
@ -231,7 +237,6 @@
* @param {Object} item 点击的列表项
*/
function handleUpdate(item) {
console.log(item)
//
formData.id = item.id
//id
@ -280,6 +285,12 @@
}).then(rs => {
if (rs.code == 200) {
list.data.splice(index, 1)
// id
if (selectAddressId.value === item.id) {
uni.$emit('selectAddress', {})
return
}
return
}
util.alert({

View File

@ -123,7 +123,7 @@
//
data.check = CryptoJS.MD5(data.check).toString()
//
//
api.mine.checkSecondLevelCipher({
data: {
id: userinfo.value.id,
@ -133,6 +133,7 @@
if (rs.code == 200) {
form.check = ''
mode.value = 'pwd'
formKey.value = 'pwd'
return
}
util.alert({

View File

@ -12,7 +12,8 @@
getCurrentInstance,
} from 'vue'
import {
onLoad
onLoad,
onUnload,
} from '@dcloudio/uni-app'
import {
useStore,
@ -31,9 +32,28 @@
})
onLoad(() => {
//
addListener()
getFriendList()
})
onUnload(() => {
//
removeListener()
})
//
function addListener() {
uni.$emit('updateFocusList', () => {
refreshFriendList()
})
}
//
function removeListener() {
uni.$off('updateFocusList')
}
//
function refreshFriendList() {
userList.pageNum = 1

View File

@ -55,6 +55,7 @@ changeMine 切换个人中心
login 登录
logout 登出
focusUser 关注用户
updateFocusList 更新关注列表
updateVideo 触发视频修改
collectsVideo 收藏夹视频端
commentVideo 视频评论
@ -176,15 +177,6 @@ register
isShop
1
即时通讯 发红包
积分 余额
消息添加红包功能
群(拼手气 积分/余额)
单人(单个金额 积分/余额)
录入红包祝福语
选择红包封面
输入支付密码
---
我的交易
添加订单按钮 交易 取消
@ -193,14 +185,8 @@ isShop
交易市场确认支付之后需要输入支队密码
成功之后查看详情
首页闹钟改为 倒计时闹钟 和 计时闹钟
新增取消闹钟的按钮
我的
放我的评论 视频评论/商品评论 选择公开(放入统计)、隐藏(别人看不到) 、匿名(每条消耗榴莲果) 三天内可编辑(删除、修改属性)
商品详情增加商品修改记录
用户发布视频三个阶段
1 上传成功 但是不加入推荐池子 可以分享给朋友 不会获得任何的推广
2 后台审核成功 加入推荐池子
@ -213,17 +199,6 @@ isShop
置换弹窗提示需要的对应数量 数量不足无法置换
置换完成之后同步数据
首页视频随比例修改填充方式
购买卷轴、榴莲果增加弹窗
17000000028
21
任务有效读秒上限 300 最后一秒判断是否实名
未实名显示灰色小树苗 作为实名入口
已实名 只展示小树苗特效
用户属性
年龄
学历
@ -260,7 +235,7 @@ call_type 通话类型 2为视频1是音频
微信
第三方
购买卷轴 开关
购买卷轴 支付方式开关
余额
积分
@ -338,7 +313,6 @@ call_type 通话类型 2为视频1是音频
会员购买产品 售前售中(商家待入账) 结束售后结算
三天内可以删除 超过这个时间则不能修改
优先钱包
提现选择收款方式
商家钱包的状态主要是
@ -349,43 +323,12 @@ call_type 通话类型 2为视频1是音频
1 商家账单 包含 入账状态
2 商家提现 提现到钱包
长按二倍速
选择视频截帧
type
0 非好友
1 好友
评论列表
likeType
0 已点赞
1 未点赞
生成订单到平台客服 平台客服去跟进订单
1 充值
2 提现
3 商家入驻 并且发布商品
4 视频上传 挂商品
5 推流 榴莲果置换流量
6 商品分享到im
7 商家和用户进行交流
用户订单状态
订单状态
0待支付
1待发货
4待收货
5已收货
6已完成
9已取消
收藏 改成只能查看列表
金额显示的状态和商家同步
买家进行付款之后 卖家显示是待结算
分润相关的人显示待结算
@ -407,32 +350,10 @@ likeType
3. 钱包明细
商家入驻之后 所以得都在后台管理申请子账号 5个之内 随意申请 5个之外需要提交申请 商家可以对自己的子账号进行管理
账号 昵称 密码 订单权限 删除
商家客服可以和平台用户聊天 根据权限管理该商户下的订单 处理订单售后
平台建立子账号 做官方客服
账号 昵称 密码 删除 管理所有用户发起平台介入的订单
登录app和用户聊天
子账号不能登录app 并且区分身份标识
商品评论
点赞
收藏
青少年模式
闹钟
有效读秒
任务读秒
商品上传
购买流程
商家和会员之间进行沟通
购买卷轴榴莲果树释放
榴莲果兑换展播量
评论集合 查看他人评论消耗榴莲果

View File

@ -4,7 +4,7 @@ import {
import uni from '@dcloudio/vite-plugin-uni';
let target = 'http://91f.xyz:8080'
// let target = 'http://yg4ak8.natappfree.cc'
// let target = 'http://hvw2rn.natappfree.cc'
export default defineConfig({
plugins: [uni()],