以下為一些微信小程序常見問題整理,如果你有需要補(bǔ)充的可以在樓下回復(fù)進(jìn)行補(bǔ)充怀薛,如果本帖內(nèi)容有誤悯许,請(qǐng)回復(fù),感謝炭剪!
微信小程序? navigateTo 只能使用五次? 五次之后無效? 怎么處理的练链?
答:
不是只能跳轉(zhuǎn)5次,而是跳轉(zhuǎn)層次只能是5層奴拦,注意理解兑宇。
頁(yè)面一層一層往里跳進(jìn),最多5層粱坤。是這個(gè)意思。
微信小程序中能否用js更改app.js中的globalData瓷产?怎么實(shí)現(xiàn)站玄?
不能更改的話怎么實(shí)現(xiàn)在當(dāng)前頁(yè)面中設(shè)置一個(gè)屬性,在另一個(gè)頁(yè)面中也能顯示出來濒旦?
答:
可以修改啊株旷,globalData只是設(shè)置在app.js 的一個(gè)object數(shù)據(jù),你可以直接改的尔邓。
比如:
在globalData里有一個(gè)users = ['張三'晾剖, '李四'];
在任意一個(gè)js里可以修改:getApp().globalData.users = ['王五', '趙六'];
wx.showToast({? title: '成功',? icon: 'success',? duration: 2000})這個(gè)代碼在開發(fā)工具里面提示不了啊,請(qǐng)問各位是怎么解決的梯嗽?開發(fā)工具只能提示
求大神幫忙看下
答:
現(xiàn)在是有這樣的情況齿尽。IDE的代碼提示和官方API不一致。
類似問題還有灯节,IDE可以使用的組件循头,手機(jī)上不可以正常顯示等。
版本問題炎疆,只能微信解決卡骂。在這之前,請(qǐng)手動(dòng)敲入P稳搿H纭!
開發(fā)者工具還美更新吧亿遂,看了下文檔toast即將棄用浓若,使用wx.showToast渺杉,但是開發(fā)者工具里還沒更新
1、php自己的session是用來判斷用戶是否登錄的七嫌,windows+apache的話少办,小程序的session咋存儲(chǔ)。是存儲(chǔ)到數(shù)據(jù)庫(kù)中诵原?英妓??還是哪绍赛?蔓纠??
2吗蚌、wx.login中的code哪個(gè)是用戶的唯一標(biāo)識(shí)腿倚?是openid嗎?蚯妇?
答:
小程序在本地存儲(chǔ)一個(gè)秘鑰敷燎,每次請(qǐng)求的時(shí)候帶過去,服務(wù)端校驗(yàn)這個(gè)秘鑰箩言,如果合法硬贯,返回成功和對(duì)應(yīng)的數(shù)據(jù)
微信的check方法里面的參數(shù)是什么?
微信小程序的用戶信息可以做登錄嗎陨收?請(qǐng)問小程序的用戶信息可以做登錄嗎饭豹,只有頭像和昵稱,都沒有唯一標(biāo)識(shí)
答:
這個(gè)應(yīng)該是要和后臺(tái)配合务漩,自己生成一個(gè)session作為唯一標(biāo)示拄衰,不能用openid
感覺沒辦法,組件的體驗(yàn)需要微信的優(yōu)化饵骨,組件都是封裝好的改不了
小程序 post 參數(shù)一直進(jìn)不去 服務(wù)器端沒接收到翘悉。
我試了下,php框架使用ThinkPhP宏悦。請(qǐng)求代碼:
wx.request({
url: 'http://localhost/api/getList',
data: {lastid:lastid,limit:limit},
header: {
'Content-Type': 'application/json'
},
method:'post',
success: function(res) {
var cc = res.data;
},
fail: function(res){? },
complete: function(){? }
})
post數(shù)據(jù):
后臺(tái)代碼(查詢后返回镐确,使用ajaxReturn返回?cái)?shù)據(jù)到前端):
function getList(){
$list = M('mmc')->field('id,title,img,cTime')->limit($limit)->select();
$this->ajaxReturn($list);
}
前端接收到的數(shù)據(jù)(success函數(shù)回調(diào)的res):
關(guān)于php無法接收微信小程序POST傳參剛剛開始按照微信官方的方法寫了一個(gè)POST傳參,后臺(tái)使用php進(jìn)行解析入庫(kù)饼煞。但是突然發(fā)現(xiàn)GET能接收到傳參源葫,但是后臺(tái)$_POST死活都沒辦法進(jìn)行傳參。wx.request({? ? ? url: 'http://localhost/XXX.php',? ? ? data: {? ? ? ? menu: data.detail.value.menu ,? ? ? },? ? ? /*header: {? ? ? ? ? 'content-type': 'application/json'? ? ? },*/? ? ? method:'post',? ? ? success: function(res) {? ? ? ? console.log(res.data)? ? ? }? ? })復(fù)制代碼查了資料砖瞧,都說是'content-type': 'application/json'復(fù)制代碼大小寫的問題息堂。但是我把它改成小寫了還是不行。后來仔細(xì)研究了發(fā)現(xiàn),微信小程序通過POST的不是字符串荣堰,而是JSON信息床未,所以在后臺(tái)是無法直接用$_POST進(jìn)行解析的。這個(gè)是我們正常POST信息瀏覽器對(duì)后臺(tái)文件發(fā)送的post信息這個(gè)是小程序POST的信息振坚,所以我們就要處理一下才行了php獲取信息如下:$menu = file_get_contents('php://input');$val = json_decode($menu,true);echo($val['menu']);復(fù)制代碼把json轉(zhuǎn)換成數(shù)組以后就可以正常的進(jìn)行數(shù)據(jù)處理了薇搁!小程序里的console在wing工具哪里看點(diǎn)擊調(diào)試即可之前已認(rèn)證的公眾號(hào)不能用作開發(fā)小程序嗎?小程序是和訂閱號(hào)渡八、服務(wù)號(hào)以及企業(yè)號(hào)平行的新類型啃洋,所以需要在微信公眾平臺(tái)申請(qǐng)一個(gè)新的小程序號(hào),需要重新認(rèn)證屎鳍。特別好奇 微信小程序能不能支持發(fā)送圖標(biāo)到桌面這個(gè)功能安卓應(yīng)該可以宏娄,蘋果不行微信小程序沒有提供webview組件嗎?首先微信內(nèi)跳轉(zhuǎn)普通H5頁(yè)面時(shí)逮壁,跳轉(zhuǎn)地址是需要在國(guó)內(nèi)備案的孵坚,否則會(huì)有警告提示。以微信的尿性窥淆,我個(gè)人估計(jì)小程序是不會(huì)提供webview組件讓你自由加載第三方頁(yè)面的卖宠,安全考慮。[table=98%][tr][td]list是數(shù)組忧饭,怎么判斷條數(shù)為0你說的是條件渲染嗎逗堵?也可以可以在 {{}} 內(nèi)進(jìn)行簡(jiǎn)單的運(yùn)算,包括三元運(yùn)算符眷昆、邏輯判斷、算數(shù)運(yùn)算[table=98%][tr][td]我想在首頁(yè)頂部導(dǎo)航上添加一個(gè)按鈕汁咏,點(diǎn)擊后跳轉(zhuǎn)到另外一個(gè)頁(yè)面亚斋。請(qǐng)問怎么實(shí)現(xiàn),謝謝了微信小程序有相關(guān)的API:wx.navigateTo(OBJECT)保留當(dāng)前頁(yè)面攘滩,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面帅刊,使用wx.navigateBack可以返回到原頁(yè)面。OBJECT參數(shù)說明:參數(shù)? ? ? ? 類型? ? ? ? 必填? ? ? ? 說明url? ? ? ? String? ? ? ? 是? ? ? ? 需要跳轉(zhuǎn)的應(yīng)用內(nèi)頁(yè)面的路徑 , 路徑后可以帶參數(shù)漂问。參數(shù)與路徑之間使用?分隔赖瞒,參數(shù)鍵與參數(shù)值用=相連,不同參數(shù)用&分隔蚤假;如 'path?key=value&key2=value2'success? ? ? ? Function? ? ? ? 否? ? ? ? 接口調(diào)用成功的回調(diào)函數(shù)fail? ? ? ? Function? ? ? ? 否? ? ? ? 接口調(diào)用失敗的回調(diào)函數(shù)complete? ? ? ? Function? ? ? ? 否? ? ? ? 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功栏饮、失敗都會(huì)執(zhí)行)示例代碼:wx.navigateTo({? url: 'test?id=1'})//test.jsPage({? onLoad: function(option){? ? console.log(option.query)? }})注意:為了不讓用戶在使用小程序時(shí)造成困擾,我們規(guī)定頁(yè)面路徑只能是五層磷仰,請(qǐng)盡量避免多層級(jí)的交互方式袍嬉。wx.redirectTo(OBJECT)關(guān)閉當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面。OBJECT參數(shù)說明:參數(shù)? ? ? ? 類型? ? ? ? 必填? ? ? ? 說明url? ? ? ? String? ? ? ? 是? ? ? ? 需要跳轉(zhuǎn)的應(yīng)用內(nèi)頁(yè)面的路徑success? ? ? ? Function? ? ? ? 否? ? ? ? 接口調(diào)用成功的回調(diào)函數(shù)fail? ? ? ? Function? ? ? ? 否? ? ? ? 接口調(diào)用失敗的回調(diào)函數(shù)complete? ? ? ? Function? ? ? ? 否? ? ? ? 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功伺通、失敗都會(huì)執(zhí)行)示例代碼:wx.redirectTo({? url: 'test?id=1'})wx.navigateBack(OBJECT)關(guān)閉當(dāng)前頁(yè)面箍土,返回上一頁(yè)面或多級(jí)頁(yè)面」藜啵可通過 getCurrentPages()) 獲取當(dāng)前的頁(yè)面棧吴藻,決定需要返回幾層。OBJECT參數(shù)說明:參數(shù)? ? ? ? 類型? ? ? ? 默認(rèn)值? ? ? ? 說明delta? ? ? ? Number? ? ? ? 1? ? ? ? 返回的頁(yè)面數(shù)弓柱,如果 delta 大于現(xiàn)有頁(yè)面數(shù)沟堡,則返回到首頁(yè)。舉個(gè)例子:點(diǎn)擊一個(gè)按鈕后跳轉(zhuǎn)? buttonClick:function(e){? ? var agrs ='我是參數(shù)';? ? wx.navigateTo({? ? ? ? url: '../order/order?order=' + agrs? ? })? },其中的URL是工程里目標(biāo)頁(yè)面的相對(duì)路徑吆你。至于你說的導(dǎo)航條左上角的按鈕弦叶,需要自己去做UI,以上是邏輯層面的妇多。想開發(fā)一個(gè)社交小程序 程序里面產(chǎn)生動(dòng)態(tài)能提示用戶么伤哺?微信的概念是不打擾用戶,肯定不能隨便給用戶彈消息者祖,但是有模板消息 是專門做消息通知的想做個(gè)本地垂直類的服務(wù)型項(xiàng)目立莉。小程序試用嗎非常適合,試水成本也不高怎么讓充滿整個(gè)屏幕啊寬高都設(shè)置為100%七问,試試看微信小程序多個(gè)組件動(dòng)畫蜓耻,官方教程上都是單個(gè)組件的動(dòng)畫比如var animation = wx.createAnimation({? ? ? ? duration: 1000,? ? ? ? timingFunction: "ease",? ? ? ? delay: 2000? ? ? })? ? ? this.animation = animation? ? ? ? ? animation.scale(1).step();? ? ? this.setData({? ? ? ? AvatarShow:animation.export()? ? ? })
復(fù)制代碼這樣的,但是我想讓這個(gè)動(dòng)畫執(zhí)行完畢了以后械巡,控制歡迎您:{{userInfo.nickName}}復(fù)制代碼其他的組件做動(dòng)畫效果應(yīng)該怎么做呢刹淌?? ? rotateThenScale: function() {? ? ? ? this.animation.rotate(Math.random() * 720 - 360).step()? ? ? ? ? ? .scale(Math.random() * 2).step()? ? ? ? this.setData({ animation: this.animation.export() })? ? ? ? setTimeout(function() {? ? ? ? ? ? this.animation2.rotate(Math.random() * 720 - 360).step()? ? ? ? ? ? ? ? .scale(Math.random() * 2).step()? ? ? ? ? ? this.setData({ animation2: this.animation2.export() })? ? ? ? }.bind(this), 3000)? ? },復(fù)制代碼比如這個(gè)是我修改的官網(wǎng)示例,animation不同就可以控制不同的組建了讥耗,這個(gè)相當(dāng)于獲取了界面元素
詳情請(qǐng)見:http://bbs.larkapp.com/thread-11751-1-1.html