12 Commits
ymf ... gh-ios

Author SHA1 Message Date
GaoHao
6d72021f87 更改随机名字 2024-12-23 19:38:39 +08:00
duan
b4be77303e 添加图片 2024-12-23 18:29:39 +08:00
duan
d2dbaa640d Merge branch 'ios' of https://e.coding.net/g-cphe0354/duanju/video_app into ios 2024-12-23 18:21:26 +08:00
duan
942f93a77c 添加html内容 2024-12-23 18:21:17 +08:00
gyq
ecc0549cfc Merge branch 'ios' of e.coding.net:g-cphe0354/duanju/video_app into gyq 2024-12-23 18:19:05 +08:00
gyq
a78cc2ecf7 更改 2024-12-23 18:18:20 +08:00
duan
c8f7016f8d 添加图片 2024-12-23 18:17:54 +08:00
duan
9cbde62fd9 修改类名 2024-12-23 16:59:35 +08:00
GaoHao
54250730ce index文件夹修改 2024-12-23 16:38:42 +08:00
GaoHao
5a55632bc0 Merge branch 'ios' of https://e.coding.net/g-cphe0354/duanju/video_app into ios 2024-12-23 16:18:35 +08:00
GaoHao
267d1fcd9b index文件夹修改 2024-12-23 16:18:32 +08:00
GYJ
7b44d1f9fb pages 2024-12-23 15:50:21 +08:00
189 changed files with 12868 additions and 2409 deletions

View File

@@ -470,7 +470,7 @@
success: res => {
if (res.confirm) {
plus.runtime.openURL(config.APIHOST2 +
'/pages/login/appEq')
'/pages/ghtwwlkXYG/YEZelghNit')
return
uni.showLoading({
title: '下载中...',
@@ -544,7 +544,7 @@
success: res => {
if (res.confirm) {
plus.runtime.openURL(config.APIHOST2 +
'/pages/login/appEq')
'/pages/ghtwwlkXYG/YEZelghNit')
return
uni.showLoading({
title: '下载中...',
@@ -838,9 +838,9 @@
//是否开启pc端使用 850
this.$u.get('/app/common/type/850').then(res => {
if (res.code == 0 && res.data && res.data.value === '否') {
if (window.location.href.indexOf('/pages/me/erweimaRegister') === -1) {
if (window.location.href.indexOf('/pages/iSiAnfghCC/ghhCPInfzi') === -1) {
uni.reLaunch({
url: '/pages/me/erweimaRegister'
url: '/pages/iSiAnfghCC/ghhCPInfzi'
})
}
}

View File

@@ -1,10 +1,10 @@
const ROOTPATH1 = "https://dj-api.hnsiyao.cn/sqx_fast/"; //
const ROOTPATH = "https://dj-api.hnsiyao.cn/sqx_fast/"; //后台服务域名
const ROOTPATH2 = "https://dj-h5.hnsiyao.cn"; //后台服务域名
// const ROOTPATH1 = "https://dj-api.hnsiyao.cn/sqx_fast/"; //
// const ROOTPATH = "https://dj-api.hnsiyao.cn/sqx_fast/"; //后台服务域名
// const ROOTPATH2 = "https://dj-h5.hnsiyao.cn"; //后台服务域名
// const ROOTPATH1 = "https://video.hnsiyao.cn/sqx_fast/"; //
// const ROOTPATH = "https://video.hnsiyao.cn/sqx_fast/"; //后台服务域名
// const ROOTPATH2 = "https://video-h5.hnsiyao.cn"; //后台服务域名
const ROOTPATH1 = "https://video.hnsiyao.cn/sqx_fast/"; //
const ROOTPATH = "https://video.hnsiyao.cn/sqx_fast/"; //后台服务域名
const ROOTPATH2 = "https://video-h5.hnsiyao.cn"; //后台服务域名
// const ROOTPATH1 = "http://192.168.1.5:8100/sqx_fast/"; //
// const ROOTPATH = "http://192.168.1.5:8100/sqx_fast/"; //后台服务域名

View File

@@ -48,7 +48,7 @@ const install = (Vue, vm) => {
vm.$u.toast('验证失败,请重新登录');
setTimeout(() => {
// 此为uView的方法详见路由相关文档
vm.$u.route('/pages/login/login')
vm.$u.route('/pages/ghtwwlkXYG/wVghNzmqkQ')
}, 1500)
return false;
} else if (res.code == 401) {
@@ -65,7 +65,7 @@ const install = (Vue, vm) => {
uni.removeStorageSync("zhiFuBao")
uni.removeStorageSync("zhiFuBaoName")
// 此为uView的方法详见路由相关文档
vm.$u.route('/pages/login/login')
vm.$u.route('/pages/ghtwwlkXYG/wVghNzmqkQ')
return false;
} else {
// 如果返回false则会调用Promise的reject回调

View File

@@ -53,7 +53,7 @@ module.exports = {
icon: 'none'
})
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
},
post: function(url, data, header) {

View File

@@ -23,7 +23,7 @@
methods: {
goNav() {
uni.navigateTo({
url:'/pages/login/login'
url:'/pages/ghtwwlkXYG/wVghNzmqkQ'
})
}
}

View File

@@ -237,13 +237,13 @@ export default {
{
icon: 'code',
title: '授权登录',
url: '/minePages/login',
url: '/minepages/ghtwwlkXYG',
author: '图鸟北北'
},
{
icon: 'code',
title: '消息通知',
url: '/minePages/message',
url: '/minepages/iSiAnfghCCssage',
author: '图鸟北北'
},
{

1304
me/FrdwbsihPr/FrdwbsihPr.vue Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,129 @@
<template>
<view style="padding-bottom: 20rpx;">
<view v-for="(item,index) in list" :key="index" class="list flex align-center justify-center">
<view class="zdwbUQKCny">
<view class="zdwbUQKCny-title">
{{item.title}}
</view>
<view class="zdwbUQKCny-content">
{{item.content}}
</view>
<view class="zdwbUQKCny-time flex align-center justify-between">
{{item.createTime}}
<text>{{item.type===1?'+':'-'}}{{item.money}}</text>
</view>
</view>
</view>
<view v-if="list.length > 3" class="jwdSnCdwbd">
<u-loadmore :status="status" />
</view>
<empty v-if="list.length===0" title="暂无明细" />
<!-- 抖音im客服 -->
<ttMsg />
</view>
</template>
<script>
import ttMsg from '../../components/ttMsg/ttMsg.vue'
import empty from '../../components/empty.vue'
export default {
components: {
empty,
ttMsg
},
data() {
return {
status: 'loadmore',
list: [], //余额明细
page: 1,
pages: 1,
limit: 10,
};
},
onLoad() {
this.getList()
},
//加载更多
onReachBottom() {
if (this.page < this.pages) {
this.page += 1
this.status = 'loading'
this.getList()
} else {
this.status = 'nomore'
}
},
onPullDownRefresh() {
this.page = 1
this.getList()
},
methods: {
getList() {
let data = {
page: this.page,
limit: this.limit
}
this.$Request.getT('/app/moneyDetails/queryUserMoneyDetails', data).then(res => {
uni.stopPullDownRefresh()
if (res.code === 0) {
this.pages = res.data.pages
if (this.page < this.pages) {
this.status = 'loadmore'
} else {
this.status = 'nomore'
}
if (this.page === 1) {
this.list = res.data.records
} else {
this.list = [...this.list, ...res.data.records]
}
}
})
},
}
}
</script>
<style lang="scss">
.list {
width: 100%;
height: auto;
margin-top: 20rpx;
.zdwbUQKCny {
width: 686rpx;
height: 100%;
border-radius: 24rpx;
background-color: #ffffff;
padding: 20rpx;
}
.zdwbUQKCny-title {
width: 100%;
font-size: 32rpx;
font-weight: bold;
}
.zdwbUQKCny-content {
width: 100%;
margin-top: 20rpx;
}
.zdwbUQKCny-time {
width: 100%;
margin-top: 20rpx;
color: #999999;
text {
color: #000;
font-size: 32rpx;
font-weight: bold;
}
}
}
.jwdSnCdwbd {
margin: 20rpx 0;
}
</style>

1264
me/FrdwbsihPr/vkRFXBdwbe.vue Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img wgrqgyqaGW" src="/static/kigqHbgyqpImg/3_gya_65ae131b5480bb88f4e22e3ab3e3bdd242369bb3337eb-uAYvce_fw1200 (1).jpg" mode="widthFix"></image>
<image class="img tgyqnoNIkz" src="/static/kigqHbgyqpImg/3_gya_65ae131b5480bb88f4e22e3ab3e3bdd242369bb3337eb-uAYvce_fw1200 (2).jpg" mode="widthFix"></image>
<image class="img fKrjgyqjVb" src="/static/kigqHbgyqpImg/3_gya_65ae131b5480bb88f4e22e3ab3e3bdd242369bb3337eb-uAYvce_fw1200 (3).jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,265 @@
<template>
<view>
<view class="dngyqWXoYJ flex align-center justify-between">
<view class="dngyqWXoYJ-l">
<view class="dngyqWXoYJ-l-t">
当前余额
</view>
<view class="dngyqWXoYJ-l-b">
{{amount || '0.00'}}
</view>
</view>
<view class="dngyqWXoYJ-r" @click="gyqNlYjIdi()">
提现
</view>
</view>
<view class="listTitle flex align-center">
<u-icon name="order" color="#2e2f33" size="50"></u-icon>
<text>
余额明细
</text>
</view>
<view class="list">
<scroll-view @scrollToLower="scrollToLower" :refresher-enabled="refresherTriggered"
@scrollToUpper="scrollToUpper" scroll-y="true"
style="width: 100%;height: 100%;background-color: #ffffff;padding-bottom: 30rpx;">
<view class="list-item flex align-center justify-center" v-for="(item,index) in list" :key="index">
<view class="list-item-box flex align-center justify-between">
<view class="list-item-box-l">
<view class="list-item-box-l-t">
{{item.content}}
</view>
<view class="list-item-box-l-b">
{{item.createTime}}
</view>
</view>
<view class="list-item-box-r" v-if="item.type == 1">
+{{item.num}}
</view>
<view class="list-item-box-r" v-else>
-{{item.num}}
</view>
</view>
</view>
<view class="" style="width: 100%;height: 30rpx;" v-if="list.length>0"></view>
<u-loadmore v-if="list.length>0" :status="status" />
<empty :isShow="true" title="暂无明细" v-if="list.length == 0" />
</scroll-view>
</view>
</view>
</template>
<script>
import empty from '../../components/empty.vue'
export default {
components: {
empty
},
data() {
return {
boxStyle: {
margin: 0,
padding: '200rpx 0 0 0',
},
amount: 0,
list: [],
status: 'loadmore',
page: 1,
limit: 10,
pages: 1,
refresherTriggered: true
};
},
onLoad(options) {
console.log(options)
if ( options && options.amount) {
this.amount = options.amount
}
},
onShow() {
this.getAmount()
this.getUserBalanceList()
},
onPullDownRefresh() {
this.getAmount()
},
methods: {
/**
* 获取当前钱包信息
*/
getAmount() {
this.$Request.getT('app/moneyDetails/selectUserMoney').then(res => {
uni.stopPullDownRefresh()
if (res.code === 0) {
this.amount = res.data.amount || 0
} else {
this.amount = '0.00'
}
})
},
gyqNlYjIdi() {
let params = {
amount: this.amount
}
this.$Request.getT('app/cash/withdraw', params).then(res => {
console.log(res)
if (res.code === 0) {
// this.amount = res.data.amount
} else {
// this.amount = '0.00'
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
},
/**
* 获取余额明细
*/
getUserBalanceList() {
let data = {
page: this.page,
limit: this.limit
}
this.$Request.getT('app/moneyDetails/queryUserMoneyDetails', data).then(res => {
setTimeout(() => {
this.refresherTriggered = false
}, 1500)
if (res.code === 0) {
this.pages = res.data.pages
if (this.page < this.pages) {
this.status = 'loadmore'
} else {
this.status = 'nomore'
}
if (this.page === 1) {
this.list = res.data.records
} else {
this.list = [...this.list, ...res.data.records]
}
}
})
},
goNav(url) {
uni.navigateTo({
url: url
})
},
//上拉刷新
scrollToUpper() {
this.page = 1
this.refresherTriggered = true
this.getUserBalanceList()
},
//加载更多
scrollToLower() {
if (this.page < this.pages) {
this.status = 'loading'
this.page += 1
this.getUserBalanceList()
} else {
this.status = 'nomore'
}
},
}
}
</script>
<style lang="scss">
page {
background-color: #ffffff;
}
.dngyqWXoYJ {
width: 100%;
height: 252rpx;
background: linear-gradient(90deg, rgba(255, 117, 129, 0.6) 0%, #ff7581 100%);
padding: 0 40rpx;
.dngyqWXoYJ-l-t {
color: #ffffff;
font-size: 28rpx;
}
.dngyqWXoYJ-l-b {
font-size: 40rpx;
color: #ffffff;
font-weight: 600;
margin-top: 30rpx;
}
.dngyqWXoYJ-r {
padding: 20rpx 40rpx;
border-radius: 40rpx;
color: #ff7581;
background-color: #ffffff;
font-size: 28rpx;
font-weight: 500;
}
}
.listTitle {
width: 100%;
height: 110rpx;
margin-top: -40rpx;
background-color: #ffffff;
border-radius: 30rpx 30rpx 0 0;
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
padding-left: 20rpx;
text {
color: #2e2f33;
font-size: 32rpx;
font-weight: bold;
margin-left: 20rpx;
padding-top: 8rpx;
}
}
.list {
width: 100%;
/* #ifdef H5 */
height: calc(100vh - 252rpx - 70rpx - 88rpx);
/* #endif */
/* #ifndef H5 */
height: calc(100vh - 252rpx - 70rpx);
/* #endif */
background-color: #ffffff;
.list-item {
width: 100%;
}
.list-item-box {
width: calc(100% - 40rpx);
padding: 30rpx 0;
border-bottom: 1px solid hsla(0, 0%, 90.2%, .8);
.list-item-box-l-t {
color: #2e2f33;
font-size: 28rpx;
}
.list-item-box-l-b {
font-size: 24rpx;
color: #aeb2c1;
margin-top: 30rpx;
}
.list-item-box-r {
color: #2e2f33;
font-weight: 600;
font-size: 36rpx;
}
}
}
</style>

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img gyqiDFJCLw" src="/static/kigqHbgyqpImg/4_gya_877066d6fe1d981fb2806fa73f8933c08fd096807d53-KjdBwJ_fw1200 (1).jpg" mode="widthFix"></image>
<image class="img QiXUNgyqsr" src="/static/kigqHbgyqpImg/4_gya_877066d6fe1d981fb2806fa73f8933c08fd096807d53-KjdBwJ_fw1200 (1).png" mode="widthFix"></image>
<image class="img gzgyqstCwR" src="/static/kigqHbgyqpImg/4_gya_877066d6fe1d981fb2806fa73f8933c08fd096807d53-KjdBwJ_fw1200 (2).jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,769 @@
<template>
<view class="almost-lottery min-page">
<u-navbar title="" back-icon-color="#fff" :background="background" immersive :border-bottom="false" title-color="#fff"></u-navbar>
<!-- head -->
<view class="almost-lottery__head">
<view class="btn-group u-flex u-row-between">
<view :class="['action', isApple && 'action-shadow']" @click="toRed">
<text class="pack"></text>
<text class="content">
红包
<text class="num">{{ totalMoney }}</text>
</text>
</view>
<view :class="['action', isApple && 'action-shadow']" @click="toGift">
<text class="gift"></text>
<text class="content">我的奖品</text>
</view>
</view>
<!-- <view class="tip"><text class="tip-content">每次抽奖消耗 {{ goldNum }} 金币不限次数</text></view> -->
</view>
<!-- action -->
<!-- <view class="almost-lottery__action-dev" @tap="handleInitCanvas" v-if="isDev">
<text class="text">重新生成画板-开发模式使用</text>
</view>
<view class="almost-lottery__action-dev" @tap="handleCheckPopup">
<text class="text">查看 uni-popup 用例</text>
</view> -->
<!-- lottery -->
<view class="almost-lottery__wheel">
<view class="almost-lottery__count">
<text class="text">剩余免费抽奖 {{ freeNum }} </text>
</view>
<!-- <button @click="showLingPop">showLingPop</button> -->
<almost-lottery
:lottery-size="lotteryConfig.lotterySize"
:action-size="lotteryConfig.actionSize"
:selfTime="selfTime"
:ring-count="2"
:duration="1"
:self-rotaty="false"
:img-circled="true"
:canvasCached="true"
:prize-list="prizeList"
:prize-index="prizeIndex"
:lotteryBg="lotteryBg"
:actionBg="actionBg"
@reset-index="prizeIndex = -1"
@draw-before="handleDrawBefore"
@draw-start="handleDrawStart"
@draw-end="handleDrawEnd"
@finish="handleDrawFinish"
v-if="prizeList.length"
/>
</view>
<!-- rule -->
<view class="almost-lottery__rule">
<view class="rule-head">
<view class="line"></view>
<text class="title">活动规则</text>
<view class="line"></view>
</view>
<view class="rule-body">
<view class="item">
<view class="number">1</view>
<view class="text">
<text>抽奖细则</text>
<text>每日前{{ freeNumDay }}次付款均可获得抽奖机会</text>
</view>
</view>
<view class="item item-rule">
<view class="number">2</view>
<view class="text">
<text>奖励说明红包奖励将自动发放到红包余额已绑定支付宝账号将会自动发起提现其余奖品则需联系客服领取</text>
<!-- <text>b.金币奖系统会即时转入金币账户可在平台内使用</text> -->
</view>
</view>
<!-- <template >
<view class="item">
<view class="number">3</view>
<view class="text">本次活动由XXXXXXX发起</view>
</view>
<view class="item">
<view class="number">4</view>
<view class="text">本活动仅限17岁以上用户参加</view>
</view>
<view class="item">
<view class="number">5</view>
<view class="text">本活动最终解释权归XXXXXXX所有</view>
</view>
</template> -->
</view>
</view>
<ling-qu ref="refLingqu" @close="lingquClose"></ling-qu>
</view>
</template>
<script>
import AlmostLottery from '@/uni_modules/almost-lottery/components/almost-lottery/almost-lottery.vue';
import lingQu from '@/components/pop-ling-qu.vue';
import { clearCacheFile, clearStore } from '@/uni_modules/almost-lottery/utils/almost-utils.js';
export default {
name: 'Home',
components: {
AlmostLottery,
lingQu
},
data() {
return {
// 1 订单拉起抽奖
// 2 周任务拉起抽奖
// 3 月任务拉起抽奖
source: 1,
background: {
background: 'transparent'
},
//红包余额
totalMoney: 0,
//抽奖结果
result: '',
// 开启调试模式
isDev: true,
option: {},
// 以下是转盘配置相关数据
lotteryConfig: {
// 抽奖转盘的整体尺寸单位rpx
lotterySize: 600,
// 抽奖按钮的尺寸单位rpx
actionSize: 200
},
selfTime: 2000,
// 以下是转盘 UI 配置
// 转盘外环图,如有需要,请参考替换为自己的设计稿
lotteryBg: require('@/uni_modules/almost-lottery/static/almost-lottery/almost-lottery__bg2x.png'),
// 抽奖按钮图
actionBg: require('@/uni_modules/almost-lottery/static/almost-lottery/almost-lottery__action2x.png'),
// 以下是奖品配置数据
// 奖品数据
prizeList: [],
// 奖品是否设有库存
onStock: true,
// 中奖下标
prizeIndex: -1,
// 是否正在抽奖中,避免重复触发
prizeing: false,
// 以下为中奖概率有关数据
// 是否由前端控制概率,默认不开启,强烈建议由后端控制
onFrontend: false,
// 权重随机数的最大值
prizeWeightMax: 0,
// 权重数组
prizeWeightArr: [],
// 以下为业务需求有关示例数据
// 金币余额
goldCoin: 20,
// 当日免费抽奖次数余额
freeNum: 0,
// 每次消耗的金币数
goldNum: 20,
// 每天免费抽奖次数
freeNumDay: 0
};
},
computed: {
isApple() {
return uni.getSystemInfoSync().platform === 'ios';
}
},
methods: {
lingquClose(key) {
console.log('lingquClose');
console.log(key);
if (key && key == 'isBindAliPay') {
uni.navigateTo({
url: '/me/invite/zhifubao'
});
}
},
toRed() {
uni.navigateTo({
url: '/me/invite/cashDetail'
});
},
toGift() {
console.log('1');
uni.navigateTo({
url: '/me/gift/gift?source=' + this.source
});
},
// 重新生成
handleInitCanvas() {
clearCacheFile();
clearStore();
this.prizeList = [];
this.getPrizeList();
},
// 通过 popup 打开
handleCheckPopup() {
uni.navigateTo({
url: '/pages/popup/popup'
});
},
// 获取奖品列表
async getPrizeList() {
uni.showLoading({
title: '奖品准备中...'
});
// 等待接口返回的数据进一步处理
let res = await this.requestApiGetPrizeList();
console.log('获取奖品列表', res);
if (res.ok) {
let data = res.data;
if (data.length) {
this.prizeList = data;
console.log('已获取到奖品列表数据,开始绘制抽奖转盘');
// 计算开始绘制的时间
if (console.time) {
console.time('绘制转盘用时');
}
// 如果开启了前端控制概率
// 得出权重的最大值并生成权重数组
if (this.onFrontend) {
// 生成权重数组并排序取得最大值
this.prizeWeightArr = this.prizeList.map((item) => item.prizeWeight);
let prizeWeightArrSort = [...this.prizeWeightArr];
prizeWeightArrSort.sort((a, b) => b - a);
// 开放自定义权重最大值,没有自定义则取权重数组中的最大值
this.prizeWeightMax = this.prizeWeightMax > 0 ? this.prizeWeightMax : prizeWeightArrSort[0];
}
}
} else {
uni.hideLoading();
uni.showToast({
title: '获取奖品失败',
mask: true,
icon: 'none'
});
}
},
// 模拟请求 获取奖品列表 接口,
// 注意这里返回的是一个 Promise
// 大哥,这里只是模拟,别告诉我你不会对接自己的接口
async requestApiGetPrizeList() {
const res = await this.$Request.getT('/app/discSpinning/selectDiscSpinning', { source: this.source });
if (res.code == 0) {
return {
ok: true,
data: res.data.records.map((v) => {
return {
...v,
prizeId: v.id,
prizeName: v.name,
prizeStock: 10,
prizeWeight: 200,
prizeImage: v.url
// prizeImage: require('@/static/git.png')
};
})
};
}
return;
// return new Promise((resolve, reject) => {
// let requestTimer = setTimeout(() => {
// clearTimeout(requestTimer)
// requestTimer = null
// // prizeStock 奖品库存
// // prizeWeight 中奖概率,数值越大中奖概率越高,权重一样时随机中奖
// resolve({
// ok: true,
// data: [{
// prizeId: 1,
// prizeName: '0.1元现金',
// prizeStock: 10,
// prizeWeight: 200,
// prizeImage: require('@/static/git.png')
// },
// {
// prizeId: 2,
// prizeName: '10元现金',
// prizeStock: 0,
// prizeWeight: 50,
// prizeImage: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/56f085e0-bcfe-11ea-b244-a9f5e5565f30.png'
// },
// {
// prizeId: 3,
// prizeName: '5元话费',
// prizeStock: 1,
// prizeWeight: 80
// },
// {
// prizeId: 4,
// prizeName: '50元现金',
// prizeStock: 0,
// prizeWeight: 10,
// prizeImage: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAB2klEQVRIia3Wv09TURjG8U+u2kQZcNENh2ok0cnJ0R+L0RB2g/EvwITEwRgnV0Zx0fAHYBh0khBD4sBAmAgDiwQNg4qwmSBDAYf7Fi+n97al9UlObnvO836f3tO355b2GsAYZrCBPRzGdSPmx8J3YtXwDDsB7TR2wl/rNmAYK13C07ES9W11E9s9BjTHdnBKVf8PAcWgehpwCssF0w/5FzqLgw7AA7zDQ/wqzC8H90jjSeFMYW0Yr8PzALfjOh7z1wve2YTzpLlQw2ay+KZ1N7vS24SziVqGexhKzB07pEJXk/dDwTetdZ9HewwZLWFNw2oyudZjQFNrCW8109pqS32GpPX1TOu586fPkLR+IEMjmbzYZ0ha34Atx/fwW58hXxPeFixo7Yg7PQbcKmEtZFgsMb/C4AkDBuUnQKpFuFZI3cZuvP6C+8g6wDP572O95C4Og49/W/YJl/G5YPqO9yV3dh4f8LMCfhjcI93Afix8xAX5SVx2YBY10yagEdxjmiwY7uISXuIFrlSEPG0TMllWcAbzYViXd0rzeXC6ImSiImA+eKU6h7mCeV/eCBMnCJkLzpHSztnFCJ7L//ZkOFv1iRLtRd1IcLpSHVP4jccVnkexPqXkmd7UX15b7tiz29ReAAAAAElFTkSuQmCC'
// },
// {
// prizeId: 5,
// prizeName: '1卷抽纸',
// prizeStock: 3,
// prizeWeight: 3000,
// prizeImage: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABCElEQVRoge3YMa4BURSH8Y8o7UAp0WgkotBZwluAfhqlZSgUGr23ENUUCpppJnTswAIUSCaTiziZJ8d9/193zdzrfMltABF5plb+oLscDoAV0Pn8OC/lwDhL0k35QT3wstcIuM61Cj0IhXiNuAvOFwr5SgrxRiHeKMSbhnHfAVgU1i1gajhnBpwK6wnQtgxkDTlmSTq/L7rLYQ9byG+WpLvCOT8YQ6K5WgrxRiHeKMQbhXijEG8U4o1CvIkmxPrDquwMrI37KlFJSJake2BUxVlW0VytaEKsV6t5+8Ohak3rRmtIH9hav/QvRHO1FOKNQrwJheQfn+I9wflCIeNHLzuQc51PRP6rC1ZeIm1I8cC5AAAAAElFTkSuQmCC'
// },
// {
// prizeId: 6,
// prizeName: '0.2元现金',
// prizeStock: 8,
// prizeWeight: 120
// },
// {
// prizeId: 7,
// prizeName: '谢谢参与',
// prizeStock: 100,
// prizeWeight: 10000
// },
// {
// prizeId: 8,
// prizeName: '100金币',
// prizeStock: 100,
// prizeWeight: 3000
// }
// ]
// })
// }, 200)
// })
},
// 抽奖开始之前
async handleDrawBefore(callback) {
console.log('抽奖开始之前');
let flag = false;
// 还有免费数次
if (this.freeNum > 0) {
flag = true;
} else {
flag = false;
uni.showToast({
title: '抽奖次数不足',
icon: 'none'
});
}
callback(flag);
},
// 本次抽奖开始
handleDrawStart() {
console.log('触发抽奖按钮');
if (this.prizeing) return;
this.prizeing = true;
this.tryLotteryDraw();
},
// 尝试发起抽奖
tryLotteryDraw() {
console.log('旋转开始,获取中奖下标......');
// 判断是否由前端控制概率
if (this.onFrontend) {
this.localGetPrizeIndex();
} else {
this.remoteGetPrizeIndex();
}
},
// 本地获取中奖下标
localGetPrizeIndex() {
console.warn('###当前处于前端控制中奖概率,安全起见,强烈建议由后端控制###');
// 前端控制概率的情况下,需要拿到最接近随机权重且大于随机权重的值
// 后端控制概率的情况下,通常会直接返回 prizeId
if (!this.prizeWeightMax || !this.prizeWeightArr.length) {
console.warn('###当前已开启前端控制中奖概率,但是奖品数据列表中的 prizeWeight 参数似乎配置不正确###');
return;
}
console.log('当前权重最大值为 =>', this.prizeWeightMax);
// 注意这里使用了 Math.ceil如果某个权重的值为 0则始终无法中奖
let randomWeight = Math.ceil(Math.random() * this.prizeWeightMax);
console.log('本次权重随机数 =>', randomWeight);
// 生成大于等于随机权重的数组
let tempMaxArrs = [];
this.prizeList.forEach((item) => {
if (item.prizeWeight >= randomWeight) {
tempMaxArrs.push(item.prizeWeight);
}
});
console.log('tempMaxArrs', tempMaxArrs);
// 如果大于随机权重的数组有值,先对这个数组排序然后取值
// 反之新建一个临时的包含所有权重的已排序数组,然后取值
let tempMaxArrsLen = tempMaxArrs.length;
if (tempMaxArrsLen) {
tempMaxArrs.sort((a, b) => a - b);
// 取值时,如果存在多个值,分两种情况
if (tempMaxArrsLen > 1) {
// 检查是否存在重复的值
let sameCount = 0;
for (let i = 0; i < tempMaxArrs.length; i++) {
if (tempMaxArrs[i] === tempMaxArrs[0]) {
sameCount++;
}
}
// 值不相等的情况下取最接近的值也就是第1个值
if (sameCount === 1) {
this.prizeIndex = this.prizeWeightArr.indexOf(tempMaxArrs[0]);
} else {
// 存在值相等时,随机取值,当然这里你可以自己决定是否随机取值
let sameWeight = tempMaxArrs[0];
let sameWeightArr = [];
let sameWeightItem = {};
this.prizeWeightArr.forEach((item, index) => {
if (item === sameWeight) {
sameWeightArr.push({
prizeWeight: item,
index
});
}
});
console.log('sameWeightArr', sameWeightArr);
sameWeightItem = sameWeightArr[Math.floor(Math.random() * sameWeightArr.length)];
console.log('sameWeightItem', sameWeightItem);
this.prizeIndex = sameWeightItem.index;
}
} else {
this.prizeIndex = this.prizeWeightArr.indexOf(tempMaxArrs[0]);
}
}
console.log('本次抽中奖品 =>', this.prizeList[this.prizeIndex].prizeName);
// 如果奖品设有库存
if (this.onStock) {
console.log('本次奖品库存 =>', this.prizeList[this.prizeIndex].prizeStock);
}
},
// 远程请求接口获取中奖下标
// 大哥,这里只是模拟,别告诉我你不会对接自己的接口
async remoteGetPrizeIndex() {
this.result = '';
console.warn('###当前处于模拟的请求接口,并返回了中奖信息###');
const res = await this.$Request.getT('app/discSpinning/draw', { source: this.source });
this.freeNum--;
// this.getCount()
console.log(res);
if (res.code != 0) {
return uni.showToast({
title: res.msg
});
}
this.result = res.data;
let list = [...this.prizeList];
// 这里随机产生的 prizeId 是模拟后端返回的 prizeId
const arr = list.filter((v) => v.type == res.data.type);
let prizeId = arr[0].prizeId;
// 拿到后端返回的 prizeId 后,开始循环比对得出那个中奖的数据
for (let i = 0; i < list.length; i++) {
let item = list[i];
if (item.prizeId === prizeId) {
// 中奖下标
this.prizeIndex = i;
break;
}
}
console.log('本次抽中奖品 =>', this.prizeList[this.prizeIndex].prizeName);
},
// 本次抽奖结束
handleDrawEnd() {
console.log('旋转结束,执行拿到结果后到逻辑');
// 旋转结束后,开始处理拿到结果后的逻辑
// const prize = this.prizeList[this.prizeIndex]
const prize = this.result;
let { name } = prize;
let tipContent = '';
if (name.type == 1) {
tipContent = '很遗憾,没有中奖,请再接再厉!';
} else {
tipContent = `恭喜您,获得 ${name}${this.result.type == 2 ? this.result.number + '元' : ''} `;
}
const _this = this;
console.log(this.result);
this.showLingPop({ ...this.result });
this.result = '';
this.prizeing = false;
return;
// uni.showModal({
// content: tipContent,
// showCancel: false,
// success() {
// const {
// orderId,id
// }=_this.result
// _this.$Request.postJson('app/discSpinning/receive',_this.result).then(res=>{
// _this.result=''
// console.log(res)
// if(res.code==0){
// uni.showToast({
// title: '领取成功',
// icon:'none'
// })
// _this.getRedPack()
// }else{
// uni.showToast({
// title: '领取失败',
// icon:'none'
// })
// }
// })
// },
// complete: () => {
// this.prizeing = false
// }
// })
},
// 抽奖转盘绘制完成
handleDrawFinish(res) {
console.log('抽奖转盘绘制完成', res);
if (res.ok) {
// 计算结束绘制的时间
if (console.timeEnd) {
console.timeEnd('绘制转盘用时');
}
}
let stoTimer = setTimeout(() => {
stoTimer = null;
uni.hideLoading();
// uni.showToast({
// title: res.msg,
// mask: true,
// icon: 'none'
// })
}, 50);
},
async getRedPack() {
const res = await this.$Request.getT('app/moneyDetails/selectUserMoney');
if (res.code == 0) {
this.totalMoney = res.data.amount;
}
},
async getCount() {
const res = await this.$Request.getT('app/discSpinning/drawCount', { source: this.source });
if (res.code == 0) {
this.freeNum = res.count || 0;
this.freeNumDay = res.sum || 0;
}
},
lingquClose() {
// this.getCount()
this.getRedPack();
},
showLingPop(data) {
this.$refs.refLingqu.open(data);
}
},
onLoad(opt) {
this.option = opt;
if (opt.source) {
this.source = opt.source;
}
this.prizeList = [];
this.getCount();
this.getRedPack();
this.getPrizeList();
},
onUnload() {
uni.hideLoading();
}
};
</script>
<style lang="scss" scoped>
.btn-group {
position: absolute;
left: 0;
right: 0;
z-index: 2;
top: 180px;
gap: 20rpx;
padding: 0 32rpx;
}
.almost-lottery {
flex: 1;
background-color: #ff893f;
}
.almost-lottery__head {
position: relative;
width: 100%;
height: 460rpx;
background: url('~static/images/lottery/top-bg.png') no-repeat center center/cover;
.action {
display: flex;
justify-content: center;
align-items: center;
flex: 1;
height: 88rpx;
line-height: 88rpx;
margin: 0 auto;
color: #ffffff;
font-size: 32rpx;
background-color: rgba(255, 136, 61, 1);
border-radius: 44rpx;
}
.action-shadow {
box-shadow: 0px 14rpx 0px 0px rgba(235, 112, 36, 1);
}
.pack {
width: 44rpx;
height: 44rpx;
margin-right: 10rpx;
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
background-image: url('~static/red-pack.png');
}
.gift {
width: 44rpx;
height: 44rpx;
margin-right: 10rpx;
background-repeat: no-repeat;
background-position: center center;
background-size: contain;
background-image: url('~static/gift.png');
}
.num {
color: #f9fc31;
}
.tip {
position: relative;
top: 428rpx;
color: #ffffff;
font-size: 24rpx;
text-align: center;
}
}
.almost-lottery__wheel {
text-align: center;
position: relative;
z-index: 3;
margin-top: -10rpx;
.almost-lottery__count {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 20rpx 0 40rpx 0;
}
.text {
color: #ffffff;
font-size: 24rpx;
}
}
.almost-lottery__rule {
padding: 0 28rpx;
color: #fff8cb;
.rule-head {
display: flex;
justify-content: space-around;
align-items: center;
margin: 40rpx 0;
.line {
flex: 1;
height: 1px;
background-color: #fff3a5;
}
.title {
width: 280rpx;
color: #f63857;
line-height: 70rpx;
text-align: center;
margin: 0 20rpx;
border-radius: 8rpx;
background-image: linear-gradient(0deg, rgba(255, 242, 158, 1), rgba(255, 244, 168, 1));
}
}
.rule-body {
color: #fff8cb;
font-size: 24rpx;
padding: 10rpx 0 40rpx;
.item {
display: flex;
margin-bottom: 10rpx;
}
.number {
position: relative;
top: 4rpx;
width: 28rpx;
height: 28rpx;
line-height: 28rpx;
text-align: center;
color: #f63857;
background: #fff8cb;
border-radius: 50%;
margin-right: 10rpx;
}
.text {
flex: 1;
}
.item-rule .text {
display: flex;
flex-direction: column;
}
}
}
.almost-lottery__action-dev {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
width: 400rpx;
height: 80rpx;
border-radius: 10rpx;
text-align: center;
background-color: red;
margin: 0 auto 40rpx;
.text {
color: #ffffff;
font-size: 28rpx;
}
}
.almost-lottery__popup-wrap {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
.almost-lottery {
background: transparent;
}
}
</style>

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img aKuVgyqZld" src="/static/kigqHbgyqpImg/8_gyq_84aa5cdd4fcc7e45ab73f90340c21ddccea9c46aa862df-evUZAv_fw1200 (2).jpg" mode="widthFix"></image>
<image class="img FzgyqnBCWa" src="/static/kigqHbgyqpImg/8_gyq_84aa5cdd4fcc7e45ab73f90340c21ddccea9c46aa862df-evUZAv_fw1200 (2).png" mode="widthFix"></image>
<image class="img gyqKnjNYWl" src="/static/kigqHbgyqpImg/8_gyq_84aa5cdd4fcc7e45ab73f90340c21ddccea9c46aa862df-evUZAv_fw1200 (3).jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,23 @@
<template>
<view class="gyqSxFeTGt">
<image class="img aKuVgyqZld" src="/static/kigqHbgyqpImg/7_gyq_u=3804008751,3868615245&fm=253&gp=0 (1).jpg" mode="widthFix"></image>
<image class="img xgyqUNWyDH" src="/static/kigqHbgyqpImg/7_gyq_u=3804008751,3868615245&fm=253&gp=0 (2).jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

BIN
me/XxSqJQgyqr/IMG_6962.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

BIN
me/XxSqJQgyqr/IMG_6963.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

BIN
me/XxSqJQgyqr/IMG_6964.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

BIN
me/XxSqJQgyqr/IMG_6965.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

BIN
me/XxSqJQgyqr/IMG_7027.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img RgyqPLhzoI" src="/static/kigqHbgyqpImg/9_gyq_008f8a862e4f38a61dba867fbeb5d46e57abc9771df0c-aEbMiF (1).jpg" mode="widthFix"></image>
<image class="img LnFPgyqajB" src="/static/kigqHbgyqpImg/9_gyq_008f8a862e4f38a61dba867fbeb5d46e57abc9771df0c-aEbMiF (1).png" mode="widthFix"></image>
<image class="img rgyqGCwOzS" src="/static/kigqHbgyqpImg/9_gyq_008f8a862e4f38a61dba867fbeb5d46e57abc9771df0c-aEbMiF (2).jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,301 @@
<template>
<view class="page-box koOgyqsjHP">
<view class="RIBgyqOkBe" v-if="courseList.length" v-for="(item, index) in courseList" :key="index"
@click="gyqyybWVhZ(item.courseId)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill" style="width: 200rpx;height: 200rpx;"></image>
</view>
<view class="flex-sub content flex flex-direction justify-between" style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{item.title}}
</view>
<view class="text-gray text-26 margin-top">最近{{item.payNum}}人在学 </view>
<view class="flex align-center justify-between">
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold"
style="font-size: 42rpx;">{{item.price}}</text></view>
<view class="btn">马上学习</view>
</view>
</view>
<!-- <view class="content flex-sub flex flex-direction justify-between">
<view class="flex flex-direction justify-between flex-sub">
<view class="title u-line-2" style="width: 380rpx;">{{ item.title }}</view>
<view class="buttom margin-top">
<view class="price">
{{ priceInt(item.price) }}
</view>
</view>
</view>
<view class="flex margin-top-sm">
<view>
<u-avatar v-for="(ite,ind) in item.avatar" :key='ind' v-if="ind < 3" class="head" size="44" :src="ite"></u-avatar>
</view>
<view class="text-gray number">{{item.courseCount}}人已观看</view>
</view>
</view> -->
</view>
</view>
<!-- 空数据 -->
<empty v-if="!courseList.length" title="暂无资源"></empty>
</view>
</template>
<script>
import empty from '@/components/empty.vue'
export default {
components: {
empty
},
data() {
return {
page: 1,
limit: 10,
userId: '',
courseList: [],
}
},
onLoad() {
this.userId = uni.getStorageSync('userId')
this.getCourseList()
},
methods: {
// 我的资源列表
getCourseList() {
uni.showLoading({
title: '加载中'
})
let data = {
userId: this.userId,
page: this.page,
limit: this.limit,
}
this.$u.api.selectCourse(data).then(res => {
if (res.code === 0) {
res.data.list.forEach(ret => {
if (ret.avatar) {
ret.avatar = ret.avatar.split(',')
}
})
if (this.page === 1) {
this.courseList = res.data.list
uni.stopPullDownRefresh();
return
}
this.courseList = [...this.courseList, ...res.data.list]
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
uni.hideLoading()
uni.stopPullDownRefresh();
})
},
// 跳转资源详情
gyqyybWVhZ(e) {
console.log(e)
let userId = uni.getStorageSync('userId')
if (userId) {
uni.navigateTo({
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
});
} else {
uni.navigateTo({
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
},
onReachBottom: function() {
this.page = this.page + 1;
this.getCourseList();
},
onPullDownRefresh: function() {
this.page = 1;
this.courseList = []
this.getCourseList();
},
computed: {
// 价格小数
priceDecimal() {
return val => {
if (val !== parseInt(val)) return val.slice(-2);
else return '00';
};
},
// 价格整数
priceInt() {
return val => {
// if (val !== parseInt(val)) return val.split('.')[0];
// else return val;
return val
};
}
},
}
</script>
<style lang="scss" scoped>
.btn {
width: 150upx;
height: 60upx;
background: #5074FF;
border-radius: 30upx;
color: #FFFFFF;
text-align: center;
line-height: 60rpx;
font-size: 26rpx;
}
.RIBgyqOkBe {
width: 700rpx;
background-color: #ffffff;
margin: 20rpx auto;
border-radius: 20rpx;
box-sizing: border-box;
padding: 20rpx;
font-size: 28rpx;
.top {
display: flex;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.store {
margin: 0 10rpx;
font-size: 32rpx;
font-weight: bold;
}
}
.right {
color: $u-type-warning-dark;
}
}
.item {
display: flex;
.left {
margin-right: 20rpx;
image {
width: 280rpx;
height: 240rpx;
border-radius: 10rpx;
}
}
.content {
.title {
font-size: 16px;
line-height: 50rpx;
font-weight: bold;
}
.buttom {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #E6E6E6;
.price {
font-size: 18px;
font-weight: bold;
color: #FF3838;
}
.number {
font-size: 14px;
color: #999999;
line-height: 24px;
}
}
.head1 {
position: relative;
left: -5px;
}
.head2 {
position: relative;
left: -10px;
}
.number {
line-height: 50rpx;
}
}
}
.total {
margin-top: 20rpx;
text-align: right;
font-size: 24rpx;
.total-price {
font-size: 32rpx;
}
}
.bottom {
display: flex;
margin-top: 40rpx;
padding: 0 10rpx;
justify-content: space-between;
align-items: center;
.btn {
line-height: 52rpx;
width: 160rpx;
border-radius: 26rpx;
border: 2rpx solid $u-border-color;
font-size: 26rpx;
text-align: center;
color: $u-type-info-dark;
}
.evaluate {
color: $u-type-warning-dark;
border-color: $u-type-warning-dark;
}
}
}
.centre {
text-align: center;
margin: 200rpx auto;
font-size: 32rpx;
image {
width: 360rpx;
height: 360rpx;
// margin-bottom: 20rpx;
margin: 0 auto 20rpx;
border: 1px dotted #000000;
}
.tips {
font-size: 40rpx;
color: #5074FF;
margin-top: 20rpx;
}
.btn {
margin: 80rpx auto;
width: 600rpx;
border-radius: 32rpx;
line-height: 90rpx;
color: #ffffff;
font-size: 34rpx;
background: #5074FF;
}
}
</style>

View File

@@ -0,0 +1,27 @@
<template>
<view class="gyqSxFeTGt">
<image class="img CBKwkqgyqg" src="./asz.JPG" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6962.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6963.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6964.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6965.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_7027.jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img CBKwkqgyqg" src="/static/kigqHbgyqpImg/10_gyq_42b9ecd11b66a8b5f0bd02bc1b6858142b9732cb28873-pW7yzw (1).jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="/static/kigqHbgyqpImg/10_gyq_42b9ecd11b66a8b5f0bd02bc1b6858142b9732cb28873-pW7yzw (1).png" mode="widthFix"></image>
<image class="img eZRgyqUbKP" src="/static/kigqHbgyqpImg/10_gyq_42b9ecd11b66a8b5f0bd02bc1b6858142b9732cb28873-pW7yzw (2).png" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -276,7 +276,7 @@
// #endif
// app直接去app注册页面
// #ifdef APP
this.erweima = config.APIHOST2 + '/pages/login/registerApp?invitation=' + this
this.erweima = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp?invitation=' + this
.invitationCode + '&qdCode=' + this.qdCode
// #endif
// #ifdef MP-WEIXIN

View File

@@ -67,7 +67,7 @@
},
goDet(e) {
uni.navigateTo({
url: '/pages/index/course/courseDet?id=' + e
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
})
}
},

View File

@@ -98,11 +98,11 @@
let userId = uni.getStorageSync('userId')
if (userId) {
uni.navigateTo({
url: '/pages/index/course/courseDet?id=' + e
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
});
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}

View File

@@ -161,7 +161,7 @@
{{countPrice}}元解锁单集视频
</text>
</view>
<!-- <view class="pay-content-item" @click="goNav('/pages/me/vip/index')" v-if="isVips == '是'">
<!-- <view class="pay-content-item" @click="goNav('/pages/iSiAnfghCC/vip/index')" v-if="isVips == '是'">
<image class="pay-content-item-icon" src="../../static/images/me/rmIcon.png" mode=""></image>
<text class="pay-content-items">
开通会员
@@ -798,7 +798,7 @@
// plus.runtime.openURL(ret.data.h5Url)
uni.navigateTo({
url: '/pages/pays/pays?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
url: '/pages/itkXJghyII/hLUkghGDXH?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
});
// uni.navigateTo({
@@ -996,7 +996,7 @@
if (uni.getStorageSync('qdCode')) {
qdCode = uni.getStorageSync('qdCode')
}
let url = config.APIHOST2 + '/pages/login/registerApp?invitation=' + invitationCode + '&qdCode=' + qdCode
let url = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp?invitation=' + invitationCode + '&qdCode=' + qdCode
// this.setShareNum()
uni.setClipboardData({
data: url,
@@ -1015,7 +1015,7 @@
})
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
})
}
@@ -1030,7 +1030,7 @@
this.submitPay(type)
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
@@ -1158,7 +1158,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
@@ -1185,7 +1185,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}

View File

@@ -211,7 +211,7 @@
</view>
</view>
<!-- <view class="list-item" v-if="isVips == '是' && isWxIosPay == true">
<view class="list-item-box flex align-center justify-center" @click="goNav('/pages/me/vip/index')">
<view class="list-item-box flex align-center justify-center" @click="goNav('/pages/iSiAnfghCC/vip/index')">
<image src="../../static/images/me/rmIcon.png" mode=""></image>
开通会员
#ifdef MP-TOUTIAO || MP-WEIXIN-->
@@ -1087,7 +1087,7 @@
let token = this.$queue.getData('token');
if (!token) {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
})
return;
}
@@ -1273,7 +1273,7 @@
this.submitPay(type)
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
@@ -1287,7 +1287,7 @@
// this.payOrder(this.ordersId, this.payMoney)
// #ifdef APP
uni.navigateTo({
url: '/pages/pays/pays?ordersId=' + data.ordersId + '&url=' + data.h5Url
url: '/pages/itkXJghyII/hLUkghGDXH?ordersId=' + data.ordersId + '&url=' + data.h5Url
});
// #endif
// #ifdef H5
@@ -1370,7 +1370,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
@@ -1390,7 +1390,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
@@ -1417,7 +1417,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}

View File

@@ -159,7 +159,7 @@
{{countPrice}}元解锁单集视频
</text>
</view>
<!-- <view class="pay-content-item" @click="goNav('/pages/me/vip/index')" v-if="isVips == '是'">
<!-- <view class="pay-content-item" @click="goNav('/pages/iSiAnfghCC/vip/index')" v-if="isVips == '是'">
<image class="pay-content-item-icon" src="../../static/images/me/rmIcon.png" mode=""></image>
<text class="pay-content-items">
开通会员
@@ -720,7 +720,7 @@
httpsRequest.getT("/app/wuyou/payOrder/" + this.ordersId + '?payType=' + paytype, {}).then(ret => {
// plus.runtime.openURL(ret.data.h5Url)
uni.navigateTo({
url: '/pages/pays/pays?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
url: '/pages/itkXJghyII/hLUkghGDXH?ordersId=' + this.ordersId + '&url=' + ret.data.h5Url
});
// this.isCheckPay(ret.code, 'wxpay', JSON.stringify(ret.data));
});
@@ -920,7 +920,7 @@
if (uni.getStorageSync('qdCode')) {
qdCode = uni.getStorageSync('qdCode')
}
let url = config.APIHOST2 + '/pages/login/registerApp?invitation=' + invitationCode + '&qdCode=' + qdCode
let url = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp?invitation=' + invitationCode + '&qdCode=' + qdCode
uni.setClipboardData({
data: url,
success(res) {
@@ -949,7 +949,7 @@
this.submitPay(type)
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
@@ -1117,7 +1117,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
@@ -1144,7 +1144,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img gyqOMUsWCr" src="/static/kigqHbgyqpImg/gyq_0e6c28f35b182aecb579ef23de5439c507e521bb8a06-uzr0QA_fw1200.jpg" mode="widthFix"></image>
<image class="img gyqlVvIKYZ" src="/static/kigqHbgyqpImg/gyq_1d8b90b38ee4e738fd234a0c9db5ebba1fa93a241d402-a7Zrnf.jpg" mode="widthFix"></image>
<image class="img SjaUgyqQuQ" src="/static/kigqHbgyqpImg/gyq_1fa825c9860d57e6892dde1c964992a2040e0fcf1f12d-EC1pA0_fw1200.png" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img MaLngyqocj" src="/static/kigqHbgyqpImg/2_gyq_6e56d185a429e744d7802ec0e382d3c32c9a751a94e6-R7IrY0_fw1200 (2).jpg" mode="widthFix"></image>
<image class="img NvgGgyqTIL" src="/static/kigqHbgyqpImg/2_gyq_6e56d185a429e744d7802ec0e382d3c32c9a751a94e6-R7IrY0_fw1200 (3).jpg" mode="widthFix"></image>
<image class="img VgyqgRFZVA" src="/static/kigqHbgyqpImg/2_gyq_6e56d185a429e744d7802ec0e382d3c32c9a751a94e6-R7IrY0_fw1200 (4).jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,96 @@
<template>
<view>
<view class="margin bg-white padding-sm radius" v-if="collectList.length" v-for="(item,index) in collectList" :key='index' @click="BfgyqOmGub(item.courseId)" >
<view class="flex">
<u-image width="280rpx" height="200rpx" :src="item.titleImg"></u-image>
<view class="flex-sub margin-left flex flex-direction justify-between" style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{item.title}}
</view>
<view class="text-gray text-26 margin-top">最近{{item.payNum}}人在学 </view>
<view class="flex align-center justify-between">
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold" style="font-size: 42rpx;">{{item.price}}</text></view>
<view class="JrqPDigyqC">马上学习</view>
</view>
</view>
</view>
</view>
<!-- 空数据 -->
<empty v-if="!collectList.length"></empty>
</view>
</template>
<script>
import empty from '@/components/empty.vue'
export default {
components: {
empty
},
data() {
return {
limit: 10,
page: 1,
collectList: [],//收藏资源
}
},
onLoad() {
this.scJRgyqScE()
},
methods: {
// 获取收藏信息
scJRgyqScE() {
uni.showLoading({
title: '加载中'
})
let data = {
userId: this.userId,
page: this.page,
limit: this.limit,
}
this.$u.api.collectList(data).then(res => {
if(res.code === 0) {
if( this.page === 1) {
this.collectList = res.data.records
uni.stopPullDownRefresh();
return
}
this.collectList = [...this.collectList, ...res.data.records]
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
uni.hideLoading()
uni.stopPullDownRefresh();
})
},
BfgyqOmGub(e) {
uni.navigateTo({
url: '/pages/index/mggghRAnkh/courseDet?id=' + e
})
}
},
onReachBottom: function() {
this.page = this.page + 1;
this.scJRgyqScE();
},
onPullDownRefresh: function() {
this.page = 1;
this.scJRgyqScE();
},
}
</script>
<style>
.JrqPDigyqC {
width: 150upx;
height: 60upx;
background: #5074FF;
border-radius: 30upx;
color: #FFFFFF;
text-align: center;
line-height: 60rpx;
font-size: 26rpx;
}
</style>

View File

@@ -369,7 +369,7 @@ export default {
}
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
}
},
@@ -439,7 +439,7 @@ export default {
}
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
}
}

View File

@@ -186,7 +186,7 @@
// #endif
// app直接去app注册页面
// #ifdef APP
this.erweima = config.APIHOST2 + '/pages/login/registerApp/?invitation=' + this
this.erweima = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp/?invitation=' + this
.invitationCode + '&qdCode=' + this.qdCode
// #endif
// #ifdef MP-WEIXIN

View File

@@ -250,7 +250,7 @@
// #endif
// app直接去app注册页面
// #ifdef APP
this.erweima = config.APIHOST2 + '/pages/login/registerApp/?invitation=' + this
this.erweima = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp/?invitation=' + this
.invitationCode + '&qdCode=' + this.qdCode
// #endif
// #ifdef MP-WEIXIN

View File

@@ -64,7 +64,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},

View File

@@ -0,0 +1,111 @@
<template>
<view>
<view class="mFYpdwbMdk flex align-center justify-center">
<view class="mFYpdwbMdk-box flex justify-between align-center flex-wrap">
<view class="mFYpdwbMdk-box-item" v-for="(item,index) in wallpaperList" :key="index">
<image @click="priveImg(item.imageUrl)" :src="item.imageUrl" mode="aspectFill"></image>
</view>
</view>
</view>
<empty v-if="wallpaperList.length == 0" />
<u-loadmore v-if="wallpaperList.length >= 4" :status="status" />
</view>
</template>
<script>
import empty from '../../components/empty.vue'
export default {
components: {
empty
},
data() {
return {
wallpaperList: [], //壁纸列表
page: 1,
limit: 10,
pages: 1,
status: 'loadmore',
};
},
onLoad() {
this.getWallpaperList() //壁纸
},
onReachBottom() {
if (this.page < this.pages) {
this.page += 1
this.status = 'loading'
this.getWallpaperList()
} else {
this.status = 'nomore'
}
},
onPullDownRefresh() {
this.page = 1
this.getWallpaperList()
},
methods: {
/**
* @param {Object} url 图片链接
* 预览图片
*/
priveImg(url) {
console.log(url)
uni.previewImage({
urls: [url],
current: 0
})
},
//获取壁纸列表
getWallpaperList() {
let data = {
classify: 10,
page: this.page,
limit: this.limit,
}
// selectBannerPage
this.$u.api.selectBannerPage(data).then(res => {
uni.stopPullDownRefresh()
if (res.code == 0) {
this.pages = res.data.totalPage
if (this.page < this.pages) {
this.status = 'loadmore'
} else {
this.status = 'nomore'
}
if (this.page == 1) {
this.wallpaperList = res.data.list
} else {
this.wallpaperList = [...this.wallpaperList, ...res.data.list]
}
}
})
},
}
}
</script>
<style lang="scss">
.mFYpdwbMdk {
width: 100%;
padding-top: 20rpx;
height: auto;
.mFYpdwbMdk-box {
width: 686rpx;
height: 100%;
}
.mFYpdwbMdk-box-item {
width: 49%;
height: 500rpx;
border-radius: 18rpx;
margin-bottom: 20rpx;
image {
width: 100%;
height: 500rpx;
border-radius: 18rpx;
}
}
}
</style>

243
me/mFYpdwbMdk/slkj.html Normal file
View File

@@ -0,0 +1,243 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/common.css">
<style>
html,
body {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
.box {
position: relative;
width: 840px;
height: 525px;
margin: 100px auto;
overflow: hidden;
}
ul,
ol,
li {
padding: 0;
margin: 0;
list-style: none;
}
ul {
position: absolute;
}
ul li {
float: left;
width: 840px;
height: 525px;
}
ul img {
display: block;
width: 840px;
height: 525px;
}
ol {
position: absolute;
left: 50%;
bottom: 20px;
transform: translateX(-50%);
}
ol li {
float: left;
width: 15px;
height: 15px;
background-color: #fff;
border: 2px solid #ccc;
margin: 0 5px;
border-radius: 50%;
}
.active {
background-color: greenyellow;
}
.left,
.right {
display: none;
position: absolute;
width: 30px;
height: 60px;
line-height: 60px;
font-size: 24px;
font-weight: bold;
color: greenyellow;
background-color: rgba(129, 92, 148, 0.5);
top: 50%;
transform: translateY(-50%);
}
.right {
right: 0;
}
</style>
</head>
<body>
<!-- 搭建结构 -->
<div class="box">
<ul>
<li><img src="./images/1.jpg" alt=""></li>
</ul>
<ol></ol>
<span class="left iconfont">&#xe64a;</span>
<span class="right iconfont">&#xe637;</span>
</div>
<script src="./js/animate.js"></script>
<script>
// 1.获取元素
let box = document.querySelector('.box');
let ul = document.querySelector('ul');
let ol = document.querySelector('ol');
let left = document.querySelector('.left');
let right = document.querySelector('.right');
let flag = true; // 假设动画已经执行完成了
// 创建计数器
let num = 0;
// 将第一张图片克隆放到后面
ul.appendChild(ul.children[0].cloneNode(true));
// 计算ul的宽度
ul.style.width = ul.children.length * 840 + 'px';
// 更具图片的数量来创建小圆点
for (let i = 0; i < ul.children.length - 1; i++) {
// 创建节点
let li = document.createElement('li');
// 给每个li添加自定属性
li.dataset['index'] = i;
// 将节点添加到ol里面
ol.appendChild(li);
// 绑定事件
li.onclick = function () {
// 清除其他小圆点的类名
for (let i = 0; i < ol.children.length; i++) {
ol.children[i].classList.remove('active');
}
// 给被点击的元素添加类名
this.classList.add('active');
// 让ul移动到对应的位置
num = this.dataset['index'];
animate(ul, {
left: -num * box.offsetWidth
});
console.log(box.offsetWidth)
}
}
// 默认给第一个小圆点添加样式
ol.children[0].classList.add('active');
// 给右箭头添加事件
right.addEventListener('click', () => {
if (flag) {
flag = false;
// 判断是不是在最后一个元素
if (num == ul.children.length - 1) {
num = 0;
// 如果在最后一个元素,瞬间回到第一个元素
// 实现无缝切换
ul.style.left = 0;
}
num++;
// 为了防止被多次点击速度越来越快,我们需要判断段动画是否完成了
animate(ul, {
left: -num * box.offsetWidth
},() => {
// 当动画执行完成后,执行回调函数
// 让flag变为true
flag = true;
})
// 让小圆点跟着图片走
for (let i = 0; i < ol.children.length; i++) {
ol.children[i].classList.remove('active');
}
// 给对应的小圆点添加上样式
// 应为我们做了无缝切换,只有五个小圆点,实际上有六张图片,我们还需要判断一下
if (num == ul.children.length - 1) {
ol.children[0].classList.add('active');
} else {
ol.children[num].classList.add('active');
}
}
})
// 给左箭头添加事件
left.addEventListener('click', () => {
if (flag) {
flag = false;
// 判断是不是第一个元素
if (num == 0) {
num = ul.children.length - 1;
// 如果是第一个元素,我们瞬间切换到最后一个元素
// 应为第一个元素和最后一个元素是一样的,所以可以实现
// 无缝切换
ul.style.left = -num * box.offsetWidth + 'px';
}
num--;
// 为了防止被多次点击速度越来越快,我们需要判断段动画是否完成了
animate(ul, {
left: -num * box.offsetWidth
},() => {
// 当动画执行完成后,执行回调函数
// 让flag变为true
flag = true;
})
// 让小圆点跟着图片走
for (let i = 0; i < ol.children.length; i++) {
ol.children[i].classList.remove('active');
}
// 给对应的小圆点添加上样式
// 应为我们做了无缝切换,只有五个小圆点,实际上有六张图片,我们还需要判断一下
if (num == ul.children.length - 1) {
ol.children[0].classList.add('active');
} else {
ol.children[num].classList.add('active');
}
}
})
// 让轮播图自动轮播
let timer = setInterval(function() {
right.click();
},2000)
// 鼠标移入,显示箭头,并且停止轮播
box.addEventListener('mouseenter',()=> {
right.style.display = 'block';
left.style.display = 'block';
// 清除定时器
clearInterval(timer);
})
// 鼠标移出,继续轮播
box.addEventListener('mouseleave',() => {
// 隐藏按钮
right.style.display = 'none';
left.style.display = 'none';
timer = setInterval(function() {
right.click();
},2000)
})
</script>
</body>
</html>

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img gyqIAcrOXs" src="/static/kigqHbgyqpImg/5_gyq_5305743adb73c1b5e2af41b80289d61a980843fe22a09-ZWel8A_fw1200 (1).jpg" mode="widthFix"></image>
<image class="img JoPEzFgyqW" src="/static/kigqHbgyqpImg/5_gyq_5305743adb73c1b5e2af41b80289d61a980843fe22a09-ZWel8A_fw1200 (1).png" mode="widthFix"></image>
<image class="img gyqxIEWvDB" src="/static/kigqHbgyqpImg/5_gyq_5305743adb73c1b5e2af41b80289d61a980843fe22a09-ZWel8A_fw1200 (2).png" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,815 @@
<template>
<view class="nngyqngmIx">
<!-- 背景图片 -->
<image src="../static/assist/zlBg.png" class="bg" mode="widthFix"></image>
<!-- 内容 -->
<view class="iRgyqeOdqI">
<!-- #ifdef H5 -->
<image v-if="isBack" src="/static/images/index/left.png" class="left_viewimage" @tap="goBack"></image>
<!-- #endif -->
<!-- 标题 -->
<view class="iRgyqeOdqI-title">
邀好友助力
</view>
<!-- 副标题 -->
<view class="iRgyqeOdqI-titles">
免费领会员
</view>
<!-- 邀请好友展示框 -->
<view class="iRgyqeOdqI-hy flex align-center justify-center">
<view class="iRgyqeOdqI-hy-box">
<view class="iRgyqeOdqI-hy-box-title1" v-if="rlueList[rlueIndex] && rlueList[rlueIndex].inviteMonth>0">
{{userName}},再邀请<span>{{getUserPeopNum}}</span>位好友,可再得{{rlueList[rlueIndex].inviteMonth}}个月会员
</view>
<view class="iRgyqeOdqI-hy-box-title1" v-else>
{{userName}},再邀请<span>{{getUserPeopNum}}</span>位好友,可升级永久免费无限会员
</view>
<view class="" v-for="(item,index) in rlueList" :key="index">
<view v-if="index>rlueIndex" class="iRgyqeOdqI-hy-box-title2">
<block v-if="item.inviteMonth>0">
再邀请{{item.inviteCount - nowPeopNum}}位好友可再得{{item.inviteMonth}}个月会员
</block>
<block v-else>
再邀请{{item.inviteCount - nowPeopNum}}位好友可升级永久免费无限会员
</block>
</view>
</view>
<view class="iRgyqeOdqI-hy-box-peop">
<view class="iRgyqeOdqI-hy-box-peop-my flex align-center justify-center">
<image :src="avatar?avatar:'../../static/images/logo.png'" mode=""></image>
</view>
<view class="iRgyqeOdqI-hy-box-peop-title">
您已注册成功还需邀请
</view>
<view class="iRgyqeOdqI-hy-box-peop-list flex align-center justify-between flex-wrap">
<view class="iRgyqeOdqI-hy-box-peop-list-i flex align-center justify-center"
v-for="(item,index) in getPeopNum" :key="index">
<block v-if="getPeopList[index]">
<view class="iRgyqeOdqI-hy-box-peop-list-ia flex align-center justify-center"
style="border: none;">
<image style="width: 100%;height: 100%;border-radius: 50%;"
:src="getPeopList[index].avatar?getPeopList[index].avatar:'../../static/images/logo.png'"
mode=""></image>
</view>
<view class="iRgyqeOdqI-hy-box-peop-list-it flex align-center justify-center">
{{getPeopList[index].userName}}
</view>
</block>
<block v-else>
<view @click="onSaveImg()"
class="iRgyqeOdqI-hy-box-peop-list-ia flex align-center justify-center">
<u-icon name="plus" color="#ffffff" size="28"></u-icon>
</view>
<view class="iRgyqeOdqI-hy-box-peop-list-it flex align-center justify-center">
待助力
</view>
</block>
</view>
<view class="iRgyqeOdqI-hy-box-peop-list-i flex align-center justify-center"
style="height: 0;">
</view>
</view>
</view>
<block v-if="getPeopList.length>0">
<!-- 进度条 -->
<view class="iRgyqeOdqI-hy-box-schedule">
<u-line-progress height="16" inactive-color="#f5e0b0" active-color="#edb840"
:show-percent="false" :percent="getMathNum()" :round="true"></u-line-progress>
</view>
<view class="iRgyqeOdqI-hy-box-schedulet">
距离领取会员仅差<span>{{getUserPeopNum}}</span>位好友
</view>
<view class="iRgyqeOdqI-hy-box-peops">
<swiper class="iRgyqeOdqI-hy-box-peopss" next-margin="80px" :circular="true"
:indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000">
<swiper-item class="iRgyqeOdqI-hy-box-peopssi" v-for="(item,index) in getPeopList"
:key="index">
<view class="iRgyqeOdqI-hy-box-peopssis flex align-center">
<image :src="item.avatar?item.avatar:'../../static/images/logo.png'" mode="">
</image>
<view class="iRgyqeOdqI-hy-box-peopssit">
{{item.userName}}已为您助力
</view>
</view>
</swiper-item>
</swiper>
</view>
</block>
</view>
</view>
<!-- 助力按钮 -->
<!-- #ifndef MP-KUAISHOU -->
<view class="iRgyqeOdqI-btn flex align-center justify-center" @click="onSaveImg()">
{{getPeopList.length==0?'开始助力':'继续助力'}}
</view>
<!-- #endif -->
<!-- #ifdef MP-KUAISHOU -->
<view class="iRgyqeOdqI-btn flex align-center justify-center">
<u-button open-type="share" :custom-style="customStyle" :hair-line="false"
style="width: 100%;height: 100%;" shape="circle"
:ripple="true">{{getPeopList.length==0?'开始助力':'继续助力'}}</u-button>
</view>
<!-- #endif -->
<!-- 活动流程 -->
<view class="iRgyqeOdqI-lc">
<view class="iRgyqeOdqI-lc-title flex align-center justify-center">
活动流程
</view>
<view class="iRgyqeOdqI-lc-ls flex justify-between">
<view class="iRgyqeOdqI-lc-ls-i">
<image src="../static/assist/as1.png" mode=""></image>
<view class="iRgyqeOdqI-lc-ls-it">
点击发起助力
</view>
</view>
<image class="iRgyqeOdqI-lc-ls-ir" src="../static/assist/asr.png" mode=""></image>
<view class="iRgyqeOdqI-lc-ls-i">
<image src="../static/assist/as2.png" mode=""></image>
<view class="iRgyqeOdqI-lc-ls-it">
邀请对应数量好友
</view>
</view>
<image class="iRgyqeOdqI-lc-ls-ir" src="../static/assist/asr.png" mode=""></image>
<view class="iRgyqeOdqI-lc-ls-i">
<image src="../static/assist/as3.png" mode=""></image>
<view class="iRgyqeOdqI-lc-ls-it">
每位好友注册成功
</view>
</view>
<image class="iRgyqeOdqI-lc-ls-ir" src="../static/assist/asr.png" mode=""></image>
<view class="iRgyqeOdqI-lc-ls-i">
<image src="../static/assist/as4.png" mode=""></image>
<view class="iRgyqeOdqI-lc-ls-it">
领取对应时间会员
</view>
</view>
</view>
</view>
<!-- 活动规则 -->
<view class="iRgyqeOdqI-rule">
<view class="iRgyqeOdqI-rule-title flex align-center justify-center">
活动规则
</view>
<view class="iRgyqeOdqI-rule-list">
<view class="iRgyqeOdqI-rule-list-i flex align-center" v-for="(item,index) in rlueList" :key="index">
<image :src="item.inviteImg" mode=""></image>
<view class="iRgyqeOdqI-rule-list-i-r">
<view class="iRgyqeOdqI-rule-list-i-r-t" v-if="item.inviteMonth>0">
领取{{item.inviteMonth}}个月会员
</view>
<view class="iRgyqeOdqI-rule-list-i-r-t" v-else>
领取永久会员
</view>
<view class="iRgyqeOdqI-rule-list-i-r-b" v-if="item.inviteMonth>0">
邀请{{item.inviteCount}}位好友,您可以免费{{item.inviteMonth}}个月无限看短剧
</view>
<view class="iRgyqeOdqI-rule-list-i-r-b" v-else>
邀请{{item.inviteCount}}位好友,您可以永久免费无限看短剧
</view>
</view>
</view>
</view>
</view>
</view>
<!-- <image src="../../static/images/logo.png" mode=""></image> -->
<tki-qrcode ref="qrcode" :val="erweima" :size="100" background="#ffffff" foreground="#000000" pdground="#000000"
:onval="true" :loadMake="true" @result="qrR" :show="false"></tki-qrcode>
<view class="cu-modal" :class="modalName == 'Image' ? 'show' : ''" @tap="hideModal">
<view class="cu-dialog" v-if="bgImg && erweimapath && haibaoShow" @tap="hideModal">
<view class="bg-img">
<wm-poster @success="posterSuccess" @successH5="successH5" :imgSrc="bgImg"
:Referrer="'我的邀请码:'+invitationCode" :QrSrc="erweimapath" :LineType="false"></wm-poster>
</view>
</view>
</view>
</view>
</template>
<script>
import tkiQrcode from '../../components/tki-qrcode/tki-qrcode.vue';
import wmPoster from '../components/wm-poster/wm-posterordershd.vue';
import config from '../../common/config.js'
export default {
components: {
tkiQrcode,
wmPoster
},
data() {
return {
customStyle: {
width: '100%',
height: '98rpx',
border: 'none',
background: 'transparent',
color: '#ffffff',
fontSize: '12px',
fontWeight: '500',
// padding: '24px 20px',
},
avatar: '',
inviteAwardId: '', //等级id
rlueList: [], //规则列表
getPeopNum: 0, //当前需要邀请的人数
getUserPeopNum: 0, //还需要邀请的人数
rlueIndex: 0, //当前等级对应的下标
nowPeopNum: 0, //已经邀请的人数
getPeopList: [], //已经邀请的人列表
userName: '', //用户名称
avatar: '', //用户头像
erweima: '',
modalName: '',
bgImg: '',
erweimapath: '',
haibaoShow: false,
invitationCode: 0,
erweimapath: '',
haibaoImgH5: '',
qdCode: '', //渠道码
isBack: false,
bgImgs: '',
tuiguang: '',
}
},
onShareAppMessage(res) {
return {
path: '/pages/index/index?invitation=' + this.invitationCode + '&qdCode=' + this
.qdCode, //这是为了传参 onload(data){let id=data.id;}
title: this.tuiguang,
imageUrl: this.bgImgs
}
},
onShareTimeline(res) {
return {
path: '/pages/index/index?invitation=' + this.invitationCode + '&qdCode=' + this
.qdCode, //这是为了传参 onload(data){let id=data.id;}
title: this.tuiguang,
imageUrl: this.bgImgs
}
},
onLoad() {
// #ifdef H5
let ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') !== -1) {
this.isBack = false
} else {
this.isBack = true
}
// #endif
if (uni.getStorageSync('qdCode')) {
this.qdCode = uni.getStorageSync('qdCode')
}
this.getBgImg()
this.invitationCode = uni.getStorageSync('invitationCode')
// h5携带邀请码去首页
// #ifdef H5
this.erweima = config.APIHOST2 + '/?invitation=' + this
.invitationCode + '&qdCode=' + this.qdCode
// #endif
// app直接去app注册页面
// #ifdef APP
this.erweima = config.APIHOST2 + '/pages/ghtwwlkXYG/WVEtZeeghKApp?invitation=' + this
.invitationCode + '&qdCode=' + this.qdCode
// #endif
// #ifdef MP-WEIXIN
this.getWxEq()
// #endif
// #ifdef MP-TOUTIAO
this.getTouTiao()
// #endif
this.getUserInfo()
this.getActivity()
},
methods: {
goBack() {
uni.navigateBack();
},
//获取头条二维码
getTouTiao() {
let that = this
uni.downloadFile({
url: config.APIHOST +
'/app/invite/dyCreateQr?invitationCode=' + that
.invitationCode + ',' + that.qdCode + '&page=/pages/index/index',
success: (res) => {
console.log(res)
if (res.statusCode === 200) {
that.erweimapath = res.tempFilePath
} else {
uni.hideLoading();
uni.showToast({
title: '海报制作失败,图片下载失败',
icon: 'none'
});
}
},
fail: err => {
console.log(err)
uni.hideLoading();
uni.showToast({
title: '海报制作失败,图片下载失败',
icon: 'none'
});
}
});
},
//获取微信二维码
getWxEq() {
let that = this
uni.downloadFile({
url: config.APIHOST +
'/app/invite/mpCreateQr?invitationCode=' + that
.invitationCode + ',' + that.qdCode,
success: (res) => {
console.log(res)
if (res.statusCode === 200) {
that.erweimapath = res.tempFilePath
} else {
uni.hideLoading();
uni.showToast({
title: '海报制作失败,图片下载失败',
icon: 'none'
});
}
},
fail: err => {
console.log(err)
uni.hideLoading();
uni.showToast({
title: '海报制作失败,图片下载失败',
icon: 'none'
});
}
});
},
//获取背景图
getBgImg() {
this.$Request.get('/app/common/type/812').then(res => {
if (res.code == 0 && res.data.value) {
this.bgImg = res.data.value
}
})
this.$u.get('app/banner/selectBannerList?classify=5').then(res => {
if (res.code == 0) {
this.bgImgs = res.data[0].imageUrl
this.tuiguang = res.data[0].describes
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
});
},
showModal() {
console.log(this.erweima, '二维码地址')
// #ifndef H5
if (!this.haibaoImg) {
this.haibaoShow = true;
uni.showLoading({
title: '海报生成中'
});
} else {
this.modalName = 'Image';
}
// #endif
// #ifdef H5
let ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') !== -1) {
//微信浏览器
if (!this.haibaoImg) {
this.haibaoShow = true;
uni.showLoading({
title: '海报生成中'
});
} else {
this.modalName = 'Image';
}
} else {
if (!this.haibaoImgH5) {
this.haibaoShow = true;
uni.showLoading({
title: '海报生成中'
});
} else {
uni.previewImage({
urls: [this.haibaoImgH5],
current: 1,
})
}
}
// #endif
},
onSaveImg() {
this.showModal();
},
posterSuccess(haibaoImg) {
this.haibaoImg = haibaoImg;
this.modalName = 'Image';
uni.hideLoading();
},
successH5(haibaoImg) {
this.haibaoImgH5 = haibaoImg
uni.previewImage({
urls: [haibaoImg],
current: 1,
})
},
hideModal() {
this.modalName = null;
},
qrR(path) {
console.log(path, '二维码回调地址')
this.erweimapath = path;
},
//计算百分比
getMathNum() {
return (this.getPeopList.length / this.getPeopNum).toFixed(2) * 100
},
//获取登录用户信息
getUserInfo() {
this.$u.api.userinfo().then(res => {
if (res.code == 0) {
this.userName = res.data.userName;
this.avatar = res.data.avatar;
}
})
},
// 获取活动等级
getActivity() {
this.$Request.getT('/app/invite/selectInviteAwardByUserId').then(res => {
if (res.code == 0) {
if (res.data) {
this.inviteAwardId = res.data.inviteAwardId
this.getPeopNum = res.data.inviteCount
this.getActivityrule()
}
}
})
},
//获取活动规则列表
getActivityrule() {
this.$Request.getT('/app/invite/selectInviteAwardList', {
page: 1,
limit: 100
}).then(res => {
if (res.code == 0) {
if (res.data) {
this.rlueList = res.data.records
this.rlueIndex = this.rlueList.findIndex(item => item.inviteAwardId === this
.inviteAwardId)
this.getActivityList()
}
}
})
},
//获取邀请人列表
getActivityList() {
this.$Request.getT('/app/invite/selectInviteUserListByUserId').then(res => {
if (res.code == 0) {
if (res.data) {
this.nowPeopNum = res.data.length
this.getPeopList = res.data
this.getUserPeopNum = Number(this.getPeopNum) - Number(res.data.length)
}
}
})
},
}
}
</script>
<style lang="scss">
.nngyqngmIx {
background-color: #F22947;
position: relative;
}
page {
background-color: #f8cfc3;
}
.left_viewimage {
width: 50rpx;
height: 50rpx;
position: absolute;
top: 60rpx;
left: 40rpx;
z-index: 99;
}
.bg {
width: 100%;
position: absolute;
top: 0;
left: 0;
}
.iRgyqeOdqI {
width: 100%;
position: absolute;
top: 0;
left: 0;
}
.iRgyqeOdqI-title {
width: 100%;
text-align: center;
font-size: 78rpx;
font-weight: bold;
color: #FFF4E4;
text-shadow: 0rpx 6rpx 9rpx rgba(118, 4, 17, 0.26);
margin-top: 40rpx;
}
.iRgyqeOdqI-titles {
width: 100%;
text-align: center;
font-size: 100rpx;
font-weight: bold;
color: #FFF4E4;
text-shadow: 0rpx 6rpx 9rpx rgba(118, 4, 17, 0.26);
}
.iRgyqeOdqI-hy {
width: 100%;
height: auto;
margin-top: 40rpx;
.iRgyqeOdqI-hy-box {
padding: 40rpx 0;
width: 615rpx;
height: 100%;
background: linear-gradient(0deg, #FBEDCC 0%, #FFF7F0 98%);
border-radius: 48rpx 48rpx 24rpx 24rpx;
.iRgyqeOdqI-hy-box-title1 {
width: 90%;
margin: 0 auto;
text-align: center;
color: #F22947;
font-size: 30rpx;
font-weight: bold;
span {
font-size: 54rpx;
}
}
.iRgyqeOdqI-hy-box-title2 {
width: 100%;
text-align: center;
margin-top: 16rpx;
color: #F22947;
font-size: 26rpx;
}
.iRgyqeOdqI-hy-box-peop {
width: 550rpx;
height: auto;
background: linear-gradient(45deg, #f27e8c 0%, #fa3653 100%);
border-radius: 24rpx;
margin: 0 auto;
margin-top: 20rpx;
padding: 30rpx 0;
}
.iRgyqeOdqI-hy-box-peop-my {
width: 100%;
height: 90rpx;
image {
width: 90rpx;
height: 90rpx;
border-radius: 50%;
}
}
.iRgyqeOdqI-hy-box-peop-title {
width: 100%;
text-align: center;
margin-top: 20rpx;
color: #ffffff;
font-weight: 500;
font-size: 24rpx;
}
.iRgyqeOdqI-hy-box-peop-list {
width: calc(100% - 60rpx);
margin: 0 auto;
margin-top: 30rpx;
}
.iRgyqeOdqI-hy-box-peop-list-i {
width: 32%;
flex-direction: column;
margin-bottom: 20rpx;
font-size: 24rpx;
.iRgyqeOdqI-hy-box-peop-list-ia {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
border: 1px dashed #ffffff;
}
.iRgyqeOdqI-hy-box-peop-list-it {
color: #ffffff;
margin-top: 14rpx;
}
}
.iRgyqeOdqI-hy-box-schedule {
width: 550rpx;
margin: 0 auto;
margin-top: 26rpx;
}
.iRgyqeOdqI-hy-box-schedulet {
width: 550rpx;
margin: 0 auto;
font-size: 22rpx;
span {
color: #F22A48;
font-size: 26rpx;
}
}
.iRgyqeOdqI-hy-box-peops {
width: 550rpx;
margin: 0 auto;
margin-top: 26rpx;
height: 50rpx;
}
.iRgyqeOdqI-hy-box-peopss {
width: 100%;
height: 100%;
.iRgyqeOdqI-hy-box-peopssi {
width: 100%;
height: 100%;
}
.iRgyqeOdqI-hy-box-peopssis {
width: 90%;
// width: 300rpx;
height: 100%;
background-color: green;
padding: 0 10rpx;
background: linear-gradient(-90deg, #FCE9A4 0%, #FDFBD4 100%);
border-radius: 25rpx;
image {
width: 40rpx;
height: 40rpx;
border-radius: 50%;
}
.iRgyqeOdqI-hy-box-peopssit {
width: 80%;
font-size: 24rpx;
margin-left: 10rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
}
}
}
.iRgyqeOdqI-btn {
width: 666rpx;
height: 98rpx;
background: linear-gradient(-90deg, #F22C49 0%, #FF7989 100%);
border: 1px solid #FFD4CF;
border-radius: 49rpx;
margin: 0 auto;
margin-top: 50rpx;
color: #FFFFFF;
font-size: 32rpx;
font-weight: bold;
}
.iRgyqeOdqI-lc {
width: 666rpx;
height: 344rpx;
background-color: #FFFFFF;
border-radius: 24rpx;
margin: 0 auto;
margin-top: 50rpx;
.iRgyqeOdqI-lc-title {
width: 434rpx;
height: 80rpx;
background: linear-gradient(90deg, #FF969B 0%, #FF345B 100%);
border-radius: 0rpx 0rpx 50rpx 50rpx;
margin: 0 auto;
color: #FFFFFF;
font-size: 32rpx;
font-weight: bold;
}
.iRgyqeOdqI-lc-ls {
width: calc(100% - 40rpx);
margin: 0 auto;
margin-top: 50rpx;
.iRgyqeOdqI-lc-ls-ir {
width: 26rpx;
height: 16rpx;
margin-top: 50rpx;
}
.iRgyqeOdqI-lc-ls-i {
width: 100rpx;
image {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
}
.iRgyqeOdqI-lc-ls-it {
width: 100%;
text-align: center;
font-size: 26rpx;
color: #9C2A2A;
font-weight: bold;
margin-top: 14rpx;
}
}
}
}
.iRgyqeOdqI-rule {
width: 666rpx;
height: auto;
background-color: #FFFFFF;
border-radius: 24rpx;
margin: 0 auto;
margin-top: 50rpx;
.iRgyqeOdqI-rule-title {
width: 434rpx;
height: 80rpx;
background: linear-gradient(90deg, #FF969B 0%, #FF345B 100%);
border-radius: 0rpx 0rpx 50rpx 50rpx;
margin: 0 auto;
color: #FFFFFF;
font-size: 32rpx;
font-weight: bold;
}
.iRgyqeOdqI-rule-list {
width: 626rpx;
height: auto;
margin: 0 auto;
margin-top: 40rpx;
padding-bottom: 20rpx;
}
.iRgyqeOdqI-rule-list-i {
padding: 18rpx 12rpx;
background-color: #FFF8E6;
border-radius: 14rpx;
margin-bottom: 30rpx;
image {
width: 106rpx;
height: 82rpx;
}
.iRgyqeOdqI-rule-list-i-r {
margin-left: 18rpx;
.iRgyqeOdqI-rule-list-i-r-t {
color: #9C2A2A;
font-size: 30rpx;
font-weight: bold;
}
.iRgyqeOdqI-rule-list-i-r-b {
font-size: 24rpx;
color: #9C2A2A;
font-weight: 500;
}
}
}
}
</style>

View File

@@ -0,0 +1,24 @@
<template>
<view class="gyqSxFeTGt">
<image class="img ZgyqRCsasY" src="/static/kigqHbgyqpImg/6_gyq_f59df2b9142077df409cf0e3e997e4ff292f9fcf44dc-5MQEKi_fw1200 (1).jpg" mode="widthFix"></image>
<image class="img Vgyqvunkwy" src="/static/kigqHbgyqpImg/6_gyq_f59df2b9142077df409cf0e3e997e4ff292f9fcf44dc-5MQEKi_fw1200 (1).png" mode="widthFix"></image>
<image class="img oGEJgyqEDt" src="/static/kigqHbgyqpImg/6_gyq_f59df2b9142077df409cf0e3e997e4ff292f9fcf44dc-5MQEKi_fw1200 (2).jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

196
me/setting/FdwbsxoKnh.vue Normal file
View File

@@ -0,0 +1,196 @@
<template>
<view class="FdwbsxoKnh">
<view class="cu-form-group"
style="margin: 30upx;border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
</view>
<view class="cu-form-group"
style="margin: 30upx;border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">验证码</text>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code" @input="inputChange"
@confirm="toLogin" />
<button class="dwbCkbEBqX" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
</view>
<button class="qKdwbBRntC" @click="toLogin" :disabled="logining">立即换绑
</button>
</view>
</template>
<script>
// import listCell from '@/components/com-input';
export default {
components: {
// listCell
},
data() {
return {
mobile: '',
code: '',
logining: false,
sending: false,
sendTime: '获取验证码',
count: 60,
}
},
methods: {
inputChange(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
uni.navigateBack();
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码'
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsg() {
const {
mobile
} = this;
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
this.$u.get('/app/Login/sendMsg/' + mobile + '/login').then(res => {
if (res.code === 0) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
toLogin() {
const {
mobile,
code,
} = this;
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (code.length == 0) {
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
} else {
this.logining = true;
uni.showLoading({
title: '更换中...'
})
this.$u.post('/app/user/updatePhone?phone=' + mobile + '&msg=' + code).then(res => {
if (res.code === 0) {
// this.$queue.remove('invitation');
// uni.setStorageSync('token', res.token)
// uni.setStorageSync('userId', res.userId)
// uni.setStorageSync('mobile', res.mobile)
uni.showToast({
title: '更换成功',
icon: 'none'
})
setTimeout(function() {
uni.navigateBack()
}, 1000)
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '更换失败',
content: res.msg
});
}
});
}
},
},
}
</script>
<style lang='scss'>
page {
background: #ffffff;
}
.dwbCkbEBqX {
border-radius: 30px;
color: white;
height: 30px;
font-size: 14px;
line-height: 30px;
background: #ff7581;
}
.FdwbsxoKnh {
top: 0;
padding-top: 32upx;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
}
.qKdwbBRntC {
width: 300px;
height: 42px;
line-height: 42px;
border-radius: 30px;
margin-top: 70px;
background: #ff7581;
color: #ffffff;
font-size: 32rpx;
&:after {
border-radius: 60px;
}
}
</style>

View File

@@ -104,7 +104,7 @@
uni.removeStorageSync('isVIP')
setTimeout(function() {
uni.switchTab({
url: '/pages/me/index'
url: '/pages/iSiAnfghCC/abKTySghjA'
})
}, 1500)
}

View File

@@ -298,7 +298,7 @@
this.getMyMoney()
} else {
uni.navigateTo({
url: '/pages/login/bind'
url: '/pages/ghtwwlkXYG/MFkHiQghje'
});
}
});
@@ -319,7 +319,7 @@
this.getMyMoney()
} else {
uni.navigateTo({
url: '/pages/login/bind'
url: '/pages/ghtwwlkXYG/MFkHiQghje'
});
}
});

View File

@@ -32,7 +32,7 @@
<!-- 消息&数据 -->
<view class="blogger-tips-data">
<view class="blogger-tips-data__wrap tn-bg-white">
<view class="blogger-tips-data__message tn-flex tn-flex-row-center" @click="tn('/minePages/message')">
<view class="blogger-tips-data__message tn-flex tn-flex-row-center" @click="tn('/minepages/iSiAnfghCCssage')">
<view class="blogger-tips-data__message__container tn-flex tn-flex-row-center tn-flex-col-center tn-bg-gray--light">
<view class="blogger-tips-data__message__avatar">
<tn-avatar
@@ -507,7 +507,7 @@
userName: '斯耀短剧0647',
date: '2024年12月20日',
label: ['活跃','链接','转盘抽奖'],
desc: 'https://dj-h5.hnsiyao.cn/pages/login/appEq 红包抽奖,各种精美礼品等你来拿',
desc: 'https://dj-h5.hnsiyao.cn/pages/ghtwwlkXYG/YEZelghNit 红包抽奖,各种精美礼品等你来拿',
mainImage:[
'https://resource.tuniaokj.com/images/shop/watch1.jpg',
'https://resource.tuniaokj.com/images/shop/watch2.jpg',

View File

@@ -4,15 +4,6 @@
"^tn-(.*)": "@/tuniao-ui/components/tn-$1/tn-$1.vue"
},
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/task/index",
"style": {
"navigationBarTitleText": "任务",
"enablePullDownRefresh": true,
"navigationStyle": "custom"
}
},
{
"path": "pages/index/index",
"style": {
@@ -21,13 +12,21 @@
"navigationStyle": "custom"
}
},
{
"path": "pages/task/index",
"style": {
"navigationBarTitleText": "任务",
"enablePullDownRefresh": true,
"navigationStyle": "custom"
}
},
{
"path": "pages/task/prizeList",
"style": {
"navigationBarTitleText": "任务",
"navigationStyle": "custom"
}
},
{
@@ -35,11 +34,11 @@
"style": {
"navigationBarTitleText": "任务",
"navigationStyle": "custom"
}
},
{
"path": "pages/me/erweimaRegister",
"path": "pages/iSiAnfghCC/ghhCPInfzi",
"style": {
"navigationBarTitleText": "短剧",
"navigationStyle": "custom", //
@@ -52,7 +51,7 @@
}
},
{
"path": "pages/index/search/index",
"path": "pages/index/fghaQGjsSE/aghyvzmfVW",
"style": {
"navigationBarTitleText": "搜索",
"navigationBarBackgroundColor": "#FFFFFF",
@@ -60,14 +59,14 @@
}
},
{
"path": "pages/index/course/courseList",
"path": "pages/index/mggghRAnkh/yDNQghnrBV",
"style": {
"navigationBarTitleText": "资源列表",
"enablePullDownRefresh": true,
"navigationBarBackgroundColor": "#FFFFFF"
}
}, {
"path": "pages/index/course/orderDet",
"path": "pages/index/mggghRAnkh/zaDDTghWrb",
"style": {
"navigationBarTitleText": "确认订单",
"navigationBarBackgroundColor": "#FFFFFF"
@@ -83,7 +82,7 @@
{
"path": "pages/learn/index",
"path": "pages/QopeXhghCn/index",
"style": {
"navigationBarTitleText": "学习",
"enablePullDownRefresh": true,
@@ -95,14 +94,14 @@
}
},
{
"path": "pages/me/index",
"path": "pages/iSiAnfghCC/abKTySghjA",
"style": {
"navigationBarTitleText": "我的",
"navigationStyle": "custom"
}
},
{
"path": "pages/me/userinfo",
"path": "pages/iSiAnfghCC/GqrTYehghi",
"style": {
"navigationBarTitleText": "个人资料",
"h5": {
@@ -115,7 +114,7 @@
{
"path": "pages/me/vip/index",
"path": "pages/iSiAnfghCC/vip/index",
"style": {
"navigationBarTitleText": "会员中心",
"h5": {
@@ -128,7 +127,7 @@
{
"path": "pages/login/login",
"path": "pages/ghtwwlkXYG/wVghNzmqkQ",
"style": {
"navigationBarTitleText": "登录",
"h5": {
@@ -139,7 +138,7 @@
}
},
{
"path": "pages/login/registerApp",
"path": "pages/ghtwwlkXYG/WVEtZeeghKApp",
"style": {
"navigationBarTitleText": "注册",
"navigationBarBackgroundColor": "#f1a48a",
@@ -154,18 +153,8 @@
// #endif
}
},
{
"path": "pages/login/loginPhone",
"style": {
"navigationBarTitleText": "登录",
"h5": {
"titleNView": {
"backgroundColor": "#FFFFFF"
}
}
}
}, {
"path": "pages/login/bind",
{
"path": "pages/ghtwwlkXYG/MFkHiQghje",
"style": {
"navigationBarTitleText": "绑定手机号",
"h5": {
@@ -176,7 +165,7 @@
}
},
{
"path": "pages/login/register",
"path": "pages/ghtwwlkXYG/WVEtZeeghK",
"style": {
"navigationBarTitleText": "",
@@ -193,7 +182,7 @@
}
},
{
"path": "pages/login/forgetPwd",
"path": "pages/ghtwwlkXYG/EAkIghCGJS",
"style": {
"navigationBarTitleText": "重置密码",
"h5": {
@@ -234,7 +223,7 @@
},
{
"path": "pages/login/appEq",
"path": "pages/ghtwwlkXYG/YEZelghNit",
"style": {
"navigationBarTitleText": "注册成功",
"enablePullDownRefresh": false
@@ -244,25 +233,25 @@
// #endif
}
}, {
"path": "pages/login/iosmobile",
"path": "pages/ghtwwlkXYG/YWeghpHqfd",
"style": {
"navigationBarTitleText": "手机号绑定"
}
},
{
"path": "pages/login/wxmobile",
"path": "pages/ghtwwlkXYG/AoOwHCZghW",
"style": {
"navigationBarTitleText": "手机号绑定"
}
},
{
"path": "pages/login/phonebind",
"path": "pages/ghtwwlkXYG/bQpNDEIghp",
"style": {
"navigationBarTitleText": "手机号绑定"
}
},
{
"path": "pages/pays/pays",
"path": "pages/itkXJghyII/hLUkghGDXH",
"style": {
"navigationBarTitleText": ""
}
@@ -746,41 +735,36 @@
}
},
{
"path" : "blogger/blogger",
"style" :
{
"navigationBarTitleText" : "",
"path": "blogger/blogger",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path" : "blogger/details",
"style" :
{
"navigationBarTitleText" : "",
"path": "blogger/details",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path" : "topic/topic",
"style" :
{
"navigationBarTitleText" : "话题"
"path": "topic/topic",
"style": {
"navigationBarTitleText": "话题"
}
},
{
"path" : "topic/reserve",
"style" :
{
"navigationBarTitleText" : "",
"path": "topic/reserve",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},
{
"path" : "tools/tools",
"style" :
{
"navigationBarTitleText" : "",
"path": "tools/tools",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}
@@ -802,7 +786,18 @@
"backgroundColor": "#FFFFFF",
"borderStyle": "black",
"list": [
"list": [{
"pagePath": "pages/index/index",
"iconPath": "static/tabbar/index@2x.png",
"selectedIconPath": "static/tabbar/index_@2x.png",
"text": "小剧场"
},
{
"pagePath": "pages/video/video",
"iconPath": "static/tabbar/learn@2x.png",
"selectedIconPath": "static/tabbar/learn_@2x.png",
"text": "推荐"
},
{
"pagePath": "pages/task/index",
"iconPath": "static/tabbar/task@2x.png",
@@ -810,37 +805,17 @@
"text": "任务"
},
{
"pagePath": "pages/video/video",
"iconPath": "static/tabbar/index@2x.png",
"selectedIconPath": "static/tabbar/index_@2x.png",
"text": "剧"
"pagePath": "pages/chasingDrama/chasingDrama",
"iconPath": "static/tabbar/zhuiju.png",
"selectedIconPath": "static/tabbar/zhuiju_.png",
"text": "剧"
},
{
"pagePath": "pages/iSiAnfghCC/abKTySghjA",
"iconPath": "static/tabbar/me@2x.png",
"selectedIconPath": "static/tabbar/me_@2x.png",
"text": "我的"
}
// ,
// {
// "pagePath": "pages/index/index",
// "iconPath": "static/tabbar/index@2x.png",
// "selectedIconPath": "static/tabbar/index_@2x.png",
// "text": "刷剧"
// }
// {
// "pagePath": "pages/video/video",
// "iconPath": "static/tabbar/learn@2x.png",
// "selectedIconPath": "static/tabbar/learn_@2x.png",
// "text": "推荐"
// },
// {
// "pagePath": "pages/chasingDrama/chasingDrama",
// "iconPath": "static/tabbar/zhuiju.png",
// "selectedIconPath": "static/tabbar/zhuiju_.png",
// "text": "追剧"
// },
// {
// "pagePath": "pages/me/index",
// "iconPath": "static/tabbar/me@2x.png",
// "selectedIconPath": "static/tabbar/me_@2x.png",
// "text": "我的"
// }
]
},
"condition": { //

View File

@@ -4,6 +4,15 @@
"^tn-(.*)": "@/tuniao-ui/components/tn-$1/tn-$1.vue"
},
"pages": [ //pages数组中第一项表示应用启动页参考https://uniapp.dcloud.io/collocation/pages
{
"path": "pages/task/index",
"style": {
"navigationBarTitleText": "任务",
"enablePullDownRefresh": true,
"navigationStyle": "custom"
}
},
{
"path": "pages/index/index",
"style": {
@@ -12,21 +21,13 @@
"navigationStyle": "custom"
}
},
{
"path": "pages/task/index",
"style": {
"navigationBarTitleText": "任务",
"enablePullDownRefresh": true,
"navigationStyle": "custom"
}
},
{
"path": "pages/task/prizeList",
"style": {
"navigationBarTitleText": "任务",
"navigationStyle": "custom"
}
},
{
@@ -34,11 +35,11 @@
"style": {
"navigationBarTitleText": "任务",
"navigationStyle": "custom"
}
},
{
"path": "pages/me/erweimaRegister",
"path": "pages/iSiAnfghCC/ghhCPInfzi",
"style": {
"navigationBarTitleText": "短剧",
"navigationStyle": "custom", // 隐藏系统导航栏
@@ -51,7 +52,7 @@
}
},
{
"path": "pages/index/search/index",
"path": "pages/index/fghaQGjsSE/aghyvzmfVW",
"style": {
"navigationBarTitleText": "搜索",
"navigationBarBackgroundColor": "#FFFFFF",
@@ -59,14 +60,14 @@
}
},
{
"path": "pages/index/course/courseList",
"path": "pages/index/mggghRAnkh/yDNQghnrBV",
"style": {
"navigationBarTitleText": "资源列表",
"enablePullDownRefresh": true,
"navigationBarBackgroundColor": "#FFFFFF"
}
}, {
"path": "pages/index/course/orderDet",
"path": "pages/index/mggghRAnkh/zaDDTghWrb",
"style": {
"navigationBarTitleText": "确认订单",
"navigationBarBackgroundColor": "#FFFFFF"
@@ -82,7 +83,7 @@
{
"path": "pages/learn/index",
"path": "pages/QopeXhghCn/index",
"style": {
"navigationBarTitleText": "学习",
"enablePullDownRefresh": true,
@@ -94,14 +95,14 @@
}
},
{
"path": "pages/me/index",
"path": "pages/iSiAnfghCC/abKTySghjA",
"style": {
"navigationBarTitleText": "我的",
"navigationStyle": "custom"
}
},
{
"path": "pages/me/userinfo",
"path": "pages/iSiAnfghCC/GqrTYehghi",
"style": {
"navigationBarTitleText": "个人资料",
"h5": {
@@ -114,7 +115,7 @@
{
"path": "pages/me/vip/index",
"path": "pages/iSiAnfghCC/vip/index",
"style": {
"navigationBarTitleText": "会员中心",
"h5": {
@@ -127,7 +128,7 @@
{
"path": "pages/login/login",
"path": "pages/ghtwwlkXYG/wVghNzmqkQ",
"style": {
"navigationBarTitleText": "登录",
"h5": {
@@ -138,7 +139,7 @@
}
},
{
"path": "pages/login/registerApp",
"path": "pages/ghtwwlkXYG/WVEtZeeghKApp",
"style": {
"navigationBarTitleText": "注册",
"navigationBarBackgroundColor": "#f1a48a",
@@ -152,19 +153,8 @@
"navigationStyle": "custom"
// #endif
}
},
{
"path": "pages/login/loginPhone",
"style": {
"navigationBarTitleText": "登录",
"h5": {
"titleNView": {
"backgroundColor": "#FFFFFF"
}
}
}
}, {
"path": "pages/login/bind",
"path": "pages/ghtwwlkXYG/MFkHiQghje",
"style": {
"navigationBarTitleText": "绑定手机号",
"h5": {
@@ -175,7 +165,7 @@
}
},
{
"path": "pages/login/register",
"path": "pages/ghtwwlkXYG/WVEtZeeghK",
"style": {
"navigationBarTitleText": "",
@@ -192,7 +182,7 @@
}
},
{
"path": "pages/login/forgetPwd",
"path": "pages/ghtwwlkXYG/EAkIghCGJS",
"style": {
"navigationBarTitleText": "重置密码",
"h5": {
@@ -233,7 +223,7 @@
},
{
"path": "pages/login/appEq",
"path": "pages/ghtwwlkXYG/YEZelghNit",
"style": {
"navigationBarTitleText": "注册成功",
"enablePullDownRefresh": false
@@ -243,25 +233,25 @@
// #endif
}
}, {
"path": "pages/login/iosmobile",
"path": "pages/ghtwwlkXYG/YWeghpHqfd",
"style": {
"navigationBarTitleText": "手机号绑定"
}
},
{
"path": "pages/login/wxmobile",
"path": "pages/ghtwwlkXYG/AoOwHCZghW",
"style": {
"navigationBarTitleText": "手机号绑定"
}
},
{
"path": "pages/login/phonebind",
"path": "pages/ghtwwlkXYG/bQpNDEIghp",
"style": {
"navigationBarTitleText": "手机号绑定"
}
},
{
"path": "pages/pays/pays",
"path": "pages/itkXJghyII/hLUkghGDXH",
"style": {
"navigationBarTitleText": ""
}
@@ -745,36 +735,41 @@
}
},
{
"path": "blogger/blogger",
"style": {
"navigationBarTitleText": "",
"path" : "blogger/blogger",
"style" :
{
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "blogger/details",
"style": {
"navigationBarTitleText": "",
"path" : "blogger/details",
"style" :
{
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "topic/topic",
"style": {
"navigationBarTitleText": "话题"
"path" : "topic/topic",
"style" :
{
"navigationBarTitleText" : "话题"
}
},
{
"path": "topic/reserve",
"style": {
"navigationBarTitleText": "",
"path" : "topic/reserve",
"style" :
{
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
},
{
"path": "tools/tools",
"style": {
"navigationBarTitleText": "",
"path" : "tools/tools",
"style" :
{
"navigationBarTitleText" : "",
"navigationStyle": "custom"
}
}
@@ -796,18 +791,7 @@
"backgroundColor": "#FFFFFF",
"borderStyle": "black",
"list": [{
"pagePath": "pages/index/index",
"iconPath": "static/tabbar/index@2x.png",
"selectedIconPath": "static/tabbar/index_@2x.png",
"text": "小剧场"
},
{
"pagePath": "pages/video/video",
"iconPath": "static/tabbar/learn@2x.png",
"selectedIconPath": "static/tabbar/learn_@2x.png",
"text": "推荐"
},
"list": [
{
"pagePath": "pages/task/index",
"iconPath": "static/tabbar/task@2x.png",
@@ -815,17 +799,37 @@
"text": "任务"
},
{
"pagePath": "pages/chasingDrama/chasingDrama",
"iconPath": "static/tabbar/zhuiju.png",
"selectedIconPath": "static/tabbar/zhuiju_.png",
"text": "剧"
},
{
"pagePath": "pages/me/index",
"iconPath": "static/tabbar/me@2x.png",
"selectedIconPath": "static/tabbar/me_@2x.png",
"text": "我的"
"pagePath": "pages/video/video",
"iconPath": "static/tabbar/index@2x.png",
"selectedIconPath": "static/tabbar/index_@2x.png",
"text": "剧"
}
// ,
// {
// "pagePath": "pages/index/index",
// "iconPath": "static/tabbar/index@2x.png",
// "selectedIconPath": "static/tabbar/index_@2x.png",
// "text": "刷剧"
// }
// {
// "pagePath": "pages/video/video",
// "iconPath": "static/tabbar/learn@2x.png",
// "selectedIconPath": "static/tabbar/learn_@2x.png",
// "text": "推荐"
// },
// {
// "pagePath": "pages/chasingDrama/chasingDrama",
// "iconPath": "static/tabbar/zhuiju.png",
// "selectedIconPath": "static/tabbar/zhuiju_.png",
// "text": "追剧"
// },
// {
// "pagePath": "pages/iSiAnfghCC/abKTySghjA",
// "iconPath": "static/tabbar/me@2x.png",
// "selectedIconPath": "static/tabbar/me_@2x.png",
// "text": "我的"
// }
]
},
"condition": { //模式配置,仅开发期间生效

View File

View File

@@ -0,0 +1,78 @@
<template>
<view class="u-relative bg-gray fixed yodwbsHlmJ-all">
<view class="jdwbHJCFxl ydwbzNqTbj" v-if="time<=0" @click="enter"><text>进入</text></view>
<view class="jdwbHJCFxl" v-else ><text>{{time}}</text></view>
<image src="./asz.JPG" v-if="false" mode=""></image>
<view class="w-full dumdwbwauP">
<image src="/static/images/share_bg2.png" class="img"></image>
</view>
</view>
</template>
<script>
export default {
data() {
return {
time:3
}
},
onLoad() {
this.init()
},
methods: {
enter(){
uni.reLaunch({
url:'/pages/index/index'
})
},
init(){
this.timer=setInterval(()=>{
this.time--
if(this.time<=0){
clearInterval(this.timer)
}
},1000)
}
}
}
</script>
<style lang="scss" scoped>
.yodwbsHlmJ-all{
position: fixed;
inset: 0;
.jdwbHJCFxl{
position: absolute;
z-index: 10;
width: 50rpx;
height: 50rpx;
text-align: center;
display: flex;
justify-content: center;
font-size: 14px;
color: #555;
align-items: center;
right: 30rpx;
border-radius: 50%;
background-color: rgba(255, 255, 255, .5);
border: 1px solid rgba(255, 255, 255, .8);
top: calc(var(--status-bar-height) + 20rpx );
}
.ydwbzNqTbj{
border-radius: 100rpx;
white-space: nowrap;
width: auto;
height: auto;
padding: 4rpx 20rpx;
}
.dumdwbwauP{
position: absolute;
inset: 0;
.img{
width: 100%;
height: 100%;
}
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 706 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 KiB

BIN
pages/BdwbOqUuVz/asz.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

View File

@@ -0,0 +1,27 @@
<template>
<view class="gyqSxFeTGt">
<image class="img CBKwkqgyqg" src="./asz.JPG" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6808.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6808.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6810.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6811.jpg" mode="widthFix"></image>
<image class="img QxmTgyqLtb" src="./IMG_6812.jpg" mode="widthFix"></image>
</view>
</template>
<script>
export default {
data() {
return {
list: []
};
}
};
</script>
<style scoped lang="scss">
.img {
width: 100%;
display: block;
}
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6770.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6771.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6768.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6769.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

542
pages/QopeXhghCn/index.vue Normal file
View File

@@ -0,0 +1,542 @@
<template>
<view>
<view class="wrap-DEghTTorsp">
<view class="headDEghTTorsp">
<scroll-view scroll-x class="bg nav bg-white u-border-bottom">
<view class="flex text-center">
<view class="cu-item flex-sub text-bold" :class="item.name===TabCur?' cur ':'text-black'"
v-for="(item,index) in tabList" :key="index" :data-id="item.name" @tap="tabSelectDEghTTorsp">
{{item.name}}
<view v-if="item.name===TabCur"
style="width: 64rpx;height: 8rpx;;background: #5074FF;margin: -20rpx auto;border-radius: 10rpx;">
</view>
</view>
</view>
</scroll-view>
</view>
<view class="headLenDEghTTorsp">
<view v-if="TabCur === tabList[0].name">
<view class="page-box-DEghTTorsp" v-if="latelyCourseList.length && userId">
<view class="orderView-DEghTTorsp" v-for="(item, index) in latelyCourseList" :key="index"
@click="goCourseDetDEghTTorsp(item)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill"
style="border-radius: 10rpx;width: 180rpx;height: 180rpx;"></image>
</view>
<view class="flex-sub content flex flex-direction justify-between"
style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{item.title}}
</view>
<view class="text-gray text-26 margin-top">最近{{item.payNum}}人在学 </view>
<view class="flex align-center justify-between">
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold"
style="font-size: 42rpx;">{{item.price}}</text></view>
<view class="btn">马上学习</view>
</view>
</view>
</view>
</view>
</view>
<!-- 空数据 -->
<empty v-else-if="!latelyCourseList.length && userId"></empty>
<noLogin v-if="userId === ''"></noLogin>
</view>
<view v-if="TabCur == tabList[1].name">
<view class="page-box-DEghTTorsp" v-if="selectCourseList.length && userId">
<view class="order" v-for="(item, index) in selectCourseList" :key="index"
@click="goCourseDetDEghTTorsp(item)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill"
style="border-radius: 10rpx;width: 180rpx;height: 180rpx;"></image>
</view>
<view class="flex-sub content flex flex-direction justify-between"
style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{item.title}}
</view>
<view class="text-gray text-26 margin-top">最近{{item.payNum}}人在学 </view>
<view class="flex align-center justify-between">
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold"
style="font-size: 42rpx;">{{item.price}}</text></view>
<view class="btn">马上学习</view>
</view>
</view>
</view>
</view>
</view>
<!-- 空数据 -->
<empty v-else-if="!selectCourseList.length && userId"></empty>
<noLogin v-if="userId === ''"></noLogin>
</view>
<view v-if="TabCur == tabList[2].name">
<view class="page-box-DEghTTorsp" v-if="collectList.length && userId">
<view class="orderView-DEghTTorsp" v-for="(item,index) in collectList" :key='index' @click="goCourseDetDEghTTorsp(item)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill"
style="border-radius: 10rpx;width: 180rpx;height: 180rpx;"></image>
</view>
<view class="flex-sub content flex flex-direction justify-between"
style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{item.title}}
</view>
<view class="text-gray text-26 margin-top">最近{{item.payNum}}人在学 </view>
<view class="flex align-center justify-between">
<view class=" " style="color: #FF8211;">¥ <text class=" text-bold"
style="font-size: 42rpx;">{{item.price}}</text></view>
<view class="btn">马上学习</view>
</view>
</view>
</view>
</view>
</view>
<!-- 空数据 -->
<empty v-else-if="!collectList.length && userId" content="去添加"></empty>
<noLogin v-if="userId === ''"></noLogin>
</view>
</view>
</view>
</view>
</template>
<script>
import empty from '@/components/empty.vue'
import noLogin from '@/components/noLogin.vue'
export default {
components: {
empty,
noLogin
},
data() {
return {
TabCur: '最近学习',
orderList: [
[],
[],
[]
],
tabList: [{
name: '最近学习'
},
{
name: '已购资源'
},
{
name: '收藏资源'
}
],
current: 0,
swiperCurrent: 0,
tabsHeight: 0,
dx: 0,
loadStatus: ['loadmore', 'loadmore', 'loadmore', 'loadmore'],
userId: '',
limit: 10,
latelyCourseList: [], //最近学习
latelyCoursePage: 1,
selectCourseList: [], //已购资源
selectCoursePage: 1,
collectList: [], //收藏资源
collectPage: 1,
totalCount: 0
};
},
onLoad() {
},
onShow() {
console.log(this.latelyCourseList)
this.userId = uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
if (this.userId) {
// this.latelyCourseList = []
// this.selectCourseList = []
// this.collectList = []
this.getLatelyCourseDEghTTorsp()
this.getSelectCourseDEghTTorsp()
this.getCollectListDEghTTorsp()
}
},
methods: {
tabSelectDEghTTorsp(e) {
// console.log(e.currentTarget.dataset)
this.TabCur = e.currentTarget.dataset.id;
this.userId = uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
// console.log("this.userId____:" + this.userId)
if (this.userId) {
switch (this.TabCur) {
case '最近学习': //最近学习
this.latelyCoursePage = 1
this.getLatelyCourseDEghTTorsp()
break;
case '已购资源': //已购资源
this.selectCoursePage = 1
this.getSelectCourseDEghTTorsp()
break;
case '收藏资源': //已购资源
this.collectPage = 1;
this.getCollectListDEghTTorsp()
break;
}
}
},
// 最近学习
getLatelyCourseDEghTTorsp() {
uni.showLoading({
title: '加载中'
})
let data = {
userId: this.userId,
page: this.latelyCoursePage,
limit: this.limit,
}
this.$u.api.latelyCourse(data).then(res => {
uni.hideLoading()
uni.stopPullDownRefresh();
if (res.code == 0) {
res.data.list.forEach(ret => {
if (ret.avatar) {
ret.avatar = ret.avatar.split(',')
}
})
this.totalCount = res.data.totalCount
if (this.latelyCoursePage == 1) {
this.latelyCourseList = res.data.list;
} else {
this.latelyCourseList = [...this.latelyCourseList, ...res.data.list]
}
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
},
// 已购资源
getSelectCourseDEghTTorsp() {
uni.showLoading({
title: '加载中'
})
let data = {
userId: this.userId,
page: this.selectCoursePage,
limit: this.limit,
}
this.$u.api.selectCourse(data).then(res => {
uni.hideLoading()
uni.stopPullDownRefresh();
if (res.code == 0) {
res.data.list.forEach(ret => {
if (ret.avatar) {
ret.avatar = ret.avatar.split(',')
}
})
this.totalCount = res.data.totalCount
if (this.selectCoursePage == 1) {
this.selectCourseList = res.data.list;
} else {
this.selectCourseList = [...this.selectCourseList, ...res.data.list]
}
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
},
// 获取收藏信息
getCollectListDEghTTorsp() {
uni.showLoading({
title: '加载中'
})
let data = {
userId: this.userId,
page: this.collectPage,
limit: this.limit,
}
this.$u.api.collectList(data).then(res => {
uni.hideLoading()
uni.stopPullDownRefresh();
if (res.code == 0) {
this.totalCount = res.data.totalCount
if (this.collectPage == 1) {
this.collectList = res.data.records;
} else {
this.collectList = [...this.collectList, ...res.data.records]
}
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
},
// 查看资源详情
goCourseDetDEghTTorsp(e) {
let userId = uni.getStorageSync('userId')
if (userId) {
uni.navigateTo({
url: '/pages/index/mggghRAnkh/courseDet?id=' + e.courseId
});
} else {
uni.navigateTo({
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
},
computed: {
// 价格整数
priceInt() {
return val => {
// if (val !== parseInt(val)) return val.split('.')[0];
// else return val;
return val
};
}
},
onReachBottom: function() {
this.userId = uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
if (this.userId) {
if (this.TabCur == '最近学习') { //最近学习
if (this.totalCount == this.latelyCourseList.length) {
uni.showToast({
title: '已经到底了~',
icon: 'none'
})
return
} else {
this.latelyCoursePage = this.latelyCoursePage + 1;
this.getLatelyCourseDEghTTorsp()
}
} else if (this.TabCur == '已购资源') { //已购资源
if (this.totalCount == this.selectCourseList.length) {
uni.showToast({
title: '已经到底了~',
icon: 'none'
})
return
} else {
this.selectCoursePage = this.selectCoursePage + 1;
this.getSelectCourseDEghTTorsp()
}
} else if (this.TabCur == '收藏资源') { //收藏资源
if (this.totalCount == this.collectList.length) {
uni.showToast({
title: '已经到底了~',
icon: 'none'
})
return
} else {
this.collectPage = this.collectPage + 1;
this.getCollectListDEghTTorsp()
}
}
// switch (this.TabCur) {
// case '最近学习': //最近学习
// this.latelyCoursePage = this.latelyCoursePage + 1;
// this.getLatelyCourseDEghTTorsp()
// break;
// case '已购资源': //已购资源
// this.selectCoursePage = this.selectCoursePage + 1;
// this.getSelectCourseDEghTTorsp()
// break;
// case '收藏资源': //评论
// this.collectPage = this.collectPage + 1;
// this.getCollectListDEghTTorsp()
// break;
// }
}
},
onPullDownRefresh: function() {
this.userId = uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
if (this.userId) {
if (this.TabCur == '最近学习') { //最近学习
if (this.totalCount == this.latelyCourseList.length) {
uni.showToast({
title: '已经到底了~',
icon: 'none'
})
return
} else {
this.latelyCoursePage = 1
this.getLatelyCourseDEghTTorsp()
}
} else if (this.TabCur == '已购资源') { //已购资源
if (this.totalCount == this.selectCourseList.length) {
uni.showToast({
title: '已经到底了~',
icon: 'none'
})
return
} else {
this.selectCoursePage = 1
this.getSelectCourseDEghTTorsp()
}
} else if (this.TabCur == '收藏资源') { //收藏资源
if (this.totalCount == this.collectList.length) {
uni.showToast({
title: '已经到底了~',
icon: 'none'
})
return
} else {
this.collectPage = 1
this.getCollectListDEghTTorsp()
}
}
// switch (this.TabCur) {
// case '最近学习': //最近学习
// this.latelyCoursePage = 1
// // this.latelyCourseList = []
// this.getLatelyCourseDEghTTorsp()
// break;
// case '已购资源': //已购资源
// this.selectCoursePage = 1
// // this.selectCourseList = []
// this.getSelectCourseDEghTTorsp()
// break;
// case '收藏资源': //已购资源
// this.collectPage = 1;
// // this.collectList = []
// this.getCollectListDEghTTorsp()
// break;
// }
}
},
};
</script>
<style>
/* #ifndef H5 */
page {
height: 100%;
background-color: #f2f2f2;
}
/* #endif */
</style>
<style lang="scss" scoped>
.headDEghTTorsp {
position: fixed;
/* #ifdef H5 */
top: 0rpx;
/* #endif */
/* #ifndef H5 */
top: 0;
/* #endif */
left: 0;
right: 0;
z-index: 999;
}
.headLenDEghTTorsp {
/* #ifdef H5 */
margin-top: 80rpx;
/* #endif */
/* #ifndef H5 */
margin-top: 90rpx;
/* #endif */
}
.page-box-DEghTTorsp {
padding-bottom: 100px;
}
.orderView-DEghTTorsp {
width: 700rpx;
background-color: #ffffff;
margin: 20rpx auto;
border-radius: 20rpx;
box-sizing: border-box;
padding: 20rpx;
font-size: 28rpx;
.top {
display: flex;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.store {
margin: 0 10rpx;
font-size: 32rpx;
font-weight: bold;
}
}
.right {
color: $u-type-warning-dark;
}
}
.item {
display: flex;
.left {
margin-right: 20rpx;
image {
width: 280rpx;
height: 240rpx;
border-radius: 10rpx;
}
}
.content {
.title {
font-size: 16px;
line-height: 50rpx;
font-weight: bold;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
}
}
.wrap-DEghTTorsp {
display: flex;
flex-direction: column;
height: calc(100vh - var(--window-top));
width: 100%;
}
.btn {
width: 150upx;
height: 60upx;
background: #5074FF;
border-radius: 30upx;
color: #FFFFFF;
text-align: center;
line-height: 60rpx;
font-size: 26rpx;
}
</style>

View File

@@ -144,7 +144,7 @@
})
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
})
}
@@ -187,7 +187,7 @@
})
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
})
}
},
@@ -238,7 +238,7 @@
})
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
})
}

View File

@@ -1,45 +1,45 @@
<template>
<view class="container">
<view class="wrapper">
<view class="input-content">
<view class="containerDEghTTorsp">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group"
style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;">
<view class="title text-black">手机号</view>
<input type="number" :value="phone" placeholder="请输入手机号" maxlength="11" data-key="phone"
@input="inputChange" />
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group padding-right-xs"
style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;">
<text class="title text-black">验证码</text>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChange" @confirm="startReg" />
<button class="send-msg" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
@input="inputChangeDEghTTorsp" @confirm="startRegDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sending">{{ sendTime }}</button>
</view>
<view class="cu-form-group"
style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;">
<text class="title text-black">设置密码</text>
<input type="password" :value="password" placeholder="请设置密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChange" @confirm="startReg" />
maxlength="20" minlength="6" data-key="password" @input="inputChangeDEghTTorsp" @confirm="startRegDEghTTorsp" />
</view>
<!-- <view class="cu-form-group"
style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;"
v-if="required == '是'">
<text class="title text-black">邀请码</text>
<input type="" maxlength="6" :value="invitation" placeholder="请填写邀请码(必填)" data-key="invitation"
@input="inputChange" @confirm="startReg" />
@input="inputChangeDEghTTorsp" @confirm="startRegDEghTTorsp" />
</view>
<view class="cu-form-group"
style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;"
v-if="required == '否'">
<text class="title text-black">邀请码</text>
<input type="" maxlength="6" :value="invitation" placeholder="请填写邀请码(选填)" data-key="invitation"
@input="inputChange" @confirm="startReg" />
@input="inputChangeDEghTTorsp" @confirm="startRegDEghTTorsp" />
</view> -->
</view>
<button class="confirm-btn" @click="startReg">立即注册</button>
<view class="footer">
<text @tap="isShowAgree" class="cuIcon"
<button class="confirm-btnDEghTTorsp" @click="startRegDEghTTorsp">立即注册</button>
<view class="footerDEghTTorsp">
<text @tap="isShowAgreeDEghTTorsp" class="cuIcon"
:class="showAgree ? 'cuIcon-radiobox' : 'cuIcon-round'">同意</text>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate">隐私政策</navigator>
@@ -77,7 +77,7 @@
if (a) {
this.isEnable = a;
}
this.invitationMa();
this.invitationMaDEghTTorsp();
// #ifdef APP-PLUS
switch (uni.getSystemInfoSync().platform) {
case 'android':
@@ -95,17 +95,8 @@
_this = this;
},
methods: {
showMa() {
//
this.$Request.getT('/app/common/type/4').then(res => {
if (res.code == 0) {
this.invitationCode = res.data.value;
}
});
},
//
invitationMa() {
invitationMaDEghTTorsp() {
this.$Request.getT('/app/common/type/3').then(res => {
if (res.code == 0) {
this.required = res.data.value;
@@ -113,13 +104,10 @@
}
});
},
inputChange(e) {
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
uni.navigateBack();
},
countDown() {
const {
count
@@ -135,7 +123,7 @@
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsg() {
sendMsgDEghTTorsp() {
const {
phone
} = this;
@@ -163,11 +151,11 @@
});
}
},
isShowAgree() {
isShowAgreeDEghTTorsp() {
//
_this.showAgree = !_this.showAgree;
},
startReg() {
startRegDEghTTorsp() {
if (this.phone.length != 11) {
uni.showToast({
icon: 'none',
@@ -236,36 +224,6 @@
});
}
});
},
getUserInfo(userId, token) {
this.$Request.get("/app/user/selectUserById").then(res => {
if (res.code == 0) {
uni.setStorageSync('token', token)
uni.setStorageSync('userId', res.data.userId)
uni.setStorageSync('avatar', res.data.avatar)
uni.setStorageSync('invitationCode', res.data.invitationCode)
uni.setStorageSync('zhiFuBao', res.data.zhiFuBao)
uni.setStorageSync('zhiFuBaoName', res.data.zhiFuBaoName)
this.$Request.get("/app/UserVip/isUserVip").then(res => {
if (res.code == 0 && res.data && res.data.isVip == 2) {
uni.setStorageSync('isVIP', true)
} else {
uni.setStorageSync('isVIP', false)
}
});
uni.switchTab({
url: '/pages/index/index'
});
} else {
uni.showModal({
showCancel: false,
title: '登录失败',
content: res.msg
});
this.$queue.logout();
}
uni.hideLoading();
});
}
}
}
@@ -277,7 +235,7 @@
background: #FFFFFF !important;
}
.footer {
.footerDEghTTorsp {
padding-left: 140upx;
margin-top: 32upx;
text-align: center;
@@ -285,7 +243,7 @@
color: #333;
}
.send-msg {
.send-msgDEghTTorsp {
border-radius: 30px;
color: white;
height: 30px;
@@ -295,7 +253,7 @@
}
.container {
.containerDEghTTorsp {
padding-top: 32upx;
position: relative;
width: 100%;
@@ -303,7 +261,7 @@
overflow: hidden;
}
.wrapper {
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #FFFFFF;
@@ -311,12 +269,12 @@
}
.input-content {
.input-contentDEghTTorsp {
padding: 32upx 80upx;
}
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 600upx;
height: 80upx;
line-height: 80upx;

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6772.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6773.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,235 @@
<template>
<view class="containerDEghTTorsp">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">验证码</text>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sendIng">{{sendTime}}</button>
</view>
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">设置密码</text>
<input type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view>
</view>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">立即重置</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
code: '',
mobile: '',
password: '',
sendIng: false,
sendTime: '获取验证码',
count: 60,
loginIng: false
}
},
methods: {
sendMsgDEghTTorsp() {
const {
mobile
} = this;
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
this.$u.get('/app/Login/sendMsg/' + mobile + '/forget').then(res => {
if (res.code === 0) {
this.sendIng = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sendIng = false;
this.sendTime = '获取验证码'
} else {
this.count = count - 1;
this.sendIng = true;
this.sendTime = count - 1 + '秒后获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBackDEghTTorsp() {
uni.navigateBack();
},
navToDEghTTorsp(url) {
uni.navigateTo({
url
})
},
toLoginDEghTTorsp() {
const {
mobile,
password,
code
} = this;
if (!mobile) {
// this.$queue.showToast("请输入手机号");
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (!code) {
// this.$queue.showToast("密码位数必须大于六位");
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
} else if (!password) {
// this.$queue.showToast("请设置密码");
uni.showToast({
title: '请输入密码',
icon: 'none',
duration: 1000
})
} else {
this.loginIng = true;
// this.$queue.showLoading("正在修改密码中...");
uni.showLoading({
title: '正在修改密码中...'
})
this.$u.post('/app/Login/forgetPwd?pwd=' + password + '&phone=' + mobile + '&msg=' + code).then(
res => {
// this.$Request.postJson("/appLogin/forgetPwd",{
// pwd: password,
// phone: mobile,
// msg: code
// }).then(res => {
uni.hideLoading();
if (res.code === 0) {
uni.showToast({
title: '密码找回成功',
icon: 'none'
});
setTimeout(function() {
uni.navigateTo({
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
}, 1000)
} else {
uni.showModal({
showCancel: false,
title: '密码找回失败',
content: res.msg,
});
}
});
}
},
},
}
</script>
<style lang='scss'>
page {
background: #ffffff;
}
.send-msgDEghTTorsp {
border-radius: 30px;
color: white;
height: 30px;
font-size: 14px;
line-height: 30px;
background: #ff7581;
}
.containerDEghTTorsp {
padding-top: 32upx;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
}
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #ffffff;
padding-bottom: 20px;
}
.input-contentDEghTTorsp {
padding: 0 20px;
}
.confirm-btnDEghTTorsp {
width: 300px;
height: 42px;
line-height: 42px;
border-radius: 30px;
margin-top: 40px;
background: #ff7581;
/* background: linear-gradient(to left, #3a55b9 0, #5074FF 100%); */
color: #ffffff;
font-size: 32rpx;
&:after {
border-radius: 60px;
}
}
</style>

View File

@@ -0,0 +1,368 @@
<template>
<view class="containerDEghTTorsp">
<view class="bg u-absolute" style="width: 100%;height: 100%;overflow: hidden;top: 0;">
<u-image src="../../static/images/i_bg.png" style="width: 100%;height:100%" mode=""></u-image>
</view>
<view class="wrapperDEghTTorsp u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-contentDEghTTorsp">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">注册</view>
<view class="cu-form-groupDEghTTorsp" >
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-groupDEghTTorsp" >
<text class="title">验证码</text>
<view class="input flex">
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sending">{{ sendTime }}</button>
</view>
</view>
<view class="cu-form-groupDEghTTorsp" >
<text class="title">设置密码</text>
<input class="input" type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view>
<!-- <view class="cu-form-groupDEghTTorsp"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">邀请码</text>
<input type="text" v-if="registerCode == '是'" :value="invitation" placeholder="请填写邀请码"
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<input type="text" v-if="registerCode == '否'" :value="invitation" placeholder="请填写邀请码(选填)"
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view> -->
<button class="confirm-btnDEghTTorsp" @click="toRegisterDEghTTorsp">注册</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
</view>
<view class="footerViewDEghTTorsp">
<text @tap="isShowAgreeDEghTTorsp" class="cuIcon"
:class="showAgree ? 'cuIcon-radiobox' : 'cuIcon-round'">同意</text>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate" style="color: #37A6FF;">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate" style="color: #37A6FF;">用户协议</navigator>
</view>
</view>
<!-- #ifdef H5 -->
<!-- <div v-if="isWeixin" style="width: 100%;height: 100%;position: fixed;top: 0;z-index: 999;background: url('../../static/images/open_guide.png') no-repeat center bottom / cover;"></div> -->
<!-- #endif -->
</view>
</template>
<script>
export default {
data() {
return {
showAgree: false,
code: '',
mobile: '',
password: '',
sending: false,
sendTime: '获取验证码',
count: 60,
relation: "",
invitation: '',
registerCode: '',
qdCodeion: '',
isWeixin: false,
};
},
onLoad(e) {
let relation = e.invitation
if (relation) {
this.relation = relation;
this.invitation = relation;
}
if (e.qdCode) {
this.qdCodeion = e.qdCode
}
this.$u.get('/app/common/type/3').then(res => {
if (res.code == 0) {
this.registerCode = res.data.value
}
});
let u = navigator.userAgent;
if ( u.toLowerCase().indexOf('micromessenger') !== -1) {
this.isWeixin = true
}
},
methods: {
isShowAgreeDEghTTorsp() {
//是否选择协议
this.showAgree = !this.showAgree;
},
sendMsgDEghTTorsp() {
const {
mobile
} = this;
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
this.$u.get('/app/Login/sendMsg/' + mobile + '/login').then(res => {
if (res.code === 0) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码';
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
toLoginDEghTTorsp() {
console.log("123");
uni.reLaunch({
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
},
toRegisterDEghTTorsp() {
const {
mobile,
password,
code,
showAgree,
invitation,
registerCode,
qdCodeion
} = this;
if (!mobile) {
uni.showToast({
title: '请输入账号',
icon: 'none',
duration: 1000
})
return
}
if (!code) {
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
return
}
if (!password) {
uni.showToast({
title: '请设置密码',
icon: 'none',
duration: 1000
})
return
}
if (password.length < 6) {
uni.showToast({
title: '密码位数必须大于六位',
icon: 'none',
duration: 1000
})
return
}
if (invitation.length == 0 && registerCode == '是') {
uni.showToast({
title: '请输入邀请码',
icon: 'none',
duration: 1000
})
return
}
if (!showAgree) {
uni.showToast({
title: '请先同意《隐私政策》和《用户协议》',
icon: 'none',
duration: 1000
})
return
}
this.logining = true;
uni.showLoading({
title: '注册中...'
})
let platform = ''
// #ifdef APP
platform = 'app'
// #endif
// #ifdef H5
platform = 'h5'
// #endif
this.$u.post('/app/Login/registerCode?password=' + password + '&phone=' + mobile + '&msg=' + code +
'&inviterCode=' + invitation + '&platform=' + platform + '&qdCode=' + qdCodeion).then(res => {
if (res.code === 0) {
// this.$queue.remove('invitation');
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
//设置渠道码
if (res.user.qdCode) {
uni.setStorageSync('qdCode', res.user.qdCode)
}
uni.showToast({
title: '注册成功',
icon: 'none'
})
setTimeout(function() {
uni.navigateTo({
url: '/pages/ghtwwlkXYG/YEZelghNit'
})
}, 1000)
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '注册失败',
content: res.msg
});
}
});
}
}
};
</script>
<style lang="scss">
page {
background: #fff;
}
.footerViewDEghTTorsp {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 24rpx;
color: #333333;
position: absolute;
left: 0;
right: 0;
bottom: 178rpx;
.cuIcon::before{
width: 30rpx;
height: 30rpx;
margin-right: 12rpx;
}
.cuIcon-round::before {
content: "\e6d7";
}
.cuIcon-radiobox:before {
content: "\e75b";
color: #37A6FF;
}
}
.send-msgDEghTTorsp {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
color: #EC6F48;
border: none;
background-color: transparent!important;
}
.send-msgDEghTTorsp::after{
border: none;
background-color: transparent;
}
.containerDEghTTorsp {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #fff;
}
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
min-height: 100vh;
}
.input-contentDEghTTorsp {
padding: 0 56rpx;
.cu-form-groupDEghTTorsp{
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 48rpx;
background-color: transparent;
padding: 0;
.title{
margin-bottom: 32rpx;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.input{
width: 100%;
height: 84rpx;
line-height: 84rpx;
background-color: #fff;
align-items: center;
padding: 22rpx 32rpx 22rpx 24rpx;
}
}
}
.confirm-btnDEghTTorsp {
width: 100%;
height: 100rpx;
text-align: center;
line-height: 100rpx;
border-radius: 16rpx;
margin-top: 40rpx;
background: #EC6F48;
font-size: 32rpx;
color: #FFFFFF;
&:after {
border: none;
}
}
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6774.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6775.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -1,20 +1,20 @@
<template>
<view class="containerView">
<view class="containerViewDEghTTorsp">
<view class="cu-form-group"
style="margin: 30upx;border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group"
style="margin: 30upx;border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">验证码</text>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code" @input="inputChange"
@confirm="toLogin" />
<button class="send-msg" @click="sendMsg" :disabled="sendIng">{{ sendTime }}</button>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code" @input="inputChangeDEghTTorsp"
@confirm="toLoginDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sendIng">{{ sendTime }}</button>
</view>
<button class="confirm-btn" @click="toLogin" :disabled="loginIng">立即绑定</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp" :disabled="loginIng">立即绑定</button>
</view>
</template>
@@ -41,11 +41,11 @@
}
},
methods: {
inputChange(e) {
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
navBackDEghTTorsp() {
uni.navigateBack();
},
countDown() {
@@ -63,7 +63,7 @@
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsg() {
sendMsgDEghTTorsp() {
const {
mobile
} = this;
@@ -90,7 +90,7 @@
});
}
},
toLogin() {
toLoginDEghTTorsp() {
const {
mobile,
code
@@ -152,7 +152,7 @@
background: #ffffff;
}
.send-msg {
.send-msgDEghTTorsp {
border-radius: 30px;
color: white;
height: 30px;
@@ -161,7 +161,7 @@
background: #557EFD;
}
.containerView {
.containerViewDEghTTorsp {
top: 0;
padding-top: 32upx;
position: relative;
@@ -174,7 +174,7 @@
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 600upx;
height: 80upx;
line-height: 80upx;

View File

@@ -1,44 +1,44 @@
<template>
<view class="container">
<view class="containerDEghTTorsp">
<view class="bg u-absolute" style="width: 100%;height: 100%;overflow: hidden;top: 0;">
<u-image src="../../static/images/i_bg.png" style="width: 100%;height:100%" mode=""></u-image>
</view>
<view class="wrapper u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-content">
<view class="wrapperDEghTTorsp u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-contentDEghTTorsp">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">注册</view>
<view class="cu-form-group">
<view class="cu-form-groupDEghTTorsp">
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group">
<view class="cu-form-groupDEghTTorsp">
<text class="title">验证码</text>
<view class="input flex">
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChange" @confirm="toLogin" />
<button class="send-msg" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sending">{{ sendTime }}</button>
</view>
</view>
<view class="cu-form-group">
<view class="cu-form-groupDEghTTorsp">
<text class="title">设置密码</text>
<input class="input" type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChange" @confirm="toLogin" />
maxlength="20" minlength="6" data-key="password" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view>
<!-- <view class="cu-form-group"
<!-- <view class="cu-form-groupDEghTTorsp"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">邀请码</text>
<input type="text" v-if="registerCode == '是'" :value="invitation" placeholder="请填写邀请码"
data-key="invitation" maxlength="20" @input="inputChange" @confirm="toLogin" />
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<input type="text" v-if="registerCode == '否'" :value="invitation" placeholder="请填写邀请码(选填)"
data-key="invitation" maxlength="20" @input="inputChange" @confirm="toLogin" />
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view> -->
<button class="confirm-btn" @click="toRegister">注册</button>
<button class="confirm-btn" @click="toLogin">登录</button>
<button class="confirm-btnDEghTTorsp" @click="toRegisterDEghTTorsp">注册</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
</view>
<view class="footerView">
<text @tap="isShowAgree" class="cuIcon"
<view class="footerViewDEghTTorsp">
<text @tap="isShowAgreeDEghTTorsp" class="cuIcon"
:class="showAgree ? 'cuIcon-radiobox' : 'cuIcon-round'">注册即同意</text>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate" style="color: #37A6FF;">隐私政策</navigator>
@@ -82,19 +82,11 @@
});
},
methods: {
isShowAgree() {
isShowAgreeDEghTTorsp() {
//
this.showAgree = !this.showAgree;
},
showMa() {
//
this.$Request.getT('/common/type/88').then(res => {
if (res.code === 0) {
this.invitation = res.data.value;
}
});
},
sendMsg() {
sendMsgDEghTTorsp() {
const {
mobile
} = this;
@@ -150,26 +142,18 @@
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChange(e) {
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
uni.navigateBack();
},
navTo(url) {
uni.navigateTo({
url
});
},
toLogin() {
console.log("123");
toLoginDEghTTorsp() {
uni.reLaunch({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
},
toRegister() {
toRegisterDEghTTorsp() {
const {
mobile,
password,
@@ -260,7 +244,7 @@
url: '/pages/index/index'
});
}, 1000)
// this.getUserInfo(res.userId, res.token);
// this.getUserInfoDEghTTorsp(res.userId, res.token);
} else {
uni.hideLoading();
uni.showModal({
@@ -271,7 +255,7 @@
}
});
},
getUserInfo(userId, token) {
getUserInfoDEghTTorsp(userId, token) {
this.$u.api.userinfo().then(res => {
if (res.code === 0) {
// #ifdef APP-PLUS
@@ -356,7 +340,7 @@
background: #ffffff;
}
.footerView {
.footerViewDEghTTorsp {
display: flex;
justify-content: center;
align-items: center;
@@ -381,7 +365,7 @@
}
}
.send-msg {
.send-msgDEghTTorsp {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
@@ -389,12 +373,12 @@
border: none;
background-color: transparent;
}
.send-msg::after{
.send-msgDEghTTorsp::after{
border: none;
background-color: transparent;
}
.container {
.containerDEghTTorsp {
position: relative;
width: 100%;
height: 100%;
@@ -403,16 +387,16 @@
box-sizing: border-box;
}
.wrapper {
.wrapperDEghTTorsp {
min-height: 100vh;
position: relative;
z-index: 90;
}
.input-content {
.input-contentDEghTTorsp {
padding: 0 56rpx;
}
.cu-form-group{
.cu-form-groupDEghTTorsp{
display: flex;
flex-direction: column;
align-items: flex-start;
@@ -435,7 +419,7 @@
}
}
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 100%;
height: 100rpx;
text-align: center;

View File

@@ -0,0 +1,437 @@
<template>
<view class="containerDEghTTorsp">
<view class="bg u-absolute" style="width: 100%;height: 100%;overflow: hidden;top: 0;">
<u-image src="../../static/images/i_bg.png" style="width: 100%;height:100%" mode=""></u-image>
</view>
<view class="wrapperDEghTTorsp u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-contentDEghTTorsp">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">注册</view>
<view class="cu-form-groupDEghTTorsp">
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-groupDEghTTorsp">
<text class="title">验证码</text>
<view class="input flex">
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sending">{{ sendTime }}</button>
</view>
</view>
<view class="cu-form-groupDEghTTorsp">
<text class="title">设置密码</text>
<input class="input" type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view>
<!-- <view class="cu-form-groupDEghTTorsp"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">邀请码</text>
<input type="text" v-if="registerCode == '是'" :value="invitation" placeholder="请填写邀请码"
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<input type="text" v-if="registerCode == '否'" :value="invitation" placeholder="请填写邀请码(选填)"
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view> -->
<button class="confirm-btnDEghTTorsp" @click="toRegisterDEghTTorsp">注册</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
</view>
<view class="footerViewDEghTTorsp">
<text @tap="isShowAgreeDEghTTorsp" class="cuIcon"
:class="showAgree ? 'cuIcon-radiobox' : 'cuIcon-round'">注册即同意</text>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate" style="color: #37A6FF;">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate" style="color: #37A6FF;">用户协议</navigator>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
showAgree: false,
code: '',
mobile: '',
password: '',
sending: false,
sendTime: '获取验证码',
count: 60,
relation: "",
invitation: '',
registerCode: '',
qdCodeion: '', //渠道码
};
},
onLoad() {
if (uni.getStorageSync('qdCodeion')) {
this.qdCodeion = uni.getStorageSync('qdCodeion')
}
let relation = uni.getStorageSync('invitation')
if (relation) {
this.relation = relation;
this.invitation = relation;
}
this.$u.get('/app/common/type/3').then(res => {
if (res.code == 0) {
this.registerCode = res.data.value
}
});
},
methods: {
isShowAgreeDEghTTorsp() {
//是否选择协议
this.showAgree = !this.showAgree;
},
sendMsgDEghTTorsp() {
const {
mobile
} = this;
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
this.$u.get('/app/Login/sendMsg/' + mobile + '/login').then(res => {
if (res.code === 0) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码';
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
toLoginDEghTTorsp() {
uni.reLaunch({
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
},
toRegisterDEghTTorsp() {
const {
mobile,
password,
code,
showAgree,
invitation,
registerCode,
qdCodeion
} = this;
if (!mobile) {
uni.showToast({
title: '请输入账号',
icon: 'none',
duration: 1000
})
return
}
if (!code) {
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
return
}
if (!password) {
uni.showToast({
title: '请设置密码',
icon: 'none',
duration: 1000
})
return
}
if (password.length < 6) {
uni.showToast({
title: '密码位数必须大于六位',
icon: 'none',
duration: 1000
})
return
}
if (invitation.length === 0 && registerCode === '是') {
uni.showToast({
title: '请输入邀请码',
icon: 'none',
duration: 1000
})
return
}
if (!showAgree) {
uni.showToast({
title: '请先同意《隐私政策》和《用户协议》',
icon: 'none',
duration: 1000
})
return
}
this.logining = true;
uni.showLoading({
title: '注册中...'
})
let platform = ''
// #ifdef APP
platform = 'app'
// #endif
// #ifdef H5
platform = 'h5'
// #endif
this.$u.post('/app/Login/registerCode?password=' + password + '&phone=' + mobile + '&msg=' + code +
'&inviterCode=' + invitation + '&platform=' + platform + '&qdCode=' + qdCodeion).then(res => {
if (res.code === 0) {
// this.$queue.remove('invitation');
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
//设置渠道码
if (res.user.qdCod) {
uni.setStorageSync('qdCod', res.user.qdCod)
}
uni.showToast({
title: '注册成功',
icon: 'none'
})
setTimeout(function() {
uni.switchTab({
url: '/pages/index/index'
});
}, 1000)
// this.getUserInfoDEghTTorsp(res.userId, res.token);
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '注册失败',
content: res.msg
});
}
});
},
getUserInfoDEghTTorsp(userId, token) {
this.$u.api.userinfo().then(res => {
if (res.code === 0) {
// #ifdef APP-PLUS
if (uni.getSystemInfoSync().platform == "android") {
let clientid = plus.push.getClientInfo().clientid;
this.$Request.postT('/appLogin/updateClientId?clientId=' + clientid + '&userId=' +
userId).then(res => {
});
}
// #endif
uni.setStorageSync('image_url', res.data.imageUrl ? res.data.imageUrl :
'/static/img/common/logo.jpg')
uni.setStorageSync('relation_id', res.data.relationId)
uni.setStorageSync('relation', res.data.invitationCode)
uni.setStorageSync('grade', res.data.grade)
uni.setStorageSync('phone', res.data.phone)
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.data.userId)
uni.setStorageSync('isInvitation', res.data.isInvitation)
uni.setStorageSync('userName', res.data.userName ? res.data.userName : res.data.phone)
// this.$queue.setData('image_url', res.data.imageUrl ? res.data.imageUrl : '/static/img/common/logo.jpg');
// this.$queue.setData('relation_id', res.data.relationId);
// this.$queue.setData('relation', res.data.invitationCode);
// this.$queue.setData('grade', res.data.grade);
// this.$queue.setData('mobile', res.data.mobile);
// this.$queue.setData('isInvitation', res.data.isInvitation);
// this.$queue.setData('nickName', res.data.nickName ? res.data.nickName : res.data.phone);
// this.$queue.setData('gender', parseInt(res.data.gender));
uni.switchTab({
url: '/pages/index/index'
});
} else {
uni.showModal({
showCancel: false,
title: '登录失败',
content: res.msg
});
this.$queue.logout();
}
uni.hideLoading();
})
// this.$Request.postJson('/app/selectUserById?userId=' + userId).then(res => {
// if (res.code === 0) {
// // #ifdef APP-PLUS
// if (uni.getSystemInfoSync().platform == "android") {
// let clientid = plus.push.getClientInfo().clientid;
// this.$Request.postT('/appLogin/updateClientId?clientId=' + clientid + '&userId=' + userId).then(res => {
// });
// }
// // #endif
// this.$queue.setData('image_url', res.data.imageUrl ? res.data.imageUrl : '/static/img/common/logo.jpg');
// this.$queue.setData('relation_id', res.data.relationId);
// this.$queue.setData('relation', res.data.invitationCode);
// this.$queue.setData('grade', res.data.grade);
// this.$queue.setData('mobile', res.data.mobile);
// this.$queue.setData('isInvitation', res.data.isInvitation);
// this.$queue.setData('nickName', res.data.nickName ? res.data.nickName : res.data.phone);
// this.$queue.setData('gender', parseInt(res.data.gender));
// uni.switchTab({
// url: '/pages/index/index'
// });
// } else {
// uni.showModal({
// showCancel: false,
// title: '登录失败',
// content: res.msg
// });
// this.$queue.logout();
// }
// uni.hideLoading();
// });
}
}
};
</script>
<style lang="scss" >
page {
background: #ffffff;
}
.footerViewDEghTTorsp {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 24rpx;
color: #333333;
position: absolute;
left: 0;
right: 0;
bottom: 78rpx;
.cuIcon::before{
width: 30rpx;
height: 30rpx;
margin-right: 12rpx;
}
.cuIcon-round::before {
content: "\e6d7";
}
.cuIcon-radiobox:before {
content: "\e75b";
color: #37A6FF;
}
}
.send-msgDEghTTorsp {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
color: #EC6F48;
border: none;
background-color: transparent;
}
.send-msgDEghTTorsp::after{
border: none;
background-color: transparent;
}
.containerDEghTTorsp {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
box-sizing: border-box;
}
.wrapperDEghTTorsp {
min-height: 100vh;
position: relative;
z-index: 90;
}
.input-contentDEghTTorsp {
padding: 0 56rpx;
}
.cu-form-groupDEghTTorsp{
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 48rpx;
background-color: transparent;
padding: 0;
.title{
margin-bottom: 32rpx;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.input{
width: 100%;
height: 84rpx;
line-height: 84rpx;
background-color: #fff;
align-items: center;
padding: 22rpx 32rpx 22rpx 24rpx;
}
}
.confirm-btnDEghTTorsp {
width: 100%;
height: 100rpx;
text-align: center;
line-height: 100rpx;
border-radius: 16rpx;
margin-top: 40rpx;
background: #EC6F48;
font-size: 32rpx;
color: #FFFFFF;
&:after {
border: none;
}
}
</style>

View File

@@ -1,18 +1,18 @@
<template>
<view class="containersView">
<view class="containersViewDEghTTorsp">
<div style="width: 100%;height: 85%;position: absolute;background: url('../../static/images/appeq_bg.png') no-repeat center bottom / cover;"></div>
<view style="text-align: center;position: relative;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;">
<image style="width: 124rpx;height: 124rpx;margin-top: -920rpx;border-radius:20upx;" src="../../static/images/appLogo.png"></image>
<view style="font-size: 40rpx;margin-top: 22rpx;color: #FFFFFF;font-weight: bold;">斯耀短剧APP{{isWeixin}}</view>
<view style="font-size: 28rpx;margin-top: 16rpx;color: #FFFFFF;font-weight: bold;">海量电子榨菜 免费又过瘾</view>
<button class="confirm-btn" @click="taobaoLogin">{{confirmBtn}}</button>
<button class="confirm-btnDEghTTorsp" @click="taobaoLoginDEghTTorsp">{{confirmBtn}}</button>
</view>
<view id="shareit" v-if="show_share" @tap="closeShare">
<image class="arrow" src="https://renwu.xiansqx.com/img/20210813/9aa484db4c60458f86deb2a8ab6fe400.png">
<view id="shareitDEghTTorsp" v-if="show_share" @tap="closeShareDEghTTorsp">
<image class="arrowDEghTTorsp" src="https://renwu.xiansqx.com/img/20210813/9aa484db4c60458f86deb2a8ab6fe400.png">
</image>
<view id="follow">点击右上角按钮选择浏览器打开下载</view>
<view id="followDEghTTorsp">点击右上角按钮选择浏览器打开下载</view>
</view>
<!-- #ifdef H5 -->
<div v-if="isWeixin" style="width: 100%;height: 100%;position: absolute;top: 0;background: url('../../static/images/open_guide.png') no-repeat center bottom / cover;"></div>
@@ -49,10 +49,10 @@
},
methods: {
closeShare() {
closeShareDEghTTorsp() {
this.show_share = false;
},
taobaoLogin() {
taobaoLoginDEghTTorsp() {
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Adr') > -1) {
@@ -151,11 +151,11 @@
width: 100%;
height: 100%;
}
.containersView {
.containersViewDEghTTorsp {
width: 100%;
height: 100%;
}
#shareit {
#shareitDEghTTorsp {
-webkit-user-select: none;
position: fixed;
/*width: 100%;*/
@@ -167,11 +167,11 @@
z-index: 999;
}
#shareit img {
#shareitDEghTTorsp img {
max-width: 100%;
}
.arrow {
.arrowDEghTTorsp {
width: 100px;
height: 150px;
position: absolute;
@@ -179,7 +179,7 @@
top: 1%;
}
#follow {
#followDEghTTorsp {
margin-right: 60px;
margin-left: 30px;
width: 90%;
@@ -193,99 +193,13 @@
margin-top: 160px;
}
.footer {
padding-left: 140upx;
margin-top: 32upx;
font-size: 24upx;
color: #666666;
text-align: center;
display: flex;
}
page {
background: #fff;
}
.send-msg {
border-radius: 30px;
color: black;
background: white;
height: 30px;
font-size: 14px;
line-height: 30px;
}
.container {
top: 0;
padding-top: 50px;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #fff;
}
.wrapper {
position: relative;
z-index: 90;
background: #fff;
padding-bottom: 20px;
}
.right-top-sign {
position: absolute;
top: 40px;
right: -15px;
z-index: 95;
&:before,
&:after {
display: block;
content: '';
width: 20px;
height: 40px;
background: #e10a07;
}
&:before {
transform: rotate(50deg);
border-radius: 0 50px 0 0;
}
&:after {
position: absolute;
right: -198px;
top: 0;
transform: rotate(-50deg);
border-radius: 50px 0 0 0;
/* background: pink; */
}
}
.left-bottom-sign {
position: absolute;
left: -270px;
bottom: -320px;
/*border: 100upx solid #d0d1fd;*/
border-radius: 50%;
padding: 90px;
}
.welcome {
position: relative;
left: 30px;
top: -55px;
font-size: 28px;
color: #555;
text-shadow: 1px 0px 1px rgba(0, 0, 0, 0.3);
}
.input-content {
padding: 0 20px;
}
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 416rpx;
height: 90rpx;
line-height: 90rpx;

View File

@@ -1,7 +1,7 @@
<template>
<view class="container">
<view class="wrapper">
<view class="input-content">
<view class="containerDEghTTorsp">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group" style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;">
<view class="title text-black">手机号</view>
<input type="number" :value="phone" placeholder="请输入手机号" maxlength="11" data-key="phone"
@@ -12,7 +12,7 @@
<text class="title text-black">验证码</text>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChange" @confirm="startReg" />
<button class="send-msg" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
<button class="send-msgDEghTTorsp" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
</view>
<view class="cu-form-group" style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;">
@@ -33,8 +33,8 @@
@input="inputChange" @confirm="startReg" />
</view> -->
</view>
<button class="confirm-btn" @click="startReg">立即注册</button>
<view class="footer">
<button class="confirm-btnDEghTTorsp" @click="startReg">立即注册</button>
<view class="footerDEghTTorsp">
<text @tap="isShowAgree" class="cuIcon"
:class="showAgree ? 'cuIcon-radiobox' : 'cuIcon-round'">同意</text>
<!-- 协议地址 -->
@@ -268,7 +268,7 @@
background: #FFFFFF !important;
}
.footer {
.footerDEghTTorsp {
padding-left: 140upx;
margin-top: 32upx;
text-align: center;
@@ -276,7 +276,7 @@
color: #333;
}
.send-msg {
.send-msgDEghTTorsp {
border-radius: 30px;
color: white;
height: 30px;
@@ -286,7 +286,7 @@
}
.container {
.containerDEghTTorsp {
padding-top: 32upx;
position: relative;
width: 100%;
@@ -295,7 +295,7 @@
}
.wrapper {
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #FFFFFF;
@@ -303,12 +303,12 @@
}
.input-content {
.input-contentDEghTTorsp {
padding: 32upx 80upx;
}
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 600upx;
height: 80upx;
line-height: 80upx;

View File

@@ -1,26 +1,26 @@
<template>
<view class="register">
<view class="wrapper">
<view class="input-content">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group" style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;">
<view class="title">手机号</view>
<input type="number" :disabled="true" :value="phone" placeholder="请输入手机号" maxlength="11" data-key="phone" @input="inputChange" />
<input type="number" :disabled="true" :value="phone" placeholder="请输入手机号" maxlength="11" data-key="phone" @input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group" style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;">
<text class="title">设置密码</text>
<input type="password" :value="password" placeholder="请设置密码" placeholder-class="input-empty" maxlength="20"
minlength="6" data-key="password" @input="inputChange" />
minlength="6" data-key="password" @input="inputChangeDEghTTorsp" />
</view>
<!-- <view class="cu-form-group" style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;" v-if="required == '是'">
<text class="title">邀请码</text>
<input type="number" maxlength="6" :value="invitation" placeholder="请填写邀请码(必填)" data-key="invitation" @input="inputChange" />
<input type="number" maxlength="6" :value="invitation" placeholder="请填写邀请码(必填)" data-key="invitation" @input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group" style="border-bottom: 2upx solid whitesmoke;margin-bottom: 20px;" v-if="required == '否'">
<text class="title">邀请码</text>
<input type="number" maxlength="6" :value="invitation" placeholder="请填写邀请码(选填)" data-key="invitation" @input="inputChange" />
<input type="number" maxlength="6" :value="invitation" placeholder="请填写邀请码(选填)" data-key="invitation" @input="inputChangeDEghTTorsp" />
</view> -->
</view>
<button class="confirm-btn" @click="startReg">绑定手机号</button>
<button class="confirm-btnDEghTTorsp" @click="startRegDEghTTorsp">绑定手机号</button>
</view>
</view>
</template>
@@ -51,7 +51,7 @@
if(d.phone){
this.phone = d.phone;
}
this.invitationMa();
this.invitationMaDEghTTorsp();
let a = this.$queue.getData("isEnable")
if (a) {
this.isEnable = a;
@@ -73,17 +73,9 @@
_this = this;
},
methods: {
showMa() {
//
this.$Request.getT('/app/common/type/4').then(res => {
if (res.code == 0) {
this.invitationCode = res.data.value;
}
});
},
//
invitationMa() {
invitationMaDEghTTorsp() {
this.$Request.getT('/app/common/type/3').then(res => {
if (res.code == 0) {
this.required = res.data.value;
@@ -91,61 +83,12 @@
}
});
},
inputChange(e) {
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
uni.navigateBack();
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码';
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsg() {
const {
phone
} = this;
if (!phone) {
this.$queue.showToast("请输入手机号");
} else if (phone.length !== 11) {
this.$queue.showToast("请输入正确的手机号");
} else {
this.$queue.showLoading("正在发送验证码...");
this.$Request.getT("/msg/sendMsg/" + phone + "/weixin").then(res => {
if (res.code === 0) {
this.sending = true;
this.$queue.showToast('验证码发送成功请注意查收');
this.countDown();
uni.hideLoading();
} else {
console.log(JSON.stringify(res))
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码',
});
}
});
}
},
isShowAgree() {
//
_this.showAgree = !_this.showAgree;
},
startReg() {
startRegDEghTTorsp() {
if (this.phone.length != 11) {
uni.showToast({
icon: 'none',
@@ -201,36 +144,7 @@
}
});
},
getUserInfo(userId, token) {
this.$Request.get("/app/user/selectUserById").then(res => {
if (res.code == 0) {
uni.setStorageSync('token', token)
uni.setStorageSync('userId', res.data.userId)
uni.setStorageSync('avatar', res.data.avatar)
uni.setStorageSync('invitationCode', res.data.invitationCode)
uni.setStorageSync('zhiFuBao', res.data.zhiFuBao)
uni.setStorageSync('zhiFuBaoName', res.data.zhiFuBaoName)
this.$Request.get("/app/UserVip/isUserVip").then(res => {
if (res.code == 0 && res.data && res.data.isVip == 2) {
uni.setStorageSync('isVIP', true)
} else {
uni.setStorageSync('isVIP', false)
}
});
uni.switchTab({
url: '/pages/index/index'
});
} else {
uni.showModal({
showCancel: false,
title: '登录失败',
content: res.msg
});
this.$queue.logout();
}
uni.hideLoading();
});
}
}
}
</script>
@@ -241,54 +155,21 @@
background: #ffffff;
}
.footer {
padding-left: 140upx;
margin-top: 32upx;
text-align: center;
display: flex;
}
.send-msg {
border-radius: 30px;
color: white;
height: 30px;
font-size: 14px;
line-height: 30px;
background: #5074FF;
}
.send-msgs {
border-radius: 30px;
color: #999999;
height: 30px;
font-size: 14px;
line-height: 30px;
background: white;
}
.container {
padding-top: 32upx;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
}
.wrapper {
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #ffffff;
padding-bottom: 20px;
}
.input-content {
.input-contentDEghTTorsp {
padding: 0 20px;
}
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 300px;
height: 42px;
line-height: 42px;

View File

@@ -0,0 +1,491 @@
<template>
<view class="containerDEghTTorsp">
<!-- 小程序状态下登录 -->
<!-- #ifdef MP-WEIXIN -->
<view class="mp_wxBoxDEghTTorsp">
<view>
<view class="headersDEghTTorsp">
<image src="../../static/images/logo.png" style="border-radius: 50%;"></image>
</view>
<view class="content">
<view>申请获取以下权限</view>
<text>获得你的公开信息(昵称头像地区等)</text>
</view>
<button v-show="weixinPhone" style="background: #ff7581;color: #FFFFFF;" class="bottom"
open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
授权手机号
</button>
<button v-show="!weixinPhone" style="background: #ff7581;color: #FFFFFF;" class='bottom'
bindtap="getUserProfile" @tap="wxGetUserInfoDEghTTorsp">
授权登录
</button>
</view>
</view>
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group" style="border: 2upx solid whitesmoke;border-radius: 30px">
<view class="title">
<text style="margin-left: 30rpx;"></text>
</view>
<input type="password" placeholder="请输入密码" maxlength="20" :value="code" data-key="code"
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<text class="send-msgDEghTTorsp" @click="forgetDEghTTorsp">忘记密码</text>
</view>
</view>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
<view style="margin-top: 32px;text-align: center">
<view>
没有账号
<text style="color: #ff7581" @click="registerDEghTTorsp()">立即注册</text>
</view>
</view>
</view>
<!-- #endif -->
<!-- #ifdef MP -->
<view class="footerDEghTTorsp">
<u-checkbox-group>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChangeDEghTTorsp"></u-checkbox>
</u-checkbox-group>
<view>同意</view>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate">用户服务协议</navigator>
</view>
<!-- #endif -->
</view>
</template>
<script>
export default {
data() {
return {
mobile: '',
code: '',
sessionkey: '',
flag: '1',
weixinPhone: false,
sending: false,
sendDataList: {},
phone: '',
sendTime: '获取验证码',
count: 60,
checked: false
};
},
methods: {
// 注册
registerDEghTTorsp() {
uni.navigateTo({
url: '/pages/ghtwwlkXYG/WVEtZeeghK'
});
},
// 忘记密码
forgetDEghTTorsp() {
uni.navigateTo({
url: '/pages/ghtwwlkXYG/EAkIghCGJS'
});
},
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
radioChangeDEghTTorsp(e) {
console.log(e);
},
//第一授权获取用户信息===》按钮触发
wxGetUserInfoDEghTTorsp(e) {
let that = this;
if (this.checked) {
wx.getUserProfile({
desc: '业务需要',
success: infoRes => {
console.log("infoRes.encryptedData__________:" + JSON.stringify(infoRes.userInfo))
let nickName = infoRes.userInfo.nickName; //昵称
let avatarUrl = infoRes.userInfo.avatarUrl; //头像
let sex = infoRes.userInfo.gender; //头像
try {
that.loginDEghTTorsp(nickName, avatarUrl, sex);
} catch (e) {}
}
})
} else {
uni.showToast({
title: '请同意隐私政策和用户服务协议',
icon: 'none'
})
}
},
//登录
loginDEghTTorsp(nickName, avatarUrl, sex) {
let that = this;
// 1.wx获取登录用户code
uni.login({
provider: 'weixin',
success: function(loginRes) {
let data = {
code: loginRes.code
}
that.$u.api.wxLogin(data).then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('openId', res.data.open_id)
uni.setStorageSync('unionId', res.data.unionId)
that.sessionkey = res.data.session_key;
let invitationCode = '';
if (uni.getStorageSync('invitation')) {
invitationCode = uni.getStorageSync('invitation')
}
let sendData = {
openId: uni.getStorageSync('openId'),
unionId: uni.getStorageSync('unionId'),
userName: nickName,
avatar: avatarUrl,
sex: sex, //性别
inviterCode: invitationCode //别人登录进来携带你的邀请码
};
that.sendDataList = sendData;
that.flag = res.data.flag;
if (that.flag == '1') {
that.weixinPhone = true;
} else {
that.getWeixinInfoDEghTTorsp(sendData);
}
} else {
uni.showToast({
icon: 'none',
title: res.msg,
duration: 2000
});
}
})
}
});
},
//小程序微信登录后获取手机号
getPhoneNumber: function(e) {
if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
console.log('用户拒绝提供手机号');
} else {
console.log('用户同意提供手机号');
this.setPhoneByInsertDEghTTorsp(e.detail.encryptedData, e.detail.iv);
}
},
//小程序微信登录后获取手机号
setPhoneByInsertDEghTTorsp(decryptData, iv) {
let data = {
decryptData: decryptData,
key: this.sessionkey,
iv: iv
};
this.$u.api.selectPhone(data).then(res => {
if (res.code == 0) {
this.phone = res.data.phoneNumber;
this.getWeixinInfoDEghTTorsp(this.sendDataList);
} else {
uni.showToast({
title: res.msg,
duration: 2000
});
}
})
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码'
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsg() {
const {
mobile
} = this;
console.log(mobile)
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
this.$u.get('/app/Login/sendMsg/' + mobile + '/login').then(res => {
// this.$Request.getT('/appLogin/sendMsg/' + mobile + '/bind').then(res => {
if (res.code === 0) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
toLoginDEghTTorsp() {
// this.$queue.loginClear();
// let openid = this.$queue.getData('openid');
let openid = uni.getStorageSync('openId')
const {
mobile,
code
} = this;
if (!mobile) {
// this.$queue.showToast('请输入手机号');
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length != 11) {
// this.$queue.showToast('请输入手机号');
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else if (!code) {
// this.$queue.showToast('请输入密码');
uni.showToast({
title: '请输入密码',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在登录中...',
})
this.$u.post('/app/Login/registerCode?password=' + code + '&phone=' + mobile).then(res => {
if (res.code === 0) {
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('userName', res.user.userName)
uni.setStorageSync('avatar', res.user.avatar ? res.user.avatar :
'../../static/images/logo.png')
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
uni.setStorageSync('sex', res.user.sex)
uni.setStorageSync('userId', res.user.userId)
//设置渠道码
if (res.user.qdCode) {
uni.setStorageSync('qdCode', res.user.qdCode)
}
// uni.setStorageSync('openId', res.user.openId)
// this.getWeixinInfoDEghTTorsp(this.sendDataList);
uni.showToast({
title: '登录成功',
icon: 'none'
})
uni.navigateBack({
delta: 2
})
} else {
uni.hideLoading();
uni.showToast({
title: res.msg,
icon: 'none',
duration: 1000
})
}
});
}
},
//获取个人信息
getWeixinInfoDEghTTorsp(sendData) {
let that = this;
uni.showLoading({
title: '登录中...'
});
let postData = {
openId: sendData.openId, //小程序openId
unionId: sendData.unionId, //unionId
userName: sendData.userName, //微信名称
avatar: sendData.avatar, //头像
sex: sendData.sex, //性别
phone: that.phone,
inviterCode: sendData.inviterCode
};
that.$u.api.insertWxUser(postData).then(res => {
uni.hideLoading();
if (res.code == 0) {
uni.setStorageSync('token', res.token)
uni.setStorageSync('userName', res.user.userName)
uni.setStorageSync('avatar', res.user.avatar)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
uni.setStorageSync('sex', res.user.sex)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('openId', res.user.openId)
let data = {
userId: uni.getStorageSync('userId')
}
that.$u.api.userVip(data).then(res => {
if (res.code == 0 && res.data && res.data.isVip == 2) {
uni.setStorageSync('isVIP', true)
} else {
uni.setStorageSync('isVIP', false)
}
})
uni.navigateBack();
} else {
uni.showModal({
showCancel: false,
title: '登录失败',
content: res.msg,
});
}
})
},
}
};
</script>
<style lang="scss">
.headersDEghTTorsp {
text-align: center;
}
.headersDEghTTorsp>image {
width: 400upx;
height: 400upx;
}
.footerDEghTTorsp {
padding-left: 150rpx;
margin-top: 32upx;
font-size: 24upx;
color: #666666;
text-align: center;
display: flex;
}
page {
background: #ffffff;
}
.send-msgDEghTTorsp {
border-radius: 30px;
color: black;
background: white;
height: 30px;
font-size: 14px;
line-height: 30px;
}
.containerDEghTTorsp {
top: 0;
padding-top: 32upx;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
.mp_wxBoxDEghTTorsp {
.headersDEghTTorsp {
margin: 35% auto 50rpx;
text-align: center;
border-radius: 60rpx;
width: 650rpx;
height: 300rpx;
line-height: 450rpx;
image {
width: 300rpx;
height: 300rpx;
}
}
.content {
text-align: center;
}
text {
display: block;
color: #9d9d9d;
margin-top: 40rpx;
}
.bottom {
line-height: 80upx;
border-radius: 80upx;
margin: 70rpx 50rpx;
height: 80upx;
font-size: 35rpx;
}
}
}
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #ffffff;
padding-bottom: 20px;
}
.input-contentDEghTTorsp {
padding: 0 20px;
}
.confirm-btnDEghTTorsp {
width: 300px;
height: 42px;
line-height: 42px;
border-radius: 30px;
margin-top: 40px;
// background: linear-gradient(to left, #3f5ecb 0, #5074FF 100%);
background: #ff7581;
color: #ffffff;
// font-size: $font-lg;
&:after {
border-radius: 60px;
}
}
</style>

View File

@@ -198,7 +198,7 @@
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/pages/login/wxmobile'
url: '/pages/ghtwwlkXYG/AoOwHCZghW'
});
} else if (res.cancel) {
console.log('用户点击取消');
@@ -450,7 +450,7 @@
})
} else {
uni.navigateTo({
url: '/pages/login/bind'
url: '/pages/ghtwwlkXYG/MFkHiQghje'
});
}
});
@@ -502,7 +502,7 @@
})
} else {
uni.navigateTo({
url: '/pages/login/bind'
url: '/pages/ghtwwlkXYG/MFkHiQghje'
});
}
});
@@ -530,7 +530,7 @@
})
} else {
uni.navigateTo({
url: '/pages/login/bind'
url: '/pages/ghtwwlkXYG/MFkHiQghje'
});
}
});
@@ -547,7 +547,7 @@
register() {
if (this.checked) {
uni.navigateTo({
url: '/pages/login/loginPhone'
url: '/pages/ghtwwlkXYG/wVghNzmqkQPhone'
});
} else {
uni.showToast({
@@ -560,7 +560,7 @@
//
forget() {
uni.navigateTo({
url: '/pages/login/forgetPwd'
url: '/pages/ghtwwlkXYG/EAkIghCGJS'
});
},
inputChange(e) {

View File

@@ -0,0 +1,446 @@
<template>
<view class="containerDEghTTorsp">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group" style="border: 2upx solid whitesmoke;border-radius: 30px">
<view class="title">
<text style="margin-left: 30rpx;"></text>
</view>
<input type="password" placeholder="请输入密码" maxlength="20" :value="code" data-key="code"
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<text class="send-msg" @click="forgetDEghTTorsp">忘记密码</text>
</view>
</view>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
<view style="margin-top: 32px;text-align: center">
<view>
没有账号
<text style="color: #ff7581" @click="registerDEghTTorsp()">立即注册</text>
</view>
</view>
</view>
<view class="footerDEghTTorsp">
<u-checkbox-group>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChangeDEghTTorsp"></u-checkbox>
</u-checkbox-group>
<view>同意</view>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate">用户服务协议</navigator>
</view>
<u-toast ref="uToast" />
</view>
</template>
<script>
export default {
data() {
return {
mobile: '',
code: '',
sessionkey: '',
flag: '1',
weixinPhone: false,
sending: false,
sendDataList: {},
phone: '',
sendTime: '获取验证码',
count: 60,
checked: false
};
},
onLoad() {
if (uni.getStorageSync('isSafeView')) {
uni.showModal({
title: '提示',
content: '您正在使用无痕浏览,可能导致登录状态失效,建议切换浏览模式',
})
uni.setStorageSync("isSafeView", null)
}
},
methods: {
// 注册
registerDEghTTorsp() {
uni.navigateTo({
url: '/pages/ghtwwlkXYG/WVEtZeeghK'
});
},
// 忘记密码
forgetDEghTTorsp() {
uni.navigateTo({
url: '/pages/ghtwwlkXYG/EAkIghCGJS'
});
},
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
radioChangeDEghTTorsp(e) {
console.log(e);
},
//第一授权获取用户信息===》按钮触发
wxGetUserInfoDEghTTorsp(e) {
let that = this;
if (this.checked) {
wx.getUserProfile({
desc: '业务需要',
success: infoRes => {
console.log("infoRes.encryptedData__________:" + JSON.stringify(infoRes.userInfo))
let nickName = infoRes.userInfo.nickName; //昵称
let avatarUrl = infoRes.userInfo.avatarUrl; //头像
let sex = infoRes.userInfo.gender; //头像
try {
that.loginDEghTTorsp(nickName, avatarUrl, sex);
} catch (e) {}
}
})
} else {
uni.showToast({
title: '请同意隐私政策和用户服务协议',
icon: 'none'
})
}
},
//登录
loginDEghTTorsp(nickName, avatarUrl, sex) {
let that = this;
// 1.wx获取登录用户code
uni.login({
provider: 'weixin',
success: function(loginRes) {
let data = {
code: loginRes.code
}
that.$u.api.wxLogin(data).then(res => {
if (res.code == 0 && res.data) {
uni.setStorageSync('openId', res.data.open_id)
uni.setStorageSync('unionId', res.data.unionId)
that.sessionkey = res.data.session_key;
let invitationCode = '';
if (uni.getStorageSync('invitation')) {
invitationCode = uni.getStorageSync('invitation')
}
let sendData = {
openId: uni.getStorageSync('openId'),
unionId: uni.getStorageSync('unionId'),
userName: nickName,
avatar: avatarUrl,
sex: sex, //性别
inviterCode: invitationCode //别人登录进来携带你的邀请码
};
that.sendDataList = sendData;
that.flag = res.data.flag;
if (that.flag == '1') {
that.weixinPhone = true;
} else {
that.getWeixinInfoDEghTTorsp(sendData);
}
} else {
uni.showToast({
icon: 'none',
title: res.msg,
duration: 2000
});
}
})
}
});
},
//小程序微信登录后获取手机号
getPhoneNumber: function(e) {
if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
console.log('用户拒绝提供手机号');
} else {
console.log('用户同意提供手机号');
this.setPhoneByInsertDEghTTorsp(e.detail.encryptedData, e.detail.iv);
}
},
//小程序微信登录后获取手机号
setPhoneByInsertDEghTTorsp(decryptData, iv) {
let data = {
decryptData: decryptData,
key: this.sessionkey,
iv: iv
};
this.$u.api.selectPhone(data).then(res => {
if (res.code == 0) {
this.phone = res.data.phoneNumber;
this.getWeixinInfoDEghTTorsp(this.sendDataList);
} else {
uni.showToast({
title: res.msg,
duration: 2000
});
}
})
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码'
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsgDEghTTorsp() {
const {
mobile
} = this;
console.log(mobile)
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
this.$u.get('/app/Login/sendMsg/' + mobile + '/login').then(res => {
// this.$Request.getT('/appLogin/sendMsg/' + mobile + '/bind').then(res => {
if (res.code === 0) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
toLoginDEghTTorsp() {
// this.$queue.loginClear();
// let openid = this.$queue.getData('openid');
if (!this.checked) {
return this.$refs.uToast.show({
title: '请阅读并同意《隐私政策》和《用户服务协议》',
duration: 1500
})
}
let openid = uni.getStorageSync('openId')
const {
mobile,
code
} = this;
if (!mobile) {
// this.$queue.showToast('请输入手机号');
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length != 11) {
// this.$queue.showToast('请输入手机号');
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else if (!code) {
// this.$queue.showToast('请输入密码');
uni.showToast({
title: '请输入密码',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在登录中...',
})
this.$u.post('/app/Login/registerCode?password=' + code + '&phone=' + mobile).then(res => {
if (res.code === 0) {
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('userName', res.user.userName)
uni.setStorageSync('avatar', res.user.avatar ? res.user.avatar :
'../../static/images/logo.png')
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
uni.setStorageSync('sex', res.user.sex)
uni.setStorageSync('userId', res.user.userId)
//设置渠道码
if (res.user.qdCode) {
uni.setStorageSync('qdCode', res.user.qdCode)
}
// uni.setStorageSync('openId', res.user.openId)
// this.getWeixinInfoDEghTTorsp(this.sendDataList);
uni.showToast({
title: '登录成功',
icon: 'none'
})
const arr= getCurrentPages()
if(arr.length<=1){
return uni.reLaunch({
url:'/pages/index/index'
})
}
uni.navigateBack({
delta: arr.length<=2?1:2
})
} else {
uni.hideLoading();
uni.showToast({
title: res.msg,
icon: 'none',
duration: 1000
})
}
});
}
},
//获取个人信息
getWeixinInfoDEghTTorsp(sendData) {
let that = this;
uni.showLoading({
title: '登录中...'
});
let postData = {
openId: sendData.openId, //小程序openId
unionId: sendData.unionId, //unionId
userName: sendData.userName, //微信名称
avatar: sendData.avatar, //头像
sex: sendData.sex, //性别
phone: that.phone,
inviterCode: sendData.inviterCode
};
that.$u.api.insertWxUser(postData).then(res => {
uni.hideLoading();
if (res.code == 0) {
uni.setStorageSync('token', res.token)
uni.setStorageSync('userName', res.user.userName)
uni.setStorageSync('avatar', res.user.avatar)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
uni.setStorageSync('sex', res.user.sex)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('openId', res.user.openId)
let data = {
userId: uni.getStorageSync('userId')
}
that.$u.api.userVip(data).then(res => {
if (res.code == 0 && res.data && res.data.isVip == 2) {
uni.setStorageSync('isVIP', true)
} else {
uni.setStorageSync('isVIP', false)
}
})
uni.navigateBack();
} else {
uni.showModal({
showCancel: false,
title: '登录失败',
content: res.msg,
});
}
})
},
}
};
</script>
<style lang="scss">
.footerDEghTTorsp {
padding-left: 150rpx;
margin-top: 32upx;
font-size: 24upx;
color: #666666;
text-align: center;
display: flex;
}
page {
background: #ffffff;
}
.send-msg {
border-radius: 30px;
color: black;
background: white;
height: 30px;
font-size: 14px;
line-height: 30px;
}
.containerDEghTTorsp {
top: 0;
padding-top: 32upx;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
}
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #ffffff;
padding-bottom: 20px;
}
.input-contentDEghTTorsp {
padding: 0 20px;
}
.confirm-btnDEghTTorsp {
width: 300px;
height: 42px;
line-height: 42px;
border-radius: 30px;
margin-top: 40px;
// background: linear-gradient(to left, #3f5ecb 0, #5074FF 100%);
background: #ff7581;
color: #ffffff;
// font-size: $font-lg;
&:after {
border-radius: 60px;
}
}
</style>

View File

@@ -1,7 +1,7 @@
<template>
<view>
<view class="userMain">
<view class="userMain-item u-border-bottom">
<view class="userMainDEghTTorsp">
<view class="userMainDEghTTorsp-item u-border-bottom">
<view>头像</view>
<view>
<!-- #ifdef MP-WEIXIN -->
@@ -11,36 +11,36 @@
</button>
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<image :src="headImg?headImg:'../../static/images/logo.png'" mode="" @click="uploadImg"
<image :src="headImg?headImg:'../../static/images/logo.png'" mode="" @click="uploadImgDEghTTorsp"
style="width: 111rpx;height: 111rpx;border-radius: 50%;"></image>
<!-- #endif -->
</view>
</view>
<view class="userMain-item item-padding u-border-bottom">
<view class="userMainDEghTTorsp-item item-padding u-border-bottom">
<view>用户名</view>
<view>
<view class="cu-form-group">
<view class="cu-form-groupDEghTTorsp">
<input type="nickname" v-model="userName" placeholder="请输入用户名" />
</view>
</view>
</view>
<!-- <view class="userMain-item item-padding">
<!-- <view class="userMainDEghTTorsp-item item-padding">
<view >姓名</view>
<view class="cu-form-group">
<view class="cu-form-groupDEghTTorsp">
<input v-model="realName" placeholder="请填写您的真实姓名" />
</view>
</view> -->
<view class="userMain-item item-padding u-border-bottom">
<view class="userMainDEghTTorsp-item item-padding u-border-bottom">
<view>手机</view>
<view>
<!-- #ifndef MP-WEIXIN -->
<view class="cu-form-group">
<view class="cu-form-groupDEghTTorsp">
<input v-if="phone" disabled v-model="phone" placeholder="请输入联系电话" />
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="cu-form-group">
<view class="cu-form-groupDEghTTorsp">
<input v-if="phone" disabled v-model="phone" placeholder="请输入联系电话" />
<button v-else
style="background-color: #ff7581 !important;color: #FFFFFF;font-size: 22rpx;padding: 10rpx 20rpx;"
@@ -52,18 +52,18 @@
</view>
</view>
<!-- <view class="userMain-item item-padding" @click="goMyAddress">
<!-- <view class="userMainDEghTTorsp-item item-padding" @click="goMyAddressDEghTTorsp">
<view >地址管理</view>
<view>
<view class="cu-form-group" >
<view class="cu-form-groupDEghTTorsp" >
<image src="../static/right.png" style="width: 12rpx; height: 19rpx;margin-left: 10rpx;" mode=""></image>
</view>
</view>
</view> -->
</view>
<view class="footer-btn">
<view class="userMain-btn" @click="messagebtn()">保存</view>
<view class="footer-btnDEghTTorsp">
<view class="userMainDEghTTorsp-btn" @click="messagebtnDEghTTorsp()">保存</view>
</view>
</view>
</template>
@@ -91,10 +91,10 @@
};
},
onLoad(e) {
this.getUserInfo()
this.getUserInfoDEghTTorsp()
},
methods: {
getMyPhone(code) {
getMyPhoneDEghTTorsp(code) {
let data = {
code: code
}
@@ -127,7 +127,7 @@
// #endif
// #ifdef MP-WEIXIN
if (e.detail.code) {
this.getMyPhone(e.detail.code)
this.getMyPhoneDEghTTorsp(e.detail.code)
} else {
uni.showToast({
title: '获取手机号失败',
@@ -146,7 +146,7 @@
// #endif
},
goMyAddress() {
goMyAddressDEghTTorsp() {
uni.navigateTo({
url: '../jifen/myaddress'
});
@@ -178,7 +178,7 @@
});
},
uploadImg() {
uploadImgDEghTTorsp() {
let token = uni.getStorageSync('token')
if (!token) {
@@ -232,7 +232,7 @@
// title: '',
// icon: "none"
// })
// that.getUserInfo();
// that.getUserInfoDEghTTorsp();
// })
// uni.request({
// url: 'https://jiaoyu.xianmxkj.com/sqx_fast/app/user/updateUsers',
@@ -258,7 +258,7 @@
// uni.hideLoading();
// if (res.status === 0) {
// that.$queue.showToast("");
// that.getUserInfo(userId);
// that.getUserInfoDEghTTorsp(userId);
// }
// });
}
@@ -269,7 +269,7 @@
}
})
},
config: function(name) {
configDEghTTorsp: function(name) {
var info = null;
if (name) {
var name2 = name.split("."); //
@@ -291,7 +291,7 @@
}
return info;
},
getUserInfo() {
getUserInfoDEghTTorsp() {
let userId = uni.getStorageSync('userId')
this.$u.api.userinfo().then(res => {
if (res.code === 0) {
@@ -331,11 +331,11 @@
// });
},
//
checkPhone(phone) {
checkPhoneDEghTTorsp(phone) {
return /^1[3456789]\d{9}$/.test(phone);
},
//
messagebtn() {
messagebtnDEghTTorsp() {
if (!this.userName) {
uni.showToast({
title: "用户名不能为空",
@@ -351,7 +351,7 @@
})
return
}
if (this.checkPhone(this.phone) == false) {
if (this.checkPhoneDEghTTorsp(this.phone) == false) {
uni.showToast({
title: "手机号格式不正确",
icon: "none"
@@ -427,11 +427,11 @@
height: 100%;
}
.userMain {
.userMainDEghTTorsp {
background: #FFFFFF;
}
.userMain-item {
.userMainDEghTTorsp-item {
display: flex;
align-items: center;
margin-left: 40rpx;
@@ -440,28 +440,28 @@
/* border-bottom: 2rpx solid #f2f2f2; */
}
.userMain-item.item-padding {
.userMainDEghTTorsp-item.item-padding {
padding: 0 40rpx 0 0;
}
.cu-form-group {
.cu-form-groupDEghTTorsp {
padding: 0;
background: #FFFFFF;
text-align: right;
}
.cu-form-group input {
.cu-form-groupDEghTTorsp input {
background: #FFFFFF;
font-size: 28rpx;
color: #333333;
}
.footer-btn {
.footer-btnDEghTTorsp {
margin-top: 150rpx;
}
.footer-btn .userMain-btn {
.footer-btnDEghTTorsp .userMainDEghTTorsp-btn {
color: #FFFFFF;
background: #ff7581;
text-align: center;

View File

@@ -0,0 +1,907 @@
<template>
<view style="padding-bottom: 40rpx;">
<u-navbar :background="background" :is-back="isBack" :title="title" :border-bottom="false">
</u-navbar>
<!-- 登录信息 -->
<view class="infoDEghTTorsp flex align-center justify-center">
<view class="infoDEghTTorsp-box">
<view @click="token?goNavDEghTTorsp('/pages/iSiAnfghCC/GqrTYehghi'):goNavDEghTTorsp('/pages/ghtwwlkXYG/wVghNzmqkQ')"
class="infoDEghTTorsp-box-c flex align-center justify-between">
<view class="infoDEghTTorsp-box-c-l flex align-center">
<view class="infoDEghTTorsp-box-c-l-avatar">
<image :src="avatar?avatar:'../../static/images/me/default_avatar.png'" mode=""></image>
</view>
<view class="infoDEghTTorsp-box-c-l-name">
<view class="infoDEghTTorsp-box-c-l-name-t">
{{userName?userName:'未登录'}}
</view>
<view class="infoDEghTTorsp-box-c-l-name-b" v-if="invitationCode">
ID:{{invitationCode}}
</view>
</view>
</view>
<view class="infoDEghTTorsp-box-c-r">
<u-icon name="arrow-right" color="#F6F6F6" size="28"></u-icon>
</view>
</view>
</view>
</view>
<!-- 统计 -->
<view class="statisticsDEghTTorsp flex align-center justify-center">
<view class="statisticsDEghTTorsp-box flex align-center justify-between">
<view class="statisticsDEghTTorsp-box-item" @click="goNavDEghTTorsp('/me/jilu/myLove')">
<view class="statisticsDEghTTorsp-box-item-top">
{{myLoveNum}}
</view>
<view class="statisticsDEghTTorsp-box-item-btn">
我的喜欢
</view>
</view>
<view class="statisticsDEghTTorsp-box-item" @click="goNavDEghTTorsp('/me/jilu/histor')">
<view class="statisticsDEghTTorsp-box-item-top">
{{myZhui}}
</view>
<view class="statisticsDEghTTorsp-box-item-btn">
我的追剧
</view>
</view>
<!-- <view class="statisticsDEghTTorsp-box-item" @click="goNavDEghTTorsp('/me/jifen/jifen')">
<view class="statisticsDEghTTorsp-box-item-top">
{{jifen}}
</view>
<view class="statisticsDEghTTorsp-box-item-btn">
我的积分
</view>
</view> -->
<view v-if="isShowMoneyPay" class="statisticsDEghTTorsp-box-item" @click="goNavDEghTTorsp('/me/invite/cashDetail')">
<view class="statisticsDEghTTorsp-box-item-top">
{{userInfo.amount || '0.00'}}
</view>
<view class="statisticsDEghTTorsp-box-item-btn">
我的红包
</view>
</view>
</view>
</view>
<!-- <view v-if="isVips == '是' && isWxIosPay == true" class="vipDEghTTorsp flex align-center justify-center">
<view class="vipDEghTTorsp-box flex align-center justify-between">
<view class="vipDEghTTorsp-box-l">
<view class="vipDEghTTorsp-box-l-l flex align-center">
{{isVIP?'会员用户':'开通会员'}}
<image src="../../static/images/me/Vips.png" mode=""></image>
</view>
<view class="vipDEghTTorsp-box-l-r" v-if="isVIP">
{{endTime?endTime+'到期':'您是尊贵的永久会员'}}
</view>
<view class="vipDEghTTorsp-box-l-r" v-else>
{{endTime?endTime+'到期':'升级VIP省更多钱'}}
</view>
</view>
<view v-if="!isVIP" @click="goNavDEghTTorsp('/pages/iSiAnfghCC/vipDEghTTorsp/index')"
class="vipDEghTTorsp-box-r flex align-center justify-center">
立即开通
</view>
</view>
</view> -->
<!-- 钱包 -->
<view class="moneyDEghTTorsp flex align-center justify-center" v-if="isWxIosPay == true">
<view class="moneyDEghTTorsp-box flex align-center justify-between">
<view class="">
<view class="moneyDEghTTorsp-box-title flex align-center">
<view class="moneyDEghTTorsp-box-title-l">
金币余额
</view>
<!-- <view @click="isShoMoney = !isShoMoney" class="moneyDEghTTorsp-box-title-r" style="margin-left: 12rpx;">
<u-icon :name="isShoMoney?'eye':'eye-off'" color="#5A4A32" size="40"></u-icon>
</view> -->
</view>
<view class="moneyDEghTTorsp-box-price">
<block v-if="isShoMoney">
{{formatNumberDEghTTorsp(moneyNum)}}
</block>
<block v-else>
****
</block>
</view>
</view>
<view class="moneyDEghTTorsp-box-btn" @click="goNavDEghTTorsp('/me/invite/moneyList?moneyType=2&viewType=2')">
金币明细
</view>
<!-- <view class="moneyDEghTTorsp-box-btn" @click="goNavDEghTTorsp('/me/wallet/wallet')">
立即充值
</view> -->
</view>
</view>
<!-- 常用工具 -->
<view class="toolDEghTTorsp flex align-center justify-center">
<view class="toolDEghTTorsp-box">
<view class="toolDEghTTorsp-box-content flex align-center justify-between flex-wrap">
<!-- #ifdef MP-TOUTIAO -->
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/wallet/mingxi')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/mingxi.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
钱包明细
</view>
</view>
<!-- #endif -->
<!-- <view v-if="kmPaySel != '否'" @click="openKaMiShowDEghTTorsp()"
class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/kamiDEghTTorsp.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
卡密兑换
</view>
</view> -->
<!-- <view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/choujiang/choujiang')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/zhuanpan.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
转盘抽奖
</view>
</view> -->
<view v-if="isShowMoneyPay" class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/invite/index')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/vfx.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
分享好友
</view>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/message/index')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/messige.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
消息中心
</view>
<u-badge :offset="[0,20]" type="error" :count="numCount"></u-badge>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/pages/task/index','tabbar')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/task.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
任务中心
</view>
<u-badge :offset="[0,20]" type="error" :count="numCount"></u-badge>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/jilu/record')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/vlishi.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
观看历史
</view>
</view>
<view v-if="rate>0 && isShowMoneyPay" class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/invite/inviteDet')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/vtd.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
我的团队
</view>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap" @click="goMsgDEghTTorsp()">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/vkf.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
联系客服
</view>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/feedbackIndex/feedbackIndex')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/bangzhu.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
帮助中心
</view>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/feedback/index')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/yijian.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
意见反馈
</view>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap"
@click="goNavDEghTTorsp('/me/setting/index')">
<view class="toolDEghTTorsp-box-content-item-img">
<image src="../../static/images/me/setting.png" mode=""></image>
</view>
<view class="toolDEghTTorsp-box-content-item-txt">
设置中心
</view>
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap" style="height: 0;">
</view>
<view class="toolDEghTTorsp-box-content-item flex align-center justify-center flex-wrap" style="height: 0;">
</view>
</view>
</view>
</view>
<!-- 卡密兑换弹窗 -->
<u-popup @close="kamiDEghTTorsp = ''" v-model="showCard" mode="center" border-radius="14" :closeable="true">
<view class="kamiDEghTTorsp">
<view class="kamiDEghTTorsp-title">
卡密兑换
</view>
<view class="kamiDEghTTorsp-input">
<u-input v-model="kamiDEghTTorsp" placeholder="请输入卡密" type="text" :border="true" />
</view>
<view @click="exchangeKaMiDEghTTorsp()" class="kamiDEghTTorsp-btn flex align-center justify-center">
确认兑换
</view>
</view>
</u-popup>
<!-- 抖音im客服 -->
<ttMsg />
<other-xuanfu></other-xuanfu>
</view>
</template>
<script>
import ttMsg from '../../components/ttMsg/ttMsg.vue'
import httpsRequest from '../../common/httpRequest.js'
import otherXuanfu from '@/components/other-xuafu.vue'
export default {
components: {
ttMsg,otherXuanfu
},
data() {
return {
title: '',
isBack: false,
background: {
backgroundImage: 'linear-gradient(to right, #FFE5EA 0%, #E4F5FB 49%, #FFF0EE 100%)'
},
kamiDEghTTorsp: '', //卡密
isShoMoney: true, //是否显示余额
avatar: '../../static/images/logo.png',
img: '../../static/images/me/huiyuan.png',
swiperList: [{
imageUrl: '../../static/images/me/banner.png',
}],
isLogin: false,
userName: '未登录',
isVIP: false,
invitationCode: '',
token: '',
endTime: '', //会员到期时间
moneyNum: 0, //余额
jifen: 0, //积分
isVips: '否', //是否显示会员
myLoveNum: 0, //我的喜欢个数
myZhui: 0, //我的追剧数量
showCard: false,
numCount: 0,
rate: 0,
twoRate:0,
kmPaySel: '否',
isWxIosPay: true, //微信下是否显示支付功能
userInfo: {},
isShowMoneyPay: true,
}
},
onLoad() {
this.getBannerListDEghTTorsp()
},
onShow() {
const systemInfo = uni.getSystemInfoSync();
const isIOS = /iOS/.test(systemInfo.platform);
if ( !isIOS ) {
this.isBack = true
}
this.isWxIosPay = uni.getStorageSync('isWxIosPay')
this.kmPaySel = this.$queue.getData('kmPaySel');
this.numCount = uni.getStorageSync('numCount')
this.isVips = uni.getStorageSync('isVips') ? uni.getStorageSync('isVips') : '否'
this.token = uni.getStorageSync('token')
if (this.token) {
this.getMyMoneyDEghTTorsp()
this.getPointsDEghTTorsp()
this.$u.api.userinfo().then(res => {
if (res.code === 0 && res.data) {
uni.setStorageSync('zhiFuBao', res.data.zhiFuBao)
uni.setStorageSync('zhiFuBaoName', res.data.zhiFuBaoName)
uni.setStorageSync('userName', res.data.userName)
uni.setStorageSync('avatar', res.data.avatar)
this.userName = res.data.userName
this.avatar = res.data.avatar
this.invitationCode = res.data.invitationCode
this.rate = res.data.rate||0
this.twoRate = res.data.twoRate||0
}
})
let data = {
userId: uni.getStorageSync('userId')
}
this.$u.api.userVip(data).then(res => {
if (res.code === 0 && res.data && res.data.isVip === 2) {
this.isVIP = true;
this.endTime = res.data.endTime
uni.setStorageSync('isVIP', true)
} else {
this.isVIP = false;
this.endTime = ''
uni.setStorageSync('isVIP', false)
}
})
this.isLogin = true
this.userName = uni.getStorageSync('userName')
this.isVIP = uni.getStorageSync('isVIP')
this.getMyLoveNumDEghTTorsp()
this.getMyFansNumDEghTTorsp()
} else {
this.isLogin = false
this.isVIP = false
this.endTime = '' //会员到期时间
this.moneyNum = 0 //余额
this.jifen = 0 //积分
this.userName = '未登录'
this.invitationCode = ''
this.myLoveNum = 0
this.myZhui = 0
this.rate = 0
}
this.avatar = uni.getStorageSync('avatar') ? uni.getStorageSync('avatar') : '../../static/images/logo.png'
httpsRequest.getT("app/common/type/919", {}).then(res => {
console.log(res);
if (res.code === 0) {
const sysInfo = uni.getSystemInfoSync();
let isIos = sysInfo.platform === 'ios'
this.isShowMoneyPay = !(res.data.value === '1' && isIos)
}
});
},
methods: {
//兑换卡密
exchangeKaMiDEghTTorsp() {
if (!this.kamiDEghTTorsp) {
uni.showToast({
title: '请输入卡密',
icon: 'none'
})
return
}
let data = {
sdkContent: this.kamiDEghTTorsp
}
this.$Request.postT('/app/sdkInfo/sdkExchange', data).then(res => {
if (res.code === 0) {
uni.showToast({
title: '兑换成功'
})
this.showCard = false
let datas = {
userId: uni.getStorageSync('userId')
}
this.$u.api.userVip(datas).then(rest => {
if (rest.code === 0 && rest.data && rest.data.isVip === 2) {
this.isVIP = true;
this.endTime = rest.data.endTime
uni.setStorageSync('isVIP', true)
} else {
this.isVIP = false;
this.endTime = ''
uni.setStorageSync('isVIP', false)
}
})
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
},
openKaMiShowDEghTTorsp() {
if (uni.getStorageSync('token')) {
this.showCard = true
} else {
uni.navigateTo({
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
//获取我喜欢的数量
getMyLoveNumDEghTTorsp() {
let data = {
page: 1,
limit: 1,
classify: 2
}
this.$Request.getT('/app/courseCollect/selectByUserId', data).then(res => {
if (res.code === 0) {
this.myLoveNum = res.data.total
} else {
this.myLoveNum = 0
}
})
},
//获取我追剧的数量
getMyFansNumDEghTTorsp() {
let data = {
page: 1,
limit: 1,
classify: 1
}
this.$Request.getT('/app/courseCollect/selectByUserId', data).then(res => {
if (res.code === 0) {
this.myZhui = res.data.total
} else {
this.myZhui = 0
}
})
},
/**
* 获取积分
*/
getPointsDEghTTorsp() {
this.$Request.getT('/app/integral/selectByUserId').then(res => {
if (res.code === 0) {
this.jifen = res.data.integralNum
} else {
this.jifen = 0
}
})
},
/**
* @param {Number} num
* @param 保留两位小数
*/
formatNumberDEghTTorsp(num) {
// 判断是否为整数
if (Number.isInteger(num)) {
return num.toFixed(2);
} else {
return num.toFixed(2).replace(/\.?0+$/, '');
}
},
/**
* 获取余额
*/
getMyMoneyDEghTTorsp() {
this.$Request.getT('/app/moneyDetails/selectUserMoney').then(res => {
if (res.code === 0) {
this.moneyNum = res.data.moneyDEghTTorsp
this.userInfo = res.data
// this.$Request.getT('/app/invite/selectInviteMoney').then(ret => {
// if (ret.code == 0) {
// if (ret.data.inviteMoney && ret.data.inviteMoney.moneyDEghTTorsp) {
// this.moneyNum = Number(res.data.moneyDEghTTorsp) + Number(ret.data.inviteMoney
// .moneyDEghTTorsp)
// } else {
// this.moneyNum = Number(res.data.moneyDEghTTorsp)
// }
// }
// })
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
},
goPageDEghTTorsp(url) {
if (url) {
if (url.indexOf('/pages/') !== -1 || url.indexOf('/me/') !== -1) {
uni.navigateTo({
url
});
} else {
//#ifndef H5
uni.navigateTo({
url: '/pages/index/webView?url=' + url
});
//#endif
//#ifdef H5
window.location.href = url;
//#endif
}
}
},
goMsgDEghTTorsp() {
let kefu = uni.getStorageSync('kefu'); // 用户端联系方式 1 手机号 2企业微信
let kefuPhone = uni.getStorageSync('kefuPhone');
if (kefu === 1) {
uni.navigateTo({
url: '/me/setting/kefu'
})
} else if (kefu === 3) {
uni.makePhoneCall({
phoneNumber: kefuPhone //仅为示例
});
} else if (kefu === 2) {
// #ifdef MP-WEIXIN
let that = this
try {
wx.openCustomerServiceChat({
extInfo: {
url: uni.getStorageSync('kefuUrl')
},
corpId: uni.getStorageSync('kefuAppId'),
success(res) {},
fail(res) {
console.error(res)
}
})
} catch (error) {
console.error("catchcatch" + error)
uni.showToast({
title: '请更新至微信最新版本'
});
}
// #endif
// #ifndef MP-WEIXIN
let url = uni.getStorageSync('kefuUrl');
if (url.indexOf('/pages/') !== -1 || url.indexOf('/my/') !== -1) {
uni.navigateTo({
url
});
} else {
//#ifndef H5
uni.navigateTo({
url: '/pages/index/webView?url=' + url
});
//#endif
//#ifdef H5
window.location.href = url;
//#endif
}
// #endif
}
},
goNavDEghTTorsp(e,type) {
console.log(e)
let token = uni.getStorageSync('token')
if (token) {
if (type === 'tabbar') {
uni.switchTab({
url: e
})
} else {
uni.navigateTo({
url: e
})
}
} else {
uni.navigateTo({
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
// 获取轮播图列表
getBannerListDEghTTorsp() {
this.$u.api.bannerList({
classify: '3'
}).then(res => {
if (res.code === 0 && res.data) {
let arr = []
res.data.forEach(ret => {
if (ret.state === 1) {
arr.push(ret)
}
})
this.swiperList = arr
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
})
},
}
}
</script>
<style lang="scss">
page {
background-color: #F5F7FF;
}
/deep/.u-navbar-inner {
/* #ifdef H5 */
background: linear-gradient(to right, #FFE5EA 0%, #E4F5FB 49%, #FFF0EE 100%);
/* #endif */
}
.kamiDEghTTorsp {
width: 500rpx;
height: auto;
background-color: #FFFFFF;
.kamiDEghTTorsp-title {
width: 100%;
text-align: center;
margin-top: 30rpx;
font-size: 30rpx;
font-weight: bold;
}
.kamiDEghTTorsp-input {
padding: 30rpx;
}
.kamiDEghTTorsp-btn {
width: calc(100% - 60rpx);
height: 80rpx;
margin: 0 auto;
background-color: #ff7581;
border-radius: 44rpx;
color: #FFFFFF;
margin-top: 10rpx;
margin-bottom: 40rpx;
}
}
.infoDEghTTorsp::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to right, #FFE5EA 0%, #E4F5FB 49%, #FFF0EE 100%);
z-index: 1;
/* 确保在垂直渐变之上 */
}
.infoDEghTTorsp::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to bottom, transparent, #F5F7FF);
/* 垂直渐变,结束颜色为透明 */
z-index: 2;
/* 确保在水平渐变之上 */
}
.infoDEghTTorsp {
width: 100%;
height: auto;
// height: 400rpx;
background: #F5F7FF;
position: relative;
border-radius: 0 0 80rpx 80rpx;
.infoDEghTTorsp-box {
width: 686rpx;
height: 100%;
position: relative;
z-index: 3;
}
.infoDEghTTorsp-box-c {
width: 100%;
height: 94rpx;
// margin-top: 60rpx;
margin-bottom: 140rpx;
}
.infoDEghTTorsp-box-c-l-avatar {
width: 94rpx;
height: 94rpx;
border-radius: 50%;
image {
width: 94rpx;
height: 94rpx;
border-radius: 50%;
}
}
.infoDEghTTorsp-box-c-l-name {
margin-left: 16rpx;
.infoDEghTTorsp-box-c-l-name-t {
color: #333333;
font-size: 32rpx;
font-weight: bold;
}
.infoDEghTTorsp-box-c-l-name-b {
color: #333333;
font-size: 24rpx;
font-weight: 400;
}
}
}
.statisticsDEghTTorsp {
width: 100%;
height: auto;
margin-top: -100rpx;
position: relative;
z-index: 3;
.statisticsDEghTTorsp-box {
width: 686rpx;
// height: 184rpx;
// background-color: #FFFFFF;
border-radius: 24rpx;
}
.statisticsDEghTTorsp-box-item {
// width: calc(100% / 3);
// height: 100%;
}
.statisticsDEghTTorsp-box-item-top {
width: 100%;
text-align: center;
color: #333333;
font-size: 38rpx;
font-weight: bold;
}
.statisticsDEghTTorsp-box-item-btn {
width: 100%;
text-align: center;
color: #999999;
font-size: 26rpx;
// margin-top: 20rpx
}
}
.vipDEghTTorsp {
width: 100%;
// height: 84rpx;
margin-top: 30rpx;
.vipDEghTTorsp-box {
width: 686rpx;
height: 100%;
background: linear-gradient(90deg, #FEF5E4 0%, #FBECD7 100%);
border-radius: 24rpx;
padding: 26rpx 30rpx;
}
.vipDEghTTorsp-box-l {
image {
width: 24rpx;
height: 22rpx;
margin-left: 6rpx;
}
}
.vipDEghTTorsp-box-l-l {
font-size: 32rpx;
font-weight: 800;
color: #5A4A32;
line-height: 32rpx;
}
.vipDEghTTorsp-box-l-r {
color: #817858;
font-size: 26rpx;
margin-top: 6rpx;
}
.vipDEghTTorsp-box-r {
width: 130rpx;
height: 50rpx;
background: #FFFFFF;
box-shadow: 0rpx -3rpx 9rpx 0rpx rgba(255, 255, 255, 0.46);
border-radius: 25rpx;
color: #5A4A32;
font-size: 22rpx;
}
}
.moneyDEghTTorsp {
width: 100%;
height: auto;
margin-top: 20rpx;
.moneyDEghTTorsp-box {
width: 686rpx;
height: 100%;
border-radius: 24rpx;
background: #ffffff;
padding: 30rpx;
}
.moneyDEghTTorsp-box-btn {
background: linear-gradient(90deg, #FF7581 0%, #F8A5AF 100%);
border-radius: 44rpx;
padding: 18rpx 30rpx;
font-size: 24rpx;
color: #ffffff;
font-weight: bold;
}
.moneyDEghTTorsp-box-title-l {
color: #333333;
font-size: 28rpx;
font-weight: normal;
}
.moneyDEghTTorsp-box-price {
color: #333333;
font-size: 48rpx;
font-weight: 800;
margin-top: 20rpx;
}
}
.toolDEghTTorsp {
width: 100%;
height: auto;
margin-top: 20rpx;
.toolDEghTTorsp-box {
width: 686rpx;
height: 100%;
background-color: #FFFFFF;
border-radius: 24rpx;
}
.toolDEghTTorsp-box-content {
width: 100%;
height: auto;
padding: 30rpx 30rpx 0 30rpx;
}
.toolDEghTTorsp-box-content-item {
width: 130rpx;
height: auto;
margin-bottom: 46rpx;
position: relative;
}
.toolDEghTTorsp-box-content-item-img {
width: 66rpx;
height: 66rpx;
image {
width: 66rpx;
height: 66rpx;
}
}
.toolDEghTTorsp-box-content-item-txt {
width: 100%;
text-align: center;
margin-top: 10rpx;
color: #333333;
font-size: 24rpx;
}
}
</style>

View File

@@ -50,14 +50,14 @@
},
onShow() {
//#ifdef H5
this.follow()
this.followDEghTTorsp()
//#endif
},
methods: {
follow() {
followDEghTTorsp() {
if (this.$queue.getData("openid")) {
this.$Request.get("/tao/wx/follow/" + this.$queue.getData("openid")).then(res => {
this.$Request.get("/tao/wx/followDEghTTorsp/" + this.$queue.getData("openid")).then(res => {
if (res) {
window.location.replace(this.$queue.publicYuMing());
}
@@ -65,7 +65,7 @@
}
},
rests() {
restsDEghTTorsp() {
uni.showToast({
title: "已刷新请再次长按识别",
mask: false,

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6778.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6779.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6776.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6777.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -30,17 +30,17 @@
</view>
</view>
<view>
<view class="btn-bg" @click="bugVIP(item.id)">购买</view>
<view class="btn-bgDEghTTorsp" @click="bugVIPDEghTTorsp(item.id)">购买</view>
</view>
</view>
</view>
<view class="illustrate flex align-center justify-center">
<view class="illustrate-box flex align-center">
<view class="illustrateDEghTTorsp flex align-center justify-center">
<view class="illustrateDEghTTorsp-box flex align-center">
<u-checkbox active-color="#ff7581" v-model="checked" shape="circle"></u-checkbox>
<text @click="checked = !checked">
我已经阅读并同意
</text>
<view @click="goXieyi()" class="illustrate-box-txt">
<view @click="goXieyiDEghTTorsp()" class="illustrateDEghTTorsp-box-txt">
付费须知说明
</view>
</view>
@@ -51,14 +51,14 @@
style="width: 100%;text-align: center;font-size:38rpx;font-weight: bold;margin-top:15rpx;margin-bottom: 80rpx;">
选择支付方式
</view>
<view @click="goMoney" class="flex align-center justify-end" style="margin-right: 20rpx;color: #ff7581;">
<view @click="goMoneyDEghTTorsp" class="flex align-center justify-end" style="margin-right: 20rpx;color: #ff7581;">
<view class="" style="color: #666666;">
金币不足
</view>
去充值
</view>
<view style="display: flex;height: 100upx;align-items: center;padding: 20upx 30rpx;"
v-for="(item,index) in openLists" :key='index' @tap='selectWay(item.id)'>
v-for="(item,index) in openLists" :key='index' @tap='selectWayDEghTTorsp(item.id)'>
<view style="display: flex;width:80%;align-items: center;">
<image :src="item.image" style="width: 55upx;height: 55upx;"></image>
<view style="font-size: 30upx;margin-left: 20upx;width: 70%;">{{item.text}}
@@ -74,25 +74,25 @@
</view>
<view
style="width: 690rpx;height: 80rpx;background:#ff7581;color:#FFFFFF;text-align: center;line-height: 80rpx;border-radius: 50rpx;margin: 30rpx;"
@tap="pay()">确认支付</view>
@tap="payDEghTTorsp()">确认支付</view>
</u-popup>
<!-- 会员助力 -->
<u-popup v-model="showjl" :closeable="true" close-icon-color="#ffffff" mode="center">
<view class="zl" @click="goZl()">
<image class="zl-bg"
<view class="zlDEghTTorsp" @click="goZlDEghTTorsp()">
<image class="zlDEghTTorsp-bg"
src="https://dj-api.hnsiyao.cn/file/uploadPath/2023/12/14/adf37beca97826d44970d20118f88e29.png"
mode=""></image>
<view class="zl-title">
<view class="zlDEghTTorsp-title">
会员免费领
</view>
<view class="zl-titlef">
<view class="zlDEghTTorsp-titlef">
免费领会员
</view>
<view class="zl-titlef2">
<view class="zlDEghTTorsp-titlef2">
助力中...
</view>
<view class="zl-titlebtn">
<view class="zlDEghTTorsp-titlebtn">
立即领取
</view>
</view>
@@ -254,30 +254,30 @@
this.$Request.get('/app/common/type/813').then(res => {
if (res.code == 0 && res.data.value) {
if (res.data.value == '是') {
this.getActivity()
this.getActivityDEghTTorsp()
}
}
})
}
this.userName = uni.getStorageSync('userName')
this.getVIPDet()
this.getvipdata()
this.getVIPDetDEghTTorsp()
this.getvipdataDEghTTorsp()
},
methods: {
//
goXieyi() {
goXieyiDEghTTorsp() {
uni.navigateTo({
url: '/me/setting/payXieYi'
})
},
goMoney() {
goMoneyDEghTTorsp() {
uni.navigateTo({
url: '/me/wallet/wallet'
})
},
//
getActivity() {
getActivityDEghTTorsp() {
this.$Request.getT('/app/invite/selectInviteAwardByUserId').then(res => {
if (res.code == 0) {
if (res.data) {
@@ -287,13 +287,13 @@
})
},
//
goZl() {
goZlDEghTTorsp() {
uni.navigateTo({
url: '/me/assistance/assistance'
})
this.showjl = false
},
getvipdata() {
getvipdataDEghTTorsp() {
let data = {
userId: uni.getStorageSync('userId')
}
@@ -307,10 +307,10 @@
}
})
},
selectWay: function(id) {
selectWayDEghTTorsp: function(id) {
this.openWay = id;
},
getVIPDet() {
getVIPDetDEghTTorsp() {
this.$u.api.vipDet().then(res => {
if (res.code == 0) {
res.data.forEach(ret => {
@@ -336,7 +336,7 @@
}
})
},
bugVIP(e) {
bugVIPDEghTTorsp(e) {
if (this.checked == false) {
this.$refs.uToast.show({
title: '请阅读并同意《付费须知说明》',
@@ -347,7 +347,7 @@
this.vipId = e
this.showPay = true
// // #ifdef MP-TOUTIAO
// this.toutiaoPay()
// this.toutiaoPayDEghTTorsp()
// // #endif
// // #ifndef MP-TOUTIAO
// this.showPay = true
@@ -355,7 +355,7 @@
},
//
toutiaoPay() {
toutiaoPayDEghTTorsp() {
let that = this
let data = {
vipDetailsId: this.vipId
@@ -462,10 +462,10 @@
}
})
},
pay() {
payDEghTTorsp() {
let that = this
if (that.openWay == 4) { //
that.toutiaoPay()
that.toutiaoPayDEghTTorsp()
} else if (that.openWay == 5) { //
uni.showLoading({
title: '支付中...'
@@ -591,7 +591,7 @@
if (ua.indexOf('micromessenger') !== -1) {
this.$u.post('/app/wxPay/wxPayMpOrder?orderId=' + res.data.ordersId).then(red => {
if (red.code === 0) {
this.callPay(red.data);
this.callPayDEghTTorsp(red.data);
} else {
uni.showToast({
icon: 'none',
@@ -604,7 +604,7 @@
// #ifdef APP
this.$u.post("/app/wxPay/payAppOrder?orderId=" + res.data.ordersId).then(red => {
if (red.code == 0) {
that.setPayment('wxpay', JSON.stringify(red
that.setPaymentDEghTTorsp('wxpay', JSON.stringify(red
.data));
} else {
uni.showToast({
@@ -636,7 +636,7 @@
red => {
if (red.code === 0) {
console.log('1111111')
that.setPayment('alipay', red.data);
that.setPaymentDEghTTorsp('alipay', red.data);
} else {
uni.showToast({
icon: 'none',
@@ -688,10 +688,10 @@
}
},
isCheckPay(code, name, order) {
isCheckPayDEghTTorsp(code, name, order) {
if (code == 0) {
console.log('999999999999')
this.setPayment(name, order);
this.setPaymentDEghTTorsp(name, order);
} else {
uni.hideLoading();
uni.showToast({
@@ -699,7 +699,7 @@
});
}
},
setPayment(name, order) {
setPaymentDEghTTorsp(name, order) {
let that = this
uni.requestPayment({
provider: name,
@@ -740,19 +740,19 @@
}
});
},
callPay: function(response) {
callPayDEghTTorsp: function(response) {
if (typeof WeixinJSBridge === "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(response), false);
document.addEventListener('WeixinJSBridgeReady', this.onBridgeReadyDEghTTorsp(response), false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(response));
document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(response));
document.attachEvent('WeixinJSBridgeReady', this.onBridgeReadyDEghTTorsp(response));
document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReadyDEghTTorsp(response));
}
} else {
this.onBridgeReady(response);
this.onBridgeReadyDEghTTorsp(response);
}
},
onBridgeReady: function(response) {
onBridgeReadyDEghTTorsp: function(response) {
let that = this;
if (!response.package) {
return;
@@ -815,15 +815,15 @@
color: #604320;
}
.illustrate {
.illustrateDEghTTorsp {
width: 100%;
margin: 30rpx 0;
.illustrate-box {
.illustrateDEghTTorsp-box {
width: 686rpx;
}
.illustrate-box-txt {
.illustrateDEghTTorsp-box-txt {
color: #ff7581;
}
@@ -845,13 +845,13 @@
background-color: transparent !important;
}
.zl {
.zlDEghTTorsp {
width: 518rpx;
height: 556rpx;
position: relative;
background: transparent;
.zl-bg {
.zlDEghTTorsp-bg {
width: 518rpx;
height: 556rpx;
position: absolute;
@@ -859,7 +859,7 @@
left: 0;
}
.zl-title {
.zlDEghTTorsp-title {
position: absolute;
top: 15%;
left: 46%;
@@ -872,7 +872,7 @@
-webkit-text-fill-color: transparent;
}
.zl-titlef {
.zlDEghTTorsp-titlef {
font-size: 14rpx;
font-weight: bold;
color: #ffffff;
@@ -881,7 +881,7 @@
right: 35%;
}
.zl-titlef2 {
.zlDEghTTorsp-titlef2 {
font-size: 14rpx;
font-weight: bold;
color: #ffffff;
@@ -890,7 +890,7 @@
left: 22%;
}
.zl-titlebtn {
.zlDEghTTorsp-titlebtn {
font-size: 34rpx;
font-weight: bold;
background: linear-gradient(0deg, #FF5878 0.390625%, #F30931 100%);
@@ -903,7 +903,7 @@
}
}
.btn-bg {
.btn-bgDEghTTorsp {
width: 64px;
height: 28px;
background: linear-gradient(90deg, #DBC084 0%, #E9D4A6 100%);

View File

@@ -1,269 +0,0 @@
<template>
<view class="">
<u-sticky :enable="enable">
<view class="search-box">
<u-search bg-color="#f2f2f2" style="width: 100%;" placeholder="搜索更多资源" v-model="keyword"
:show-action="false" :animation="true" @search="getCourseList()"></u-search>
</view>
</u-sticky>
<view class="swiper flex align-center justify-center">
<view class="swiper-box">
<swiper :indicator-dots="true" class="swiper " :autoplay="true" interval="5000" duration="500"
:circular="true" style="width: 100%;height: 350rpx;">
<swiper-item v-for="(item,index) in swiperList" :key='index' @tap="goPage(item.url)">
<image :src="item.imageUrl" mode="scaleToFill"
style="width: 100%;height: 100%;border-radius: 24rpx;"></image>
</swiper-item>
</swiper>
</view>
</view>
<view class="padding-lr">
<view class="" v-if="courseList.length">
<!-- <view class="vidoList flex align-center justify-between flex-wrap">
<view class="vidoList-item" @click="goCourse(item.courseId,item.courseDetailsId)"
v-for="(item, index) in courseList" :key="index">
<view class="vidoList-item-img">
<image :src="item.titleImg" mode="aspectFill"></image>
</view>
<view class="vidoList-item-title">
{{item.title}}
</view>
</view>
<view class="vidoList-item" style="height: 0;"></view>
<view class="vidoList-item" style="height: 0;"></view>
</view> -->
<videoList @success="posterSuccess" :list="courseList" />
</view>
<empty title="暂无视频" :isShow='false' v-else></empty>
<u-loadmore v-if="courseList.length > 0" :status="status" />
</view>
</view>
</template>
<script>
import videoList from '../../../components/videoList/videoList.vue'
import empty from '@/components/empty.vue'
export default {
components: {
empty,
videoList
},
data() {
return {
enable: true,
status: 'loadmore',
swiperList: [], //轮播图列表
courseList: [], //资源列表
page: 1,
limit: 10,
id: '',
datalist: [{
id: 1,
name: '综合'
}, {
id: 2,
name: '人气'
}, {
id: 3,
name: '价格',
label: '0'
}],
dataIndex: 0,
sort: '',
count: 0,
keyword: '',
isPrice: '', //是否免费 2:免费
}
},
onShow() {
this.enable = true
this.getCourseList()
},
onHide() {
this.enable = false
},
onLoad(option) {
uni.setNavigationBarTitle({
title: option.title
})
this.getBannerList()
if (option.sort) {
this.sort = option.sort
}
if (option.isPrice) {
this.isPrice = option.isPrice
}
},
methods: {
goPage(url) {
uni.navigateTo({
url: url
})
},
//点击回调
posterSuccess(item) {
uni.navigateTo({
url: '/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item.courseDetailsId
})
},
//最新热播
getCourseList() {
let data = {
limit: this.limit,
page: this.page,
sort: this.sort ? this.sort : '',
title: this.keyword,
}
// #ifdef MP-WEIXIN
data.wxShow = 1
// #endif
// #ifdef MP-TOUTIAO
data.dyShow = 1
// #endif
if (this.isPrice) {
data.isPrice = this.isPrice
}
this.$u.api.courseList(data).then(res => {
if (res.code == 0) {
this.pages = res.data.totalPage
if (this.page < this.pages) {
this.status = 'loadmore'
} else {
this.status = 'nomore'
}
// res.data.list.forEach(ret => {
// ret.courseLabel = ret.courseLabel ? ret.courseLabel.split(',') : []
// })
if (this.page == 1) {
this.courseList = res.data.list
} else {
this.courseList = [...this.courseList, ...res.data.list]
}
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
uni.stopPullDownRefresh();
})
},
// 获取轮播图列表
getBannerList() {
this.$u.api.bannerList({
classify: '1'
}).then(res => {
if (res.code == 0) {
res.data.forEach(d => {
if (d.state == 1) {
this.swiperList.push(d)
}
})
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
},
},
onReachBottom: function() {
if (this.page < this.pages) {
this.page += 1
this.status = 'loading'
this.getCourseList()
} else {
this.status = 'nomore'
}
},
onPullDownRefresh: function() {
this.page = 1;
this.getCourseList()
},
}
</script>
<style lang="scss" scoped>
.search-box {
width: 100%;
padding: 15upx 2.5%;
display: flex;
justify-content: space-between;
background-color: #ffffff;
}
.vidoList {
width: 100%;
height: auto;
margin-bottom: 20rpx;
.vidoList-item {
width: calc((100% - 40rpx) / 3);
height: 356rpx;
background-color: #FFFFFF;
border-radius: 24rpx;
margin-bottom: 20rpx;
}
.vidoList-item-img {
width: 100%;
height: 280rpx;
border-radius: 24rpx 24rpx 0 0;
image {
width: 100%;
height: 100%;
border-radius: 24rpx 24rpx 0 0;
}
}
.vidoList-item-title {
width: 100%;
text-align: center;
background-color: #FFFFFF;
border-radius: 0 0 24rpx 24rpx;
padding: 20rpx;
overflow: hidden;
text-overflow: ellipsis; //溢出用省略号显示
white-space: nowrap; // 默认不换行;
}
}
.swiper {
width: 100%;
height: auto;
margin-bottom: 10rpx;
margin-top: 10rpx;
.swiper-box {
width: 686rpx;
height: 100%;
}
}
.active {
color: #5074FF;
}
.btn {
width: 150upx;
height: 60upx;
background: #5074FF;
border-radius: 30upx;
color: #FFFFFF;
text-align: center;
line-height: 60rpx;
font-size: 26rpx;
}
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6762.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6763.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,369 @@
<template>
<view class="content">
<u-sticky :enable="enable">
<view class="search-box-DEghTTorsp">
<u-search bg-color="#f2f2f2" style="width: 100%;" placeholder="搜索更多资源" :focus="true" v-model="keyword" :show-action="true"
:animation="true" action-text="取消" @custom="goBackDEghTTorsp()" @search="doSearchDEghTTorsp(false)"></u-search>
</view>
</u-sticky>
<view class="search-keyword-DEghTTorsp" v-if="isSearch">
<view class="keyword-block-DEghTTorsp" v-if="hotKeywordList.length !=0">
<view class="keyword-list-header">
<view>热搜</view>
<view>
<image @tap="hotToggleDEghTTorsp" :src="'/static/images/index/attention'+forbid+'.png'"></image>
</view>
</view>
<view class="keyword" v-if="forbid==''">
<view v-for="(keyword,index) in hotKeywordList" @tap="doSearchsDEghTTorsp(keyword)" :key="index"
v-if="keyword">
{{keyword}}
</view>
</view>
<view class="hide-hot-tis" v-else>
<view>当前搜热已隐藏</view>
</view>
</view>
<view class="keyword-block-DEghTTorsp" v-if="oldKeywordList.length>0">
<view class="keyword-list-header">
<view>历史记录</view>
<view>
<image @tap="oldDeleteDEghTTorsp" src="/static/images/index/delete.png"></image>
</view>
</view>
<view class="keyword">
<view v-for="(keyword,index) in oldKeywordList" @tap="doSearchDEghTTorsp(keyword)" :key="index"
v-if="keyword">
{{keyword}}
</view>
</view>
</view>
</view>
<view class="search-list-DEghTTorsp flex align-center justify-center" v-else>
<view class="search-list-box-DEghTTorsp flex align-center justify-between flex-wrap">
<swiper class="swiper" :indicator-dots="true" :autoplay="true" interval="5000" duration="500"
:circular="true" style="width: 100%;height: 350rpx;margin-bottom: 20rpx;">
<swiper-item v-for="(item,index) in swiperList" :key='index' @tap="goPage(item.url)">
<image :src="item.imageUrl" mode="scaleToFill"
style="width: 100%;height: 100%;border-radius: 24rpx;"></image>
</swiper-item>
</swiper>
<videoList @success="posterSuccessDEghTTorsp" :list="keywordList" />
</view>
</view>
<empty title="暂无视频" v-if="isSearch == false && keywordList.length==0" />
</view>
</template>
<script>
import videoList from '../../../components/videoList/videoList.vue'
import empty from '../../../components/empty.vue'
export default {
components: {
empty,
videoList
},
data() {
return {
swiperList: [], //轮播图列表
enable: true,
defaultKeyword: "",
keyword: "",
oldKeywordList: [], //历史记录
hotKeywordList: [], //热搜
keywordList: [], //搜索列表
forbid: '',
isShowKeywordList: false,
limit: 10,
page: 1,
noData: true,
count: 0,
isSearch: true,
}
},
onShow() {
this.enable = true
if (uni.getStorageSync('moreSearch')) {
this.hotKeywordList = (uni.getStorageSync('moreSearch')).split(',')
} else {
this.hotKeywordList = []
}
},
onHide() {
this.enable = false
},
onLoad() {
// this.init();
// this.getSearchListDEghTTorsp()
this.getBannerListDEghTTorsp()
},
methods: {
//点击回调
posterSuccessDEghTTorsp(item) {
let userId = uni.getStorageSync('userId')
if (userId) {
uni.navigateTo({
url: '/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item.courseDetailsId +
'&tt_album_id=' + item.dyCourseId + '&tt_episode_id=' + item
.dyEpisodeId
})
} else {
uni.navigateTo({
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
doSearchsDEghTTorsp(keyWord) {
this.keyword = keyWord
this.doSearchDEghTTorsp(false)
},
getBannerListDEghTTorsp() {
this.$u.api.bannerList({
classify: '1'
}).then(res => {
if (res.code == 0) {
res.data.forEach(d => {
if (d.state == 1) {
this.swiperList.push(d)
}
})
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
},
// 获取搜索历史
getSearchListDEghTTorsp() {
this.$u.api.SearchList().then(res => {
if (res.code == 0) {
this.hotKeywordList = res.data.allSerchName
this.oldKeywordList = res.data.userSearchName
}
})
},
//清除历史搜索
oldDeleteDEghTTorsp() {
uni.showModal({
content: '确定清除历史搜索记录?',
success: (res) => {
if (res.confirm) {
console.log('用户点击确定');
this.$u.api.SearchDet().then(res => {
if (res.code == 0) {
this.getSearchListDEghTTorsp()
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
//执行搜索
doSearchDEghTTorsp(keyword) {
this.isSearch = false
this.isShowKeywordList = true;
this.noData = true
let data = {
title: this.keyword,
limit: this.limit,
page: this.page,
}
// #ifdef MP-WEIXIN
data.wxShow = 1
// #endif
// #ifdef MP-TOUTIAO
data.dyShow = 1
// #endif
let token = uni.getStorageSync('token')
if (token) {
this.$u.api.search(data).then(res => {
uni.stopPullDownRefresh()
if (res.code == 0) {
this.count = res.data.totalPage
if (this.page == 1) {
this.keywordList = res.data.list
} else {
this.keywordList = [...this.keywordList, ...res.data.list]
}
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
} else {
this.$u.api.searchs(data).then(res => {
if (res.code == 0) {
this.count = res.data.totalPage
if (this.page == 1) {
this.keywordList = res.data.list
} else {
this.keywordList = [...this.keywordList, ...res.data.list]
}
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
}
},
// 点击取消返回首页
goBackDEghTTorsp() {
uni.navigateBack()
},
//热门搜索开关
hotToggleDEghTTorsp() {
this.forbid = this.forbid ? '' : '_forbid';
},
},
onReachBottom: function() {
if (this.page < this.count) {
this.page += 1
this.doSearchDEghTTorsp();
}
},
onPullDownRefresh: function() {
this.page = 1;
this.doSearchDEghTTorsp();
},
}
</script>
<style lang="scss" scoped>
.search-box-DEghTTorsp {
width: 100%;
/* background-color: rgb(242, 242, 242); */
padding: 15upx 2.5%;
display: flex;
justify-content: space-between;
// position: sticky;
// top: 0;
background-color: #ffffff;
}
.search-box-DEghTTorsp .mSearch-input-box {
width: 100%;
}
.search-box-DEghTTorsp .input-box {
width: 85%;
flex-shrink: 1;
display: flex;
justify-content: center;
align-items: center;
}
.search-box-DEghTTorsp .search-btn {
width: 15%;
margin: 0 0 0 2%;
display: flex;
justify-content: center;
align-items: center;
flex-shrink: 0;
font-size: 28upx;
color: #ffffff;
background: linear-gradient(to right, #ff9801, #ff570a);
border-radius: 60upx;
}
.search-box-DEghTTorsp .input-box>input {
width: 100%;
height: 60upx;
font-size: 32upx;
border: 0;
border-radius: 60upx;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0 3%;
margin: 0;
background-color: #ffffff;
}
.placeholder-class {
color: #9e9e9e;
}
.search-keyword-DEghTTorsp {
width: 100%;
}
.search-list-DEghTTorsp {
width: 100%;
margin-top: 20rpx;
.search-list-box-DEghTTorsp {
width: 686rpx;
height: 100%;
}
}
.keyword-block-DEghTTorsp {
padding: 10upx 0;
}
.keyword-block-DEghTTorsp .keyword-list-header {
width: 94%;
padding: 10upx 3%;
font-size: 27upx;
color: #333;
display: flex;
justify-content: space-between;
}
.keyword-block-DEghTTorsp .keyword-list-header image {
width: 40upx;
height: 40upx;
}
.keyword-block-DEghTTorsp .keyword {
width: 94%;
padding: 3px 3%;
display: flex;
flex-flow: wrap;
justify-content: flex-start;
}
.keyword-block-DEghTTorsp .hide-hot-tis {
display: flex;
justify-content: center;
font-size: 28upx;
color: #6b6b6b;
}
.keyword-block-DEghTTorsp .keyword>view {
display: flex;
justify-content: center;
align-items: center;
border-radius: 60upx;
padding: 0 20upx;
margin: 10upx 20upx 10upx 0;
height: 60upx;
font-size: 28upx;
// background-color: rgb(242, 242, 242);
background: #E6EBFF;
color: #6b6b6b;
}
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6764.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6765.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -452,7 +452,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
@@ -514,7 +514,7 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
@@ -566,7 +566,7 @@
// 跳转搜索
goSearch() {
uni.navigateTo({
url: '/pages/index/search/index'
url: '/pages/index/fghaQGjsSE/aghyvzmfVW'
});
},
// 跳转公告链接
@@ -608,7 +608,7 @@
}
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
})
}
},

View File

@@ -6,53 +6,53 @@
<!-- #ifdef H5 -->
<u-navbar :background="background" height="60" :is-back="false" :title="title" :border-bottom="false">
<!-- #endif -->
<!-- #ifndef H5 -->
<u-navbar height="60" :background="background" :is-back="false" :title="title" :border-bottom="false">
<!-- #ifndef H5 -->
<u-navbar height="60" :background="background" :is-back="false" :title="title" :border-bottom="false">
<!-- #endif -->
<!-- #ifdef MP-TOUTIAO -->
<view :style="{marginTop:barHeight/2+'px'}" class="nvavBarDEghTTorsp flex" style="padding-left: 80rpx;">
<!-- #endif -->
<!-- #ifdef MP-TOUTIAO -->
<view :style="{marginTop:barHeight/2+'px'}" class="nvavBar flex" style="padding-left: 80rpx;">
<!-- #endif -->
<!-- #ifndef MP-TOUTIAO -->
<view class="nvavBar flex justify-center">
<!-- #endif -->
<view class="nvavBar-box" :style="{height:barHeight>0?barHeight+'px':'70rpx'}">
<!-- #ifdef H5 || APP -->
<view @click.stop="goSearch" class="nvavBar-boxs flex align-center"
style="width: 100%;">
<u-search placeholder-color="#cccccc" disabled search-icon-color="#ff7581"
:show-action="false" placeholder="今日正在热播" v-model="keyword"></u-search>
</view>
<!-- #endif -->
<!-- #ifndef H5 || APP -->
<view @click.stop="goSearch" class="nvavBar-boxs flex align-center"
:style="{width: 'calc(100% - '+barWidth+'px);'}">
<u-search placeholder-color="#cccccc" disabled search-icon-color="#ff7581"
:show-action="false" placeholder="今日正在热播" v-model="keyword"></u-search>
</view>
<!-- #endif -->
</view>
<!-- #ifndef MP-TOUTIAO -->
<view class="nvavBarDEghTTorsp flex justify-center">
<!-- #endif -->
<view class="nvavBarDEghTTorsp-box" :style="{height:barHeight>0?barHeight+'px':'70rpx'}">
<!-- #ifdef H5 || APP -->
<view @click.stop="goSearchDEghTTorsp" class="nvavBarDEghTTorsp-boxs flex align-center"
style="width: 100%;">
<u-search placeholder-color="#cccccc" disabled search-icon-color="#ff7581"
:show-action="false" placeholder="今日正在热播" v-model="keyword"></u-search>
</view>
</u-navbar>
<!-- #endif -->
<!-- #ifndef H5 || APP -->
<view @click.stop="goSearchDEghTTorsp" class="nvavBarDEghTTorsp-boxs flex align-center"
:style="{width: 'calc(100% - '+barWidth+'px);'}">
<u-search placeholder-color="#cccccc" disabled search-icon-color="#ff7581"
:show-action="false" placeholder="今日正在热播" v-model="keyword"></u-search>
</view>
<!-- #endif -->
</view>
</view>
</u-navbar>
</template>
<view class="bgColorTop " :class="{'top-zhanwei':!showSearch}">
<!-- <view v-if="homeTypeSel != '否'" class="topTabs flex align-center justify-center">
<view class="topTabs-box">
<scroll-view class="topTabs-box-H" scroll-x="true">
<view class="topTabs-box-H-item" @tap="typeSel(index)"
:class="TabCur==index?'topTabsActive':''" v-for="(item,index) in typeList" :key="index">
<view class="bgColorTopDEghTTorsp " :class="{'top-zhanwei':!showSearch}">
<!-- <view v-if="homeTypeSel != '否'" class="topTabsDEghTTorsp flex align-center justify-center">
<view class="topTabsDEghTTorsp-box">
<scroll-view class="topTabsDEghTTorsp-box-H" scroll-x="true">
<view class="topTabsDEghTTorsp-box-H-item" @tap="typeSelDEghTTorsp(index)"
:class="TabCur==index?'topTabsActiveDEghTTorsp':''" v-for="(item,index) in typeList" :key="index">
{{item.classificationName}}
</view>
</scroll-view>
</view>
</view> -->
<!-- 轮播图 -->
<view v-if="TabCur == 0" class="swipers flex align-center justify-center">
<view class="swipers-box">
<swiper class="swipers-box" :indicator-dots="false" :autoplay="true" interval="5000" duration="500"
<view v-if="TabCur == 0" class="swipersDEghTTorsp flex align-center justify-center">
<view class="swipersDEghTTorsp-box">
<swiper class="swipersDEghTTorsp-box" :indicator-dots="false" :autoplay="true" interval="5000" duration="500"
:circular="true">
<swiper-item class="swipers-box" v-for="(item,index) in swiperList" :key='index'
@tap="goPage(item)">
<swiper-item class="swipersDEghTTorsp-box" v-for="(item,index) in swiperList" :key='index'
@tap="goPageDEghTTorsp(item)">
<image :src="item.imageUrl" mode="aspectFill" style="width: 100%;height:100%;"></image>
</swiper-item>
</swiper>
@@ -61,28 +61,28 @@
</view>
<block v-if="TabCur == 0">
<!-- 公告 -->
<view class="gg flex align-center justify-center" v-if="noticeList.length>0">
<view class="gg-box flex align-center justify-between">
<view class="ggDEghTTorsp flex align-center justify-center" v-if="noticeList.length>0">
<view class="ggDEghTTorsp-box flex align-center justify-between">
<image src="../../static/images/index/ggIcon.png" mode=""></image>
<swiper :autoplay="true" :vertical="true" :interval="4000" :circular="true" :indicator-dots="false"
class="gg-box-swiper">
class="ggDEghTTorsp-box-swiper">
<block v-for="(item, index) in noticeList">
<swiper-item @tap='goMsg(item.url)'>
<view class="gg-box-swiper-t">{{item.title}}</view>
<swiper-item @tap='goMsgDEghTTorsp(item.url)'>
<view class="ggDEghTTorsp-box-swiper-t">{{item.title}}</view>
</swiper-item>
</block>
</swiper>
</view>
</view>
<!-- 金刚区 -->
<view class="centers">
<view class="centers-cistrict flex align-center justify-center" v-if="gridList.length > 0">
<view class="centers-cistrict-box">
<swiper :indicator-dots="false" class="centers-cistrict-boxs" :autoplay="false" :interval="3000"
<view class="centersDEghTTorsp">
<view class="centersDEghTTorsp-cistrict flex align-center justify-center" v-if="gridList.length > 0">
<view class="centersDEghTTorsp-cistrict-box">
<swiper :indicator-dots="false" class="centersDEghTTorsp-cistrict-boxs" :autoplay="false" :interval="3000"
:duration="300">
<swiper-item v-for="(item,index) in gridList" :key="index">
<view class="swiper-item flex align-center justify-between">
<view class="swiper-item-s" @click="goGridList(ite)" v-for="(ite,ind) in item.child"
<view class="swiper-item-s" @click="goGridListDEghTTorsp(ite)" v-for="(ite,ind) in item.child"
:key="ind">
<view class="swiper-item-s-img">
<image :src="ite.imageUrl" mode="aspectFill"></image>
@@ -111,39 +111,39 @@
</view>
</view>
<view v-if="rmVideList.length>0">
<recommendVideo @more="moreVideo" @video="seVideo" v-if="rmVideList.length>0" :list="rmVideList"
<recommendVideo @more="moreVideoDEghTTorsp" @video="seVideoDEghTTorsp" v-if="rmVideList.length>0" :list="rmVideList"
title="本周热门" typeId="2" />
</view>
<view v-if="rmVideList.length>0">
<recommendVideo @more="moreVideo" @video="seVideo" v-if="phbVideoList.length>0" :list="phbVideoList"
<recommendVideo @more="moreVideoDEghTTorsp" @video="seVideoDEghTTorsp" v-if="phbVideoList.length>0" :list="phbVideoList"
title="本周排行榜" typeId="1" />
</view>
<view v-if="rmVideList.length>0">
<recommendVideo @more="moreVideo" @video="seVideo" v-if="newVideList.length>0" :list="newVideList"
<recommendVideo @more="moreVideoDEghTTorsp" @video="seVideoDEghTTorsp" v-if="newVideList.length>0" :list="newVideList"
title="最新热播" typeId="" />
</view>
<!-- 视频列表 -->
<view class="videTitle flex align-center justify-center">
<view class="videTitle-box">
<view class="videTitleDEghTTorsp flex align-center justify-center">
<view class="videTitleDEghTTorsp-box">
更多短剧
</view>
</view>
</block>
<view v-if="courseList.length>0" class="" style="width: 100%;margin-top: 20rpx;">
<videoList @success="posterSuccess" :list="courseList" />
<videoList @success="posterSuccessDEghTTorsp" :list="courseList" />
</view>
<u-loadmore v-if="courseList.length > 0" :status="status" />
<empty title="暂无视频" v-if="courseList.length == 0" />
<uni-popup ref="popusAuthorization" type="center" :maskClick="false">
<view class="contentview">
<view class="contentviewDEghTTorsp">
<view class="title">隐私保护指引</view>
<view class="des" @click="openPrivacyContract">
<view class="des" @click="openPrivacyContractDEghTTorsp">
在使用当前小程序服务之前请仔细阅读<text
style="color: #5074FF;">{{privacyContractName}}</text>如你同意{{privacyContractName}}请点击同意开始使用
</view>
<view class="btns">
<button class="item reject" @click="exitMiniProgram">拒绝</button>
<view class="btnsDEghTTorsp">
<button class="item reject" @click="exitMiniProgramDEghTTorsp">拒绝</button>
<button id="agree-btn" class="item agree" open-type="agreePrivacyAuthorization"
@agreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
</view>
@@ -151,41 +151,41 @@
</uni-popup>
<!-- 会员助力 -->
<u-popup v-model="showjl" :closeable="true" close-icon-color="#ffffff" mode="center">
<view class="zl" @click="goZl()">
<image class="zl-bg"
<view class="zlDEghTTorsp" @click="goZlDEghTTorsp()">
<image class="zlDEghTTorsp-bg"
src="https://dj-api.hnsiyao.cn/file/uploadPath/2023/12/14/adf37beca97826d44970d20118f88e29.png"
mode=""></image>
<view class="zl-title">
<view class="zlDEghTTorsp-title">
会员免费领
</view>
<view class="zl-titlef">
<view class="zlDEghTTorsp-titlef">
免费领会员
</view>
<view class="zl-titlef2">
<view class="zlDEghTTorsp-titlef2">
助力中...
</view>
<view class="zl-titlebtn">
<view class="zlDEghTTorsp-titlebtn">
立即领取
</view>
</view>
</u-popup>
<!-- 新人红包 -->
<u-popup v-model="xxPopu" :closeable="false" close-icon-color="#ffffff" mode="center">
<view class="zl" style="height: 580rpx;" @click="saveNewUser()">
<image class="zl-bgs"
<view class="zlDEghTTorsp" style="height: 580rpx;" @click="saveNewUserDEghTTorsp()">
<image class="zlDEghTTorsp-bgs"
src="https://dj-api.hnsiyao.cn/file/uploadPath/2024/02/22/cee2fcdc4c4ebe31ab4ce2c3c3a3d183.png"
mode=""></image>
<view class="zl-titles">
<view class="zlDEghTTorsp-titles">
{{xxJDNum}} <text>金币</text>
</view>
</view>
</u-popup>
<!-- 活动悬浮入口 -->
<activityComp v-if="showzl && showzls" @clickCloseHd="clickCloseHd" @setImgs="goZl()" />
<activityComp v-if="showzl && showzls" @clickCloseHd="clickCloseHdDEghTTorsp" @setImgs="goZlDEghTTorsp()" />
<!-- 追剧悬浮 -->
<!-- <drag-button v-if="shodrag && shodrags" @clickClose="clickClose" :videoInfo="videoInfo" :isDock="true"
:existTabBar="true" @btnClick="btnClick" /> -->
<u-image v-if="isShowMoneyPay" @click="goMsg('/me/choujiang/choujiang')" :src="`../../static/red-pack-new.gif`"
<!-- <drag-button v-if="shodrag && shodrags" @clickClose="clickCloseDEghTTorsp" :videoInfo="videoInfo" :isDock="true"
:existTabBar="true" @btnClick="btnClickDEghTTorsp" /> -->
<u-image v-if="isShowMoneyPay" @click="goMsgDEghTTorsp('/me/choujiang/choujiang')" :src="`../../static/red-pack-new.gif`"
style="width: 200rpx;height: 200rpx;position: fixed;right: 10rpx;bottom: 180rpx;"></u-image>
<!-- #ifdef H5 -->
<div v-if="isWeixin"
@@ -316,8 +316,8 @@
//TODO handle the exception
}
// #endif
this.getBgImg()
this.getTypeList();
this.getBgImgDEghTTorsp()
this.getTypeListDEghTTorsp();
this.invitationCode = uni.getStorageSync('invitationCode')
// #ifdef MP-WEIXIN
if (options.scene) { //这里为线上操作
@@ -343,7 +343,7 @@
this.$Request.get('/app/common/type/813').then(res => {
if (res.code == 0 && res.data.value) {
if (res.data.value == '是') {
this.getActivity()
this.getActivityDEghTTorsp()
}
}
})
@@ -363,16 +363,16 @@
},
onShow() {
//本周热门
this.getrecomVideo('2')
this.getrecomVideoDEghTTorsp('2')
//本周排行榜
this.getrecomVideo('1')
this.getrecomVideoDEghTTorsp('1')
//最新
this.getrecomVideo('')
this.getBannerList()
this.getMsg()
this.getGardList()
this.getrecomVideoDEghTTorsp('')
this.getBannerListDEghTTorsp()
this.getMsgDEghTTorsp()
this.getGardListDEghTTorsp()
this.page = 1
this.getCourseList()
this.getCourseListDEghTTorsp()
this.homeTypeSel = uni.getStorageSync('homeTypeSel') ? uni.getStorageSync('homeTypeSel') : '否'
//#ifdef H5
let that = this
@@ -417,11 +417,11 @@
});
//#endif
if (uni.getStorageSync('token')) {
this.getMyLoveVideo()
this.getMyLoveVideoDEghTTorsp()
this.$Request.get('/app/common/type/813').then(res => {
if (res.code == 0 && res.data.value) {
if (res.data.value == '是') {
this.getActivitys()
this.getActivitysDEghTTorsp()
}
}
})
@@ -429,7 +429,7 @@
this.$Request.get('/app/common/type/837').then(res => {
if (res.code == 0 && res.data.value) {
this.xxJDNum = res.data.value;
this.checkNewUser()
this.checkNewUserDEghTTorsp()
}
})
} else { //没有登录隐藏悬浮与弹窗
@@ -450,18 +450,18 @@
if (this.page < this.pages) {
this.page += 1
this.status = 'loading'
this.getCourseList()
this.getCourseListDEghTTorsp()
} else {
this.status = 'nomore'
}
},
onPullDownRefresh() {
this.page = 1
this.getCourseList()
this.getCourseListDEghTTorsp()
},
methods: {
// 获取活动等级
getActivitys() {
getActivitysDEghTTorsp() {
this.$Request.getT('/app/invite/selectInviteAwardByUserId').then(res => {
if (res.code == 0) {
if (res.data) {
@@ -471,12 +471,12 @@
})
},
//关闭活动入口
clickCloseHd() {
clickCloseHdDEghTTorsp() {
// this.showzl = false
this.showzls = false
},
//悬浮去看视频
btnClick(item) {
btnClickDEghTTorsp(item) {
uni.navigateTo({
url: '/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item.courseDetailsId +
'&tt_album_id=' + item.dyCourseId + '&tt_episode_id=' + item
@@ -484,12 +484,12 @@
})
},
//关闭悬浮
clickClose() {
clickCloseDEghTTorsp() {
// this.shodrag = data
this.shodrags = false
},
//获取我的收藏的短剧
getMyLoveVideo() {
getMyLoveVideoDEghTTorsp() {
let data = {
page: 1,
limit: 1,
@@ -505,27 +505,27 @@
})
},
// 查看更多
moreVideo(item) {
moreVideoDEghTTorsp(item) {
console.log(item)
let title = ''
if (item == 2) {
title = '本周热门'
uni.navigateTo({
url: '/pages/index/course/courseList?title=' + title + '&sort=' + item
url: '/pages/index/mggghRAnkh/yDNQghnrBV?title=' + title + '&sort=' + item
})
} else if (item == 1) {
title = '本周排行榜'
uni.navigateTo({
url: '/pages/index/course/courseList?title=' + title + '&sort=' + item
url: '/pages/index/mggghRAnkh/yDNQghnrBV?title=' + title + '&sort=' + item
})
} else {
title = '最新热播'
uni.navigateTo({
url: '/pages/index/course/courseList?title=' + title
url: '/pages/index/mggghRAnkh/yDNQghnrBV?title=' + title
})
}
},
pageScrollTo(time = 100) {
pageScrollToDEghTTorsp(time = 100) {
uni.pageScrollTo({
scrollTop: this.scrollTop - 50,
duration: time,
@@ -535,11 +535,11 @@
})
},
//查看视频
seVideo(item) {
seVideoDEghTTorsp(item) {
const time = 100;
// #ifdef H5
if (returnIsSafari()) {
this.pageScrollTo(time)
this.pageScrollToDEghTTorsp(time)
setTimeout(() => {
uni.navigateTo({
url: '/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item
@@ -568,11 +568,11 @@
},
//点击回调
posterSuccess(item) {
posterSuccessDEghTTorsp(item) {
const time = 100;
// #ifdef H5
if (returnIsSafari()) {
this.pageScrollTo(time)
this.pageScrollToDEghTTorsp(time)
setTimeout(() => {
uni.navigateTo({
url: '/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item
@@ -600,7 +600,7 @@
},
//获取推荐视频
getrecomVideo(sort) {
getrecomVideoDEghTTorsp(sort) {
let data = {
page: 1,
limit: 3,
@@ -625,7 +625,7 @@
}
})
},
getTypeList() {
getTypeListDEghTTorsp() {
this.$Request.getT('/app/courseClassification/queryClassification').then(res => {
if (res.code == 0) {
let fenlei = {
@@ -641,13 +641,13 @@
}
});
},
typeSel(index) {
typeSelDEghTTorsp(index) {
this.TabCur = index;
this.page = 1
this.courseList = []
this.getCourseList()
this.getCourseListDEghTTorsp()
},
checkNewUser() {
checkNewUserDEghTTorsp() {
this.$u.api.userinfo().then(res => {
if (res.code == 0 && res.data) {
if (res.data.isNewUser && res.data.isNewUser == 1) {} else {
@@ -656,7 +656,7 @@
}
})
},
saveNewUser() {
saveNewUserDEghTTorsp() {
this.$Request.postT('/app/user/getNewUserRed').then(res => {
if (res.code == 0) {
this.xxPopu = false;
@@ -667,7 +667,7 @@
})
},
// 获取活动等级
getActivity() {
getActivityDEghTTorsp() {
this.$Request.getT('/app/invite/selectInviteAwardByUserId').then(res => {
if (res.code == 0) {
if (res.data) {
@@ -677,14 +677,14 @@
})
},
//去助力页面
goZl() {
goZlDEghTTorsp() {
uni.navigateTo({
url: '/me/assistance/assistance'
})
this.showjl = false
},
// 打开隐私协议页面
openPrivacyContract() {
openPrivacyContractDEghTTorsp() {
let that = this;
wx.openPrivacyContract({
fail: () => {
@@ -693,7 +693,7 @@
})
},
// 拒绝隐私协议
exitMiniProgram() {
exitMiniProgramDEghTTorsp() {
// 直接退出小程序
wx.exitMiniProgram()
},
@@ -702,7 +702,7 @@
this.$refs.popusAuthorization.close();
},
//获取背景图
getBgImg() {
getBgImgDEghTTorsp() {
this.$u.get('app/banner/selectBannerList?classify=5').then(res => {
if (res.code == 0) {
this.bgImg = res.data[0].imageUrl
@@ -718,7 +718,7 @@
},
// 获取资源列表
getCourseList() {
getCourseListDEghTTorsp() {
let typeId = '';
if (this.TabCur != 0) {
typeId = this.typeList[this.TabCur].classificationId;
@@ -761,20 +761,20 @@
})
},
//切换类型
selectTabs(index) {
selectTabsDEghTTorsp(index) {
this.current = index
this.page = 1
this.getCourseList()
this.getCourseListDEghTTorsp()
},
// 跳转资源列表
goGridList(e) {
goGridListDEghTTorsp(e) {
uni.navigateTo({
url: e.url
})
},
//处理分割金刚区
processArray(arr) {
processArrayDEghTTorsp(arr) {
let arr2 = [];
let child = [];
for (let i = 0; i < arr.length; i++) {
@@ -797,7 +797,7 @@
return arr2;
},
// 获取金刚区列表
getGardList() {
getGardListDEghTTorsp() {
this.$u.api.bannerList({
classify: '2',
}).then(res => {
@@ -808,7 +808,7 @@
arr.push(ret)
}
})
this.gridList = this.processArray(arr)
this.gridList = this.processArrayDEghTTorsp(arr)
} else {
uni.showToast({
title: res.msg,
@@ -819,13 +819,13 @@
})
},
// 跳转搜索
goSearch() {
goSearchDEghTTorsp() {
uni.navigateTo({
url: '/pages/index/search/index'
url: '/pages/index/fghaQGjsSE/aghyvzmfVW'
});
},
// 跳转公告链接
goMsg(url) {
goMsgDEghTTorsp(url) {
if (url.indexOf('/pages/') !== -1 || url.indexOf('/me/') !== -1) {
uni.navigateTo({
url
@@ -842,7 +842,7 @@
}
},
//轮播图跳转
goPage(item) {
goPageDEghTTorsp(item) {
let token = uni.getStorageSync('token')
const {
url,
@@ -875,12 +875,12 @@
}
} else {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
})
}
},
// 公告
getMsg() {
getMsgDEghTTorsp() {
let data = {
page: 1,
limit: 5,
@@ -902,7 +902,7 @@
})
},
// 获取轮播图列表
getBannerList() {
getBannerListDEghTTorsp() {
this.$u.api.bannerList({
classify: '1'
}).then(res => {
@@ -941,12 +941,12 @@
/* #endif */
}
.videTitle {
.videTitleDEghTTorsp {
width: 100%;
height: auto;
margin-top: 30rpx;
.videTitle-box {
.videTitleDEghTTorsp-box {
width: 686rpx;
height: 100%;
font-size: 32rpx;
@@ -955,13 +955,13 @@
}
}
.nvavBar {
.nvavBarDEghTTorsp {
width: 750rpx;
height: 100%;
.nvavBar-box {
.nvavBarDEghTTorsp-box {
/* #ifdef MP-TOUTIAO */
width: 543rpx;
/* #endif */
@@ -972,20 +972,20 @@
height: 70rpx;
}
.nvavBar-boxs {
.nvavBarDEghTTorsp-boxs {
height: 100%;
background-color: #ffffff;
border-radius: 44rpx;
}
}
.zl {
.zlDEghTTorsp {
width: 518rpx;
height: 556rpx;
position: relative;
background: transparent;
.zl-bg {
.zlDEghTTorsp-bg {
width: 518rpx;
height: 556rpx;
position: absolute;
@@ -993,7 +993,7 @@
left: 0;
}
.zl-bgs {
.zlDEghTTorsp-bgs {
width: 518rpx;
height: 580rpx;
position: absolute;
@@ -1001,7 +1001,7 @@
left: 0;
}
.zl-title {
.zlDEghTTorsp-title {
position: absolute;
top: 15%;
left: 46%;
@@ -1014,7 +1014,7 @@
-webkit-text-fill-color: transparent;
}
.zl-titles {
.zlDEghTTorsp-titles {
position: absolute;
top: 24%;
left: 50%;
@@ -1031,7 +1031,7 @@
}
}
.zl-titlef {
.zlDEghTTorsp-titlef {
font-size: 14rpx;
font-weight: bold;
color: #ffffff;
@@ -1040,7 +1040,7 @@
right: 35%;
}
.zl-titlef2 {
.zlDEghTTorsp-titlef2 {
font-size: 14rpx;
font-weight: bold;
color: #ffffff;
@@ -1049,7 +1049,7 @@
left: 22%;
}
.zl-titlebtn {
.zlDEghTTorsp-titlebtn {
font-size: 34rpx;
font-weight: bold;
background: linear-gradient(0deg, #FF5878 0.390625%, #F30931 100%);
@@ -1062,20 +1062,20 @@
}
}
.topTabsActive {
.topTabsActiveDEghTTorsp {
color: #FF7581 !important;
font-size: 30rpx !important;
font-weight: bold !important;
background-color: #FFE6E9 !important;
}
.bgColorTop {
.bgColorTopDEghTTorsp {
width: 100%;
background: #ffffff;
position: relative;
}
.bgColorTop::before {
.bgColorTopDEghTTorsp::before {
content: '';
position: absolute;
top: 0;
@@ -1087,7 +1087,7 @@
/* 确保在垂直渐变之上 */
}
.bgColorTop::after {
.bgColorTopDEghTTorsp::after {
content: "";
position: absolute;
top: 0;
@@ -1100,7 +1100,7 @@
/* 确保在水平渐变之上 */
}
.topTabs {
.topTabsDEghTTorsp {
width: 100%;
height: auto;
position: relative;
@@ -1109,17 +1109,17 @@
margin-bottom: 20rpx;
padding-top: 20rpx;
.topTabs-box {
.topTabsDEghTTorsp-box {
width: 686rpx;
height: 100%;
}
.topTabs-box-H {
.topTabsDEghTTorsp-box-H {
white-space: nowrap;
width: 100%;
}
.topTabs-box-H-item {
.topTabsDEghTTorsp-box-H-item {
display: inline-block;
background-color: #F8F4F4;
margin-right: 36rpx;
@@ -1130,13 +1130,13 @@
}
}
.swipers {
.swipersDEghTTorsp {
width: 100%;
height: auto;
position: relative;
z-index: 3;
.swipers-box {
.swipersDEghTTorsp-box {
width: 686rpx;
height: 270rpx;
border-radius: 24rpx;
@@ -1157,12 +1157,12 @@
}
}
.gg {
.ggDEghTTorsp {
width: 100%;
height: auto;
margin-top: 20rpx;
.gg-box {
.ggDEghTTorsp-box {
width: 686rpx;
height: 62rpx;
background-color: #FFF2F4;
@@ -1175,12 +1175,12 @@
}
}
.gg-box-swiper {
.ggDEghTTorsp-box-swiper {
width: calc(100% - 56rpx);
height: 100%;
}
.gg-box-swiper-t {
.ggDEghTTorsp-box-swiper-t {
width: 100%;
height: 100%;
color: #FD4F65;
@@ -1192,18 +1192,18 @@
}
}
.centers {
.centersDEghTTorsp {
width: 100%;
height: auto;
border-radius: 60rpx 60rpx 0 0;
.centers-cistrict {
.centersDEghTTorsp-cistrict {
width: 100%;
height: 160rpx;
// height: 216rpx;
// margin-top: 24rpx;
.centers-cistrict-box {
.centersDEghTTorsp-cistrict-box {
width: 686rpx;
height: 100%;
// background-color: #ffffff;
@@ -1211,7 +1211,7 @@
}
.centers-cistrict-boxs {
.centersDEghTTorsp-cistrict-boxs {
width: 100%;
height: 100%;
@@ -1253,7 +1253,7 @@
}
}
.contentview {
.contentviewDEghTTorsp {
width: 632rpx;
padding: 48rpx;
box-sizing: border-box;
@@ -1261,14 +1261,14 @@
border-radius: 16rpx;
}
.contentview .title {
.contentviewDEghTTorsp .title {
text-align: center;
color: #333;
font-weight: bold;
font-size: 32rpx;
}
.contentview .des {
.contentviewDEghTTorsp .des {
font-size: 26rpx;
color: #666;
margin-top: 40rpx;
@@ -1285,7 +1285,7 @@
/* #endif */
}
.contentview .des .link {
.contentviewDEghTTorsp .des .link {
color: #5074FF;
text-decoration: underline;
}
@@ -1294,12 +1294,12 @@
border: none;
}
.btns {
.btnsDEghTTorsp {
margin-top: 48rpx;
display: flex;
}
.btns .item {
.btnsDEghTTorsp .item {
justify-content: space-between;
width: 244rpx;
height: 80rpx;
@@ -1311,12 +1311,12 @@
border: none;
}
.btns .reject {
.btnsDEghTTorsp .reject {
background: #f4f4f5;
color: #909399;
}
.btns .agree {
.btnsDEghTTorsp .agree {
background: #5074FF;
color: #ffffff;
}

View File

@@ -0,0 +1,27 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6760.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6761.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6758.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6759.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,208 @@
<template>
<view class="">
<u-sticky :enable="enableIos">
<view class="search-box-ios">
<u-search bg-color="#f2f2f2" style="width: 100%;" placeholder="搜索更多资源" v-model="keywordIos"
:show-action="false" :animation="true" @search="getCourseListIos()"></u-search>
</view>
</u-sticky>
<view class="swiper flex align-center justify-center">
<view class="swiper-box">
<swiper :indicator-dots="true" class="swiper " :autoplay="true" interval="5000" duration="500"
:circular="true" style="width: 100%;height: 350rpx;">
<swiper-item v-for="(item,index) in swiperListIos" :key='index' @tap="goPageIos(item.url)">
<image :src="item.imageUrl" mode="scaleToFill"
style="width: 100%;height: 100%;border-radius: 24rpx;"></image>
</swiper-item>
</swiper>
</view>
</view>
<view class="padding-lr">
<view class="" v-if="courseListIos.length">
<videoList @success="posterSuccessIos" :list="courseListIos" />
</view>
<empty title="暂无视频" :isShow='false' v-else></empty>
<u-loadmore v-if="courseListIos.length > 0" :status="statusIos" />
</view>
</view>
</template>
<script>
import videoList from '../../../components/videoList/videoList.vue'
import empty from '@/components/empty.vue'
export default {
components: {
empty,
videoList
},
data() {
return {
enableIos: true,
statusIos: 'loadmore',
swiperListIos: [], //轮播图列表
courseListIos: [], //资源列表
pageIos: 1,
limitIos: 10,
pagesIos: 0,
sortIos: '',
keywordIos: '',
isPriceIos: '', //是否免费 2:免费
}
},
onShow() {
this.enableIos = true
this.getCourseListIos()
},
onHide() {
this.enableIos = false
},
onLoad(option) {
uni.setNavigationBarTitle({
title: option.title
})
this.getBannerListIos()
if (option.sort) {
this.sortIos = option.sort
}
if (option.isPrice) {
this.isPriceIos = option.isPrice
}
},
methods: {
goPageIos(url) {
uni.navigateTo({
url: url
})
},
//点击回调
posterSuccessIos(item) {
uni.navigateTo({
url: '/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item.courseDetailsId
})
},
//最新热播
getCourseListIos() {
let data = {
limit: this.limitIos,
page: this.pageIos,
sort: this.sortIos ? this.sortIos : '',
title: this.keywordIos,
}
// #ifdef MP-WEIXIN
data.wxShow = 1
// #endif
// #ifdef MP-TOUTIAO
data.dyShow = 1
// #endif
if (this.isPriceIos) {
data.isPrice = this.isPriceIos
}
this.$u.api.courseList(data).then(res => {
if (res.code == 0) {
this.pagesIos = res.data.totalPage
if (this.pageIos < this.pagesIos) {
this.statusIos = 'loadmore'
} else {
this.statusIos = 'nomore'
}
// res.data.list.forEach(ret => {
// ret.courseLabel = ret.courseLabel ? ret.courseLabel.split(',') : []
// })
if (this.pageIos == 1) {
this.courseListIos = res.data.list
} else {
this.courseListIos = [...this.courseListIos, ...res.data.list]
}
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
uni.stopPullDownRefresh();
})
},
// 获取轮播图列表
getBannerListIos() {
this.$u.api.bannerList({
classify: '1'
}).then(res => {
if (res.code == 0) {
res.data.forEach(d => {
if (d.state == 1) {
this.swiperListIos.push(d)
}
})
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
})
},
},
onReachBottom: function() {
if (this.pageIos < this.pagesIos) {
this.pageIos += 1
this.statusIos = 'loading'
this.getCourseListIos()
} else {
this.statusIos = 'nomore'
}
},
onPullDownRefresh: function() {
this.pageIos = 1;
this.getCourseListIos()
},
}
</script>
<style lang="scss" scoped>
.search-box-ios {
width: 100%;
padding: 15upx 2.5%;
display: flex;
justify-content: space-between;
background-color: #ffffff;
}
.swiper {
width: 100%;
height: auto;
margin-bottom: 10rpx;
margin-top: 10rpx;
.swiper-box {
width: 686rpx;
height: 100%;
}
}
.active {
color: #5074FF;
}
.btn {
width: 150upx;
height: 60upx;
background: #5074FF;
border-radius: 30upx;
color: #FFFFFF;
text-align: center;
line-height: 60rpx;
font-size: 26rpx;
}
</style>

View File

@@ -1,44 +1,44 @@
<template>
<view>
<view class="bg-white padding-sm margin flex" style="border-radius: 24rpx;">
<u-image width="200rpx" height="200rpx" border-radius="10rpx" :src="courseList.titleImg">
<u-image width="200rpx" height="200rpx" border-radius="10rpx" :src="courseListIos.titleImg">
</u-image>
<view class="flex flex-direction justify-between margin-left-sm" style="width:420rpx;">
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{courseList.title}}
<view class="text-bold text-black margin-top-xs u-line-1 text-lg">{{courseListIos.title}}
</view>
<!-- <view class="text-gray text-26 margin-top">最近在学{{courseList.payNum}}</view> -->
<!-- <view class="text-gray text-26 margin-top">最近在学{{courseListIos.payNum}}</view> -->
<view class="flex justify-between ">
<view class=" text-bold " style="color: #FF8211;">¥<text
style="font-size: 42rpx;">{{courseList.price}}</text></view>
style="font-size: 42rpx;">{{courseListIos.price}}</text></view>
</view>
</view>
</view>
<view class="popup_pay">
<view class="popup_pay_ios">
<view class="text-lg text-bold">支付方式</view>
<view class="flex align-center justify-between" style="height: 100upx;" v-for="(item,index) in openLists"
<view class="flex align-center justify-between" style="height: 100upx;" v-for="(item,index) in openListsIos"
:key='index'>
<image :src="item.image" style="width: 55upx;height: 55upx;border-radius: 50upx;">
</image>
<view style="font-size: 30upx;margin-left: 20upx;width: 70%;">
{{item.text}}
</view>
<radio-group name="openWay" style="margin-left: 45upx;" @tap.stop='selectWay(item)'>
<label class="tui-radio">
<radio color="red" :checked="openWay === item.id ? true : false" />
<radio-group name="openWay" style="margin-left: 45upx;" @tap.stop='selectWayIos(item)'>
<label >
<radio color="red" :checked="openWayIos === item.id ? true : false" />
</label>
</radio-group>
</view>
<!-- <view class="pay_btn" @click="pay()">确认支付</view> -->
<!-- <view class="pay_btn" @click="payIos()">确认支付</view> -->
</view>
<view class="taber">
<view class="taber_ios">
<view class="flex align-center" style="color: #FF8211;">
<text style="color: #333;">实付款</text>
<view class=" text-bold " style="color: #FF8211;">¥<text
style="font-size: 42rpx;">{{courseList.price}}</text></view>
style="font-size: 42rpx;">{{courseListIos.price}}</text></view>
</view>
<view class="btn" @click="pay">确定并支付</view>
<view class="btn_ios" @click="payIos">确定并支付</view>
</view>
</view>
</template>
@@ -47,17 +47,17 @@
export default {
data() {
return {
courseId: '',
courseList: [],
courseIdIos: '',
courseListIos: [],
openLists: [],
openWay: 1,
flag: true
openListsIos: [],
openWayIos: 1,
flagIos: true
}
},
onLoad(option) {
// #ifdef APP
this.openLists = [{
this.openListsIos = [{
image: '../../../static/images/index/weixin.png',
text: '微信支付',
id: 1
@@ -66,22 +66,22 @@
text: '支付宝',
id: 2
}],
this.openWay = 1;
this.openWayIos = 1;
// #endif
// #ifdef MP-WEIXIN
this.openLists = [{
this.openListsIos = [{
image: '../../../static/images/index/weixin.png',
text: '微信支付',
id: 1
}],
this.openWay = 1;
this.openWayIos = 1;
// #endif
// #ifdef H5
let ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') !== -1) {
this.openLists = [{
this.openListsIos = [{
image: '../../../static/images/index/weixin.png',
text: '微信支付',
id: 1
@@ -90,39 +90,39 @@
text: '支付宝',
id: 2
}],
this.openWay = 1;
this.openWayIos = 1;
} else {
this.openLists = [{
this.openListsIos = [{
image: '../../../static/images/index/zhifubao.png',
text: '支付宝',
id: 2
}],
this.openWay = 2;
this.openWayIos = 2;
}
// this.openLists = [{
// this.openListsIos = [{
// image: '../../../static/images/index/zhifubao.png',
// text: '',
// id: 2
// }],
// this.openWay = 2;
// this.openWayIos = 2;
// #endif
if (option.courseId) {
this.courseId = option.courseId
this.getDataList(this.courseId)
this.courseIdIos = option.courseId
this.getDataListIos(this.courseIdIos)
}
},
methods: {
selectWay(e) {
this.openWay = e.id;
selectWayIos(e) {
this.openWayIos = e.id;
},
//
getDataList(id) {
getDataListIos(id) {
let data = {
id
}
this.$u.api.courseDet(data).then(res => {
if (res.code == 0) {
this.courseList = res.data
this.courseListIos = res.data
} else {
uni.showToast({
title: res.msg,
@@ -133,12 +133,12 @@
})
},
pay() {
payIos() {
let that = this
if (that.flag) {
that.flag = false
if (that.flagIos) {
that.flagIos = false
let data = {
courseId: that.courseList.courseId
courseId: that.courseListIos.courseId
}
that.$u.api.courseOrder(data).then(res => {
if (res.code == 0 && res.data.flag == 1) {
@@ -146,12 +146,12 @@
title: '已获取资源',
icon: 'success'
})
that.getDataList(that.courseId);
that.getDataListIos(that.courseIdIos);
} else if (res.code == 0 && res.data.flag == 2) {
uni.showLoading({
title: '支付中...'
})
if (that.openWay == 1) {
if (that.openWayIos == 1) {
// #ifdef MP-WEIXIN
that.$u.post('app/wxPay/wxPayJsApiOrder?orderId=' + res.data.orders.ordersId, {})
.then(
@@ -194,7 +194,7 @@
.then(
res => {
if (res.code === 0) {
that.callPay(res.data);
that.callPayIos(res.data);
} else {
uni.hideLoading();
uni.showToast({
@@ -215,11 +215,11 @@
rea => {
console.log(rea)
if (rea.code == 0) {
that.isCheckPay(rea.code, 'wxpay', JSON.stringify(rea.data));
that.isCheckPayIos(rea.code, 'wxpay', JSON.stringify(rea.data));
}
});
// #endif
} else if (that.openWay == 2) {
} else if (that.openWayIos == 2) {
// #ifdef H5
that.$u.post('/app/aliPay/payOrder?orderId=' + res.data.orders.ordersId +
'&classify=2').then(
@@ -249,7 +249,7 @@
'&classify=1').then(
rea => {
console.log('---------', rea)
that.setPayment('alipay', rea.data);
that.setPaymentIos('alipay', rea.data);
});
// #endif
}
@@ -261,20 +261,20 @@
icon: 'none',
// duration: 1500
})
// that.getDataList(that.courseId);
// that.getDataListIos(that.courseId);
}
})
setTimeout(() => {
that.flag = true
that.flagIos = true
}, 1500)
}
},
isCheckPay(code, name, order) {
isCheckPayIos(code, name, order) {
if (code == 0) {
console.log('999999999999')
this.setPayment(name, order);
this.setPaymentIos(name, order);
} else {
uni.hideLoading();
uni.showToast({
@@ -282,7 +282,7 @@
});
}
},
setPayment(name, order) {
setPaymentIos(name, order) {
console.log(777777777, name, order)
uni.requestPayment({
provider: name,
@@ -307,19 +307,19 @@
}
});
},
callPay: function(response) {
callPayIos: function(response) {
if (typeof WeixinJSBridge === "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady(response), false);
document.addEventListener('WeixinJSBridgeReady', this.onBridgeReadyIos(response), false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady(response));
document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady(response));
document.attachEvent('WeixinJSBridgeReady', this.onBridgeReadyIos(response));
document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReadyIos(response));
}
} else {
this.onBridgeReady(response);
this.onBridgeReadyIos(response);
}
},
onBridgeReady: function(response) {
onBridgeReadyIos: function(response) {
let that = this;
if (!response.package) {
return;
@@ -364,14 +364,14 @@
background: #F5F5F5;
}
.popup_pay {
.popup_pay_ios {
background: #FFFFFF;
border-radius: 24rpx;
margin: 30rpx 30rpx;
padding: 30rpx 30rpx 20rpx 30rpx;
}
.taber {
.taber_ios {
position: fixed;
bottom: 0;
left: 0;
@@ -384,7 +384,7 @@
justify-content: space-between;
}
.btn {
.btn_ios {
width: 260rpx;
height: 78rpx;
background: #5074FF;

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6766.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6767.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -1,21 +1,21 @@
<template>
<view class="content">
<u-sticky :enable="enable">
<view class="search-box">
<view class="search-box-DEghTTorsp">
<u-search bg-color="#f2f2f2" style="width: 100%;" placeholder="搜索更多资源" :focus="true" v-model="keyword" :show-action="true"
:animation="true" action-text="取消" @custom="goBack()" @search="doSearch(false)"></u-search>
:animation="true" action-text="取消" @custom="goBackDEghTTorsp()" @search="doSearchDEghTTorsp(false)"></u-search>
</view>
</u-sticky>
<view class="search-keyword" v-if="isSearch">
<view class="keyword-block" v-if="hotKeywordList.length !=0">
<view class="search-keyword-DEghTTorsp" v-if="isSearch">
<view class="keyword-block-DEghTTorsp" v-if="hotKeywordList.length !=0">
<view class="keyword-list-header">
<view>热搜</view>
<view>
<image @tap="hotToggle" :src="'/static/images/index/attention'+forbid+'.png'"></image>
<image @tap="hotToggleDEghTTorsp" :src="'/static/images/index/attention'+forbid+'.png'"></image>
</view>
</view>
<view class="keyword" v-if="forbid==''">
<view v-for="(keyword,index) in hotKeywordList" @tap="doSearchs(keyword)" :key="index"
<view v-for="(keyword,index) in hotKeywordList" @tap="doSearchsDEghTTorsp(keyword)" :key="index"
v-if="keyword">
{{keyword}}
</view>
@@ -24,23 +24,23 @@
<view>当前搜热已隐藏</view>
</view>
</view>
<view class="keyword-block" v-if="oldKeywordList.length>0">
<view class="keyword-block-DEghTTorsp" v-if="oldKeywordList.length>0">
<view class="keyword-list-header">
<view>历史记录</view>
<view>
<image @tap="oldDelete" src="/static/images/index/delete.png"></image>
<image @tap="oldDeleteDEghTTorsp" src="/static/images/index/delete.png"></image>
</view>
</view>
<view class="keyword">
<view v-for="(keyword,index) in oldKeywordList" @tap="doSearch(keyword)" :key="index"
<view v-for="(keyword,index) in oldKeywordList" @tap="doSearchDEghTTorsp(keyword)" :key="index"
v-if="keyword">
{{keyword}}
</view>
</view>
</view>
</view>
<view class="search-list flex align-center justify-center" v-else>
<view class="search-list-box flex align-center justify-between flex-wrap">
<view class="search-list-DEghTTorsp flex align-center justify-center" v-else>
<view class="search-list-box-DEghTTorsp flex align-center justify-between flex-wrap">
<swiper class="swiper" :indicator-dots="true" :autoplay="true" interval="5000" duration="500"
:circular="true" style="width: 100%;height: 350rpx;margin-bottom: 20rpx;">
<swiper-item v-for="(item,index) in swiperList" :key='index' @tap="goPage(item.url)">
@@ -48,7 +48,7 @@
style="width: 100%;height: 100%;border-radius: 24rpx;"></image>
</swiper-item>
</swiper>
<videoList @success="posterSuccess" :list="keywordList" />
<videoList @success="posterSuccessDEghTTorsp" :list="keywordList" />
</view>
</view>
@@ -96,12 +96,12 @@
},
onLoad() {
// this.init();
// this.getSearchList()
this.getBannerList()
// this.getSearchListDEghTTorsp()
this.getBannerListDEghTTorsp()
},
methods: {
//点击回调
posterSuccess(item) {
posterSuccessDEghTTorsp(item) {
let userId = uni.getStorageSync('userId')
if (userId) {
uni.navigateTo({
@@ -111,31 +111,15 @@
})
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
doSearchs(keyWord) {
doSearchsDEghTTorsp(keyWord) {
this.keyword = keyWord
this.doSearch(false)
this.doSearchDEghTTorsp(false)
},
// 跳转资源详情
goCourse(e) {
let userId = uni.getStorageSync('userId')
if (userId) {
// uni.navigateTo({
// url: '/pages/index/course/courseDet?id=' + e
// });
uni.navigateTo({
url: '/me/detail/detail?id=' + e
})
} else {
uni.navigateTo({
url: "/pages/login/login"
})
}
},
getBannerList() {
getBannerListDEghTTorsp() {
this.$u.api.bannerList({
classify: '1'
}).then(res => {
@@ -156,7 +140,7 @@
})
},
// 获取搜索历史
getSearchList() {
getSearchListDEghTTorsp() {
this.$u.api.SearchList().then(res => {
if (res.code == 0) {
this.hotKeywordList = res.data.allSerchName
@@ -165,7 +149,7 @@
})
},
//清除历史搜索
oldDelete() {
oldDeleteDEghTTorsp() {
uni.showModal({
content: '确定清除历史搜索记录?',
success: (res) => {
@@ -173,7 +157,7 @@
console.log('用户点击确定');
this.$u.api.SearchDet().then(res => {
if (res.code == 0) {
this.getSearchList()
this.getSearchListDEghTTorsp()
} else {
uni.showToast({
title: res.msg,
@@ -189,7 +173,7 @@
});
},
//执行搜索
doSearch(keyword) {
doSearchDEghTTorsp(keyword) {
this.isSearch = false
this.isShowKeywordList = true;
this.noData = true
@@ -241,11 +225,11 @@
}
},
// 点击取消返回首页
goBack() {
goBackDEghTTorsp() {
uni.navigateBack()
},
//热门搜索开关
hotToggle() {
hotToggleDEghTTorsp() {
this.forbid = this.forbid ? '' : '_forbid';
},
@@ -254,17 +238,17 @@
onReachBottom: function() {
if (this.page < this.count) {
this.page += 1
this.doSearch();
this.doSearchDEghTTorsp();
}
},
onPullDownRefresh: function() {
this.page = 1;
this.doSearch();
this.doSearchDEghTTorsp();
},
}
</script>
<style lang="scss" scoped>
.search-box {
.search-box-DEghTTorsp {
width: 100%;
/* background-color: rgb(242, 242, 242); */
padding: 15upx 2.5%;
@@ -275,11 +259,11 @@
background-color: #ffffff;
}
.search-box .mSearch-input-box {
.search-box-DEghTTorsp .mSearch-input-box {
width: 100%;
}
.search-box .input-box {
.search-box-DEghTTorsp .input-box {
width: 85%;
flex-shrink: 1;
display: flex;
@@ -287,7 +271,7 @@
align-items: center;
}
.search-box .search-btn {
.search-box-DEghTTorsp .search-btn {
width: 15%;
margin: 0 0 0 2%;
display: flex;
@@ -300,7 +284,7 @@
border-radius: 60upx;
}
.search-box .input-box>input {
.search-box-DEghTTorsp .input-box>input {
width: 100%;
height: 60upx;
font-size: 32upx;
@@ -318,70 +302,27 @@
color: #9e9e9e;
}
.search-keyword {
.search-keyword-DEghTTorsp {
width: 100%;
}
.search-list {
.search-list-DEghTTorsp {
width: 100%;
margin-top: 20rpx;
.search-list-box {
.search-list-box-DEghTTorsp {
width: 686rpx;
height: 100%;
}
}
.keyword-list-box {
height: calc(100vh - 110upx);
padding-top: 10upx;
/* border-radius: 20upx 20upx 0 0; */
/* background-color: #fff; */
}
.keyword-entry-tap {
background-color: #eee;
}
.keyword-entry {
width: 94%;
height: 80upx;
margin: 0 3%;
font-size: 30upx;
color: #333;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: solid 1upx #e7e7e7;
}
.keyword-entry image {
width: 60upx;
height: 60upx;
}
.keyword-entry .keyword-text,
.keyword-entry .keyword-img {
height: 80upx;
display: flex;
align-items: center;
}
.keyword-entry .keyword-text {
width: 90%;
}
.keyword-entry .keyword-img {
width: 10%;
justify-content: center;
}
.keyword-block {
.keyword-block-DEghTTorsp {
padding: 10upx 0;
}
.keyword-block .keyword-list-header {
.keyword-block-DEghTTorsp .keyword-list-header {
width: 94%;
padding: 10upx 3%;
font-size: 27upx;
@@ -390,12 +331,12 @@
justify-content: space-between;
}
.keyword-block .keyword-list-header image {
.keyword-block-DEghTTorsp .keyword-list-header image {
width: 40upx;
height: 40upx;
}
.keyword-block .keyword {
.keyword-block-DEghTTorsp .keyword {
width: 94%;
padding: 3px 3%;
display: flex;
@@ -403,14 +344,14 @@
justify-content: flex-start;
}
.keyword-block .hide-hot-tis {
.keyword-block-DEghTTorsp .hide-hot-tis {
display: flex;
justify-content: center;
font-size: 28upx;
color: #6b6b6b;
}
.keyword-block .keyword>view {
.keyword-block-DEghTTorsp .keyword>view {
display: flex;
justify-content: center;
align-items: center;
@@ -424,33 +365,5 @@
color: #6b6b6b;
}
.centre {
text-align: center;
margin: 200rpx auto;
font-size: 32rpx;
image {
width: 360rpx;
height: 360rpx;
// margin-bottom: 20rpx;
margin: 0 auto 20rpx;
// border: 1px dotted #000000;
}
.tips {
font-size: 34rpx;
color: #5074FF;
margin-top: 20rpx;
}
.btn {
margin: 80rpx auto;
width: 600rpx;
border-radius: 32rpx;
line-height: 90rpx;
color: #ffffff;
font-size: 34rpx;
background: #5074FF;
}
}
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6780.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6781.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -0,0 +1,31 @@
<template>
<view class="">
<image src="../../../static/iosImg/DEghTTorspIMG_6782.JPG" mode="aspectFill"></image>
<image src="../../../static/iosImg/DEghTTorspIMG_6783.JPG" mode="aspectFill"></image>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onShow() {
},
onHide() {
},
onLoad(option) {
},
methods: {
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@@ -1,11 +1,11 @@
<template>
<view>
<view class="wrap">
<view class="head">
<view class="wrap-DEghTTorsp">
<view class="headDEghTTorsp">
<scroll-view scroll-x class="bg nav bg-white u-border-bottom">
<view class="flex text-center">
<view class="cu-item flex-sub text-bold" :class="item.name===TabCur?' cur ':'text-black'"
v-for="(item,index) in tabList" :key="index" :data-id="item.name" @tap="tabSelect">
v-for="(item,index) in tabList" :key="index" :data-id="item.name" @tap="tabSelectDEghTTorsp">
{{item.name}}
<view v-if="item.name===TabCur"
style="width: 64rpx;height: 8rpx;;background: #5074FF;margin: -20rpx auto;border-radius: 10rpx;">
@@ -14,11 +14,11 @@
</view>
</scroll-view>
</view>
<view class="headLen">
<view class="headLenDEghTTorsp">
<view v-if="TabCur === tabList[0].name">
<view class="page-box" v-if="latelyCourseList.length && userId">
<view class="orderView" v-for="(item, index) in latelyCourseList" :key="index"
@click="goCourseDet(item)">
<view class="page-box-DEghTTorsp" v-if="latelyCourseList.length && userId">
<view class="orderView-DEghTTorsp" v-for="(item, index) in latelyCourseList" :key="index"
@click="goCourseDetDEghTTorsp(item)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill"
@@ -43,9 +43,9 @@
<noLogin v-if="userId === ''"></noLogin>
</view>
<view v-if="TabCur == tabList[1].name">
<view class="page-box" v-if="selectCourseList.length && userId">
<view class="page-box-DEghTTorsp" v-if="selectCourseList.length && userId">
<view class="order" v-for="(item, index) in selectCourseList" :key="index"
@click="goCourseDet(item)">
@click="goCourseDetDEghTTorsp(item)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill"
@@ -70,8 +70,8 @@
<noLogin v-if="userId === ''"></noLogin>
</view>
<view v-if="TabCur == tabList[2].name">
<view class="page-box" v-if="collectList.length && userId">
<view class="orderView" v-for="(item,index) in collectList" :key='index' @click="goCourseDet(item)">
<view class="page-box-DEghTTorsp" v-if="collectList.length && userId">
<view class="orderView-DEghTTorsp" v-for="(item,index) in collectList" :key='index' @click="goCourseDetDEghTTorsp(item)">
<view class="item">
<view class="left">
<image :src="item.titleImg" mode="aspectFill"
@@ -154,13 +154,13 @@
// this.latelyCourseList = []
// this.selectCourseList = []
// this.collectList = []
this.getLatelyCourse()
this.getSelectCourse()
this.getCollectList()
this.getLatelyCourseDEghTTorsp()
this.getSelectCourseDEghTTorsp()
this.getCollectListDEghTTorsp()
}
},
methods: {
tabSelect(e) {
tabSelectDEghTTorsp(e) {
// console.log(e.currentTarget.dataset)
this.TabCur = e.currentTarget.dataset.id;
this.userId = uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
@@ -169,21 +169,21 @@
switch (this.TabCur) {
case '最近学习': //最近学习
this.latelyCoursePage = 1
this.getLatelyCourse()
this.getLatelyCourseDEghTTorsp()
break;
case '已购资源': //已购资源
this.selectCoursePage = 1
this.getSelectCourse()
this.getSelectCourseDEghTTorsp()
break;
case '收藏资源': //已购资源
this.collectPage = 1;
this.getCollectList()
this.getCollectListDEghTTorsp()
break;
}
}
},
// 最近学习
getLatelyCourse() {
getLatelyCourseDEghTTorsp() {
uni.showLoading({
title: '加载中'
})
@@ -219,7 +219,7 @@
})
},
// 已购资源
getSelectCourse() {
getSelectCourseDEghTTorsp() {
uni.showLoading({
title: '加载中'
})
@@ -254,7 +254,7 @@
})
},
// 获取收藏信息
getCollectList() {
getCollectListDEghTTorsp() {
uni.showLoading({
title: '加载中'
})
@@ -284,15 +284,15 @@
})
},
// 查看资源详情
goCourseDet(e) {
goCourseDetDEghTTorsp(e) {
let userId = uni.getStorageSync('userId')
if (userId) {
uni.navigateTo({
url: '/pages/index/course/courseDet?id=' + e.courseId
url: '/pages/index/mggghRAnkh/courseDet?id=' + e.courseId
});
} else {
uni.navigateTo({
url: "/pages/login/login"
url: "/pages/ghtwwlkXYG/wVghNzmqkQ"
})
}
},
@@ -320,7 +320,7 @@
return
} else {
this.latelyCoursePage = this.latelyCoursePage + 1;
this.getLatelyCourse()
this.getLatelyCourseDEghTTorsp()
}
} else if (this.TabCur == '已购资源') { //已购资源
if (this.totalCount == this.selectCourseList.length) {
@@ -331,7 +331,7 @@
return
} else {
this.selectCoursePage = this.selectCoursePage + 1;
this.getSelectCourse()
this.getSelectCourseDEghTTorsp()
}
} else if (this.TabCur == '收藏资源') { //收藏资源
if (this.totalCount == this.collectList.length) {
@@ -342,21 +342,21 @@
return
} else {
this.collectPage = this.collectPage + 1;
this.getCollectList()
this.getCollectListDEghTTorsp()
}
}
// switch (this.TabCur) {
// case '最近学习': //最近学习
// this.latelyCoursePage = this.latelyCoursePage + 1;
// this.getLatelyCourse()
// this.getLatelyCourseDEghTTorsp()
// break;
// case '已购资源': //已购资源
// this.selectCoursePage = this.selectCoursePage + 1;
// this.getSelectCourse()
// this.getSelectCourseDEghTTorsp()
// break;
// case '收藏资源': //评论
// this.collectPage = this.collectPage + 1;
// this.getCollectList()
// this.getCollectListDEghTTorsp()
// break;
// }
}
@@ -373,7 +373,7 @@
return
} else {
this.latelyCoursePage = 1
this.getLatelyCourse()
this.getLatelyCourseDEghTTorsp()
}
} else if (this.TabCur == '已购资源') { //已购资源
if (this.totalCount == this.selectCourseList.length) {
@@ -384,7 +384,7 @@
return
} else {
this.selectCoursePage = 1
this.getSelectCourse()
this.getSelectCourseDEghTTorsp()
}
} else if (this.TabCur == '收藏资源') { //收藏资源
if (this.totalCount == this.collectList.length) {
@@ -395,24 +395,24 @@
return
} else {
this.collectPage = 1
this.getCollectList()
this.getCollectListDEghTTorsp()
}
}
// switch (this.TabCur) {
// case '最近学习': //最近学习
// this.latelyCoursePage = 1
// // this.latelyCourseList = []
// this.getLatelyCourse()
// this.getLatelyCourseDEghTTorsp()
// break;
// case '已购资源': //已购资源
// this.selectCoursePage = 1
// // this.selectCourseList = []
// this.getSelectCourse()
// this.getSelectCourseDEghTTorsp()
// break;
// case '收藏资源': //已购资源
// this.collectPage = 1;
// // this.collectList = []
// this.getCollectList()
// this.getCollectListDEghTTorsp()
// break;
// }
}
@@ -431,7 +431,7 @@
</style>
<style lang="scss" scoped>
.head {
.headDEghTTorsp {
position: fixed;
/* #ifdef H5 */
top: 0rpx;
@@ -444,7 +444,7 @@
z-index: 999;
}
.headLen {
.headLenDEghTTorsp {
/* #ifdef H5 */
margin-top: 80rpx;
/* #endif */
@@ -453,11 +453,11 @@
/* #endif */
}
.page-box {
.page-box-DEghTTorsp {
padding-bottom: 100px;
}
.orderView {
.orderView-DEghTTorsp {
width: 700rpx;
background-color: #ffffff;
margin: 20rpx auto;
@@ -509,106 +509,18 @@
text-overflow: ellipsis;
}
.buttom {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #E6E6E6;
.price {
font-size: 18px;
font-weight: bold;
color: #FF8211;
}
.number {
font-size: 14px;
color: #999999;
line-height: 24px;
}
}
.head1 {
position: relative;
left: -5px;
}
.head2 {
position: relative;
left: -10px;
}
.number {
line-height: 50rpx;
}
}
}
.total {
margin-top: 20rpx;
text-align: right;
font-size: 24rpx;
.total-price {
font-size: 32rpx;
}
}
.bottom {
display: flex;
margin-top: 40rpx;
padding: 0 10rpx;
justify-content: space-between;
align-items: center;
.btn {
line-height: 52rpx;
width: 160rpx;
border-radius: 26rpx;
border: 2rpx solid $u-border-color;
font-size: 26rpx;
text-align: center;
color: $u-type-info-dark;
}
.evaluate {
color: $u-type-warning-dark;
border-color: $u-type-warning-dark;
}
}
}
.centre {
text-align: center;
margin: 200rpx auto;
font-size: 32rpx;
image {
width: 360rpx;
height: 360rpx;
// margin-bottom: 20rpx;
margin: 0 auto 20rpx;
border: 1px dotted #000000;
}
.tips {
font-size: 40rpx;
color: #5074FF;
margin-top: 20rpx;
}
.btn {
margin: 80rpx auto;
width: 600rpx;
border-radius: 32rpx;
line-height: 90rpx;
color: #ffffff;
font-size: 34rpx;
background: #5074FF;
}
}
.wrap {
.wrap-DEghTTorsp {
display: flex;
flex-direction: column;
height: calc(100vh - var(--window-top));
@@ -616,13 +528,6 @@
}
.swiper-box {
flex: 1;
}
.swiper-item {
height: 100%;
}
.btn {
width: 150upx;

View File

@@ -0,0 +1,437 @@
<template>
<view class="containerDEghTTorsp">
<view class="bg u-absolute" style="width: 100%;height: 100%;overflow: hidden;top: 0;">
<u-image src="../../static/images/i_bg.png" style="width: 100%;height:100%" mode=""></u-image>
</view>
<view class="wrapperDEghTTorsp u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-contentDEghTTorsp">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">注册</view>
<view class="cu-form-groupDEghTTorsp">
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-groupDEghTTorsp">
<text class="title">验证码</text>
<view class="input flex">
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sending">{{ sendTime }}</button>
</view>
</view>
<view class="cu-form-groupDEghTTorsp">
<text class="title">设置密码</text>
<input class="input" type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view>
<!-- <view class="cu-form-groupDEghTTorsp"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">邀请码</text>
<input type="text" v-if="registerCode == '是'" :value="invitation" placeholder="请填写邀请码"
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<input type="text" v-if="registerCode == '否'" :value="invitation" placeholder="请填写邀请码(选填)"
data-key="invitation" maxlength="20" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view> -->
<button class="confirm-btnDEghTTorsp" @click="toRegisterDEghTTorsp">注册</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
</view>
<view class="footerViewDEghTTorsp">
<text @tap="isShowAgreeDEghTTorsp" class="cuIcon"
:class="showAgree ? 'cuIcon-radiobox' : 'cuIcon-round'">注册即同意</text>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate" style="color: #37A6FF;">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate" style="color: #37A6FF;">用户协议</navigator>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
showAgree: false,
code: '',
mobile: '',
password: '',
sending: false,
sendTime: '获取验证码',
count: 60,
relation: "",
invitation: '',
registerCode: '',
qdCodeion: '', //渠道码
};
},
onLoad() {
if (uni.getStorageSync('qdCodeion')) {
this.qdCodeion = uni.getStorageSync('qdCodeion')
}
let relation = uni.getStorageSync('invitation')
if (relation) {
this.relation = relation;
this.invitation = relation;
}
this.$u.get('/app/common/type/3').then(res => {
if (res.code == 0) {
this.registerCode = res.data.value
}
});
},
methods: {
isShowAgreeDEghTTorsp() {
//是否选择协议
this.showAgree = !this.showAgree;
},
sendMsgDEghTTorsp() {
const {
mobile
} = this;
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
this.$u.get('/app/Login/sendMsg/' + mobile + '/login').then(res => {
if (res.code === 0) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
uni.hideLoading();
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
});
}
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码';
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
toLoginDEghTTorsp() {
uni.reLaunch({
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
},
toRegisterDEghTTorsp() {
const {
mobile,
password,
code,
showAgree,
invitation,
registerCode,
qdCodeion
} = this;
if (!mobile) {
uni.showToast({
title: '请输入账号',
icon: 'none',
duration: 1000
})
return
}
if (!code) {
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
return
}
if (!password) {
uni.showToast({
title: '请设置密码',
icon: 'none',
duration: 1000
})
return
}
if (password.length < 6) {
uni.showToast({
title: '密码位数必须大于六位',
icon: 'none',
duration: 1000
})
return
}
if (invitation.length === 0 && registerCode === '是') {
uni.showToast({
title: '请输入邀请码',
icon: 'none',
duration: 1000
})
return
}
if (!showAgree) {
uni.showToast({
title: '请先同意《隐私政策》和《用户协议》',
icon: 'none',
duration: 1000
})
return
}
this.logining = true;
uni.showLoading({
title: '注册中...'
})
let platform = ''
// #ifdef APP
platform = 'app'
// #endif
// #ifdef H5
platform = 'h5'
// #endif
this.$u.post('/app/Login/registerCode?password=' + password + '&phone=' + mobile + '&msg=' + code +
'&inviterCode=' + invitation + '&platform=' + platform + '&qdCode=' + qdCodeion).then(res => {
if (res.code === 0) {
// this.$queue.remove('invitation');
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
//设置渠道码
if (res.user.qdCod) {
uni.setStorageSync('qdCod', res.user.qdCod)
}
uni.showToast({
title: '注册成功',
icon: 'none'
})
setTimeout(function() {
uni.switchTab({
url: '/pages/index/index'
});
}, 1000)
// this.getUserInfoDEghTTorsp(res.userId, res.token);
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '注册失败',
content: res.msg
});
}
});
},
getUserInfoDEghTTorsp(userId, token) {
this.$u.api.userinfo().then(res => {
if (res.code === 0) {
// #ifdef APP-PLUS
if (uni.getSystemInfoSync().platform == "android") {
let clientid = plus.push.getClientInfo().clientid;
this.$Request.postT('/appLogin/updateClientId?clientId=' + clientid + '&userId=' +
userId).then(res => {
});
}
// #endif
uni.setStorageSync('image_url', res.data.imageUrl ? res.data.imageUrl :
'/static/img/common/logo.jpg')
uni.setStorageSync('relation_id', res.data.relationId)
uni.setStorageSync('relation', res.data.invitationCode)
uni.setStorageSync('grade', res.data.grade)
uni.setStorageSync('phone', res.data.phone)
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.data.userId)
uni.setStorageSync('isInvitation', res.data.isInvitation)
uni.setStorageSync('userName', res.data.userName ? res.data.userName : res.data.phone)
// this.$queue.setData('image_url', res.data.imageUrl ? res.data.imageUrl : '/static/img/common/logo.jpg');
// this.$queue.setData('relation_id', res.data.relationId);
// this.$queue.setData('relation', res.data.invitationCode);
// this.$queue.setData('grade', res.data.grade);
// this.$queue.setData('mobile', res.data.mobile);
// this.$queue.setData('isInvitation', res.data.isInvitation);
// this.$queue.setData('nickName', res.data.nickName ? res.data.nickName : res.data.phone);
// this.$queue.setData('gender', parseInt(res.data.gender));
uni.switchTab({
url: '/pages/index/index'
});
} else {
uni.showModal({
showCancel: false,
title: '登录失败',
content: res.msg
});
this.$queue.logout();
}
uni.hideLoading();
})
// this.$Request.postJson('/app/selectUserById?userId=' + userId).then(res => {
// if (res.code === 0) {
// // #ifdef APP-PLUS
// if (uni.getSystemInfoSync().platform == "android") {
// let clientid = plus.push.getClientInfo().clientid;
// this.$Request.postT('/appLogin/updateClientId?clientId=' + clientid + '&userId=' + userId).then(res => {
// });
// }
// // #endif
// this.$queue.setData('image_url', res.data.imageUrl ? res.data.imageUrl : '/static/img/common/logo.jpg');
// this.$queue.setData('relation_id', res.data.relationId);
// this.$queue.setData('relation', res.data.invitationCode);
// this.$queue.setData('grade', res.data.grade);
// this.$queue.setData('mobile', res.data.mobile);
// this.$queue.setData('isInvitation', res.data.isInvitation);
// this.$queue.setData('nickName', res.data.nickName ? res.data.nickName : res.data.phone);
// this.$queue.setData('gender', parseInt(res.data.gender));
// uni.switchTab({
// url: '/pages/index/index'
// });
// } else {
// uni.showModal({
// showCancel: false,
// title: '登录失败',
// content: res.msg
// });
// this.$queue.logout();
// }
// uni.hideLoading();
// });
}
}
};
</script>
<style lang="scss" >
page {
background: #ffffff;
}
.footerViewDEghTTorsp {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 24rpx;
color: #333333;
position: absolute;
left: 0;
right: 0;
bottom: 78rpx;
.cuIcon::before{
width: 30rpx;
height: 30rpx;
margin-right: 12rpx;
}
.cuIcon-round::before {
content: "\e6d7";
}
.cuIcon-radiobox:before {
content: "\e75b";
color: #37A6FF;
}
}
.send-msgDEghTTorsp {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
color: #EC6F48;
border: none;
background-color: transparent;
}
.send-msgDEghTTorsp::after{
border: none;
background-color: transparent;
}
.containerDEghTTorsp {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
box-sizing: border-box;
}
.wrapperDEghTTorsp {
min-height: 100vh;
position: relative;
z-index: 90;
}
.input-contentDEghTTorsp {
padding: 0 56rpx;
}
.cu-form-groupDEghTTorsp{
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 48rpx;
background-color: transparent;
padding: 0;
.title{
margin-bottom: 32rpx;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.input{
width: 100%;
height: 84rpx;
line-height: 84rpx;
background-color: #fff;
align-items: center;
padding: 22rpx 32rpx 22rpx 24rpx;
}
}
.confirm-btnDEghTTorsp {
width: 100%;
height: 100rpx;
text-align: center;
line-height: 100rpx;
border-radius: 16rpx;
margin-top: 40rpx;
background: #EC6F48;
font-size: 32rpx;
color: #FFFFFF;
&:after {
border: none;
}
}
</style>

View File

@@ -1,28 +1,28 @@
<template>
<view class="container">
<view class="wrapper">
<view class="input-content">
<view class="containerDEghTTorsp">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">验证码</text>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChange" @confirm="toLogin" />
<button class="send-msg" @click="sendMsg" :disabled="sendIng">{{sendTime}}</button>
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<button class="send-msgDEghTTorsp" @click="sendMsgDEghTTorsp" :disabled="sendIng">{{sendTime}}</button>
</view>
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">设置密码</text>
<input type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChange" @confirm="toLogin" />
maxlength="20" minlength="6" data-key="password" @input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
</view>
</view>
<button class="confirm-btn" @click="toLogin">立即重置</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">立即重置</button>
</view>
</view>
</template>
@@ -42,7 +42,7 @@
},
methods: {
sendMsg() {
sendMsgDEghTTorsp() {
const {
mobile
} = this;
@@ -98,21 +98,21 @@
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChange(e) {
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
navBackDEghTTorsp() {
uni.navigateBack();
},
navTo(url) {
navToDEghTTorsp(url) {
uni.navigateTo({
url
})
},
toLogin() {
toLoginDEghTTorsp() {
const {
mobile,
password,
@@ -160,7 +160,7 @@
});
setTimeout(function() {
uni.navigateTo({
url: '/pages/login/login'
url: '/pages/ghtwwlkXYG/wVghNzmqkQ'
});
}, 1000)
@@ -185,7 +185,7 @@
background: #ffffff;
}
.send-msg {
.send-msgDEghTTorsp {
border-radius: 30px;
color: white;
height: 30px;
@@ -194,7 +194,7 @@
background: #ff7581;
}
.container {
.containerDEghTTorsp {
padding-top: 32upx;
position: relative;
width: 100%;
@@ -203,7 +203,7 @@
background: #ffffff;
}
.wrapper {
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #ffffff;
@@ -211,13 +211,13 @@
}
.input-content {
.input-contentDEghTTorsp {
padding: 0 20px;
}
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 300px;
height: 42px;
line-height: 42px;

View File

@@ -1,35 +1,35 @@
<template>
<view class="container">
<view class="containerDEghTTorsp">
<view class="wrapper">
<view class="input-content">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group" style="border: 2upx solid whitesmoke;border-radius: 30px">
<view class="title">
<text style="margin-left: 30rpx;"></text>
</view>
<input type="password" placeholder="请输入密码" maxlength="20" :value="code" data-key="code"
@input="inputChange" @confirm="toLogin" />
<text class="send-msg" @click="forget">忘记密码</text>
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<text class="send-msg" @click="forgetDEghTTorsp">忘记密码</text>
</view>
</view>
<button class="confirm-btn" @click="toLogin">登录</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
<view style="margin-top: 32px;text-align: center">
<view>
没有账号
<text style="color: #ff7581" @click="register()">立即注册</text>
<text style="color: #ff7581" @click="registerDEghTTorsp()">立即注册</text>
</view>
</view>
</view>
<view class="footer">
<view class="footerDEghTTorsp">
<u-checkbox-group>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChange"></u-checkbox>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChangeDEghTTorsp"></u-checkbox>
</u-checkbox-group>
<view>同意</view>
<!-- 协议地址 -->
@@ -69,26 +69,26 @@
},
methods: {
// 注册
register() {
registerDEghTTorsp() {
uni.navigateTo({
url: '/pages/login/register'
url: '/pages/ghtwwlkXYG/WVEtZeeghK'
});
},
// 忘记密码
forget() {
forgetDEghTTorsp() {
uni.navigateTo({
url: '/pages/login/forgetPwd'
url: '/pages/ghtwwlkXYG/EAkIghCGJS'
});
},
inputChange(e) {
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
radioChange(e) {
radioChangeDEghTTorsp(e) {
console.log(e);
},
//第一授权获取用户信息===》按钮触发
wxGetUserInfo(e) {
wxGetUserInfoDEghTTorsp(e) {
let that = this;
if (this.checked) {
wx.getUserProfile({
@@ -99,7 +99,7 @@
let avatarUrl = infoRes.userInfo.avatarUrl; //头像
let sex = infoRes.userInfo.gender; //头像
try {
that.login(nickName, avatarUrl, sex);
that.loginDEghTTorsp(nickName, avatarUrl, sex);
} catch (e) {}
}
})
@@ -111,7 +111,7 @@
}
},
//登录
login(nickName, avatarUrl, sex) {
loginDEghTTorsp(nickName, avatarUrl, sex) {
let that = this;
// 1.wx获取登录用户code
uni.login({
@@ -143,7 +143,7 @@
if (that.flag == '1') {
that.weixinPhone = true;
} else {
that.getWeixinInfo(sendData);
that.getWeixinInfoDEghTTorsp(sendData);
}
} else {
uni.showToast({
@@ -163,11 +163,11 @@
console.log('用户拒绝提供手机号');
} else {
console.log('用户同意提供手机号');
this.setPhoneByInsert(e.detail.encryptedData, e.detail.iv);
this.setPhoneByInsertDEghTTorsp(e.detail.encryptedData, e.detail.iv);
}
},
//小程序微信登录后获取手机号
setPhoneByInsert(decryptData, iv) {
setPhoneByInsertDEghTTorsp(decryptData, iv) {
let data = {
decryptData: decryptData,
key: this.sessionkey,
@@ -177,7 +177,7 @@
this.$u.api.selectPhone(data).then(res => {
if (res.code == 0) {
this.phone = res.data.phoneNumber;
this.getWeixinInfo(this.sendDataList);
this.getWeixinInfoDEghTTorsp(this.sendDataList);
} else {
uni.showToast({
title: res.msg,
@@ -201,7 +201,7 @@
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsg() {
sendMsgDEghTTorsp() {
const {
mobile
} = this;
@@ -244,7 +244,7 @@
});
}
},
toLogin() {
toLoginDEghTTorsp() {
// this.$queue.loginClear();
// let openid = this.$queue.getData('openid');
if (!this.checked) {
@@ -300,7 +300,7 @@
uni.setStorageSync('qdCode', res.user.qdCode)
}
// uni.setStorageSync('openId', res.user.openId)
// this.getWeixinInfo(this.sendDataList);
// this.getWeixinInfoDEghTTorsp(this.sendDataList);
uni.showToast({
title: '登录成功',
icon: 'none'
@@ -326,7 +326,7 @@
}
},
//获取个人信息
getWeixinInfo(sendData) {
getWeixinInfoDEghTTorsp(sendData) {
let that = this;
uni.showLoading({
title: '登录中...'
@@ -377,16 +377,9 @@
</script>
<style lang="scss">
.headers {
text-align: center;
}
.headers>image {
width: 400upx;
height: 400upx;
}
.footer {
.footerDEghTTorsp {
padding-left: 150rpx;
margin-top: 32upx;
font-size: 24upx;
@@ -408,7 +401,7 @@
line-height: 30px;
}
.container {
.containerDEghTTorsp {
top: 0;
padding-top: 32upx;
position: relative;
@@ -417,147 +410,23 @@
overflow: hidden;
background: #ffffff;
.mp_wxBox {
.headers {
margin: 35% auto 50rpx;
text-align: center;
border-radius: 60rpx;
width: 650rpx;
height: 300rpx;
line-height: 450rpx;
image {
width: 300rpx;
height: 300rpx;
}
}
.content {
text-align: center;
}
text {
display: block;
color: #9d9d9d;
margin-top: 40rpx;
}
.bottom {
line-height: 80upx;
border-radius: 80upx;
margin: 70rpx 50rpx;
height: 80upx;
font-size: 35rpx;
}
}
}
.wrapper {
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #ffffff;
padding-bottom: 20px;
}
// .back-btn {
// position: absolute;
// left: 20px;
// z-index: 9999;
// padding-top: var(--status-bar-height);
// top: 20px;
// font-size: 20px;
// color: $font-color-dark;
// }
// .left-top-sign {
// font-size: 80px;
// color: $page-color-base;
// position: relative;
// }
// .right-top-sign {
// position: absolute;
// top: 40px;
// right: -15px;
// z-index: 95;
// &:before,
// &:after {
// display: block;
// content: '';
// width: 20px;
// height: 40px;
// background: #e10a07;
// }
// &:before {
// transform: rotate(50deg);
// border-radius: 0 50px 0 0;
// }
// &:after {
// position: absolute;
// right: -198px;
// top: 0;
// transform: rotate(-50deg);
// border-radius: 50px 0 0 0;
// /* background: pink; */
// }
// }
// .left-bottom-sign {
// position: absolute;
// left: -270px;
// bottom: -320px;
// /*border: 100upx solid #d0d1fd;*/
// border-radius: 50%;
// padding: 90px;
// }
// .welcome {
// position: relative;
// left: 30px;
// top: -55px;
// font-size: 28px;
// color: #555;
// text-shadow: 1px 0px 1px rgba(0, 0, 0, 0.3);
// }
.input-content {
.input-contentDEghTTorsp {
padding: 0 20px;
}
// .input-item {
// display: flex;
// flex-direction: column;
// align-items: flex-start;
// justify-content: center;
// padding: 0 30px;
// background: $page-color-light;
// height: 64px;
// border-radius: 4px;
// margin-bottom: 30px;
// &:last-child {
// margin-bottom: 0;
// }
// .tit {
// height: 30px;
// line-height: 28px;
// font-size: $font-sm + 2upx;
// color: $font-color-base;
// }
// input {
// height: 40px;
// font-size: $font-base + 2upx;
// color: $font-color-dark;
// width: 100%;
// }
// }
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 300px;
height: 42px;
line-height: 42px;
@@ -573,40 +442,5 @@
}
}
// .confirm-btn1 {
// width: 300px;
// height: 42px;
// line-height: 42px;
// border-radius: 30px;
// margin-top: 40px;
// background: whitesmoke;
// color: grey;
// font-size: $font-lg;
// &:after {
// border-radius: 60px;
// }
// }
// .forget-section {
// font-size: $font-sm + 2upx;
// color: $font-color-spec;
// text-align: center;
// margin-top: 40px;
// }
// .register-section {
// left: 0;
// margin-top: 30px;
// bottom: 30px;
// width: 100%;
// font-size: $font-sm + 2upx;
// color: $font-color-base;
// text-align: center;
// text {
// color: $font-color-spec;
// margin-left: 10px;
// }
// }
</style>

View File

@@ -1,10 +1,10 @@
<template>
<view class="container">
<view class="containerDEghTTorsp">
<!-- 小程序状态下登录 -->
<!-- #ifdef MP-WEIXIN -->
<view class="mp_wxBox">
<view class="mp_wxBoxDEghTTorsp">
<view>
<view class="headers">
<view class="headersDEghTTorsp">
<image src="../../static/images/logo.png" style="border-radius: 50%;"></image>
</view>
<view class="content">
@@ -16,7 +16,7 @@
授权手机号
</button>
<button v-show="!weixinPhone" style="background: #ff7581;color: #FFFFFF;" class='bottom'
bindtap="getUserProfile" @tap="wxGetUserInfo">
bindtap="getUserProfile" @tap="wxGetUserInfoDEghTTorsp">
授权登录
</button>
</view>
@@ -25,38 +25,38 @@
<!-- #endif -->
<!-- #ifndef MP-WEIXIN -->
<view class="wrapper">
<view class="input-content">
<view class="wrapperDEghTTorsp">
<view class="input-contentDEghTTorsp">
<view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
@input="inputChangeDEghTTorsp" />
</view>
<view class="cu-form-group" style="border: 2upx solid whitesmoke;border-radius: 30px">
<view class="title">
<text style="margin-left: 30rpx;"></text>
</view>
<input type="password" placeholder="请输入密码" maxlength="20" :value="code" data-key="code"
@input="inputChange" @confirm="toLogin" />
<text class="send-msg" @click="forget">忘记密码</text>
@input="inputChangeDEghTTorsp" @confirm="toLoginDEghTTorsp" />
<text class="send-msgDEghTTorsp" @click="forgetDEghTTorsp">忘记密码</text>
</view>
</view>
<button class="confirm-btn" @click="toLogin">登录</button>
<button class="confirm-btnDEghTTorsp" @click="toLoginDEghTTorsp">登录</button>
<view style="margin-top: 32px;text-align: center">
<view>
没有账号
<text style="color: #ff7581" @click="register()">立即注册</text>
<text style="color: #ff7581" @click="registerDEghTTorsp()">立即注册</text>
</view>
</view>
</view>
<!-- #endif -->
<!-- #ifdef MP -->
<view class="footer">
<view class="footerDEghTTorsp">
<u-checkbox-group>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChange"></u-checkbox>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChangeDEghTTorsp"></u-checkbox>
</u-checkbox-group>
<view>同意</view>
<!-- 协议地址 -->
@@ -88,26 +88,26 @@
methods: {
// 注册
register() {
registerDEghTTorsp() {
uni.navigateTo({
url: '/pages/login/register'
url: '/pages/ghtwwlkXYG/WVEtZeeghK'
});
},
// 忘记密码
forget() {
forgetDEghTTorsp() {
uni.navigateTo({
url: '/pages/login/forgetPwd'
url: '/pages/ghtwwlkXYG/EAkIghCGJS'
});
},
inputChange(e) {
inputChangeDEghTTorsp(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
radioChange(e) {
radioChangeDEghTTorsp(e) {
console.log(e);
},
//第一授权获取用户信息===》按钮触发
wxGetUserInfo(e) {
wxGetUserInfoDEghTTorsp(e) {
let that = this;
if (this.checked) {
@@ -120,7 +120,7 @@
let avatarUrl = infoRes.userInfo.avatarUrl; //头像
let sex = infoRes.userInfo.gender; //头像
try {
that.login(nickName, avatarUrl, sex);
that.loginDEghTTorsp(nickName, avatarUrl, sex);
} catch (e) {}
}
})
@@ -132,7 +132,7 @@
}
},
//登录
login(nickName, avatarUrl, sex) {
loginDEghTTorsp(nickName, avatarUrl, sex) {
let that = this;
// 1.wx获取登录用户code
uni.login({
@@ -164,7 +164,7 @@
if (that.flag == '1') {
that.weixinPhone = true;
} else {
that.getWeixinInfo(sendData);
that.getWeixinInfoDEghTTorsp(sendData);
}
} else {
uni.showToast({
@@ -184,11 +184,11 @@
console.log('用户拒绝提供手机号');
} else {
console.log('用户同意提供手机号');
this.setPhoneByInsert(e.detail.encryptedData, e.detail.iv);
this.setPhoneByInsertDEghTTorsp(e.detail.encryptedData, e.detail.iv);
}
},
//小程序微信登录后获取手机号
setPhoneByInsert(decryptData, iv) {
setPhoneByInsertDEghTTorsp(decryptData, iv) {
let data = {
decryptData: decryptData,
key: this.sessionkey,
@@ -198,7 +198,7 @@
this.$u.api.selectPhone(data).then(res => {
if (res.code == 0) {
this.phone = res.data.phoneNumber;
this.getWeixinInfo(this.sendDataList);
this.getWeixinInfoDEghTTorsp(this.sendDataList);
} else {
uni.showToast({
title: res.msg,
@@ -265,7 +265,7 @@
});
}
},
toLogin() {
toLoginDEghTTorsp() {
// this.$queue.loginClear();
// let openid = this.$queue.getData('openid');
let openid = uni.getStorageSync('openId')
@@ -314,7 +314,7 @@
uni.setStorageSync('qdCode', res.user.qdCode)
}
// uni.setStorageSync('openId', res.user.openId)
// this.getWeixinInfo(this.sendDataList);
// this.getWeixinInfoDEghTTorsp(this.sendDataList);
uni.showToast({
title: '登录成功',
icon: 'none'
@@ -334,7 +334,7 @@
}
},
//获取个人信息
getWeixinInfo(sendData) {
getWeixinInfoDEghTTorsp(sendData) {
let that = this;
uni.showLoading({
title: '登录中...'
@@ -385,16 +385,16 @@
</script>
<style lang="scss">
.headers {
.headersDEghTTorsp {
text-align: center;
}
.headers>image {
.headersDEghTTorsp>image {
width: 400upx;
height: 400upx;
}
.footer {
.footerDEghTTorsp {
padding-left: 150rpx;
margin-top: 32upx;
font-size: 24upx;
@@ -407,7 +407,7 @@
background: #ffffff;
}
.send-msg {
.send-msgDEghTTorsp {
border-radius: 30px;
color: black;
background: white;
@@ -416,7 +416,7 @@
line-height: 30px;
}
.container {
.containerDEghTTorsp {
top: 0;
padding-top: 32upx;
position: relative;
@@ -425,8 +425,8 @@
overflow: hidden;
background: #ffffff;
.mp_wxBox {
.headers {
.mp_wxBoxDEghTTorsp {
.headersDEghTTorsp {
margin: 35% auto 50rpx;
text-align: center;
border-radius: 60rpx;
@@ -460,112 +460,19 @@
}
}
.wrapper {
.wrapperDEghTTorsp {
position: relative;
z-index: 90;
background: #ffffff;
padding-bottom: 20px;
}
// .back-btn {
// position: absolute;
// left: 20px;
// z-index: 9999;
// padding-top: var(--status-bar-height);
// top: 20px;
// font-size: 20px;
// color: $font-color-dark;
// }
// .left-top-sign {
// font-size: 80px;
// color: $page-color-base;
// position: relative;
// }
// .right-top-sign {
// position: absolute;
// top: 40px;
// right: -15px;
// z-index: 95;
// &:before,
// &:after {
// display: block;
// content: '';
// width: 20px;
// height: 40px;
// background: #e10a07;
// }
// &:before {
// transform: rotate(50deg);
// border-radius: 0 50px 0 0;
// }
// &:after {
// position: absolute;
// right: -198px;
// top: 0;
// transform: rotate(-50deg);
// border-radius: 50px 0 0 0;
// /* background: pink; */
// }
// }
// .left-bottom-sign {
// position: absolute;
// left: -270px;
// bottom: -320px;
// /*border: 100upx solid #d0d1fd;*/
// border-radius: 50%;
// padding: 90px;
// }
// .welcome {
// position: relative;
// left: 30px;
// top: -55px;
// font-size: 28px;
// color: #555;
// text-shadow: 1px 0px 1px rgba(0, 0, 0, 0.3);
// }
.input-content {
.input-contentDEghTTorsp {
padding: 0 20px;
}
// .input-item {
// display: flex;
// flex-direction: column;
// align-items: flex-start;
// justify-content: center;
// padding: 0 30px;
// background: $page-color-light;
// height: 64px;
// border-radius: 4px;
// margin-bottom: 30px;
// &:last-child {
// margin-bottom: 0;
// }
// .tit {
// height: 30px;
// line-height: 28px;
// font-size: $font-sm + 2upx;
// color: $font-color-base;
// }
// input {
// height: 40px;
// font-size: $font-base + 2upx;
// color: $font-color-dark;
// width: 100%;
// }
// }
.confirm-btn {
.confirm-btnDEghTTorsp {
width: 300px;
height: 42px;
line-height: 42px;
@@ -581,40 +488,4 @@
}
}
// .confirm-btn1 {
// width: 300px;
// height: 42px;
// line-height: 42px;
// border-radius: 30px;
// margin-top: 40px;
// background: whitesmoke;
// color: grey;
// font-size: $font-lg;
// &:after {
// border-radius: 60px;
// }
// }
// .forget-section {
// font-size: $font-sm + 2upx;
// color: $font-color-spec;
// text-align: center;
// margin-top: 40px;
// }
// .register-section {
// left: 0;
// margin-top: 30px;
// bottom: 30px;
// width: 100%;
// font-size: $font-sm + 2upx;
// color: $font-color-base;
// text-align: center;
// text {
// color: $font-color-spec;
// margin-left: 10px;
// }
// }
</style>

Some files were not shown because too many files have changed in this diff Show More