主要思路:
1:建立一个云函数http调用api获取后台信息,得到的是一个json字符串
2:小程序客户端调用云函数获取到后台的信息,并将信息JSON.parse(jsonString)传递到小程序
3:在小程序客户端中 调用云数据库来添加
云函数http
index.js
cloudfunctions ---------- root
├── http---------- 云函数http
├── index.js ---------- 云函数代码
└── package.json ---------- 云函数配置文件
//http://www.cnblogs.com/masterchd/p/9895636.html
//https://github.com/Tencent-CloudEDU/WXCloud-CloudFunctionsHandle/blob/master/cloudfunctions/http/index.js
//需要导入http包,返回的数据在小程序端需要用JSON.parse(res.result) 转为JSON数据
//这个api是根据isbn码访问并获得图书信息的接口
//https://blog.csdn.net/qiushi_1990/article/details/101220920?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param
// 云函数入口文件
const cloud = require('wx-server-sdk')
var request = require('request')
cloud.init()
//var url="http://isbn.szmesoft.com/ISBN/Query?ISBN= + isbn";
var url="https://api.yourdomain.com/api/ObjectId";
// 云函数入口函数
exports.main = async (event, context) => {
var isbn = event.isbn
return new Promise((resolve, reject) => {
request.get(url, (error, response, body) => {
if (error) {
reject()
} else {
try {
resolve(body)
console.log(body)
} catch (e) {
reject()
}
}
})
})
}
// pages/scanCode/scanCode.js
Page({
data: {
},
scanCode: function (event) {
console.log(1)
// 允许从相机和相册扫码
wx.scanCode({
onlyFromCamera: true,
scanType: ['barCode'],
success: res => {
console.log(res.result)
//
wx.cloud.callFunction({
// 要调用的云函数名称
name: 'bookinfo',
// 传递给云函数的参数
data: {
isbn: res.result
},
success: res => {
// console.log(res)
//进一步的处理
var bookString = res.result;
console.log(JSON.parse(bookString))
//云数据库初始化
const db = wx.cloud.database({});
const book = db.collection('books')
db.collection('books').add({
// data 字段表示需新增的 JSON 数据
data: JSON.parse(bookString)
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
},
fail: err => {
console.error(res)
}
})
},
fail: err => {
console.log(err);
}
})
}
})
参考资源:
如何将获取到的API数据存入云数据库里面
https://cloud.tencent.com/developer/article/1381032