現實需求
在項目中需求,有時候現場設備發生故障,需要遠程的人員知道。除了郵件方式,以微信小程序的方式也很好。今天進行嘗試,並制作了一個demo版本。
1.微信小程序申請制作前端
1.1lists文件(利用模板和數據綁定循環顯示數據)
lists.wxml
<!--lists.wxml-->
<view class="warp">
<!--列表模板-->
<template name="lists">
<navigator url="../../pages/detail/detail?id={{id}}" hover-class="navigator-hover">
<view class="imgs">
<image src="/images/1.png" class="in-img" background-size="cover" modal="scaleToFill"></image>
</view>
<view class="infos">
<view class="title">{{mingcheng}}</view>
<view class="neirong">{{neirong}}</view>
<view class="date">{{DateTimee}}</view>
</view>
</navigator>
</template>
<!--列表模板結束-->
<!--循環輸出列表-->
<view wx:for="{{newsList}}" wx:for-item="news" class="list">
<template is="lists" data="{{...news}}" />
</view>
</view>
lists.js
注:url: 'https://***.top/default.aspx?method=getdata',該后台鏈接必須為https,通過json傳送給微信前端。
//lists.js
const app = getApp()
Page({
data: {
newsList: [
]
},
//事件處理函數
bindViewTap: function () {
wx.navigateTo({
url: '../logs/logs'
})
},
onLoad: function () {
var that = this
wx.request({
url: 'https://***.top/default.aspx?method=getdata', //僅為示例,並非真實的接口地址
header: {
'Content-Type': 'application/json'
},
success(res) {
that.setData({
newsList: res.data
})
console.log(res.data)
}
})
}
})
2.阿里雲域名,空間申請
CDN
關於域名申請,和空間就不贅敘,比較簡單。主要注意,由於本人申請的是便宜的共享型主機,不能使用阿里雲免費的SSL證書,故而,給主機申請了CDN服務,曲線實現了HTTPS(微信后台必須采用HTTPS)。
關於這塊可以參考這篇博文:
微信小程序開發 (資料匯總,誰還沒被坑過?希望助你繞過一些坑)
3.編寫后台對接微信小程序
微信小程序使用JSON數據,進行前后台數據傳遞。使用c#進行后台編程,將JSON傳遞給前端即可。
4.結果測試
基本通過測試,ifix語音報警后,通過ODBC將數據上傳到阿里雲數據庫中,然后,微信小程序中進行顯示。
補充:在ifix編寫后台調度時,上傳水質數據時,需要及時將其sql腳本精度設置在兩位數。
update shuizhi set datetime='"+StrD+"",PH=Convert(decimal(10,2),'"+AR_1+"'),COD=convert(decimal(10,2),'"+AR_2+'")
不足:無法實現新報警出現后,自動推送給用戶,待解決。