举报 拉黑 查看评论
This commit is contained in:
commit
e0f2b6be60
|
@ -2,3 +2,4 @@
|
||||||
/jiuyi/unpackage
|
/jiuyi/unpackage
|
||||||
/jiuyi2/.hbuilderx
|
/jiuyi2/.hbuilderx
|
||||||
/jiuyi/.hbuilderx
|
/jiuyi/.hbuilderx
|
||||||
|
unpackage
|
||||||
|
|
|
@ -354,6 +354,7 @@ const mine = {
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
<<<<<<< HEAD
|
||||||
* 解锁他人评论
|
* 解锁他人评论
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
|
@ -362,10 +363,23 @@ const mine = {
|
||||||
url: `/video/comment/unlockOthersComment`,
|
url: `/video/comment/unlockOthersComment`,
|
||||||
data: param,
|
data: param,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
|
=======
|
||||||
|
* 查看已绑定的银行卡列表
|
||||||
|
* @param {Object} param
|
||||||
|
*/
|
||||||
|
getBankCards(param) {
|
||||||
|
return util.request({
|
||||||
|
url: '/user/bank-cards/getBankCards',
|
||||||
|
data: param.data,
|
||||||
|
query: param.query,
|
||||||
|
method: 'GET',
|
||||||
|
load: true,
|
||||||
|
>>>>>>> 0a930aa1702a2566cc55bb62dad90293c20f3b0d
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
<<<<<<< HEAD
|
||||||
* 拉黑
|
* 拉黑
|
||||||
* @param {Object} param
|
* @param {Object} param
|
||||||
*/
|
*/
|
||||||
|
@ -374,6 +388,31 @@ const mine = {
|
||||||
url: `/video/statistics/block`,
|
url: `/video/statistics/block`,
|
||||||
data: param,
|
data: param,
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
|
=======
|
||||||
|
* 添加银行卡
|
||||||
|
* @param {Object} param
|
||||||
|
*/
|
||||||
|
addBankCard(param) {
|
||||||
|
return util.request({
|
||||||
|
url: '/user/bank-cards/addBankCard',
|
||||||
|
data: param.data,
|
||||||
|
query: param.query,
|
||||||
|
method: 'POST',
|
||||||
|
load: true,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除银行卡
|
||||||
|
* @param {Object} param
|
||||||
|
*/
|
||||||
|
deleteBankCard(param) {
|
||||||
|
return util.request({
|
||||||
|
url: '/user/bank-cards/deleteBankCard',
|
||||||
|
path: param.path,
|
||||||
|
method: 'DELETE',
|
||||||
|
load: true,
|
||||||
|
>>>>>>> 0a930aa1702a2566cc55bb62dad90293c20f3b0d
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,9 +6,13 @@ const config = {
|
||||||
// host: 'h5api',
|
// host: 'h5api',
|
||||||
// #endif
|
// #endif
|
||||||
// #ifndef H5
|
// #ifndef H5
|
||||||
|
<<<<<<< HEAD
|
||||||
// host: 'http://91f.xyz:8080',
|
// host: 'http://91f.xyz:8080',
|
||||||
// host: 'https://1a880cd5.r24.cpolar.top/',
|
// host: 'https://1a880cd5.r24.cpolar.top/',
|
||||||
host: 'http://aere2w.natappfree.cc',
|
host: 'http://aere2w.natappfree.cc',
|
||||||
|
=======
|
||||||
|
host: 'http://91f.xyz:8080',
|
||||||
|
>>>>>>> 0a930aa1702a2566cc55bb62dad90293c20f3b0d
|
||||||
// #endif
|
// #endif
|
||||||
// 支付方式配置
|
// 支付方式配置
|
||||||
payType: {
|
payType: {
|
||||||
|
|
|
@ -213,7 +213,7 @@ const util = {
|
||||||
responseType: params.responseType || 'text',
|
responseType: params.responseType || 'text',
|
||||||
// 请求成功返回
|
// 请求成功返回
|
||||||
success: res => {
|
success: res => {
|
||||||
// console.log('request success', url, res, params.data ? params.data : '')
|
console.log('request success', url, res, params.data ? params.data : '')
|
||||||
// 关闭加载效果
|
// 关闭加载效果
|
||||||
if (params.load) {
|
if (params.load) {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
|
@ -224,8 +224,7 @@ const util = {
|
||||||
// 登出
|
// 登出
|
||||||
util.logout(() => {
|
util.logout(() => {
|
||||||
util.alert('请先登录')
|
util.alert('请先登录')
|
||||||
reject(res.data) // 链式回调0
|
reject(res.data)
|
||||||
|
|
||||||
// uni.reLaunch({
|
// uni.reLaunch({
|
||||||
// url: '/login/login',
|
// url: '/login/login',
|
||||||
// })
|
// })
|
||||||
|
@ -235,7 +234,6 @@ const util = {
|
||||||
params.success ? params.success(res.data) : ''
|
params.success ? params.success(res.data) : ''
|
||||||
// 链式回调
|
// 链式回调
|
||||||
resolve(res.data);
|
resolve(res.data);
|
||||||
|
|
||||||
},
|
},
|
||||||
// 请求失败返回
|
// 请求失败返回
|
||||||
fail: res => {
|
fail: res => {
|
||||||
|
@ -1410,17 +1408,17 @@ const util = {
|
||||||
* @param {Function} cb 回调函数
|
* @param {Function} cb 回调函数
|
||||||
*/
|
*/
|
||||||
finalLogin(param, cb) {
|
finalLogin(param, cb) {
|
||||||
try {
|
// 登录令牌
|
||||||
// 登录令牌
|
const token = param.data
|
||||||
const token = param.data
|
// 缓存token
|
||||||
// 缓存token
|
uni.setStorageSync('token', token)
|
||||||
uni.setStorageSync('token', token)
|
console.log('set token', token)
|
||||||
|
|
||||||
// 开启加载
|
|
||||||
uni.showLoading({
|
|
||||||
mask: true
|
|
||||||
})
|
|
||||||
|
|
||||||
|
// 开启加载
|
||||||
|
uni.showLoading({
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
setTimeout(() => {
|
||||||
// 获取用户信息
|
// 获取用户信息
|
||||||
util.getUserinfo((userinfo) => {
|
util.getUserinfo((userinfo) => {
|
||||||
// 登录
|
// 登录
|
||||||
|
@ -1435,9 +1433,7 @@ const util = {
|
||||||
//
|
//
|
||||||
cb ? cb() : ''
|
cb ? cb() : ''
|
||||||
})
|
})
|
||||||
} catch (ev) {
|
}, 500)
|
||||||
console.log('finalLogin catch', ev)
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 登录腾讯聊天
|
// 登录腾讯聊天
|
||||||
|
|
|
@ -57,7 +57,6 @@
|
||||||
|
|
||||||
// 加载更多列表
|
// 加载更多列表
|
||||||
function getMoreList() {
|
function getMoreList() {
|
||||||
console.log('getMoreList', listPrototype)
|
|
||||||
if (listPrototype.total <= listPrototype.data.length) return
|
if (listPrototype.total <= listPrototype.data.length) return
|
||||||
listPrototype.pageNum++
|
listPrototype.pageNum++
|
||||||
getList()
|
getList()
|
||||||
|
|
|
@ -158,7 +158,10 @@
|
||||||
<view class="li mtb30" v-for="(item,index) in team.sonUser" :key="item.id">
|
<view class="li mtb30" v-for="(item,index) in team.sonUser" :key="item.id">
|
||||||
<view class="menber df aic">
|
<view class="menber df aic">
|
||||||
<view class="count mr20 plr10 cfff br10" v-if="item.isShop == 1">商</view>
|
<view class="count mr20 plr10 cfff br10" v-if="item.isShop == 1">商</view>
|
||||||
<view class="c333 f32">{{item.userNickname}}{{item.isShop}}</view>
|
<view class="c333 f32">
|
||||||
|
<text class="name" :class="{'auth': item.isRealName}">{{item.userNickname}}</text>
|
||||||
|
<text class="ml20" v-if="item.sonList.length != 0">{{item.sonList.length}}</text>
|
||||||
|
</view>
|
||||||
<template v-if="item.sonList[0]">
|
<template v-if="item.sonList[0]">
|
||||||
<uni-icons @click="lowTeam(item)" type="up" color="#A45EFF" size="28rpx"
|
<uni-icons @click="lowTeam(item)" type="up" color="#A45EFF" size="28rpx"
|
||||||
v-if="item.showSecond" />
|
v-if="item.showSecond" />
|
||||||
|
@ -180,8 +183,9 @@
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
<view class="ml10 df aic c999 f28">
|
<view class="ml10 df aic c999 f28">
|
||||||
<view class="count mr20 plr10 cfff br10" v-if="secItem.isShop == 1">商</view>
|
<view class="count mr20 plr10 cfff br10" v-if="secItem.isShop == 1">商</view>
|
||||||
<view class="name">{{secItem.userNickname}}</view>
|
<text class="name"
|
||||||
<view class="label ml10">{{secItem.count}}</view>
|
:class="{'auth': secItem.isRealName}">{{secItem.userNickname}}</text>
|
||||||
|
<view class="label ml20" v-if="secItem.count != 0">{{secItem.count}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -228,6 +232,15 @@
|
||||||
background-image: linear-gradient(114deg, #27EFE2 0%, #A45EFF 43%, #FF004F 100%);
|
background-image: linear-gradient(114deg, #27EFE2 0%, #A45EFF 43%, #FF004F 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 实名
|
||||||
|
.name {
|
||||||
|
color: #FF8400;
|
||||||
|
|
||||||
|
&.auth {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 二级列表
|
// 二级列表
|
||||||
.list {
|
.list {
|
||||||
padding-left: .5em;
|
padding-left: .5em;
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
import util from '@/common/js/util';
|
import util from '@/common/js/util';
|
||||||
// api
|
// api
|
||||||
import api from '@/api/index.js'
|
import api from '@/api/index.js'
|
||||||
|
// 手机状态栏
|
||||||
|
import statusBar from '@/components/header/statusBar.vue';
|
||||||
// 首页视频
|
// 首页视频
|
||||||
import indexVideo from '@/components/index/indexVideo.vue'
|
import indexVideo from '@/components/index/indexVideo.vue'
|
||||||
// 评论弹窗
|
// 评论弹窗
|
||||||
|
@ -258,15 +260,41 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回
|
||||||
|
*/
|
||||||
|
function handleBack() {
|
||||||
|
const pages = getCurrentPages()
|
||||||
|
|
||||||
|
// 如果页面栈数量大于1
|
||||||
|
if (pages.length > 1) {
|
||||||
|
uni.navigateBack()
|
||||||
|
} else {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/index/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="page f1">
|
<view class="page f1">
|
||||||
|
<view class="apex">
|
||||||
|
<statusBar />
|
||||||
|
|
||||||
|
<view class="head df fdr jcsb">
|
||||||
|
<view class="back" @click="handleBack">
|
||||||
|
<uni-icons type="left" color="#fff" size="40rpx" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<indexVideo ref="indexVideo" :statistic="statistic" :item="detail" :tabIndex="0" :isMine="isMine" :index="0"
|
<indexVideo ref="indexVideo" :statistic="statistic" :item="detail" :tabIndex="0" :isMine="isMine" :index="0"
|
||||||
:current="0" mode="detail" @showComment="handleShowCommentAlt" @showCollect="handleShowCollectAlt"
|
:current="0" mode="detail" @showComment="handleShowCommentAlt" @showCollect="handleShowCollectAlt"
|
||||||
@showShareFirend="handleShowShareFirend" @like="videoLike" @detailMenu="detailMenu"
|
@showShareFirend="handleShowShareFirend" @like="videoLike" @detailMenu="detailMenu"
|
||||||
@dataCenter="handleDataCenter"@showProduct="handleShowProduct" @proBuy="handleProBuy" />
|
@dataCenter="handleDataCenter" @showProduct="handleShowProduct" @proBuy="handleProBuy" />
|
||||||
|
|
||||||
<!-- 评论弹窗 -->
|
<!-- 评论弹窗 -->
|
||||||
<commentAlt ref="commentRef" />
|
<commentAlt ref="commentRef" />
|
||||||
|
@ -274,13 +302,27 @@
|
||||||
<collectAlt ref="collectRef" />
|
<collectAlt ref="collectRef" />
|
||||||
<!-- 分享到好友弹窗 -->
|
<!-- 分享到好友弹窗 -->
|
||||||
<shareFirendAlt ref="shareFirendRef" />
|
<shareFirendAlt ref="shareFirendRef" />
|
||||||
<!-- 产品详情弹窗 -->
|
<!-- 产品详情弹窗 -->
|
||||||
<productAlt ref="productAltRef" @buy="handleProductBuy" />
|
<productAlt ref="productAltRef" @buy="handleProductBuy" />
|
||||||
<!-- 产品立即下单弹窗 -->
|
<!-- 产品立即下单弹窗 -->
|
||||||
<productSpecAlt ref="productSpecAltRef" :detail="productDetail" @confirm="handlePay" />
|
<productSpecAlt ref="productSpecAltRef" :detail="productDetail" @confirm="handlePay" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
//
|
// 顶部
|
||||||
|
.apex {
|
||||||
|
position: fixed;
|
||||||
|
top: 0%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
|
||||||
|
// 返回
|
||||||
|
.back {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
background-color: rgba(0, 0, 0, .8);
|
||||||
|
border-radius: 100rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -7,6 +7,7 @@
|
||||||
ref,
|
ref,
|
||||||
getCurrentInstance,
|
getCurrentInstance,
|
||||||
reactive,
|
reactive,
|
||||||
|
computed,
|
||||||
} from 'vue'
|
} from 'vue'
|
||||||
import {
|
import {
|
||||||
onLoad,
|
onLoad,
|
||||||
|
@ -16,6 +17,8 @@
|
||||||
import util from '@/common/js/util';
|
import util from '@/common/js/util';
|
||||||
// api
|
// api
|
||||||
import api from '@/api/index.js'
|
import api from '@/api/index.js'
|
||||||
|
// 手机状态栏
|
||||||
|
import statusBar from '@/components/header/statusBar.vue';
|
||||||
// 首页视频
|
// 首页视频
|
||||||
import indexVideo from '@/components/index/indexVideo.vue'
|
import indexVideo from '@/components/index/indexVideo.vue'
|
||||||
// 评论弹窗
|
// 评论弹窗
|
||||||
|
@ -24,6 +27,10 @@
|
||||||
import collectAlt from '@/components/index/collect.vue'
|
import collectAlt from '@/components/index/collect.vue'
|
||||||
// 分享到好友弹窗
|
// 分享到好友弹窗
|
||||||
import shareFirendAlt from '@/components/index/shareFirend.vue'
|
import shareFirendAlt from '@/components/index/shareFirend.vue'
|
||||||
|
// 产品详情弹窗
|
||||||
|
import productAlt from '@/components/index/proDetailAlt.vue'
|
||||||
|
// 产品规格弹窗
|
||||||
|
import productSpecAlt from '@/components/shop/detail/makeOrder.vue'
|
||||||
|
|
||||||
const {
|
const {
|
||||||
proxy
|
proxy
|
||||||
|
@ -34,11 +41,17 @@
|
||||||
const detail = reactive({})
|
const detail = reactive({})
|
||||||
// 是否是自己
|
// 是否是自己
|
||||||
const isMine = ref(false)
|
const isMine = ref(false)
|
||||||
|
// 显示统计
|
||||||
|
const statistic = ref('0')
|
||||||
|
// 用户信息
|
||||||
|
const userinfo = computed(() => uni.$store.state.userinfo)
|
||||||
|
|
||||||
onLoad((option) => {
|
onLoad((option) => {
|
||||||
if (option.videoId) videoId.value = option.videoId
|
if (option.videoId) videoId.value = option.videoId
|
||||||
// 是否我的作品
|
// 是否我的作品
|
||||||
if (option.isMine && option.isMine != 'false') isMine.value = option.isMine
|
if (option.isMine && option.isMine != 'false') isMine.value = option.isMine
|
||||||
|
// 是否显示统计
|
||||||
|
if (option.statistic) statistic.value = option.statistic
|
||||||
|
|
||||||
// 获取视频详情
|
// 获取视频详情
|
||||||
getVideoDetail()
|
getVideoDetail()
|
||||||
|
@ -64,12 +77,7 @@
|
||||||
}
|
}
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
const result = rs.data
|
Object.assign(detail, rs.data)
|
||||||
|
|
||||||
result.format_videoUrl = util.format_url(result.videoUrl, 'video')
|
|
||||||
result.format_header = util.format_url(result.header, 'img')
|
|
||||||
|
|
||||||
Object.assign(detail, result)
|
|
||||||
|
|
||||||
// 播放视频
|
// 播放视频
|
||||||
proxy.$refs.indexVideo.play()
|
proxy.$refs.indexVideo.play()
|
||||||
|
@ -107,41 +115,38 @@
|
||||||
proxy.$refs.shareFirendRef.open()
|
proxy.$refs.shareFirendRef.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 视频点赞
|
* 视频点赞
|
||||||
* @param {Object} param 见下
|
* @param {Object} param 见下
|
||||||
* @param {Number} param.index 操作的视频下标
|
* @param {Number} param.index 操作的视频下标
|
||||||
* @param {Number|String} param.isLike 点赞操作
|
* @param {Number|String} param.isLike 0.点赞 1.取消点赞
|
||||||
|
* @param {Number|String} param.likeType 点赞类型 0.公开赞 1.隐私赞
|
||||||
*/
|
*/
|
||||||
function videoLike(param) {
|
function videoLike(param) {
|
||||||
const {
|
|
||||||
index,
|
|
||||||
isLike
|
|
||||||
} = param
|
|
||||||
const item = detail
|
const item = detail
|
||||||
// 操作状态
|
const data = {
|
||||||
let type = 1
|
// 视频id
|
||||||
// 0未点赞 1已点赞 3私密赞
|
videoId: item.id,
|
||||||
if (item.isLike == 0) type = isLike
|
// 点赞用户id
|
||||||
|
likeUserId: userinfo.value.id,
|
||||||
|
// 被点赞用户id
|
||||||
|
targetUserId: item.userId,
|
||||||
|
// 点赞类型 0.公开赞 1.隐私赞
|
||||||
|
likeType: param.likeType,
|
||||||
|
// //点赞 0.点赞 1.取消点赞
|
||||||
|
isLike: param.isLike,
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
api.video.videoLike({
|
api.video.videoLike({
|
||||||
query: {
|
data,
|
||||||
// 0赞1取消赞 3私密赞
|
|
||||||
type,
|
|
||||||
// 视频id
|
|
||||||
videoId: item.videoId,
|
|
||||||
}
|
|
||||||
}).then(rs => {
|
}).then(rs => {
|
||||||
if (rs.code == 200) {
|
if (rs.code == 200) {
|
||||||
// 同步点赞状态
|
uni.$emit('updateVideo', {
|
||||||
item.isLike = {
|
...item,
|
||||||
0: 1,
|
...rs.data,
|
||||||
1: 0,
|
})
|
||||||
3: 3,
|
|
||||||
} [type]
|
|
||||||
// 取消减数量 否则增加
|
|
||||||
type == 1 ? item.likes-- : item.likes++
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
util.alert({
|
util.alert({
|
||||||
|
@ -206,17 +211,90 @@
|
||||||
* @param {Object} detail
|
* @param {Object} detail
|
||||||
*/
|
*/
|
||||||
function handleDataCenter(detail) {
|
function handleDataCenter(detail) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: util.setUrl('/pages/index/dataCenter/dataCenter', {
|
||||||
|
videoId: detail.id,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打开产品弹窗
|
||||||
|
* @param {Object} item 视频列表项
|
||||||
|
*/
|
||||||
|
function handleShowProduct(item) {
|
||||||
|
// 打开产品详情弹窗
|
||||||
|
proxy.$refs.productAltRef.init(item.productId)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品弹窗购买
|
||||||
|
* @param {Object} product
|
||||||
|
*/
|
||||||
|
function handleProductBuy(product) {
|
||||||
|
Object.assign(productDetail, {}, product)
|
||||||
//
|
//
|
||||||
|
proxy.$refs.productSpecAltRef.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品购买
|
||||||
|
* @param {Object} video 视频列表
|
||||||
|
*/
|
||||||
|
function handleProBuy(video) {
|
||||||
|
// 获取商品详情
|
||||||
|
api.shop.productDetail({
|
||||||
|
query: {
|
||||||
|
// 产品id
|
||||||
|
productionId: video.productId,
|
||||||
|
},
|
||||||
|
}).then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
//
|
||||||
|
handleProductBuy(rs.data)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 返回
|
||||||
|
*/
|
||||||
|
function handleBack() {
|
||||||
|
const pages = getCurrentPages()
|
||||||
|
|
||||||
|
// 如果页面栈数量大于1
|
||||||
|
if (pages.length > 1) {
|
||||||
|
uni.navigateBack()
|
||||||
|
} else {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/pages/index/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="page f1">
|
<view class="page f1">
|
||||||
|
<view class="apex">
|
||||||
|
<statusBar />
|
||||||
|
|
||||||
|
<view class="head df fdr jcsb">
|
||||||
|
<view class="back" @click="handleBack">
|
||||||
|
<uni-icons type="left" color="#fff" size="40rpx" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<indexVideo ref="indexVideo" :statistic="1" :item="detail" :tabIndex="0" :isMine="isMine" :index="0"
|
<indexVideo ref="indexVideo" :statistic="statistic" :item="detail" :tabIndex="0" :isMine="isMine" :index="0"
|
||||||
:current="0" mode="detail" @showComment="handleShowCommentAlt" @showCollect="handleShowCollectAlt"
|
:current="0" mode="detail" @showComment="handleShowCommentAlt" @showCollect="handleShowCollectAlt"
|
||||||
@showShareFirend="handleShowShareFirend" @like="videoLike" @detailMenu="detailMenu"
|
@showShareFirend="handleShowShareFirend" @like="videoLike" @detailMenu="detailMenu"
|
||||||
@dataCenter="handleDataCenter" />
|
@dataCenter="handleDataCenter" @showProduct="handleShowProduct" @proBuy="handleProBuy" />
|
||||||
|
|
||||||
<!-- 评论弹窗 -->
|
<!-- 评论弹窗 -->
|
||||||
<commentAlt ref="commentRef" />
|
<commentAlt ref="commentRef" />
|
||||||
|
@ -224,9 +302,27 @@
|
||||||
<collectAlt ref="collectRef" />
|
<collectAlt ref="collectRef" />
|
||||||
<!-- 分享到好友弹窗 -->
|
<!-- 分享到好友弹窗 -->
|
||||||
<shareFirendAlt ref="shareFirendRef" />
|
<shareFirendAlt ref="shareFirendRef" />
|
||||||
|
<!-- 产品详情弹窗 -->
|
||||||
|
<productAlt ref="productAltRef" @buy="handleProductBuy" />
|
||||||
|
<!-- 产品立即下单弹窗 -->
|
||||||
|
<productSpecAlt ref="productSpecAltRef" :detail="productDetail" @confirm="handlePay" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
//
|
// 顶部
|
||||||
|
.apex {
|
||||||
|
position: fixed;
|
||||||
|
top: 0%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
|
||||||
|
// 返回
|
||||||
|
.back {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
background-color: rgba(0, 0, 0, .8);
|
||||||
|
border-radius: 100rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -35,6 +35,7 @@ const userinfo = computed(() => {
|
||||||
return store.state.userinfo
|
return store.state.userinfo
|
||||||
})
|
})
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
onLoad((option) => {
|
onLoad((option) => {
|
||||||
if (option.userId) {
|
if (option.userId) {
|
||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
|
@ -43,6 +44,53 @@ onLoad((option) => {
|
||||||
getList(option.userId)
|
getList(option.userId)
|
||||||
} else {
|
} else {
|
||||||
getList()
|
getList()
|
||||||
|
=======
|
||||||
|
onLoad(() => {
|
||||||
|
getLst()
|
||||||
|
})
|
||||||
|
|
||||||
|
// 重载视频列表
|
||||||
|
function refreshVideoList() {
|
||||||
|
list.pageNum = 1
|
||||||
|
list.total = 0
|
||||||
|
getLst()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取更多视频列表
|
||||||
|
function getMoreVideoList() {
|
||||||
|
if (list.data.length >= list.total) return
|
||||||
|
list.pageNum++
|
||||||
|
getLst()
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取我的评论
|
||||||
|
function getLst() {
|
||||||
|
api.mine.myComment({
|
||||||
|
query: {
|
||||||
|
userId: userinfo.value.id,
|
||||||
|
pageNum: list.pageNum,
|
||||||
|
pageSize: list.pageSize,
|
||||||
|
}
|
||||||
|
}).then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
if (list.pageNum) list.data.length = 0
|
||||||
|
// 追加视频列表
|
||||||
|
list.data.push(...rs.rows.map(item => {
|
||||||
|
return item
|
||||||
|
}))
|
||||||
|
// 视频列表
|
||||||
|
list.total = rs.total
|
||||||
|
console.log('list', list.data)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
}).finally(() => {
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
})
|
||||||
|
>>>>>>> 0a930aa1702a2566cc55bb62dad90293c20f3b0d
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,5 +1,82 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
// 我的银行卡
|
// 我的银行卡
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
computed,
|
||||||
|
reactive,
|
||||||
|
} from 'vue'
|
||||||
|
import {
|
||||||
|
useStore
|
||||||
|
} from 'vuex'
|
||||||
|
import {
|
||||||
|
onLoad,
|
||||||
|
onUnload,
|
||||||
|
} from '@dcloudio/uni-app'
|
||||||
|
// 工具库
|
||||||
|
import util from '@/common/js/util.js'
|
||||||
|
// api
|
||||||
|
import api from '@/api/index.js'
|
||||||
|
// 列表
|
||||||
|
const list = reactive([])
|
||||||
|
// 滑动菜单
|
||||||
|
const options = reactive([{
|
||||||
|
text: '解绑',
|
||||||
|
style: {
|
||||||
|
backgroundColor: '#007aff'
|
||||||
|
},
|
||||||
|
cb: (event) => removeBank(event)
|
||||||
|
}])
|
||||||
|
|
||||||
|
onLoad(() => {
|
||||||
|
// 获取列表
|
||||||
|
getList()
|
||||||
|
// 开启监听
|
||||||
|
addListener()
|
||||||
|
})
|
||||||
|
|
||||||
|
onUnload(() => {
|
||||||
|
// 关闭监听
|
||||||
|
removeListener()
|
||||||
|
})
|
||||||
|
|
||||||
|
// 开启监听
|
||||||
|
function addListener() {
|
||||||
|
uni.$on('updateBindingBank', () => {
|
||||||
|
// 获取列表
|
||||||
|
getList()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭监听
|
||||||
|
function removeListener() {
|
||||||
|
uni.$off('updateBindingBank')
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取列表
|
||||||
|
function getList() {
|
||||||
|
api.mine.getBankCards({}).then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
Object.assign(list, rs.data)
|
||||||
|
list.push({
|
||||||
|
bankName: "建设银行",
|
||||||
|
cardHolderName: "商旭",
|
||||||
|
cardId: "1",
|
||||||
|
cardNumber: "6217002270031535710",
|
||||||
|
cardType: "DEBIT",
|
||||||
|
createTime: null,
|
||||||
|
delFlag: "0",
|
||||||
|
isDefault: null,
|
||||||
|
updateTime: null,
|
||||||
|
userId: 13,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 跳转
|
// 跳转
|
||||||
function link(url) {
|
function link(url) {
|
||||||
|
@ -7,18 +84,60 @@
|
||||||
url,
|
url,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 右滑菜单项点击
|
||||||
|
* @param {Object} event
|
||||||
|
*/
|
||||||
|
function handleItem(event, item) {
|
||||||
|
console.log('event', event, item)
|
||||||
|
item.cb(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除银行卡
|
||||||
|
* @param {Object} item 银行卡信息
|
||||||
|
*/
|
||||||
|
function removeBank(item) {
|
||||||
|
util.alert({
|
||||||
|
content: '删除后不可恢复,确认删除?',
|
||||||
|
}).then(rs => {
|
||||||
|
api.mine.deleteBankCard({
|
||||||
|
path: [item.cardId],
|
||||||
|
}).then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
// 获取列表
|
||||||
|
getList()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="app">
|
<view class="app">
|
||||||
<view class="list">
|
<view class="list">
|
||||||
<view class="card item" v-for="(item,index) in 3" :key="index">
|
<uni-swipe-action ref="swipeAction">
|
||||||
<view class="name">很行银行</view>
|
<view class="card item" v-for="(item,index) in list" :key="index">
|
||||||
<view class="type">储蓄卡</view>
|
<uni-swipe-action-item :right-options="options" @click="handleItem($event,item)">
|
||||||
<view class="number">**** **** **** 0896</view>
|
<view class="main ptb30 plr40">
|
||||||
</view>
|
<view class="name">{{item.bankName}}</view>
|
||||||
|
<view class="type">
|
||||||
|
<text v-if="item.cardType == 'DEBIT'">储蓄卡</text>
|
||||||
|
<text v-else-if="item.cardType == 'CREDIT'">信用卡</text>
|
||||||
|
</view>
|
||||||
|
<view class="number">{{item.cardNumber}}</view>
|
||||||
|
</view>
|
||||||
|
</uni-swipe-action-item>
|
||||||
|
</view>
|
||||||
|
</uni-swipe-action>
|
||||||
|
|
||||||
<view class="item add rows" @click="link('/pages/mine/setting/bankCardAdd')">
|
<view class="item add rows ptb30 plr40" @click="link('/pages/mine/setting/bankCardAdd')">
|
||||||
<view>添加银行卡</view>
|
<view>添加银行卡</view>
|
||||||
<uni-icons type="right" color="#999" />
|
<uni-icons type="right" color="#999" />
|
||||||
</view>
|
</view>
|
||||||
|
@ -27,10 +146,11 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
// 列表
|
||||||
.list {
|
.list {
|
||||||
.item {
|
.item {
|
||||||
|
overflow: hidden;
|
||||||
margin: 20rpx;
|
margin: 20rpx;
|
||||||
padding: 30rpx 40rpx;
|
|
||||||
border-radius: 25rpx;
|
border-radius: 25rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,83 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
// 添加银行卡
|
// 添加银行卡
|
||||||
import {
|
import {
|
||||||
reactive
|
ref,
|
||||||
} from 'vue';
|
reactive,
|
||||||
|
computed,
|
||||||
|
} from 'vue'
|
||||||
|
import {
|
||||||
|
useStore
|
||||||
|
} from 'vuex'
|
||||||
|
import {
|
||||||
|
onLoad,
|
||||||
|
} from '@dcloudio/uni-app'
|
||||||
|
// 工具库
|
||||||
|
import util from '@/common/js/util.js'
|
||||||
|
// api
|
||||||
|
import api from '@/api/index.js'
|
||||||
|
// 获取验证码
|
||||||
import getCode from '@/components/getCode/getCode'
|
import getCode from '@/components/getCode/getCode'
|
||||||
|
|
||||||
// 银行卡列表
|
// 银行卡列表
|
||||||
const bankList = reactive([
|
const bankList = reactive([])
|
||||||
{
|
// 表单对象
|
||||||
name: '银行卡1',
|
const form = reactive({
|
||||||
},
|
cardNumber: '',
|
||||||
{
|
phoneNumber: '',
|
||||||
name: '银行卡2',
|
userIdCard: '',
|
||||||
},
|
userRealName: '',
|
||||||
{
|
})
|
||||||
name: '银行卡3',
|
|
||||||
},
|
// 绑定
|
||||||
])
|
function handleSubmit() {
|
||||||
|
const data = {
|
||||||
|
...form
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (!data.phoneNumber) {
|
||||||
|
util.alert('手机号不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!data.userIdCard) {
|
||||||
|
util.alert('身份证号不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!data.cardNumber) {
|
||||||
|
util.alert('用户手机号不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!data.userRealName) {
|
||||||
|
util.alert('真实姓名不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
api.mine.addBankCard({
|
||||||
|
data,
|
||||||
|
}).then(rs => {
|
||||||
|
if (rs.code == 200) {
|
||||||
|
uni.$emit('updateBindingBank')
|
||||||
|
util.alert('添加成功')
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 500)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
util.alert({
|
||||||
|
content: rs.msg,
|
||||||
|
showCancel: false,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="appbw">
|
<view class="appbw">
|
||||||
<!-- 表单 -->
|
<!-- 表单 -->
|
||||||
<view class="form mtb30 mlr40">
|
<view class="form mtb30 mlr40">
|
||||||
|
<!-- <view class="line">
|
||||||
<view class="line">
|
|
||||||
<view class="title">银行卡类型</view>
|
<view class="title">银行卡类型</view>
|
||||||
<view class="inputBox">
|
<view class="inputBox">
|
||||||
<picker :range="bankList" range-key="name">
|
<picker :range="bankList" range-key="name">
|
||||||
|
@ -34,48 +87,47 @@
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
</picker>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="title">银行卡卡号</view>
|
<view class="title">银行卡卡号</view>
|
||||||
<view class="inputBox">
|
<view class="inputBox">
|
||||||
<input class="input" type="text" placeholder="请输入银行卡卡号" />
|
<input class="input" v-model="form.cardNumber" type="text" placeholder="请输入银行卡卡号" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="title">姓名</view>
|
<view class="title">姓名</view>
|
||||||
<view class="inputBox">
|
<view class="inputBox">
|
||||||
<input class="input" type="text" placeholder="请输入姓名" />
|
<input class="input" v-model="form.userRealName" type="text" placeholder="请输入姓名" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="title">身份证号</view>
|
<view class="title">身份证号</view>
|
||||||
<view class="inputBox">
|
<view class="inputBox">
|
||||||
<input class="input" type="text" placeholder="请输入身份证号" />
|
<input class="input" v-model="form.userIdCard" type="text" placeholder="请输入身份证号" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="line">
|
<view class="line">
|
||||||
<view class="title">手机号(银行绑定的手机号)</view>
|
<view class="title">手机号(银行绑定的手机号)</view>
|
||||||
<view class="inputBox rows">
|
<view class="inputBox">
|
||||||
<input class="input" type="text" placeholder="请输入手机号" />
|
<input class="input" v-model="form.phoneNumber" type="text" placeholder="请输入手机号" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- <view class="line">
|
||||||
|
<view class="title">验证码</view>
|
||||||
|
<view class="inputBox rows">
|
||||||
|
<input class="input" type="text" placeholder="请输入验证码" />
|
||||||
<view class="getCode btn black plr30">
|
<view class="getCode btn black plr30">
|
||||||
<getCode />
|
<getCode />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<view class="line">
|
<view class="btn lg black mt50" @click="handleSubmit">绑定</view>
|
||||||
<view class="title">验证码</view>
|
|
||||||
<view class="inputBox">
|
|
||||||
<input class="input" type="text" placeholder="请输入验证码" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="btn lg black mt50">绑定</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="fill"></view>
|
<view class="fill"></view>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
|
// 设置
|
||||||
import {
|
import {
|
||||||
ref,
|
ref,
|
||||||
computed,
|
computed,
|
||||||
|
|
|
@ -66,6 +66,7 @@ updateOrderDetail 更新订单详情
|
||||||
updateUserProduct 更新用户商品
|
updateUserProduct 更新用户商品
|
||||||
updateBindingAccount 更新绑定账号
|
updateBindingAccount 更新绑定账号
|
||||||
selectBindingBank 选择绑定的银行卡
|
selectBindingBank 选择绑定的银行卡
|
||||||
|
updateBindingBank 更新绑定的银行卡
|
||||||
|
|
||||||
缓存
|
缓存
|
||||||
---
|
---
|
||||||
|
|
|
@ -3,9 +3,13 @@ import {
|
||||||
} from 'vite';
|
} from 'vite';
|
||||||
import uni from '@dcloudio/vite-plugin-uni';
|
import uni from '@dcloudio/vite-plugin-uni';
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
// let target = 'http://91f.xyz:8080'
|
// let target = 'http://91f.xyz:8080'
|
||||||
// let target = 'https://1a880cd5.r24.cpolar.top/'
|
// let target = 'https://1a880cd5.r24.cpolar.top/'
|
||||||
let target = 'http://aere2w.natappfree.cc'
|
let target = 'http://aere2w.natappfree.cc'
|
||||||
|
=======
|
||||||
|
let target = 'http://91f.xyz:8080'
|
||||||
|
>>>>>>> 0a930aa1702a2566cc55bb62dad90293c20f3b0d
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [uni()],
|
plugins: [uni()],
|
||||||
|
|
Loading…
Reference in New Issue