ő̖_l(f)̳ҕlԔ
ő̖(С̖·Q)Kځ!
Ŀǰ߀̎ڃ(ni)yAֻՈ˲I(y)cyشҶP(gun)đ̖KΑB(ti)ʲô?ӌһ̖ɞ顸С?
҂rһεĵߵČʾһ_l(f)^̰(˾Ŀ߀ܷaͽ؈D߅Ӱ߅͵͵oҌ̳xƬСFṩķ̖@g(sh)ԲĽ̳̾áƬСĹ̖LӸ°l(f)😄)
OKұM쿴@ݽ̳̣עҪҹ!_ʼϣһܰl(f)һƪ̳!ӛ_ʼ!׃!
_ʼ_l(f)̖֮ǰȿٷġС̳̰!((ni)݁ŹٷġС_l(f)ָ)

ęnһ(chung)һС֙CwԓСČHЧ@С퓌@ʾgӭZԼǰÑ^c^_в鿴ǰСĆ־
1. @ȡС AppID
҂Ҫһ̖ܿԓęn҂ѽ(jng)Ոㄓ(chung)һ̖עⲻֱʹ÷̖ӆ̖ AppID ṩĎ̖䛾ͿھW(wng)վġO(sh)á-_l(f)O(sh)á鿴С AppID
ע⣺҂עԕrĹT̖֙CwԓСô҂߀Ҫ_l(f)ߡڡÑ - _l(f)ߡģKҪwԓС̖̳ĬJעԎ̖wʹùT̖
2. (chung)Ŀ
҂Ҫͨ^_l(f)߹С(chung)ʹa
_l(f)߹߰bɺ_ʹŒߴax(chung)Ŀī@ȡ AppIDO(sh)һĿQ(СQ)硸ҵĵһĿxһصļAa惦Ŀ䛣c½ĿͿ
鷽W˽СĻaY(ji)(gu)ڄ(chung)^xıļAǂļA_l(f)߹ߕʾǷҪ(chung)һ quick start Ŀxǡ_l(f)߹ߕ҂_l(f)Ŀһε demo
Ŀ(chung)ɹ҂ͿcԓĿM벢_l(f)߹߽棬c(c)ڡԲ鿴;҂Ĵaڡ{(dio)ԇԜyԇaģMСſ͑ЧڡĿl(f)͵֙CA[HЧ
3. a
c_l(f)߹(c)ġ҂Կ@Ŀѽ(jng)ʼһЩεĴaļP(gun)IҲDZزٵ app.jsapp.jsonapp.wxss @.js Y_ļ.json Yļļ.wxss YǘʽļСxȡ@ЩļС?q)?/span>
҂˽@ļĹԼ^_l(f)ԼС
app.js С_a҂@ļбO(jin) ̎Сں(sh)ȫ׃{(dio) MINA ṩS API籾ͬ惦ͬxȡؔ(sh)(j)
//app.jsApp({
onLaunch function () {
// {(dio) API ıؾЫ@ȡ(sh)(j) var logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs' logs)
}
getUserInfofunction(cb){
var that = this;
if(this.globalData.userInfo){
typeof cb == "function" && cb(this.globalData.userInfo)
}else{
// {(dio)õ䛽ӿ wx.login({
success function () {
wx.getUserInfo({
success function (res) {
that.globalData.userInfo = res.userInfo;
typeof cb == "function" && cb(that.globalData.userInfo)
}
})
}
});
}
}
globalData{
userInfonull }
})
app.json njСȫ҂@ļСЩMɣСĴ ɫÌlʽĬJ}עԓļκע
/**app.json*/{
"pages"[
"pages/index/index"
"pages/logs/logs" ]
"window"{
"backgroundTextStyle""light"
"navigationBarBackgroundColor" "#fff"
"navigationBarTitleText" "WeChat"
"navigationBarTextStyle""black" }
}
app.wxss СĹʽ҂M class ֱʹ app.wxss ĘʽҎ(gu)t
/**app.wxss**/.container {
height 100%;
display flex;
flex-direction column;
align-items center;
justify-content space-between;
padding 200rpx 0;
box-sizing border-box;
}
3. (chung)
@̳҂Ѓɂindex logs 棬gӭ퓺С־չʾ pages Ŀ¡Сеÿһġ· + Ҫ app.json pages pages еĵһС
ÿһСͬ·ͬĂͬYļĽM磺index.jsindex.wxmlindex.wxssindex.json.js Yļ_ļ.json Yļļ.wxss Yǘʽļ.wxml YļY(ji)(gu)ļ
index.wxml ĽY(ji)(gu)ļ
<!--index.wxml--><view class="container"> <view bindtap="bindViewTap" class="userinfo"> <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image> <text class="userinfo-nickname">{{userInfo.nickName}}</text> </view> <view class="usermotto"> <text class="user-motto">{{motto}}</text> </view></view>
ʹ <view/><image/><text/> Y(ji)(gu)(sh)(j)ͽ̎(sh)
index.js _ļ@ļ҂ԱO(jin) ̎ں(sh)@ȡС?q)�̎�?sh)(j)푑潻¼
//index.js// @ȡÌvar app = getApp()
Page({
data {
motto 'Hello World'
userInfo {}
}
// ¼̎(sh) bindViewTap function() {
wx.navigateTo({
url '../logs/logs' })
}
onLoad function () {
console.log('onLoad')
var that = this // {(dio)ÑÌķ@ȡȫ֔(sh)(j) app.getUserInfo(function(userInfo){
// (sh)(j) that.setData({
userInfouserInfo
})
})
}
})
index.wxss Ęʽ
/**index.wxss**/.userinfo {
display flex;
flex-direction column;
align-items center;
}.userinfo-avatar {
width 128rpx;
height 128rpx;
margin 20rpx;
border-radius 50%;
}.userinfo-nickname {
color #aaa;
}.usermotto {
margin-top 200px;
}
ĘʽǷDZҪʽrĘʽеĘʽҎ(gu)tӯBw app.wxss еĘʽҎ(gu)tָĘʽҲĽY(ji)(gu)ļֱʹ app.wxss ָĘʽҎ(gu)t
index.json ļ
ļǷDZҪļrԓw app.json window ͬ]ָļtԓֱʹ app.json еĬJ
logs Y(ji)(gu)
<!--logs.wxml--><view class="container log-list"> <block wxfor-items="{{logs}}" wxfor-item="log"> <text class="log-item">{{index + 1}}. {{log}}</text> </block></view>
logs ʹ <block/> Ƙ˺Ma <block/> ʹ wxfor-items logs (sh)(j) logs (sh)(j)ѭh(hun)չ_(ji)c
//logs.jsvar util = require('../../utils/util.js')
Page({
data {
logs []
}
onLoad function () {
this.setData({
logs (wx.getStorageSync('logs') || []).map(function (log) {
return util.formatTime(new Date(log))
})
})
}
})
\нY(ji)£
4. ֙CA[
_l(f)߹(c)ˆΙxĿcA[ߴaſ͑w
ĿǰA[ςПoF(xin)ҪȴŹٷһ
ҊŹٷo_l(f)ָ߀dzܶ༚(ji)aܶ]_չʾԽ͵չʾĕr!_l(f)̳ʽ_ʼ!
һ£ʂ乤
Üʂ乤Ҫ_l(f)һő̖ҪǰŵĹٷW(wng)վd_l(f)߹
1. d_l(f)߹_ԓ棺
2. c½ web+ĿSF(xin)®棺
3. ԓ(ni)ĸ헃(ni)Ҫע——
AppIDչٷጁ
Appname ĿļAQ㌢顸ABCt֮ȫĿ(ni)ݾڡ/ABC/…Ŀ
_l(f)Ŀ䛣ĿڱصĿ
עٴΏ{(dio)͈F꠳ɆTͬ_l(f)ԓĿthゃʹͬӵĿQĿ䛣Դ_f(xi)ͬ_l(f)Ľy(tng)һ֮ǰĿt^cσ(ni)ݽ٘
4. ʂ乤ȫɺc½Ŀoc_
5. ψDʾ˿_l(f)߹ѽ(jng)ԄӘ(gu)һʼ demo ĿԓĿ(ni)һőĿ߂Ļ(ni)ݺͿܽY(ji)(gu)cĿQ(Dмcards)MԓĿܿĿĻܘ(gu)ˣ
ڶ£Ŀ(gu)
ĿǰÑȺwdzƳ̖Ժ𱬳̶ȴҶõҲͬƄ h5 ĸٰl(f)չS̖I(y)յԽԽs̖F(xin)ڵĵҲǡ̎҂Fwһɴęnl(f)F(xin)ṩo_l(f)ߵķʽҲڰl(f)ȫĸ׃IJ DOM D(zhun)(sh)(j)ṩһ^ߌF(xin)ܶ h5 ڹ̖yF(xin)Ĺc hybrid _l(f)ͬ hybrid _l(f)ķʽǣ_ŵĽӿڸ֔Y(ji)(gu)횲ṩo҂ĽMⲿĿܺͲ@ʹ_l(f)ȫÓx DOM_l(f)˼D(zhun)׃ܴ
£ĺĹܷdzҪ˽\
ڣ
index.js棺
_l(f)߹ Console Կ
console Կ App Launch-->App Show-->onload-->onShow-->onReady
app Ćc@ʾapp Ć app.js ãM뵽ļd@ʾȵ
@̎ܶ|d֮ĶԌF(xin)ȵ
·ɣ
·Ŀ_l(f)һֱǂc@䌍Ō·ɵĽBҊ·ɷ潛(jng)^ܺõķbҲṩD(zhun)
wx.navigateTo(OBJECT)ǰD(zhun)Ã(ni)ijʹwx.navigateBackԷصԭ档
wx.redirectTo(OBJECT)P(gun)]ǰD(zhun)Ã(ni)ij档
wx.navigateBack()P(gun)]ǰǰһ
@ʹ·ɷŷbĺܺã_l(f)߸ȥ·ܶ·ɷúܷ
M
˴ڽMṩҲǷdzȫϝMĿʶ_l(f)ٶȷ��_l(f)ǰJg[״Σ_l(f)Чʕܺ
κⲿԼϟoʹԭ js Ҳyʹǰ҂ js Ҳȫһ dom ʽڣő̖˴εļܘ(gu)DzSκ domBǰ҂TʹõĄӑB(ti)O(sh)õrem.jsҲDzֵ֧ġ
˴߀ṩ WebSocketͿֱ죬_l(f)Ŀgdz
̖҂l(f)F(xin)_l(f)̖MY(ji)(gu)ӻ´ꑿdzM@ϲIJʵҁl(f)F(xin)
_ʼһЩεĴa!
1. ҵĿļAľ@ʹ Sublime Text Ը(j)Լ_l(f)TxԼϲgľ
2. Ҫ(j)ԼĿ(ni){(dio)ĿY(ji)(gu)ڷĿcard_courseĿҪˡtabBarԼԓõһЩļ
3. ʾĿġtabBar傀ˆΰo
4. ҵapp.jsonļÁ@傀ˆڴaҵ”tabBar”
Ը(j)HĿУ
ColorǵײwɫselectedColorГQԓɫborderStyleГQˆһlɫbackgroundColorǵײˆΙڱɫ^hһһ{(dio)ԇ鿴Чӡ
“list”µĴaηãS
”pagePath”֮ļ(ni).wxmlY[ˣ@_l(f)aԻһc——㹝(ji)saĕrgolļY
”iconPath”δ@@ʾĈD·@ɂ·ֱǾW(wng)j(lu)D
”selectedIconPath”鮔ǰ@ʾD·ȥȥ֮ĬJ@ʾ顸”iconPath”ĈDˡ
”Text”}Ҳȥȥ֮@ʾDֻȥһԓλÕռ
ע⣺ŵĵײˆ֧(傀 icons)O(sh)Ӌőõ UI ͻܘ(gu)rҪAȿ]òˆΙڵŲ
5. (j)ϴaҎ(gu)tʾĿĻܘ(gu)ㅢ
6. Jsonļúúcard_courseĻY(ji)(gu)ψDʾҪӼԕrhȱٵӼtҪ½hӼrӛ혎zһ¡app.jsonP(gun)(ni)Ƿѽ(jng)һh
ע⣺҂˽h½һwxmlļͬrьġjs͡wxssļһ½ő̖cǽһwxmlļrͬrͬĿҵͬļġjs͡wxssļԡjsļ輰rڡapp.jsonAú
wxmlr(j)ő̖ṩĽӿھaɣ־ǰġdiv҂F(xin)ھáviewɡҪӼrԸ(j)ṩĽӿx
ʹáclassO(sh)Øʽid@]ʲô̎Ҫ(sh)(j)dom
7. ʾĿ퓵ġwxmlaĈDоͿԿF(xin)һadz١
8. WxssļĘʽļҲֱ挑ʽʾвõ뷽ʽ
9. ĴaˢһԿδO(sh)ġview˺ֱ׃˷ɫ
ע⣺ġwxml͡wxssµă(ni)ݺֱ F5 ˢ¾ֱӿЧġjstc؆oܿЧ
10. ʽڡapp.wxssֱ
11. JsļҪڡapp.jsonļġ”page”AúĿY(ji)(gu)ʾĿеġindexͬĿ½Ăļw£
(jng)^ϲEе傀ײˆξȫꮅ
һƪ:һƪɶվ˾ļҺ-ٶ]
һƪ:һƪɶW(wng)O(sh)ӋI(y)͆λ
YӍ