乾貨分享:小程式專案實踐和經驗總結
最近接觸小程式開發,我特將本次開發過程中所使用到的相關知識點進行了總結,以作為經驗的積累。希望給自己以後的開發,提供一些幫忙,同時提高解決問題的能力。如有錯誤,請大家指正。
github地址;專案地址;
weui:使用微信原生視覺體驗樣式庫
認識: WeUI 是一套同微信原生視覺體驗一致的基礎樣式庫,由微信官方設計團隊為微信內網頁和微信小程式量身設計,令使用者的使用感知更加統一。
官網: https://weui.io/
github地址: https://github.com/weui/weui-wxss
微信推出了一套官方樣式庫,方便大家開發,對於一些類似的UI介面我們需要引入即可,無需重複造輪子。我們只需匯入weui.wxss等即可減少大量的css佈局工作.
關於本地圖片資源路徑(background)
小程式只有image標籤支援本地圖片資源路徑,wxss裡的background-image不支援。
如果想在css中使用背景圖,解決方法:
1、將本地圖片用線上地址轉化成base64路徑。線上轉化base64的地址:http://imgbase64.duoshitong.com/
2、url裡面的圖片來源必須填寫外鏈。如下:
area{ background: url('https://mirror-gold-cdn.xitu.io/168e088859e325b9d85?imageView2/1/w/100/h/100/q/85/format/webp/interlace/1' ) no-repeat center; }
websocket問題
體驗版支援ws協議,需要開啟除錯模式
如果websocket是連線的域名非IP地址,則不能通過連線代理更改電腦的host來指定socket域名的解析地址
如果有測試環境,建議:
- 建一個專有的測試環境websocket域名
- 直接使用測試環境的IP地址訪問websocket
關於時間格式在ios中處理方法
背景: 由於ios只識別格式yyy/mm/dd格式,如"2018-10-31 20:30:00"格式無法識別;
預設情況下資料庫拿到的日期格式為“2018-08-30 12:00:00”,如果不替換“-”的話,在IOS下是不能通過getDate(datestring)獲取到日期物件的。Android下兩種格式均表現正常。
解決方法: 通過正則替換掉所有的"-",如下:
var dateStr = "2018-09-08 12:30:30"; // 後臺返回的時間字串
dateStr = dateStr.replace(/-/g, '/');
console.log(dateStr);
結果為:2018/09/08 12:30:30
小程式DOM上附屬引數,函式中獲取引數方法
view.wxml:
// DOM上附屬引數
<view
data-id='{{fangyuanItem.id}}'
data-houseitemid='{{fangyuanItem.houseItemId}}'
catchtap='viewMendianDetail'>
</view>
view.js:
// 函式中獲取引數
page({
data:{},
viewMendianDetail: function (e) {
var roomtypeid = e.currentTarget.dataset.id;
var houseItemId = e.currentTarget.dataset.houseitemid;
}
})
注意: 附屬引數時,data-key,key格式為小寫;
小程式 navigator 無法跳轉 tabBar上的頁面
方法一:navigator 的 open-type 設定為 switchTab
程式碼如下:
<navigator url="../cart/index" open-type="switchTab">
<text>首頁</text>
</navigator>
方法二:wx.switchTab({})
程式碼如下:
index.wxml:
<text catchtap="toIndex">首頁</text>
index.js:
page({
toIndex(){
wx.switchTab({
url: '../cart/index'
})
}
})
wx.navigateTo和wx.switchTab導航傳參
wx.navigateTo導航傳參
1.wx.navigateTo,url通過引數拼接傳參;
// 訪問房型詳情
viewMendianDetail: function (e) {
var roomtypeid = e.currentTarget.dataset.id;
var houseItemId = e.currentTarget.dataset.houseitemid;
wx.navigateTo({
url: '/pages/index/index?houseItemId=' + houseItemId + '&roomtypeid=' + roomtypeid,
})
}
2.定位到的元件中通過生命週期函式onLoad接收引數物件,並設定本元件中的資料
pages/index/index:
onLoad: function (options) {
//console.log(options)
var houseItemId = options.houseItemId
var roomtypeid = options.roomtypeid
this.setData({
houseItemId: houseItemId,
roomTypeId: roomtypeid
})
}
wx.switchTab導航傳參
1.前提:app.js中有定義全域性變數searchInfo,如下:
App({
globalData: {
searchInfo:{
searchInput:"",
laiyuan:0
}
}
});
2.通過app.globalData定義全域性引數,如下:
a.wxml:
const app = getApp()
page({
data:{},
toZhaofang:function(e){
app.globalData.searchInfo = {
"searchInput": searchInput,
"laiyuan": 1
}
wx.switchTab({
url: '/pages/tabbar/zhaofang/index',
})
}
})
3.通過app.globalData來接收全域性引數,如下:
zhaofang/index.wxml:
const app = getApp()
page({
onLoad(){
let searchInfo = app.globalData.searchInfo
let searchInput = searchInfo.searchInput;
}
})
自定義小程式轉發功能
預設情況下,我們需要點選小程式右上角的...才能看到轉發,這樣並不能對使用者起到引導作用,通常的做法是使用一個button,並且設定open-type為share,這樣就可以通過按鈕啟動分享。
但是原生按鈕很難看,我們可以設定一個圖片,並且調整按鈕的樣式;
效果如圖:
share.wxml:
<button open-type="share"><image src="/images/icon-share.png"></image></button>
share.wxss:
button {
padding:0;
width:70rpx;
height:70rpx;
display:block;
border:0;
background: transparent;
}
button::after {
border:0;
}
注意: 尤其是對 button::after 要進行設定,否則按鈕的邊框是無法去掉的。
通過 wx.getSystemInfo()來獲取手機資訊(包括寬,高)
小程式提供的getSystemInfo()方法,該方法可以獲取到裝置的常用資訊,如手機型號.裝置畫素比.螢幕寬高等等.最常用的就是螢幕寬高了.
為了保證獲取資訊的準確性,wx.getSystemInfoSync是在頁面初始化的時候就計算了。所以最好的方法是使用非同步介面,並且在onReady函式中呼叫。
info.js:
Page({
onReady: function (options) {
this.getSystemInfo();
},
getSystemInfo:function(){
wx.getSystemInfo({
success: function (res) {
console.log("手機螢幕的寬度為:" + res.screenWidth);
console.log("手機螢幕的高度為:" + res.screenHeight);
console.log("可視網頁的寬度為:" + res.windowWidth);
console.log("可視網頁的高度為:" + res.windowHeight);
console.log("手機的系統為:" + res.system);
console.log("微信版本號為:" + res.version);
}
})
}
})
結果如圖:
模板(template)定義與傳參
定義: WXML提供模板(template),可以在模板中定義程式碼片段,然後在不同的地方呼叫。
使用 name 屬性,作為模板的名字。如:
1.定義模板檔案
baseTemplate.wxml:
<template name="msgItem">
<view>
<text> {{index}}: {{msg}} </text>
<text> Time: {{time}} </text>
</view>
</template>
2.使用模板並通過data傳遞引數
使用 is 屬性,宣告需要的使用的模板,然後將模板所需要的 data 傳入。如下:
user.wxml:
<import src="../template/baseTemplate.wxml" />
<block wx:for="{{goodlist}}" wx:key="idx">
<template is="msgItem" data="{{...item}}"></template>
</block>
注意:
1.通過data="{{...item}}"的方式傳遞引數時,被呼叫的模板中,不需要再寫item;
2.如果要傳多個數據到模板,用逗號分開,item 是物件,index是單個數據,要用鍵值對.
<view class="tab-list" wx:for="{{list}}" wx:key="index">
<template is="day-tab" data="{{item,index:index,target:target}}" wx:key="index"></template>
</view>
user.js,資料定義格式如下:
page({
data:{
goodlist:[
{ index: 0,msg: 'this is a template',time: '2016-06-18'},
{ index: 1,msg: 'this is a template1',time: '2017-06-18'},
{ index: 2,msg: 'this is a template2',time: '2018-06-18'}
]
}
})
城市選擇元件picker使用
效果如圖:
元件介紹:
picker:從底部彈起的滾動選擇器。
程式碼如下:
picker.wxml:
<picker
mode='selector'
range="{{region}}"
range-key="{{'cityName'}}"
value='{{indexCity}}'
bindchange="chooseCity"
>
<view class="picker">
{{region[indexCity].cityName}}
</view>
</picker>
picker.js:
page({
data:{
region:[
{"cityName":"北京市","cityId":"12345"},
{"cityName":"上海市","cityId":"67890"},
{"cityName":"武漢市","cityId":"54321"},
]
},
chooseCity(e){
var value = e.detail.value; // index下標
}
})
屬性介紹:
mode(string):選擇器型別;mode 的合法值:
- selector:普通選擇器;
- multiSelector:多列選擇器;
- time:時間選擇器;
- date:日期選擇器;
- region:省市區選擇器
滑動元件scroll-view
介紹: scroll-view:可滾動檢視區域。使用豎向滾動時,需要給scroll-view一個固定高度,通過 WXSS 設定 height。元件屬性的長度單位預設為px,2.4.0起支援傳入單位(rpx/px)。
詳細文件:請參考;
效果如圖:
使用方法如下:
<scroll-view scroll-x="true"></scroll-view>
注意:
1.scroll-view的scroll-x失效的解決辦法
給scroll-view加上white-space: nowrap; 給scroll-view的子元素box加上display:inline-block即可。
程式碼如下:
.scroll-box {
white-space: nowrap;
}
.scroll-box .box{
display:inline-block
}
2.文字資料預設顯示2行,超出部分用"..."代替:
樣式程式碼如下:
line-height: 40rpx;
white-space:pre-line;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
overflow:hidden;
檢視容器cover-image和cover-view
使用背景:
在微信小程式經常會用到一些原生元件,比如map、video、canvas、camera,這些原生元件想讓其他元素覆蓋在其上,必須使用cover-view或者cover-image元件。
cover-view
介紹: 覆蓋在原生元件之上的文字檢視。可覆蓋的原生元件包括 map、video、canvas、camera、live-player、live-pusher。只支援巢狀 cover-view、cover-image,可在 cover-view 中使用 button。元件屬性的長度單位預設為px,2.4.0起支援傳入單位(rpx/px)。
注意: 只支援基本的定位、佈局、文字樣式。不支援設定單邊的border、background-image、shadow、overflow: visible等。
1、支援background-color,不支援background-image,如果你發現你的素材在真機出不來,而且你又設定了背景圖片的話,那你可以把這些元素全部替換成cover-image。
2、不支援overflow: visible也是有點坑,這樣的話,你想超出依然顯示,就需要設定一個同級元素並提升層級才能達到效果了。
效果如圖:
示例程式碼如下:
video.wxml:
<video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400" controls="{{false}}" event-model="bubble">
<cover-view class="controls">
<cover-view class="play" bindtap="play">
<cover-image class="img" src="/path/to/icon_play" />
</cover-view>
<cover-view class="pause" bindtap="pause">
<cover-image class="img" src="/path/to/icon_pause" />
</cover-view>
<cover-view class="time">00:00</cover-view>
</cover-view>
</video>
video.wxss:
.controls {
position: relative;
top: 50%;
height: 50px;
margin-top: -25px;
display: flex;
}
.play,.pause,.time {
flex: 1;
height: 100%;
}
.time {
text-align: center;
background-color: rgba(0, 0, 0, .5);
color: white;
line-height: 50px;
}
.img {
width: 40px;
height: 40px;
margin: 5px auto;
}
video.js
Page({
onReady() {
this.videoCtx = wx.createVideoContext('myVideo')
},
play() {
this.videoCtx.play()
},
pause() {
this.videoCtx.pause()
}
})
cover-image
介紹: 覆蓋在原生元件之上的圖片檢視,可覆蓋的原生元件同cover-view,只支援巢狀在cover-view裡。
cover-image發現了兩個問題:
1、雖說和image元件基本一樣,但是設定mode屬性也就是圖片裁剪、縮放的模式無效
2、寬度固定,高度auto,時,按照正常效果應該是圖片按比例伸縮展示,但是發現該元件高度一直為0,只能根據應用場景尋找其他替代方案了。
檢視容器swiper
介紹: 滑塊檢視容器。其中只可放置swiper-item元件,否則會導致未定義的行為。
效果如圖:
程式碼如下:
swiper.wxml:
<view class="area">
<view class="fuTitle">swiper</view>
<view class="intro">
<text class="one-title">介紹:</text>
<text>滑塊檢視容器。其中只可放置swiper-item元件,否則會導致未定義的行為。</text>
</view>
<view class="item">
<swiper
indicator-dots="{{indicatorDots}}"
indicator-color="{{indicatorColor}}"
indicator-active-color="{{indicatorActiveColor}}"
previous-margin="{{previousMargin}}"
next-margin="{{nextMargin}}"
display-multiple-items="{{itemsNum}}"
autoplay="{{autoplay}}"
interval="{{interval}}"
duration="{{duration}}"
bindchange="bindchange"
easing-function="{{easing}}"
>
<block wx:for="{{imgUrls}}" wx:key="{{index}}">
<swiper-item item-id="{{index}}">
<image src="{{item}}" class="slide-image" width="355" height="150"/>
</swiper-item>
</block>
</swiper>
</view>
</view>
swiper.js
Page({
data: {
imgUrls:[
"../../images/bo1.jpg",
"../../images/bo2.jpg",
"../../images/bo3.jpg",
"../../images/bo4.jpg"
],
indicatorDots: true, // 是否顯示滾動圓點圖示
indicatorColor: "#07c160", // 指示點顏色
indicatorActiveColor: "#28d3ee", // 當前選中的指示點顏色
previousMargin: "10rpx", // 前邊距,可用於露出前一項的一小部分,接受 px 和 rpx 值
nextMargin: "10rpx", // 後邊距,可用於露出後一項的一小部分,接受 px 和 rpx 值
itemsNum:1, // 同時顯示的滑塊數量
easing: "default", // 指定 swiper 切換緩動動畫型別
autoplay: true, // 是否自動播放
interval: 5000, // 自動切換時間間隔
duration: 1000 // 滑動的動畫時長
}
})
rich-text實現富文字解析
介紹: 富文字。主要用來解析服務端傳遞過來的富文字html格式的資料,進行展示在頁面上。類似於vue的v-html指令;
效果如圖:
程式碼如下:
richText.wxml:
<view class="rich-area">
<rich-text nodes="{{article_content}}" bindtap="tapRichText"></rich-text>
</view>
richText.js:
Page({
data: {
article_content: '<p>自我介紹1</p><p><img src="https://mirror-gold-cdn.xitu.io/168e088859e325b9d85?imageView2/1/w/100/h/100/q/85/format/webp/interlace/1" width="100" height="100"/></p><p>自我介紹2</p><p><img src="https://mirror-gold-cdn.xitu.io/168e088859e325b9d85?imageView2/1/w/100/h/100/q/85/format/webp/interlace/1" width="100" height="100"/></p><p>自我介紹3</p><p><img src="https://mirror-gold-cdn.xitu.io/168e088859e325b9d85?imageView2/1/w/100/h/100/q/85/format/webp/interlace/1" width="100" height="100"/></p>',
}
});
小程式中運用高德地圖繪製靜態圖
功能背景
在小程式的頁面中,需要顯示某個位置的具體地理座標並做好標記;如果直接使用map元件,無法滿足功能需求,同時會存在頁面層級重疊的問題;所有就選擇了高德地圖微信小程式sdk,繪製靜態圖來呈現。
效果如圖:
開發步驟
1.獲取高德Key
點我獲取Key>>
點我檢視申請高德Key的方法>>
2.繪製靜態圖
簡介:
由於微信內無法執行第三方地圖,高德對廣大開發者提供了靜態地圖功能,可快速生成一張地圖圖片,可以指定顯示的地圖區域、圖片大小、以及在地圖上新增覆蓋物,如標籤、標註、折線、多邊形。 可用於快速生成一張個性化塗鴉的靜態地圖用於檢視和分享。
靜態圖上繪製點
1、在頁面的 js 檔案中,例項化 AMapWX 物件,請求顯示靜態地圖。
首先,引入 amap-wx.js 檔案(amap-wx.js 從相關下載頁面下載的 zip 檔案解壓後得到)。
xinxi.js:
var amapFile = require('path/to/amap-wx.js');//如:../../libs/amap-wx.js
然後,構造 AMapWX 物件,並呼叫 getStaticmap 方法。
其中,注意: 把百度地圖座標轉換成高德,騰訊地圖座標
var zuobiaoArr = network.bMapTransQQMap(lng,lat)
Page({
data: {
pointObj:{
lng:'您的座標經度值',
lat:'您的座標緯度值'
},
src: ''
},
onLoad: function() {
var that = this;
var myAmapFun = new amapFile.AMapWX({key:"您的Key"});
wx.getSystemInfo({
success: function(data){
var height = data.windowHeight;
var width = data.windowWidth;
var size = width + "*" + height;
myAmapFun.getStaticmap({
zoom: 8,
size: size,
scale: 2,
markers: "mid,0xFF0000,A:"+pointObj.lng+","+pointObj.lat",
success: function(data){
that.setData({
src: data.url
})
},
fail: function(info){
wx.showModal({title:info.errMsg})
}
})
}
})
}
})
注意:
data.windowHeight,data.windowWidth獲取的是整個視窗的高度和寬度,這裡可以根據需求自己設定地圖要顯示的寬高。
markers: "mid,0xFF0000,A:"+pointObj.lng+";"+pointObj.lat",用於設定地圖上要顯示的標記座標;如果要顯示多個標記,格式為:
markers: "mid,0xFF0000,A:116.37359,39.92437;116.47359,39.92437"; // 多個座標點以";"分割;
2、編寫頁面的 wxml 檔案,搭建頁面結構。
xinxi.wxml:
<view class="img_box">
<img src="{{src}}">
</view>
3、編寫頁面的 wxss 檔案,設定頁面樣式。
xinxi.wxss:
.img_box{
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.img_box image{
width: 100%;
height: 100%;
}
……
4.注意細節:
如果你提供的 pointObj:{lng:'您的座標經度值',lat:'您的座標緯度值'}資料物件為百度地圖的座標值,我們需要將其轉換為高德地圖座標值(它們的座標計算方式不同);
轉換方法如下:
//百度地圖座標轉為高德,騰訊地圖座標
function bMapTransQQMap(lng, lat) {
let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
let x = lng - 0.0065;
let y = lat - 0.006;
let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
let lngs = z * Math.cos(theta);
let lats = z * Math.sin(theta);
return {
lng: lngs,
lat: lats
}
}
let pointObj = bMapTransQQMap(lng,lat); // 轉換之後的座標值;
結束:
如果你也一樣喜歡前端開發,歡迎加入我們的討論/學習群,群內可以提問答疑,分享學習資料;
歡迎新增群主微信和qq群答疑:
相關推薦
乾貨分享:小程式專案實踐和經驗總結
最近接觸小程式開發,我特將本次開發過程中所使用到的相關知識點進行了總結,以作為經驗的積累。希望給自己以後的開發,提供一些幫忙,同時提高解決問題的能力。如有錯誤,請大家指正。 github地址;專案地址; weui:使用微信原生視覺體驗樣式庫 認識: WeUI 是一套同微信原生視覺體驗一致的基礎樣式庫,由微信官
教你前端如何一個人從零基礎開發完整的小程式專案,包括後臺視覺化資料庫。該專案實現了個人簡歷的增刪改查以及展示和轉發分享,以及收藏他人簡歷和檢視,還有最近瀏覽過的簡歷
GitHub:https://github.com/susuGirl/resume 微信小程式名:你的專屬簡歷(微信可直接搜尋出來檢視),教你前端如何一個人從零基礎開發完整的小程式專案,包括後臺視覺化資料庫。該專案實現了個人簡歷的增刪改查以及展示和轉發分享,以及收藏他人簡歷和檢視,還
坑:微信小程式wx.request和wx.uploadFile中傳引數的區別
微信小程式中通過元件<form>提交表單的時候,在js中通過e.detail.value得到所提交表單的json格式資料。一般提交表單我們都是通過wx.request請求,提交表單資料,通過引數data傳資料, wx.request({ url: 'test.php', //僅為示例,
小程式頁面佈局和絕對定位和button分享問題
<view class="dibu"> <input value='{{inputVal}}' bindinput='inputTyping' class="wz" bindinput='inputTyping' placeholder="請輸入私信內容" placeho
使用Mpvue開發微信小程式——音樂小程式專案原始碼分享
前言: 最近小組有個微信小程式分享的環節,於是在業餘時間使用mpvue框架寫了個音樂小程式,時間有限,專案暫時只是demo級別,之後有時間會繼續完善。 原始碼地址 github連結:https://github.com/XieTongXue/mpvue-music 專案簡
微信開發者工具初始化專案時,進去報錯:小程式重啟耗時過久,請確認業務邏輯中是否有複雜運算,或者死迴圈
如圖上,為錯誤原因。 之前用開發者工具用的好好地,前些日子又版本更新,升級了一下,然後開啟專案就出現上面的問題。當時以為電腦出啥問題了,也沒當回事。今天再次開啟開發者工具,發現還是出現上面的問題。一臉懵,新建專案,啥都沒做竟然出問題。網上一查同樣的問題一大堆。
#乾貨分享:Java 的泛型擦除和執行時泛型資訊獲取
Java 的泛型擦除 程式設計師界有句流行的話,叫 talk is cheap, show me the code,所以話不多說,看程式碼。 如果有想學習java的程式設計師,可來我們的java學習扣qun:79979,2590免費送java的視訊教程噢!我整理了一份適合18年學習的java
#Java乾貨分享:如何用Java框架快速搭建web專案
1、 確定專案方向、架構,編制前端頁面,前端用到boostrap、jQuery、h5、js。 如果有想學習java的程式設計師,可來我們的java學習扣qun:79979,2590免費送java的視訊教程噢!我整理了一份適合18年學習的java乾貨,送給每一位想學的小夥伴,並且每天晚上8點還會在
#Java乾貨分享:一篇文章讓你深入瞭解Java中的包和介面
很多新手程式設計師對於Java中兩個具創新性的特徵————包與介面不是非常清楚,所以我特意發了這篇文章來闡述什麼是包,什麼是介面。 包(package)是多個類的容器,它們用於保持類的名稱空間相互隔離。 如果有想學習java的程式設計師,可來我們的java學習扣qun:79979,2590免
三週學會小程式第一講:小程式申請和注意事項
註冊 註冊郵箱 個人申請小程式非常簡單,首先你需要註冊一個全新的郵箱。 當然用你的個人郵箱也可以,小編考慮到後面你可以再次開發自己的小程式,所以這裡還是重新申請一個比較好。網易郵件一個手機號可以申請15個郵箱,是一個不錯的選擇 註冊小程式 進入 https://mp.weixin.qq.com/ 頁面
#Java乾貨分享:兩分鐘瞭解日常程式設計中的小技巧,提高你的能力
1.return 一個空的集合,而不是 null 如果一個程式返回一個沒有任何值的集合,請確保一個空集合返回,而不是空元素。這樣你就不用去寫一大堆 ”if else” 判斷null元素。 如果有想學習java的程式設計師,可來我們的java學習扣qun:94311,1692免費送java的視
乾貨分享:智慧工廠時代下大資料 + 智慧的深度實踐
11 月 23 日,由七牛雲主辦的主題為「AI 產業技術的滲透與融合」的 NIUDAY 小牛匯共享日在北京舉行。會上,七牛雲技術總監陳超為大家帶來了題為《資料智慧時代的智慧工廠實踐》的內容分享。 以下是演講內容的實錄整理。 今天要介紹的是智慧工廠的相關內容。本次 NIUDAY
乾貨分享:vue2.0做移動端開發用到的相關外掛和經驗總結(2)
最近一直在做移動端微信公眾號專案的開發,也是我首次用vue來開發移動端專案,前期積累的移動端開發經驗較少。經過這個專案的鍛鍊,加深了對vue相關知識點的理解和運用,同時,在專案中所涉及到的微信api(微信分享,微信支付),百度地圖api(如何例項化地圖,給地圖新增自定義覆蓋物,給地圖新增自定義標註,對地圖進行
乾貨分享:vue2.0做移動端開發用到的相關外掛和經驗總結
最近一直在做移動端微信公眾號專案的開發,也是我首次用vue來開發移動端專案,前期積累的移動端開發經驗較少。經過這個專案的鍛鍊,加深了對vue相關知識點的理解和運用,同時,在專案中所涉及到的微信api(微信分享,微信支付),百度地圖api(如何例項化地圖,給地圖新增自
微信小程式名:你的專屬簡歷(微信可直接搜尋出來檢視),教你前端如何一個人從零基礎開發完整的小程式專案,包括後臺視覺化資料庫。
微信小程式名:你的專屬簡歷(微信可直接搜尋出來檢視),教你前端如何一個人從零基礎開發完整的小程式專案,包括後臺視覺化資料庫。該專案實現了個人簡歷的增刪改查以及展示和轉發分享,以及收藏他人簡歷和檢視,還有最近瀏覽過的簡歷。 教程: GitHub:https://github.com/sus
小程式專案在使用shiro 驗證時報錯:fail url not in domain list
原因是:shiro在驗證攔截時 “重定向” 到 ,如圖: 導致 報錯:fail url not in domain list 由於重定向導致域名不被小程式所信任。 解決辦法: 解壓 shiro-web.原始碼包 修改 org.apache.shiro.web
乾貨分享:十年大廠資深程式設計師的開發經驗總結
本文由騰訊雲加社群整理和釋出,原文連結:cloud.tencent.com/developer/article/1004735,內容有刪減和改動。 1、引言 在網際網路一線做了十年的程式開發,經歷了網易、百度、騰訊研究院、MIG 等幾個地方,陸續做過 3D 遊戲、2D 頁遊、瀏覽器、移動端翻
微信小程式專案開發實踐
最近更新時間:2017年7月5日17:25:46 現在的前端工程師職責越來越重要,很多新的技術都是從前端領域分離出來,微信小程式就是一個很好的前端技術的實踐。開發微信小程式前,總覺得神祕面紗不可及,但經過前端團隊一個月辛苦奮戰,微信小程式從此不再陌生,而變得熟悉和可控。
乾貨分享:清法網路分析小紅書內容運營那點事兒
有人說小紅書是“一夜爆紅”,其實不然。事實上,任何平臺的火爆都少不了長期的SEO優化。搜尋公關專家清法認為,雖然小紅書的成功大部分歸功於內容營銷,但是小紅書中的內容運營策略與SEO優化密不可分。一、使用者定位使用者定位是SEO優化過程中必不可少的步驟。我們建一個網站,要考慮使用者有哪些需求,再對使用者的需求進
微信小程式專案總結:for迴圈,繫結點選事件,二維陣列列表渲染
一:for迴圈,繫結點選事件分享者:niedongdong,原文地址 最近公司有小程式的專案,本人有幸參與其中,一個專案做下來感覺受益匪淺,與大家做下分享,歡迎溝通交流互相學習。先說一下此次專案本人體會較深的幾個關鍵點:微信地圖、使用者靜默授權、使用者彈窗授權、微信充值等等。言歸正傳,今天分享我遇到的關於wx