对接小程序云开发数据库

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
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值