在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 網頁設計教程 > 詳細頁面

微信jssdk邏輯在vue中的使用方法介紹(代碼示例)

微信jssdk邏輯在vue中的使用方法介紹(代碼示例)

更新時間:2025-12-09 文章作者:未知 信息來源:網絡 閱讀次數:

網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立...
網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。
本篇文章給大家帶來的內容是關于微信jssdk邏輯在vue中的使用方法介紹(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

微信 jssdk 在 vue 中的簡單使用

import wx from 'weixin-js-sdk';

wx.config({
  debug: true,
  appId: '',
  timestamp: ,
  nonceStr: '',
  signature: '',
  jsApiList: []
});

wx.ready(() => {
  // do something...
});

wx.error((err) => {
  // do something...
});

以上是微信官方給出的示例代碼,但是對于實際項目使用,還需要進一步對代碼進行封裝。本文基于 vue 進行示范,其余類框架同理。

在微信公眾平臺的官方文檔中已經指出,由于安全性考慮,需要將簽名邏輯放在后端處理,所以簽名原理不在此贅述,主要講講如何使用后端返回后的簽名調用 jssdk。在邏輯層面,由于 wx.config 方法是調用任何接口前所必須的,所以我們可以盡可能將其抽離出來單獨放置。

# utils/
.
├── common.js            # 通用函數
└── lib
    └── wechat           # 微信相關代碼
        ├── auth         # 微信用戶登陸獲取信息相關代碼
        │   ├── auth.js
        │   └── index.js
        ├── config       # jssdk 初始化相關代碼
        │   └── index.js
        ├── helper.js    # 微信相關操作
        └── share        # 分享接口相關代碼
            └── index.js
import sdk from 'weixin-js-sdk';

export function initSdk({ appid, timestamp, noncestr, signature, jsApiList }) { // 從后端獲取
  sdk.config({
    debug: process.env.VUE_APP_ENV !== 'production',
    appId: appid,
    timestamp: timestamp,
    nonceStr: noncestr,
    signature: signature,
    jsApiList: jsApiList
  });
}

這樣就可以完成對 jssdk 的初始化,之后可以進行分享接口的初始化。最初的時候我想分享接口既然是可能對應每一個 url 頁面(SPA 應用中的 view),那么就應該在 view 中使用 mixin 混入來書寫,所以產生了第一版實現。

// example.vue
export default {
  name: 'example',

  wechatShareConfig() {
    return {
      title: 'example',
      desc: 'example desc',
      imgUrl: 'http://xxx/example.png',
      link: window.location.href.split('#')[0]
    };
  }
}
// wechatMixin.js
import { share } from '@/utils/lib/wechat/share';

// 獲取 wechat 分享接口配置
function getWechatShareConfig(vm) {
  const { wechatShareConfig } = vm.$options;
  if (wechatShareConfig) {
    return typeof wechatShareConfig === 'function'
      ? wechatShareConfig.call(vm)
      : wechatShareConfig;
  }
}

const wechatShareMixin = {
  created() {
    const wechatShareConfig = getWechatShareConfig(this);
    if (wechatShareConfig) {
      share({ ...wechatShareConfig });
    }
  }
};

export default wechatShareMixin;
// utils/lib/wechat/share
import { getTicket } from '@/utils/lib/wechat/helper'; // 簽名接口
import { initSdk } from '@/utils/lib/wechat/config';
import sdk from 'weixin-js-sdk';

// 接口清單
const JS_API_LIST = ['onMenuShareAppMessage', 'onMenuShareTimeline'];

// 消息分享
function onMenuShareAppMessage(config) {
  const { title, desc, link, imgUrl } = config;
  sdk.onMenuShareAppMessage({ title, desc, link, imgUrl });
}

// 朋友圈分享
function onMenuShareTimeline(config) {
  const { title, link, imgUrl } = config;
  sdk.onMenuShareTimeline({ title, link, imgUrl });
}

export function share(wechatShareConfig) {
  if (!wechatShareConfig.link) return false;

  // 簽名驗證
  getTicket(wechatShareConfig.link).then(res => {
    // 初始化 `jssdk`
    initSdk({
      appid: res.appid,
      timestamp: res.timestamp,
      noncestr: res.noncestr,
      signature: res.signature,
      jsApiList: JS_API_LIST
    });

    sdk.ready(() => {
      // 初始化目標接口
      onMenuShareAppMessage(wechatShareConfig);
      onMenuShareTimeline(wechatShareConfig);
    });
  });
}

寫完之后乍一看似乎沒什么毛病,但是每個 view 文件夾下的 .vue 都有一份微信配置顯得很是臃腫,所以第二版實現則是將 jssdk 初始化放在 vue-routerbeforeEach 鉤子中進行,這樣可以實現分享配置的統一配置,更加直觀一些。

// router.js

//...
routes: [
  {
    path: '/',
    component: Example,
    meta: {
      wechat: {
        share: {
          title: 'example',
          desc: 'example desc',
          imgUrl: 'https://xxx/example.png'
        }
      }
    }
  }
]
//...

// 初始化分享接口
function initWechatShare (config) {
  if (config) {
    share(config);
  }
}

router.beforeEach((to, from, next) => {
  const { shareConfig } = to.meta && to.meta.wechat;
  const link = window.location.href;

  if (!shareConfig) next();

  initWechatShare({ ...shareConfig, link });
  switchTitle(shareConfig.title); // 切換標題
  next();
});

這樣一來,會顯得 .vue 清爽很多,不會有太多業務邏輯之外的代碼。

以上就是微信jssdk邏輯在vue中的使用方法介紹(代碼示例)的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 欧美大片久久久| 欧美久久久久久久久久久久久| 青青青在线观看视频| 三级黄色片播放| 成人短视频在线看| 国产日本欧美在线| 少妇高潮流白浆| 日韩不卡一二区| 一级特黄妇女高潮| 中国女人做爰视频| 国产爆乳无码一区二区麻豆| japanese在线播放| 国产不卡一区二区视频| 99热在线这里只有精品| 亚洲人成无码www久久久| 日日碰狠狠丁香久燥| 亚欧激情乱码久久久久久久久| 无尽裸体动漫2d在线观看| 天美一区二区三区| 国产精品69久久久| 黄色免费观看视频网站| 免费看国产黄色片| 国产三级中文字幕| 大j8黑人w巨大888a片| 韩国日本美国免费毛片| 国产一区二区在线免费播放| 91在线第一页| 鲁一鲁一鲁一鲁一澡| 狠狠热免费视频| 久久视频免费在线| 热久久精品国产| 亚洲国产精品女人| 午夜免费精品视频| 强伦女教师2:伦理在线观看| 国产日产欧美视频| 免费看啪啪网站| 大j8黑人w巨大888a片| 99精品视频国产| 人妻av中文系列| 波多野结衣在线免费观看| 欧美日韩二三区| www亚洲国产| 中文字幕免费高清在线| 国产v片免费观看| av磁力番号网| 国产福利精品一区二区三区| 精品少妇人妻av免费久久洗澡| 国产又大又黄又粗又爽| 日韩精品xxxx| 国产欧美精品aaaaaa片| 手机精品视频在线| 天天干天天综合| 国产乱子夫妻xx黑人xyx真爽 | 中文字幕人妻熟女人妻洋洋| 簧片在线免费看| 欧美丰满熟妇bbbbbb百度| 97在线免费视频观看| www,av在线| 三级性生活视频| 四季av一区二区| 99精品免费在线观看| 国产a级片网站| 国产日本在线播放| 日本五级黄色片| 免费看日本黄色| a级免费在线观看| 欧美乱做爰xxxⅹ久久久| 国产女主播av| 国产免费xxx| 黄色一级片国产| 久久在线中文字幕| 国产精品无码免费专区午夜| 成人国产在线看| 欧美一级片免费播放| 黄色一级视频片| 激情深爱综合网| 中文字幕在线观看第三页| 久久黄色免费看| 91精品999| 91网站在线观看免费| 91午夜在线观看| www.国产区| caoporm在线视频| 2021国产视频| 成人毛片视频网站| 亚洲精品久久久中文字幕| 久久精品视频在线观看免费| 四虎4hu永久免费入口| 国产深夜男女无套内射| 那种视频在线观看| 四虎成人在线播放| 成人免费观看cn| jizz大全欧美jizzcom| 青青视频免费在线观看| 欧美日韩黄色一级片| 亚洲欧美日韩三级| www污在线观看| 日本肉体xxxx裸体xxx免费| 干日本少妇视频| 国产在线青青草| gogogo免费高清日本写真| 精品久久久久久久久久中文字幕| 88av.com| a级黄色小视频| 潘金莲激情呻吟欲求不满视频| 欧美这里只有精品| 欧美特黄aaa| 久久免费视频3| 99中文字幕在线| 欧美成人精品欧美一级乱| 路边理发店露脸熟妇泻火| 牛夜精品久久久久久久| 国产日韩av网站| 色婷婷综合在线观看| 欧美黑人又粗又大又爽免费| 成人一级生活片| 超碰在线超碰在线| 亚洲国产高清av| 日韩免费高清在线| 国产精品无码人妻一区二区在线 | 大肉大捧一进一出好爽视频| 中文字幕综合在线观看| 日韩一级免费在线观看| 国产美女在线一区| www.日本在线视频| 91看片淫黄大片91| 欧美精品一区二区性色a+v| 亚洲天堂2018av| 久久精品影视大全| 欧美精品无码一区二区三区| 国产在线青青草| 91视频 -- 69xx| 激情综合在线观看| 国产二区视频在线播放| 欧美一区二区三区爽大粗免费| 欧美一级欧美一级| 国产天堂视频在线观看| 女人帮男人橹视频播放| 国产精品久久国产| 国产午夜福利在线播放| 久久国产亚洲精品无码| 男人的天堂99| 久热精品在线观看视频| 热久久久久久久久| 51xx午夜影福利| 五十路熟女丰满大屁股| 美女福利视频在线| 色婷婷.com| 国产在线无码精品| 久久久一本二本三本| av免费在线播放网站| 最新国产黄色网址| 欧美一级爱爱视频| 日本免费不卡一区二区| 国产激情在线观看视频| 伊人免费视频二| 国产美女在线一区| 久久婷婷国产91天堂综合精品| 超碰人人草人人| 天堂8在线天堂资源bt| 成人精品视频一区二区| 亚洲图片 自拍偷拍| 无码人妻精品一区二区蜜桃网站| 人妻av中文系列| 欧美性受xxxxxx黑人xyx性爽| 在线观看污视频| 丁香婷婷激情网| 日韩一区二区高清视频| 成人性做爰aaa片免费看不忠| 日韩欧美中文视频| 日韩中文字幕三区| 伊人再见免费在线观看高清版 | 8x8ⅹ国产精品一区二区二区| 熟女少妇在线视频播放| 亚洲色图欧美自拍| 男人天堂999| 国产乱子伦精品无码专区| 欧美特级aaa| 2022亚洲天堂| 激情小视频网站| www.污污视频| 久久精品免费网站| www.99热这里只有精品| 欧美一级黄色录像片| 亚洲xxx在线观看| 99热在线这里只有精品| www.好吊操| 黄色一级大片免费| av磁力番号网| 视频区 图片区 小说区| 亚洲免费av一区| 中文字幕视频在线免费观看| 欧美老熟妇喷水| 美女日批免费视频| 每日在线观看av| 欧美又粗又长又爽做受| 青青在线视频免费观看| 国产一级黄色录像片| 欧洲美女和动交zoz0z| 公共露出暴露狂另类av|