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

基于微信公眾平臺的在線民主測評系統

2020-02-22 06:52:26曹守富
科技創新導報 2020年28期

曹守富

摘? 要:隨著微信用戶規模的擴大,為增強用戶粘性,提升用戶體驗,越來越多的應用系統基于微信公眾平臺進行構建。本文以微信公眾平臺為基礎,將企事業單位對個人或者集體進行民主測評的過程轉移到該平臺上實現,利用其網頁授權機制、JS-SDK接口功能,實現了無記名的在線民主測評系統。該系統替代了傳統紙質這種耗時、易出錯的測評方式,改善了測評體驗,測評結果統計準確、高效,提高了民主測評工作效率。

關鍵詞:在線民主測評? 微信公眾平臺? 民主測評系統? 微信JS-SDK

中圖分類號:TP31? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2020)10(a)-0119-04

Abstract: With the increasing number of wechat users, in order to enhance user's stickiness and experience, more and more application systems are built on wechat public platform. The process of democratic evaluation of individuals or collectives by enterprises and institutions will be transferred to this platform for realization, used its web page authorization mechanism and JS-SDK interface function, implemented the anonymous online democratic evaluation process. This system replaced the traditional paper-based evaluation method, which is time-consuming and error prone, improved user evaluation experience. The evaluation results are accurate and efficient, and it improved the efficiency of democratic evaluation.

Key Words: Online democratic evaluation; Wechat public platform ; Democratic evaluation system; Wechat JS-SDK

民主測評是評價一個組織和個人工作實績的一種方法,通過民主測評也可以發揮個人對組織部門、領導干部的監督作用,能夠比較客觀地反映個人對組織、領導的評價,組織和個人也可以從中發現自身的不足。以往的測評方式是在測評會議之后給每位測評者發一張測評表,測評者填寫測評表后交給工作人員,工作人員再人工統計測評結果。這種方式效率不高,還可能會因為計算錯誤影響測評結果。為提高民主測評的工作效率,本文借鑒一些在線投票系統實現原理和功能,結合微信公眾平臺提供的微信網頁開發接口,同時也考慮到微信應用的普及性及操作便捷性,設計開發了一種無記名的在線民主測評系統,將測評和管理過程線上完成。

1? 系統設計

1.1 系統功能架構

從用戶的角度本系統分為兩種角色:測評者和工作人員,在功能上分別對應著測評端和管理端,如圖1所示。

測評端在線測評功能采用無記名方式進行,以減少測評者的顧慮,使得測評結果更加客觀。測評數據提交后,展示測評狀態,顯示是否已經參加過測評。在測評結束之前,測評者可以對原填寫數據進行修改。管理端進行測評計劃的創建及修改、被測評人員的管理、測評項目及測評計劃參數的設置、測評過程控制,測評結束后的數據統計和導出。

1.2 系統技術架構

測評端基于微信公眾平臺,采用“微信客戶端器——微信公眾平臺器——測評系統服務器——數據資源服務器”架構,本質上也是一種B/S模式的系統架構。

在技術實現上,如圖2所示,系統使用MS Sql Server存儲需持久化的數據,Redis提供全局緩存服務,主要存儲測評項、jsapi_ticket等讀取頻繁的公共數據。在線測評系統使用APS.NET技術實現,利用ADO.NET和CYQ.Data訪問數據資源,前后臺數據的傳輸采用JSON格式,使用Json.NET組件完成JSON格式數據的轉換,數據導出功能利用NPOI組件實現。該系統通過IIS以Web形式發布給終端用戶。在終端展示上以HTML5、CSS3、JavaScript為基礎,測評端使用手機微信APP進行測評,因此在界面展示上,利用WeUI樣式庫來控制測評界面外觀。為方便在移動端和普通PC端進行管理操作,管理端基于BootStrap框架,采用響應式布局方式呈現界面。數據的可視化展示方面,使用了開源的數據可視化庫ECharts。

2? 關鍵技術

2.1 微信公眾平臺網頁授權

