一個H5頁面的功能,比較簡單的一個調查表功能,嵌套在我們微信公眾號里面。選用的技術棧是Vue。同時用到了微信的登錄和分享接口。
主要功能以及遇到的問題:
1.左右切換動畫
--首先我考慮到用vue的移動端動畫庫,看了好久,但是項目非常小,就放棄了這個選擇自己開始手寫。首先我考慮到的是過渡效果。并且找到了相關的文章參考。代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
`<template>
<p id="app">
<transition :name="'fade-'+(direction==='forward'?'last':'next')">
<router-view></router-view>
</transition>
</p>
</template>
<script>
export default {
name: "app",
data: ()=> {
return {
direction: ""
};
},
watch: {
$route(to, from) {
let toName=to.name;
const toIndex=to.meta.index;
const fromIndex=from.meta.index;
this.direction=toIndex < fromIndex ? "forward" : "";
}
}
}
</script>
<style scoped>
.fade-last-enter-active {
animation: bounce-in 0.6s;
}
.fade-next-enter-active {
animation: bounce-out 0.6s;
}
@keyframes bounce-in {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(0rem);
}
}
@keyframes bounce-out {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(0rem);
}
}
</style>`
參考:https://yq.aliyun.com/article...
2.路由帶參數(shù)跳轉
這個就是記錄一下,有三種方法。
1.直接在route-link:to 中帶參數(shù):
1
<router-link :to="{name:'home', query: {id:1}}">
2.在this.$router.push中帶參數(shù):
使用query帶參數(shù): 類似于get傳參 參數(shù)會拼接到url上面
1
2
this.$router.push({name:'home',query: {id:'1'}})
this.$router.push({path:'/home',query: {id:'1'}})
使用params帶參數(shù): 只能用name 類似于post 參數(shù)不會拼接
1
this.$router.push({name:'home',params: {id:'1'}})
參考鏈接:https://blog.csdn.net/jiandan...
3.移動端引入外部字體樣式
4.使用htmtl2canvas截圖功能,轉換成圖片
1
2
3
4
5
6
7
8
9
10
11
setTimeout(()=> { //這里用定時器是因為頁面一加載出來我就展示的是圖片 為了防止圖片還未生成 給點時間
html2canvas(document.querySelector("#top"), {
useCORS: true, //是否嘗試使用CORS從服務器加載圖像
logging: false,//刪除打印的日志
allowTaint: false //這個和第一個很像 但是不能同時使用 同時使用toDataURL會失效
}).then(canvas=> {
let imageSrc=canvas.toDataURL("image/jpg"); // 轉行img的路徑
this.imageSrc=imageSrc; //定義一個動態(tài)的 :src 現(xiàn)在是賦值給src 圖片就會展現(xiàn)
this.$refs.top.style.display="none"; // 讓頁面上其他元素消失 只顯示圖片
});
}, 1000);
題外話: 當時做這個的時候真的有點懵。官網(wǎng)文檔太少了,當時遇到圖片跨域問題,找了好久,可能是我沒有仔細Jan官網(wǎng)的參數(shù)配置文件。浪費了很多時間,哭哭。
參考鏈接:http://html2canvas.hertzen.com/
5.使用微信接口(前端部分)
我們用微信SDK接口主要是做的登錄和分享功能,首先是上微信公眾平臺上邊看看,把權限搞好之后后端配置。前端只需請求得到數(shù)據(jù),在進行一些配置就可以。這里主要介紹分享給朋友和分享到朋友圈功能:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
this.code=location.href; //首先獲取code
if (this.code.lastIndexOf("code=") !=-1) {
(this.code=this.code.substring(
this.code.lastIndexOf("code=") + 5,
this.code.lastIndexOf("&state")
)),
this.$axios
.get("*******8?code=".concat(this.code))
.then(function(t) { //獲取后端傳會來的參數(shù)
localStorage.setItem("unionid", t.data.unionid);
localStorage.setItem("openid", t.data.openid);
localStorage.setItem("nickname", t.data.nickname);
localStorage.setItem("headimgurl", t.data.headimgurl);
});
}
this.url=encodeURIComponent(location.href.split("#/")[0]);//獲取配置的路徑
this.$axios.get(`*********?url=${this.url}`).then(res=> {
this.res=res.data;
wx.config({
debug: false, // 開啟調試模式,
appId: res.data.appId, // 必填,企業(yè)號的唯一標識,此處填寫企業(yè)號corpid
timestamp: res.data.timestamp, // 必填,生成簽名的時間戳
nonceStr: res.data.nonceStr, // 必填,生成簽名的隨機串
signature: res.data.signature, // 必填,簽名,見附錄1
jsApiList: [
"updateAppMessageShareData",
"updateTimelineShareData",
"showMenuItems",
"hideAllNonBaseMenuItem"
] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
//參考公眾平臺寫的:
wx.ready(function() {
wx.hideAllNonBaseMenuItem();
wx.showMenuItems({
menuList: [
"menuItem:share:appMessage",
"menuItem:share:timeline",
"menuItem:favorite"
] // 要顯示的菜單項,所有menu項見附錄3
});
wx.updateTimelineShareData({
title: "******", // 分享標題
desc: "*********", // 分享描述
link: "**********", // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
imgUrl: "******", // 分享圖標
success: function() {
***** 執(zhí)行結束后執(zhí)行的回調
}
});
wx.updateAppMessageShareData({
title: "*******", // 分享標題
desc: "*********", // 分享描述
link: "*********", // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
imgUrl: "********, // 分享圖標
success: function() {
*******
}
});
});
}
6.移動端屏幕適配
現(xiàn)在我們移動端屏幕適配,我用的是rem,之前也有看到說有一個felxable.js的庫,后來去查,說是有更好的作者放棄了,并且給我們提供了鏈接,哈哈哈哈真的太可愛了。準備抽時間去仔細看看,公司下一個項目又來了,真的加班了好久,為了如期完成項目,完成之后立馬就新開項目,有點心累,這把應該是APP了,完全沒有任何經(jīng)驗,嗷嗷只能硬著頭皮做,還是要恰飯的,可憐的應屆狗不敢造次。
下面分享一下rem適配的代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//默認調用一次設置
setHtmlFontSize();
function setHtmlFontSize() {
// 1. 獲取當前屏幕的寬度
var windowWidth=document.documentElement.offsetWidth;
// console.log(windowWidth);
// 2. 定義標準屏幕寬度 假設375
var standardWidth=375;
// 3. 定義標準屏幕的根元素字體大小 假設100px 1rem=100px 10px=0.1rem 1px 0.01rem
var standardFontSize=100;
// 4. 計算當前屏幕對應的根元素字體大小
var nowFontSize=windowWidth / standardWidth * standardFontSize + 'px';
// console.log(nowFontSize);
// 5. 把當前計算的根元素的字體大小設置到html上
document.querySelector('html').style.fontSize=nowFontSize;
}
// 6. 添加一個屏幕寬度變化的事件 屏幕變化就觸發(fā)變化根元素字體大小計算的js
window.addEventListener('resize', setHtmlFontSize);
把這段代碼引入到main.js里面,然后使用轉換器把px轉成rem 就可以了。
7.其他問題匯總
1.點擊事件點擊多次只執(zhí)行一次:
可以使用.once修飾符 還有很多有用的修飾符,大家有時間可以去看看~~
2.使用ios輸入框的時候,鍵盤彈起來回遮擋下面的按鈕等元素的事件:
我們可以給input注冊一個失去焦點事件,當失去焦點的時候設置document.body.scroolTop=0;
3.打包項目遇到靜態(tài)資源不展示的現(xiàn)象或者是路徑錯誤:
我用的是vue-cil3,他把配置文件都放在了node_modules中,官方文檔上面有介紹,如果需要修改配置,
就新建一個vue.config.js文件,他會自動的覆蓋之前的文件。主要是修改成: publicPath: "./",
文檔已經(jīng)沒有baseUrl,現(xiàn)在全部使用publicPath,跟著文檔配置就ok了。
相關教程:Vue框架視頻教程
以上就是如何使用vue完成微信公眾號網(wǎng)頁的詳細內容,更多請關注其它相關文章!
更多技巧請《轉發(fā) + 關注》哦!
在大家學習和生活的節(jié)奏越來越快,日常很多雜事就容易忘記,不過對于辦公一族來說,在自己電腦桌面和手機上添加一個有效的任務管理及記事提醒工具,就會讓我們的工作效率事半功倍。筆者今天介紹的曉日程便是這樣的工具,它可以有效管理我們的日常,并實現(xiàn)手機、PC之間數(shù)據(jù)共享。
與好友共同分享日程提醒
對于手機用戶,曉日程使用公眾號實現(xiàn)所有功能。這樣無論是安卓還是蘋果用戶,只要搜索并關注“曉日程“公眾號,進入公眾號后就可以使用日歷提醒功能了。
在公眾號中點擊“曉日程”進入我的日程,點擊右側的“+”即可新建日程。假設準備周末和好友聚餐,可以設置一個提醒日歷,按提示設置聚會地址,開始和結束提醒的時間,再在分享列表中選擇“需要報名參加”,最后點擊“保存”(圖1)。
圖1 日歷設置
完成日程創(chuàng)建后就可以點擊右上角的分享按鈕,在微信好友列表中選擇準備參加聚餐的朋友,將日歷分享給他們。好友收到日程分享后,如果需要參加這樣的聚會,點擊“確認參加”即可(圖2)。確認參加的好友,數(shù)據(jù)將回饋給邀請發(fā)起人,這樣我們就能掌握聚會到底有多少人會參加了。
圖2 好友收到的確認信息
特殊事件的特殊提醒
對于一些不確定的事宜,我們可以在制定任務的頁面點擊“待定事項”,然后輸入待定任務說明。比如某些證件的年審,只是需要在某個指定日期之前完成即可,那么就可以將其歸入待定任務中,其狀態(tài)將會顯示為“未完成”,并可以根據(jù)事務類型設置優(yōu)先級,這樣方便我們選擇一個合適的時間去完成(圖3)。
圖3 制定待定任務
小提示:對于一些特殊日期,曉日程還提供了訂閱功能。在公眾號中切換到“熱門日歷→中國假期”,選中“中國假期”,點擊“訂閱”,以后切換到有中國假期的日歷時,就可以看到詳細的假期信息了。另外還可以自行訂閱2019資質考試時間表、著名球隊比賽時間等日歷提醒。
打通手機和PC
除了在手機上制定日程任務,曉日程還可以實現(xiàn)手機和PC之間的同步,這樣我們在手機上完成日程的創(chuàng)建后,在電腦上也可以同步到看到最新的日歷信息。
曉日程支持Windows側邊欄小工具,打開http://xricheng.com/index.html,下載并安裝曉日程。啟動后使用微信掃碼登錄,上述在公眾號添加的日程就會自動同步到電腦端了,選中上面制定或者訂閱的任務,在桌面上就可以看到同步的任務了(圖4)。
圖4 查看同步任務
對于每個月都需要制定的任務,或者是一些比較復雜的任務,我們可以在電腦上利用鍵盤快速操作,它同樣也會自動同步到手機上(圖5)。
圖5 在電腦上制定任務
電腦上的提醒方式可以選擇彈出消息,或者添加聲音提醒。完成任務同步后,如果你在電腦邊,那么提醒時間到了后桌面就會彈出提醒窗口,同時在手機上也會收到曉日程公眾號推送的消息提醒,重要的信息就不會再忘記了。
(團團提醒:文末有驚喜福利,別錯過!)
7月9日消息,根據(jù)微信公眾號后臺提示,現(xiàn)支持標題3個字以內、正文20個字以內的修改。若修改標題,文首還會顯示“標題已修改”。修改后的標題將在文章頁、公眾號主頁、用戶新收到的分享卡片中生效。
目前
可在微信公眾號PC端修改標題
“訂閱號助手”APP
還不支持修改標題
仍然只能修改正文
網(wǎng)友熱議
2024年6月27日,久事美術館迎來年度大展“律之繪音:趙無極的畫意與詩心”。
本次展覽從趙無極1940年代末至2000年代的創(chuàng)作中優(yōu)選展陳,集中展示了百余件珍貴版畫以及瓷器,并精選翻譯了60余首配圖詩文。展覽通過“視象詩心”“游目往觀”“無遠弗屆”三個主題板塊,首次在亞洲完整呈現(xiàn)趙無極與詩人合作完成的10余套詩文版畫集,旨在讓觀者得以穿越時光長河,與藝術家在詩畫中同行。展覽期間館方還將推出系列主題講座及圓桌論壇、版畫體驗工坊、“小小講解員”等豐富多樣的配套公教美育體驗活動,旨在讓不同年齡段的觀眾可以更直觀地了解藝術創(chuàng)作過程及樂趣。
伙伴們,評論區(qū)見喲
來源:瀟湘晨報、青年報
責任編輯:霸天萌
校審:林桂人、神小丟
終審:文心