小程序我所遇到的问题

小程序

导航栏需要修改时,

去pages.json找到需要修改的页面路径;如:

{
//需要修改的路径
"path": "PatrolTask/PatrolTaskIndex",
	"style": {
		//导航栏标题
		"navigationBarTitleText": "巡查任务",
		//下拉刷新
		"enablePullDownRefresh": false,
		//添加这个属性就好了,更多的看微信开发文档
		//设置导航栏样式
		"navigationStyle": "custom"
		}
}

获取微信胶囊的位置信息

在这里插入图片描述
使用这段代码就好了

	data() {
			return {
				widthNum: 0,
				heightNum: 0,
				TopNum: 0,
			};
		},
	onLoad(options) {
			// 获取微信胶囊的位置信息 width,height,top,right,left,bottom
			const custom = wx.getMenuButtonBoundingClientRect()
			console.log(custom, "custom")
			this.widthNum = custom.width;
			this.heightNum = custom.height;
			this.TopNum = custom.top;
		},

小程序传参
传对象不行可以需要进行转义用json.stringify(Object) 把对象进行转换
在这里插入图片描述
在接受页面中 用JSON.parse() 就可以了

onLoad(option) {
	this.item = JSON.parse(option.item);
}

添加小程序滚动条的样式

效果
在这里插入图片描述

	 ::-webkit-scrollbar {
		display: Revert;
		width: 6px !important;
		height: 6px !important;
		background-color: #ffffff;
	}

	/*定义滚动条轨道 内阴影+圆角*/
	::-webkit-scrollbar-track {
		-webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.3);
		border-radius: 10px;
		background-color: yellow;
	}

	/*定义滑块 内阴影+圆角*/
	::-webkit-scrollbar-thumb {
		border-radius: 10px;
		-webkit-box-shadow: inset 0 0 10px rgba(0, 0, 0, .3);
		background-color: #ff5500;
	}

原生小程序中传参(sendSelectProduct值和getOpenerEventChannel)

//父组件
	const that = this;
	wx.navigateTo({
			url: `你的url?selectType=${selectType}&formula=true`,
			events: {
				selectProduct: function(res) {
				//后执行的
					console.log(res)
				}
			},
			success(res) {
				//先执行
				console.log(res)
				res.eventChannel.emit('sendSelectProduct', {
					data: that.data.selectProductList
				})
			}
		})
	
//子组件 在onLoad生命周期中
		let that = this;
		const eventChannel = this.getOpenerEventChannel();
		eventChannel.on('sendSelectProduct', (res) => {
			//对应代码
			console.log(res)
		})

超过两行文字,变成省略号(css样式)

display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;

效果图
在这里插入图片描述

增加点击范围

onCardClick(event,ind){
				let checkbox = this.$refs.checkbox
				let index = ind;
				if (!checkbox[index]) return;
				checkbox[index].iconClickHandler(event); // 把事件交给checkbox处理
				checkbox[index].preventEvent(); // 必须,阻止checkbox的默认行为
			},

在这里插入图片描述
在这里插入图片描述

支付问题

1、当微信小程序的栏目中有b2b栏目时,他只能用b2b支付,不能使用普通支付(非常需要注意,一旦选择b2b模式,还想使用普通支付方式,他目前哪怕栏目去掉,也还要去找客服,让客服来处理,才可以使用普通支付)
(1)普通支付方式(uni-app方法)(微信开发文档中也有对应的方法)

let payData = '后端数据'
uni.requestPayment({
	timeStamp: payData.timeStamp,//时间戳,即当前的时间。
	nonceStr: payData.nonceStr,//随机字符串,长度为32个字符以下。
	package: payData.package,//统一下单接口返回的 prepay_id 参数值
	signType: payData.signType,//签名算法
	paySign: payData.paySign,//签名
	success: (res) => {
		console.log('支付成功', res);
	},
	fail: (err) => {
		console.log('支付失败', err);
	},
});

(2)b2b方法(微信方法)(uniapp方法中没找到)

let sign = {
	mchid: payData.mchid,//由微信支付生成并下发的商户号
	out_trade_no: payData.out_trade_no,//业务订单号,
	description: payData.description,//商品描述
	amount:{ //订单金额信息
		order_amount: payData.amount.order_amount, //订单总需支付金额,也即是真正下单总金额,单位为分。
		currency: 'CNY'//货币类型: CNY人民币
	}, 
}
wx.requestCommonPayment({
	mode: payData.mode, //支付的类型:  retail_pay_goods	B2b支付
	signData:  JSON.stringify(sign),//支付参数, 该参数需以string形式传递
	paySig: payData.paySig, //支付签名
	signature: payData.signature,//用户态签名
	success: (res) => {
		console.log(res)
	},
	fail: (err) => {
		console.log(err)
	},
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值