最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序從注冊賬號到上架(圖文詳解)

 更新時間:2019年07月17日 11:34:38   作者:csuhan  
這篇文章主要介紹了微信小程序從注冊賬號到上架詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

前言

自從微信小程序功能發(fā)布后,我就一直關注著小程序的動向,然而限于學業(yè)繁忙,總是沒有太多的時間去學習。大二逐漸學習了Vuejs,被其簡潔的設計所吸引,后來看了看小程序的開發(fā)文檔,發(fā)現這么的相似?可能前端的發(fā)展趨勢就是這樣的吧,各個框架都趨向于相似的優(yōu)秀的設計。

大三逐漸學習了Go語言,為了練習Go語言,同時也將自己幾年來積累的東西聚合在一起,于是開發(fā)了微信小程序:We中南(可以去微信搜索,雖然現在畢業(yè)已經不打算維護了),其聚合了中南大學校內常見的信息查詢功能,如:成績課表查詢、校車校歷查詢等項目已經在我的Github開源:前端、后端。

We中南、SCI期刊IF查詢

今年暑假的某天突然心血來潮,看了下We中南的數據統(tǒng)計,發(fā)現還是有人用的,在沒有推廣的情況下居然增加了好幾百的訪問量(突然的感動),同時發(fā)現小程序支持云函數開發(fā)了,也就是說對于小型的小程序不必使用后端服務器,直接使用其提供的nodejs環(huán)境進行開發(fā)。

經過這些天的摸索,我想把自己從小程序注冊到上架的全過程分享出來,供準備學習小程序的同學參考。

準備工作

1. 注冊微信小程序賬號

點擊傳送門立馬注冊微信小程序賬號。點進去后會看到如下界面,選擇注冊類型時要選擇微信小程序。

注冊界面

接著填寫相關的信息即可完成注冊。

注冊界面-填寫信息

在完成注冊后,切換到開發(fā)->開發(fā)設置,可以查看開發(fā)者ID。

AppID

2. 下載開發(fā)者工具,新建項目

進入傳送門,下載安裝最新版的開發(fā)者工具。使用開發(fā)者工具,開發(fā)者可以完成小程序的 API 和頁面的開發(fā)調試、代碼查看和編輯、小程序預覽和發(fā)布等功能。

關于IDE使用方法的界面,可以詳細參考官方文檔

接著打開開發(fā)者工具,修改項目名稱,填入上面說的AppID,后端服務選擇小程序云開發(fā)。

新建小程序項目

新建項目后我們可以看到,IDE已經幫我們新建了一個包含云函數開發(fā)的小程序模板,還提供了一些功能測試界面。
此時我們并沒有開通云開發(fā),需要點擊IDE左上角的“云開發(fā)”,然后選擇開通云服務。

IDE主界面

開發(fā)小程序

1. 關于項目文件結構的介紹

項目結構

項目分為兩個子文件夾,一個為cloudfunctions,里面包含小程序的云函數,一個子文件夾包含一個云函數;另一個為miniprogram,是小程序的前端文件夾,沒有固定的文件夾格式,完全可以通過對app.json進行修改定制自己的文件夾。具體文件的介紹可以參考官方文檔

2. 修改小程序信息

打開miniprogram文件夾下的app.json,其定義了小程序的基本信息。
下面是我的小程序的app.json,我將示例里無關的頁面都刪除了,添加了index主界面和detail詳情頁。
關于示例項目的修改:可以直接將pages目錄下除index外的頁面都刪除,將style、images文件夾下的文件都刪除。

{
 "pages": [
  "pages/index/index",
  "pages/detail/index"
 ],
 "window": {
  "backgroundColor": "#F6F6F6",
  "backgroundTextStyle": "light",
  "navigationBarBackgroundColor": "#F6F6F6",
  "navigationBarTitleText": "SCI IF期刊影響因子查詢2019",
  "navigationBarTextStyle": "black"
 },
 "sitemapLocation": "sitemap.json"
}

3. 新建云函數!

云函數最大的優(yōu)勢便是無需購買服務器,無需注冊域名,并無需配置SSL證書,真正達到了開箱即用。
在cloudfunctions目錄上又見新建nodejs云函數,即可創(chuàng)建一個新的云函數,其包含了兩個文件:package.json、index.js

package.json為一個標準的npm包,index.js為云函數的主文件。下面是新建云函數的初始內容,可以看到其首先引入了wx-server-sdk,它為小程序提供了操作云數據庫的能力,接著初始化云函數,export云函數內容。

// 云函數入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函數入口函數
exports.main = async (event, context) => {
 const wxContext = cloud.getWXContext()

 return {
  event,
  openid: wxContext.OPENID,
  appid: wxContext.APPID,
  unionid: wxContext.UNIONID,
 }
}

