吆喝
This commit is contained in:
@@ -0,0 +1,134 @@
|
||||
<template>
|
||||
<view>
|
||||
|
||||
<!-- <view style="margin:10upx 30upx 0 30upx;box-shadow: 0px 4px 20px 0px rgba(0,0,0,0.04);">
|
||||
<home-banner :banners="banners"></home-banner>
|
||||
</view> -->
|
||||
<view class="" style="padding: 30upx 30upx 0px 30upx;">
|
||||
<block v-for="(value,key) in listData" :key="key">
|
||||
<view @click="detail(value.vid,value.mid)" style="position: relative;" class="flex alcenter mb16">
|
||||
<image mode="aspectFill" class="tuan-product-l" :src="value.img"></image>
|
||||
<!-- <view class="btn-mini" style="position: absolute; top: 40upx; left: 280upx; border-radius: 10upx;font-size: 18upx;width: 60upx; height: 36upx;" :style="getBtnStyle">{{value.lxname}}</view> -->
|
||||
<view class="tuan-product-r pl15">
|
||||
<view class="ft16 ftw600 cl-main text-over2">{{value.vname}}</view>
|
||||
<view class="mt16">
|
||||
<text class="ft14 cl-orange" style="color: #09D89E;">{{value.dqname}}</text>
|
||||
</view>
|
||||
<view class="mt16 flex space alcenter">
|
||||
<view class="ft14 cl-notice">{{value.mname}}</view>
|
||||
<view class="btn-vip-adviser ml15">继续观看</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<uni-load-more :status="status" />
|
||||
<view style="width: 100%; height: 30rpx;"></view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
banners:[],
|
||||
searchValue:'',
|
||||
pages:{
|
||||
currentPage:1,
|
||||
pageSize:20,
|
||||
isNextPage:true
|
||||
},
|
||||
tabs:[
|
||||
{name:'全部'},
|
||||
{name:'视频'},
|
||||
{name:'音频'},
|
||||
{name:'小说'},
|
||||
{name:'壁纸'},
|
||||
],
|
||||
selectIndex:0,
|
||||
scrollTop:0,
|
||||
type:'',
|
||||
|
||||
listData: [],
|
||||
status: 'more',
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(e){
|
||||
//console.log(111)
|
||||
if(e.selectIndex){
|
||||
this.selectIndex=e.selectIndex*1
|
||||
}
|
||||
this.status = 'more';
|
||||
this.getList();
|
||||
this.banners=uni.getStorageSync("config").banner
|
||||
},
|
||||
|
||||
onReachBottom() {
|
||||
this.status = 'more';
|
||||
this.getList();
|
||||
},
|
||||
|
||||
methods:{
|
||||
detail(vid,mid){
|
||||
uni.navigateTo({
|
||||
url:'/pagesA/player/detailPlayer?vid='+vid+'&mid='+mid
|
||||
})
|
||||
},
|
||||
getList() {
|
||||
let that = this;
|
||||
if (that.pages.isNextPage) {
|
||||
that.status = 'loading';
|
||||
that.$httpRequest({
|
||||
url: "/api/video/recordlist",
|
||||
methods: "GET",
|
||||
data: {
|
||||
limit: that.pages.pageSize,
|
||||
page: that.pages.currentPage
|
||||
}
|
||||
}).then(res => {
|
||||
that.status = '';
|
||||
if (that.pages.currentPage == 1) {
|
||||
that.listData = res.rows;
|
||||
} else if (res.rows.length > 0) {
|
||||
that.listData = that.listData.concat(res.rows);
|
||||
} else {
|
||||
that.status = 'noMore';
|
||||
that.pages.isNextPage = false;
|
||||
}
|
||||
that.pages.currentPage += 1;
|
||||
}).catch(err => {
|
||||
that.status = '';
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.tuan-product-l{
|
||||
width: 150rpx;
|
||||
height: 200rpx;
|
||||
border-radius: 16rpx;
|
||||
background: #F2F2F2;
|
||||
}
|
||||
.tuan-product-r{
|
||||
width: calc(100% - 150rpx);
|
||||
}
|
||||
.btn-vip-adviser{
|
||||
width: 150rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 28rpx;
|
||||
/* font-weight: 600; */
|
||||
border-radius: 12rpx;
|
||||
border: 2rpx solid #09D89E;
|
||||
color: #09D89E;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,163 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="flex" style="display:flex; flex-wrap:wrap; padding: 30upx 30upx 0px 30upx;">
|
||||
<block v-for="(value,key) in listData" :key="key">
|
||||
<view class="mb15" style="width:31%; border-radius:20rpx;margin-right: 14rpx;"
|
||||
@click="detail(value.vid,value.mid)">
|
||||
<!-- <view class="btn-mini" style="position: absolute; top: 20upx; right: 20upx; border-radius: 10upx;font-size: 18upx;width: 60upx; height: 36upx; z-index: 1;" :style="getBtnStyle">{{value.lxname}}</view> -->
|
||||
<image class="integral-mall-goods" mode="aspectFill" :src="value.img"></image>
|
||||
<view class="pr10 ft14 ftw400 text-over cl-main">{{value.vname}}</view>
|
||||
<view class="pr10 ft12 ftw500 text-over cl-999">观看至 {{value.mid}} 集</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<uni-load-more :status="status" :content-text="contentText" />
|
||||
<view style="width: 100%; height: 30upx;"></view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
banners: [],
|
||||
searchValue: '',
|
||||
pages: {
|
||||
currentPage: 1,
|
||||
pageSize: 20,
|
||||
isNextPage: true
|
||||
},
|
||||
tabs: [{
|
||||
name: '全部'
|
||||
},
|
||||
{
|
||||
name: '视频'
|
||||
},
|
||||
{
|
||||
name: '音频'
|
||||
},
|
||||
{
|
||||
name: '小说'
|
||||
},
|
||||
{
|
||||
name: '壁纸'
|
||||
},
|
||||
],
|
||||
selectIndex: 0,
|
||||
scrollTop: 0,
|
||||
type: '',
|
||||
|
||||
listData: [],
|
||||
status: 'more',
|
||||
contentText: {
|
||||
contentdown: "上拉显示更多",
|
||||
contentrefresh: "正在加载...",
|
||||
contentnomore: "没有更多数据了"
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(e) {
|
||||
//console.log(111)
|
||||
if (e.selectIndex) {
|
||||
this.selectIndex = e.selectIndex * 1
|
||||
}
|
||||
this.status = 'more';
|
||||
this.getList();
|
||||
this.banners = uni.getStorageSync("config").banner
|
||||
},
|
||||
|
||||
onReachBottom() {
|
||||
this.status = 'more';
|
||||
this.getList();
|
||||
},
|
||||
|
||||
methods: {
|
||||
detail(vid, mid) {
|
||||
uni.navigateTo({
|
||||
url: '/pagesA/player/detailPlayer?vid=' + vid + '&mid=' + mid
|
||||
})
|
||||
},
|
||||
getList() {
|
||||
let that = this;
|
||||
if (that.pages.isNextPage) {
|
||||
that.status = 'loading';
|
||||
that.$httpRequest({
|
||||
url: "/api/video/wdxh",
|
||||
methods: "GET",
|
||||
data: {
|
||||
limit: that.pages.pageSize,
|
||||
page: that.pages.currentPage
|
||||
}
|
||||
}).then(res => {
|
||||
that.status = '';
|
||||
if (that.pages.currentPage == 1) {
|
||||
that.listData = res.rows;
|
||||
} else if (res.rows.length > 0) {
|
||||
that.listData = that.listData.concat(res.rows);
|
||||
} else {
|
||||
that.status = 'noMore';
|
||||
that.pages.isNextPage = false;
|
||||
}
|
||||
that.pages.currentPage += 1;
|
||||
}).catch(err => {
|
||||
that.status = '';
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped>
|
||||
.integral-mall-goods {
|
||||
width: 100%;
|
||||
height: 280rpx;
|
||||
background: #F2F2F2;
|
||||
border-radius: 16upx;
|
||||
}
|
||||
|
||||
.user-not-vip {
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
background: #FDF6EC;
|
||||
border-radius: 40rpx;
|
||||
border: 2rpx solid #EFC381;
|
||||
text-align: center;
|
||||
line-height: 76rpx;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
.tuan-product-l {
|
||||
width: 320rpx;
|
||||
height: 240rpx;
|
||||
border-radius: 16rpx;
|
||||
background: #F2F2F2;
|
||||
}
|
||||
|
||||
.tuan-product-r {
|
||||
width: calc(100% - 320rpx);
|
||||
}
|
||||
|
||||
.search-result {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.search-result-text {
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.uni-mt-10 {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,661 @@
|
||||
<template>
|
||||
<view class="pagesContent">
|
||||
<view class="pagesHeader">
|
||||
<view class="navBack">
|
||||
<uni-icons class="backIcon" type="left" size="24" color="#ffffff" @click="navBack"></uni-icons>
|
||||
金豆充值
|
||||
</view>
|
||||
|
||||
<view class="flex cl-w" style="flex-direction: column;padding-left: 58rpx;">
|
||||
<view class="flex alcenter">
|
||||
<text style="font-weight: bold;font-size: 72rpx;color: #FFFFFF;float: left;">{{ userdata.beans }}</text>
|
||||
<uni-icons style="margin-left: 80rpx;" type="right" size="24" color="#ffffff"
|
||||
@click="goBill"></uni-icons>
|
||||
</view>
|
||||
|
||||
|
||||
<text class="ft16 ftw500" style="float: left;margin-top: 22rpx;">我的金豆</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<view
|
||||
style="margin-top: -36rpx;padding: 36rpx 36rpx;background-color: #fff;border-radius: 28rpx 28rpx 0rpx 0rpx;">
|
||||
<view class="ftw500 ft14 cl-333" style="margin-bottom: 24rpx;">充值金额</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" :key="item.id" @click="purchase(item)">
|
||||
<text class="icon" v-if="item.pay_tab > 0">特惠</text>
|
||||
<view class="moneyLine">
|
||||
<view class="money" v-if="system=='ios' && is_check"> </view>
|
||||
<view class="money" v-else>¥{{ item.pay_money }}</view>
|
||||
<view class="beanBtn" v-if="item.pay_give_num && item.pay_type == 2">赠{{ item.send_integral }}积分
|
||||
</view>
|
||||
</view>
|
||||
<view class="depict" v-if="item.pay_give_num && item.pay_type == 2">
|
||||
{{ item.pay_num }}金豆+{{ item.pay_give_num }}豆
|
||||
</view>
|
||||
<view class="depict" v-if="!item.pay_give_num && item.pay_type == 2">
|
||||
{{ item.pay_num }}金豆
|
||||
</view>
|
||||
<view class="explainText" v-if="item.pay_type != 2">
|
||||
<text v-if="item.pay_type == 1" style="color: #333333;">全部影片免费观看</text>
|
||||
<text 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>
|
||||
|
||||
<view v-if="system=='ios' && is_check"></view>
|
||||
<view class="agreement" v-else>
|
||||
<view class="ft12 ftw500 cl-999">充值说明:</view>
|
||||
<view class=" ftw500 cl-999" style="font-size: 22rpx;">虚拟商品购买后不可退换,青少年请在家长的陪同下充值</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<view v-if="show"
|
||||
style="background-color: rgba(0,0,0, 0.5);width: 750rpx;height: 100vh;z-index: 99;position: absolute;bottom: 0;left: 0;opacity:.5;"
|
||||
@click="show=false"></view>
|
||||
<view v-if="show" style="width: 750rpx;background: #F8F8F9;position: absolute;bottom: 0;left: 0;z-index: 999;">
|
||||
<view style="background-color: #fff;padding: 30rpx;">
|
||||
<view class="flex alcenter space">
|
||||
<text class="ft14 cl-info2">需支付</text>
|
||||
<text class="ft16 cl-main ftw600 cl-orange">¥{{ pricebuy }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box mt16 pd16_15">
|
||||
<view class="ft16 pb16 ftw600 cl-main">支付方式</view>
|
||||
<view class="bd-line mt16"></view>
|
||||
<radio-group @change="changeType">
|
||||
<view class="pt16 pb16 flex alcenter space">
|
||||
<view class="flex alcenter">
|
||||
<text class="iconfont iconicon_pay_balance ft32 cl-green"></text>
|
||||
<text class="ml15 ft14 ftw500 cl-main">微信支付</text>
|
||||
</view>
|
||||
<view>
|
||||
<radio value="weixin" :checked="payType == 'weixin'" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="bd-line"></view>
|
||||
|
||||
</radio-group>
|
||||
</view>
|
||||
<view class="form-footer-h">
|
||||
<view class="form-footer form-footer-h">
|
||||
<view class="form-footer-main pd10_15" v-if="system=='ios' && is_check">
|
||||
<button class="btn-big">请使用android手机体验</button>
|
||||
</view>
|
||||
<view class="form-footer-main pd10_15" v-else>
|
||||
<button v-if="mid>0" class="btn-big" @click="okTap">支付
|
||||
¥{{ pricebuy }}
|
||||
</button>
|
||||
<button v-else class="btn-big" @click="okTap">支付 ¥{{ pricebuy }}</button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PAY from "@/utils/pay";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
list: [],
|
||||
userdata: {},
|
||||
// payType:'微信',
|
||||
payType: 'weixin',
|
||||
num: 1,
|
||||
coupon_id: 0,
|
||||
buydata: [],
|
||||
buyType: '微信',
|
||||
dataList: Object,
|
||||
money: 0,
|
||||
mid: 0,
|
||||
openid: '',
|
||||
pricebuy: 0,
|
||||
wxlx: 'wxh5',
|
||||
coupons: [{
|
||||
coupon_id: 1,
|
||||
num: 20
|
||||
},
|
||||
{
|
||||
coupon_id: 2,
|
||||
num: 30
|
||||
},
|
||||
{
|
||||
coupon_id: 3,
|
||||
num: 40
|
||||
},
|
||||
],
|
||||
id: '',
|
||||
jine: '',
|
||||
system: '',
|
||||
payListGroupId: 1,
|
||||
userInfo: {},
|
||||
allVideoNum: 1,
|
||||
is_check: false
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
|
||||
this.system = uni.getSystemInfoSync().osName
|
||||
//#ifdef MP-WEIXIN
|
||||
this.wxlx = 'wxxcx'
|
||||
this.openid = uni.getStorageSync("openid")
|
||||
this.userInfo = uni.getStorageSync("userinfo");
|
||||
//#endif
|
||||
//#ifdef H5
|
||||
var ua = window.navigator.userAgent.toLowerCase();
|
||||
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
|
||||
this.wxlx = 'wxgzh';
|
||||
}
|
||||
//#endif
|
||||
},
|
||||
onShow() {
|
||||
this.is_check = uni.getStorageSync('config').is_check == 1 ? true : false;
|
||||
},
|
||||
mounted() {
|
||||
this.payListGroupId = uni.getStorageSync("config").pay_tpl;
|
||||
this.payListGroupId = 1
|
||||
this.getAllVideoNum();
|
||||
this.getPayList()
|
||||
this.getUserDel()
|
||||
},
|
||||
methods: {
|
||||
okTap() {
|
||||
var that = this
|
||||
let defaultData = {
|
||||
sum: 1,
|
||||
buyType: that.buyType,
|
||||
pricebuy: that.pricebuy,
|
||||
token: uni.getStorageSync("userinfo").token,
|
||||
uid: uni.getStorageSync("userinfo").id,
|
||||
wxlx: that.wxlx,
|
||||
id: that.id,
|
||||
openid: that.openid,
|
||||
info: [],
|
||||
};
|
||||
// #ifdef MP-WEIXIN
|
||||
this.weiChartPay(defaultData)
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
this.H5Pay();
|
||||
// #endif
|
||||
},
|
||||
weiChartPay(defaultData) {
|
||||
var that = this
|
||||
if (this.system == 'android') {
|
||||
uni.login({
|
||||
timeout: 10000,
|
||||
provider: 'weixin', //如果是uniapp,在这里需要标明平台的类型,支持的参数请查阅uniapp官网的uni.login()文档
|
||||
success: (res) => {
|
||||
PAY.pays.serverCreatOrder({
|
||||
id: that.id,
|
||||
pay_type: 5,
|
||||
code: res.code,
|
||||
ad_code: uni.getStorageSync('get_ad_code'),
|
||||
openid: that.openid,
|
||||
}).then(creatRes => {
|
||||
console.log('creat order success', creatRes)
|
||||
PAY.pays.wxAppletAndroidPay(creatRes.data).then(payRes => {
|
||||
console.log('pay order success', payRes)
|
||||
that.getUserDel()
|
||||
uni.showToast({
|
||||
icon:'none',
|
||||
title: '支付成功'
|
||||
});
|
||||
this.show = false;
|
||||
uni.navigateBack();
|
||||
})
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
},
|
||||
})
|
||||
} else {
|
||||
PAY.pays.wxIosCreatOrder({
|
||||
sum: defaultData.sum,
|
||||
buytype: defaultData.buyType,
|
||||
pricebuy: defaultData.pricebuy,
|
||||
token: defaultData.token,
|
||||
uid: defaultData.uid,
|
||||
wxlx: defaultData.wxlx,
|
||||
id: defaultData.id,
|
||||
openid: defaultData.openid,
|
||||
info: defaultData.info,
|
||||
ad_code: uni.getStorageSync('get_ad_code')
|
||||
}).then(res => {
|
||||
if (res.code == 1) {
|
||||
PAY.pays.wxAppletIosPay(res.data).then(payRes => {
|
||||
console.log('pay order success', payRes)
|
||||
that.getUserDel()
|
||||
})
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
},
|
||||
H5Pay() {
|
||||
let that = this;
|
||||
that.$httpRequest({
|
||||
url: "/api/pay/payInfo",
|
||||
method: "GET",
|
||||
data: {
|
||||
id: that.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)
|
||||
// #ifdef H5
|
||||
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)
|
||||
})
|
||||
},
|
||||
|
||||
goBill() { //消费明细
|
||||
uni.navigateTo({ //钱包
|
||||
url: '/pagesA/myCenter/wallet/bill'
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
changeType(e) {
|
||||
this.payType = e.detail.value;
|
||||
if (e.detail.value == 'money') {
|
||||
this.buyType = '余额';
|
||||
}
|
||||
if (e.detail.value == 'weixin') {
|
||||
this.buyType = '微信';
|
||||
}
|
||||
},
|
||||
purchase(e) {
|
||||
this.id = e.id
|
||||
// #ifdef MP-WEIXIN
|
||||
if (this.system == 'ios' && this.is_check) {} else {
|
||||
this.pricebuy = e.pay_money
|
||||
this.show = true
|
||||
}
|
||||
// #endif
|
||||
|
||||
// #ifdef H5
|
||||
this.H5Pay()
|
||||
// #endif
|
||||
},
|
||||
getUserDel() {
|
||||
this.$httpRequest({
|
||||
url: "/api/user/index",
|
||||
method: "GET"
|
||||
}).then(res => {
|
||||
this.userdata = res.data;
|
||||
uni.setStorageSync('userinfo', res.data);
|
||||
uni.setStorageSync('config', res.data.config)
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
getPayList() {
|
||||
this.$httpRequest({
|
||||
url: "/api/beans/payList",
|
||||
method: "GET"
|
||||
}).then(res => {
|
||||
if (res.code == 1) {
|
||||
if (res.data.length > 0) {
|
||||
let lists = [];
|
||||
res.data.forEach((item) => {
|
||||
if (item.pay_type != 3) {
|
||||
lists.push(item)
|
||||
}
|
||||
})
|
||||
this.list = lists
|
||||
}
|
||||
} else if (res.data.code == 50) {
|
||||
this.is_check = true;
|
||||
} else {
|
||||
console.log(res)
|
||||
}
|
||||
|
||||
}).catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
navBack() {
|
||||
uni.navigateBack(1);
|
||||
},
|
||||
goAgreement(e) {
|
||||
uni.navigateTo({
|
||||
url: '/pagesA/agreement/agreement?id=' + e
|
||||
})
|
||||
},
|
||||
getAllVideoNum() {
|
||||
this.$httpRequest({
|
||||
url: "/api/video/videoCount",
|
||||
method: "GET"
|
||||
}).then(res => {
|
||||
this.allVideoNum = res.data.count
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.pagesContent {
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
|
||||
.pagesHeader {
|
||||
background-image: url('https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/chongz.png');
|
||||
background-size: 750rpx 360rpx;
|
||||
background-repeat: no-repeat;
|
||||
width: 750rpx;
|
||||
height: 360rpx;
|
||||
padding-top: 58rpx;
|
||||
|
||||
}
|
||||
|
||||
.navBack {
|
||||
font-size: 32rpx;
|
||||
color: #ffffff;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
height: 100rpx;
|
||||
line-height: 100rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.backIcon {
|
||||
position: absolute;
|
||||
left: 16rpx;
|
||||
top: 0rpx;
|
||||
}
|
||||
|
||||
|
||||
.explain {
|
||||
padding: 0 26rpx;
|
||||
}
|
||||
|
||||
.explainTitle {
|
||||
line-height: 40rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.vipCarBox {
|
||||
|
||||
align-items: center;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
flex-direction: row;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.vipCarItem {
|
||||
width: 336rpx;
|
||||
height: 200rpx;
|
||||
border-radius: 12rpx;
|
||||
margin-bottom: 24rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.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%;
|
||||
color: ;
|
||||
}
|
||||
|
||||
.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(90deg, #FFBC48 0%, #FF5D41 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: #333333;
|
||||
}
|
||||
|
||||
.vipCarFourth .depict {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.vipCarThird .money {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.beanBtn {
|
||||
text-align: center;
|
||||
font-weight: 500;
|
||||
font-size: 22rpx;
|
||||
color: #333333;
|
||||
line-height: 48rpx;
|
||||
padding: 0 16rpx;
|
||||
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 text {
|
||||
font-size: 28rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.choiceNum {
|
||||
text-align: right;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
color: #FFCA3A;
|
||||
line-height: 32rpx;
|
||||
padding-right: 20rpx;
|
||||
}
|
||||
|
||||
/*新版*/
|
||||
|
||||
.VipCardContent {
|
||||
padding: 40rpx 0;
|
||||
}
|
||||
|
||||
.vipCarBoxSecond .vipCarItem {
|
||||
background-color: #ffffff;
|
||||
border-radius: 12rpx;
|
||||
|
||||
}
|
||||
|
||||
.vipCarBoxSecond .border {
|
||||
border: 6rpx solid #dc3a35;
|
||||
background-color: #f6e2af;
|
||||
}
|
||||
|
||||
.rightIcon {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: -20rpx;
|
||||
line-height: 40rpx;
|
||||
color: #ffffff;
|
||||
font-size: 30rpx;
|
||||
padding: 0 15rpx;
|
||||
border-radius: 0 12rpx 0 12rpx;
|
||||
background-color: #dc3a35;
|
||||
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 text {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.carMoneyExplain {
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
line-height: 30rpx;
|
||||
font-size: 28rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
.vipCarFooter {
|
||||
line-height: 45rpx;
|
||||
background-color: #dc3a35;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
font-size: 26rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.redColor {
|
||||
color: #dc3a35;
|
||||
}
|
||||
|
||||
.footerRedColor {
|
||||
line-height: 50rpx;
|
||||
background-color: #fde6e6;
|
||||
color: #dc3a35;
|
||||
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);
|
||||
}
|
||||
|
||||
.agreement {
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
width: 100%;
|
||||
line-height: 40rpx;
|
||||
font-size: 28rpx;
|
||||
margin-left: 36rpx;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.agreementItem {
|
||||
color: #0a5ab6;
|
||||
padding: 0 10rpx;
|
||||
font-size: 28rpx;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.explainItem {
|
||||
line-height: 40rpx;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
.btn-big {
|
||||
background-color: #07c160;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,180 @@
|
||||
<template>
|
||||
<view class="form">
|
||||
<view class="box">
|
||||
<view class="formItem">
|
||||
<view class="label">新手机号</view>
|
||||
<view class="ipt">
|
||||
<input class="uni-input" type="phone" @input="changePhone" placeholder="请输入手机号"
|
||||
:value="inputValue" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="formItem">
|
||||
<view class="label">验证码</view>
|
||||
<view class="ipt">
|
||||
<input class="uni-input" type="text" @input="changeCode" placeholder="请输入验证码" :value="code" />
|
||||
</view>
|
||||
<view class="getCodeBtn" @click="getCode">{{btnText}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<button class="onname" :style="{'background':dbled?'#999':'#08d89b'}" :disabled="dbled" type="primary"
|
||||
@click="upPhone()">确认修改</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
inputValue: "",
|
||||
isUp: false,
|
||||
btnText: "获取验证码",
|
||||
interV: null,
|
||||
time: 60,
|
||||
isGetCode: false,
|
||||
code: ""
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.inputValue = options.mobile
|
||||
},
|
||||
methods: {
|
||||
changePhone(e) {
|
||||
this.inputValue = e.detail.value
|
||||
},
|
||||
changeCode(e) {
|
||||
this.code = e.detail.value;
|
||||
},
|
||||
|
||||
upPhone() {
|
||||
let that = this;
|
||||
if (!/^1[3456789]\d{9}$/.test(that.inputValue)) {
|
||||
uni.showToast({
|
||||
title: "手机号有误"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (!that.isUp) {
|
||||
that.isUp = true;
|
||||
that.$httpRequest({
|
||||
url: "/api/user/changemobile",
|
||||
method: "POST",
|
||||
data: {
|
||||
mobile: that.inputValue,
|
||||
captcha: this.captcha
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code == 1) {
|
||||
uni.showToast({
|
||||
title: "修改成功",
|
||||
icon: "none",
|
||||
duration: 1500
|
||||
});
|
||||
}
|
||||
})
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "请勿频繁提交"
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
getCode() {
|
||||
if (!this.isGetCode) {
|
||||
this.isGetCode = true;
|
||||
console.log(this.inputValue);
|
||||
|
||||
if (/^1[3456789]\d{9}$/.test(this.inputValue)) {
|
||||
this.interV = setInterval(() => {
|
||||
this.time--;
|
||||
this.btnText = this.time + '秒后重新获取'
|
||||
if (this.time <= 0) {
|
||||
this.isGetCode = false;
|
||||
this.btnText == "获取验证码";
|
||||
this.time = 60;
|
||||
}
|
||||
}, 1000)
|
||||
|
||||
uni.request({
|
||||
url: this.configs.webUrl + '/api/sms/index',
|
||||
data: {
|
||||
phone: this.inputValue
|
||||
},
|
||||
success() {
|
||||
uni.showToast({
|
||||
title: "发送成功",
|
||||
icon: "none",
|
||||
duration: 1500
|
||||
})
|
||||
},
|
||||
fail() {
|
||||
|
||||
}
|
||||
})
|
||||
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "手机号有误",
|
||||
icon: "none",
|
||||
duration: 1500
|
||||
})
|
||||
this.isGetCode = false;
|
||||
}
|
||||
} else {}
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
beforeDestroy() {
|
||||
clearInterval(this.interV)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.form {
|
||||
margin: 20rpx;
|
||||
|
||||
}
|
||||
|
||||
.formItem {
|
||||
display: flex;
|
||||
height: 120rpx;
|
||||
align-items: center;
|
||||
border: 2rpx solid #F8F8F8;
|
||||
}
|
||||
|
||||
.label {
|
||||
width: 260rpx;
|
||||
font-size: 32rpx;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
margin-left: 36rpx;
|
||||
}
|
||||
|
||||
.ipt {
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
|
||||
.ipt input {
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.getCodeBtn {
|
||||
font-size: 26rpx;
|
||||
padding: 15rpx 0;
|
||||
min-width: 220rpx;
|
||||
text-align: center;
|
||||
|
||||
border-radius: 15rpx;
|
||||
}
|
||||
|
||||
.onname {
|
||||
margin-top: 50rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,361 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
|
||||
<view class="list-cell b-b avatar" style="border-radius: 16rpx 16rpx 0 0;" @click="clk(0)">
|
||||
<text class="cell-tit">头像</text>
|
||||
<image :src="imgUrl+ userInfo.avatar" mode=""></image>
|
||||
<uni-icons type="arrowright" size="20" color="#999"></uni-icons>
|
||||
</view>
|
||||
<view class="list-cell" hover-class="cell-hover" :hover-stay-time="50">
|
||||
<text class="cell-tit">昵称</text>
|
||||
<input class="uni-input" style="width: 440rpx; text-align: right;" v-model="userInfo.nickname"
|
||||
placeholder="请输入昵称" />
|
||||
<uni-icons type="arrowright" size="20" color="#999"></uni-icons>
|
||||
</view>
|
||||
|
||||
<view class="list-cell" @tap="sex" hover-class="cell-hover" :hover-stay-time="50">
|
||||
<text class="cell-tit">性别</text>
|
||||
<text class="cell-tip">{{ userInfo.gender ? '女':'男'}}</text>
|
||||
<uni-icons type="arrowright" size="20" color="#999"></uni-icons>
|
||||
</view>
|
||||
|
||||
<view class="list-cell" style="border-radius: 0 0 16rpx 16rpx;" @tap="onTime" hover-class="cell-hover"
|
||||
:hover-stay-time="50">
|
||||
<text class="cell-tit">生日</text>
|
||||
<text class="cell-tip">{{userInfo.dtime}}</text>
|
||||
<uni-icons type="arrowright" size="20" color="#999"></uni-icons>
|
||||
</view>
|
||||
|
||||
<view class="list-cell m-t b-b" style="border-radius: 16rpx;"
|
||||
@click="navTo('/pagesA/myCenter/settings/mobile?mobile='+userInfo.mobile)" hover-class="cell-hover"
|
||||
:hover-stay-time="50">
|
||||
<text class="cell-tit">手机号</text>
|
||||
<text class="cell-tip">{{userInfo.mobile}}</text>
|
||||
<uni-icons type="arrowright" size="20" color="#999"></uni-icons>
|
||||
</view>
|
||||
|
||||
<view class="practices button" @click="sexgender">保存</view>
|
||||
|
||||
<!--生日-->
|
||||
<uv-datetime-picker ref="datetimePicker" :formatter="formatter" mode="date" @confirm="dialogTime">
|
||||
</uv-datetime-picker>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
let sex = ['男', '女'];
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
urls: '',
|
||||
sexsi: '',
|
||||
array: [],
|
||||
ageid: 0,
|
||||
listgrzl: [],
|
||||
msg: false,
|
||||
imgUrl: this.$config.webUrl,
|
||||
userInfo: {},
|
||||
configUrl: this.$config.webUrl,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
sexType() {
|
||||
return sex[this.sexsi];
|
||||
},
|
||||
},
|
||||
onShow() {
|
||||
this.getUsers();
|
||||
if (this.msg) {
|
||||
uni.showToast({
|
||||
title: '保存成功',
|
||||
icon: "none"
|
||||
});
|
||||
this.msg = false;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getUsers() {
|
||||
let that = this;
|
||||
that.$httpRequest({
|
||||
url: "/api/user/index",
|
||||
method: "GET"
|
||||
}).then(res => {
|
||||
that.userInfo.avatar = res.data.avatar;
|
||||
that.userInfo.nickname = res.data.nickname
|
||||
that.userInfo.gender = res.data.gender
|
||||
that.userInfo.dtime = res.data.birthday
|
||||
that.userInfo.mobile = res.data.mobile
|
||||
this.$forceUpdate()
|
||||
console.log(that.userInfo);
|
||||
uni.setStorageSync('userinfo', res.data);
|
||||
uni.setStorageSync('config', res.data.config)
|
||||
})
|
||||
|
||||
},
|
||||
unlockChange(e) {
|
||||
console.log(e.detail.value)
|
||||
let that = this;
|
||||
that.$httpRequest({
|
||||
url: "/api/user/userAutoPlay",
|
||||
method: "GET",
|
||||
data: {
|
||||
type: e.detail.value ? 1 : 0
|
||||
}
|
||||
}).then(res => {
|
||||
if (res.code === 1) {
|
||||
that.userInfo.auto_unlock = e.detail.value ? 1 : 0;
|
||||
uni.removeStorageSync('userinfo')
|
||||
uni.setStorageSync('userinfo', that.userInfo)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
navTo(url) {
|
||||
console.log(url)
|
||||
uni.navigateTo({
|
||||
url: url,
|
||||
success: (res) => {
|
||||
console.log(res)
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log(err)
|
||||
}
|
||||
})
|
||||
},
|
||||
navsTo(url) {
|
||||
uni.navigateTo({
|
||||
url: url
|
||||
})
|
||||
},
|
||||
|
||||
//选择性别
|
||||
sex() {
|
||||
uni.showActionSheet({
|
||||
itemList: sex,
|
||||
success: (res) => {
|
||||
console.log(res);
|
||||
this.userInfo.gender = res.tapIndex
|
||||
this.$forceUpdate()
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
sexgender() {
|
||||
console.log(this.userInfo.avatar);
|
||||
this.$httpRequest({
|
||||
url: "/api/user/edituser",
|
||||
method: "GET",
|
||||
data: {
|
||||
sex: this.userInfo.gender,
|
||||
nickname: this.userInfo.nickname,
|
||||
org: this.userInfo.dtime,
|
||||
avatar: this.userInfo.avatar,
|
||||
}
|
||||
}).then(res => {
|
||||
uni.showToast({
|
||||
title: "修改成功",
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
});
|
||||
this.getUsers();
|
||||
})
|
||||
},
|
||||
doBefore() {
|
||||
console.log('doBefore');
|
||||
},
|
||||
clk(index) {
|
||||
uni.chooseImage({
|
||||
count: 1,
|
||||
sizeType: ['original', 'compressed'],
|
||||
sourceType: ['album', 'camera'],
|
||||
success: (r) => {
|
||||
this.doUpload(r)
|
||||
}
|
||||
})
|
||||
},
|
||||
doUpload(rsp) {
|
||||
let that = this;
|
||||
uni.showLoading({
|
||||
title: '加载中'
|
||||
});
|
||||
uni.uploadFile({
|
||||
url: this.$config.webUrl + '/api/user/avatar?token=' + uni.getStorageSync("userinfo")
|
||||
.token, //仅为示例,非真实的接口地址
|
||||
file: rsp.tempFiles[0].path || rsp.tempFiles[0],
|
||||
filePath: rsp.tempFiles[0].path || rsp.tempFiles[0],
|
||||
name: "file",
|
||||
dataType: "json",
|
||||
formData: {
|
||||
token: uni.getStorageSync("userinfo").token,
|
||||
uid: uni.getStorageSync("userinfo").id,
|
||||
file: rsp.tempFiles[0].path || rsp.tempFiles[0]
|
||||
},
|
||||
success: (uploadFileRes) => {
|
||||
|
||||
var dataarr = JSON.parse(uploadFileRes.data);
|
||||
if (dataarr.code == 1) {
|
||||
console.log(dataarr.data.url)
|
||||
let userinfo = uni.getStorageSync('userinfo');
|
||||
this.userInfo.avatar = dataarr.data.url;
|
||||
console.log(this.userInfo.avatar);
|
||||
this.getUsers()
|
||||
|
||||
|
||||
uni.removeStorage('userinfo')
|
||||
uni.setStorageSync('userinfo', userinfo)
|
||||
uni.showToast({
|
||||
title: "修改成功"
|
||||
})
|
||||
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: dataarr.msg
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
});
|
||||
},
|
||||
//修改生日
|
||||
onTime() {
|
||||
this.$refs.datetimePicker.open();
|
||||
},
|
||||
formatter(type, value) {
|
||||
if (type === 'year') {
|
||||
return `${value}年`
|
||||
}
|
||||
if (type === 'month') {
|
||||
return `${value}月`
|
||||
}
|
||||
if (type === 'day') {
|
||||
return `${value}日`
|
||||
}
|
||||
return value
|
||||
},
|
||||
dialogTime(e) {
|
||||
this.userInfo.dtime = this.timestampToDate(e.value)
|
||||
this.$forceUpdate()
|
||||
},
|
||||
timestampToDate(timestamp) {
|
||||
var date = new Date(timestamp); // 转换为Date对象
|
||||
var year = date.getFullYear(); // 获取年份
|
||||
var month = ('0' + (date.getMonth() + 1)).slice(-2); // 获取月份,转为两位数
|
||||
var day = ('0' + date.getDate()).slice(-2); // 获取日,转为两位数
|
||||
return year + '-' + month + '-' + day; // 拼接字符串返回
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang='scss' scoped>
|
||||
.yyt-ellipsis {
|
||||
display: inline-block;
|
||||
overflow: hidden; //超出的文本隐藏
|
||||
text-overflow: ellipsis; //溢出用省略号显示
|
||||
white-space: nowrap; //溢出不换
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 20rpx;
|
||||
background: #F7F8F9;
|
||||
}
|
||||
|
||||
.avatar {
|
||||
padding-top: 40upx !important;
|
||||
padding-bottom: 40upx !important;
|
||||
}
|
||||
|
||||
.agess {
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
height: 100%;
|
||||
line-height: 38px;
|
||||
padding-left: 200px;
|
||||
padding-right: 36px !important;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.avatar .cell-tit {
|
||||
font-weight: bold !important;
|
||||
|
||||
}
|
||||
|
||||
.avatar image {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 36px;
|
||||
width: 88upx;
|
||||
height: 88upx;
|
||||
border-radius: 50%;
|
||||
margin-top: -44upx;
|
||||
z-index: 1
|
||||
}
|
||||
|
||||
.list-cell {
|
||||
display: flex;
|
||||
padding: 20upx;
|
||||
line-height: 60upx;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-bottom: 1rpx solid #eeeeee;
|
||||
|
||||
&.log-out-btn {
|
||||
margin-top: 40upx;
|
||||
|
||||
.cell-tit {
|
||||
color: $uni-color-primary;
|
||||
text-align: center;
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.cell-hover {
|
||||
background: #fafafa;
|
||||
}
|
||||
|
||||
&.b-b:after {
|
||||
left: 30upx;
|
||||
}
|
||||
|
||||
&.m-t {
|
||||
margin-top: 16upx;
|
||||
}
|
||||
|
||||
.cell-more {
|
||||
align-self: baseline;
|
||||
|
||||
margin-left: 10upx;
|
||||
}
|
||||
|
||||
.cell-tit {
|
||||
flex: 1;
|
||||
|
||||
margin-right: 10upx;
|
||||
}
|
||||
|
||||
.cell-tip {}
|
||||
|
||||
switch {
|
||||
transform: translateX(16upx) scale(.84);
|
||||
}
|
||||
}
|
||||
|
||||
.practices {
|
||||
height: 80rpx;
|
||||
width: 100%;
|
||||
border-radius: 40rpx;
|
||||
background: linear-gradient(123deg, #00E075 0%, #09D89E 100%);
|
||||
text-align: center;
|
||||
line-height: 80rpx;
|
||||
margin-top: 200rpx;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,119 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="uni-form-item uni-column">
|
||||
<view class="with-fun" style="padding: 20upx;">
|
||||
<input class="uni-input" type="text" confirm-type="done" focus :placeholder="name" placeholder-style="color:#666" @input="onKeyInput" :value="inputValue" />
|
||||
</view>
|
||||
</view>
|
||||
<button class="onname" :style="{'background':dbled?'#999':'#E17503'}" :disabled="dbled" type="primary" @tap="onOKname()">确 认</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
inputValue: '',
|
||||
dbled:true,
|
||||
name:'',
|
||||
ty:''
|
||||
}
|
||||
},
|
||||
onLoad(options){
|
||||
//接收传值,id里面放的是标题,因为测试数据并没写id
|
||||
let ty = options.ty;
|
||||
let name = options.name;
|
||||
let v = options.v;
|
||||
this.ty=ty;
|
||||
this.name='请修改'+name;
|
||||
uni.setNavigationBarTitle({
|
||||
title: '修改'+name
|
||||
});
|
||||
if(v=='null'){
|
||||
this.inputValue='';
|
||||
}else{
|
||||
this.inputValue=v;
|
||||
}
|
||||
},
|
||||
onBackPress() {
|
||||
console.log('ok')
|
||||
},
|
||||
methods: {
|
||||
onKeyInput(event){
|
||||
this.inputValue = event.target.value
|
||||
let lens = event.target.value
|
||||
if(lens.length){
|
||||
this.dbled=false
|
||||
}else{
|
||||
this.dbled=true
|
||||
}
|
||||
},
|
||||
onOKname() {
|
||||
let that = this;
|
||||
that.$httpRequest({
|
||||
url:"/api/user/edituser",
|
||||
method:"GET",
|
||||
data:{
|
||||
[this.ty]: this.inputValue
|
||||
}
|
||||
}).then(res=>{
|
||||
uni.showToast({title: '修改成功',icon:"none",duration:2000})
|
||||
}).catch(err=>{
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.title {
|
||||
padding: 10upx 25upx;
|
||||
}
|
||||
.with-fun{
|
||||
background: #f8f8f8;
|
||||
position: relative;
|
||||
}
|
||||
.with-fun:after{
|
||||
position: absolute;
|
||||
content: $name;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
top: 0px;
|
||||
left: 20px;
|
||||
font-size: 32upx;
|
||||
}
|
||||
.uni-input{
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
font-size: 32upx;
|
||||
background: #f8f8f8;
|
||||
|
||||
color: #666;
|
||||
}
|
||||
.uni-icon-clear,
|
||||
.uni-icon-eye {
|
||||
color: #999;
|
||||
}
|
||||
.onname{
|
||||
width: 94%;
|
||||
margin: 20upx auto;
|
||||
background: -webkit-linear-gradient(left top, #E49315 , #E17503); /* Safari 5.1 - 6.0 */
|
||||
background: -o-linear-gradient(bottom right, #E49315, #E17503); /* Opera 11.1 - 12.0 */
|
||||
background: -moz-linear-gradient(bottom right, #E49315,#E17503); /* Firefox 3.6 - 15 */
|
||||
background: linear-gradient(to bottom right, #E49315 , #E17503); /* 标准的语法(必须放在最后) */
|
||||
}
|
||||
.onnames{
|
||||
width: 94%;
|
||||
margin: 20upx auto;
|
||||
background: -webkit-linear-gradient(left top, #f1f1f1 , #f9f9f9); /* Safari 5.1 - 6.0 */
|
||||
background: -o-linear-gradient(bottom right, #f1f1f1, #f9f9f9); /* Opera 11.1 - 12.0 */
|
||||
background: -moz-linear-gradient(bottom right, #f1f1f1,#f9f9f9); /* Firefox 3.6 - 15 */
|
||||
background: linear-gradient(to bottom right, #f1f1f1 , #f9f9f9); /* 标准的语法(必须放在最后) */
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,170 @@
|
||||
<template>
|
||||
<view class="pagesContent">
|
||||
<view class="beansList">
|
||||
<view class="beansItem box" v-for="item in listData" :key="item.id">
|
||||
<view class="beansLeft">
|
||||
<view class="remark">{{ item.remark }}</view>
|
||||
<view class="time">{{ item.createtime }}</view>
|
||||
</view>
|
||||
<view :class="item.jzt == '-'?'right black':'right yellow'">
|
||||
{{ item.jzt }}{{ item.beans }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<uni-load-more :status="status"/>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
listData: [],
|
||||
status: 'more',
|
||||
userInfo: {},
|
||||
pages: {
|
||||
pageSize: 20,
|
||||
currentPage: 1,
|
||||
isNextPage: true
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
this.status = 'more';
|
||||
if (this.pages.isNextPage) {
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.userInfo = uni.getStorageSync('userinfo')
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
navBack() {
|
||||
uni.navigateBack(1);
|
||||
},
|
||||
|
||||
getList() {
|
||||
let that = this;
|
||||
if (that.pages.isNextPage) {
|
||||
that.status = 'loading';
|
||||
that.$httpRequest({
|
||||
url: "/api/user/userBeansInfo",
|
||||
methods: "GET",
|
||||
data: {
|
||||
limit: that.pages.pageSize,
|
||||
page: that.pages.currentPage
|
||||
}
|
||||
}).then(res => {
|
||||
that.status = '';
|
||||
if(res.rows.length>0 || res.data.length>0){
|
||||
if (that.pages.currentPage == 1) {
|
||||
that.listData = res.data || res.rows;
|
||||
} else{
|
||||
that.listData = that.listData.concat(res.data || res.rows);
|
||||
}
|
||||
that.pages.currentPage += 1;
|
||||
}else{
|
||||
that.status = 'noMore';
|
||||
that.pages.isNextPage = false;
|
||||
}
|
||||
}).catch(err => {
|
||||
that.status = '';
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.pagesContent {
|
||||
background-color: #F7F8F9;
|
||||
min-height: 100vh;
|
||||
padding: 26rpx;
|
||||
}
|
||||
|
||||
.pageHeader {
|
||||
background: linear-gradient(to right, #F1FFE9, #FFFFF4);
|
||||
height: 408rpx;
|
||||
padding: 0 24rpx;
|
||||
padding-top: 42rpx;
|
||||
}
|
||||
|
||||
.navBack {
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
height: 160rpx;
|
||||
line-height: 160rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.backIcon {
|
||||
position: absolute;
|
||||
left: 0rpx;
|
||||
top: 0rpx;
|
||||
}
|
||||
|
||||
.beans {
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.beansNum {
|
||||
margin-top: 24rpx;
|
||||
font-size: 80rpx;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.beansCont {
|
||||
padding: 40rpx 24rpx;
|
||||
}
|
||||
|
||||
.beansListHeader {
|
||||
color: #333333;
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.beansItem {
|
||||
padding: 24rpx 34rpx;
|
||||
border-bottom: 1rpx solid #F8F8F8;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 24rpx;
|
||||
border-radius: 12rpx;
|
||||
|
||||
}
|
||||
|
||||
.remark {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.time {
|
||||
color: #999999;
|
||||
font-size: 24rpx;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
.right{
|
||||
font-size: 28rpx;font-weight: 600;
|
||||
}
|
||||
.black{
|
||||
color: #333;
|
||||
}
|
||||
.yellow{
|
||||
color: #F98B1E;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,217 @@
|
||||
<template>
|
||||
<view class="pagesContent">
|
||||
<view class="pageHeader">
|
||||
<view class="navBack">
|
||||
<uni-icons class="backIcon" type="left" size="24" color="#333" @click="navBack"></uni-icons>
|
||||
我的收益
|
||||
</view>
|
||||
<view class="beans">余额</view>
|
||||
<view class="withDraw" @click="showWithDraw" v-if="balanceBtn"> 提现 </view>
|
||||
<view class="beansNum"> {{ userInfo.beans }}</view>
|
||||
</view>
|
||||
<view class="beansCont">
|
||||
<view class="beansListHeader"> 收益明细</view>
|
||||
<view class="beansList">
|
||||
<view class="beansItem" v-for="item in listData" :key="item.id">
|
||||
<view class="beansLeft">
|
||||
<view class="remark">{{ item.memo }} ({{ item.come_nickname }}
|
||||
{{ item.come_id ? ' ID:' + item.come_id : '' }})
|
||||
</view>
|
||||
<view class="time">{{ item.createtime }}</view>
|
||||
</view>
|
||||
<view :class="item.jzt == '-'?'right black':'right yellow'">
|
||||
{{ item.jzt }}{{ item.money }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<uni-popup ref="popup_ti_xian" type="bottom">
|
||||
<tixianForm @success-close="hideWithDraw"></tixianForm>
|
||||
</uni-popup>
|
||||
<uni-load-more :status="status"/>
|
||||
</view>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import tixianForm from '@/pagesA/components/ti_xian.vue'
|
||||
export default {
|
||||
components: {
|
||||
tixianForm
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
listData: [],
|
||||
status: 'more',
|
||||
userInfo: {},
|
||||
balanceBtn:true,
|
||||
pages: {
|
||||
pageSize: 20,
|
||||
currentPage: 1,
|
||||
isNextPage: true
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
this.status = 'more';
|
||||
if (this.pages.isNextPage) {
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.userInfo = uni.getStorageSync('userinfo')
|
||||
this.balanceBtn = uni.getStorageSync("config").mini_chek =="1"?true:false;
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
navBack() {
|
||||
uni.navigateBack(1);
|
||||
},
|
||||
showWithDraw() {
|
||||
this.$refs.popup_ti_xian.open()
|
||||
},
|
||||
hideWithDraw(){
|
||||
console.log("close");
|
||||
this.$refs.popup_ti_xian.close();
|
||||
},
|
||||
getList() {
|
||||
let that = this;
|
||||
if (that.pages.isNextPage) {
|
||||
that.status = 'loading';
|
||||
that.$httpRequest({
|
||||
url: "/api/user/userBeansInfo",
|
||||
methods: "GET",
|
||||
data: {
|
||||
limit: that.pages.pageSize,
|
||||
page: that.pages.currentPage
|
||||
}
|
||||
}).then(res => {
|
||||
that.status = '';
|
||||
if (res.data.code == 1) {
|
||||
if (that.pages.pageSize == 1) {
|
||||
that.listData = res.data;
|
||||
} else if (res.data.rows.length > 0) {
|
||||
that.listData = that.listData.concat(res.data.rows);
|
||||
} else {
|
||||
that.status = 'noMore';
|
||||
that.pages.isNextPage = false;
|
||||
}
|
||||
that.pages.currentPage += 1;
|
||||
} else {
|
||||
}
|
||||
}).catch(err => {
|
||||
that.status = '';
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.pagesContent {
|
||||
background-color: #FFFFFF;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.pageHeader {
|
||||
background: linear-gradient(to right, #F1FFE9, #FFFFF4);
|
||||
height: 408rpx;
|
||||
padding: 0 24rpx;
|
||||
padding-top: 42rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.navBack {
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
height: 160rpx;
|
||||
line-height: 160rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.backIcon {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.beans {
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
|
||||
.withDraw {
|
||||
width: 172rpx;
|
||||
height: 68rpx;
|
||||
background-color: #85ED1C;
|
||||
border-radius: 12rpx;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
font-weight: 500;
|
||||
text-align: center;
|
||||
line-height: 68rpx;
|
||||
position: absolute;
|
||||
top: 200rpx;
|
||||
right: 20rpx;
|
||||
margin-top: 22rpx;
|
||||
}
|
||||
|
||||
.beansNum {
|
||||
margin-top: 24rpx;
|
||||
font-size: 80rpx;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.beansCont {
|
||||
padding: 40rpx 24rpx;
|
||||
}
|
||||
|
||||
.beansListHeader {
|
||||
color: #333333;
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.beansItem {
|
||||
padding: 24rpx 0;
|
||||
border-bottom: 1rpx solid #F8F8F8;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.remark {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.time {
|
||||
color: #999999;
|
||||
font-size: 24rpx;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
|
||||
.right {
|
||||
font-size: 28rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.black {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.yellow {
|
||||
color: #F98B1E;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,25 @@
|
||||
<template>
|
||||
<view class="pages">
|
||||
<web-view :src="urls"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
urls:""
|
||||
};
|
||||
},
|
||||
onLoad(e) {
|
||||
console.log(e.url)
|
||||
this.urls = decodeURIComponent( e.url);
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.pages {
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,153 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="flex" style="display:flex; flex-wrap:wrap; padding: 30upx 30upx 0px 30upx;">
|
||||
<block v-for="(value,key) in listData" :key="key">
|
||||
<view class="mb15" style="width:31%; border-radius:20rpx;margin-right: 14rpx;"
|
||||
@click="detail(value.vid,value.mid)">
|
||||
<!-- <view class="btn-mini" style="position: absolute; top: 20upx; right: 20upx; border-radius: 10upx;font-size: 18upx;width: 60upx; height: 36upx; z-index: 1;" :style="getBtnStyle">{{value.lxname}}</view> -->
|
||||
<image class="integral-mall-goods" mode="aspectFill" :src="value.img"></image>
|
||||
<view class="pr10 ft14 ftw400 text-over cl-main">{{value.vname}}</view>
|
||||
<view class="pr10 ft12 ftw500 text-over cl-999">观看至 {{value.mid}} 集</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<uni-load-more :status="status" :content-text="contentText" />
|
||||
<view style="width: 100%; height: 30upx;"></view>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return {
|
||||
banners:[],
|
||||
searchValue:'',
|
||||
pages:{
|
||||
currentPage:1,
|
||||
pageSize:20,
|
||||
isNextPage:true
|
||||
},
|
||||
tabs:[
|
||||
{name:'全部'},
|
||||
{name:'视频'},
|
||||
{name:'音频'},
|
||||
{name:'小说'},
|
||||
{name:'壁纸'},
|
||||
],
|
||||
selectIndex:0,
|
||||
scrollTop:0,
|
||||
type:'',
|
||||
|
||||
listData: [],
|
||||
status: 'more',
|
||||
contentText: {
|
||||
contentdown: "上拉显示更多",
|
||||
contentrefresh: "正在加载...",
|
||||
contentnomore: "没有更多数据了"
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
onLoad(e){
|
||||
//console.log(111)
|
||||
if(e.selectIndex){
|
||||
this.selectIndex=e.selectIndex*1
|
||||
}
|
||||
this.status = 'more';
|
||||
this.getList();
|
||||
this.banners=uni.getStorageSync("config").banner
|
||||
},
|
||||
|
||||
onReachBottom() {
|
||||
this.status = 'more';
|
||||
this.getList();
|
||||
},
|
||||
|
||||
methods:{
|
||||
detail(vid,mid){
|
||||
uni.navigateTo({
|
||||
url:'/pagesA/player/detailPlayer?vid='+vid+'&mid='+mid
|
||||
})
|
||||
},
|
||||
getList() {
|
||||
let that = this;
|
||||
if (that.pages.isNextPage) {
|
||||
that.status = 'loading';
|
||||
that.$httpRequest({
|
||||
url: "/api/video/videolog",
|
||||
methods: "GET",
|
||||
data: {
|
||||
limit: that.pages.pageSize,
|
||||
page: that.pages.currentPage
|
||||
}
|
||||
}).then(res => {
|
||||
that.status = '';
|
||||
if (that.pages.currentPage == 1) {
|
||||
that.listData = res.rows;
|
||||
} else if (res.rows.length > 0) {
|
||||
that.listData = that.listData.concat(res.rows);
|
||||
} else {
|
||||
that.status = 'noMore';
|
||||
that.pages.isNextPage = false;
|
||||
}
|
||||
that.pages.currentPage += 1;
|
||||
}).catch(err => {
|
||||
that.status = '';
|
||||
console.log(err)
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.integral-mall-goods {
|
||||
width: 100%;
|
||||
height: 280rpx;
|
||||
background: #F2F2F2;
|
||||
border-radius: 16upx;
|
||||
}
|
||||
|
||||
.user-not-vip {
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
background: #FDF6EC;
|
||||
border-radius: 40rpx;
|
||||
border: 2rpx solid #EFC381;
|
||||
text-align: center;
|
||||
line-height: 76rpx;
|
||||
font-size: 24rpx;
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
.tuan-product-l {
|
||||
width: 320rpx;
|
||||
height: 240rpx;
|
||||
border-radius: 16rpx;
|
||||
background: #F2F2F2;
|
||||
}
|
||||
|
||||
.tuan-product-r {
|
||||
width: calc(100% - 320rpx);
|
||||
}
|
||||
|
||||
.search-result {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.search-result-text {
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.uni-mt-10 {
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user