uniapp 云开发笔记

uniapp云开发官方文档icon-default.png?t=N7T8https://uniapp.dcloud.io/uniCloud/learning.html

新建

关联云空间

 

 

 云函数获取用户openID

uniCloud API列表icon-default.png?t=N7T8https://uniapp.dcloud.io/uniCloud/cf-functions.html#unicloud-api%E5%88%97%E8%A1%A8

自建云函数login

event中包含前端传来的参数

uniCloud.httpclient.request(URL,requestOptions)

云函数中通过http连接其他系统

httpclienticon-default.png?t=N7T8https://uniapp.dcloud.io/uniCloud/cf-functions.html#httpclient

微信openID

请求地址

GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

请求参数

属性 类型 默认值 必填 说明
appid string 小程序 appId
secret string 小程序 appSecret
js_code string 登录时获取的 code
grant_type string 授权类型,此处只需填写 authorization_code

返回值

Object

返回的 JSON 数据包

属性 类型 说明
openid string 用户唯一标识
session_key string 会话密钥
unionid string 用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回,详见 UnionID 机制说明
errcode number 错误码
errmsg string 错误信息

前端页面

uni.login(OBJECT)

登录

OBJECT 参数说明

参数名 类型 必填 说明 平台差异说明
provider String 登录服务提供商,通过 uni.getProvider 获取,如果不设置则弹出登录列表选择界面
scopes String/Array 见平台差异说明 授权类型,默认 auth_base。支持 auth_base(静默授权)/ auth_user(主动授权) / auth_zhima(芝麻信用) 支付宝小程序
timeout Number 超时时间,单位ms 微信小程序、百度小程序、京东小程序
univerifyStyle Object 一键登录页面样式 App 3.0.0+
onlyAuthorize Boolean 微信登录仅请求授权认证 App 3.2.6+
success Function 接口调用成功的回调
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明

参数名 说明 平台差异说明
authResult 登录服务商提供的登录信息,服务商不同返回的结果不完全相同 微信登录配置onlyAuthorize:true则此项为空,App 3.2.6+
code 用户登录凭证。开发者需要在开发者服务器后台,使用 code 换取 openid 和 session_key 等信息 微信登录配置onlyAuthorize:true才会返回,App 3.2.6+、京东小程序
appleInfo Object
errMsg 描述信息

uniCloud.callFunction() 客户端调用云函数 见下;云函数中调用另一个云函数 见下

普通云函数方式

uni-app的前端代码,不再执行uni.request联网,而是通过uniCloud.callFunction调用云函数,callFunction方法的参数和返回值如下:

方法参数

callFunction需要一个json对象作为参数,其中包含2个字段

字段 类型 必填 说明
name String 云函数名称
data Object 客户端需要传递的参数

返回json

字段 类型 说明
result Object 云函数执行结果
requestId String 请求序列号,用于错误排查

前端示例代码

假使云服务空间有一个云函数名为“test”,那么前端可以通过如下方式调用这个云函数

uniCloud.callFunction({
	name: 'test',
	data: { a: 1 },
	success(){},
	fail(){},
	complete(){}
});

公共模块

公共模块依赖

 

云函数获取用户信息

前端页面

云数据库icon-default.png?t=N7T8https://uniapp.dcloud.net.cn/uniCloud/hellodb.html#base

uniCloud.database() 客户端访问云数据库,获取云数据库对象引用 

// 获取 `user` 集合的引用
const collection = db.collection('user');

#集合 Collection

通过 db.collection(name) 可以获取指定集合的引用,在集合上可以进行以下操作

类型 接口 说明
add 新增记录(触发请求)
计数 count 获取符合条件的记录条数
get 获取集合中的记录,如果有使用 where 语句定义查询条件,则会返回匹配结果集 (触发请求)
引用 doc 获取对该集合中指定 id 的记录的引用
查询条件 where 通过指定条件筛选出匹配的记录,可搭配查询指令(eq, gt, in, ...)使用
skip 跳过指定数量的文档,常用于分页,传入 offset
orderBy 排序方式
limit 返回的结果集(文档数量)的限制,有默认值和上限值
field 指定需要返回的字段

查询及更新指令用于在 where 中指定字段需满足的条件,指令可通过 db.command 对象取得。

 