本系統在進行民主測評時,需要測評者在微信客戶端訪問測評頁面,在測評頁面中要獲取測評者微信個人相關信息,則需要通過第三方服務器(測評系統服務器)向微信公眾平臺發起網頁授權請求。網頁授權需要預先在公眾號管理后臺設置授權回調頁面所屬的域名,在本系統中即為測評系統使用的域名。網頁授權類型有兩種:(1)Base類型,scope取值為snsapi_base,是一種靜默授權方式,用戶無感知,可通過鏈接直接訪問而不會彈出提示框,這種方式只能獲取到用戶的openid;(2)Userinfo類型,scope取值為snsapi_userinfo,這種授權類型在用戶沒有通過公眾號會話或自定義菜單(需關注公眾號)方式去訪問授權鏈接,則會彈出一個獲取微信用戶基本信息的提示框,用戶允許后能獲取到昵稱、頭像、性別等信息。本系統適合采用的授權類型為Base型,授權過程包含以下3個步驟:

步驟1:通過手動拼接或服務器端程序生成方式生成一個授權鏈接,鏈接中包含公眾號標識(appid)、授權類型(scope)、授權后回調頁面地址,本系統中即為測評頁面地址(redirect_uri)等參數。

步驟2:用戶通過“掃碼”或“點擊”方式訪問授權鏈接,向微信公眾平臺發起授權請求,微信公眾平臺對請求處理后,將跳轉到授權后的回調頁面,并向該頁面傳遞一個名稱為code的參數,它是換取access_token的一個票據,每次授權傳遞的code參數值是不同的。

步驟3:授權后的回調頁面獲取微信公眾平臺傳遞過來的code參數,該參數只能使用一次,如果5分鐘之內未使用將過期。將appid、secret和code 等作為參數,由第三方服務器向微信公眾平臺發起GET請求, 公眾平臺會返回一個JSON格式的數據包,其中包含了access_token和用戶openid兩個關鍵參數。

通過網頁授權access_token才可以對公眾平臺提供的各類網頁接口進行調用,它沒有每日獲取次數的限制。本系統中access_token用于從公眾平臺獲取jsapi_ticket,測評者獲取到access_token后,會立刻進行獲取jsapi_ticket操作,因此沒有對其進行全局緩存。

2.2 微信JS-SDK

出于安全考慮,本系統的測評頁面不希望被分享到朋友圈或者被收藏,這就需要隱藏微信瀏覽器中的彈出菜單,同時還需要獲取測評者地理位置。此時就需要使用到微信公眾平臺提供的JS-SDK接口開發技術。JS-SDK本質上是針對微信內置瀏覽器定制的JavaScript工具包,通過該工具包可以更改界面設置,比如隱藏菜單或菜單中的某一項,獲取用戶狀態信息,比如網絡狀態、地理位置。

使用JS-SDK接口首先要在公眾平臺上設置JS接口安全域名,然后在頁面中引入JS-SDK工具包,通過wx.config方法注入配置信息,配置信息包括公眾號標識、簽名字符串、生成簽名的時間戳、生成簽名的隨機字符串和需要使用的接口列表。在生成簽名字符串之前先要獲取jsapi_ticket,它是調用JS-SDK接口的臨時票據。正常情況下,jsapi_ticket的有效期為120分鐘,通過網頁授權后所獲得access_token來換取。每日獲取jsapi_ticket的接口調用次數是有上限的,因此在本系統中,將jsapi_ticket存放在Redis中,超過100分鐘對其進行更新,確保不會過期。

生成簽名字符串過程包括參數排序、拼接和加密,具體步驟如下:

步驟1:按照noncestr(隨機串)、jsapi_ticket、timestamp(生成簽名的時間戳)、url(當前頁面的網址)順序對4個參數排序;

步驟2:將步驟1中4個參數以URL參數鍵值對方式對拼接成字符串,格式為:noncestr=xxx& jsapi_ticket =xxx& timestamp=xxx&url=xxx;

步驟3:對步驟2中拼接后的字符串作sha1加密,得到的字符串就是簽名字符串。

3? 重點問題解決方案

3.1 測評者身份

