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

Kotlin在圖書館微信公眾平臺自定義菜單開發中的應用

2021-04-09 07:04:00王龍軍
內蒙古科技與經濟 2021年5期
關鍵詞:微信圖書館方法

王龍軍

(成都工業學院,四川 成都 611730)

隨著移動互聯網的發展和移動閱讀方式的改變,移動閱讀的流行讓圖書館移動業務的發展成為比較迫切的任務,微信公眾平臺[1,2]擁有龐大的微信用戶群體,在高校圖書館進行圖書館微信號的開發越來越有必要,建立圖書館微信號能讓圖書館的業務進一步得到擴展。選擇合適的語言來開發微信公眾號非常重要,Java和Kotlin作為目前比較流行的開發語言,具有性能穩定、安全性高的特點,用這兩種開發語言來開發微信公眾平臺,能讓開發出來的系統具有高并發、高響應、數據一致性等特點,因此有必要引入這兩門語言來開發微信公眾平臺。

1 Kotlin概述

1.1 Kotlin介紹

Kotlin[3,4]是JetBrains推出的一門靜態編程語言,Kotlin既能在JVM(Java虛擬機)上運行,又能在非JVM上運行,主要原因在于Kotlin代碼可以編譯成Java字節碼,也可以編譯成JavaScript。Kotlin可以做到與Java[5]語言百分之百互通,并且Kotlin的代碼更加簡潔,代碼效率更高,能夠自由使用Java的全部框架和庫,Kotlin可以調用Java代碼,當然Java也可以調用Kotlin代碼,兩門語言的代碼可以在同一項目中共存,同時Kotlin具有現代流行語言的高級特性——語法糖、函數式編程等。

1.2 Java調用Kotlin

由于Java和Kotlin程序都是按照JVM規范進行編譯,編譯后生成的字節碼完全兼容,因此Java調用Kotlin屬性和方法是非常方便和簡潔的,但是兩者之間在屬性和字段上還是有一些區別。其中Kotlin的屬性和Java 的成員變量是不同的,主要表現為一個Kotlin類中的屬性類似于Java定義一個類的屬性和getter、setter方法的總和,在默認情況下Kotlin已經實現了類中的getter和setter方法,也就是說Kotlin不需要再寫getter和setter方法,這對于常常進行類封裝時要書寫大量的getter和setter方法無疑是一個好消息,能大大節省書寫代碼的工作量。

Kotlin定義屬性時可以不顯示指定屬性的類型,這主要是由于Kotlin語言能夠根據屬性來推斷其類型,Kotlin可以定義讀寫屬性和只讀屬性兩種類型。Kotlin使用var關鍵字來定義類的讀寫屬性,不需要定義getter方法,Kotlin編譯系統會為其隱含地生成getter方法;使用val定義類的只讀屬性,同樣也不需要書寫getter方法和setter方法,Kotlin編譯系統會為讀寫屬性生成getter和setter方法。

Java調用Kotlin代碼可以直接通過getter / setter方法對Kotlin類的屬性取值或賦值,以建立菜單類為例,用Kotlin封裝建立一個菜單類menu,內容如下:

class Menu {

var MenuName: String? = null

var MenuType: String? = null

}

Java類調用Kotlin屬性和方法如下:

Menu xtcd=new Menu();

xtcd.setMenuName(“借閱歷史”);

xtcd.setMenuType(“click”);

2 Kotlin在自定義菜單開發中的設計和實現

2.1 自定義菜單

2.1.1 自定義菜單介紹。自定義菜單是微信公眾平臺非常重要的一個功能,自定義菜單能讓用戶輕松地和公眾平臺實現交互,用戶只要點擊菜單項就能獲得一個相關的內容。目前自定義菜單一級菜單可以是1~3個,在一級菜單下的二級菜單有1~5個,一級菜單包含1~8個字符(4個漢字),二級菜單有1~14個字符(7個漢字),多余14個字符的部分以“…”來顯示,這些規定都是微信公眾平臺自定義菜單開發的人為規定,開發者有必要了解一下。

