const request = require('request')
const qs = require('querystring')
//拼接URL
const param = qs.stringify({
grant_type: 'client_credential',
appid: 'wxd16************',
secret: 'b70fea*************************',
})
let httpurl = 'https://api.weixin.qq.com/cgi-bin/token?' + param
// console.log(httpurl)
var token = ''
var env = 'cloud1-5g01mbl********'
//数据库插入记录
var Addurl = 'https://api.weixin.qq.com/tcb/databasequery?access_token='
var addurl2 = 'https://api.weixin.qq.com/tcb/databaseadd?access_token='
// "query": "db.collection(\"xing\").where({done:true}).limit(1).skip(1).get()"
var ddd = {
"env":"cloud1-5g************",
"query": "db.collection('erweima').where({fileid:'164********'}).remove()"
}
var addd = {
"env":"cloud1-5g01********",
"query": "db.collection('xing').add({data:[{age:18,name:'小明',time:new Date()}]})"
// "query": "db.collection('xing').where({uid:1639********}).update({data:{uid:163940******}})"
}
class Gettoken {
constructor(ctx) {
this.ctx = ctx
}
//获取token
//function
getToken() {
return new Promise((resove, reject) => {
request(httpurl, (error, response, body) => {
// request(httpurl, function(error, response, body) {
if (!error && response.statusCode == 200) {
console.log(typeof(body))
// if (!error) {
resove('转换为j'son')
this.token = '转换为j'son'
} else {
reject(error)
}
})
})
}
//公用的Promise post请求 查询y语句
pullDatabase(sss,data) {
return new Promise((resove, reject) => {
request(
{
url: sss,
method: 'POST',
json: true,
header: {
"content-type": "application/json"
},
body:data
},
(error, response, body) => {
if (!error && response.statusCode == 200) {
// let frst = resove(JSON.parse(body.data))
console.log(body)
// console.log(typeof(body.data))
//数组转对象
// let frst = JSON.stringify(body.data)
//微信数据库返回的数据是json格式要进行转化,json字符串转数组
let frst = body.data
// console.log(frst)
//json字符串转数组
frst=JSON.parse(frst)
console.log(frst.name,frst.pass)
//示例
// 4、JSON转JS数组
// //json字符串转数组
// var jsonStr = '[1,2,3,{"a":1}]';
// var jsarr=JSON.parse( jsonStr );
// alert(jsarr[0]);
} else {
reject(error)
}
})
})
}
//新增插入数据
databaseadd(adddd,addd) {
// console.log(adddd,addd)
return new Promise((resove, reject) => {
request(
{
url: adddd,
method: 'POST',
json: true,
header: {
"content-type": "application/json"
},
body:addd
},
(error, response, body) => {
if (!error && response.statusCode == 200) {
// frst = frst.substring(2,frst.length-2)
console.log("444",body)
} else {
reject(error)
}
})
})
}
}
//插入记录
class Databaseadd extends Gettoken {
constructor(ctx) {
super(ctx)
// this.namee = ctx.request.body.name
// this.getToken= getToken
}
async dataBaseadd() {
var token = await this.getToken()
console.log(token)
let sss = Addurl + token
let aaa = addurl2 + token
// let dataAddd = await this.pullDatabase(sss,ddd)
// let token = await this.getToken()
console.log("测试",aaa)
// console.log("我的this",this)
let sdd = await this.databaseadd(aaa,addd)
// this.token = token
}
}
module.exports = {
Databaseadd
}