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

ęnһ(chung)һ(g)С֙C(j)w(yn)ԓСČ(sh)HЧ@(g)С(y)(hu)@ʾgӭZ(y)Լ(dng)ǰÑ^c(din)^_(y)в鿴(dng)ǰСĆ(dng)־
1. @ȡС AppID
ȣ҂Ҫһ(g)̖(ho)ܿԓęn҂(yng)(dng)ѽ(jng)Ո(qng)ㄓ(chung)һ(g)̖(ho)עⲻֱʹ÷(w)̖(ho)ӆ̖(ho) AppID ṩĎ̖(ho)䛾ͿھW(wng)վġO(sh)á-_l(f)O(sh)áУ鿴С AppID
ע⣺҂ע(c)r(sh)ĹT̖(ho)֙C(j)w(yn)ԓСô҂߀Ҫ_l(f)ߡڡÑ - _l(f)ߡģKҪw(yn)ԓС̖(ho)̳ĬJ(rn)ע(c)̖(ho)w(yn)ʹùT̖(ho)
2. (chung)(xing)Ŀ
҂Ҫͨ^(gu)_l(f)߹ߣ(li)С(chung)ʹa
_l(f)߹߰bɺ_ʹŒߴa䛡x(chung)(xing)Ŀī@ȡ AppIDO(sh)һ(g)(xing)ĿQ(СQ)硸ҵĵһ(g)(xing)Ŀxһ(g)صļAa惦(ch)Ŀc(din)½(xing)ĿͿˡ
鷽W(xu)˽СĻaY(ji)(gu)ڄ(chung)^(gu)xıļAǂ(g)ļA_l(f)߹ߕ(hu)ʾǷҪ?jing)?chung)һ(g) quick start (xing)Ŀxǡ_l(f)߹ߕ(hu)҂?c)_l(f)Ŀһ(g)(jin)ε demo
(xing)Ŀ(chung)ɹ҂Ϳc(din)ԓ(xing)ĿM(jn)벢_l(f)߹߽c(din)(c)(do)ڡԲ鿴;҂Ĵaڡ{(dio)ԇԜy(c)ԇaģMСſ͑Чڡ(xing)Ŀl(f)͵֙C(j)A(y)[(sh)HЧ
3. a
c(din)_l(f)߹(c)(do)ġ҂Կ@(g)(xing)Ŀѽ(jng)ʼһЩ(jin)εĴaļP(gun)IҲDZزٵ app.jsapp.jsonapp.wxss @(g).js Y_ļ.json Yļļ.wxss YǘʽļС(hu)xȡ@ЩļС?q)?/span>
҂(jin)˽@(g)ļĹԼ^_l(f)ԼС
app.js С_a҂@(g)ļбO(jin) ̎Сں(sh)ȫ׃{(dio) MINA ṩS API籾ͬ惦(ch)ͬxȡ?ci)?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(du)(g)Сȫ҂@(g)ļСЩ(y)MСĴ ɫÌ(do)lʽĬJ(rn)(bio)}עԓļκע
/**app.json*/{
"pages"[
"pages/index/index"
"pages/logs/logs" ]
"window"{
"backgroundTextStyle""light"
"navigationBarBackgroundColor" "#fff"
"navigationBarTitleText" "WeChat"
"navigationBarTextStyle""black" }
}
app.wxss (g)СĹʽ҂(y)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)(y)
@(g)̳҂Ѓɂ(g)(y)index (y) logs (y)gӭ(y)С(dng)־չʾ(y) pages ĿСеÿһ(g)(y)ġ· + (y)Ҫ app.json pages У pages еĵһ(g)(y)С(y)
ÿһ(g)С(y)ͬ·ͬĂ(g)ͬYļĽMɣ磺index.jsindex.wxmlindex.wxssindex.json.js Yļ_ļ.json Yļļ.wxss Yǘʽļ.wxml Yļ(y)Y(ji)(gu)ļ
index.wxml (y)Ľ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/> (li)(y)Y(ji)(gu)(sh)(j)ͽ̎(sh)
index.js (y)_ļ@(g)ļ҂ԱO(jin) ̎(y)ں(sh)@ȡС?q)�̎�?sh)(j)푑(yng)(y)潻¼
//index.js// @ȡ(yng)Ì(sh)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)Ñ(yng)Ì(sh)ķ@ȡȫ?jn)?sh)(j) app.getUserInfo(function(userInfo){
// (sh)(j) that.setData({
userInfouserInfo
})
})
}
})
index.wxss (y)Ęʽ
/**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;
}
(y)ĘʽǷDZҪ(dng)(y)ʽr(sh)(y)ĘʽеĘʽҎ(gu)t(hu)ӯBw app.wxss еĘʽҎ(gu)tָ(y)ĘʽҲ(y)ĽY(ji)(gu)ļֱʹ app.wxss ָĘʽҎ(gu)t
index.json (y)ļ
(y)ļǷDZҪ(dng)(y)ļr(sh)(xing)ԓ(y)(hu)w app.json window ͬ(xing)](mi)ָ(y)ļtԓ(y)ֱʹ app.json еĬJ(rn)
logs (y)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 (y)ʹ <block/> Ƙ(bio)(li)Ma <block/> ʹ wxfor-items logs (sh)(j) logs (sh)(j)ѭh(hun)չ_(ji)c(din)
//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))
})
})
}
})
\(yn)нY(ji)£
4. ֙C(j)A(y)[
_l(f)߹(c)ˆΙx(xing)Ŀc(din)A(y)[ߴaſ͑w(yn)
ĿǰA(y)[ςПo(w)(sh)F(xin)ҪȴŹٷһ
ҊŹٷo_l(f)ָ߀dz(jin)Σܶ༚(x)(ji)aܶ](mi)_չʾԽ(li)͵չʾ(sh)ĕr(sh)!_l(f)̳ʽ_ʼ!
һ£(zhn)乤
Ü(zhn)乤Ҫ_l(f)һ(g)ő(yng)̖(ho)ҪǰŵĹٷW(wng)վd_l(f)߹
1. d_l(f)߹_(hu)ԓ棺
2. c(din)½ web+(xing)ĿSF(xin)®棺
3. ԓ(y)(ni)ĸ(xing)(ni)Ҫע——
AppIDչٷጁ(li)
Appname (xing)ĿļAQ㌢顸ABCt֮ȫ(xing)Ŀ?j)?ni)ݾڡ/ABC/…Ŀ¡
_l(f)Ŀ䛣(xing)ĿڱصĿ
עٴΏ(qing){(dio)͈F(tun)(du)ɆTͬ_l(f)ԓ(xing)ĿthゃʹͬӵĿQĿԴ_f(xi)ͬ_l(f)Ľy(tng)һ֮ǰ(xing)Ŀt(do)^(gu)cσ(ni)ݽ٘
4. (zhn)乤ȫɺc(din)½(xing)Ŀoc(din)_
5. ψDʾ˿_l(f)߹ѽ(jng)Ԅ(dng)(gu)һ(g)ʼ demo (xing)Ŀԓ(xing)Ŀ?j)?ni)һ(g)ő(yng)(xing)Ŀ߂Ļ(ni)ݺͿܽY(ji)(gu)c(din)(xing)ĿQ(Dмcards)M(jn)ԓ(xing)Ŀܿ(g)(xing)ĿĻܘ(gu)ˣ
ڶ£(xing)Ŀ(gu)
ĿǰÑȺwdzƳ̖(ho)Ժ𱬳̶ȴҶõҲͬƄ(dng) h5 ĸٰl(f)չS̖(ho)I(y)(w)Խ(li)Խ(f)s(yng)̖(ho)F(xin)ڵĵ(li)Ҳǡ̎҂F(tun)(du)wһɴęnl(f)F(xin)ṩo_l(f)ߵķʽҲڰl(f)ȫĸ׃IJ DOM D(zhun)(sh)(j)ṩһ(g)^(gu)ߌ(sh)F(xin)ܶ h5 ڹ̖(ho)y(sh)F(xin)Ĺc(din) hybrid _l(f)ͬ hybrid _l(f)ķʽǣ_ŵĽӿڸ(yn)֔(jn)Y(ji)(gu)횲ṩo҂ĽMⲿĿܺͲ@ʹ_l(f)ȫÓx DOM_l(f)˼D(zhun)׃ܴ
ĺĹܷdzҪ˽(g)\(yn)
ڣ
index.js棺
_l(f)߹ Console Կ
(y) console Կ App Launch-->App Show-->onload-->onShow-->onReady
(g) app Ć(dng)c@ʾapp Ć(dng) app.js M(jn)뵽(g)(y)ļd@ʾȵȡ
@̎ܶ|d֮ĶԌ(sh)F(xin)ȵ
·ɣ
·(xing)Ŀ_l(f)һֱǂ(g)c(din)@䌍(sh)Ō(du)·ɵĽBҊ·ɷ潛(jng)^(gu)ܺõķbҲṩ(g)D(zhun)
wx.navigateTo(OBJECT)(dng)ǰ(y)D(zhun)(yng)Ã(ni)ij(g)(y)ʹwx.navigateBackԷصԭ(y)
wx.redirectTo(OBJECT)P(gun)](dng)ǰ(y)棬D(zhun)(yng)Ã(ni)ij(g)(y)
wx.navigateBack()P(gun)](dng)ǰ(y)棬ǰһ(y)
@(g)ʹ·ɷŷbĺܺã_l(f)߸ȥ·ܶ·ɷúܷ
M
˴ڽMṩҲǷdzȫϝM(xing)Ŀʶ_l(f)ٶȷ��_l(f)ǰJ(rn)g[״_l(f)Чʕ(hu)ܺ
κⲿԼϟo(w)ʹԭ js Ҳyʹã?yn)ǰ҂?js Ҳȫһ dom ʽő(yng)̖(ho)˴εļܘ(gu)DzSκ domBǰ҂(x)TʹõĄ(dng)B(ti)O(sh)õrem.jsҲDzֵ֧
˴߀ṩ WebSocketͿֱ_l(f)Ŀgdz
̖(ho)(du)҂l(f)F(xin)_l(f)(yng)̖(ho)MY(ji)(gu)ӻ´ꑿdzM@ϲIJʵҁ(li)l(f)F(xin)
(li)_ʼһЩ(jin)εĴa!
1. ҵ(xing)ĿļA(do)ľ档@ʹ Sublime Text Ը(j)Լ_l(f)(x)TxԼϲgľ
2. (li)Ҫ(j)Լ(xing)Ŀ?j)?ni){(dio)(xing)ĿY(ji)(gu)ڷ(xing)Ŀcard_courseĿҪˡtabBar(y)Լԓ(yng)õһЩļ
3. ʾ(xing)ĿġtabBar傀(g)ˆΰo
4. ҵapp.jsonļÁ(li)@(g)傀(g)ˆΡڴaҵ”tabBar”
Ը(j)(sh)H(xing)ĿУ
ColorǵײwɫselectedColorГQԓ(y)ɫborderStyleГQˆһlɫbackgroundColorǵײˆΙڱɫ^hһһ{(dio)ԇ鿴Чӡ
“list”µĴaηSġ
”pagePath”֮ļ(ni).wxmlY[(li)@_l(f)aԻһc(din)——㹝(ji)saĕr(sh)go(w)lļY
”iconPath”δ@@ʾ(y)ĈD(bio)·@ɂ(g)·ֱǾW(wng)j(lu)D(bio)
”selectedIconPath”鮔(dng)ǰ@ʾ(y)D(bio)·ȥȥ֮(hu)ĬJ(rn)@ʾ顸”iconPath”ĈD(bio)
”Text”(y)(bio)}Ҳȥȥ֮@ʾD(bio)ֻȥһ(g)ԓλÕ(hu)ռá
ע⣺ŵĵײˆ֧(傀(g) icons)O(sh)Ӌ(j)ő(yng)õ UI ͻܘ(gu)r(sh)ҪA(y)ȿ]òˆΙڵŲ
5. (j)ϴaҎ(gu)tʾ(xing)ĿĻܘ(gu)ㅢ
6. Jsonļúúcard_courseĻY(ji)(gu)ψDʾҪӼԕr(sh)hȱٵӼtҪ(dng)½hӼr(sh)ӛ혎zһ¡app.jsonP(gun)(ni)Ƿѽ(jng)һh
ע⣺҂(g)˽h½һ(g)wxmlļͬr(sh)ь(du)(yng)ġjs͡wxssļһ½?yn)ő?yng)̖(ho)c(din)ǽһ(g)wxmlļr(sh)(hu)ͬr(sh)ͬ(j)Ŀҵͬļġjs͡wxssļԡjsļ輰r(sh)ڡapp.jsonA(y)ú
wxmlr(sh)(j)ő(yng)̖(ho)ṩĽӿھa־ǰġdiv҂F(xin)ھáviewɡҪӼr(sh)Ը(j)ṩĽӿx
ʹáclass(li)O(sh)Øʽid@](mi)ʲô̎Ҫ(sh)(j)dom
7. ʾ(xing)Ŀ(y)ġwxmlaĈDоͿԿ(sh)F(xin)һ(g)(y)adz
8. WxssļĘʽļҲֱ挑ʽʾвõ뷽ʽ
9. ĴaˢһԿδO(sh)ġview(bio)ֱ׃˷ɫ
ע⣺ġwxml͡wxssµă(ni)ݺֱ F5 ˢ¾ֱӿЧġjstc(din)؆oܿЧ
10. ʽڡapp.wxssֱá
11. JsļҪڡapp.jsonļġ”page”A(y)ú(xing)ĿY(ji)(gu)ʾ(xing)Ŀеġindex(y)ͬ(j)Ŀ½Ă(g)(y)ļw£
(jng)^(gu)ϲEе傀(g)ײˆξȫꮅ
һƪ:һƪɶվ˾ļҺ-ٶ]
YӍ