999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

小程序開(kāi)發(fā)實(shí)戰(zhàn)和一些常見(jiàn)問(wèn)題解決思路分析

2021-07-19 07:53:22張雷
科學(xué)與信息化 2021年19期
關(guān)鍵詞:頁(yè)面按鈕界面

張雷

合肥市市場(chǎng)監(jiān)管綜合行政執(zhí)法支隊(duì) 安徽 合肥 230001

引言

筆者開(kāi)發(fā)“危險(xiǎn)求助”小程序的動(dòng)因:在一些陌生環(huán)境里,我們難免會(huì)遇到一些不可測(cè)的風(fēng)險(xiǎn),曾經(jīng)一度在媒體上引起廣泛關(guān)注的“順風(fēng)車女生遇害”、“貨拉拉跳車事件”等,讓我們?cè)谕葱闹啵蚕肽茏鲂┦裁矗瑏?lái)幫助大家在遇到潛在危險(xiǎn)的時(shí)候,能快速把信息傳遞給身邊信任的人,多一份獲救的希望,也多一份安全感。因此有了這款“危險(xiǎn)求助”小程序的誕生。本文通過(guò)這款小程序的開(kāi)發(fā)框架和一些開(kāi)發(fā)過(guò)程中的踩坑經(jīng)驗(yàn),來(lái)介紹一下我在小程序開(kāi)發(fā)中總結(jié)的經(jīng)驗(yàn)和教訓(xùn)。

1 小程序的功能和結(jié)構(gòu)

小程序的開(kāi)發(fā)環(huán)境經(jīng)過(guò)數(shù)年的迭代,現(xiàn)在的成熟度已經(jīng)足夠滿足基礎(chǔ)需求,界面也比較友好。官方給出了豐富的開(kāi)發(fā)工具、組件、API、擴(kuò)展工具等,甚至還提供了一套完備的設(shè)計(jì)指南,小規(guī)模的開(kāi)發(fā)者完全可以使用官方提供的一系列工具直接進(jìn)行開(kāi)發(fā)。

