アプレットの webView ページで、共有するために右上隅のボタンをクリックした後、共有に入るリンク ページが空白です
ページを再入力した後、ページは空白です。コンピューターを使用して開いた後、エラーメッセージは次のとおりです
1. ページが転送された後、ページ アドレスがデコードされているかどうかを確認します。
Webview ページが転送された後、アプレットは url パラメータをトランスコードします。このとき、ページ アドレスが再デコードされないと、ページの再描画が失敗し、空白のページが表示されます。
// index.js
// 获取应用实例
const app = getApp()
var util = require('../utils/util.js');
Page({
data: {
url:''
},
onLoad(options){
if(options.weburl){
const weburl = decodeURIComponent(options.weburl)
this.setData({
url: weburl
})
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
2.現在のページが共有されている場合、ページの共有リンクが処理されないことを確認します
アプレットが提供する onShareAppMessage メソッドを使用して、共有のタイトル (title)、共有ページのアドレス (path)、共有イメージ (imageUrl) など、共有に必要なオブジェクトを再構築する必要があります。組み立て後、再割り当てします。
/**
* 用户点击右上角分享
*/
onShareAppMessage: function (res) {
console.log("分享", res)
let shareObj = {
tittle: res.title, //默认是小程序名称
path: `/pages/product/index?weburl=${encodeURIComponent(res.webViewUrl)}`, //页面分享
success: function(ress){
// 转发成功之后的回调
if(ress.errMsg == 'shareAppMessage:ok'){
console.log("chenggon")
}
},
fail: function(error){
console.log("分享错误", error)
// 转发失败之后的回调
if(res.errMsg == 'shareAppMessage:fail cancel'){
// 用户取消转发
}else if(res.errMsg == 'shareAppMessage:fail'){
// 转发失败,其中 detail message 为详细失败信息
}
},
complete: function(){
// 转发结束之后的回调(转发成不成功都会执行)
}
}
return shareObj;
}
3. アプレット ビジネスのドメイン名設定に http などのリクエストが含まれているかどうかなど、アプレットのバックエンドのパラメータ設定を確認します。そのようなリクエストをバックグラウンド設定で https に設定する必要があります; アプレット インターフェイスのドメイン名などを確認する必要があります。
WeChat プラットフォームのミニ プログラムの開発ドキュメントへのリンクが用意されており、直接飛ぶことができます ~ wx.updateShareMenu(Object object) | WeChat オープン ドキュメントWeChat 開発者プラットフォーム ドキュメントhttps://developers.weixin.qq.com/ miniprogram/dev/api/share/wx.updateShareMenu.html