小程序開發(fā),如何避坑?
1.假冒騰訊或微信官方的名義
官方?jīng)]有第三方開發(fā)平臺!官方?jīng)]有第三方開發(fā)平臺!官方?jīng)]有第三方開發(fā)平臺!重要的事情說三遍!這就是小程序開發(fā)騙子慣用的騙人手法,從網(wǎng)上找了一些騰訊官方的照片,然后將自己公司包裝成為騰旭旗下的合作或指定平臺,然后打著官網(wǎng)的名義到處招搖撞騙,忽悠商家先交幾萬塊錢的注冊費(fèi)。
2.漫天要價
由于小程序的功能不同,價格自然不同,這時候就抓住客戶不懂的弱點(diǎn),胡亂要價?,F(xiàn)在市面上基礎(chǔ)款的小程序也就幾百塊錢,模板小程序幾千塊錢,定制開發(fā)則是幾萬到一二十萬不等甚至?xí)?。很多商家花了大價錢卻買到了基礎(chǔ)模板,真是虧死了。
3.小程序跟域名一樣增值抓緊時間搶注
現(xiàn)在一些公司打著某某運(yùn)營中西你的名義進(jìn)行欺騙銷售,通過域名炒作的案例渲染小程序,不少商家花了幾萬元買了一個價值300元的小程序注冊。小程序是需要運(yùn)營的,就算起了好聽的名字,如果沒有運(yùn)營好,這樣的小程序也是沒有價值的,因此不可能像域名一樣一夜暴富,想通過小程序注冊就發(fā)橫財(cái),別做夢了。
4.小程序好像“神”一樣無所不能
小程序的確很好,但是并沒有達(dá)到妖魔鬼怪化的程度,從本質(zhì)上來看,它只是一個工具,而小程序能發(fā)揮多大的作用,還要看怎么去運(yùn)營,如果只是注冊了小程序不運(yùn)營的話,那么不會產(chǎn)生明顯的效果。
小程序開發(fā)有哪些坑
1.JSON配置文件小程序中,包含唯一的全局配置文件app.json,以及每個頁面的配置文件page.json。每單頁頁面相應(yīng)的JSON文件會覆蓋與app.json相同的配置項(xiàng)。如下,是一個包含了所有配置選項(xiàng)的簡單配置app.json。"pages":[//設(shè)置頁面的路徑"pages/index/index",//不需要寫index.wxml,index.js,index,wxss,框架會自動尋找并整合"pages/logs/logs"],"window":{//設(shè)置默認(rèn)窗口的表現(xiàn)形式
"navigationBarBackgroundColor":"#ffffff",//頂部導(dǎo)航欄背景色
"navigationBarTextStyle":"black",//頂部導(dǎo)航文字的顏色black/white
"navigationBarTitleText":"微信接口功能演示",//頂部導(dǎo)航的顯示文字
"backgroundColor":"#eeeeee",//窗口的背景色
"backgroundTextStyle":"light",//下拉背景字體、loading圖的樣式,僅支持dark/light
"enablePullDownRefresh":"false",//是否支持下拉刷新,不支持的話就直接不寫!
"disableScroll":true,//設(shè)置true不能上下滾動,true/false,注意!只能在page.json中有效,無法在app.json中設(shè)置該項(xiàng)。},"tabBar":{//底部tab或者頂部tab的表現(xiàn),是個數(shù)組,最少配置2個,最多5個
"list":[{//設(shè)置tab的屬性,最少2個,最多5個
"pagePath":"pages/index/index",//點(diǎn)擊底部tab跳轉(zhuǎn)的路徑
"text":"首頁",//tab按鈕上的文字
"iconPath":"../img/a.png",//tab圖片的路徑
"selectedIconPath":"../img/a.png"http://tab在當(dāng)前頁,也就是選中狀態(tài)的路徑
},{"pagePath":"pages/logs/logs","text":"日志"
}],"color":"red",//tab的字體顏色
"selectedColor":"#673ab7",//當(dāng)前頁tab的顏色,也就是選中頁的
"backgroundColor":"#2196f3",//tab的背景色
"borderStyle":"white",//邊框的顏色black/white
"position":"bottom"http://tab處于窗口的位置top/bottom
},"networkTimeout":{//默認(rèn)都是60000秒一分鐘
"request":10000,//請求網(wǎng)絡(luò)超時時間10000秒
"downloadFile":10000,//鏈接服務(wù)器超時時間10000秒
"uploadFile":"10000",//上傳圖片10000秒
"downloadFile":"10000"http://下載圖片超時時間10000秒
},"debug":true//項(xiàng)目上線后,建議關(guān)閉此項(xiàng),或者不寫此項(xiàng)
2.JS邏輯層
小程序的邏輯層由JavaScript語言完成。但因?yàn)樾〕绦虿辉跒g覽器中運(yùn)行,所以JS在web瀏覽器中的一些函數(shù)不能用,如document、window等。
app.js有全局的小程序生命周期,page.js有自己本頁面的生命周期。
2.1注冊小程序app.js
這一步驟,有這幾個需要注意的地方:
必須在app.js中,使用app()函數(shù)注冊微信小程序。全局小程序中,只能注冊一次;
不能在app()內(nèi)的函數(shù)中調(diào)用getApp()(小程序?qū)嵗褂胻his就可以拿到小程序的實(shí)例;
不要在onLaunch的時候getCurrentPage(),因?yàn)榇藭rpage還沒有生成;
通過其他子頁面調(diào)用getApp()獲取實(shí)例后,不要私自調(diào)用小程序全局的生命周期方法;
可以通過varapp=getApp()獲取小程序的實(shí)例。
app({//小程序生命周期的各個階段
onLaunch:function(){},//當(dāng)小程序初始化完成時,會觸發(fā)onLaunch(全局只觸發(fā)一次)
onShow:function(){},//當(dāng)小程序啟動,或從后臺進(jìn)入前臺顯示,會觸發(fā)onShow
onHide:function(){},//當(dāng)小程序從前臺進(jìn)入后臺隱藏,會觸發(fā)onHide
onError:function(){},//當(dāng)小程序發(fā)生腳本錯誤,或者api調(diào)用失敗時,會觸發(fā)onError并帶上錯誤信息
//自定義函數(shù)或者屬性,用this可以訪問
2.2注冊小程序的頁面page.js
Page()用來注冊一個頁面,維護(hù)該頁面的生命周期以及數(shù)據(jù)。
Page({data:{//頁面的初始數(shù)據(jù)//調(diào)用:{{text}}{{array[0].msg}}
text:'initdata',array:[{msg:'1'
},{msg:'2'
},//頁面生命周期的各個階段
onLoad:function(){},//生命周期函數(shù)--監(jiān)聽頁面加載
onShow:function(){},//生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
onReady:function(){},//生命周期函數(shù)--監(jiān)聽頁面顯示
onHide:function(){},//生命周期函數(shù)--監(jiān)聽頁面隱藏
onUnload:function(){},//生命周期函數(shù)--監(jiān)聽頁面卸載
onPullDownRefresh:function(){},//頁面相關(guān)事件處理函數(shù)。如果需要監(jiān)聽用戶下拉動作,需要在app.json中配置"enablePullDownRefresh":"true"允許上拉刷新
onReachBottom:function(){},//頁面上拉觸底事件的處理函數(shù)
onShareAppMessage:function(){//用戶點(diǎn)擊右上角分享
return{title:'自定義分享標(biāo)題',desc:'自定義分享描述',path:'/page/user?id=123'
},//自定義函數(shù)或者屬性如:
customData:{hi:'MINA'
2.3公共模塊util.js
公共模塊方法需要通過module.exports對外暴露接口,使用的時候需要利用require(path),將文件引入。如:
functionsayHello(name){//公共方法util類
console.log(`Hello${name}!`)
}module.exports.sayHello=sayHello//用module.exports對外暴露接口
//先引入文件,是新建的一個utils包,公共方法在util.js里面varutil=require('../../utils/util.js')
Page({//調(diào)用類
onLoad:function(){//使用時,用util引用名調(diào)用,如:util.sayHello()
util.sayHello('我是傳的值');
2.4數(shù)據(jù)操作
setData()不能直接操作數(shù)據(jù),例如this.data.text="xxxxx"就是錯誤的。你需要在this.setData()之中,進(jìn)行數(shù)據(jù)的操作。
同時,這里有作用域的問題。比如,需要在局部函數(shù)中使用,就需要.bind(this)。
如果你需要操作全局的數(shù)據(jù),你需要在app.js中進(jìn)行相應(yīng)設(shè)置,例如:
App({//app.js
globalData:1})//某page.jsconsole.log(getApp().globalData)
3.視圖層WXML
視圖層的數(shù)據(jù)綁定均來自于Page中的data,想要修改相應(yīng)值,你需要用到this.setData。數(shù)據(jù)綁定使用兩對花括號,將變量名包起來。
3.1條件渲染
你可以利用if和else,在視圖層上編寫在特定情況下,出現(xiàn)的不同的視圖結(jié)果。
很多人會將CSS中的display:hidden屬性,將其做一個比較。
微信小程序中的wx:if是惰性的。如果不符合渲染條件,它不會渲染相應(yīng)部分;
使用display:hidden時,元素始終渲染,只是視圖層上沒有顯示,用戶看不見。
如果你的小程序有元素顯示頻繁切換的需求,建議你使用display:hidden,能夠?yàn)橛脩籼峁┠茼槙车氖褂皿w驗(yàn)。
3.2列表渲染
相當(dāng)于讓W(xué)XML處理一個循環(huán)。
在WXML中,你可以這樣來建立一個for循環(huán):
然后在相應(yīng)的JS中,新建一個數(shù)組:
page.jsPage({data:{
array:[1,2,3,4,5]
需要注意的是,如果列表中的項(xiàng)需要動態(tài)添加到列表中,并希望項(xiàng)目保持原有的特征和狀態(tài),那么你應(yīng)該使用wx:key。
wx:key有兩種形式:
字符串:wx:key="unique"
保留關(guān)鍵字:wx:key="*this"
3.3運(yùn)算
WXML可以執(zhí)行簡單的運(yùn)算任務(wù)。例如:
也可以做到字符串拼接:
甚至,你可以使用...在WXML中展開對象。
3.4模板
name定義組件模版的名稱,引用模版的時候使用is屬性指定模版的名字,is可以進(jìn)行簡單的三目運(yùn)算,需要傳入模版需要的data數(shù)據(jù)。
因?yàn)槟0鎿碛凶约旱淖饔糜?,所以只能使用data傳入數(shù)據(jù),而不接受雙花括號的寫法。
3.5公共模塊的引用
WXML提供import和include兩種文件引用方式。
import有作用域的概念,不能多重引用。
而include就可以多重引用了。
3.6事件
名稱以bind開頭的事件不阻止冒泡,名稱以catch開頭的事件冒泡是阻止的。如bindTap和catchTab。
在WXML中,可以使用dataset定義data中的數(shù)據(jù),會通過事件傳遞。它的事件以data-開頭,多個單詞以-鏈接,如data-a-b。
需要注意的是,使用這種方式定義的變量不能有大寫。它會自動轉(zhuǎn)成駝峰命名,調(diào)取的時候去駝峰命名的名字。
4.WXSS
WXSS的用法類似于CSS,并在CSS的基礎(chǔ)上,擴(kuò)展了rpx尺寸單位和樣式導(dǎo)入功能。
WXSS可以使用內(nèi)聯(lián)樣式,但這樣會影響渲染速度。
每個頁面自己的page.wxss樣式表,會覆蓋全局樣式表app.wxss。
我想做微信小程序代理,有前途嗎?
展開全部微信小程序現(xiàn)在確實(shí)是一種趨勢,不管是電商、餐飲、大型商超,醫(yī)療、美容行業(yè)等都相繼開發(fā)了自己的小程序用于運(yùn)營,小程序的確對于流量轉(zhuǎn)化有很大的幫助,比如肯德基、麥當(dāng)勞也都開發(fā)了小程序,利潤也都提高了不少,至于代理也是可以的,但是結(jié)果如何還是要靠自己去努力。
為什么做小程序代理能賺錢
因?yàn)楝F(xiàn)在基本上所有的行業(yè)都是需要小程序,所有目前代理商是比較賺錢的
以上就是【你不可不知的!代理小程序開發(fā)的坑(微信小程序開發(fā)坑)】的全部內(nèi)容。
評論