我們可以從微信開(kāi)放文檔(https://developers.weixin.qq.com/miniprogram/dev/framework/)里,下載微信開(kāi)發(fā)工具Wechat_devtools,當(dāng)前最新版本是1.05.2103200(158MB),在微信公眾平臺(tái)官網(wǎng)首頁(yè)(mp.weixin.qq.com)點(diǎn)擊右上角的“立即注冊(cè)”按鈕注冊(cè)好自己的開(kāi)發(fā)者信息,完成綁定后,即可進(jìn)行開(kāi)發(fā)。開(kāi)發(fā)界面如下圖所示:

小程序用Java Script語(yǔ)言、XML、CSS語(yǔ)言編寫程序代碼,寫小程序代碼幾乎與Web前端開(kāi)發(fā)完全一樣,有經(jīng)驗(yàn)的Web前端程序員上手小程序開(kāi)發(fā)幾乎沒(méi)有技術(shù)門檻。不同的是,小程序并不是標(biāo)準(zhǔn)的H5+CSS3+JavaScript架構(gòu),它和Web架構(gòu)基于的W3C規(guī)范沒(méi)有關(guān)系,小程序使用的是騰訊重新定義、微信自有的技術(shù)規(guī)范和架構(gòu)。

在圖1中我們可以看到:開(kāi)發(fā)工具主界面分為四個(gè)區(qū)域:標(biāo)題菜單欄、導(dǎo)航按鈕、模擬器和主操作區(qū)。這個(gè)布局和Chrome開(kāi)發(fā)者工具非常相似。

圖1 小程序開(kāi)發(fā)界面

導(dǎo)航按鈕于菜單的下面,用于小程序的編輯模式和調(diào)試模式的切換、代碼的編譯、后臺(tái)和前臺(tái)模式的切換及項(xiàng)目管理等。

模擬器窗口是一個(gè)頁(yè)面瀏覽器,會(huì)實(shí)時(shí)顯示頁(yè)面狀態(tài),供我們操作和調(diào)試。

主操作區(qū)位于開(kāi)發(fā)界面右下方最大面積,會(huì)顯示小程序的目錄樹(shù)和代碼編輯區(qū)域,目錄樹(shù)用于小程序的文件管理,我們的代碼編寫工作需要在代碼編輯區(qū)域完成。

一個(gè)小程序包含一個(gè)描述整體程序的主體部分(根目錄)和一組或者幾組描述頁(yè)面的page文件夾。

小程序的主體部分位于源代碼文件夾的根目錄下面,通常由三個(gè)文件構(gòu)成:app.js、app.json和app.wxss,這三個(gè)文件是小程序的架構(gòu)文件,不能改名。

小程序的每個(gè)頁(yè)面分別由四個(gè)文件組成[pageName].js、[pageName].json、[pageName].wxml、[pageName].wxss。同一個(gè)頁(yè)面,四個(gè)文件的路徑和文件名必須相同,否則小程序在調(diào)用和處理文件時(shí)會(huì)無(wú)法識(shí)別[1]。

2 開(kāi)發(fā)中遇到的問(wèn)題及解決方案

2.1 經(jīng)緯度漂移

開(kāi)發(fā)中,首先遇到的問(wèn)題就是定位不準(zhǔn)。用真機(jī)測(cè)試時(shí),手機(jī)顯示位置與實(shí)際地理位置差距很大,這在一款用來(lái)遇險(xiǎn)求救的軟件里,顯然是達(dá)不到實(shí)用目的的。而觀察源代碼,也看不出來(lái)哪里有邏輯錯(cuò)誤。代碼如下:

// pages/index/index.js

Page({

data: {

latitude: 31.86,

longitude: 117.27,

scale: 16

},

onTapSwitch() {

var that=this;

console.log(‘切換按鈕被按下。’);

wx.getLocation({

type: ‘wgs84’,

success: function (res) {

console.log(JSON.stringify(res))

that.latitude=res.latitude

that.longitude=res.longitude

console.log(‘當(dāng)前經(jīng)度’,that.longitude,’當(dāng)前緯度’,that.latitude);

var speed=res.speed

var accuracy=res.accuracy;

},

fail: function (res) {

console.log(‘fail’ + JSON.stringify(res))

}

})

}

})

在csdn和論壇里提問(wèn),再查詢相關(guān)的地圖資料,才發(fā)現(xiàn)問(wèn)題出在wx.getLocation()函數(shù)里,type參數(shù)的設(shè)定值應(yīng)該用gcj02,而不是缺省的wgs84。

GCJ-02是國(guó)測(cè)局2002年發(fā)布的坐標(biāo)體系。又稱“火星坐標(biāo)”。修改后,定位精度大大提高,完全達(dá)到實(shí)時(shí)定位的基本需求。

這里還有要注意的一個(gè)語(yǔ)法點(diǎn),在跨頁(yè)面?zhèn)鬟f經(jīng)緯度參數(shù)時(shí),要使用setData()函數(shù)。起初,筆者隨手寫了一個(gè)that.latitude=res.latitude,雖然給當(dāng)前頁(yè)面的latitude直接賦值了,但無(wú)法渲染頁(yè)面,實(shí)際上,只有使用如下格式,才能正確地在頁(yè)面上顯示位置和給對(duì)應(yīng)參數(shù)賦值[2]。

that.setData({

latitude: res.latitude,

longitude: res.longitude

});

2.2 頁(yè)面跳轉(zhuǎn)的邏輯關(guān)系與用戶體驗(yàn)

本程序需要在啟動(dòng)時(shí)申請(qǐng)用戶的頭像和昵稱,以便在發(fā)送求助信息時(shí)傳遞給好友尋求幫助。從申請(qǐng)信息的login頁(yè)面到主程序的index頁(yè)面之間的跳轉(zhuǎn)關(guān)系,如果設(shè)計(jì)不合理,容易給用戶造成困擾。筆者起初的設(shè)計(jì)思路是:index頁(yè)面是進(jìn)入程序的第一頁(yè)面,如果該頁(yè)面onShow()時(shí)沒(méi)有拿到登錄人信息(全局變量為undefined),則跳轉(zhuǎn)login頁(yè)面,要求授權(quán)登錄。第一次設(shè)計(jì)跳轉(zhuǎn)關(guān)系時(shí),筆者使用wx.navigateTo()函數(shù)到login頁(yè)面,但如果這樣的話,在用戶不點(diǎn)擊授權(quán),而直接用android設(shè)備的返回按鈕時(shí),按照函數(shù)機(jī)制,就會(huì)返回來(lái)時(shí)的頁(yè)面,即index頁(yè)面,然后,index頁(yè)面又要求在onShow()時(shí)判斷有沒(méi)有全局變量,沒(méi)有又跳回login頁(yè)面。循環(huán)往復(fù),導(dǎo)致只有點(diǎn)擊界面右上角的關(guān)閉,才能關(guān)閉小程序。用戶體驗(yàn)不好。

