国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

怎樣實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:42:51
文檔

怎樣實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享

怎樣實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享:這次給大家?guī)碓鯓訉?shí)現(xiàn)Vue項(xiàng)目全局配置微信分享,實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。這個(gè)項(xiàng)目為移動(dòng)端項(xiàng)目,主要用于接入公眾號(hào)服務(wù)。項(xiàng)目采用兩種登錄方式,微信授權(quán)登錄以及賬號(hào)密碼登錄。對(duì)于移動(dòng)端項(xiàng)目而言
推薦度:
導(dǎo)讀怎樣實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享:這次給大家?guī)碓鯓訉?shí)現(xiàn)Vue項(xiàng)目全局配置微信分享,實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。這個(gè)項(xiàng)目為移動(dòng)端項(xiàng)目,主要用于接入公眾號(hào)服務(wù)。項(xiàng)目采用兩種登錄方式,微信授權(quán)登錄以及賬號(hào)密碼登錄。對(duì)于移動(dòng)端項(xiàng)目而言

這次給大家?guī)碓鯓訉?shí)現(xiàn)Vue項(xiàng)目全局配置微信分享,實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

這個(gè)項(xiàng)目為移動(dòng)端項(xiàng)目,主要用于接入公眾號(hào)服務(wù)。項(xiàng)目采用兩種登錄方式,微信授權(quán)登錄以及賬號(hào)密碼登錄。對(duì)于移動(dòng)端項(xiàng)目而言,為了便于項(xiàng)目擴(kuò)展以及提供開發(fā)熱更新速度,項(xiàng)目分為不同的模塊,每個(gè)模塊是一個(gè)單頁(yè)面應(yīng)用。頁(yè)面分為兩種,一種是需要用戶登錄之后才能瀏覽,另一種是用戶無需登錄即可瀏覽。無論哪一種,均配置微信分享。

使用的技術(shù)

1.使用vue作為框架
2.使用vux作為UI組件庫(kù)

全局配置微信分享思路

1.區(qū)分一般和特殊,一般情況,全局配置默認(rèn)分享文案;特殊情況分兩種,一種是分享內(nèi)容不需要異步獲取,則在路由跳轉(zhuǎn)時(shí)配置,另一種是分享內(nèi)容需要異步獲取,則需要待異步內(nèi)容獲取后更新分享內(nèi)容。

2.不需要異步獲取的內(nèi)容我們采用定義在路由元信息的方式,直接在每次路由跳轉(zhuǎn)之后調(diào)用公共函數(shù)更新分享內(nèi)容。

具體可以查看微信JSSDK的使用說明

// wxShare.js
import Vue from 'vue'
// 在組件外使用vux集成的微信jssdk
import { WechatPlugin, AjaxPlugin } from 'vux'
Vue.use(WechatPlugin)
Vue.use(AjaxPlugin)
export default function wxShare ({title, desc, timelineTitle, link, imgUrl} = {}) {
 Vue.wechat.config({
 debug: false,
 appId: appId,
 timestamp: timestamp,
 nonceStr: nonceStr,
 signature: signature,
 jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline']
 })
 Vue.wechat.ready(() => {
 Vue.wechat.onMenuShareAppMessage({
 title: title, // 分享標(biāo)題
 desc: desc || '默認(rèn)分享文案', // 分享描述
 link: link || window.location.href, // 分享鏈接
 imgUrl: imgUrl || '圖標(biāo)地址(必須是有效的Link)' // 分享圖標(biāo)
 })
 Vue.wechat.onMenuShareTimeline({
 title: timelineTitle || desc || '默認(rèn)分享文案', // 分享標(biāo)題,由于分享到朋友圈沒有desc,所以這里采用的策略是,指定的朋友圈分享標(biāo)題優(yōu)先,其次采用發(fā)送給朋友的描述,最后采用默認(rèn)文案。
 link: link || window.location.href, // 分享鏈接
 imgUrl: imgUrl || '圖標(biāo)地址(必須是有效的Link)' // 分享圖標(biāo)
 })
 })
 Vue.wechat.error((res) => {
 })
}
// 為Vue的原型對(duì)象添加該方法,則所有vue實(shí)例都能繼承該方法
Vue.prototype.$wxShare = wxShare
// router/index.js 每個(gè)模塊都有自己內(nèi)部的路由配置
// codes...
const routes = [
 {
 path: '/index',
 name: 'index',
 redirect: '/index/homepage',
 children: [
 {
 path: '/index/homepage',
 name: 'homepage',
 component: homepage
 meta: { 
 title: '這是主頁(yè)', 
 shareDesc: '這是本站的主頁(yè)', 
 desc: 'homepage, click and see!',
 timelineTitle: '這是首頁(yè),歡迎點(diǎn)擊關(guān)注,blablablablabla~~~',
 imgUrl: 'http://frankzhang.me/wp-content/uploads/2017/08/cropped-favicon-01.png'
 }
 },
 ]
 }
]
// routerRule,公共路由配置,所有模塊共用一個(gè)路由控制策略
import wxShare from '@/utils/wxShare'
export default function routerRule (router) {
 // other codes...
 router.afterEach(( to, from ) => {
 wxShare({ title: to.meta.title, desc: to.meta.shareDesc, link: to.meta.shareLink, logo: to.meta.shareLogo})
 })
}
// main.js
import routerRule from ...
routerRule(router)

