默认提交
Showing
10 changed files
with
156 additions
and
49 deletions
This diff is collapsed.
Click to expand it.
| ... | @@ -22,6 +22,7 @@ | ... | @@ -22,6 +22,7 @@ |
| 22 | "empty-tips": "../../component/empty-tips/empty-tips", | 22 | "empty-tips": "../../component/empty-tips/empty-tips", |
| 23 | "shortcut": "../../component/shortcut/shortcut", | 23 | "shortcut": "../../component/shortcut/shortcut", |
| 24 | "van-popup": "../../ui/vant-weapp/popup/index", | 24 | "van-popup": "../../ui/vant-weapp/popup/index", |
| 25 | "van-dialog": "../../ui/vant-weapp/dialog/index", | ||
| 25 | "van-sticky": "../../ui/vant-weapp/sticky/index", | 26 | "van-sticky": "../../ui/vant-weapp/sticky/index", |
| 26 | "van-tab": "../../ui/vant-weapp/tab/index", | 27 | "van-tab": "../../ui/vant-weapp/tab/index", |
| 27 | "van-tabs": "../../ui/vant-weapp/tabs/index" | 28 | "van-tabs": "../../ui/vant-weapp/tabs/index" | ... | ... |
| ... | @@ -15,6 +15,8 @@ module.exports = { | ... | @@ -15,6 +15,8 @@ module.exports = { |
| 15 | wxPay: '/wx/pay', // 帐号详情 | 15 | wxPay: '/wx/pay', // 帐号详情 |
| 16 | stat: '/dot', // 打点 | 16 | stat: '/dot', // 打点 |
| 17 | 17 | ||
| 18 | blessDetail: "/bless/detail", // | ||
| 19 | |||
| 18 | /** | 20 | /** |
| 19 | * 通用接口 | 21 | * 通用接口 |
| 20 | * 请求时 "mode"传"custom" | 22 | * 请求时 "mode"传"custom" | ... | ... |
| ... | @@ -3,7 +3,10 @@ let Store = require('./../utils/stroage'); | ... | @@ -3,7 +3,10 @@ let Store = require('./../utils/stroage'); |
| 3 | let Router = require('./../router/index'); | 3 | let Router = require('./../router/index'); |
| 4 | const errMsg = '服务异常,请稍后重试'; | 4 | const errMsg = '服务异常,请稍后重试'; |
| 5 | 5 | ||
| 6 | // let isWxLogin = false; | 6 | /** |
| 7 | * 1.业务接口返回404时,会自动调用自定义login接口重拉sessionId,成功后会重新调用该业务接口 | ||
| 8 | * 2.当自定义login接口返回状态码不为200时,弹出授权登陆 | ||
| 9 | */ | ||
| 7 | 10 | ||
| 8 | function wxLogin() { | 11 | function wxLogin() { |
| 9 | return new Promise((resolve, reject) => { | 12 | return new Promise((resolve, reject) => { |
| ... | @@ -58,6 +61,7 @@ function login() { | ... | @@ -58,6 +61,7 @@ function login() { |
| 58 | } = res2.data; | 61 | } = res2.data; |
| 59 | if (code == 200 && content.sessionId) { | 62 | if (code == 200 && content.sessionId) { |
| 60 | Store.setItem('sessionId', content.sessionId); | 63 | Store.setItem('sessionId', content.sessionId); |
| 64 | Store.setItem('memberCode', content.memberCode); | ||
| 61 | resolve(); | 65 | resolve(); |
| 62 | } else { | 66 | } else { |
| 63 | wx.hideLoading(); | 67 | wx.hideLoading(); |
| ... | @@ -128,9 +132,6 @@ const fetch = function ({ | ... | @@ -128,9 +132,6 @@ const fetch = function ({ |
| 128 | if (res.code == 404) { | 132 | if (res.code == 404) { |
| 129 | //登陆失效的回调 | 133 | //登陆失效的回调 |
| 130 | Store.clear("sessionId"); | 134 | Store.clear("sessionId"); |
| 131 | // wx.reLaunch({ | ||
| 132 | // url: '/pages/index/index' | ||
| 133 | // }) | ||
| 134 | // 404后拉取登陆后再做一次 | 135 | // 404后拉取登陆后再做一次 |
| 135 | login().then((resultLogin) => { | 136 | login().then((resultLogin) => { |
| 136 | wx.request({ | 137 | wx.request({ | ... | ... |
| ... | @@ -2,6 +2,9 @@ import { | ... | @@ -2,6 +2,9 @@ import { |
| 2 | getBindtapData | 2 | getBindtapData |
| 3 | } from '../../utils/util'; | 3 | } from '../../utils/util'; |
| 4 | 4 | ||
| 5 | |||
| 6 | import Dialog from '../../ui/vant-weapp/dialog/dialog'; | ||
| 7 | |||
| 5 | let app = getApp(); | 8 | let app = getApp(); |
| 6 | Page({ | 9 | Page({ |
| 7 | data: { | 10 | data: { |
| ... | @@ -12,6 +15,10 @@ Page({ | ... | @@ -12,6 +15,10 @@ Page({ |
| 12 | productList: [], // 产品列表 | 15 | productList: [], // 产品列表 |
| 13 | indexInfo: {}, | 16 | indexInfo: {}, |
| 14 | userInfo: {}, | 17 | userInfo: {}, |
| 18 | show: true, | ||
| 19 | detailData: {}, | ||
| 20 | memberList: [], | ||
| 21 | options: {} | ||
| 15 | }, | 22 | }, |
| 16 | onShareAppMessage() {}, | 23 | onShareAppMessage() {}, |
| 17 | showAuth() { | 24 | showAuth() { |
| ... | @@ -19,7 +26,25 @@ Page({ | ... | @@ -19,7 +26,25 @@ Page({ |
| 19 | authorizeVisible: true | 26 | authorizeVisible: true |
| 20 | }) | 27 | }) |
| 21 | }, | 28 | }, |
| 22 | onLoad(options) {}, | 29 | onLoad(options) { |
| 30 | this.setData({ | ||
| 31 | options | ||
| 32 | }); | ||
| 33 | this.queryBlessDetail(); | ||
| 34 | this.initData(); | ||
| 35 | // Dialog.confirm({ | ||
| 36 | // title: '标题', | ||
| 37 | // message: '弹窗内容', | ||
| 38 | // asyncClose: true | ||
| 39 | // }).then(() => { | ||
| 40 | // setTimeout(() => { | ||
| 41 | // Dialog.close(); | ||
| 42 | // }, 1000); | ||
| 43 | // }) | ||
| 44 | // .catch(() => { | ||
| 45 | // Dialog.close(); | ||
| 46 | // }); | ||
| 47 | }, | ||
| 23 | 48 | ||
| 24 | /** | 49 | /** |
| 25 | * 基础方法 | 50 | * 基础方法 |
| ... | @@ -33,12 +58,12 @@ Page({ | ... | @@ -33,12 +58,12 @@ Page({ |
| 33 | * 做加载更多操作 | 58 | * 做加载更多操作 |
| 34 | */ | 59 | */ |
| 35 | onReachBottom() { | 60 | onReachBottom() { |
| 36 | if (this.data.dataList.length < this.data.total) { | 61 | // if (this.data.dataList.length < this.data.total) { |
| 37 | this.setData({ | 62 | // this.setData({ |
| 38 | page: this.data.page + 1 | 63 | // page: this.data.page + 1 |
| 39 | }); | 64 | // }); |
| 40 | this.queryDataList(); | 65 | // this.queryDataList(); |
| 41 | } | 66 | // } |
| 42 | }, | 67 | }, |
| 43 | 68 | ||
| 44 | // 重置页面列表 点击搜索条件时需要 | 69 | // 重置页面列表 点击搜索条件时需要 |
| ... | @@ -74,6 +99,30 @@ Page({ | ... | @@ -74,6 +99,30 @@ Page({ |
| 74 | }); | 99 | }); |
| 75 | }, | 100 | }, |
| 76 | 101 | ||
| 102 | |||
| 103 | /** | ||
| 104 | * 视频详情 | ||
| 105 | */ | ||
| 106 | queryBlessDetail() { | ||
| 107 | return new Promise((resolve, reject) => { | ||
| 108 | app.post({ | ||
| 109 | url: app.api.blessDetail, | ||
| 110 | data: { | ||
| 111 | blessCode: this.data.options.c, | ||
| 112 | ownerMemberCode: this.data.options.m ? this.data.options.m : app.store.getItem("memberCode") ? app.store.getItem("memberCode") : "", | ||
| 113 | } | ||
| 114 | }).then((result) => { | ||
| 115 | this.setData({ | ||
| 116 | detailData: result, | ||
| 117 | memberList: result.memberList | ||
| 118 | }); | ||
| 119 | resolve(result); | ||
| 120 | }).catch((err) => { | ||
| 121 | reject(err); | ||
| 122 | }); | ||
| 123 | }); | ||
| 124 | }, | ||
| 125 | |||
| 77 | /** | 126 | /** |
| 78 | * 隐藏蒙层 | 127 | * 隐藏蒙层 |
| 79 | */ | 128 | */ |
| ... | @@ -99,9 +148,9 @@ Page({ | ... | @@ -99,9 +148,9 @@ Page({ |
| 99 | this.hideMask(); | 148 | this.hideMask(); |
| 100 | break; | 149 | break; |
| 101 | 150 | ||
| 102 | /** | 151 | /** |
| 103 | * 重拉数据已在 | 152 | * 重拉数据已在 |
| 104 | */ | 153 | */ |
| 105 | case "_evt_auth_complete": | 154 | case "_evt_auth_complete": |
| 106 | // this.initData(); | 155 | // this.initData(); |
| 107 | this.hideMask(); | 156 | this.hideMask(); | ... | ... |
| ... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
| 7 | <!-- <view class="top-bg"></view> --> | 7 | <!-- <view class="top-bg"></view> --> |
| 8 | <view class="top-space"></view> | 8 | <view class="top-space"></view> |
| 9 | <view class="content"> | 9 | <view class="content"> |
| 10 | <view class="title">大年初一</view> | 10 | <view class="title">{{detailData.lunarCalendar}}</view> |
| 11 | <!-- 用户 --> | 11 | <!-- 用户 --> |
| 12 | <view class="user"> | 12 | <view class="user"> |
| 13 | <!-- 用户头像 --> | 13 | <!-- 用户头像 --> |
| ... | @@ -17,18 +17,18 @@ | ... | @@ -17,18 +17,18 @@ |
| 17 | </view> | 17 | </view> |
| 18 | <!-- 用户名称 --> | 18 | <!-- 用户名称 --> |
| 19 | <view class="name"> | 19 | <view class="name"> |
| 20 | <view class="tt">姓名</view> | 20 | <view class="tt">{{detailData.familyName}}</view> |
| 21 | <image class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" /> | 21 | <image class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" /> |
| 22 | </view> | 22 | </view> |
| 23 | <!-- 编辑 --> | 23 | <!-- 编辑 --> |
| 24 | <view class="edit"> | 24 | <view class="edit"> |
| 25 | <view class="tt t1">携家人</view> | 25 | <view class="tt t1">{{detailData.sentence}}</view> |
| 26 | <image class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" /> | 26 | <image class="name-edit" mode="widthFix" src="../../image/blessing/icon-edit.png" /> |
| 27 | <view class="tt t2">2人</view> | 27 | <view class="tt t2">{{memberList.length}}人</view> |
| 28 | </view> | 28 | </view> |
| 29 | <!-- 用户组 --> | 29 | <!-- 用户组 --> |
| 30 | <view class="group"> | 30 | <view class="group"> |
| 31 | <view wx:for="{{6}}" class="group-item"> | 31 | <view wx:for="{{memberList}}" wx:key="{{index}}" class="group-item"> |
| 32 | <view class="group-item-portrait"></view> | 32 | <view class="group-item-portrait"></view> |
| 33 | <view class="group-item-name"> | 33 | <view class="group-item-name"> |
| 34 | <view class="t1">李四</view> | 34 | <view class="t1">李四</view> |
| ... | @@ -42,7 +42,7 @@ | ... | @@ -42,7 +42,7 @@ |
| 42 | <image class="icon-down" mode="widthFix" src="../../image/blessing/icon-down-arrow.png" /> | 42 | <image class="icon-down" mode="widthFix" src="../../image/blessing/icon-down-arrow.png" /> |
| 43 | </view> | 43 | </view> |
| 44 | <!-- 自定义句子 --> | 44 | <!-- 自定义句子 --> |
| 45 | <view class="sentence">给您拜年啦!</view> | 45 | <view class="sentence">{{detailData.sentence}}</view> |
| 46 | </view> | 46 | </view> |
| 47 | <!-- 尾部内容 --> | 47 | <!-- 尾部内容 --> |
| 48 | <view class="tail"> | 48 | <view class="tail"> |
| ... | @@ -77,3 +77,4 @@ | ... | @@ -77,3 +77,4 @@ |
| 77 | </view> | 77 | </view> |
| 78 | </view> | 78 | </view> |
| 79 | </view> | 79 | </view> |
| 80 | <van-dialog id="van-dialog" /> | ... | ... |
| ... | @@ -12,11 +12,12 @@ Page({ | ... | @@ -12,11 +12,12 @@ Page({ |
| 12 | size: 10, | 12 | size: 10, |
| 13 | dataList: [], | 13 | dataList: [], |
| 14 | tabList: [], // 标签列表 | 14 | tabList: [], // 标签列表 |
| 15 | listType: 2, // 0是普通视频列表 1是推荐 2是祝福语 非2就是普通视频 | ||
| 15 | bannerList: [], | 16 | bannerList: [], |
| 16 | curTab: {}, | 17 | curTab: {}, |
| 17 | queueCode: "", // 队列标识,每次请求,会返回一个队列标识,用户加载更多时候请携带queueCode参数 | 18 | queueCode: "", // 队列标识,每次请求,会返回一个队列标识,用户加载更多时候请携带queueCode参数 |
| 18 | active: 0, | 19 | active: 0, |
| 19 | curBanner: {} | 20 | curBanner: {}, |
| 20 | }, | 21 | }, |
| 21 | onShareAppMessage(res) { | 22 | onShareAppMessage(res) { |
| 22 | if (res.from === 'button') { | 23 | if (res.from === 'button') { |
| ... | @@ -110,15 +111,29 @@ Page({ | ... | @@ -110,15 +111,29 @@ Page({ |
| 110 | */ | 111 | */ |
| 111 | onDetailHandler(evt) { | 112 | onDetailHandler(evt) { |
| 112 | let curItem = getBindtapData(evt); | 113 | let curItem = getBindtapData(evt); |
| 113 | let videoCode = curItem.videoCode || "" | 114 | let listType = this.data.listType; |
| 114 | if (videoCode) { | 115 | if (listType == 2) { |
| 115 | app.router.push({ | 116 | let blessCode = curItem.blessCode || ""; |
| 116 | path: "detail", | 117 | if (blessCode) { |
| 117 | query: { | 118 | app.router.push({ |
| 118 | c: videoCode | 119 | path: "blessing", |
| 119 | } | 120 | query: { |
| 120 | }) | 121 | c: blessCode |
| 122 | } | ||
| 123 | }) | ||
| 124 | } | ||
| 125 | } else { | ||
| 126 | let videoCode = curItem.videoCode || ""; | ||
| 127 | if (videoCode) { | ||
| 128 | app.router.push({ | ||
| 129 | path: "detail", | ||
| 130 | query: { | ||
| 131 | c: videoCode | ||
| 132 | } | ||
| 133 | }) | ||
| 134 | } | ||
| 121 | } | 135 | } |
| 136 | |||
| 122 | }, | 137 | }, |
| 123 | 138 | ||
| 124 | /** | 139 | /** |
| ... | @@ -273,6 +288,7 @@ Page({ | ... | @@ -273,6 +288,7 @@ Page({ |
| 273 | dataList: dataList, | 288 | dataList: dataList, |
| 274 | total: result.total, | 289 | total: result.total, |
| 275 | queueCode: result.queueCode, | 290 | queueCode: result.queueCode, |
| 291 | listType: result.type | ||
| 276 | }) | 292 | }) |
| 277 | resolve(result); | 293 | resolve(result); |
| 278 | }).catch((err) => { | 294 | }).catch((err) => { | ... | ... |
| ... | @@ -74,6 +74,30 @@ | ... | @@ -74,6 +74,30 @@ |
| 74 | margin: 0 auto; | 74 | margin: 0 auto; |
| 75 | width: $contentWidth; | 75 | width: $contentWidth; |
| 76 | 76 | ||
| 77 | // 拜年祝福item | ||
| 78 | &-bless-item { | ||
| 79 | display: flex; | ||
| 80 | justify-content: space-between; | ||
| 81 | border-bottom: solid 2px #dfdfdf; | ||
| 82 | padding: 24px 0; | ||
| 83 | |||
| 84 | .tit { | ||
| 85 | @extend .bb; | ||
| 86 | padding: 8px 0; | ||
| 87 | height: 180px; | ||
| 88 | flex: 1; | ||
| 89 | font-size: 40px; | ||
| 90 | @include ellipsis(3); | ||
| 91 | } | ||
| 92 | |||
| 93 | .poster { | ||
| 94 | width: 350px; | ||
| 95 | height: 180px; | ||
| 96 | border-radius: 8px; | ||
| 97 | } | ||
| 98 | } | ||
| 99 | |||
| 100 | // 视频item | ||
| 77 | &-item { | 101 | &-item { |
| 78 | // @extend .shadow; | 102 | // @extend .shadow; |
| 79 | box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.6); | 103 | box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.6); |
| ... | @@ -113,7 +137,7 @@ | ... | @@ -113,7 +137,7 @@ |
| 113 | bottom: 0; | 137 | bottom: 0; |
| 114 | @include ellipsis(2); | 138 | @include ellipsis(2); |
| 115 | 139 | ||
| 116 | .tit-t1{ | 140 | .tit-t1 { |
| 117 | @extend .bb; | 141 | @extend .bb; |
| 118 | padding: 0 24px; | 142 | padding: 0 24px; |
| 119 | position: relative; | 143 | position: relative; | ... | ... |
| ... | @@ -24,28 +24,38 @@ | ... | @@ -24,28 +24,38 @@ |
| 24 | </view> | 24 | </view> |
| 25 | <view class="content"> | 25 | <view class="content"> |
| 26 | <view class="list"> | 26 | <view class="list"> |
| 27 | <view wx:for="{{dataList}}" wx:key="index" class="list-item"> | 27 | <!-- 拜年item --> |
| 28 | <view bindtap="onDetailHandler" data-data="{{item}}" data-index="{{index}}" class="list-item-video"> | 28 | <block wx:if="{{listType == 2}}"> |
| 29 | <image class="img" src="{{item.thumbnail}}" mode="aspectFill" /> | 29 | <view wx:for="{{dataList}}" bindtap="onDetailHandler" data-data="{{item}}" data-index="{{index}}" wx:key="index" class="list-bless-item"> |
| 30 | <view class="tit"> | 30 | <image class="poster" src="{{item.thumbnail}}" /> |
| 31 | <view class="tit-bg"></view> | 31 | <view class="tit">{{item.blessTitle}}</view> |
| 32 | <view class="tit-t1">{{item.videoName}}</view> | ||
| 33 | </view> | ||
| 34 | <div class="play"> | ||
| 35 | <span class="iconfont iconplay"></span> | ||
| 36 | </div> | ||
| 37 | </view> | 32 | </view> |
| 38 | <view class="list-item-func"> | 33 | </block> |
| 39 | <view bindtap="onDetailHandler" data-data="{{item}}" data-index="{{index}}" class="user"> | 34 | <!-- 视频item --> |
| 40 | <image class="portrait" mode="aspectFill" src="{{item.headImage}}" /> | 35 | <block wx:else> |
| 41 | <text class="name">{{item.accountName || ""}}</text> | 36 | <view wx:for="{{dataList}}" wx:key="index" class="list-item"> |
| 37 | <view bindtap="onDetailHandler" data-data="{{item}}" data-index="{{index}}" class="list-item-video"> | ||
| 38 | <image class="img" src="{{item.thumbnail}}" mode="aspectFill" /> | ||
| 39 | <view class="tit"> | ||
| 40 | <view class="tit-bg"></view> | ||
| 41 | <view class="tit-t1">{{item.videoName}}</view> | ||
| 42 | </view> | ||
| 43 | <div class="play"> | ||
| 44 | <span class="iconfont iconplay"></span> | ||
| 45 | </div> | ||
| 46 | </view> | ||
| 47 | <view class="list-item-func"> | ||
| 48 | <view bindtap="onDetailHandler" data-data="{{item}}" data-index="{{index}}" class="user"> | ||
| 49 | <image class="portrait" mode="aspectFill" src="{{item.headImage}}" /> | ||
| 50 | <text class="name">{{item.accountName || ""}}</text> | ||
| 51 | </view> | ||
| 52 | <button data-data="{{item}}" data-index="{{index}}" class="share" open-type="share" bindtap="onShareItem"> | ||
| 53 | <span class="t1 iconfont iconwechat"></span> | ||
| 54 | <span class="t1">分享</span> | ||
| 55 | </button> | ||
| 42 | </view> | 56 | </view> |
| 43 | <button data-data="{{item}}" data-index="{{index}}" class="share" open-type="share" bindtap="onShareItem"> | ||
| 44 | <span class="t1 iconfont iconwechat"></span> | ||
| 45 | <span class="t1">分享</span> | ||
| 46 | </button> | ||
| 47 | </view> | 57 | </view> |
| 48 | </view> | 58 | </block> |
| 49 | </view> | 59 | </view> |
| 50 | </view> | 60 | </view> |
| 51 | </view> | 61 | </view> | ... | ... |
-
Please register or sign in to post a comment