위챗 소프로그램-전송 기능 구덩이 밟기(그룹과 개인, 여러 개의 전송 버튼, 전송 밴드 파라미터 식별) 총결산
6451 단어 학습 노트
js
Page({
onShareAppMessage: function (res) {
return {
title: ' ',
path: '/page/user?id=123',
success: function(res) {
//
},
fail: function(res) {
//
}
}
}
})
이상은 간단한 전송 단추입니다. 터치한 후에 onShare App Message 함수를 호출하여 전송할 수 있습니다. 전송된 작은 페이지는 함수에서 정의할 수 있습니다.이것들은 공식 문서에 모두 있고 상세하지만 저는 개발할 때 몇 가지 문제에 부딪혔습니다. 다음은 총괄을 하겠습니다.
1. 개인에게 전달되었는지 그룹으로 전달되었는지 판별한다
작은 프로그램을 할 때 제품의 수요는 그룹으로 전송되는지 아닌지를 판별하고 그룹과 개인을 대상으로 서로 다른 피드백을 하는 것이다.전송 정보를 얻으려면 js에 써야 합니다.
wx.showShareMenu({
withShareTicket: true
})
withShareTicket을 오픈한 후 그룹에 전송하면 전송 후 성공한 리셋 함수에서shareTicketsshareTickets는 하나의 수조입니다. shareTickets의 유무를 판단하여 그룹에 전송되었는지 개인인지 판단할 수 있습니다.
2, 다중 전달 버튼
한 페이지에 여러 개의 전송 단추가 있으면 각 단추의 전송 페이지가 달라질 때.onShareAppMessage 함수에서 별도의 설정을 수행합니다.onShare AppMessage 함수에는options 매개 변수가 있고, options 매개 변수에는 이 함수를 촉발하는 원본 options의from 매개 변수가 전송 이벤트 원본을 표시합니다.button: 페이지 내 전송 단추;menu: 오른쪽 상단 전달 메뉴.버튼이라면 버튼의 target 매개 변수를 통해 어떤 버튼이 촉발했는지 판단할 수 있으며, 버튼의 id나class를 얻을 수 있습니다.이렇게 하면 서로 다른 단추에 대해 서로 다른 전송 페이지 eg를 설정할 수 있다.
Page({
onShareAppMessage: function (res) {
//button
if (res.from === 'button') {
let target_id = res.target.id;
//id btn1 button
if (target_id === "btn1") {
return {
title: ' ',
path: '/page/index',
success: function(res) {
//
},
fail: function(res) {
//
}
}
//id btn2 button
}else if((target_id === "btn2")){
return {
title: ' ',
path: '/page/user',
success: function(res) {
//
},
fail: function(res) {
//
}
}
}
//menu
}else if (res.from === 'menu') {
return {
title: 'menu ',
path: '/page/user',
success: function(res) {
//
},
fail: function(res) {
//
}
}
}
}
})
주:menu의 전송은 따로 설정해야 합니다
3. 리본 매개변수 전달
전송할 때 다른 사용자가 전송을 클릭하여 작은 프로그램에 들어갈 때 파라미터가 있어야 한다면 onShare AppMessage 함수에 필요한 값을 가져와 전송할 수 있습니다
Page({
onShareAppMessage: function (res) {
let sendinfo = {
num: 1,
nickName: "jack",
}
let str = JSON.stringify(sendinfo);
return {
title: nickName + ' ',
path: '/page/user?sendinfo=' + sendinfo,
success: function(res) {
//
},
fail: function(res) {
//
}
}
}
})
지금 이 전송 카드를 클릭하면 전송 경로 주소의 페이지에서 가져온 값을 얻을 수 있습니다
Page({
data:{
}
onLoad: function (option) {
let sendinfo = option.sendinfo ;
}
})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
STL 학습노트(6) 함수 객체모방 함수는 모두pass-by-value이다 함수 대상은 값에 따라 전달되고 값에 따라 되돌아오기 때문에 함수 대상은 가능한 한 작아야 한다(대상 복사 비용이 크다) 함수 f와 대상 x, x 대상에서 f를 호출하면:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.