说明
弹框类型,String
task(任务);rule(规则);money(提现);join(助力);success(成功);common(公共)
弹框呈现的位置, String
center(默认),flex-end,flex-start
弹框组件的回调监听事件 popupEvent
立即助力 popupType: join
成功:popupType: success
确认:popupType: money
关闭弹框:popupType: close
※组件需要控制是否呈现
页面使用
<popup wx:if="{{showPopup}}" bind:popupEvent="onPopupEvent" popupType="{{popupType}}"flexAlign="{{flexAlign}}" animation="{{popupAnimation}}" popupData="{{popupData}}"></popup>
- popupEvent: 弹框回调事件
- popupType: 弹框类型
- flexAlign: 弹框垂直样式
- animation: 是否需要动画
- popData: 组件内容呈现数据(数据格式说明会在下面详细介绍)
javascript使用
common.promise('stockTreeHandler/getwaterdroplistforaward', parmas).then((data) => {that.setData({popupData: data,showPopup: true,popupType: 'task',flexAlign: 'flex-end',popupAnimation: 'true'})}, (err) => {})
这个是任务弹框的案例。这里需要注意popupData值,请保持接口返回的json跟stockTreeHandler/getwaterdroplistforaward接口返回一致。
let ruleData = {content: '<p style="padding-top: 10px;">1.活动时间:</p><p style="padding-top: 10px;">2.活动期间,用户可邀请好友助力或完成任务获得水滴给邀请书浇水,摇钱树长大后可通过摇钱或者现金奖励</p>' +'<p style="padding-top: 10px;">3.活动期间,每个用户每天最多种成一颗摇钱树,整个活动期间最多可种6棵摇钱树。一天内未完成数的种植,明天重新开始</p><p style="padding-top: 10px;">4.活动期间,每个用户每天只能帮同一个好友助力一次,每天最多助力10个好友</p>' +'<p style="padding-top: 10px;">5.现金需超过3*N才能提现,且需提前关注【同程旅游网】公众号,如24小时未在公众号领取,微信官方视为放弃领取;如因个人账号原因遇到微信拦截,导致无法收到红包,请联系微信官方咨询</p>',topImage:'https://file.40017.cn/pinche/walk/tree/tree_popup_topTitle2.png',title:''}that.setData({popupData: ruleData,showPopup: true,popupType: 'rule',flexAlign: 'flex-end',popupAnimation: 'true'})
这个是活动规则说明案例。类似这样的内容组件采用rich-text富文本方式呈现。
※传入的数据格式需要跟ruleData一致
let friends = {'userName': '云上蔷薇','userImage': 'https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTLXjnvEdNswlKwIJWhdwQwbAjDaEKCRnsnUcaUuf25fJM7DUtxwGtwRVQXGic88piakbaEVDg6jjazQ/132','title': '邀请你助力领水滴,种摇钱树啦','mainImage': 'https://file.40017.cn/pinche/walk/tree/icon_tree5.png','bottomTitle': '需授权用户信息后才能助力哦','buttomTitle': '立即助力'}that.setData({popupData: friends,showPopup: true,popupType: 'join',flexAlign: 'center',popupAnimation: 'false'})
这个是好友助力案例。类似这样的弹框需要传入的数据请跟friends变量一致。
- userName:好友昵称
- userImage:好友头像
- title:主标题
- mainImage:弹框主图片(295rpx*271rpx)
- bottomTitle:底部副标题(说明之类的内容)
- buttomTitle:按钮文案
let treeSuccess = {'topImage': 'https://file.40017.cn/pinche/walk/tree/tree_popup_success.png','title': '帮好友获得','successNub': 1,'mainImage': 'https://file.40017.cn/pinche/walk/tree/icon_tree5.png','bottomTitle': '分享到群聊更容易成功哦','buttomTitle': '我也要种树','successType': 'tree', //用于说明是现金种树助力成功的弹框}that.setData({popupData: treeSuccess,showPopup: true,popupType: 'success',flexAlign: 'center',popupAnimation: 'false'})
这个是助力成功案例。类似这样的弹框需要传入的数据请treeSuccess变量一致。
- topImage:顶部图片(类似助力成功图片)
- title:主标题
- successNub:奖励数量,是阿拉伯数字
- mainImage:弹框主图片(295rpx*271rpx)
- bottomTitle:底部副标题(说明之类的内容)
- buttomTitle:按钮文案
- successType:主标题的内容区分;tree值为现金种树成功内容。后期会不断增加各种值
let treeMoney = {'content': '您的5元现金已存入余额 请在“<span style="color: #333; font-weight: bold;">我的</span>”中点击“<span style="color: #333; font-weight: bold;">立即提现</span>”','buttomTitle': '确定'}that.setData({popupData: treeMoney,showPopup: true,popupType: 'money',flexAlign: 'center',popupAnimation: 'false'})
这个是确认弹框,但主体内容带有特殊样式的。采用rich-text富文本方式呈现。
- content:弹框主体内容
- buttomTitle:按钮文案
let treeCommon = {'content': '今天的树已经领光啦, 明天赶早呦!','buttomTitle': '确定'}that.setData({popupData: treeCommon,showPopup: true,popupType: 'common',flexAlign: 'center',popupAnimation: 'false'})
这个是普通确认弹框,主体内容不带有特色样式的。
- content:弹框主体内容
- buttomTitle:按钮文案
onPopupEvent: function(e) {let popupTpe = e.detail.popupType;if(popupTpe == 'hideModal' || popupTpe == 'close') {this.setData({showPopup: false})}},
弹框的交互事件,需要返回给页面的,都请在你所需页面中监听回调。其中会返回用户触发的弹框类型(类型有哪些请参考文档顶部)。※回调事件中需要处理组件的显隐
