外部web端访问微信小程序数据库的三种方法总结

网友投稿 1174 2023-11-09

目录前言一、HTTP API 方式1、web端调用云函数二、Web SDK 在 Web 中使用1.Web SDK 在 Web 中使用,可以访问云开发资源,既支持公众号登录态、也支持未登录模式。2、使用腾讯云里的方法总结

前言

我当前的项目是小程序开发,使用的是云开发方式,那么这时涉及到了小程序端提交的数据会保存到云数据库中,可是呢这些个数据要被外部访问用来管理,也就是还得弄一个管理后台界面管理这些数据。那就需要拿到云数据库里面的数据啦,下面就是对如何拿到云数据库里面的数据的访问方式的描述

外部web端访问微信小程序云数据库的三种方法总结

看到评论表示看不懂,不知道具体怎么用,决定再做补充

注意:下面的三种方法中第一、第三种方法会存在跨域问题,没有具体实现,当是我在开发的时候是用配置代理的方式,但是线上环境是没有办法设置代理的,

所以我选择了第二种方式,

重点补充第二点的具体用法

一、HTTP API 方式

微信小程序文档中的云开发部分有特别说明了,HTTP API的调用方式,这里贴上链接HTTP API

下面来看看具体是怎么使用的

1、web端调用云函数

微信开放文档中说明了,web端调用云函数的方式:

文档说明了,如果要触发云函数就要调用上面红色框住的链接。但是有一点,需要拿到access_token的值

获取access_token的值:

微信开放文档原链接

以上就是获取凭证的调用链接。

具体到代码里的使用:

在代码里直接按平时我们请求接口的方式调用,

下面来看看打印结果:

可以看到这里报错了,这个跨域的问题。

尝试了一种解决方案,代理

在配置文件里加上代理。

最后请求获取access_token会变成这样

原来的域名换成了api代替。

看看打印结果:

已经拿到了access_token

现在可以用这个获取到的accesss_token来调云函数了。

这种方式因为是访问链接的方式,会存在跨域访问的问题,如果项目上线了要做跨域处理。

注意:不管是post方式还是get方式,都不能把链接后带的参数提出来,只能拼接在后面哦,如果是要传自己的参数就可以用对象方式传。不然访问时会得不到想要的结果

二、Web SDK 在 Web 中使用

1.Web SDK 在 Web 中使用,可以访问云开发资源,既支持公众号登录态、也支持未登录模式。

补充:这里我用红色标注了,要特别注意

要在外部访问云开发资源,除了公众号支持登录态,其他地方访问是不支持登录态访问的,得用未登录态模式(这里涉及到安全规则)

这里粘上链接未登录模式下访问云开发资源

那安全规则怎么设置?

这里贴上步骤

1、打开开发中工具 》 云开发 》这时会打开云开发控制台。

设置好未登录态后,具体怎么访问步骤

访问链接:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/web/sdk.html

可以看到 微信描述的怎么访问,

1、找到底部cdn地址,-拷贝下来。

2、将拷贝下来的cdn文件放到项目中,在项目入口文件中引入,作为公共使用。

?
1
import "../../common/cloud/cloud.js";

这时window对象下面会挂载一个cloud对象, 我在我的项目中初始化cloud对象,在app.vue文件中写入下面方法,并调用,我在created方法中调用下面的fun方法,并将已授权对象保存为公用对象store中。

3、如何调用这个对象呢?

当项目中某个页面需要拿数据库的数据。调用保存的cloud对象中的callFunction方法,该方法可以调用我们自己在小程序中定义的云函数,至于这个云函数要怎么写,怎么定义就要自己去看小程序开发档中云开发的知识了。这里只讲怎么从外部访问小程序云数据库。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 调用云函数编辑
let $this = this;
this.$store.state.cloud.callFunction({
name: addPartyMember,
data: params,
success: res => {
// res 就是重云函数中拿到的数据,这里里面含有云函数处理云数据库的结果
let result = res.result.dbresult;
if (result.stats) {
$this.$message({
type: success,
message: 操作成功
})
}
},
fail: err => {
$this.$message.error(失败)
}
})

注意这种未登录模式下好像不能直接访问云数据库,只能通过访问云函数间接操作数据库

补充结束,这是我在项目中的具体实现,如果有更好方法一起交流哦!!!

2、使用腾讯云里的方法

这里直接粘上链接web使用 JavaScript 访问 Cloudbase 服务和资源。 文档很清楚

总结

到此这篇关于外部web端访问微信小程

您可能感兴趣的文章:微信小程序云开发修改云数据库中的数据方法微信小程序云开发之使用云数据库微信小程序云开发实现云数据库读写权限

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:券商app排名 - 找出最佳的券商手机应用程序
下一篇: 开放银行生态系统:探索金融创新的巅峰之路
相关文章

 发表评论

暂时没有评论,来抢沙发吧~