在民主測評時要保護測評者身份信息,進行無記名測評,并且要能記錄測評者是否參加測評的狀態,已參加過測評的不能重復測評。這需要每個測評者在測評時有個憑證,但這個憑證又不能體現出測評者個人信息,這時就可以利用微信openid了。測評者訪問已生成的測評頁面授權鏈接,經過Base類型網頁授權方式得到openid,將openid及其關聯的測評計劃存入到數據庫中,以此來記錄測評狀態,防止重復測評,也便于工作人員進行驗證。

民主測評頁面通過測評者掃描二維碼方式進入,為了確保在線民主測評的有效性,需要進行訪問控制,在最大程度上保證參加測評會的人員才能訪問民主測評頁面進行測評。這需要解決兩個問題:一個是測評者可輕易的通過菜單項將測評頁面轉發給他人或者朋友圈,另一個是防止通過拍照方式把二維碼發給他人。解決這兩個問題的方法是通過微信JS-SDK接口。通過調用接口中隱藏菜單項的方法,可以將默認的菜單項隱藏起來,從而達到不能輕易轉發的目的。通過調用獲取地理位置接口,可以將測評頁面的訪問范圍限制會議室有效位置之內。其有效性的驗證先在前端進行,通過后再隨測評數據提交到后端再次進行驗證。調用獲取地理位置接口時有用戶授權提示,此處要求允許獲取位置才能訪問測評頁面,如果不允許則會重新跳轉到測評頁面繼續進行提示。隱藏菜單項和獲取地理位置核心代碼如下:

wx.ready(function(){

wx.hideOptionMenu(); //隱藏菜單項

wx.getLocation({

type: 'gcj02',

success: function (res) {

latitude = res.latitude;? ? //緯度

longitude = res.longitude;? ?//經度

},

cancel: function (res) {

alert('請同意獲取位置');

window.location='Evaluation.aspx';

}

});

});

此外,系統還提供了測評過程控制功能,當測評會議進入民主測評環節時,工作人員才發布測評計劃并在大屏幕上展示二維碼,系統后臺每隔5s獲取最新測評進度,測評完成后關閉測評計劃。這是通過控制時間的方式,來限制訪問。

3.2 測評工作流程

測評主要工作流程如圖3所示。工作人員通過管理后臺發布測評計劃,每個測評計劃對應生成一個測評入口地址二維碼,二維碼中包含了測評頁面的微信公眾平臺網頁授權鏈接。

在進行測評時,工作人員在大屏幕上展示生成的二維碼,當測評者掃描二維碼后,將在微信內置瀏覽器中打開測評頁面,通過靜默授權方式進行網頁授權,獲取access_token和用戶openid,同時通過微信JS-SDK接口功能,獲取測評者的地理位置,如果該地理位置是在進行民主測評的會議室范圍內,允許其進行測評,否則跳轉到錯誤頁面,提示其不能進行測評。

測評者填寫測評內容,提交測評結果,測評系統對提交過來的數據進行驗證,主要驗證數據完整性及有效性。通過驗證后,測評系統記錄測評結果及用戶openid,通過openid區分不同的測評者。

測評結果提交成功后顯示測評完成提示。如果提交成功的測評者再次掃碼二維碼,由于對應于當前測評計劃的用戶openid在數據庫中已經存在,則顯示已參加測評提示,表明當前狀態是已測評狀態。這可以作為工作人員檢查測評者是否參與測評的憑證。

工作人員通過系統后臺查看測評進度,當已經提交的測評結果數量達到預定數量時,可自動結束測評。測評結束后,導出測評詳細數據及統計后的結果,通過圖表功能進行進一步的統計分析。

4? 結語

本系統創新了民主測評的方式,在湖南廣播電視大學分校年度考評時進行了初步應用,代替了以往的發放紙質測評表進行民主測評的方式,支持多種測評模版,適用于多個民主測評場合。系統基于微信公眾平臺構建,不需要輸入測評頁面地址,也不需要進行登錄操作,通過微信“掃碼”方式直接進入測評頁面,操作便捷。測評頁面通過微信內置瀏覽器解析,不存在多種瀏覽器的頁面兼容性問題。系統在不需要輸入個人信息的前提下確定用戶的投票資格,實現無記名測評功能,保障測評結果民主、公正。以往測評時,人工統計需要近半個工作日時間,采用本系統后,測評結束可以立即導出測評結果,并提供詳細的統計數據,生成數據圖表,便于管理者進行更深入的分析,提高了工作效率。同時,從經濟環保的角度來講,節約了紙張。

