This commit is contained in:
蔡同学
2025-08-25 11:20:35 +08:00
parent 25df08ec69
commit 6df8112e7b
251 changed files with 34346 additions and 0 deletions
+92
View File
@@ -0,0 +1,92 @@
<template>
<uni-popup ref="address" type="bottom" :safe-area="fales">
<view class="content">
<view class="ml20 ft16 ftw500 flex" style="height: 80rpx; line-height: 80rpx;">
<view>更换地址</view>
<view @click="quxiao" style="margin-left: auto;padding-right: 30rpx; " class="ft14 ftw500 cl-999">取消</view>
</view>
<view class="ml20 mr15">
<scroll-view scroll-y class="" style="height: 240px;margin-bottom: 4rpx;">
<view class="pt10 pb10 item" style="padding-left: 10rpx;" :class="{'itemtype':quantity.id == item.id}" v-for="(item,index) in datalist" :key="index" @click="selectdata(item)">
<view class="flex alcenter">
<text class="ft14 ftw500 cl-333">{{item.accept_name}}</text>
<text class="ft14 ftw500 cl-333 pl20">{{item.show_mobile}}</text>
</view>
<view class="ft14 ftw500 cl-999" style="margin-top: 12rpx;">
{{item.accept_province}}{{item.accept_city}}{{item.accept_exp_area}}{{item.accept_address}}
</view>
</view>
</scroll-view>
</view>
<view class="button" style="padding: 20rpx 0;" @click="determine">确定</view>
</view>
</uni-popup>
</template>
<script>
export default {
data() {
return {
quantity: "",
datalist: []
}
},
methods: {
addressshop(data) {
this.getlist()
console.log(data);
this.quantity = data
},
quxiao() {
this.$refs.address.close()
},
getlist() {
this.$httpRequest({
url: '/api/delivery/address/list',
data: this.data,
methods: "POST",
}).then(res => {
if (res.code == 1) {
this.datalist = res.data.list
this.$refs.address.open()
}
}).catch(err => {
console.log('bind user err');
console.log(err);
})
},
selectdata(item) {
console.log(item);
this.quantity = item
},
determine(){
this.quxiao()
this.$emit("replacement",this.quantity)
}
}
}
</script>
<style scoped>
.content {
background-color: #fff;
height: 680rpx;
border-radius: 24rpx 24rpx 0rpx 0rpx;
}
.button {
margin: 0 30rpx;
height: 80rpx;
/* width: 312rpx; */
background: linear-gradient(123deg, #00E075 0%, #09D89E 100%);
border-radius: 40rpx;
text-align: center;
color: #FFFFFF;
}
.item{
border: 2rpx solid transparent;
}
.itemtype{
border: 2rpx solid #09d89e;
border-radius: 14rpx;
}
</style>
+121
View File
@@ -0,0 +1,121 @@
<template>
<uni-popup type="center" ref="pointsyes">
<view class="Content">
<image style="width: 44rpx;height: 44rpx; margin-left: auto; margin-bottom: 28rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/Shutdown.png" mode="" @click="quxiao"></image>
<view class="advertisingbg">
<!-- <image style="width: 620rpx;height: 728rpx;" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/advertising_bg.png" mode=""> -->
</image>
<view class="boxs">
<view class="watch">观看广告可解锁本剧集</view>
<view class="buyvip" @click="liberalvip">买VIP会员全场免广告</view>
</view>
</view>
</view>
</uni-popup>
</template>
<script>
export default {
data() {
return {
quantity: ""
}
},
methods: {
pointsyesshop() {
this.$refs.pointsyes.open()
},
quxiao() {
this.$refs.pointsyes.close()
},
liberalvip(){
this.quxiao()
uni.navigateTo({
url: '/pagesA/VIP/VIP'
})
},
}
}
</script>
<style>
.Content {
display: flex;
flex-direction: column;
width: 620rpx;
}
.pointsyesbox {
width: 100%;
height: 600rpx;
background-color: #fff;
/* text-align: center; */
padding: 24rpx;
display: flex;
flex-direction: column;
border-radius: 24rpx 24rpx 0rpx 0rpx;
}
.uni-input {
width: 680rpx;
height: 88rpx;
border-radius: 12rpx;
border: 2rpx solid #D8D8D8;
padding-left: 36rpx;
}
.input {
height: 88rpx;
}
.practices {
height: 80rpx;
width: 100%;
border-radius: 40rpx;
background: linear-gradient(123deg, #00E075 0%, #09D89E 100%);
text-align: center;
line-height: 80rpx;
font-weight: 500;
font-size: 32rpx;
color: #FFFFFF;
}
.advertisingbg {
position: relative;
background-image: url(https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/advertising_bg.png);
background-repeat: no-repeat;
background-size: 100% 728rpx;
width: 620rpx;
height: 728rpx;
}
.boxs {
margin: 488rpx 42rpx;
margin-bottom: 0;
}
.watch {
width: 100%;
height: 88rpx;
border-radius: 44rpx;
background: linear-gradient(123deg, #00E075 0%, #09D89E 100%);
text-align: center;
line-height: 80rpx;
color: #FFFFFF;
}
.buyvip {
width: 100%;
height: 88rpx;
border-radius: 44rpx;
border: 3rpx solid #09D89E;
text-align: center;
line-height: 80rpx;
color: #09D89E;
margin-top: 28rpx;
}
</style>
@@ -0,0 +1,126 @@
<template>
<uni-popup ref="share" type="bottom">
<view class="shareCont">
<view class="shareHeader">
<text class="shareTitle">倍速</text>
<text class="shareClose" @click="closeShare">取消</text>
</view>
<view class="speedList">
<text :class="['speedItem',{'speedItemCheck': item.num==checkSpeedNum}]"
v-for="(item,index) in speedList"
:key="index"
@click="changeSpeed(item.num)"
>{{item.text}}</text>
</view>
</view>
</uni-popup>
</template>
<script>
export default {
name: "changeSpeed",
props:{
speedNum:{
type:Number,
default:1
}
},
mounted() {
this.checkSpeedNum = this.speedNum
},
data() {
return {
checkSpeedNum:1,
speedList:[
{num:0.5,text:'0.5倍速'},
{num:0.8,text:'0.8倍速'},
{num:1,text:'1倍速'},
{num:1.25,text:'1.25倍速'},
{num:1.5,text:'1.5倍速'},
{num:2,text:'2.0倍速'},
]
};
},
methods: {
closeChangeSpeed() {
this.$refs.share.close();
},
showChangeSpeed() {
this.$refs.share.open();
},
changeSpeed(num) {
if(this.checkSpeedNum!==num){
this.checkSpeedNum = num
this.$emit('changeSpeed',num);
this.closeChangeSpeed();
}
},
}
}
</script>
<style scoped lang="scss">
.shareCont{
background-color: #FFFFFF;
width: 750rpx;
padding: 34rpx;
border-radius: 34rpx 34rpx 0 0;
}
.shareHeader{
display: flex;
align-items: center;
justify-content: space-between;
flex-direction: row;
}
.shareTitle{
font-weight: 500;
font-size: 32rpx;
color: #333333;
line-height: 44rpx;
}
.shareClose{
font-weight: 500;
font-size: 28rpx;
color: #666666;
line-height: 44rpx;
}
.speedList{
padding: 60rpx 0 130rpx 0 ;
display: flex;
flex-direction: row;
align-items: center;
flex-wrap: wrap;
}
.shareIcon{
width: 100rpx;
height: 100rpx;
}
.speedItem{
padding: 12rpx 24rpx;
line-height: 64rpx;
background: #F7F8F9;
border-radius: 12rpx;
text-align: center;
font-weight: 500;
font-size: 26rpx;
color: #333333;
margin-right: 24rpx;
margin-bottom: 24rpx;
}
.speedItemCheck{
padding: 12rpx 24rpx;
line-height: 64rpx;
background: #f44813;
border-radius: 12rpx;
text-align: center;
font-weight: 500;
font-size: 26rpx;
color: #ffffff;
margin-right: 24rpx;
}
</style>
+64
View File
@@ -0,0 +1,64 @@
<template>
<view class="content" style="margin: 0 25rpx;">
<view class="contenttop flex center pb16" style="background-color: #fff;">
<image style="width: 60rpx; height: 60rpx;margin-right: 22rpx;" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/left.png" mode=""></image>
<view class="">积分好礼</view>
<image style="width: 60rpx; height: 60rpx; margin-left: 22rpx;" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/right.png" mode=""></image>
</view>
<view class=" flex wrap" style="justify-content: space-around;">
<view style="margin-bottom: 32rpx;" @click="navdetails(item)" v-for="(item,index) in Commodity"
:key="index">
<image style="width: 292rpx;height: 292rpx; border-radius: 24rpx;" :src="item.cimage" mode="">
</image>
<view class="">
<view class="ft14 ftw500" style="color: #333;">{{item.name}}</view>
<view class="flex alcenter space" style="margin-top: 6rpx;">
<view class="ft14 ftw600 flex alcenter" style="color: #FFA100;">{{item.price}}
<image style="width: 32rpx;height: 32rpx; margin-left: 10rpx;" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/code.png"
mode=""></image>
</view>
<view class="ft10 ftw500 cl-999">已兑:{{item.sale_num}}</view>
</view>
</view>
</view>
<view class="" style="width: 292rpx;"></view>
</view>
</view>
</template>
<script>
export default {
name: "integralArticles",
props: {
Commodity: {
type: Array,
default: []
}
},
data() {
return {
navdetails(item) {
uni.navigateTo({ //专享
url: '/pagesA/integral/ItemDetails?id=' + item.goods_id
})
}
};
},
}
</script>
<style scoped>
.content {
width: 700rpx;
background-color: #fff;
border-radius: 24rpx 24rpx 0rpx 0rpx;
margin: 0 25rpx;
padding: 24rpx 0;
}
.box {
display: flex;
}
</style>
+153
View File
@@ -0,0 +1,153 @@
<template>
<uni-popup type="bottom" ref="pointsyes" @maskClick="quxiao" :safe-area="false">
<view class="pointsyesbox">
<view class="flex" style="margin-bottom: 24rpx;justify-content: space-between;">
<view class="ft16 ftw500 cl-333">积分兑换金豆</view>
<view class="ft14 ftw500 cl-999" @click="quxiao">取消</view>
</view>
<view class="ft14 ftw500 cl-333">当前积分:<text style="color: #FFA100;">{{score}}</text></view>
<view class="uni-input" style="margin-top: 32rpx; margin-bottom: 12rpx;">
<input type="number" class="input" adjust-position @input="listeninginput" v-model="quantity"
placeholder="请输入积分数量" />
</view>
<view class="ft12 ftw500 cl-999" style="margin-bottom: 56rpx;">{{datas.jfdhsm}}</view>
<view class="ftw500 mb16" style="text-align: center; color: #FFA100;"> <text
style="font-size: 48rpx;">{{exchange || 0}}</text> <text style="font-size: 28rpx;">金豆</text> </view>
<view class="practices" @click="tijiao">提交</view>
</view>
</uni-popup>
</template>
<script>
export default {
data() {
return {
quantity: "",
score: "",
datas: "",
}
},
computed:{
exchange(){
return Math.floor((this.quantity * this.datas.jfdh) * 100) / 100 || 0;
}
},
methods: {
pointsyesshop() {
this.getuser()
this.$refs.pointsyes.open()
},
quxiao() {
this.quantity = ""
this.$refs.pointsyes.close()
},
//获取 用户积分
getuser() {
this.$httpRequest({
url: '/api/user/index',
methods: "POST",
}).then(res => {
console.log(res.data.score);
this.score = res.data.score
this.datas = res.data.config.site
}).catch(err => {})
},
listeninginput(e) {
console.log(e);
if (e.detail.value >= this.score) {
e.detail.value = this.score
console.log(123);
console.log(this.quantity);
console.log(this.score);
this.$forceUpdate()
}
},
listeninginput(e) {
const o = e.detail.value
const inputRule = /[^\d]/g
this.$nextTick(() => {
this.cargoNo = o.replace(inputRule, '');
if (this.cargoNo == '') {
return
} else {
//执行对应代码
if (e.detail.value >= this.score) {
this.quantity = this.score
}
}
})
},
tijiao() {
// this.quantity = parseInt(this.exchange) / this.datas.jfdh
// this.exchange = (this.quantity * this.datas.jfdh).toFixed(2)
if (this.quantity <= this.score) {
this.$httpRequest({
url: '/api/user/duihuan',
data: {
sum: this.quantity
},
methods: "POST",
}).then(res => {
console.log(res);
uni.showToast({
title: res.msg,
icon: 'none',
duration: 3000
})
this.$emit('success');
this.getuser();
}).catch(err => {})
} else {
uni.showToast({
title: '兑换积分大于拥有积分',
icon: 'none',
duration: 3000
})
}
}
}
}
</script>
<style>
.pointsyesbox {
width: 100%;
height: 600rpx;
background-color: #fff;
/* text-align: center; */
padding: 24rpx;
display: flex;
flex-direction: column;
border-radius: 24rpx 24rpx 0rpx 0rpx;
}
.uni-input {
width: 680rpx;
height: 88rpx;
border-radius: 12rpx;
border: 2rpx solid #D8D8D8;
padding-left: 36rpx;
}
.input {
height: 88rpx;
}
.practices {
height: 80rpx;
width: 100%;
border-radius: 40rpx;
background: linear-gradient(123deg, #00E075 0%, #09D89E 100%);
text-align: center;
line-height: 80rpx;
font-weight: 500;
font-size: 32rpx;
color: #FFFFFF;
}
</style>
@@ -0,0 +1,137 @@
<template>
<picker mode="multiSelector"
:value="multiIndex"
:range="multiArray"
@change="handleValueChange"
@columnchange="handleColumnChange">
<slot></slot>
</picker>
</template>
<script>
const CHINA_REGIONS = require('./regions.json')
export default {
props:{
defaultRegions:{
type:Array,
default(){
return []
}
},
defaultRegionCode:{
type:String
},
defaultRegion:[String,Array]
},
data() {
return {
cityArr:CHINA_REGIONS[0].childs,
districtArr:CHINA_REGIONS[0].childs[0].childs,
multiIndex: [0, 0, 0],
isInitMultiArray:true,
}
},
watch:{
defaultRegion:{
handler(region,oldRegion){
if(Array.isArray(region)){
// 避免传的是字面量的时候重复触发
oldRegion = oldRegion || []
if(region.join('')!==oldRegion.join('')){
this.handleDefaultRegion(region)
}
}else if(region&&region.length == 6){
this.handleDefaultRegion(region)
}else{
console.warn('defaultRegion非有效格式')
}
},
immediate:true,
}
},
computed:{
multiArray(){
return this.pickedArr.map(arr=>arr.map(item=>item.name))
},
pickedArr(){
// 进行初始化
if(this.isInitMultiArray){
return [
CHINA_REGIONS,
CHINA_REGIONS[0].childs,
CHINA_REGIONS[0].childs[0].childs
]
}
return [CHINA_REGIONS,this.cityArr,this.districtArr];
}
},
methods: {
handleColumnChange(e){
// console.log(e);
this.isInitMultiArray = false;
const that = this;
let col = e.detail.column;
let row = e.detail.value;
that.multiIndex[col] = row;
try{
switch(col){
case 0:
if(CHINA_REGIONS[that.multiIndex[0]].childs.length==0){
that.cityArr = that.districtArr = [CHINA_REGIONS[that.multiIndex[0]]]
break;
}
that.cityArr = CHINA_REGIONS[that.multiIndex[0]].childs
that.districtArr = CHINA_REGIONS[that.multiIndex[0]].childs[that.multiIndex[1]].childs
break;
case 1:
that.districtArr = CHINA_REGIONS[that.multiIndex[0]].childs[that.multiIndex[1]].childs
break;
case 2:
break;
}
}catch(e){
// console.log(e);
that.districtArr = CHINA_REGIONS[that.multiIndex[0]].childs[0].childs
}
},
handleValueChange(e){
// 结构赋值
let [index0,index1,index2] = e.detail.value;
let [arr0,arr1,arr2] = this.pickedArr;
let address = [arr0[index0],arr1[index1],arr2[index2]];
// console.log(address);
this.$emit('getRegion',address)
},
handleDefaultRegion(region){
const isCode = !Array.isArray(region)
this.isInitMultiArray = false;
let children = CHINA_REGIONS
for(let i=0;i<3;i++){
for(let j=0;j<children.length;j++){
let condition = isCode?children[j].code==region.slice(0,(i+1)*2):children[j].name.includes(region[i]);
if(condition){
// 匹配成功进行赋值
// console.log(i,j,children.length-1);
children = children[j].childs;
if(i==0){
this.cityArr = children
}else if(i==1){
this.districtArr = children
}
this.$set(this.multiIndex,i,j)
// console.log(this.multiIndex);
break;
}else{
// 首次匹配失败就用默认的初始化
// console.log(i,j,children.length-1);
if(i==0 && j==(children.length-1)){
this.isInitMultiArray = true;
}
}
}
}
}
},
}
</script>
File diff suppressed because one or more lines are too long
+449
View File
@@ -0,0 +1,449 @@
<template>
<uni-popup type="bottom" ref="videoRecharge" :mask-click='false'>
<view class="pay_box">
<view class="header_top">
<text style="font-size: 32rpx;">购买解锁后可继续观看</text>
<uni-icons type='closeempty' size="18" @tap="hideRechargePup" color="#bababa"></uni-icons>
</view>
<view class="vider_juji">
<text style="font-size: 24rpx;">{{ videoInfo.name }} · 第{{ playVideoInfo.weigh }}集</text>
<text style="font-size: 24rpx;color: #333333;">已更新至{{ videoInfo.sum }}集</text>
</view>
<view class="vider_juji">
<text style="font-size: 24rpx;">购买本集需要: {{ playVideoInfo.beans }}金豆</text>
</view>
<view class="other_recharge">
<text style="font-size: 28rpx;">金豆充值</text>
<text style="font-size: 28rpx;color: #333333;font-weight: bold;">我的金豆:{{ userBeans }}</text>
</view>
<view class="vipCarBox" v-if="payListGroupId==1">
<view :class="[
'vipCarItem',
{'vipCarThird':item.pay_type == 1},
{'vipCarFirst': item.pay_type == 2},
{'vipCarFourth':item.pay_type == 3},
] " v-for="item in list_pay" :key="item.id" @click="purchase(item)">
<text class="icon" v-if="item.pay_tab">{{ item.pay_tab }}</text>
<view class="moneyLine">
<text class="money">¥{{ item.pay_money }}</text>
<text class="beanBtn" v-if="item.pay_give_num && item.pay_type == 2">赠{{ item.pay_num }}金豆 </text>
</view>
<text class="depict" v-if="item.pay_give_num && item.pay_type == 2">
{{item.pay_num}}金豆+{{item.pay_give_num}}豆
</text>
<text class="depict" v-if="!item.pay_give_num && item.pay_type == 2">
{{item.pay_num}}金豆
</text>
<view class="explainText" v-if="item.pay_type != 2">
<text class="explainTextt" v-if="item.pay_type == 1" style="color: #333333;">全部影片免费观看</text>
<text class="explainTextt" v-if="item.pay_type == 1 && item.remark" style="color: #333333;">{{ item.remark }}</text>
<text class="explainTextt" v-if="item.pay_type == 3" style="color: #FF6900;">本剧订阅全集</text>
</view>
<view class="choiceNum" v-if="item.menber_sel">{{ item.menber_sel }}%用户选择</view>
</view>
</view>
<view class="vipCarBox vipCarBoxSecond" v-else>
<view
:class="['vipCarItem',{'border':item.is_red==1}]"
v-for="item in list_pay" :key="item.id" @click="purchase(item)">
<text class="rightIcon" v-if="item.pay_tab">{{ item.pay_tab }}</text>
<view class="VipCardContent">
<view :class="['carMoney',{'redColor':item.is_red==1}]">
<text class="cardMoneyText">{{ item.pay_money }}</text>
元
</view>
<text class="carMoneyExplain" v-if="item.pay_give_money>0">多送{{ item.pay_give_money }}元</text>
<text v-else class="carMoneyExplain"></text>
</view>
<view :class="['vipCarFooter',{'footerRedColor':item.is_red!=1}]">{{ item.remark ? item.remark : '' }}
</view>
<image v-if="item.is_finger" class="hands"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/hands.gif"
mode=""></image>
</view>
</view>
</view>
</uni-popup>
</template>
<script>
import configs from "@/utils/config";
import PAY from '@/utils/pay'
export default {
name: "rechargePup",
props: {
userBeans: {
type: Number,
default: 0
},
playVideoInfo: {
type: Object,
default: {}
},
videoInfo: {
type: Object,
default: {}
}
},
data() {
return {
payListGroupId: 1,
list_pay: [],
checkItem:{},
oid:"",
}
},
methods: {
showRechargePup() {
let that = this;
uni.request({
url: configs.webUrl + '/api/beans/payList',
data: {
vs_id: uni.getStorageSync('vs_id_code'),
token: uni.getStorageSync("userinfo").token,
video_list_id: this.videoInfo.id || 0
},
success: listRes => {
console.log(listRes.data.data)
that.list_pay = listRes.data.data
that.$refs.videoRecharge.open()
}, fail: (err) => {
uni.showToast({title: err.msg, icon: "none", duration: 2000})
}
})
},
hideRechargePup() {
this.$refs.videoRecharge.close()
},
purchase(item){
let that = this;
PAY.pays.lakalaPay({
id:item.id,
vid: that.playVideoInfo.id,
pay_type: 21,
token: uni.getStorageSync("userinfo").token,
uid: uni.getStorageSync("userinfo").id,
ad_code: uni.getStorageSync('get_ad_code')
}).then(res=>{
console.log(res)
if(res.code ==1){
// #ifdef H5
console.log('h5 open')
window.open(res.data.return_url, "_self")
// #endif
// #ifdef APP
uni.navigateTo({
url:"/pagesA/myCenter/wallet/webPay?url="+encodeURIComponent(res.data.return_url)
})
// #endif
}
}).catch(err=>{
console.log(err)
})
},
}
}
</script>
<style scoped lang="scss">
.pay_box {
background: #ffffff;
padding-top: 30rpx;
border-radius: 30rpx 30rpx 0 0;
}
.header_top {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 30rpx 24rpx 20rpx 24rpx;
}
.imBtn {
width: 140rpx;
height: 60rpx;
line-height: 60rpx;
position: absolute;
top: 40rpx;
right: 100rpx;
background: #eeeeee;
}
.vider_juji {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 0 24rpx;
}
.other_recharge {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 0 24rpx;
margin-top: 40rpx;
}
.vipCarBox {
padding: 26rpx;
align-items: center;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row;
}
.vipCarItem {
width: 336rpx;
height: 200rpx;
border-radius: 12rpx;
margin-bottom: 24rpx;
}
.vipCarFirst {
background-image: linear-gradient(to right, #FF9A54, #FF3C3C);
}
.vipCarSecond {
background-image: linear-gradient(to right, #FF9A54, #FF3C3C);
}
.vipCarThird {
background-image: url('https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/taoc2.png');
background-size: 100% 100%;
}
.vipCarFourth {
background-image: url('https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/dingyue_a.png');
background-size: 100% 100%;
}
.icon {
position: absolute;
color: #333333;
font-size: 20rpx;
font-weight: 500;
line-height: 35rpx;
padding: 0 20rpx;
border-radius: 0rpx 0rpx 16rpx 0rpx;
background: linear-gradient(180deg, #FFFFFF 0%, #FFC833 100%);
}
.vipCarThird .icon {
background: linear-gradient(180deg, #FF8F8F 0%, #FF3333 100%);
color: #ffffff;
}
.vipCarFourth .icon {
background: linear-gradient(90deg, #FFBC48 0%, #FF5D41 100%);
color: #ffffff;
}
.moneyLine {
display: flex;
align-items: center;
flex-direction: row;
justify-content: space-between;
padding: 0 20rpx;
margin-top: 45rpx;
}
.vipCarFourth .moneyLine {
color: #FF300A;
padding-left: 20rpx;
}
.money {
font-size: 32rpx;
color: #ffffff;
}
.vipCarFourth .money {
color: #FF300A;
}
.vipCarThird .money {
color: #333333;
}
.beanBtn {
text-align: center;
font-weight: 500;
font-size: 22rpx;
color: #333333;
line-height: 48rpx;
padding: 0 20rpx;
background: linear-gradient(180deg, #FFF2D1 0%, #FFC323 100%);
border-radius: 24rpx;
}
.depict {
font-size: 32rpx;
font-weight: 500;
color: #FFFFFF;
line-height: 44rpx;
padding: 10rpx 20rpx;
}
.explainText {
margin-top: 26rpx;
padding-left: 20rpx;
}
.explainText .explainTextt {
font-size: 28rpx;
font-weight: 600;
}
.choiceNum {
text-align: right;
font-size: 22rpx;
font-weight: 500;
color: #FFCA3A;
line-height: 32rpx;
padding-top: 10rpx;
padding-right: 20rpx;
}
// 新版
.vipCarBoxSecond {
background: #eeeeee;
}
.VipCardContent {
padding: 30rpx 0 20rpx 0;
}
.vipCarBoxSecond .vipCarItem {
background: #ffffff;
border-radius: 12rpx;
}
.vipCarBoxSecond .border {
// border: 6rpx solid #dc3a35;
background-image: url(https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/dingyue_a.png);
background-size: cover;
}
.vipCarBoxSecond .one {
.vipCarFooter {
color: #FFFFFF;
}
.carMoney {
color: #FFFFFF;
}
background-image: url(https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/pay1.png);
background-size: cover;
}
.rightIcon {
position: absolute;
right: 0;
top: -10rpx;
line-height: 40rpx;
color: #ffffff;
font-size: 30rpx;
padding: 0 15rpx;
border-radius: 0 16rpx 0 16rpx;
background: rgb(253, 172, 18);
max-width: 336rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.carMoney {
text-align: center;
font-size: 26rpx;
font-weight: bold;
display: flex;
align-items: center;
flex-direction: row;
justify-content: center;
}
.carMoney .cardMoneyText {
font-size: 32rpx;
font-weight: bold;
}
.carMoneyExplain {
color: red;
text-align: center;
line-height: 30rpx;
height: 30rpx;
font-size: 28rpx;
}
//底部信息
.vipCarFooter {
line-height: 45rpx;
// background-color: #dc3a35;
color: #000000;
text-align: center;
font-size: 26rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.redColor {
color: #000000;
}
//普通底部
.footerRedColor {
line-height: 50rpx;
// background-color: #fde6e6;
color: #000000;
text-align: center;
font-size: 26rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
border-radius: 0 0 12rpx 12rpx;
}
.hands {
position: absolute;
right: -10px;
bottom: 0rpx;
width: 90rpx;
height: 90rpx;
z-index: 300;
transform: rotate(-15deg);
}
.explain {
padding-left: 20rpx;
}
.explainText {
line-height: 35rpx;
font-size: 24rpx;
color: #bbbbbb;
}
</style>
+123
View File
@@ -0,0 +1,123 @@
<template>
<uni-popup ref="share" type="bottom">
<view class="shareCont">
<view class="shareHeader">
<text class="shareTitle">分享到</text>
<text class="shareClose" @click="closeShare">取消</text>
</view>
<view class="shareList">
<view class="shareItem" @click="shareApp('WXSceneTimeline')">
<image src="../../../static/wechart.png" mode="widthFix" class="shareIcon" />
<text class="shareText">朋友圈</text>
</view>
<view class="shareItem" @click="shareApp('WXSceneSession')">
<image src="../../../static/wechart.png" mode="widthFix" class="shareIcon" />
<text class="shareText">微信好友</text>
</view>
</view>
</view>
</uni-popup>
</template>
<script>
export default {
name: "share",
props:{
videoInfo:{
type:Object,
default:function(){
return {}
}
}
},
data() {
return {
userInfo:{},
};
},
mounted() {
this.userInfo = uni.getStorageSync('userInfo')
},
methods: {
closeShare() {
this.$refs.share.close();
},
showSharePup() {
this.$refs.share.open();
},
shareApp(type) {
let that = this;
uni.share({
provider: 'weixin',
scene: type,
type: 0,
imageUrl:that.videoInfo.coverImg, //此处图片可以更换
title: "柠檬短剧",
summary:`我正在看 ${this.videoInfo.name} 超好看,一起来看看吧`,
href:"https://baogu.hnjrdzkj.xyz/h5/#/pages/promotion/promotion?id="+this.userInfo.id,
success: res => {
console.log(JSON.stringify(res));
},
fail(err) {
console.log(err)
}
});
}
}
}
</script>
<style scoped lang="scss">
.shareCont{
background-color: #FFFFFF;
width: 750rpx;
padding: 34rpx;
border-radius: 34rpx 34rpx 0 0;
}
.shareHeader{
display: flex;
align-items: center;
justify-content: space-between;
flex-direction: row;
}
.shareTitle{
font-weight: 500;
font-size: 32rpx;
color: #333333;
line-height: 44rpx;
}
.shareClose{
font-weight: 500;
font-size: 28rpx;
color: #666666;
line-height: 44rpx;
}
.shareList{
padding: 60rpx 0 130rpx 0 ;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-around;
}
.shareIcon{
width: 100rpx;
height: 100rpx;
}
.shareText{
text-align: center;
font-weight: 500;
font-size: 24rpx;
color: #333333;
line-height: 34rpx;
padding-top: 12rpx;
}
.shareItem{
display: flex;
flex-direction: column;
}
</style>
+192
View File
@@ -0,0 +1,192 @@
<template>
<view>
<view class="czmain">
<view class="cztop">
<view class="czxx">提现方式:{{ type }}</view>
<view class="czyebox">
<!-- <view style="font-size: 36upx; text-align: center;">当前余额 ¥{{urerdata.money}}</view> -->
<view>提现金额</view>
<input type="digit" focus class="czye" v-model="money" placeholder="请输入提现金额"/>
<view>提现姓名</view>
<input type="text" class="czye1" v-model="name" placeholder="请输入提现姓名"/>
<view>提现账号</view>
<input type="text" class="czye1" v-model="cord" placeholder="请输入提现账号"/>
<!-- <view style="margin-top: 10upx; font-size: 28upx; color: #ff0000;">备注:{{configsa.txbz}}</view> -->
<view class="uni-btn-v uni-common-mt">
<button class="onstep" @click="submit">提交</button>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
loading: false,
money: '',
name: '',
cord: '',
type: '支付宝',
dbled: true,
urerdata: [],
configsa: [],
providerList: []
}
},
methods: {
submit(){
let that = this;
that.$httpRequest({
url: '/api/user/tx',
method: 'GET',
data: {
money: this.money,
name: this.name,
cord: this.cord,
type: this.type,
}
}).then(res => {
if (res.code == 1) {
this.$emit("successClose")
uni.showToast({title:res.msg,icon:'none',duration:2000})
}
})
},
},
}
</script>
<style>
page {
background: #f9f9f9;
}
.cztop {
position: relative;
}
.czxx {
top: 10px;
font-size: 32upx;
margin-left: 50upx;
color: #3a3a3a;
font-family: iconfont;
line-height: 80upx;
}
.czyebox {
padding: 20upx 50upx;
}
.czyebox > view:first-child {
font-size: 32upx;
color: #3a3a3a;
line-height: 50px;
}
.czye {
width: 100%;
border-bottom: 1upx solid #e5e5e5;
font-size: 36upx;
font-weight: bold;
color: #3a3a3a;
position: relative;
padding-left: 20px;
height: 40px;
line-height: 40px;
}
.czye:after {
position: absolute;
top: -2px;
left: 0;
content: '¥';
color: #3a3a3a;
font-size: 18px;
}
.czye1 {
width: 100%;
border-bottom: 1upx solid #e5e5e5;
font-size: 32upx;
color: #3a3a3a;
position: relative;
height: 40px;
line-height: 40px;
}
.onstep {
margin-top: 40upx;
background: #007AFF !important;
}
.czmain {
width: 94%;
margin: 10px auto;
overflow: hidden;
background: #fff;
border-radius: 16upx;
padding-bottom: 20px;
-webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
}
.icon-alipay {
background: #fbfbfb;
padding-bottom: 20upx;
}
.icon-alipay > view:first-child {
margin-top: 10px;
font-size: 32upx;
padding-left: 0upx;
color: #3a3a3a;
font-family: iconfont;
position: relative;
line-height: 30px;
}
.icon-alipay:before {
content: "\e636";
margin-top: 25upx;
margin-right: 10upx;
color: #007AFF;
}
.cztype > view:first-child:after {
position: absolute;
content: "\e66c";
top: 0;
left: 0;
font-size: 26px;
color: #05c160;
}
.rmbLogo {
font-size: 40upx;
}
button {
background-color: #007aff;
color: #ffffff;
}
.uni-h1.uni-center {
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-end;
}
.ipaPayBtn {
margin-top: 30upx;
}
</style>