撰写背景:

用微信小程序云开发做了一个与web管理平台配套的微信小程序,Web端需要对接(访问)到云环境的云数据库。

开门见山:

在微信开发者工具里先把云开发控制台打开,

设置->权限设置->未登录用户访问云资源权限设置勾上

微信小程序连接数据库实例python 微信小程序 连接数据库_javascript

再把所有的集合权限改为读、写均true

微信小程序连接数据库实例python 微信小程序 连接数据库_云数据库_02

首先把这个微信开放文档Web SDK包拷到Web项目里

我拷的是下面这个版本的:

https://res.wx.qq.com/open/js/cloudbase/1.1.0/cloud.js

可以命名为cloud.js

然后在需要用到的html进行CDN引入(src里写你自己考下来这个包的相对路径)

<script src="js/cloud.js"></script>

在同一html里继续

<script>
        //初始化
        let first = function(callback) {
            var c1 = new cloud.Cloud({
                //必填,表示是未登录模式
                identityless: true,
                //资源方 AppID
                resourceAppid: '小程序appid',
                //资源方环境 ID
                resourceEnv: '云环境id',
            })
            c1.init()
                //回调
            callback(c1)
        };
        //完成初始化后再回调,即可访问云数据库
        let callback = function(c1) {
            // 我个人不喜欢写云函数,所以直接写在Web这里做操作
            // 你要访问的各种操作写在这个callback函数里即可,这里以查询users表为例
            const db = c1.database();
            db.collection('users').get({
                success: res => {
                    console.log(res.data);
                },
                fail: res => {
                    console.log(res);
                }
            })
        };
        first(callback);
    </script>

大功告成:

微信小程序连接数据库实例python 微信小程序 连接数据库_前端_03

注意:不要用盘符方式去打开html,要用live开启服务的方式去打开html,否则会报跨域错误

看了很多文章,走了挺多弯路,先是看初始化 | 云开发 CloudBase - 一站式后端云服务

npm安装好@cloudbase/js-sdk之后在script里写import一直报错:“Uncaught SyntaxError: Cannot use import statement outside a module”,也试了在script标签里加type="module",没卵用。

又试了CDN引入,结果好家伙报404 NOT FOUND。

总的来说对新手不是很友好。

然后又看见初始化 | 云开发 CloudBase - 一站式后端云服务这里引入用

const cloudbase = require("@cloudbase/js-sdk");

然后又报错:require is not defined。