懶載入 端對端分享功能 微信釘釘

2021-09-12 23:54:18 字數 4511 閱讀 7404

github l6zt

專案前端與後端緊耦合,分享資訊 放在jsp裡,例如:

對以上問題解決方案,我採用:

端對端懶載入 不同平台的 sdk, 分享邏輯 統一由後端控制 即 頁面裡 只需要引入乙個js指令碼。

總體引用方法

// data-ajax 放置獲取分享資訊 ajax的入參

//data-exclud 排除 不需要 那種分享

。。。。。。部分**

公共函式

var noop = function() {};

var hasownp = function(obj, prop) ;

var tostring = function(obj) ;

var ishardvar = function(obj)

var merge = function() ;

if (lg < 2) ;

for (var i = 0; i < lg; i++) }}

return result;

};

對非同步處理 自己模擬的promise實現

var jcpromise = (function() ;

function reject(e) ;

this.getdata = function() ;

this.geterr = function() ;

this.getstatus = function() ;

this._changestatus = function(idx)

};status = statuslist[idx];

if (status === statuslist[3]) , 0)

}if (status === statuslist[2]) , 0)}};

this._pushthencb = function(cb) );

if (status === statuslist[2])

};this._pushcatchcb = function(cb) );

if (status === statuslist[3])

};this._triggerthen = function()

})};

this._triggercatch = function()

})};

this._changestatus(1);

this.uuid = uuid++;

try catch (e)

return this

};jcpromise.fn = jcpromise.prototype;

// 返回乙個promise

jcpromise.fn.then = function(cb) ).catch(function(e) )

} else

} catch (e)

}, 0);

};this._pushthencb(fn);

// 觸發promise

return new jcpromise(function(r, j) );

};// 返回乙個promise

jcpromise.fn.catch = function(cb) ).catch(function(e) )

} else

} catch (e)

}, 0)

};this._pushcatchcb(fn);

// 觸發promise

return new jcpromise(function(r, j) );

};return jcpromise

})();

懶載入載入js方法

function loadscript(src) ;

el.onerror = function() ;

el.src = src;

});};

function checkiswx() 

return

};// 檢查是不是釘釘

function checkisdd()

return

};

// 自己照著 mdn 和其他文件 寫的 ajax

初始化分享

function initshare()  catch (e) 

if (iswx.flag && excludeua.indexof('wx') === -1) else

loadscript(wxurl).then(function(data) ).then(function(baseconfig) ;

wxshare(global.weixinconfiginfo, sharedata, wxjsversion);

hadgetsharemsghook(data);

})})

}if (isdd.flag && excludeua.indexof('dd') === -1) ;

ddshare(sharedata)

hadgetsharemsghook(data)

})})

}}

微信和釘釘網頁分享流程

基本設定 ip白名單 配置完此項以開啟可以呼叫獲取access token介面的許可權 2 獲取jsapi ticket,通過剛剛拿到的access token 請求 返回內容如下 3 生成js sdk許可權驗證簽名,簽名生成規則如下 參與簽名的字段包括noncestr 隨機字串 有效的jsapi ...

微信公眾平台開發 2 微信端分享功能

建議詳細參考文件後再考慮 的編寫 二.實現 php 及部分問題引導 我提供的 就是下圖中的幾個簡單檔案 在此提供 sharepage.php 簡單 以便參考講解。其中提出幾點需要注意的是 3 保證 wx.config 的資訊配置的正確,debug如果為true可以提示操作的過程,測試沒有問題後可以改...

移動端 分享微信新浪等外掛程式

通過npm進行安裝 npm install s soshm 或者把指令碼引進你的頁面裡 src soshm.min.js script 第乙個引數為字串型別,代表選擇器。支援queryselectorall所支援的引數型別。class soshm div src dist soshm.min.js ...