經(jīng)過上面的配置,router.afterEach都會(huì)調(diào)用一次wxShare,重新讀取router中的meta的信息重新定義微信分享內(nèi)容,達(dá)到全局配置和特殊配置結(jié)合的目的。

需要異步獲取的分享內(nèi)容

這種情況,我們采取在vue實(shí)例的created鉤子中,在獲取數(shù)據(jù)的成功回調(diào)中調(diào)用一次wxShare即可

// homepage.vue
<script>
export default {
 data() {
 return {
 }
 },
 created() {
 getHomepageInfo()
 .then( res => {
 this.$wxShare({
 title: res.title,
 desc: res.desc,
 imgUrl: res.logo
 })
 } )
 }
}
</script>

需要注意的坑點(diǎn)

1.如果項(xiàng)目采用非history模式,則需要去掉url上#后的部分傳給后端換取微信簽名。

2.根據(jù)微信官方說明:

所有需要使用JS-SDK的頁(yè)面必須先注入配置信息,否則將無法調(diào)用(同一個(gè)url僅需調(diào)用一次,對(duì)于變化url的SPA的web app可在每次url變化時(shí)進(jìn)行調(diào)用...

由于SPA應(yīng)用,url變化之后,需要重新config一次,重新注入當(dāng)前頁(yè)面的配置信息,因此這個(gè)步驟必須在router.afterEach中調(diào)用!因?yàn)楦鶕?jù)vue-router的說明,在導(dǎo)航被確認(rèn)之后,再調(diào)用全局的afterEach鉤子,這個(gè)時(shí)候?qū)Ш揭呀?jīng)確認(rèn)了,url已經(jīng)改變,可以針對(duì)更新后的url重新獲取微信簽名了。

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注Gxl網(wǎng)其它相關(guān)文章!

推薦閱讀:

優(yōu)化vue項(xiàng)目步驟詳解

怎樣使用Node.js內(nèi)Koa實(shí)現(xiàn)JWT用戶認(rèn)證

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

怎樣實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享

怎樣實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享:這次給大家?guī)碓鯓訉?shí)現(xiàn)Vue項(xiàng)目全局配置微信分享,實(shí)現(xiàn)Vue項(xiàng)目全局配置微信分享的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。這個(gè)項(xiàng)目為移動(dòng)端項(xiàng)目,主要用于接入公眾號(hào)服務(wù)。項(xiàng)目采用兩種登錄方式,微信授權(quán)登錄以及賬號(hào)密碼登錄。對(duì)于移動(dòng)端項(xiàng)目而言
推薦度:
標(biāo)簽: 安裝 VUE 安裝微信
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日韩欧美电影在线观看 | 交换国产精品视频一区 | 国产精品免费_区二区三区观看 | 亚洲欧美日韩视频一区 | 亚洲一区精品伊人久久 | 欧美日a| 精品国产91久久久久久久 | 午夜日韩久久影院 | 国产视频高清 | 97久久精品午夜一区二区 | 日本激情一区二区三区 | 国精产品一区 | 日韩欧美一区二区三区在线观看 | 日韩欧美在线免费观看 | 91网红福利精品区一区二 | 国产区二区| 国产精品久久一区一区 | 亚洲精品视频在线 | 精品久久综合一区二区 | 欧美高清视频在线 | 福利一区在线观看 | 欧美日韩精品免费一区二区三区 | 国产精品系列在线观看 | 欧美午夜视频在线 | 久久精品韩国日本国产 | 亚洲视频欧洲视频 | 热久久国产欧美一区二区精品 | 99精品国产高清一区二区三区香蕉 | 欧美第二区 | 日韩专区第一页 | 国产精品亚洲综合一区 | 国产成人一区二区三区小说 | 国产精品视频福利一区二区 | 看全色黄大色大片免费久久 | 欧美激情首页 | 国产在线高清不卡免费播放 | 97久久精品午夜一区二区 | 日日夜夜天天干 | 国产欧美日韩综合精品无毒 | 午夜视频在线观看免费视频 | 啪啪亚洲 |