送給女朋友的情人節禮物
使用云開發 云函式+云存盤+云資料庫
目前只開放體驗版
天氣預報語音合成
會回傳天氣預報得語音
天氣預報獲取
天氣預報 api https://tianqiapi.com/

function getvoi(city){
let res = uniCloud.httpclient.request("https://tianqiapi.com/api?version=v6&appid=xxx&appsecret=xxxx&city="+city)
return new Promise(function(resolve){
res.then(ress=>{
let arrayBuffer = ress.res.data
let unit8Arr = new Uint8Array(arrayBuffer)
let encodedString = String.fromCharCode.apply(null, unit8Arr)
let decodedString = decodeURIComponent(escape(encodedString))
let data = JSON.parse(decodedString)
resolve(data)
})
})
}
整合騰訊位置服務逆地址決議獲取地區
citys為客戶端呼叫云函式發送得資料 格式為
比如 經緯度 33.xxx 120.xxx {citys:“33.xxx,120.xxx”}

function getcity(citys){
let res = uniCloud.httpclient.request("https://apis.map.qq.com/ws/geocoder/v1/?key=xxxxxx&location="+citys)
return new Promise(function(resolve){
res.then(ress=>{
let arrayBuffer = ress.res.data
let unit8Arr = new Uint8Array(arrayBuffer)
let encodedString = String.fromCharCode.apply(null, unit8Arr)
let decodedString = decodeURIComponent(escape(encodedString))
let data = JSON.parse(decodedString)
resolve(data.result.address_component.district)
})
})
}
將逆地址決議得結果傳給天氣獲取

提取天氣預報需要欄位呼叫百度語音合成
語音合成模塊來自公共模塊封裝
可以參考 云開發—uniapp云開發云函式練習—整合百度ai影像識別SDK


exports.main = async (event, context) => {
//event為客戶端上傳的引數
let city = await getcity(event.citys)
let cct = city;
city = city.substr(0,2)
let data = await getvoi(city);
return new Promise(function(resolve){
client.text2audio(`親愛的,今天是${data.week},${cct},當前溫度${data.tem}度,最高溫度${data.tem1}度,最低溫度${data.tem2}度,${data.win},${data.win_speed},PM二點五指數為${data.air_pm25},${data.air_tips}`,{per:4}).then(function(result) {
if (result.data) {
resolve(result.data)
} else {
// 服務發生錯誤
console.log(result)
}
}, function(e) {
// 發生網路錯誤
console.log(e)
});
})
備忘錄/表白墻功能
云函式+云資料庫
云資料庫 表名buckup
在 uniCloud控制臺可以配置
https://unicloud.dcloud.net.cn/

代碼只有這么多 效果如下

頁面代碼
<template>
<view>
<textarea placeholder="備忘" v-model="msg"></textarea>
<button @click="setData()">確認</button>
<uni-card v-for="(item,index) in tableList" :key="index" :note="item.time">
{{item.lists}}
</uni-card>
</view>
</template>
<script>
export default {
data() {
return {
msg:"",
tableList:[]
}
},
onLoad() {
this.getData()
},
methods: {
setData(){
let vm = this;
uniCloud.callFunction({
name:'getbuck',
data:{type:1,item:vm.msg},
success:function(res){
vm.tableList = res.result.data
console.log(res.result.data)
}
})
},
getData(){
let vm = this;
uniCloud.callFunction({
name:'getbuck',
data:{type:0},
success:function(res){
vm.tableList = res.result.data
console.log(res.result.data)
}
})
}
}
}
</script>
<style>
</style>
表白墻說明
表白墻和備忘錄資料格式一樣 只是客戶端樣式變得比較愛情化
和備忘錄相比 這里發生了改變


相冊功能

根據檔案

可以使用uploadFile /chooseAndUploadFile
上傳圖片 換取臨時下載地址 然后顯示圖片

上傳照片存盤檔案id
以下代碼邏輯為
選擇照片 chooseImage
上傳檔案 uploadFile
呼叫云函式存盤檔案id

獲取檔案id后 要換取臨時下載地址


呼叫其它小程式
識圖工具我用了之前寫的狗哥識圖
在 pages.json


“navigateToMiniProgramAppIdList” 參考要使用的小程式id
在頁面中 跳轉
uni.navigateToMiniProgram({
appId:"wx7fbcdfc06b24f0bc"
})

情人節小程式 到此完成 由于情人節 所以代碼先不放到github上
等情人節過了 再放 哈哈哈哈哈哈哈哈哈 哈哈哈哈哈哈哈哈哈 哈哈哈哈哈哈哈哈哈 哈哈哈哈哈哈哈哈哈
除夕快樂 新年快樂 情人節快樂
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/258918.html
標籤:其他
下一篇:學習記錄1