uni.getUserProfile(OBJECT)

获取用户信息。每次请求都会弹出授权窗口,用户同意后返回 userInfo。为保证用户隐私,不能直接调用,必须由点击按钮才可以调用。

OBJECT 参数说明

参数名 类型 必填 说明
desc String 声明获取用户个人信息后的用途,不超过30个字符
lang String 指定返回用户信息的语言,默认为 en。更多值请参考下面的说明。
success Function 接口调用成功的回调
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

lang 值说明

说明
zh_CN 简体中文
zh_TW 繁体中文
en 英文

**注意:**可以使用 if(uni.getUserProfile) 判断uni.getUserProfile是否可用。

success 返回参数说明

参数 类型 说明
userInfo OBJECT 用户信息对象
rawData String 不包括敏感信息的原始数据字符串,用于计算签名。
signature String 使用 sha1( rawData + sessionkey ) 得到字符串,用于校验用户信息。
encryptedData String 包括敏感数据在内的完整用户信息的加密数据,详细见加密数据解密算法。
iv String 加密算法的初始向量,详细见加密数据解密算法。
cloudID String 敏感数据对应的云 ID,开通云开发的小程序才会返回,可通过云调用直接获取开放数据,详细见云调用直接获取开放数据
errMsg String 描述信息

userInfo 参数说明

参数 类型 说明
nickName String 用户昵称
avatarUrl String 用户头像
gender Number 用户性别
country String 用户所在国家
province String 用户所在省份
city String 用户所在城市
language String 显示 country,province,city 所用的语言

gender 的合法值

说明
0 未知
1 男性
2 女性

language 的合法值

说明
en 英文
zh_CN 简体中文
zh_TW 繁体中文

更新云数据库信息

 

 建立索引

 db.command 

查询筛选指令 Query Command

以下指令挂载在 db.command 下

类型 接口 说明
比较运算 eq 字段等于 ==
neq 字段不等于 !=
gt 字段大于 >
gte 字段大于等于 >=
lt 字段小于 <
lte 字段小于等于 <=
in 字段值在数组里
nin 字段值不在数组里
逻辑运算 and 表示需同时满足指定的所有条件
or 表示需同时满足指定条件中的至少一个

如果你熟悉SQL,可查询mongodb与sql语句对照表 (opens new window)进行学习。

#字段更新指令 Update Command

以下指令挂载在 db.command 下

类型 接口 说明
字段 set 设置字段值
remove 删除字段
inc 加一个数值,原子自增
mul 乘一个数值,原子自乘
push 数组类型字段追加尾元素,支持数组
pop 数组类型字段删除尾元素,支持数组
shift 数组类型字段删除头元素,支持数组
unshift 数组类型字段追加头元素,支持数组

 查

 

 

相关推荐

  1. 开发笔记No.7】敏捷开发

    2024-03-14 20:28:03       19 阅读
  2. 开发笔记No.17】Kubernetes(2)

    2024-03-14 20:28:03       18 阅读
  3. 开发笔记No.11】再说Git

    2024-03-14 20:28:03       16 阅读
  4. 开发笔记NO.27】分布式数据库

    2024-03-14 20:28:03       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-14 20:28:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-14 20:28:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-14 20:28:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-14 20:28:03       20 阅读

热门阅读

  1. LeetCode每日一题[C++]-找出数组的第K大和

    2024-03-14 20:28:03       18 阅读
  2. ChatGPT模型api的python调用

    2024-03-14 20:28:03       18 阅读
  3. vue父子组件生命周期

    2024-03-14 20:28:03       19 阅读
  4. C语言(循环)单元练习

    2024-03-14 20:28:03       18 阅读
  5. TCP网络通信-在C#/Unity中的知识点

    2024-03-14 20:28:03       22 阅读
  6. Nmap常用的一些参数

    2024-03-14 20:28:03       20 阅读
  7. linux Shell 命令行-09-redirect 重定向

    2024-03-14 20:28:03       17 阅读
  8. webpack5基础--10_处理 js 资源

    2024-03-14 20:28:03       16 阅读
  9. 如何计算视频流需要的服务器带宽

    2024-03-14 20:28:03       18 阅读