2.1.2 自定義菜單分類。自定義菜單可以實現的功能也是多種多樣的,根據實現功能的不同,微信自定義菜單按鈕共分為10種類型,分別為click(點擊推事件)、view(跳轉URL)、scancode_push(掃碼推事件)、scancode_waitmsg(掃碼推事件且彈出“消息接受中”提示框)、pic_sysphoto(彈出系統拍照發圖)、pic_photo_or_album(彈出拍照或相冊發圖)、pic_weixin(彈出微信相冊發圖器)、location_select(彈出地理位置選擇器)、media_id(下發消息)、view_limited(跳轉圖文消息URL)。本系統用得最多的是click(點擊事件)和view(訪問網頁)兩種,主要介紹這兩種類型。

click:該類型表示被點擊后推送事件,具體為click按鈕被點擊后,微信服務器會給開發者通過消息接口來推送結構為event的消息,并附上開發者在按鈕中填寫的自定義key值,開發者與用戶通過key值進行交互。

view:該類型表示被點擊后跳轉到指定的URL地址上,具體為view按鈕被點擊后,開發者在該按鈕中設置的網頁URL將會在微信客戶端中打開,通過網頁授權獲取用戶基本信息接口與該操作相結合,可以在微信公眾平臺中獲取用戶基本信息。

2.2 Kotlin在自定義菜單開發中的設計和實現

圖書館微信公眾平臺的功能模塊一般需要通過自定義菜單的菜單項來實現,自定義菜單模塊主要實現掛接系統多個模塊,本系統根據其功能的類別分為三大板塊:個人圖書館、服務與資源、資訊,對應于圖書館微信公眾平臺3個一級菜單,每個板塊下面又有3~5個子板塊,對應于圖書館微信公眾平臺二級菜單,具體如圖1所示。

圖1 系統三大板塊結構

主界面包括3個一級菜單,分別為“個人圖書館”“服務與資源”和“資訊”,代表著公眾平臺三大主要的功能板塊。觸摸點擊一級菜單上,會彈出相應的下拉菜單,下拉菜單對應著圖書館公眾平臺具體的功能模塊。

創建菜單分兩步:

第一步:獲取接口憑證access_token。首先獲取AppID和AppSecret值,自定義菜單申請成功后,在開發模式中可以獲得AppID和AppSecret值。然后如果開發自定義菜單,那么微信公眾平臺開放菜單接口,開發者調用菜單接口需要傳入一個參數access_token,它是微信公眾號的全局唯一票據,也是菜單接口的訪問憑證,微信公眾號可以使用AppID和AppSecret,以https 協議和get方式獲取訪問特殊接口所必需的憑證access_token。

獲取憑證接口的請求地址如下:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET,接口調用成功的情況下,微信服務器會返回一個JSON數據,該數據包含access_token和expires_in兩個元素,如下:{"access_token":"ACCESS_TOKEN","expires_in":7200}。

第二步:采用Kotlin和Java創建自定義菜單。本系統采用面向對象的編程方式,最終提交的JSON格式菜單數據由對象通過轉化而來,沒有采用在程序中拼湊JSON格式數據的方法,因此利用Kotlin類來封裝JSON格式的菜單結構,建立三個類,分別為Item類、ClickItem類、ViewItem類,由于一級菜單包含二級菜單,需要建立復合類型的按鈕類ComplexItem,最后是對整個菜單對象的封裝,其類為Menu。

class Item {var name: String? = null}

class ClickItem:Item() {

var type: String? = null

var key: String? = null}

根據封裝的類通過Java來創建菜單,最終得到JSON格式的菜單數據,為了演示,展示部分Java關鍵代碼:

ClickItem ci11 = new ClickItem();

