小程序開發(fā),如何避坑?
1.假冒騰訊或微信官方的名義
官方?jīng)]有第三方開發(fā)平臺!官方?jīng)]有第三方開發(fā)平臺!官方?jīng)]有第三方開發(fā)平臺!重要的事情說三遍!這就是小程序開發(fā)騙子慣用的騙人手法,從網(wǎng)上找了一些騰訊官方的照片,然后將自己公司包裝成為騰旭旗下的合作或指定平臺,然后打著官網(wǎng)的名義到處招搖撞騙,忽悠商家先交幾萬塊錢的注冊費。
2.漫天要價
由于小程序的功能不同,價格自然不同,這時候就抓住客戶不懂的弱點,胡亂要價?,F(xiàn)在市面上基礎(chǔ)款的小程序也就幾百塊錢,模板小程序幾千塊錢,定制開發(fā)則是幾萬到一二十萬不等甚至?xí)?。很多商家花了大價錢卻買到了基礎(chǔ)模板,真是虧死了。
3.小程序跟域名一樣增值抓緊時間搶注
現(xiàn)在一些公司打著某某運營中西你的名義進行欺騙銷售,通過域名炒作的案例渲染小程序,不少商家花了幾萬元買了一個價值300元的小程序注冊。小程序是需要運營的,就算起了好聽的名字,如果沒有運營好,這樣的小程序也是沒有價值的,因此不可能像域名一樣一夜暴富,想通過小程序注冊就發(fā)橫財,別做夢了。
4.小程序好像“神”一樣無所不能
小程序的確很好,但是并沒有達到妖魔鬼怪化的程度,從本質(zhì)上來看,它只是一個工具,而小程序能發(fā)揮多大的作用,還要看怎么去運營,如果只是注冊了小程序不運營的話,那么不會產(chǎn)生明顯的效果。
小程序開發(fā)有哪些坑
1.JSON配置文件小程序中,包含唯一的全局配置文件app.json,以及每個頁面的配置文件page.json。每單頁頁面相應(yīng)的JSON文件會覆蓋與app.json相同的配置項。如下,是一個包含了所有配置選項的簡單配置app.json。"pages":[//設(shè)置頁面的路徑"pages/index/index",//不需要寫index.wxml,index.js,index,wxss,框架會自動尋找并整合"pages/logs/logs"],"window":{//設(shè)置默認窗口的表現(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è)置該項。},"tabBar":{//底部tab或者頂部tab的表現(xiàn),是個數(shù)組,最少配置2個,最多5個
"list":[{//設(shè)置tab的屬性,最少2個,最多5個
"pagePath":"pages/index/index",//點擊底部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":{//默認都是60000秒一分鐘
"request":10000,//請求網(wǎng)絡(luò)超時時間10000秒
"downloadFile":10000,//鏈接服務(wù)器超時時間10000秒
"uploadFile":"10000",//上傳圖片10000秒
"downloadFile":"10000"http://下載圖片超時時間10000秒
},"debug":true//項目上線后,建議關(guān)閉此項,或者不寫此項
2.JS邏輯層
小程序的邏輯層由JavaScript語言完成。但因為小程序不在瀏覽器中運行,所以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ū)嵗?,使用this就可以拿到小程序的實例;
不要在onLaunch的時候getCurrentPage(),因為此時page還沒有生成;
通過其他子頁面調(diào)用getApp()獲取實例后,不要私自調(diào)用小程序全局的生命周期方法;
可以通過varapp=getApp()獲取小程序的實例。
app({//小程序生命周期的各個階段
onLaunch:function(){},//當(dāng)小程序初始化完成時,會觸發(fā)onLaunch(全局只觸發(fā)一次)
onShow:function(){},//當(dāng)小程序啟動,或從后臺進入前臺顯示,會觸發(fā)onShow
onHide:function(){},//當(dāng)小程序從前臺進入后臺隱藏,會觸發(fā)onHide
onError:function(){},//當(dāng)小程序發(fā)生腳本錯誤,或者api調(diào)用失敗時,會觸發(fā)onError并帶上錯誤信息
//自定義函數(shù)或者屬性,用this可以訪問
2.2注冊小程序的頁面page.js
Page()用來注冊一個頁面,維護該頁面的生命周期以及數(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(){//用戶點擊右上角分享
return{title:'自定義分享標題',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()之中,進行數(shù)據(jù)的操作。
同時,這里有作用域的問題。比如,需要在局部函數(shù)中使用,就需要.bind(this)。
如果你需要操作全局的數(shù)據(jù),你需要在app.js中進行相應(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,能夠為用戶提供能順暢的使用體驗。
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]
需要注意的是,如果列表中的項需要動態(tài)添加到列表中,并希望項目保持原有的特征和狀態(tài),那么你應(yīng)該使用wx:key。
wx:key有兩種形式:
字符串:wx:key="unique"
保留關(guān)鍵字:wx:key="*this"
3.3運算
WXML可以執(zhí)行簡單的運算任務(wù)。例如:
也可以做到字符串拼接:
甚至,你可以使用...在WXML中展開對象。
3.4模板
name定義組件模版的名稱,引用模版的時候使用is屬性指定模版的名字,is可以進行簡單的三目運算,需要傳入模版需要的data數(shù)據(jù)。
因為模版擁有自己的作用域,所以只能使用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ǔ)上,擴展了rpx尺寸單位和樣式導(dǎo)入功能。
WXSS可以使用內(nèi)聯(lián)樣式,但這樣會影響渲染速度。
每個頁面自己的page.wxss樣式表,會覆蓋全局樣式表app.wxss。
我想做微信小程序代理,有前途嗎?
展開全部微信小程序現(xiàn)在確實是一種趨勢,不管是電商、餐飲、大型商超,醫(yī)療、美容行業(yè)等都相繼開發(fā)了自己的小程序用于運營,小程序的確對于流量轉(zhuǎn)化有很大的幫助,比如肯德基、麥當(dāng)勞也都開發(fā)了小程序,利潤也都提高了不少,至于代理也是可以的,但是結(jié)果如何還是要靠自己去努力。
為什么做小程序代理能賺錢
因為現(xiàn)在基本上所有的行業(yè)都是需要小程序,所有目前代理商是比較賺錢的
以上就是【大部分人都弄錯!代理小程序開發(fā)的坑(微信小程序開發(fā)坑)】的全部內(nèi)容。


評論