微信開放標(biāo)簽 - wx-open-launch-weapp (vue動態(tài)生成)

注:只有在微信內(nèi)置瀏覽器才會生效奇昙,開放標(biāo)簽是基于jssdk開發(fā)的钓葫,在其他的瀏覽器就不好使了。
注:在index.html頁面head標(biāo)簽里引入 (必須是1.6版本的哦 否則不會生效噠)

<script typet="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

封裝公共文件 common.js

export function init(){
  if (!is_weixn()) {
    return
  }
  wx.config({
      debug: false,
      appId, // 和獲取Ticke的必須一樣------必填渣玲,公眾號的唯一標(biāo)識
      timestamp: timestamp, // 必填器贩,生成簽名的時間戳
      nonceStr: nonceStr, // 必填,生成簽名的隨機(jī)串
      signature: signature, // 必填蔬胯,簽名
      //需要微信權(quán)限列表
      jsApiList: [
        "onMenuShareAppMessage", // 分享給朋友
        "onMenuShareTimeline", // 分享到朋友圈
        "onMenuShareQQ", // 分享到QQ
        "onMenuShareQZone", // 分享到QQ空間
        "checkJsApi" //判斷當(dāng)前客戶端版本是否支持指定JS接口
      ],
      openTagList:['wx-open-launch-weapp'] // 微信開放標(biāo)簽 小程序跳轉(zhuǎn)按鈕:<wx-open-launch-weapp>
    });
}

// 動態(tài)生成標(biāo)簽
// info參數(shù)
/* 
let params={
  eleId:"", // 元素ID
  appid:"", // 小程序id號 gh_****
  url:"", // 跳轉(zhuǎn)小程序的頁面路徑地址 例: pages/home/home.html - (后面必須帶上.html后綴 否則IOS跳轉(zhuǎn)時出現(xiàn)小程序頁面未配置)
  content:"" // html字符串 例: "<button>點我</button>"
}
*/
export function wx_launch(info){
  if (!is_weixn()) {
    return
  }
  if(is_launch()){
    var btn = document.getElementById(info.eleId); //獲取元素
    let script = document.createElement("script");// 創(chuàng)建script內(nèi)容插槽 避免template標(biāo)簽沖突
    script.type = "text/wxtag-template"; // 使用script插槽 必須定義這個type
    script.text = info.content // 自定義的html字符串內(nèi)容
    let html = `<wx-open-launch-weapp style="width:100%;display:block;" username="${info.appid}" path="${info.url}">${script.outerHTML}</wx-open-launch-weapp>`;
    btn.innerHTML = html; // html字符串賦值
    // 點擊按鈕 正常跳轉(zhuǎn)觸發(fā)
    btn.addEventListener("launch", function (e) {
      console.log("success");
    });
    // 點擊跳轉(zhuǎn) 拋出異常
    btn.addEventListener("error", function (e) {
      console.log("fail", e.detail);
      alert(`跳轉(zhuǎn)異常 - ${e.detail}`)
    });
  }else{
    alert("您的版本號不支持")  
  }
}

// 判斷是否微信環(huán)境
function is_weixn() {
  let ua = navigator.userAgent.toLowerCase()
  if (ua.match(/MicroMessenger/i) == 'micromessenger') {
    return true
  } else {
    return false
  };
};

// 判斷當(dāng)前微信版本號是否支持
function is_version(){
  let client = false; // 當(dāng)前版本號是否支持 (默認(rèn)不支持)
  let wxInfo = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i); // 微信瀏覽器信息
  // 微信版本號 wxInfo[1] = "7.0.18.1740" (示例)
  //進(jìn)行split轉(zhuǎn)成數(shù)組進(jìn)行判斷 [7,0,18,1740] (示例)
  let version = wxInfo[1].split(".");
  // 判斷版本在7.0.12及以上的版本
  if (version[0] >= 7) {
    if (version[1] >= 0) {
      if (version[2] >= 12) {
        client = true; // 當(dāng)前版本支持
      }
    }
  }
  return client;
}

Vue頁面 demo.vue

<template>
  <div>
    <div id="launch-btn"></div>
  </div>
</template>
<script>
import { init,wx_launch } from "./common.js"; // 引入公共js文件
export default {
  data() {
    return { };
  },
  created() {
    init() //實例初始化
  },
  mounted() {
    // 自定義html內(nèi)容
    let content = `
      <button class="test-btn">點我跳轉(zhuǎn)小程序</button>
      <style>
        .test-btn{
          width:100%;
          background: #f24f45;
          border-radius: 20px;
          padding:0 10px;
          color:#fff;
          font-size:16px;
          border:none;
        }
      </style>
      `;
    
    let launchParams = {
      eleId:"launch-btn", // 元素id
      url: "pages/home/home.html", // 跳轉(zhuǎn)小程序的頁面路徑
      content:content // 自定義的html內(nèi)容
    };
    wx_launch(launchParams);
  }
};
</script>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末对供,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子氛濒,更是在濱河造成了極大的恐慌产场,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舞竿,死亡現(xiàn)場離奇詭異涝动,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)炬灭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門醋粟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來靡菇,“玉大人,你說我怎么就攤上這事米愿∠梅铮” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵育苟,是天一觀的道長较鼓。 經(jīng)常有香客問我,道長违柏,這世上最難降的妖魔是什么博烂? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮漱竖,結(jié)果婚禮上禽篱,老公的妹妹穿的比我還像新娘。我一直安慰自己馍惹,他們只是感情好躺率,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著万矾,像睡著了一般悼吱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上良狈,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天后添,我揣著相機(jī)與錄音,去河邊找鬼薪丁。 笑死遇西,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窥突。 我是一名探鬼主播努溃,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼阻问!你這毒婦竟也來了梧税?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤称近,失蹤者是張志新(化名)和其女友劉穎第队,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刨秆,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡凳谦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了衡未。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尸执。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡家凯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出如失,到底是詐尸還是另有隱情绊诲,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布褪贵,位于F島的核電站掂之,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏脆丁。R本人自食惡果不足惜世舰,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望槽卫。 院中可真熱鬧跟压,春花似錦、人聲如沸晒夹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丐怯。三九已至,卻和暖如春翔横,著一層夾襖步出監(jiān)牢的瞬間读跷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工禾唁, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留效览,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓荡短,卻偏偏與公主長得像丐枉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子掘托,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359