微信小程序项目功能要点总结

一、转发分享

<button   open-type="share" hover-class='none' plain="true">分享</button>
onShareAppMessage: function() {
		if (res.from === 'button') {
			// 来自页面内转发按钮
		}
		return {
			title: "分享",
			path: '/pages/index/index'
		}
	}

如果用mpvue写的换一定不要放到methods里面

		methods: {},
		onShareAppMessage: function(res) {
			if (res.from === 'button') {
				// 来自页面内转发按钮
			}
			return {
				title: "分享",
				path: '/pages/detail/main?pid=' + this.LoginInfoId 
			}
		},

去掉微信button的外边框,border:none;等都不起作用,亲测唯有此法如下:

		button::after{
		  border:none;
		}

二、设置系统剪贴板的内容,如复制微信号

<div class="btn" @click="cope_fn">
	<text selectable='true' >点击复制客服微信</text>  
</div>
cope_fn() {
	wx.setClipboardData({
		data: '要复制的内容',
		success: function(res) {
			wx.showToast({
				title: "客服微信号已复制成功",
				icon: 'none', //隐藏微信弹框组件默认的对号
				duration: 1500,
				mask: true
			});
		}
	});
}

三、input输入字数监控和限制

<input type="text" name="title" id="title" v-model="title" maxlength="15" @input='limitWord'><span class="warning_span" v-show="over_num">*标题最多只能输入15个字</span>
limitWord: function(e) {
	let text_num=e.mp.detail.cursor
	if(text_num>=15){
		this.over_num = true;
		let warn1 = setInterval(() => {
		this.over_num=false;
		clearInterval(warn1);
		}, 2000);
	}
},

四、微信小程序支付
关于微信支付接口列表看起来有些复杂,不过对于前端而言到没有什么支付签名的问题。统一下单API等皆由后端调取,最后前端只调下面这个微信API,而且所有参数皆有后端生成订单的接口返回。

wx.requestPayment({
  timeStamp: '',
  nonceStr: '',
  package: '',
  signType: '',
  paySign: '',
  success (res) { },
  fail (res) { }
})

成功支付之后,建议在回调一下后端的支付查询接口,避免出现微信支付成功,而后端订单没有成功的情况。
五、下拉刷新列表
.json配置

{
	"enablePullDownRefresh": true,
	"backgroundTextStyle":"dark"
}
	onPullDownRefresh: function() {
			wx.showNavigationBarLoading(); //在标题栏中显示加
			this.getList();
			let that = this
			setTimeout(function() {
				wx.hideNavigationBarLoading(); //完成停止加载
				wx.stopPullDownRefresh(); //停止下拉刷新
				that.ShowWarn0 = true;
				that.msg = '刷新成功';  //弹框刷新成功
				that.showClose();
			}, 1000);
		},

六、加载分页列表

下策: 滚动到底部加载分页列表
如果需要展示分页的最外层是定位到页面的,触底事件不可用时,使用

	onPageScroll: function(e) {
			if (e.scrollTop <= 0) {
				// 滚动到最顶部
				e.scrollTop = 0;
			} else if (e.scrollTop > this.scrollHeight) {
				// 滚动到最底部
				this.get_pages();  //此处可加载分页
				e.scrollTop = this.scrollHeight;
			}
			if (e.scrollTop > this.scrollTop || e.scrollTop >= this.scrollHeight) {
				//向下滚动
			} else {
				//向上滚动 
			}
			this.scrollHeight = e.scrollTop
		},

上策: 页面上拉触底事件的处理函数,分页

  /*  该页面.json   */
{
   "navigationBarTitleText": "列表页",
   "onReachBottomDistance": 50,    //不可少
   "enablePullDownRefresh": true,
   "usingComponents": {}
}

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
  /*  加载分页 */
  },

七、联系客服会话

<button open-type="contact" @contact="handleContact"  hover-class='none' plain="true">客服回话</button>
//或原生
 <button open-type="contact" bindcontact="handleContact"  hover-class='none' plain="true">客服回话</button>
handleContact(e) {
	console.log(e)
}

八、阻止弹框,点击事件穿透
情况一、弹框没有滚动事件

<view class="search_modal_bg" catchtouchmove="touchHandler"></view >
touchHandler() {
	return;
},

或者

<view class="box" catchtouchmove="return"> 
//略
</view>

情况二、若弹框也有滚动事件,点击这里

九、订阅消息

<button  bindtap="warning_set">开播提醒</button>
	warning_set() {
		let that=this
		wx.requestSubscribeMessage({
		  tmplIds: ['必填'],
		  success (res) {

		  }
		})
	},

十、scroll-view 隐藏滚动条

::-webkit-scrollbar{
width: 0;
height: 0;
color: transparent;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值