需要說明的是:云函數包含幾乎完整的nodejs環(huán)境,因此一些常見的nodejs庫如:requests、chreeio等都可以通過package.json添加,使用。

4. 為云函數添加功能

本文的小程序為SCI期刊影響因子查詢的小程序,邏輯較為簡單,后端僅需要提供一個期刊查詢接口,為前端提供相應期刊的影響因子即可。

1.新建云函數http_get

2.引入相關類庫。在終端中打開云函數http_get的目錄,接著安裝依賴庫。由于此函數利用了第三方的查詢接口,因此需要使用http請求庫got和http解析庫cheerio。具體操作如下

cd /path/to/your/cloudfunctions
npm install //安裝wx-cloud-server
npm install got --save
npm install cheerio --save

3.為函數添加功能。此處主要是加載相關類庫,解析html,然后將結果編碼為json返回客戶端。

// 加載相關類庫
const cloud = require('wx-server-sdk')
const got = require('got')
const querystring = require('querystring')
const cheerio = require('cheerio')
cloud.init()
// 云函數入口函數
exports.main = async (event, context) => {
 const wxContext = cloud.getWXContext()
 //sci影響因子查詢接口
 const sci_url = 'some url'
 //獲取期刊名稱
 let sciname = event.sciname
 let querys = querystring.stringify({ q: sciname, sci: 1 });
 //請求數據
 let resp = await got(sci_url + String(querys))
 //解析html
 const $ = cheerio.load(resp.body)
 const lists = $(".tb1 tr")
 //判斷是否存在查詢期刊
 if (lists.children().length == 0) {
  return -1
 }else{
  let jounalLists = lists.map((i, item) => {
   return {
    //期刊編號
    no: $(item).children().eq(0).text(),
    //省略部分內容,解析html參數
    //影響因子解析
    if: $(item).children().eq(7).text(),
   }
  }).get()
  return jounalLists //返回解析結果
 }
}

4.調試云函數。云函數的調試可以通過云端調試:IDE界面->云開發(fā)->云函數,選擇相應的云函數即可進行調試。點擊調試后即可返回調試結果,可以根據結果對函數進行修改。

云函數調試

云函數調試

同時也可以通過本地環(huán)境調試云函數:在cloudfunctions下相應函數文件夾點擊“本地調試”即可進行調試,相比于云端調試,本地調試更加便捷,也無需每次調試前上傳云函數到服務器。但需要注意的是:請在云函數目錄下執(zhí)行npm install完成相關類庫安裝,然后才能進行調試。

云函數調試

5. 添加小程序頁面

小程序的每個頁面都包含四個文件:.js、.json、.wxml、wxss。js負責程序邏輯、json配置頁面參數、wxml定義頁面結構、wxss定義頁面樣式。這就相當于將HTML頁面拆分為.html、.css、.js。

由于小程序是運行在微信內的webview環(huán)境,因此其語法與html有所不同,可以參考官方文檔:傳送門

為了方便頁面構建,本文引入了一個第三方類庫:Vant,其提供了精美的界面元素,開箱即用,詳細使用方法可以參見vant官方文檔。

最終小程序主界面如下所示:

小程序界面

其對應的代碼如下:

頁面結構

<!--index.wxml-->
 <view class='head_img'>
 <van-cell-group custom-class="cell_group">
 <van-field
 custom-class="cell_filed"
 value="{{ sciname }}"
 placeholder="期刊名稱/首字母/縮寫/ISSN"
 border="{{ false }}"
 focus="true"
 bind:change="onValueChange"
 />
 </van-cell-group>
 </view>
<view class="container">
 <view class="btn-area">
 <van-button type="info" size="large" round="true" bind:click="onClickQuery" loading="{{isQuery}}">查詢</van-button>
 </view>
 <view wx:if="{{sci.length>0}}">
 <van-cell-group title="共找到{{sci.length}}本期刊">
 <view wx:for="{{sci}}"wx:for-index="idx" wx:for-item="item" wx:key="idx">
  <van-cell title="{{item.sciname}}" 
  value="{{item.if}}" border="false" 
  title-width="80%"
  is-link link-type="navigateTo"
  url="/pages/detail/index?id={{idx}}"/>
 </view>
 </van-cell-group>
 </view>
</view>

頁面邏輯:

//index.js
const app = getApp()
Page({
 data: {
 isQuery:false,
 sciname:'',
 sci:[],
 },
 onValueChange:function(value){
 this.setData({
 sciname:value.detail
 })
 },
 onClickQuery:function(){
 var _this = this
 this.setData({
 isQuery:true
 })
 console.log('begin'+_this.data.sciname)
 wx.cloud.callFunction({
 name: 'http_get',
 data: {
 sciname:_this.data.sciname
 },
 success:res=>{
 //未查到
 if(res.result==-1){
  wx.showModal({
  title: '提示',
  content: '未查詢到相關信息,換個關鍵詞試試?',
  }) 
 }else{
  wx.setStorageSync('scis', res.result)
  _this.setData({
  sci:res.result
  })
 }
 _this.setData({
  isQuery: false
 })
 },
 fail:err=>{
 _this.setData({
  isQuery: false
 })
 console.log(err)
 },
 })
 },
 onLoad: function() {
 },
//省略部分代碼
})

按照同樣的方式,我又添加了詳情頁,對于每一本期刊的詳細信息進行展示。

部署

1. 上傳項目文件

首先對于每個云函數,都要右鍵,點擊“上傳并部署:云端安裝依賴”(當然上傳并部署所有文件也可以)。接著點擊IDE右上角的上傳,填寫版本信息,即可完成上傳。
登錄到微信公眾平臺的管理界面,切換到版本管理,我們便可以看到已經提交的版本。

小程序審核

2. 填寫小程序信息

在管理界面首頁寫著小程序發(fā)布流程,我們需要先補充小程序的基本信息,如名稱、圖標、描述等,當小程序信息。微信官方一般會在7日之內完成審核,我新注冊的小程序審核用了兩天時間。

3. 提交審核

審核完成之后,即可提交審核。切換到版本管理界面,對剛剛上傳的版本提交審核,注明版本信息即可。審核也需要幾天的時間。

結語

由于已經有過一次開發(fā)經驗,本次的注冊和編碼工作只用了一個下午,但程序審核確實十分的耗時,需要耐心的等待。
本程序也發(fā)布在github上了:傳送門

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • ES6入門教程之Array.from()方法

    ES6入門教程之Array.from()方法

    這篇文章主要給大家介紹了關于ES6入門教程之Array.from()方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用ES6具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • 如何解決hover在ie6中的兼容性問題

    如何解決hover在ie6中的兼容性問題

    本篇主要分享了如何解決hover在ie6中的兼容性問題的方法,希望會對大家學習javascript有所幫助
    2016-12-12
  • JS操作HTML自定義屬性的方法

    JS操作HTML自定義屬性的方法

    這篇文章主要介紹了JS操作HTML自定義屬性的方法,以實例形式分析了html中自定義屬性的設置與對應的javascript操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • JS前端接口防止重復請求的三種實現方案

    JS前端接口防止重復請求的三種實現方案

    前段時間心血來潮,想把項目的前端都做一下接口防止重復請求的處理,雖然大部分的接口處理我們都是加了loading的,但又不能確保真的是每個接口都加了的,下面就來總結一下這次的防重復請求的實現方案,需要的朋友可以參考下
    2024-03-03
  • Bootstrap菜單按鈕及導航實例解析

    Bootstrap菜單按鈕及導航實例解析

    這篇文章主要介紹了Bootstrap菜單按鈕及導航的相關資料,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學習吧
    2016-09-09
  • 修復bash漏洞的shell腳本分享

    修復bash漏洞的shell腳本分享

    這篇文章主要介紹了修復bash漏洞的shell腳本分享,本文腳本適應常見的linux服務器系統(tǒng),如CentOS、Debian、Ubuntu、OpenSuSE、Aliyun等系統(tǒng),需要的朋友可以參考下
    2014-12-12
  • JavaScript實現切換多張圖片

    JavaScript實現切換多張圖片

    這篇文章主要為大家詳細介紹了JavaScript實現切換多張圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • JavaScript實現函數返回多個值的方法

    JavaScript實現函數返回多個值的方法

    這篇文章主要介紹了JavaScript實現函數返回多個值的方法,涉及javascript字典類型的使用技巧,需要的朋友可以參考下
    2015-06-06
  • 微信小程序使用GoEasy實現websocket實時通訊

    微信小程序使用GoEasy實現websocket實時通訊

    這篇文章主要介紹了微信小程序使用GoEasy實現websocket實時通訊的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • js圖片輪播手動切換特效

    js圖片輪播手動切換特效

    這篇文章主要為大家詳細介紹了js圖片輪播手動切換特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01

最新評論

普陀区| 张家港市| 东辽县| 广州市| 庐江县| 万州区| 芷江| 长泰县| 义马市| 海林市| 右玉县| 合川市| 尼木县| 旌德县| 门源| 锡林郭勒盟| 平湖市| 新邵县| 泾阳县| 宁城县| 佳木斯市| 临湘市| 莱西市| 南康市| 绵竹市| 通江县| 噶尔县| 香格里拉县| 宁乡县| 明水县| 高清| 攀枝花市| 六枝特区| 嘉义市| 秭归县| 文成县| 于田县| 沛县| 新干县| 中超| 蓬溪县|