通過(guò)觀察幾個(gè)頁(yè)面函數(shù)的邏輯關(guān)系,在新版里改為在index頁(yè)面里,用wx.redirectTo()跳到login頁(yè)面,此時(shí)index頁(yè)面出棧,頁(yè)面棧里只有l(wèi)ogin一個(gè)頁(yè)面,如果沒(méi)授權(quán),用戶可以直接用設(shè)備的返回按鈕時(shí),跳出小程序。用戶體驗(yàn)得到改善[3]。

3 后記

通過(guò)“危險(xiǎn)求助”小程序的實(shí)踐,我們既熟悉了小程序的開(kāi)發(fā)、發(fā)布流程,也為大家提供了一個(gè)面臨潛在危險(xiǎn)時(shí),快速向身邊親人、朋友發(fā)送當(dāng)前位置同時(shí)傳遞呼救信息的可行方案。

猜你喜歡
頁(yè)面按鈕界面
這些按鈕能隨便按嗎?
大狗熊在睡覺(jué)
當(dāng)你面前有個(gè)按鈕
刷新生活的頁(yè)面
國(guó)企黨委前置研究的“四個(gè)界面”
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
人機(jī)交互界面發(fā)展趨勢(shì)研究
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
內(nèi)心不能碰的按鈕
同一Word文檔 縱橫頁(yè)面并存
主站蜘蛛池模板: 国产在线98福利播放视频免费| 国产成人高清精品免费| 中文无码日韩精品| 永久免费精品视频| 91精品最新国内在线播放| 日韩精品一区二区三区视频免费看| 日本成人一区| 99精品国产高清一区二区| 亚洲综合亚洲国产尤物| 露脸真实国语乱在线观看| 在线观看视频99| 国产人成网线在线播放va| 精品国产香蕉伊思人在线| 伊人中文网| 美女内射视频WWW网站午夜 | 欧美成人亚洲综合精品欧美激情| 国产视频大全| 在线一级毛片| 国产精品真实对白精彩久久| 尤物国产在线| 精品国产中文一级毛片在线看| 中文字幕无码av专区久久| 久久男人资源站| 亚洲男人的天堂在线| 呦女精品网站| 秋霞一区二区三区| 国产成人精品一区二区秒拍1o| 亚洲三级电影在线播放| 国产乱子伦视频三区| 99久视频| 国产噜噜在线视频观看| 一本色道久久88亚洲综合| 人妻一本久道久久综合久久鬼色| 国产黑人在线| 亚洲一区二区三区香蕉| 一级全黄毛片| 最新国产精品第1页| 成人无码区免费视频网站蜜臀| 四虎影视8848永久精品| 国产亚洲高清视频| 国外欧美一区另类中文字幕| 99热这里只有免费国产精品 | 波多野吉衣一区二区三区av| 1级黄色毛片| 毛片最新网址| 欧美色综合网站| 国产国拍精品视频免费看| 伊人成色综合网| 看国产毛片| 一区二区三区高清视频国产女人| 熟女视频91| 亚洲 日韩 激情 无码 中出| 亚洲第一在线播放| 免费在线播放毛片| 国产精品3p视频| 波多野结衣久久高清免费| 亚洲av日韩综合一区尤物| 97影院午夜在线观看视频| 97国产成人无码精品久久久| 国产精品久久久久无码网站| 欧美第一页在线| 亚洲第一视频免费在线| 另类欧美日韩| 国产精品男人的天堂| 国产成人区在线观看视频| 高清码无在线看| 99久久精品无码专区免费| 玖玖免费视频在线观看| 视频一区视频二区日韩专区| 亚洲成a人片在线观看88| 91视频免费观看网站| 亚洲无码91视频| 国产乱视频网站| 99re在线视频观看| 国产一区二区精品福利| 秘书高跟黑色丝袜国产91在线 | 大陆精大陆国产国语精品1024| 亚洲国产精品日韩欧美一区| 青青草国产免费国产| 免费无码AV片在线观看国产| 波多野结衣视频一区二区| 亚洲中文久久精品无玛|