參考文獻

[1] 蔣嵩林.基于微信支付平臺的在線投票系統[J].軟件,2019,40(3):118-121.

[2] 李中帥.基于WEB的職稱評聘投票系統的研發[J].長春工程學院學報:自然科學版,2018,19(4):90-94.

[3] 張偉.基于手機掃描二維碼干部民主測評系統的設計與實現[J].重慶電力高等專科學校學報,2018,23(2):58-62.

[4] 陳娟.基于B/S模式的投票系統的研究與開發[J].智能計算機與應用,2017,7(5):108-110.

[5] 李冰,李亞靜.中級職稱評審及投票系統信息化軟件開發[J]. 電子技術與軟件工程,2016(24):58-59.

[6] 王紅麗,修春來,張志闖.電子化民主測評管理系統方案[J].信息系統工程,2017(5):105 -107.

[7] 廖珊,陽利鋒.基于微信公眾號的博物館預約系統設計與實現[J].科技創新導報,2019,16 (22):134-135.

[8] 張國欽.網絡投票系統中防刷票功能的設計與實現[J].福建電腦,2016,32(12):132,102.

主站蜘蛛池模板: 久久国产热| 亚洲全网成人资源在线观看| 欧美伊人色综合久久天天| 亚洲男人天堂2020| 精品国产三级在线观看| 日韩 欧美 小说 综合网 另类| 国产高清在线精品一区二区三区| 伊人久久综在合线亚洲2019| 人妻少妇乱子伦精品无码专区毛片| 国产高潮流白浆视频| 99精品国产高清一区二区| 亚洲欧美激情小说另类| 亚洲免费黄色网| 国产超碰一区二区三区| 美女扒开下面流白浆在线试听| 91欧美亚洲国产五月天| 欧美福利在线| 国产香蕉一区二区在线网站| 国产精品v欧美| 国产99欧美精品久久精品久久| 黄色网页在线播放| 久久国产黑丝袜视频| 亚洲国产日韩在线成人蜜芽| 一本大道AV人久久综合| 国产美女在线免费观看| 奇米精品一区二区三区在线观看| 精品亚洲欧美中文字幕在线看| 亚洲国产天堂在线观看| 久久人搡人人玩人妻精品| 亚洲女同欧美在线| 欧美日韩在线成人| 欧美成人第一页| 国产一级在线观看www色| 国产a v无码专区亚洲av| 国产欧美一区二区三区视频在线观看| 天堂网亚洲综合在线| 国产成人无码AV在线播放动漫| 狠狠亚洲五月天| 毛片国产精品完整版| 亚洲天堂久久新| 日本成人一区| 亚洲网综合| 乱系列中文字幕在线视频| 国产日韩精品欧美一区喷| 国产亚洲视频在线观看| 狠狠色综合网| 亚洲国产av无码综合原创国产| av在线手机播放| 国产杨幂丝袜av在线播放| 久久精品66| 国产熟睡乱子伦视频网站| 欧美激情视频一区| 国产中文一区二区苍井空| 2021国产精品自产拍在线观看| 亚洲精品大秀视频| 精品少妇人妻一区二区| 亚洲精品大秀视频| 欧美日韩91| 亚洲综合在线网| 91精品免费高清在线| 伊人久久大香线蕉aⅴ色| 99视频在线看| 在线视频97| 麻豆国产精品一二三在线观看| 欧美成人精品一区二区| 青草视频免费在线观看| 日本欧美视频在线观看| 夜色爽爽影院18禁妓女影院| 精品一区二区三区水蜜桃| 久久99国产综合精品1| 欧美亚洲香蕉| 91久久偷偷做嫩草影院电| 亚洲免费黄色网| 国产精品欧美亚洲韩国日本不卡| 无遮挡一级毛片呦女视频| 99视频精品全国免费品| 97se综合| 国产成人一区二区| 亚洲人成色77777在线观看| www精品久久| 日韩视频福利| 91福利免费视频|