ci11.setName("綁定借閱卡");

ci11.setType("click");

ci11.setKey("11");

ClickItem ci12 = new ClickItem();

ci12.setName("借閱歷史");

ci12.setType("click");

ci12.setKey("12");

ComplexItem mainci1 = new ComplexItem();

mainci1.setName("個人圖書館");

mainci1.setSub_button(new ClickItem[] { ci11, ci12});

得到JSON格式的菜單結構之后,需要通過HTTPS POST請求將JSON菜單結構提交給https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN,然后通過Java代碼來創建菜單,再通過判斷,菜單是從click類型還是view類型創建響應的菜單事件。

3 結束語

筆者主要介紹了Kotlin、自定義菜單分類及Kotlin在自定義菜單的設計和實現,充分利用Kotlin的優點和通過Java調用Kotlin來進行混合開發,兩者的結合能大大提升開發的效率,開發出來的系統在實踐中證明性能穩定、安全性高、具有高并發性。

猜你喜歡
微信圖書館方法
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
微信
飛躍圖書館
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
微信
微信
微信
圖書館里的是是非非
捕魚
主站蜘蛛池模板: 欧美精品成人| 2020最新国产精品视频| 亚洲综合九九| 亚洲一区二区成人| 亚洲综合网在线观看| 91精品伊人久久大香线蕉| 国产日韩久久久久无码精品| 欧美一区二区啪啪| 免费看美女毛片| 午夜日韩久久影院| 精品国产Ⅴ无码大片在线观看81| 国产在线观看99| 波多野结衣无码中文字幕在线观看一区二区 | 国产在线观看91精品亚瑟| 国产精品第页| 伊人欧美在线| 手机在线免费不卡一区二| 免费午夜无码18禁无码影院| 国产在线一二三区| 香蕉视频在线观看www| a在线观看免费| 97在线视频免费观看| 亚洲精品无码AⅤ片青青在线观看| 亚洲人成人伊人成综合网无码| 国产精品自拍露脸视频| 少妇精品久久久一区二区三区| 国产亚洲精品91| 久久久久久国产精品mv| 波多野结衣二区| 色综合天天视频在线观看| 婷婷中文在线| 亚洲AV无码一区二区三区牲色| 成人精品区| 91久久偷偷做嫩草影院精品| 99九九成人免费视频精品| 伊人色天堂| 97国内精品久久久久不卡| 国产丝袜91| 老司国产精品视频91| 亚洲久悠悠色悠在线播放| 欧美精品v欧洲精品| 国产成人综合日韩精品无码首页 | 成人韩免费网站| 日本高清在线看免费观看| 青青国产成人免费精品视频| 原味小视频在线www国产| 91在线播放国产| 日本免费精品| 国产幂在线无码精品| 国产农村妇女精品一二区| 亚洲国产成熟视频在线多多 | 视频国产精品丝袜第一页| 日韩国产亚洲一区二区在线观看| 日韩激情成人| 人妻丝袜无码视频| 日韩激情成人| 精品视频第一页| 福利国产微拍广场一区视频在线| 国产成人欧美| 在线人成精品免费视频| 欧美成a人片在线观看| 日韩精品毛片人妻AV不卡| 亚洲人在线| 极品性荡少妇一区二区色欲| 青青草原偷拍视频| 亚洲中文字幕在线精品一区| 亚洲欧美日韩精品专区| 人人妻人人澡人人爽欧美一区| 国产亚洲精品在天天在线麻豆| 亚洲一级毛片在线播放| 国产精品白浆无码流出在线看| 亚洲av无码人妻| 国产精品中文免费福利| 日本免费精品| 国产成人盗摄精品| av一区二区无码在线| 精品国产女同疯狂摩擦2| 中文字幕资源站| 日韩中文无码av超清| 国产精品va免费视频| 亚洲综合极品香蕉久久网| 亚洲欧美不卡视频|