文章目录
小程序
导航栏需要修改时,
去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)
},
})