【开箱即用】vk-unicloud-router - 云函数路由模式开发框架 - 已集成uni-id - 更新日志
2.18.17(2024-09-04)
- 【重要】修复
vk.baseDao.select
因2.18.13
更新引出的当pageSize设置为-1或>1000
时,可能出现查询结果不准确的问题 - 【修复】
vk.request
当设置responseType: 'arraybuffer'
时,部分情况下无法正常接受到值的问题 - 【优化】
vk.callFunction
设置loading:true
,在请求时马上跳页面,loading参数设置不准确的问题
2.18.16(2024-08-27)
- 【修复】调整云对象内置的过滤器 _before,执行 return json对象时,对象内属性丢失的问题
- 【优化】支付宝空间的数据库索引字段数据类型
- 【优化】vk.vuex.getters 支持传参
- 【优化】websocket支持通过device_id发送消息
2.18.15(2024-08-20)
- 【修复】vk.request 部分情况下报错的问题(此问题会导致微信登录报错)
- 【修复】weixin-js-sdk.js 在ssr方式编译时会报错的问题
特别注意
- 本次更新需要替换项目的
/router/service/user/
目录
2.18.14(2024-08-20)
- 【修复】
vk.callFunction
若设置了retryCount
属性后,let res = await vk.callFunction
无法取到值的问题 - 【优化】
vk.callFunction
新增timeout
属性,可以单独控制某个请求的超时时间了(不能大于云函数最大超时时间,实际生效需等HBX发新版支持) - 【优化】微信登录数据库可能会报慢查询的问题
- 【优化】使用微信PC网站登录、微信公众号登录、微信APP首次登录(即注册)成功后将自动获取昵称和头像(微信小程序由于微信限制,无法直接获取)
特别注意
- 本次更新需要替换项目的
/router/service/user/
目录
2.18.13(2024-08-12)
- 【重要】新增支付宝云websocket 传送门
- 【新增】表 vk-ws-connection 用于记录当前正在连接的websocket相关信息 传送门
- 【新增】微信PC网站扫码登录,示例页面
/pages_template/uni-id/weixin/pc-weixin
传送门 - 【修复】前端云对象的权限权重判断与云端判断逻辑不一致的问题 传送门
- 【优化】vk.navigateToLogin 支持配置登录成功后返回的页面等功能 传送门
- 【优化】vk.pubfn.batchRun 内部逻辑,提升并发性能 传送门
- 【优化】vk.baseDao.select 不再并发查询数据库,避免数据库连接数飙升 传送门
- 【优化】云端 vk.request 默认打开自动重定向功能 传送门
特别注意
- 本次更新需要替换项目的
/router/service/admin/system_uni/ws-connection/
目录
2.18.12(2024-07-19)
- 【修复】云端上传文件会报
this._publicHandle is undefined
的问题 - 【优化】当微信或抖音在
uni-config-center/vk-unicloud/index.js
内已经设置了多小程序登录时,uni-id的配置即使未配置也能登录了 - 【优化】框架内部使用
crypto.createCipheriv
代替crypto.createCipher
(crypto.createCipher在高版本node.js环境中会报已废弃的警告) - 【优化】loginByToken 内部细节
特别注意
- 本次更新需要替换项目的
/router/service/user/
目录
2.18.11(2024-07-17)
- 【修复】getUploadFileOptionsForExtStorage 会报 bucketName 必填的错误的问题
- 【修复】vk.openapi.weixin.decrypt.getPhoneNumber 使用参数 code 的方式时,多小程序调用不生效的问题
- 【优化】loginByToken 内部逻辑
特别注意
- 本次更新需要替换项目的
/router/service/user/
目录
2.18.10(2024-07-03)
- 【重要】修复
vk.userCenter
微信登录、抖音登录细节问题(需要替换项目的/router/service/user/util/loginUtil.js
文件)
2.18.9(2024-07-02)
- 【修复】因
2.18.8
更新导致的APP本机号码一键登录会报错的问题 - 【优化】
router/service/user/util/loginUtil.js
内部细节
特别注意
- 本次更新需要替换项目的
/router/service/user/
目录
2.18.8(2024-07-01)
- 【重要】
vk.userCenter
新增抖音登录、绑定抖音、解绑抖音、抖音手机号授权登录等API 传送门 - 【重要】新增云端
vk.login
万能授权登录API,可参考云函数user/pub/loginByDouyin
实现任意第三方授权登录 传送门 - 【调整】
pub类型
云函数获取 userInfo 的参数need_user_info
调整为needUserInfo
(同时兼容这2个参数) - 【修复】请求多服务空间使用方式二的情况下支付宝云会报错的问题 传送门
- 【优化】当
tokenMaxLimit
设置为1时,强制needUserInfo
为true
(此时访问非pub函数就会达到同一个账号只能一台设备登录的效果)
特别注意
- 本次更新需要替换项目的
/router/service/user/
目录
2.18.7(2024-06-19)
- 【重要】客户端与云函数支持双向加密通信 传送门
- 【优化】扩展存储上传成功额外返回 extendInfo 传送门
- 【优化】新增 vk.userCenter.loginByToken 接口 传送门
- 【优化】微信公众号jsapi在ios端上的兼容性
2.18.6(2024-06-04)
- 【重要】支持海外全球加速访问 传送门
- 【重要】
vk.uploadFile
支持在云端调用,同时支持内置存储
和扩展存储
前端传送门 云端传送门 - 【修复】中间件
addAdminLog
在云对象请求结束后可能获取不到userInfo
的问题 - 【优化】
vk.request
请求 router 的url化地址时,新增参数 clientInfo 若设置为 true,会自动提交 clientInfo 信息到请求头,方便云函数和云对象能够获取到相关信息
2.18.4(2024-05-24)
- 【修复】iOS手机首次安装并运行APP时可能会报错的问题
2.18.3(2024-05-20)
- 【调整】删除2.18.2更新的d.ts文件,内置到
VK框架快速开发辅助工具
传送门
2.18.2(2024-05-17)
- 【重要】新增
d.ts
语法提示,提升开发体验 传送门 - 【重要】修复
HBX版本 >= 4.14
时运行项目到Vue3
时会报错的问题 - 【优化】内置的微信小程序获取
access_token
的接口改为稳定版接口 传送门
特别注意
- 本次更新需要替换项目根目录下的
store/index.js
文件
2.18.1(2024-04-26)
- 【重要】云函数的 node.js 版本统一调整为 node16(阿里云已宣布node8不再维护)
- 【重要】新增 vk.getReentrantLockManage 高并发分布式重入锁,主要用于控制云函数或云对象并发访问时的同步,确保同一时间只有一个线程或进程能够拿到锁。 传送门
- 【重要】新增 vk.getCacheManage 缓存管理2.0版本,新版云端数据缓存同时支持空间内置数据库和Redis数据库,用户可以根据需求选择合适的存储方式。 传送门
- 【修复】vk.baseDao.selects 的 treeProps 内的 addFields 不生效的问题
- 【调整】vk.request 的默认时间调整为60秒
- 【优化】vk.navigateToLogin 新增 redirectUrl 参数,用于登录成功后是否返回当前页面或指定页面
- 【优化】vk.pubfn.getFileSuffix 返回值统一转小写
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.18.0(2024-04-24)
- 【重要】云函数的 node.js 版本统一调整为 node16
- 【重要】新增 vk.getReentrantLockManage 高并发分布式重入锁,主要用于控制云函数或云对象并发访问时的同步,确保同一时间只有一个线程或进程能够拿到锁。 传送门
- 【重要】新增 vk.getCacheManage 缓存管理2.0版本,新版云端数据缓存同时支持空间内置数据库和Redis数据库,用户可以根据需求选择合适的存储方式。 传送门
- 【优化】vk.navigateToLogin 新增 redirectUrl 参数,用于登录成功后是否返回当前页面或指定页面
- 【优化】vk.pubfn.getFileSuffix 返回值统一转小写
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.17.5(2024-03-14)
- 【修复】因
2.17.4
更新导致的vk.baseDao.selects
执行树形结构查询时无法连表的问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.17.4(2024-02-23)
- 【重要】支付宝小程序云支持地理位置查询,需要先创建地理位置索引(HBX版本4.01的alpha版支持本地运行,3.99的正式版只能云端运行)
- 【修复】
vk.baseDao.selects
执行树形结构查询时,在支付宝小程序云中表现不一致的问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.17.3(2024-02-14)
- 【修复】因
2.17.2
引起的vk.baseDao.select
的getOne: true
时会报错的问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.17.2(2024-02-01)
- 【调整】
vk.baseDao.getTableData
的参数getCount
的默认值为true
,但若含有lastWhereJson
或lastSortArr
则默认值为false
(兼顾性能和实用性) - 【调整】
vk.baseDao.selects
、vk.baseDao.getTableData
将addFields
的执行顺序调整到fieldJson
之前 - 【优化】
vk.baseDao.select
、vk.baseDao.selects
、vk.baseDao.getTableData
新增返回值getCount
,表示是否同时执行了count
请求 传送门 - 【优化】
vk.baseDao.select
、vk.baseDao.selects
、vk.baseDao.getTableData
新增参数debug
,传true
会返回执行rows和count的数据库语句执行耗时,单位毫秒,方便优化数据库语句 - 【优化】使用微信官方推荐的方式获取微信小程序昵称和头像的示例(详见源码文件:
/pages_template/uni-id/weixin/set-user-info.vue
) - 【修复】uni-id配置数组时,tokenMaxLimit参数无效的问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.17.1(2024-01-04)
- 【修复】支付宝小程序云环境下,部分情况下查询树状结构子节点数据没有获取到数据的问题
- 【修复】地理位置查询时,部分情况下获取到的 total 不准确的问题
- 【优化】
vk.uploadFile
当needSave为true但file.name为空时, 自动从cloudPath中获取name - 【优化】APP本机号码一键登录密钥调整为非必填
- 【优化】前端
main.js
移除vk.init
代码(不再需要手动init)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.17.0(2023-12-27)
- 【重要】
vk.uploadFile
支持扩展存储-七牛云 传送门 - 【修复】
vk.pubfn.timeFormat
在抖音小程序真机调试报错的问题 - 【优化】中间件运行报错时提示报错的中间件的名称和id
- 【优化】
vk.callFunction
支持参数 secretType - 【优化】发送短信的密钥调整为非必填
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.16.1(2023-11-06)
- 【修复】vk实例对象在非router类型的云函数中运行
vk.crypto.aes.decrypt
可能报解密失败的问题。
2.16.0(2023-10-27)
- 【重要】新增
微信公众号jsapi
相关接口,可实现微信公众号的快速开发。 - 【新增】
vk.notifyEventReady(eventName, data)
通知特定事件已准备就绪,并将数据传递给awaitEventReady注册的回调函数。一定会在 awaitEventReady 函数被调用之前触发。 - 【新增】
vk.awaitEventReady(eventName, callback)
等待特定事件执行后再执行相应的回调函数,如果事件已准备就绪,它会立即执行回调函数;否则,它将等待事件notifyEventReady后再执行。 - 【优化】
vk.baseDao.add
不再修改传入的dataJson
参数的值(数据库里依然会自动添加_add_time
字段) - 【重要】调整
vk.baseDao.getTableData
的whereJson
实现逻辑,使之更符合实际开发需求(现在强制条件不会覆盖前端条件,而是一起进行and条件)
关于 vk.baseDao.getTableData
的 whereJson
的调整说明
- 调整前:whereJson如果写的
time > 100
,则即使前端传了time > 1000
,最终where条件也还是time > 100
(即在强制条件内的字段条件被固定死了) - 调整后:whereJson如果写的
time > 100
,而前端传了time > 1000
,最终where条件是time > 100 and time > 1000
(依然有强制条件的效果,但更灵活了,前端能在强制条件范围内自由查询)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.15.3(2023-09-25)
- 【修复】
短信发送
接口当uni-id配置成多端隔离(数组形式)会报错的bug - 【修复】
vk.importObject
部分情况下会报错的问题 - 【优化】如果当前运行的微信小程序是体验版,但没有点HBX的【发行】菜单发布,则提示开发者请点【发行】按钮
- 【优化】
$hasRole
函数的功能 传送门 - 【优化】
vk.pubfn.timeFormat
支持显示时区,完整格式为yyyy-MM-ddThh:mm:ssZ
- 【优化】其他细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.15.2(2023-08-15)
- 【重要】新增地图相关的API 传送门
- 【修复】
vk.baseDao.sample
在腾讯云空间最大只能取20条的bug - 【优化】
vk.pubfn.test
新增参数allowEmpty
控制是否允许为空 传送门
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.15.1(2023-07-20)
- 1、【重要】为了安全性考虑,调整前端的
vk.request
API,需要手动指定uniIdToken: true
才会在请求头中自动添加uni-id-token
- 2、【优化】前端
vk.request
当满足响应规范时,会自动保存token
和userInfo
以及token失效跳登录页面 - 3、【优化】新增
vk.baseDao.setById
(根据ID判断存在则修改,不存在则添加,此为原子操作,非查询再判断) - 4、【优化】
user/pub/sendEmailCode
发送邮件验证码新增针对同一个邮箱每天的次数限制(默认30次,可在函数内修改默认次数) - 5、【优化】
user/pub/sendSmsCode
发送短信验证码新增针对同一个手机号每天的次数限制(默认12次,可在函数内修改默认次数)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.15.0(2023-07-04)
- 1、【重要】注册接口统一去除前端的role参数(需替换目录
router/service/user/pub
) - 2、【修复】云端表单验证不支持a.b的问题
- 3、【新增】
vk.sessionStorage
本地会话缓存,仅h5可用 - 4、【优化】
vk.uploadFile
新增参数cloudPathAsRealPath
默认为true,代表支持阿里云目录 - 5、【优化】
vk.uploadFile
新增参数cloudDirectory
可以设置上传至指定的云端目录 - 6、【优化】
vk.request
新增interceptor
参数(该参数仅前端调用时生效)传送门 - 7、【优化】发送邮件验证码新增参数判断
- 8、【优化】云函数、云对象404时的错误提示
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.14.3(2023-06-09)
- 1、【新增】支付宝小程序api 传送门
- 2、【修复】因
2.14.2
更新导致的支付宝小程序报错问题。 - 3、【优化】注册接口前端全局防抖
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.14.2(2023-06-01)
- 1、【优化】
user/kh/addUploadRecord
细节 - 2、【优化】
vk.importObject
支持importObjectOptions
参数 传送门 - 3、【优化】vuex模块化支持多级目录
- 4、【优化】微信公众号登录后不能跳回登录前页面的问题。
- 5、【调整】
vk.pubfn.test(str, 'username')
检测的长度调整为3-32位
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.14.1(2023-05-17)
- 1、【新增】QQ小程序API 详情
- 2、【新增】抖音小程序API 详情
- 3、【优化】
vk.pubfn.formValidate
详情 - 4、【优化】
vk.crypto.aes.encrypt
和vk.crypto.aes.decrypt
新增mode
参数,支持切换为加密算法,方便兼容java、php等后端语言加解密 详情
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.13.6(2023-04-23)
- 1、【新增】支付订单admin端API
admin/system_uni/pay-orders/sys/*
- 2、【优化】
vk.baseDao.selects
当getCount为false时,hasMore永远是false的bug
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.13.5(2023-03-20)
- 1、【修复】云函数内调用
vk.callFunction
可能会报错的bug - 2、【修复】微信公众号万能API不支持上传媒体图片的问题 传送门
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.13.4(2023-02-12)
- 1、【修复】云函数内调用
vk.callFunction
可能会报错的bug - 2、【修复】微信公众号万能API不支持上传媒体图片的问题 传送门
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
2.13.3(2023-02-05)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.13.2(2023-01-19)
- 1、【调整】router云函数运行内存调整为512M(实测512M即可达到最优性能)
- 2、【新增】微信最新版头像和昵称获取示例,详见:/pages_template/uni-id/weixin/set-user-info.vue
- 3、【优化】升级微信小程序文本检测API
vk.openapi.weixin.security.msgSecCheck
至2.0版本 传送门 - 微信文档 - 4、【修复】
微信公众号万能API调用接口
在调用部分接口时可能会报错的问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.13.1(2022-12-29)
- 1、【调整】url化后token的请求头从
uni_id_token
改为uni-id-token
(新版阿里云不支持uni_id_token
请求头) - 2、【修复】
vk.openapi.weixin.h5.request
接口无法在阿里云空间中自动使用代理的问题。 - 3、【修复】
vk.pubfn.getOffsetTime
接口在云端月偏移量计算在可能会出错的问题。 - 4、【优化】其他一些兼容性问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.12.4(2022-12-13)
- 1、【优化】新版阿里云空间通过代理请求微信公众号API细节处理
- 2、【优化】
vk.pubfn.getCommonTime()
API内部细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.12.3(2022-11-24)
- 1、【优化】部分报错提示文本
- 2、【优化】其他一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.12.2(2022-11-05)
- 1、【优化】新增 cancelAddTimeStr 配置,用于单独取消 _add_time_str
- 2、【优化】部分API的报错提示
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.12.1(2022-10-07)
- 1、【重要】vk实例初始化代码调整(因HBX更新导致本地运行时,不同的云函数环境目前没有隔离(云端无此问题,只有本地运行有此问题),从而导致HBX本地运行时,A云函数和B云函数复用了同一个vk实例,而更新后,vk实例在不同云函数内会隔离)
router/index.js
代码修改(注意:如果你只使用一个router,则不修改也没有问题)
'use strict';
// 注意:此为云函数路由入口文件,请勿修改此文件代码,你自己的云函数逻辑应写在service目录下
const vk = require('vk-unicloud'); // vk-unicloud 工具包
vk.init(require('./config.js'));
exports.main = async (event, context) => {
return await vk.router({ event, context, vk });
};
修改为
'use strict';
// 注意:此为云函数路由入口文件,请勿修改此文件代码,你自己的云函数逻辑应写在service目录下
const vkCloud = require('vk-unicloud'); // 引入 vk-unicloud
const vk = vkCloud.createInstance(require('./config.js')); // 通过 vkCloud.createInstance 创建 vk 实例
exports.main = async (event, context) => {
return await vk.router({ event, context, vk });
};
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.12.0(2022-10-07)
- 1、【重要】vk实例初始化代码调整(因HBX更新导致本地运行时,不同的云函数环境目前没有隔离(云端无此问题,只有本地运行有此问题),从而导致HBX本地运行时,A云函数和B云函数复用了同一个vk实例,而更新后,vk实例在不同云函数内会隔离)
router/index.js
代码修改(注意:如果你只使用一个router,则不修改也没有问题)
'use strict';
// 注意:此为云函数路由入口文件,请勿修改此文件代码,你自己的云函数逻辑应写在service目录下
const vk = require('vk-unicloud'); // vk-unicloud 工具包
vk.init(require('./config.js'));
exports.main = async (event, context) => {
return await vk.router({ event, context, vk });
};
修改为
'use strict';
// 注意:此为云函数路由入口文件,请勿修改此文件代码,你自己的云函数逻辑应写在service目录下
const vkCloud = require('vk-unicloud'); // 引入 vk-unicloud
const vk = vkCloud.createInstance(require('./config.js')); // 通过 vkCloud.createInstance 创建 vk 实例
exports.main = async (event, context) => {
return await vk.router({ event, context, vk });
};
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.13(2022-09-29)
- 1、【修复】升级HBX后带来的部分兼容性问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.12(2022-09-26)
- 1、【重要】微信公众号万能API调用接口支持在阿里云空间执行(自动使用阿里云代理模式)传送门 - 阿里云固定IP设置
- 2、【修复】
vk.crypto.aes.encrypt
、vk.crypto.aes.decrypt
在非router
目录结构的云函数中运行可能会报错的问题。 - 3、【优化】
vk.pubfn.getCurrentPage()
API 在最新版HBX上的兼容性。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.11(2022-09-20)
- 1、【修复】
vk.baseDao.getTableData
的查询条件某个字段的值指定为null时,可能会报错的问题。 - 2、【优化】小程序在首次启动时,自动检测当前是否有最新版本,如有,则一键更新到最新版本。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.10(2022-09-19)
- 1、【修复】
vk.baseDao.getTableData
的查询条件某个字段的值指定为null时,可能会报错的问题。 - 2、【优化】小程序在首次启动时,自动检测当前是否有最新版本,如有,则一键更新到最新版本。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.9(2022-09-13)
- 1、【优化】其他细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.8(2022-09-12)
- 1、【优化】前端使用
vk.request
请求时,若本地缓存中有uni_id_token
,则请求头会带上uni_id_token
的值 - 2、【优化】
router
函数url化后
,若没有直接传uni_id_token
参数,则会尝试从请求头中获取uni_id_token
- 3、【优化】其他细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.7(2022-09-08)
- 1、【修复】
vk.baseDao.getTableData
内使用_.geoNear
无效的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.6(2022-09-05)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.5(2022-08-29)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.4(2022-08-26)
- 1、【优化】
vk.pubfn.getCommonTime
更新文档 传送门 - 2、【优化】其他细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.3(2022-08-22)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.2(2022-08-22)
- 1、【重要】前端
微信登录
、微信获取openid
等接口不再返回sessionKey
取而代之的是返回encryptedKey
(加密后的数据,云函数解密后可获得sessionKey
) - 2、【重要】新增配置
vk.crypto.aes
用于返回给前端加密数据时的加密密钥
- 3、【新增】
vk.crypto.aes.encrypt
用于加密数据 - 4、【新增】
vk.crypto.aes.decrypt
用于解密数据
// 加密数据
let encryptedKey = vk.crypto.aes.encrypt({
data: {
sessionKey: "XXXXX"
}
});
console.log('encryptedKey: ', encryptedKey)
// 解密 sessionKey 示例
let decryptedRes = vk.crypto.aes.decrypt({
data: encryptedKey, // 待解密的原文
});
console.log('decryptedRes: ', decryptedRes)
let sessionKey = decryptedRes.sessionKey;
console.log('sessionKey: ', sessionKey)
特别注意
-
1、本次更新需要替换
router/service/user/pub/
目录 -
2、如果你使用了
使用微信小程序绑定的手机号一键登录
的API,则请看此处调整代码 传送门
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.1(2022-08-22)
- 1、【重要】前端
微信登录
、微信获取openid
等接口不再返回sessionKey
取而代之的是返回encryptedKey
(加密后的数据,云函数解密后可获得sessionKey
) - 2、【重要】新增配置
vk.crypto.aes
用于返回给前端加密数据时的加密密钥 - 3、【新增】
vk.crypto.aes.encrypt
用于加密数据 - 4、【新增】
vk.crypto.aes.decrypt
用于解密数据// 加密数据 let encryptedKey = vk.crypto.aes.encrypt({ data: { sessionKey: "XXXXX" } }); console.log('encryptedKey: ', encryptedKey)
// 解密 sessionKey 示例 let decryptedRes = vk.crypto.aes.decrypt({ data: encryptedKey, // 待解密的原文 }); console.log('decryptedRes: ', decryptedRes) let sessionKey = decryptedRes.sessionKey; console.log('sessionKey: ', sessionKey)
**特别注意**
* 1、本次更新需要替换 `router/service/user/pub/` 目录
* 2、如果你使用了 `使用微信小程序绑定的手机号一键登录` 的API,则请看此处调整代码 [传送门](https://vkdoc.fsq.pub/client/vk.userCenter.html?t=20220822#vk-usercenter-loginbyweixinphonenumber-%E9%80%9A%E8%BF%87%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%BB%91%E5%AE%9A%E7%9A%84%E6%89%8B%E6%9C%BA%E5%8F%B7%E7%99%BB%E5%BD%95)
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.11.0(2022-08-22)
- 1、【重要】前端
微信登录
、微信获取openid
等接口不再返回sessionKey
取而代之的是返回encryptedKey
(加密后的数据,云函数解密后可获得sessionKey
) - 2、【重要】新增配置
vk.crypto.aes
用于返回给前端加密数据时的加密密钥 - 3、【新增】
vk.crypto.aes.encrypt
用于加密数据 - 4、【新增】
vk.crypto.aes.decrypt
用于解密数据// 加密数据 let encryptedKey = vk.crypto.aes.encrypt({ data: { sessionKey: "XXXXX" } }); console.log('encryptedKey: ', encryptedKey)
// 解密 sessionKey 示例 let decryptedRes = vk.crypto.aes.decrypt({ data: encryptedKey, // 待解密的原文 }); console.log('decryptedRes: ', decryptedRes) let sessionKey = decryptedRes.sessionKey; console.log('sessionKey: ', sessionKey)
**特别注意**
本次更新需要替换 `router/service/user/pub/` 目录
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.12(2022-08-20)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.11(2022-08-19)
- 1、【优化】发送短信验证码接口和组件新增参数
checkUserExist
: 是否需要检测手机号对应的账号是否存在,默认false:不检测 设置为true:会检测,如果检测到用户不存在,则不发短信。(如通过手机号找回密码的业务,如果手机号都未注册,则没有必要发短信)(需要替换文件:router/service/user/pub/sendSmsCode.js
) - 2、【修复】数据库API,
_.geoNear
部分情况下会失效的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.10(2022-08-15)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.9(2022-08-15)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.8(2022-08-13)
- 1、【调整】根据手机验证码重置账号密码的短信验证
type
从reset
改为reset-pwd
(与unicloud官方对齐) - 2、【调整】根据邮箱验证码重置账号密码的邮件验证
type
从reset
改为reset-pwd
(与unicloud官方对齐) - 3、【修复】vk.pubfn.test("aaahttps://www.baidu.com","url") 会返回 true 的bug
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.7(2022-07-30)
- 1、【优化】云对象
this.getCloudInfo()
内增加functionName
、functionType
传送门 - 2、【优化】云对象
this.getClientInfo()
内增加source
传送门
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.6(2022-07-28)
- 1、【新增】
uni-id
配置removeDcloudAppid
默认false,若设置true,则注册成功后,会自动删除dcloud_appid
字段,以达到禁用隔离不同端用户的功能。(需配合中间件registerInitFilter) - 2、【新增】
vk.openapi.weixin.urllink.generate
云函数生成小程序url链接API 传送门 - 3、【新增】
vk.userCenter.getWeixinMPurl
前端直接生成小程序url链接API 传送门 - 4、【优化】
vk.openapi.weixin.wxacode.getUnlimited
和vk.openapi.weixin.urlscheme.generate
支持参数env_version
传送门
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.5(2022-07-23)
- 1、【优化】一些细节。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.4(2022-07-21)
- 1、【优化】一些细节。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.3(2022-07-21)
- 1、【优化】一些细节。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.2(2022-07-20)
- 1、【修复】
_.geoNear
和lastWhereJson
同时使用时报错的bug - 2、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.1(2022-07-18)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.10.0(2022-07-09)
- 1、【优化】
vk.baseDao.update
vk.baseDao.updateById
vk.baseDao.updateAndReturn
API的dataJson
参数若有_id
,则自动忽略_id
(因_id不可修改,原先是直接报错) - 2、【优化】其他细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.9(2022-07-04)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.8(2022-06-28)
- 1、【重要】新增安全规则:未标记
isCloudObject:true
的对象定义为私有对象(如service/user/util/login_log.js
),前端禁止访问(只能被云函数/云对象require
方式调用)。 - 2、【重要】
client端
默认自带admin端
需要的函数和菜单权限表数据,方便admin
一键绑定client
项目(不再需要复制admin项目内的文件了)。 - 3、【优化】
万能连表
支持使用数组下标对应的值进行连表,如用户表根据inviter_uid的第一个值进行连表达到只查出第一个上级用户信息的效果 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.7(2022-06-22)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.6(2022-06-16)
- 1、【优化】一些细节。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.5(2022-06-16)
- 1、【无更新】配合测试,开发者无需更新到此版本(与2.9.4版本一致)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.4(2022-06-15)
- 1、【升级】
uni-id
至3.3.23
- 2、【调整】
vk.getVuex
当数据不存在时,返回值由undefined
调整为空字符串
(undefined在部分平台会有问题) - 3、【优化】示例代码的细节问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.3(2022-06-15)
- 1、【升级】
uni-id
至3.3.23
- 2、【调整】
vk.getVuex
当数据不存在时,返回值由undefined
调整为空字符串
(undefined在部分平台会有问题) - 3、【优化】示例代码的细节问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.2(2022-06-11)
- 1、【重要】
uni-id
新增配置参数"preferedWebPlatform": "h5",
,用于解决因HBX3.4.14版本导致的h5
变为web
带来的一系列问题。(完美兼容,你无需改自己的逻辑代码了) - 2、【调整】
vk.getVuex
当数据不存在时,返回值由空字符串
调整为undefined
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.1(2022-06-08)
- 1、【优化】
云对象
的内置apithis.getClientInfo
可以获取到更多信息(uni.getSystemInfo返回的客户端信息) - 2、【优化】
云函数
的originalParam.context
可以获取到更多信息(uni.getSystemInfo返回的客户端信息)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.9.0(2022-06-07)
- 1、【新增】
vk.callFunction
api 点击查看详情- 1.1、支持在云对象中请求其他云对象内的函数。
- 1.2、支持在云对象中请求云函数。
- 1.3、支持在云函数内请求其他云函数。
- 1.4、支持在云函数内请求云对象内的函数。
- 2、【优化】
pub
类型的函数无需need_user_info:true
,也能从token中解析并获取到uid(无数据库请求,不影响性能)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.13(2022-06-02)
- 1、【修复】
云对象
模式下sys类型函数
在非admin目录下时,请求会提示need_user_info
的问题。 - 2、【优化】为了兼容DCloud推出的uniCloud响应体规范,请求后的返回值会自动加上errCode和errMsg,其中errCode=code,errMsg=msg
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.12(2022-06-02)
- 1、【修复】
云对象
模式下sys类型函数
在非admin目录下时,请求会提示need_user_info
的问题。 - 2、【优化】为了兼容DCloud推出的uniCloud响应体规范,请求后的返回值会自动加上errCode和errMsg,其中errCode=code,errMsg=msg
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.11(2022-05-28)
- 1、【修复】无法
alt+左键
跳转到组件源代码文件的bug。(只需删除pages.json
内的空easycom
规则即可,此为造成无法识别组件的原因。) - 2、【修复】无法自动识别组件标签的bug。(只需删除
pages.json
内的空easycom
规则即可,此为造成无法识别组件的原因。) - 3、【修复】
interceptor.login
前端自定义login拦截器,在某些情况下无法正常拦截的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.10(2022-05-28)
- 1、【修复】当
云对象
在service
层根目录时,pub.对象名.js
pub权限失效的问题。 - 2、【优化】其他一些细节。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.9(2022-05-26)
- 1、【优化】
vk.baseDao.selects
和vk.baseDao.getTableData
API新增lastSortArr
参数,用于聚合后再排序。 - 注意:
lastWhereJson
和lastSortArr
在数据量大的情况下是有性能问题的,(建议主表的where条件中先进行筛选,如只查本季度数据,只要主表过滤完后数据量不大,则没有性能问题。) - 2、【修复】
lastWhereJson
后,返回的total
不准确的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.8(2022-05-25)
- 1、【升级】
uni-id
3.3.21 - 2、【优化】
javascript代码块提示
查看详情 - 3、【优化】示例页面的一些细节。
- 4、【优化】vuex自动加载模块(无需手动引入模块)(需要替换
/store/index.js
文件)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.7(2022-05-25)
- 1、【优化】
javascript代码块提示
查看详情 - 2、【优化】示例页面的一些细节。
- 3、【优化】vuex自动加载模块(无需手动引入模块)(需要替换
/store/index.js
文件)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.6(2022-05-14)
- 1、【升级】
uni-id
3.3.18 - 2、【新增】
vk.pubfn.getFileType(url)
根据文件url获取文件类型 - 3、【新增】
vk.pubfn.getFileSuffix(url)
根据文件url获取文件后缀名 - 4、【新增】
vk.pubfn.checkFileSuffix(url,["png", "jpg", "jpeg", "gif", "bmp", "svg"])
根据文件url判断是否满足指定后缀名中的任意1个
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.5(2022-05-05)
- 1、【重要】vk实例对象已调整为页面内置对象,vk实例对象内的api在任意地方都可以直接通过vk.xxx()使用,不再需要 this.vk.xxx() 或 uni.vk.xxx() 的方式来调用。
- 2、【重要】vk实例对象已调整为云函数内置对象,vk实例对象内的api在任意地方都可以直接通过vk.xxx()使用,不再需要 this.vk.xxx() 或 uniCloud.vk.xxx() 的方式来调用。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.4(2022-04-28)
- 1、【新增】
vk.openapi.weixin.uniformMessage.send
小程序转公众号消息模板接口 点击查看 - 2、【新增】
vk.openapi.weixin.h5.templateMessage.send
公众号消息模板接口 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.3(2022-04-21)
- 1、【重要】
uni-id
配置新增tokenMaxLimit
每个账户的最大token数量,0为不限,淘汰策略:新的淘汰旧的(注意,即使设置为0,框架也会自动淘汰已过期的token)点击查看 - 2、【重要】微信登录支持多小程序:如果使用多小程序登录,则同一用户(同一个微信号)在不同小程序登录时,会分别创建不同的用户(除非小程序绑定在同一个开放平台下)
- 3、【新增】全局参数
targetTimezone
可设置默认时区(中国为8,8代表东8区,-8代表西8区)
- 4、【新增】全局参数
functionNameToUrl
和isRequestDefault
点击查看 - 5、【优化】微信注册时支持新增自定义字段,如:nickname和avatar等。
- 6、【优化】当云函数全局配置文件出错时,优化报错提示。
本次更新除了常规升级框架外,还需要下载最新版框架示例项目,从最新版中复制 以下文件 替换 你项目中的对应文件。
- 1、
router/middleware/modules/returnUserInfoFilter.js
(此为用户登录注册全局中间件) - 2、
router/service/user/pub/loginByWeixin.js
(此为微信登录云函数)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.2(2022-04-21)
- 1、【重要】
uni-id
配置新增tokenMaxLimit
每个账户的最大token数量,0为不限,淘汰策略:新的淘汰旧的(注意,即使设置为0,框架也会自动淘汰已过期的token)点击查看 - 2、【重要】微信登录支持多小程序:如果使用多小程序登录,则同一用户(同一个微信号)在不同小程序登录时,会分别创建不同的用户(除非小程序绑定在同一个开放平台下)
- 3、【新增】全局参数
targetTimezone
可设置默认时区(中国为8,8代表东8区,-8代表西8区)
- 4、【新增】全局参数
functionNameToUrl
和isRequestDefault
点击查看 - 5、【优化】微信注册时支持新增自定义字段,如:nickname和avatar等。
- 6、【优化】当云函数全局配置文件出错时,优化报错提示。
本次更新除了常规升级框架外,还需要下载最新版框架示例项目,从最新版中复制 以下文件 替换 你项目中的对应文件。
- 1、
router/middleware/modules/returnUserInfoFilter.js
(此为用户登录注册全局中间件) - 2、
router/service/user/pub/loginByWeixin.js
(此为微信登录云函数)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.1(2022-04-14)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.8.0(2022-04-01)
- 1、【重要】新增
云对象
路由模式 什么是云对象? - 2、【重要】自此,在VK框架中,可以做到云对象和云函数同时存在。即在VK框架中,同时支持
云对象路由模式
和云函数路由模式
。 - 3、【新增】本地运行支持云对象 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.7.6(2022-03-26)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.7.5(2022-03-22)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.7.4(2022-03-21)
- 1、【优化】H5环境下,微信登录、微信绑定、微信解绑API,使之自动识别微信公众号环境(h5-weixin)的配置。
注意:微信公众号的
uni-id
配置属性是h5-weixin
,非h5
。 - 2、【新增】新增微信公众号登录、注册、绑定、解绑、获取openid的调用示例。 演示页面地址:
/pages_template/uni-id/weixin/h5-weixin
- 完整框架项目地址:
https://ext.dcloud.net.cn/plugin?id=2204
点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.7.3(2022-03-18)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.7.2(2022-03-14)
- 1、【修复】
vk.navigateTo
以 ./ 开头时 如:vk.navigateTo("./order-list") 判断是否需要登录不准确的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.7.1(2022-03-14)
- 1、【优化】
app.config.js
中的checkTokenPages
检测页面是否需要登录支持 首页(启动页)的检测 - 2、【优化】其他细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.7.0(2022-02-26)
【重要】由于uni官方限制自定义表不可以用 opendb-
和 uni-
开头,故以下数据库表名只能进行调整
- 1、
opendb-components-dynamic
改为vk-components-dynamic
- 2、
opendb-global-data
改为vk-global-data
- 3、
uni-id-files
改为vk-files
- 4、
uni-id-files-categories
改为vk-files-categories
更改表名势必会对老项目产生影响。
老项目更新注意事项:
- 1、老项目更新后,还需要从
unicloud控制台
把表名改成对应的新表名 - 2、在项目代码中全局搜索旧表名,替换成新表名
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.9(2022-02-24)
- 1、【优化】
万能连表
支持副表外键是数组类型(只要数组内任意元素与主表外键匹配即可)点击查看 - 2、【优化】其他一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.8(2022-01-08)
- 1、【修复】
vk.openapi.weixin.security.imgSecCheck
图片安全检测失效的问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.7(2021-12-24)
- 1、【修复】
vk.pubfn.priceFilter
、vk.pubfn.percentageFilter
、vk.pubfn.discountFilter
部分情况下,默认值不生效的问题。 - 2、【修复】
vk.pubfn.string2Number
会将空字符串转为0的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.6(2021-12-14)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.5(2021-12-14)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.4(2021-12-10)
- 1、【修复】少数情况下,http请求可能获取不到数据的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.3(2021-12-07)
- 1、【优化】上传api的url自动去除原文件名的中文部分。
- 2、【修复】公众号登录可能会获取不到昵称和头像的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.2(2021-12-04)
- 1、【新增】
vk.baseDao
内api支持连接其他服务空间的数据库 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.1(2021-11-26)
- 1、【新增】
await vk.pubfn.batchRun
批量循环并发执行异步函数(云函数内专用, 使用场景: 批量发送短信、邮件、消息通知等。)点击查看 - 2、【优化】qq 登录问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.6.0(2021-11-19)
- 1、【重要】移除了内置的
npm
方式安装的uView
组件库,开发者可以选择自己喜欢的组件库进行开发。点击查看 - 2、【重要】移除内置组件
vk-u-goods-sku-popup
(推荐vk-data-goods-sku-popup
代替)点击查看 - 3、【重要】移除内置组件
vk-u-number-box
(推荐u-number-box
代替) - 4、【重要】移除内置组件
vk-u-grid-button
- 5、【重要】移除内置组件
vk-u-swiper
- 6、【重要】重构内置组件
vk-u-verification-code
并改名为vk-data-verification-code
如想要继续使用这些组件,可以把这些组件复制到项目根目录的 components
目录(没有则新建)(目录名和组件名需一致,如 vk-u-grid-button/vk-u-grid-button
)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.5.6(2021-11-13)
- 1、【新增】
vk.pubfn.getOffsetTime
获得指定时间偏移 year年 month月 day天 hours时 minutes分 seconds秒前或后的时间戳 点击查看 - 2、【优化】一些细节
框架学习Q群:
22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.5.5(2021-11-10)
- 1、【升级】
uni-id
为3.3.9
去除重复的context.xxx
未找到的提示语
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.5.4(2021-11-10)
- 1、【优化】前端请求云函数的一处细节。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.5.3(2021-11-09)
- 1、【优化】
vk.pubfn.base64ToFile
支持 APP 环境执行 - 2、【优化】
vk.pubfn.fileToBase64
支持 APP 环境执行 - 3、【修复】
vk.baseDao.adds
无返回值的问题。 - 4、【修复】
vk.baseDao.selects
当localKey
为a.b.c
这样的形式时会报错的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.5.2(2021-11-02)
- 1、【新增】
vk.h5
前端API接口(H5专用的一些接口,只有H5环境时,才有该对象,不会增大小程序的包体积) - 2、【新增】
vk.h5.wx
(wx为公众号js_sdk接口) 微信小程序环境内js_sdk文档 微信公众号环境内js_sdk文档 - 3、【新增】
vk.navigateToHome
跳转到首页 (app.config.js 的 index.url) - 4、【新增】
vk.navigateToLogin
跳转到登录页 (app.config.js 的 login.url) - 5、【修复】
vk.callFunctionUtil.updateRequestGlobalParam
全局公共请求参数的一处逻辑问题。 - 6、【优化】登录注册模板细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.5.1(2021-11-02)
- 1、【新增】
vk.h5
前端API接口(H5专用的一些接口,只有H5环境时,才有该对象,不会增大小程序的包体积) - 2、【新增】
vk.h5.wx
(wx为公众号js_sdk接口) 微信小程序环境内js_sdk文档 微信公众号环境内js_sdk文档 - 3、【新增】
vk.navigate.navigateToHome
跳转到首页 - 4、【新增】
vk.navigate.navigateToLogin
跳转到登录页 - 5、【修复】
vk.callFunctionUtil.updateRequestGlobalParam
全局公共请求参数的一处逻辑问题。 - 6、【优化】登录注册模板细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.5.0(2021-11-02)
- 1、【新增】
vk.h5
前端API接口(H5专用的一些接口,只有H5环境时,才有该对象,不会增大小程序的包体积) - 2、【新增】
vk.h5.wx
(wx为公众号js_sdk接口) 微信小程序环境内js_sdk文档 微信公众号环境内js_sdk文档 - 3、【新增】
vk.navigate.navigateToHome
跳转到首页 - 4、【新增】
vk.navigate.navigateToLogin
跳转到登录页 - 5、【修复】
vk.callFunctionUtil.updateRequestGlobalParam
全局公共请求参数的一处逻辑问题。 - 6、【优化】登录注册模板细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.8(2021-10-30)
- 1、【优化】
vk.pubfn.hidden(str, first, last);
的first
和last
默认为0 点击查看 - 2、【优化】其他一些细节
框架学习Q群:
22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.7(2021-10-26)
- 1、【优化】在
template
模板中使用vk.pubfn
(可以用简写法$fn
代替vk.pubfn
) - 2、【优化】其他细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.6(2021-10-25)
- 1、【优化】
vk.userCenter
接口细节,现在参数loading:true
或loading:false
均可以关闭loading提示框
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.5(2021-10-16)
- 1、【优化】当获取小程序码错误时,增加微信返回的错误提示。
- 2、【优化】当配置文件编译错误时,增加对应的错误提示。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.4(2021-10-15)
- 1、【优化】当
router/util/pubFunction.js
内的代码出现编译错误时,控制台能打印编译错误信息。 - 2、【优化】其他一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.3(2021-10-08)
- 1、【新增】vk.userCenter 用户中心API的文档 点击查看
- 2、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.2(2021-09-30)
- 1、【优化】
vk.pubfn.string2Number
新增第二位参数option/** * 将能转成数字的字符串转数字(支持字符串、对象、数组) * @param {Any} obj * @param {Object} option 哪些格式需要排除 * 默认排除 * mobile:true 手机号,如 15200000001 * idCard:true 身份证,如 330154202109301214 * startFrom0:true 第一位是0,且长度大于1的,同时第二位不是.的字符串 如 01,057189101254 */ vk.pubfn.string2Number(obj, option);
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.1(2021-09-30)
- 1、【新增】
vk.pubfn.string2Number
将能转成数字的字符串值转Number类型(支持字符串、对象、数组)(深度遍历) - 2、【优化】
vk.callFunctionUtil.updateRequestGlobalParam
设置全局请求参数regExp
参数支持数组(满足数组内任意正则即算匹配) 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.4.0(2021-09-28)
- 1、【重要】支持微信公众号登录(有头像和昵称)详情见示例项目:
pages_template/openapi/h5-weixin/h5-weixin
- 2、【优化】APP使用微信登录时,有头像和昵称 详情见示例项目:
pages_template/uni-id/weixin/weixin
公众号配置文件在 uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json
"h5-weixin": {
"oauth": {
"weixin": {
"appid": "微信公众号appid",
"appsecret": "微信公众号appsecret"
}
}
},
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.3.5(2021-09-27)
- 1、【新增】
vk.pubfn.snake2camelJson
对象内的属性名 - 蛇形转驼峰 点击查看 - 2、【新增】
vk.pubfn.camel2snakeJson
对象内的属性名 - 驼峰转蛇形 点击查看 - 3、【新增】
vk.pubfn.snake2camel
字符串 - 蛇形转驼峰 点击查看 - 4、【新增】
vk.pubfn.camel2snake
字符串 - 驼峰转蛇形 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.3.4(2021-09-18)
- 1、【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.3.3(2021-09-16)
- 1、【优化】一些细节问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.3.2(2021-09-08)
- 1、【升级】
uni-id
至 3.3.6 (修复邀请码可能重复的Bug)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.3.1(2021-09-08)
- 1、【优化】一些细节
- 2、【修复】
user/kh/updateUser
问题。框架学习Q群:
22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.3.0(2021-09-06)
- 1、【新增】
vk.baseDao.updateAndReturn
API 点击查看 - 2、【新增】
vk.pubfn.getDayOffsetStartAndEnd
获得相对当前时间的偏移 count 天的起止日期(日的开始和结束) 点击查看 - 3、【新增】
vk.pubfn.getMonthOffsetStartAndEnd
获得相对当前时间的偏移 count 月的起止日期(月的开始和结束) 点击查看 - 4、【新增】
vk.pubfn.getYearOffsetStartAndEnd
获得相对当前时间的偏移 count 年的起止日期(年的开始和结束) 点击查看 - 5、【新增】
vk.pubfn.sleep
进程等待(主要用于在云函数中需要故意等待几秒的情况)点击查看 - 6、【新增】
app.config.js
新增参数globalErrorCode
可以修改全局异常的提示信息 点击查看 - 7、【新增】
javascript代码块提示.json
最近新增的api的代码提示 点击查看 - 8、【优化】
vk.baseDao.selects
新增参数addFields
点击查看 - 9、【优化】
vk.pubfn.timeFormat
等API,当参数time为字符串时间戳时的特殊处理 点击查看 - 10、【修复】腾讯云的图片上传无法回显图片的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.2.4(2021-08-06)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【优化】一些细节
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.2.3(2021-08-05)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】因uni-id
配置隔离导致的微信vk.openapi.weixin
API 兼容性问题。
2、【新增】vk.pubfn.isArray
判断变量是否是数组类型
3、【新增】vk.pubfn.isObject
判断变量是否是对象类型
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.2.2(2021-08-04)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】uni-id
至 3.3.3
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.2.1(2021-08-04)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】uni-id
至 3.3.2
2、【新增】云函数内表单验证文档 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.2.0(2021-07-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【新增】前端 vk.callFunction
支持请求其他服务空间的云函数
const myCloud = uniCloud.init({
provider: 'aliyun',
spaceId: 'xxxx-yyy',
clientSecret: 'xxxx'
});
vk.callFunction({
url: 'template/db_api/pub/count',
title:'请求中...',
unicloud: myCloud,
success(data) {
console.log(data);
}
});
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.8(2021-07-28)
1
2.1.7(2021-07-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【新增】前端 vk.callFunction
支持请求其他服务空间的云函数
const myCloud = uniCloud.init({
provider: 'aliyun',
spaceId: 'xxxx-yyy',
clientSecret: 'xxxx'
});
vk.callFunction({
url: 'template/db_api/pub/count',
title:'请求中...',
unicloud: myCloud,
success(data) {
console.log(data);
}
});
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.6(2021-07-22)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】常用的 vk.baseDao javascript代码块提示
(有部分错误的问题:少,号的问题)(在编辑器输入dao.即可弹出代码提示)点击查看详情
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.5(2021-07-22)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【优化】新增常用的 vk.baseDao javascript代码块提示
(在编辑器输入dao.即可弹出代码提示)点击查看详情
2、【优化】文档 查看文档
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.4(2021-07-12)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【修复】已知问题
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.3(2021-07-12)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】首次使用框架,上传部署后访问云函数可能会出现 createInstance is undefined
的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.2(2021-07-12)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】连表查询时,因lastWhereJson
而导致getCount
错误的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.1(2021-07-12)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】连表查询时,因lastWhereJson
而导致getCount
错误的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.1.0(2021-07-09)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要调整】删除了config
公共模块,升级为uni-config-center
模式 点击查看升级教程
1、【重要调整】删除了config
公共模块,升级为uni-config-center
模式 点击查看升级教程
1、【重要调整】删除了config
公共模块,升级为uni-config-center
模式 点击查看升级教程
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.0.8(2021-07-07)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【修复】已知bug
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论。
2.0.7(2021-06-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】user/kh/getMenu
云函数获取菜单错误的bug。
2、【修复】db_init.json opendb-global-data
表expired_at
索引设置错误 "MgoIsUnique": true 改为 "MgoIsUnique": false(需要把索引删除后重新创建,选择非唯一索引)
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论。
2.0.6(2021-06-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【优化】vk.pubfn.timeFormat
若参数不符合规则,则原值显示。
2、【优化】vk.pubfn.random
新增第三个参数arr
(产生的随机数不会和此数组的任意一项重复) 点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论。
2.0.5(2021-06-16)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】vk.baseDao.add
因hbx 3.1.18版本导致的本地运行时 _add_time_str
错误的问题。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论。
2.0.4(2021-06-10)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【新增】onActionIntercepted
(被中间件拦截时执行) 和 onActionError
(云函数执行异常时执行) 类型中间件 点击查看
2、【优化】过滤器 timeFilter
、dateDiff
能正确识别10位数时间戳和13位时间戳。点击查看
3、【优化】vk.baseDao.sample
支持 fieldJson
参数 点击查看数据API
4、【修复】返回树状结构
时最后一级子节点没有继承主表foreignDB
属性的bug。查询返回树状结构文档
5、【优化】vk.callFunctionUtil.uploadFile
自动识别文件类型,无需传fileType
参数
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论。
2.0.3(2021-05-31)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【新增】vk.callFunctionUtil.uploadFile
新增参数 file
,needSave
若needSave=true,则文件URL会保存到数据库。(会显示在admin端的素材管理中)
2、【优化】vk.baseDao.selects
和 vk.baseDao.select
新增两个属性getOne
、 getMain
点击查看详情
3、【修复】vk.callFunctionUtil.uploadFile
上传视频时后缀名可能会错误的问题。
4、【优化】云函数URL化
路由模式下,URL重写支持只允许部分云函数可被访问。(可以做到只暴露指定的API接口,增加URL化后的安全性)
router/util/urlrewrite.js
文件配置内容如下 点击URL重写规则
/**
* URL重写
* 如让 https://xxx.bspapp.com/http/router/aaa 指向云函数 template/db_api/pub/select
*/
module.exports = {
"rule":{
"^findById/(.+)": "template/db_api/pub/findById?_id=$1",
"^aaa$": "template/db_api/pub/select"
},
"config":{
// 当设置为true时,只有符合url重写规则内的云函数才可以被url化访问。
"accessOnlyInRule":false
}
};
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.0.2(2021-05-21)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【新增】vk.callFunctionUtil.uploadFile
新增参数 file
,needSave
若needSave=true,则文件URL会保存到数据库。(会显示在admin端的素材管理中)
2、【调整】vk.baseDao.getTableData
默认排序规则调整为_id
降序,之前是_add_time
降序
3、【优化】vk.baseDao.getTableData
和 vk.baseDao.selects
连表查询逻辑。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.0.1(2021-05-21)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【优化】vk.baseDao
API的查询性能。
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
2.0.0(2021-05-15)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【优化】用户角色权限,支持admin使用 点击查看
2、vk-unicloud-admin
开发框架已正式上线
至此,vk-unicloud
系列如下,可以满足开发完整系统。
client端
框架地址:https://ext.dcloud.net.cn/plugin?id=2204
点击查看
admin端
框架地址:https://ext.dcloud.net.cn/plugin?name=vk-unicloud-admin
点击查看
client端
框架文档:https://gitee.com/vk-uni/vk-uni-cloud-router/wikis/pages?sort_id=2912167&doc_id=975983
点击查看
admin端
框架文档:https://gitee.com/vk-uni/vk-uni-cloud-router/wikis/pages?sort_id=4003875&doc_id=975983
点击查看
框架学习Q群:22466457
欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
1.9.2(2021-04-23)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【重要】【新增】 pages-dev.json
机制,写法与pages.json
相同,但里面的页面只有运行(开发)环境时才会被HBX打包,发行(正式)环境下不会被HBX打包进去。点击查看详情
可以将一些测试页面写在 `pages-dev.json`内,这些测试页面在正式发布时是不会被HBX打包到源码里的。
3、【重要】【新增】阿里云和unicloud短信聚合API (阿里云短信的实现不依赖阿里云SDK核心库,无需npm install @alicloud/pop-core
)点击查看详情
4、【重要】【废弃】原目录util/smsUtil.js
(使用新的vk.system.smsUtil.sendSms
聚合短信发送接口,且比之前的写法更优雅)
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.9.1(2021-04-19)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【重要】【全网首家】云函数url化
支持以纯链接形式访问路由后的云函数 如: https://xxx.bspapp.com/http/router/client/user/pub/findGoodsInfo?id=1
3、【重要】【全网首家】云函数url化
支持URL重写 点击查看URL重写详情
4、【优化】vk.selects
支持主表外键是数组的情况下(如uni-id-users
表的role
字段)连表查出roleList
点击查看场景5
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.9.0(2021-04-15)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【重要】vk.selects
支持返回树状结构 点击查看详情
3、【新增】vk.pubfn.deepClone
深度克隆(与vk.pubfn.copyObject
的区别:可以克隆函数)
4、【优化】vk.setData
内部逻辑
5、【优化】使用帮助/代码快捷提示/javascript代码块提示.json
代码块有更新 (将文件内的代码复制到 hbx 工具 - 代码块设置 - javascript代码块)
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.14(2021-04-13)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【修复】console.log
在小程序端可能会无法打印出代码所在位置的问题。
3、【优化】云函数中 vk.request
新增参数needOriginalRes
默认为false
,若为true
,则会返回原始数据(包含请求头等数据)
4、【调整】vk.request
默认的header
与官方对其(之前默认是{"content-type": "application/json; charset=UTF-8"}
)
5、【优化】uni-id
模式调整为:兼容单实例多并发模式
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.13(2021-04-07)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【优化】vk.baseDao.selects
支持_.geoNear
API(将记录按照离给定点从近到远输出。)点击查看万能连表场景4
官方原生语法中,连表查询和非连表查询在使用`_.geoNear`时用较大差别;
而 vk.baseDao.selects(万能连表)写法跟 vk.baseDao.select(单表查询) 写法保持统一,使上手更简单。
3、【优化】如需要在云函数中主动抛出异常,且能让前端框架自动识别后进行alert弹窗提示,则可使用以下方式
// 注意: 必须以msg:为前缀,否则框架无法识别(只支持字符串)
throw new Error("msg:这里是错误的提示");
4、【新增】app.config.js
新增 tokenExpiredAutoDelete
属性,默认true
若设为false
,则token
失效时,依然保留前端的token缓存
。
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.12(2021-03-27)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【新增】百度开放平台API接口
(营业执照识别、身份证识别等) 点击查看
3、【优化】kh
目录下的函数默认会获取 userInfo
(当前登录用户信息),如果此云函数不需要用户信息,可以在前端多传一个参数need_user_info:false
可以减少一次数据库查询(加快响应速度)(快100ms左右) 点击查看
4、【优化】returnUserInfoFilter
过滤器的内部逻辑
5、【优化】vk.callFunction
新增参数 needAlert
(默认为true) 来代替 noAlert
(默认为false) 二选一即可(建议后面都使用needAlert
参数,它更语义化)
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.11(2021-03-24)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【新增】vk.pubfn.timeUtil.isLeapYear
判断是否是闰年
3、【新增】vk.pubfn.timeUtil.isQingming
判断是否是清明节
4、【新增】清明节灰色页面实现方案 点击查看
/**
* 判断是否是闰年
* @params {Number | Date} year 需要计算的年份或时间,默认使用当前时间的年份
*/
vk.pubfn.timeUtil.isLeapYear(2021);
/**
* 判断是否是清明节
* @params {Object} date 时间对象
*/
vk.pubfn.timeUtil.isQingming(new Date());
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.10(2021-03-23)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】uni_modules
版本 点击查看升级指南
2、【优化】新增app
环境中直接保存用户微信昵称和头像的使用示例。/pages_template/uni-id/weixin/weixin
3、【修复】vuex
储存值为0时,会变成空字符串
的问题。
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.9(2021-03-20)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【优化】vk.userCenter.code2SessionWeixin
的内部逻辑。使之可以正确的和vk.userCenter.loginByWeixinPhoneNumber
搭配使用
效果:使用微信手机号一键登录后,同时绑定微信openid和mobile
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.8(2021-03-19)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【修复】微信小程序服务端API在保存token
时,缓存时间错误的问题。
3、【修复】vk.callFunctionUtil.uploadFile
上传视频返回.png
的问题 点击查看详情
4、【新增】APP本机号码一键登录API vk.userCenter.loginByUniverify
示例页面:/pages_template/uni-id/univerify/univerify
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.7(2021-03-19)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【优化】在安装了vuex
后,移除了名为uni_id_user_info
的本地缓存(重复了)(userInfo
使用vk.getVuex('$user.userInfo')
获取)
3、【修复】微信小程序服务端API在获取token
时,没有正确使用缓存的问题。
4、【新增】APP本机号码一键登录API vk.userCenter.loginByUniverify
示例页面:/pages_template/uni-id/univerify/univerify
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.6(2021-03-12)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【重要】现在可以在js文件中直接通过 uni.vk
来使用 vk
对象内的API
3、【新增】app.config.js
新增参数 checkSharePages
控制页面是否可以被小程序分享
4、【优化】发行模式下,console.log
将不会打印任何日志。
若发行模式下需要强制打印,可用 `vk.log` 代替 `console.log`
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.5(2021-03-10)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【新增】vk.callFunctionUtil.uploadFile
支持前端直传至阿里云oss
点击查看详情
3、【新增】app.config.js
新增 myfn
参数,可用来拓展自定义公共函数 点击查看详情
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.4(2021-03-06)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【新增】vk.openapi.weixin.subscribeMessage.send
微信小程序发送订阅消息 点击查看详情
示例页面:/pages_template/openapi/weixin/sendMessage/sendMessage
3、【优化】vk.baseDao.add
和 vk.baseDao.adds
新增参数 cancelAddTime
为true
,则不会有_add_time
和_add_time_str
字段生成
4、【优化】vk.baseDao.add
和 vk.baseDao.adds
支持添加自定义 _id
5、【优化】vk.setVuex
和 vk.setData
的赋值逻辑
需替换:/store/index.js 文件
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.3(2021-03-04)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【重要】vuex
的使用方式有较大更新。(有性能提升)点击查看详情
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.2(2021-03-01)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【修复】vk.baseDao.deleteById
会报vk is not defined
的错误。
3、【重要】公共模块config
的默认passwordSecret
和tokenSecret
调整为与uni-id
默认config
一致
`tokenSecret`一致的好处:兼容clientDB
注意:如您目前的项目已上线,请谨慎修改passwordSecret(tokenSecret已上线的项目也可以修改)。
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.1(2021-02-23)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【优化】vk.baseDao.selects
支持副表与副表的副表进行连表 点击查看详情
1.1、支持无限张副表和主表进行连接(横向无限张表)
1.2、支持副表与副表的副表进行连接(竖向无限层连接)
3、【新增】微信小程序服务端API 点击查看文档
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.8.0(2021-02-07)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【重要】升级至uni_modules
版本 点击查看升级指南
2、【重要】本次更新文件有重大改动,升级成功后将变成uni_modules
版本,下次更新框架只需要在hbx编译器中一键更新。
3、【新增】【小程序API】vk.userCenter.loginByWeixinPhoneNumber
前端可以使用微信小程序一键进行手机号登录
4、【新增】【小程序API】vk.userCenter.getPhoneNumber
前端一键获取微信小程序绑定的手机号
5、【新增】【小程序API】vk.weixinUtil.mp.getPhoneNumber
云函数解析微信小程序绑定的手机号
6、【新增】【小程序API】vk.userCenter.getWeixinMPqrcode
前端一键生成带参数的小程序码
7、【新增】【小程序API】vk.userCenter.getWeixinMPscheme
前端一键生成带参数的小程序scheme码(支持从手机短信跳转到小程序)
8、【优化】middleware/modules/returnUserInfoFilter
中间件的处理逻辑。
9、【优化】javascript代码块提示.json
输入vk.
可以快速提示代码块 根目录/使用帮助/代码快捷提示
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.7.1(2021-01-31)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.11.2
2、【升级】vk-unicloud-page
升级至 1.17.3
3、【升级】uni-id
升级至 3.0.4
4、【优化】config
公共模块新增配置 vk.db.unicloud.cancelAddTime
设置为true可取消 vk.baseDao.add
自动生成_add_time
字段
5、【优化】vk.navigateTo
、vk.redirectTo
、vk.reLaunch
、vk.switchTab
均支持是否登录的检测。
6、【优化】vk.baseDao.selects
新增 lastWhereJson
支持在聚合阶段结束后进行where条件过滤
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.7.0(2021-01-25)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.11.0
2、【升级】vk-unicloud-page
升级至 1.17.0
3、【新增】vk.pubfn.getCurrentPage();
可快速获取页面数据,如(完整路径、页面参数、vue实例等)
4、【新增】vk.pubfn.isNullOneByObject(obj)
检测obj对象是否没有一个属性是空值,如果有空值,则返回首个是空值的属性名
5、【新增】vk.globalDataCache
全局数据缓存API,现在可以很方便的在云函数中使用缓存。 点击查看详情
6、【重要】vk.baseDao
API自插件1.7.0
版本开始不再需要传util参数了(为了向下兼容,即使传了也可以) 点击查看详情
7、【重要】vk.baseDao
API自插件1.7.0
版本开始支持数据库事务 点击查看详情
8、【重要】公共模块config
新增配置vk.system.serviceShutdown
和 vk.system.serviceShutdownDescription
若serviceShutdow设置为true,则所有云函数无法访问(适用于需要临时关闭后端服务的情况,如迁移数据)
vk.system.serviceShutdownDescription为关闭服务时,对用户的提示。
9、【重要】本次更新框架文件有以下部分改动
1. 【替换文件】`router/dao/index.js`
2. 【替换文件】`router/dao/modules/userDao.js` (如有新增过方法,需要部分替换)
3. 【替换目录】`router/service/template`(替换整个目录)
10、【重要提示】暂不要升级 uni-id
至3.0
版本,框架正在适配uni-id 3.0
中!
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.6.6(2021-01-15)
更新内容
1、【升级】vk-unicloud
升级至 1.9.5
2、【升级】vk-unicloud-page
升级至 1.16.3
3、【优化】美化云函数请求过程中的日志排版
4、【优化】优化异常日志的打印
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.6.5(2021-01-15)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.9.4
2、【升级】vk-unicloud-page
升级至 1.16.2
3、【优化】美化云函数请求过程中的日志排版
4、【新增】returnUserInfo
中间件,现在当云函数修改了用户信息时,前端会自动更新用户信息缓存。
5、【新增】vk.localStorage
封装本地缓存的curd,同时具有监听缓存被更新和被删除的功能。点击查看用法
6、【新增】页面不存在时,自动跳转到404页面(404页面后面会新增模板)
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.6.4(2021-01-14)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.9.3
2、【升级】vk-unicloud-page
升级至 1.15.3
3、【修复】app.config.js
中checkTokenPages
配置可能会无效的BUG
4、【优化】用户注册成功也会返回userInfo
,且自动进行本地缓存。
5、【新增】vk.daoCenter.userDao
新增如下API 点击查看详情
/**
* 获取用户信息,根据id
*/
await vk.daoCenter.userDao.findById(user_id, util);
/**
* 获取用户信息,根据 userInfo
*/
// 如根据手机号
await vk.daoCenter.userDao.findByUserInfo({
mobile:"15200000001"
}, util);
// 如根据邮箱
await vk.daoCenter.userDao.findByUserInfo({
email:"123@qq.com"
}, util);
/**
* 根据手机号直接注册账号
* 若手机号已存在,则直接返回用户信息
*/
await vk.daoCenter.userDao.registerUserByMobile({
mobile:"15200000001"
}, util);
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.6.3(2021-01-11)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.9.2
2、【升级】vk-unicloud-page
升级至 1.15.1
3、【优化】middleware
中间件的匹配规则regExp
支持数组形式(满足数组内任意一条规则即可)
4、【修复】微信登陆
等API在云函数URL后,无法正常使用的问题。
5、【新增】vk.pubfn.arrayToTree
数组结构转树形结构(Array -> Tree)
6、【新增】vk.pubfn.treeToArray
树形结构转数组结构(Tree -> Array)点击查看详情
7、【新增】template.h5.html
用于配置H5的web图标
等功能
8、【新增】全局函数 $getData
可以在页面渲染时使用$getData(data, key, defaultValue) 即使key不存在,也不会报错。
原生写法: {{ order.paymentInfo.balance}
若order.paymentInfo 为 undefined,则会报如下异常:
Error in render: "TypeError: Cannot read property 'balance' of undefined"
使用 $getData 的写法: {{ $getData(order, "paymentInfo.balance") }}
此时,不会报异常,若指定 defaultValue ,则会渲染 defaultValue 的值
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.6.2(2021-01-08)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.9.1
2、【升级】vk-unicloud-page
升级至 1.14.1
3、【重要】router/service
目录下结构优化建议 点击查看
4、【优化】API vk.navigateTo
新增在跳转页面前判断是否需要登录的逻辑(自动处理)配置请看app.config.js
配置文件
5、【新增】项目根目录新增app.config.js
配置文件
建议页面跳转统一使用 vk.navigateTo(url);
1、vk.navigateTo可以直接跳转到tab页,而无需使用 uni.switchTab
2、vk.navigateTo可以“突破”小程序只能打开9个页面的限制
3、会在跳转页面前判断是否需要登录的逻辑,未登录会自动跳转登录页面,登录成功后再跳转到该页面。
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.6.1(2021-01-06)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.9.0
2、【升级】vk-unicloud-page
升级至 1.13.10
3、【重要】项目目录有重大调整。
1、新增 dao 目录,用于存放公共数据库API
2、新增 middleware 目录,用于存放中间件(过滤器)
4、【重要】router
根目录下index.js
和config.js
有较大变动,新版本需替换此文件。
5、【重要】原util/customFilterService
文件已删除,移至 middleware 目录
6、【重要】中间件目前支持以下模式
1、action执行前操作 如:检查是否有权限、请求前参数统一解码
简易示例在 router/middleware/modules/customFilter1.js
2、action执行后操作 如:统一将返回前的参数加密等等
简易示例在 router/middleware/modules/customFilter2.js
如有疑问,请加群:22466457 关于插件的问题包教包会!
你也可以在评论区发布留言交流心得。
1.6.0(2021-01-04)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【升级】支持 hbx 3.0.4
2、【优化】用户绑定、解绑:手机号、邮箱等操作将同步修改本地用户信息缓存。
3、【优化】SKU组件已更新,地址:点击查看
4、【重要】原components-dynamic
组件下的vk-u-goods-sku-popup
不再更新,后面会出一个新的UI组件库,此组件的最新版本也会被包含在内!
新的UI组件库为datacom:数据驱动式UI组件
,
什么是datacom?
datacom,全称是data components,数据驱动的组件。
这种组件也是vue组件,是一种子类,是基础组件的再封装。
相比于普通的vue组件,datacom组件的特点是,给它绑定一个data,data中包含一组候选数据,即可自动渲染出结果。
而像SKU这样的业务型数据驱动组件是更高一级的封装,它直接服务于业务需求,做到开箱即用!
datacom对于开发者的好处
datacom组件,对服务器数据规范、前端组件的数据输入和输出规范,做了定义。它提升了产业的标准化程度、细化了分工,提升了效率。
且不论产业影响,对开发者个人而言,显而易见的好处也很多:
更少的代码量。从前述的传统写法对比可见,使用datacom的前端页面,代码量可减少一半以上。
设计更加清晰。服务器端给符合规范的数据,然后接受选择的结果数据。中间的ui交互无需关心。
你也可以在评论区发布留言交流心得。
1.5.10(2020-12-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.8.13
2、【升级】vk-unicloud-page
升级至 1.13.8
3、【优化】以下时间函数均支持时区,完美解决云函数中的时区问题
/**
* 日期格式化
* @params {Date || Number} date 需要格式化的时间
* @params {Number} targetTimezone 时区 默认东8区
*/
vk.pubfn.timeFormat(new Date(),"yyyy-MM-dd hh:mm:ss",targetTimezone);
/**
* 获取时间范围
* @params {Date} date 日期对象 可以指定时间计算节点,默认使用当前时间进行计算
* @params {Number} targetTimezone 时区 默认东8区
* 返回数据如下:
{
todayStart 今日开始时间
todayEnd 今日结束时间
today12End 今日上午结束时间
monthStart 本月开始时间
monthEnd 本月结束时间
yearStart 本年开始时间
yearEnd 本年结束时间
weekStart 本周开始时间
weekEnd 本周结束时间
now 现在的时间点(含月年日时分秒)
months 本年度每月的开始和结束时间 months[1] 代表1月
}
*/
vk.pubfn.getCommonTime(new Date(),targetTimezone);
你也可以在评论区发布留言交流心得。
1.5.9(2020-12-19)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.8.11
2、【升级】vk-unicloud-page
升级至 1.12.8
3、【新增】以下JS API (前后端均可使用)
4、点击查看『更详细的JS API说明』
5、点击查看『全局 Vue 过滤器 API说明』
/**
* 将手机号,账号等隐藏中间字段
* @params {String} str 需要转换的字符串
* @params {Number} first 前面显示的字符数量
* @params {Number} last 后面显示的字符数量
*/
vk.pubfn.hidden(str, first, last);
/**
* 判断B常量数组是否至少有一个元素在A常量数组中存在(两数组有交集)
*/
vk.pubfn.checkArrayIntersection(arr1, arr2);
/**
* 获得相对当前周addWeekCount个周的起止日期
* @params {Number} addWeekCount 默认0 (0代表本周 为-1代表上周 为1代表下周以此类推 为2代表下下周)
*/
vk.pubfn.getWeekStartAndEnd();
/**
* 获取今日开始时间、今日结束时间、本月开始时间、本月结束时间、本年开始时间、本年结束时间、本周开始时间、本周结束时间
* 以及 现在的时间点(含月年日时分秒) 、本年度每月的开始和结束时间
* @params {Date} date 日期对象 可以指定时间计算节点,默认使用当前时间进行计算
*/
vk.pubfn.getCommonTime();
/**
* 从一个对象中取多个属性,并生成一个全新的对象
* @params {Object} obj 对象
* @params {Array<String>} keys 键名数组
*/
vk.pubfn.getNewObject(obj, keys);
/**
* 对象删除指定的字段,返回新的对象
* @params {Object} data 操作对象
* @params {Array<String>} deleteKeys 需要删除的键名(数组形式)
*/
vk.pubfn.deleteObjectKeys(data, deleteKeys);
你也可以在评论区发布留言交流心得。
1.5.8(2020-12-17)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】vk-unicloud
升级至 1.8.8
2、【新增】vk.baseDao.sample
从数据库随机获取 N 条数据
1.5.7(2020-12-04)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【优化】动态数据组件支持本地缓存(即第二次加载时,先渲染本地缓数据,若服务器数据与本地数据不一致,再渲染服务器数据)
2、【修复】发送邮件
功能异常的问题!
你也可以在评论区发布留言交流心得。
1.5.6(2020-12-03)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【升级】vk-unicloud
升级至1.8.6 修复云函数调用可能会报Cannot find module '@alicloud/pop-core'
错误的问题
【重要改动】vk-unicloud
的smsUtil
已独立出来,并移至util目录(因为部分用户不需要用到阿里云短信发送)
你也可以在评论区发布留言交流心得。
1.5.5(2020-12-03)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【优化】将components_dynamic
移至router/service/plugs
目录
【升级】vk-unicloud-page
升级至1.11.9
你也可以在评论区发布留言交流心得。
1.5.4(2020-11-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【升级】vk-unicloud-page
升级至1.11.8,移除了部分无用代码。
你也可以在评论区发布留言交流心得。
1.5.3(2020-11-16)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【升级】uni-id升级至2.0.3
重要调整:uni-id自2.0版本起 修改验证码表名为opendb-verify-codes(之前是uni-verify)
2、【升级】vk-unicloud升级至1.8.5
3、【优化】减少vk-unicloud
npm包大小,大大减少云函数上传时间(基本在10秒左右即可上传完成)。
注意:默认已移除以下npm包,若需要用到,请在cloudfunctions/router
目录下的package.json
的dependencies
中增加
"@alicloud/pop-core": "^1.7.9",
"form-data": "^3.0.0",
"nodemailer": "^6.4.11"
完整的"dependencies"
"dependencies": {
"config": "file:../common/config",
"uni-id": "file:../common/uni-id",
"vk-unicloud": "file:../common/vk-unicloud",
"@alicloud/pop-core": "^1.7.9",
"form-data": "^3.0.0",
"nodemailer": "^6.4.11"
},
你也可以在评论区发布留言交流心得。
1.5.2(2020-11-12)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
【升级】uni-id升级为1.1.16
你也可以在评论区发布留言交流心得。
1.5.1(2020-11-07)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
更新内容
1、【修复】云函数多表连接查询
时,副表设置了limit后,无法正常排序的问题。
2、【优化】前端token
拦截器,当前页面已在登录页面时的处理逻辑。
你也可以在评论区发布留言交流心得。
1.5.0(2020-11-05)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【优化】减少vk-unicloud
npm包大小,减少云函数上传时间。
2、【优化】去除vk-unicloud
的内部npm依赖并移至云函数根目录package.json
。
如不需要用到邮箱发送和阿里云短信发送,可自行移除以下npm依赖
nodemailer
@alicloud/pop-core
form-data
3、【优化】vk-unicloud
现在支持直接以公共模块的形式导入
4、【优化】去除vk-unicloud-page
的内部npm依赖并移至项目根目录package.json
。
5、【重要】本次更新将vk.require
移至云函数根目录下的index.js
请将下方代码添加至云函数根目录下的index.js
(否则会报编译错误的提示)
vk.require = function(path){
if(vk.requireCache && vk.requireCache[path]){
return vk.requireCache[path];
}else{
const requireItem = require(__dirname+"/"+path);
vk.requireCache[path] = requireItem;
return requireItem;
}
}
你也可以在评论区发布留言交流心得。
1.4.9(2020-10-30)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【优化】API vk.callFunctionUtil.updateRequestGlobalParam
支持正则匹配, 用于设置全局公共请求参数(即每次请求云函数都会额外带上这些参数)
2、【新增】API vk.callFunctionUtil.deleteRequestGlobalParam
删除全局公共请求参数
你也可以在评论区发布留言交流心得。
1.4.8(2020-10-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
【重要】更新内容
1、【新增】支持自定义过滤器。(在业务云函数执行之前,统一拦截,进行过滤后再放行,支持设置多个过滤器,并按指定顺序执行)
自定义过滤器支持正则匹配请求路径。
自定义过滤器支持层级 越小越先执行
框架内置以下过滤器:(无需配置,已自动生效,编写同ID的过滤器可以覆盖内置过滤器)
过滤器ID | 正则规则 | 层级 | 说明 |
---|---|---|---|
pub | /pub/ | 100 | 所有人都可以访问,不进行过滤 |
kh | /kh/ | 200 | 用户token过滤器,检测用户是否已登录 |
sys | /sys/ | 300 | 云函数层的权限过滤器,检测用户是否有此业务云函数的执行权限 |
2、【新增】业务云函数内置变量 filterResponse
可获得所有过滤器的应答结果(支持返回自定义数据)
自定义过滤器使用场景1 - 电商多店店铺管理系统后台
1、使用自定义过滤器拦截当前登录用户
2、检查该用户是否有权限操作该店铺
3、如有权限,则同时将店铺信息直接回传给业务云函数
4、在业务云函数的内置变量 `filterResponse` 中可直接获得当前操作的店铺的信息
3、【优化】vk.baseDao.select
大大提升一次性获取上万条数据时的查询速度。
4、【升级】uni-id版本 1.1.14
如有问题或建议可以在群内讨论。
你也可以在评论区发布留言交流心得。
1.4.7(2020-10-26)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【新增】API vk.callFunctionUtil.updateRequestGlobalParam
用于设置全局公共请求参数(即每次请求云函数都会额外带上这些参数)
如: 多店系统中,每次请求都要带上shop_id
,就可以将 shop_id
设置为全局请求参数。设置后,就不需要在每个请求中手动传 shop_id
了。
你也可以在评论区发布留言交流心得。
1.4.6(2020-10-23)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【优化】vk.userCenter.setAvatar
增加参数deleteOldFile
为 true
时 上传新头像会自动删除旧头像的云储存文件
2、【优化】对 Vuex
进行了深度封装(支持持久化),现在可以很方便的使用Vuex进行读取和储存。(选择性集成,不影响插件使用)(详见演示页面pages_template/vuex/vuex
)
你也可以在评论区发布留言交流心得。
1.4.5(2020-10-21)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容 针对1.4.4的演示页面重新优化了下。
1、【优化】vk.callFunctionUtil.uploadFile
上传文件到unicloud云存储API /pages_template/uni-id/util/util
下有使用示例
2、【新增】/pages_template/uni-id/util/util
页面下的上传文件使用示例
3、【新增】集成了 Vuex
做全局状态管理(选择性集成,不影响插件使用)(详情请见根目录下的store
目录)
4、【优化】Vuex演示页面 pages_template/vuex/vuex
你也可以在评论区发布留言交流心得。
1.4.4(2020-10-21)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【优化】vk.callFunctionUtil.uploadFile
上传文件到unicloud云存储API /pages_template/uni-id/util/util
下有使用示例
2、【新增】/pages_template/uni-id/util/util
页面下的上传文件使用示例
3、【新增】集成了 Vuex
做全局状态管理(选择性集成,不影响插件使用)(详情请见根目录下的store
目录)
4、【新增】Vuex演示页面 pages_template/vuex/vuex
5、【升级】升级部分npm包
你也可以在评论区发布留言交流心得。
1.4.3(2020-10-15)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【新增】全网首家云函数临时缓存功能(数据储存在内存中,不依赖云数据库,也不依赖redis等缓存数据库)
// 以下代码仅限在云函数中执行
// 缓存 - 获取
let value = vk.temporaryCache.get(key);
// 缓存 - 保存
vk.temporaryCache.set(key, value, second);
// 缓存 - 删除
vk.temporaryCache.del(key);
// 缓存 - 清空
vk.temporaryCache.clear(key);
// 缓存 - 获取所有缓存
let valueObject = vk.temporaryCache.getAll();
2、【修复】1.4.2版本 APP端可能调用云函数不触发回调函数的问题。
3、【升级】uni-id版本 1.1.13
云函数临时缓存体验地址
你也可以在评论区发布留言交流心得。
1.4.2(2020-10-10)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
【优化】vk.require() 新增缓存功能,在不同模块中vk.require()同一路径文件,直接取缓存(减少读取文件的次数)
你也可以在评论区发布留言交流心得。
1.4.1(2020-10-08)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【重要】【优化】将路由功能的代码移植到npm包中,简化主函数入口的代码量。同时方便插件使用者更新新版插件。
2、【优化】优化select查询的速度
3、【新增】前端token默认拦截器,(拦截到token失效后,自动跳转到登录页面,登录成功后,自动返回之前所在页面)(当在main.js
中配置了自定义token拦截器时,默认拦截器会失效)
你也可以在评论区发布留言交流心得。
1.3.12(2020-09-30)
1.1.11
版本更新说明中,time
秒中的time
的单位为毫秒
。1000 = 1秒
1.3.11(2020-09-30)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【升级】uni-id
版本为 1.1.11
2、【新增】vk.pubfn.debounce(fn, time)
防抖函数,主要用于使fn函数连续被点击的情况下(前后点击间隔在time秒内)只能执行一次(如提交表单)
3、【新增】vk.pubfn.throttle(fn, time)
节流函数,主要用于使fn函数time秒内只能执行一次(如监听滚动条事件)
你也可以在评论区发布留言交流心得。
1.3.10(2020-09-28)
更新内容
【优化】vk.callFunction 函数使之支持 callback
、promise
、async/await
方式调用。
1.3.9(2020-09-27)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【优化】将动态数据组件npm包vk-unicloud-dynamic-components
合并到vk-unicloud-page
包中(进行统一)
注意:需要修改pages.json
文件中的
"^vk-u-(.*)": "vk-unicloud-dynamic-components/components/vk-u-$1/vk-u-$1.vue"
修改为
"^vk-u-(.*)": "vk-unicloud-page/components/vk-u-$1/vk-u-$1.vue"
否则会报找不到组件的错误
2、【优化】token拦截器,拦截到用户未登录则自动跳转登录页面,登录成功后返回到原页面再自动执行未请求完成的云函数。
你也可以在评论区发布留言交流心得。
1.3.8(2020-09-26)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【新增】电商商品SKU选择器组件(打造uni插件市场功能最全的SKU选择器组件)
点击查看『商品SKU选择器组件』文档
2、【优化】文档优化,详细文档地址(持续优化中)点击查看插件文档
你也可以在评论区发布留言交流心得。
1.3.7(2020-09-25)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【升级】uni-id 升级为 1.1.9
2、【新增】token在快过期时,请求接口能自动刷新token
3、【预告】电商商品SKU选择器组件(打造uni插件市场功能最全的SKU选择器组件)
本次升级将会改动router目录下的index.js等文件,请前往gitee查看文件变动列表
你也可以在评论区发布留言交流心得。
1.3.6(2020-09-21)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
【新增】10个实用的js函数(前后端均可用以下方式调用)
// 自动根据字符串路径获取对象中的值支持.和[] , 且任意一个值为undefined时,不会报错,会直接返回undefined
vk.pubfn.getData(dataObj,"a.b.c[1]");
// 自动根据字符串路径设置对象中的值 支持.和[]
vk.pubfn.setData(dataObj, "a.b.c[1]", "aa");
// 检测参数是否有值 其中 undefined、null、{}、[]、"" 均为false
vk.pubfn.isNull(value);
// 检测参数是否无值 结果与 vk.pubfn.isNull 相反
vk.pubfn.isNotNull(value);
// 检测所有参数 - 是否至少有一个为空
vk.pubfn.isNullOne(value1,value2,value3,...);
// 检测所有参数 - 是否全部为空
vk.pubfn.isNullAll(value1,value2,value3,...);
// 检测所有参数 - 是否全部都不为空
vk.pubfn.isNotNullAll(value1,value2,value3,...);
// 获取对象数组中的某一个item,根据指定的键值
vk.pubfn.getListItem(list, key, value);
// 产生指定位数的随机数(支持任意字符,默认纯数字)
vk.pubfn.random(6);
vk.pubfn.random(6,"abcdefghijklmnopqrstuvwxyz0123456789");
// 日期对象转字符串 两种格式 2020-09-19 10:10:10 和 20200919101010
vk.pubfn.getFullTime(date);
你也可以在评论区发布留言交流心得。
1.3.5(2020-09-16)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【新增】支持阿里云
短信发送(阿里云短信服务
开通方法请前往阿里云官网
或在群内提问
);
2、【优化】验证码发送组件 vk-u-verification-code
组件 已支持阿里云短信发送
;
3、【新增】uni-id
账号注册/密码找回支持阿里云短信发送
;
发送阿里云短信示例
let result = await vk.pubfn.smsUtil.sendSmsByAliyun({
data : {
"PhoneNumbers": "", // 发送的手机号,多个手机号用英文的,号隔开
"TemplateCode": "", // 阿里云验证码模版号
"TemplateParam": { // 模版中的变量的值
"code": "123456",
}
}
}, event.util);
你也可以在评论区发布留言交流心得。
1.3.4(2020-09-14)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【优化】将演示页面移至分包pages_template
目录中,不占用主包大小。
2、【优化】为了方便新手快速上手此框架,写一个简单的演示页面(pages/test/test
)
为了符合uniapp官方规范,你自己写的页面均写在pages
目录下 故此pages/test/test
页面未移至pages_template
目录
3、【新增】登录/注册/找回密码模板中的发送验证码组件vk-u-verification-code
。
注意:若提示找不到vk-u-verification-code
组件,请删除node_modules
目录重新npm i vk-unicloud-page
你也可以在评论区发布留言交流心得。
1.3.3(2020-09-11)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
gitee公共仓库地址:https://gitee.com/vk-uni/vk-uni-cloud-router.git
更新内容
1、【新增】登录/注册/密码找回页面模板(前后端一体模板)
2、【新增】用户登录日志
3、【优化】云函数端vk
依赖中内置的公共函数统一使用vk.pubfn
调用(与前端调用方式一致)
同时router/util/pubFunction.js
现为你自己的全局公共函数(vk
依赖的公共函数已移至vk.pubfn
)
4、【新增】前端新增vk.navigateTo
vk.redirectTo
vk.reLaunch
vk.switchTab
vk.navigateBack
同时vk.navigateTo
支持跳转tab
页,且当超过最大页面栈时,自动使用redirectTo
方式访问页面(支持vk.navigateTo("../../login/login")
方式调用)
你也可以在评论区发布留言交流心得。
1.3.2(2020-09-02)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.3.2 更新内容
1、【优化】数据库双表连接API vk.baseDao.select2
目前支持两种形式的连表查询(基本上可以满足99%以上的连表业务需求,如有目前不支持的需求,可在群里提出)
形式1、many-to-one
多对一 或 一对一 形式
let res = await vk.baseDao.select2({
dbName:"vk-test", // 主表名
dbName2:"uni-id-users", // 副表名
foreignKeyType:"many-to-one", // one-to-many 一对多 many-to-one 多对一
foreignKey:"kehuid", // 主表外键字段名
foreignKey2:"_id", // 副表外键字段名
as:"kehuInfo", // 副表数据插入到主表的字段名
pageKey:true, // 是否分页(会返回count和hasMore)
pageIndex:1, // 当前第几页
pageSize:10, // 每页显示数据
whereJson:{ // 主表where条件
},
whereJson2:{ // 副表where条件
nickname : "测试客户1"
},
fieldJson:{ // 主表字段显示规则
},
fieldJson2:{ // 副表字段显示规则
token : false,
password : false
},
sortArr:[ // 排序规则
{
"name":"money",
"type":"desc"
}
]
}, event.util);
最终返回
{
"rows": [{ // 数据
"_id": "001",
...
"kehuInfo": {...} // 这里返回是一条副表记录
}],
"hasMore": false, // 是否还有下一页
"total": 1, // 总记录数量
"key": 1,
"code": 0
}
形式2、one-to-many
一对多 或 多对多 形式
let res = await vk.baseDao.select2({
dbName:"uni-id-users", // 主表名
dbName2:"vk-test", // 副表名
foreignKeyType:"one-to-many", // one-to-many 一对多 many-to-one 多对一
foreignKey:"_id", // 主表外键字段名
foreignKey2:"kehuid", // 副表外键字段名
as:"kehuInfo", // 副表数据插入到主表的字段名
pageKey:true, // 是否分页(会返回count和hasMore)
pageIndex:1, // 当前第几页
pageSize:10, // 每页显示数据
fieldJson:{ // 主表字段显示规则
token:false,
password:false,
},
fieldJson2:{ // 副表字段显示规则
},
whereJson:{ // 主表where条件
},
whereJson2:{ // 副表where条件
money:1
},
sortArr:[ // 排序规则
{
"name":"money",
"type":"desc"
}
]
}, event.util);
最终返回
{
"rows": [{ // 数据
"_id": "001",
...
"kehuInfo": [{...}] // 这里返回是副表记录数组(可以多条)
}],
"hasMore": false, // 是否还有下一页
"total": 1, // 总记录数量
"key": 1,
"code": 0
}
1.3.2 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【npm】cloudfunctions/router 目录执行 npm i vk-unicloud 如果失败,则再执行一次
2、【替换】router/service/db_test 目录所有文件
3、【上传部署】router
你也可以在评论区发布留言交流心得。
1.3.1(2020-08-31)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.3.1 更新内容
1、vk-u-notice-bar
uniCloud
动态数据组件 - 公告
可快速实现滚动公告的业务需求
且公告内容获取于uniCloud的数据库中
修改数据库的内容,即可修改公告
2、vk-u-swiper
uniCloud
动态数据组件 - 图片轮播
可快速实现banner的业务需求
且图片和文案均储存在uniCloud的数据库中
修改数据库的内容,即可修改banner,同时还可以修改banner的样式。
3、vk-u-grid-button
uniCloud
动态数据组件 - 图文导航(宫格按钮)
可快速实现图文导航的业务需求
且图片和文案均储存在uniCloud的数据库中
修改数据库的内容,即可修改图文导航,同时还可以修改样式和点击事件。
前后端一体动态数据组件优势:
1、减少APP或小程序的审核次数,页面组件局部更新不需要重新发布小程序,且实时生效。
2、方便维护,只需要修改数据库对应的组件数据即可达到修改页面的目的。
3、是支持可视化装修页面的必备能力。
动态数据组件体验地址
插件首页体验地址
1.3.1 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【npm】cloudfunctions/router 目录执行 npm i vk-unicloud 如果失败,则再执行一次
2、【替换】router/service/components_dynamic 目录所有文件
3、【上传部署】router
前端(客户端)更新步骤
1、【npm】在项目根目录执行命令 npm i vk-unicloud-page (如果失败,则再执行一次)
2、【npm】在项目根目录执行命令 npm i vk-unicloud-dynamic-components (如果失败,则再执行一次)
2、【替换】pages/components-dynamic 目录所有文件(此为示例文件)
3、【替换】pages/uni-id 目录所有文件(此为示例文件)
pages.json
配置easycom规则(按需引入)
// pages.json
{
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue",
"^vk-u-(.*)": "vk-unicloud-dynamic-components/components/vk-u-$1/vk-u-$1.vue"
},
"pages": [
// ...... 此为本身已有的内容
{
"path": "pages/components-dynamic/index/index",
"style": {
"navigationBarTitleText": "动态数据组件"
}
},
{
"path": "pages/components-dynamic/vk-u-notice-bar/vk-u-notice-bar",
"style": {
"navigationBarTitleText": "动态数据组件 - 公告"
}
},
{
"path": "pages/components-dynamic/vk-u-swiper/vk-u-swiper",
"style": {
"navigationBarTitleText": "动态数据组件 - 图片轮播"
}
},
{
"path": "pages/components-dynamic/vk-u-grid-button/vk-u-grid-button",
"style": {
"navigationBarTitleText": "动态数据组件 - 图文导航"
}
}
]
}
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.3.0(2020-08-29)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.3.0 更新内容
1、【升级】uni-id
版本为1.1.4 (需要打包成小程序才能体验)
// 获取微信openid
vk.userCenter.code2SessionWeixin({
success:function(data){
vk.alert(JSON.stringify(data));
},
});
// 获取支付宝openid
vk.userCenter.code2SessionAlipay({
success:function(data){
vk.alert(JSON.stringify(data));
},
});
2、【新增】vk-u-grid-button
uniCloud
动态数据组件 - 图文导航(宫格按钮)
动态数据组件体验地址
插件首页体验地址
1.3.0 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【替换】替换 common 目录下的 uni-id 目录 并上传此公共模块
2、【npm】cloudfunctions/router 目录执行 npm i vk-unicloud 如果失败,则再执行一次
3、【替换】router/service/components_dynamic 目录所有文件
4、【替换】router/service/user 目录所有文件
5、【上传部署】router
前端(客户端)更新步骤
1、【npm】在项目根目录执行命令 npm i vk-unicloud-page (如果失败,则再执行一次)
2、【npm】在项目根目录执行命令 npm i vk-unicloud-dynamic-components (如果失败,则再执行一次)
2、【替换】pages/components-dynamic 目录所有文件(此为示例文件)
3、【替换】pages/uni-id 目录所有文件(此为示例文件)
pages.json
配置easycom规则(按需引入)
// pages.json
{
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue",
"^vk-u-(.*)": "vk-unicloud-dynamic-components/components/vk-u-$1/vk-u-$1.vue"
},
"pages": [
// ...... 此为本身已有的内容
{
"path": "pages/components-dynamic/index/index",
"style": {
"navigationBarTitleText": "动态数据组件"
}
},
{
"path": "pages/components-dynamic/vk-u-notice-bar/vk-u-notice-bar",
"style": {
"navigationBarTitleText": "动态数据组件 - 公告"
}
},
{
"path": "pages/components-dynamic/vk-u-swiper/vk-u-swiper",
"style": {
"navigationBarTitleText": "动态数据组件 - 图片轮播"
}
},
{
"path": "pages/components-dynamic/vk-u-grid-button/vk-u-grid-button",
"style": {
"navigationBarTitleText": "动态数据组件 - 图文导航"
}
}
]
}
你也可以在评论区发布留言交流心得。
1.2.9(2020-08-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.9 更新内容
1、【新增】vk-u-notice-bar
uniCloud
动态数据组件 - 公告
2、【新增】vk-u-swiper
uniCloud
动态数据组件 - 图片轮播
前后端一体动态数据组件优势:
1、减少APP或小程序的审核次数,页面组件局部更新不需要重新发布小程序,且实时生效。
2、方便维护,只需要修改数据库对应的组件数据即可达到修改页面的目的。
3、是支持可视化装修页面的必备能力。
动态数据组件体验地址
列表渲染模板体验地址
插件首页体验地址
1.2.9 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【npm】cloudfunctions/router 目录执行 npm i vk-unicloud 如果失败,则再执行一次
2、【新增】router/service/components_dynamic 目录所有文件
3、【替换】router/service/db_test 目录所有文件
4、【上传部署】router
前端(客户端)更新步骤
1、【npm】在项目根目录执行命令 npm i vk-unicloud-page 如果失败,则再执行一次
2、【新增】pages/components-dynamic 目录所有文件(此为示例文件)
3、【新增】pages/uni-id 目录所有文件(此为示例文件)
4、【替换】pages/db-test 目录所有文件(此为示例文件)
pages.json
配置easycom规则(按需引入)
// pages.json
{
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue",
"^vk-u-(.*)": "vk-unicloud-dynamic-components/components/vk-u-$1/vk-u-$1.vue"
},
"pages": [
// ...... 此为本身已有的内容
{
"path": "pages/components-dynamic/index/index",
"style": {
"navigationBarTitleText": "动态数据组件"
}
},
{
"path": "pages/components-dynamic/vk-u-notice-bar/vk-u-notice-bar",
"style": {
"navigationBarTitleText": "动态数据组件 - 公告"
}
},
{
"path": "pages/components-dynamic/vk-u-swiper/vk-u-swiper",
"style": {
"navigationBarTitleText": "动态数据组件 - 图片轮播"
}
}
]
}
你也可以在评论区发布留言交流心得。
1.2.8(2020-08-28)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.8 更新内容
1、补充一下1.2.7
新增的列表渲染
前后端一体模板 pages/db-test/list/list
使用说明
核心点:前端只需要更改 url 和 v-for循环内的样式即可快速开发一个列表渲染功能
首先效果页面访问地址:
列表渲染体验地址
插件首页体验地址
客户端(前端)功能介绍:(页面路径:pages/db-test/list/list
)
若无数据,需要先执行添加测试数据的函数(页面路径:pages/db-test/db-test
)
1、列表数据分页获取
2、无数据时的额外显示(显示空内容组件)
3、搜索功能
4、下拉底部加载下一页
5、加载过程底部状态提示 (加载更多、正在加载、没有更多了)
(熟练后只需要5分钟即可开发一个钱包余额收支列表功能(其中4分钟时间还是用在写样式上))
export default {
data() {
// 页面数据变量
return {
url:"db_test/pub/getList", // 获取list数据的云函数请求路径
...其他
}
}
...其他
}
云函数端(后端)功能介绍:(云函数路径:db_test/pub/getList
)
1、根据where条件获取对应的数据表的数据(支持分页、排序、字段筛选、双表连接等)
云函数最终返回的数据格式为:
{
code: 0, // 0 成功 其他:失败
hasMore: true, // 是否还有下一页
pageIndex: 1, // 当前第几页
pageSize: 10, // 每页获取的数量
rows: [{_id: "5f44680d3228ad0001b1ec1a", money: 5, kehuid: "001",…},…], // list数据
total: 30 // 数据库符合条件的共有多少条数据
}
开发一个列表渲染就是这么简单
预告:
会陆续新增一些 集成了uview-ui
的前后端一体动态数据组件
如: 公告组件 图片轮播组件 等
前后端一体动态数据组件优势:
1、减少APP或小程序的审核次数,页面组件局部更新不需要重新发布小程序,且实时生效。
2、方便维护,只需要修改数据库对应的组件数据即可达到修改页面的目的。
3、是支持可视化装修页面的必备能力。
你也可以在评论区发布留言交流心得。
1.2.7(2020-08-27)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.7 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【替换】替换 common 目录下的 uni-id 目录 并上传此公共模块(如果你现在的版本大于等于1.2.5,则无需替换)
2、【npm】cloudfunctions/router 目录执行 npm i vk-unicloud 如果失败,则再执行一次
2、【替换】router/service/user 目录所有文件
3、【替换】router/service/db_test 目录所有文件
4、【替换】router/service/util/pubFunction 文件
5、【上传部署】router
前端(客户端)更新步骤
1、【npm】在项目根目录执行命令 npm i vk-unicloud-page 如果失败,则再执行一次
2、【替换】pages/db-test 目录所有文件(此为示例文件)
3、【集成】uview-ui 框架 (这里感谢uview-ui的作者)
集成 uview-ui 安装步骤
# npm方式安装
npm i uview-ui
-
main.js
引入uView库// main.js import uView from 'uview-ui'; Vue.use(uView);
-
App.vue
引入基础样式(注意style标签需声明scss属性支持)重要:style标签需声明scss属性支持
/* App.vue */ <style lang="scss"> @import "uview-ui/index.scss"; </style>
-
uni.scss
引入全局scss变量文件/* uni.scss */ @import "uview-ui/theme.scss";
-
pages.json
配置easycom规则(按需引入)
// pages.json
{
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
// 此为本身已有的内容
"pages": [
// ......
]
}
1.2.7 更新内容
1、【新增】集成了 uview-ui
UI框架
2、【新增】列表渲染
前后端一体模板 pages/db-test/list/list
预告:
会陆续新增一些 集成了uview-ui
的前后端一体动态数据组件
如: 公告组件 图片轮播组件 等
前后端一体动态数据组件优势:
1、减少APP或小程序的审核次数,页面组件局部更新不需要重新发布小程序,且实时生效。
2、方便维护,只需要修改数据库对应的组件数据即可达到修改页面的目的。
3、是支持可视化装修页面的必备能力。
你也可以在评论区发布留言交流心得。
1.2.6(2020-08-24)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.6 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【替换】替换 common 目录下的 uni-id 目录 并上传此公共模块(如果你现在的版本是1.2.5,则无需替换)
2、【替换】router/service/user目录所有文件
3、【替换】router/service/util/pubFunction 文件
4、【上传部署】router
前端(客户端)更新步骤
1、【npm】在项目根目录执行命令 npm i vk-unicloud-page 如果失败,则再执行一次
2、【替换】pages/uni-id 目录所有文件(此为示例文件)(如果你现在的版本是1.2.5,则无需替换)
1.2.6 更新内容
1、【新增】公共函数
后端:
/**
* 检查文本类型是否符合指定规则
* @description 主要用于表单字段规则检查等场景
* @params {String} str 需要检查的文本
* @params {String} type 需要检查的文本类型
*/
pubfn.checkStr(str,type);
前端:
/**
* 检查文本类型是否符合指定规则
* @description 主要用于表单字段规则检查等场景
* @params {String} str 需要检查的文本
* @params {String} type 需要检查的文本类型
*/
this.vk.pubfn.checkStr(str,type);
/**
* 将大数字转中文
* @description 主要用于展示浏览量等不需要非常精确显示的场景
* 如:
* 3210 -> 3千
* 31210 -> 3万
* 1523412 -> 1百万
* 15234120 ->1千万
* @params {Number} n 需要转换的数字
*/
this.vk.pubfn.numStr(n);
/**
* 将时间显示成1秒前、1天前
* @description 主要用于 文章最后回复时间: 1分钟前
* @params {String || Number} startTime 需要计算的时间 如文章最后回复时间
*/
this.vk.pubfn.dateDiff(startTime);
/**
* 日期对象转字符串
* @description 最终转成 2020-08-01 12:12:12
* @params {Date || Number} date 需要转换的时间
* date参数支持
* 支持:时间戳
* 支持:2020-08
* 支持:2020-08-24
* 支持:2020-08-24 12
* 支持:2020-08-24 12:12
* 支持:2020-08-24 12:12:12
*/
this.vk.pubfn.getFullTime(date);
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.2.5(2020-08-21)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.5 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【替换】替换 common 目录下的 uni-id 目录 并上传此公共模块
2、【替换】router/service/user目录所有文件
3、【上传部署】router
前端(客户端)更新步骤
1、【npm】在项目根目录执行命令 npm i vk-unicloud-page 如果失败,则再执行一次
2、【替换】pages/uni-id 目录所有文件(此为示例文件)
1.2.5 更新内容(为1.2.4版本优化)
1、【升级】uni-id
为1.1.3
2、支持裂变(分销)
3、新增手机 + 验证码 进行找回密码
自1.1.2版本起uni-id
支持裂变功能,目前仅适用手机号+验证码方式注册可以填写邀请码(inviteCode)接受邀请。
在common/config/index.js
内配置了autoSetInviteCode: true
则在用户注册时会自动给设置不重复的6位邀请码,如果不希望使用自动设置的邀请码可以自行传入myInviteCode参数来设置邀请码,需要注意的是要保证邀请码唯一。
在common/config/index.js
内配置了forceInviteCode: true
则只有使用邀请码才可以注册(仅手机号+验证码注册方式支持)。
针对之前使用了旧版本(不支持裂变)的uni-id,现在想增加裂变功能,可以调用etUserInviteCode
接口给已注册用户设置邀请码。
如果希望用户注册完成之后再填写邀请人的邀请码,可以调用acceptInvite
接口来使用户接受邀请。
{
"uni":{
....
"autoSetInviteCode": true,
"forceInviteCode": false,
...
}
}
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.2.4(2020-08-21)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.4 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【替换】替换 common 目录下的 uni-id 目录 并上传此公共模块
2、【替换】router/service/user目录所有文件
3、【上传部署】router
前端(客户端)更新步骤
1、【npm】在项目根目录执行命令 npm i vk-unicloud-page 如果失败,则再执行一次
2、【替换】pages/uni-id 目录所有文件(此为示例文件)
1.2.4 更新内容
1、【升级】uni-id
为1.1.3
2、支持裂变(分销)
自1.1.2版本起uni-id
支持裂变功能,目前仅适用手机号+验证码方式注册可以填写邀请码(inviteCode)接受邀请。
在common/config/index.js
内配置了autoSetInviteCode: true
则在用户注册时会自动给设置不重复的6位邀请码,如果不希望使用自动设置的邀请码可以自行传入myInviteCode参数来设置邀请码,需要注意的是要保证邀请码唯一。
在common/config/index.js
内配置了forceInviteCode: true
则只有使用邀请码才可以注册(仅手机号+验证码注册方式支持)。
针对之前使用了旧版本(不支持裂变)的uni-id,现在想增加裂变功能,可以调用etUserInviteCode
接口给已注册用户设置邀请码。
如果希望用户注册完成之后再填写邀请人的邀请码,可以调用acceptInvite
接口来使用户接受邀请。
{
"uni":{
....
"autoSetInviteCode": true,
"forceInviteCode": false,
...
}
}
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.2.3(2020-08-19)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.3 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
本次更新只更新了文档说明
1.2.3 更新内容
1、【新增】vk.baseDao
数据库API文档
调用示例在router/service/db_test/pub/
目录下
演示页面在pages/db-test/db-test
vk.baseDao
数据库API部分调用示例展示
增
let id = await vk.baseDao.add({
dbName:"vk-test",// 表名
dataJson:{ // 需要新增的数据 json格式
money: Math.floor(Math.random() * 9 + 1)
}
},event.util);
删
let num = await vk.baseDao.del({
dbName:"vk-test",// 表名
whereJson:{ // 条件
money:1
}
},event.util);
改
let num = await vk.baseDao.update({
dbName:"vk-test", // 表名
whereJson:{ // 条件
_id:"5f3a14823d11c6000106ff5c",
money:_.gt(0)
},
dataJson:{ // 需要修改的数据
money:_.inc(-1)
}
},event.util);
查
根据id获取单条记录
let item = await vk.baseDao.findById({
dbName:"vk-test",// 表名
id:"5f3a125b3d11c6000106d338" // id
},event.util);
根据条件获取单条记录
res.item = await vk.baseDao.findByWhereJson({
dbName:"vk-test",// 表名
whereJson:{ // 条件
_id:"5f3a125b3d11c6000106d338",
}
},event.util);
分页查询多条数据
let res = await vk.baseDao.select({
dbName:"vk-test", // 表名
pageKey:true, // 是否分页
pageIndex:1, // 当前第几页
pageSize:20, // 每页条数
whereJson:{ // 条件
money:_.gte(0) // 金额大于0
},
}, event.util);
获取记录总条数
let num = await vk.baseDao.count({
dbName:"vk-test",// 表名
whereJson:{ // 条件
}
},event.util);
sum求和
let sum = await vk.baseDao.sum({
dbName:"vk-test", // 表名
fieldName:"money", // 需要求和的字段名
whereJson:{ // 条件
}
},event.util);
连表查询
let res = await vk.baseDao.select2({
dbName:"vk-test", // 主表名
dbName2:"uni-id-users", // 副表名
foreignKey:"kehuid", // 主表用于和副表连接的外键字段名
foreignKey2:"_id", // 副表用于和主表连接的外键字段名
as:"kehuInfo", // 副表信息插入到主表里的字段名称,如果输入记录中本来就已有该字段,则该字段会被覆写
pageKey:true, // 是否分页
pageIndex:1, // 当前第几页
pageSize:10, // 每页显示数量
whereJson:{ // 主表筛选条件
},
whereJson2:{ // 副表筛选条件
},
fieldJson:{ // 主表字段显示规则
},
fieldJson2:{ // 副表字段显示规则
token:false,
password:false,
}
}, event.util);
...更多其他可以下载插件体验
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.2.2(2020-08-18)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.2 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【新增】在router目录执行 npm i vk-unicloud 安装vk-unicloud依赖
2、【替换】router目录下的index.js文件
3、【新增】router/service/db_test目录所有文件
3、【上传部署】router
前端(客户端)更新步骤
1、【新增测试页面】pages/db-test/db-test
1.2.2 更新内容
1、【重要】【新增】小白也能更容易上手的数据库调用工具包vk.baseDao
在router/service/db_test目录查看调用方法
在页面pages/db-test/db-test体验
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.2.1(2020-08-17)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.1 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、【替换】router\util目录下的pubFunction.js文件
2、【新增】router\util\function目录
1.2.1 更新内容
1、【优化】全面支持http请求中的GET
、POST
、PUT
、DELETE
2、【新增】云函数后端的表单验证(同前端的Vue表单验证规则一样)
3、【修复】1.2.0版本调用测试云函数会提示错误的bug
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.2.0(2020-08-17)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
1.2.0 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、替换router\util目录下的pubFunction.js文件
1.2.0 更新内容
1、全面支持http请求中的GET
、POST
、PUT
、DELETE
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.1.9(2020-08-12)
uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。
你也可以在评论区发布留言交流心得。
1.1.8(2020-08-06)
应网友要求,Q群:22466457 如有问题或建议可以在群内讨论。
1.1.8 更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、升级common目录下的公共模块
1.1、替换common目录下的uni-id公共模块为最新版本插件内的uni-id,并上传(右键common下的uni-id目录,点击上传公共模块)
2、公共模块`config`新增配置:`bindTokenToDevice`
1.1.8 更新内容
1、uni-id
升级至1.1.1
2、公共模块config
新增配置:bindTokenToDevice
,用以控制是否将token与ua绑定,设置为false可解决本地运行云函数的token验证问题
"uni":{
"passwordSecret": "passwordSecret",
"tokenSecret": "tokenSecret",
"tokenExpiresIn": 7200,
"passwordErrorLimit": 6,
"passwordErrorRetryTime": 3600,
"bindTokenToDevice": false,
"app-plus": {
}
}
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
你也可以在评论区发布留言交流心得。
1.1.7(2020-08-02)
1.1.7 更新内容
1、uni-id
新增邮箱真实发送验证码功能(可在页面示例中查看调用方法)
2、common
新增全局配置公共模块config
,将uni-id
的配置和邮件发送
的配置独立出来(后面新增的其他功能的配置信息均在此处配置)
3、配置QQ邮箱教程
1、登录QQ邮箱
2、`邮箱首页` | `设置` - `换肤` 的设置
3、点击`常规``帐户``换肤`中的`帐户`
4、POP3/SMTP服务 点击开启
5、复制授权码
6、粘贴到`common`目录的`config`模块下的
"vk":{
"service": {
"email": {
"qq": {
"host": "smtp.qq.com",
"port": 465,
"secure": true,
"auth": {
"user": "你的邮箱@qq.com",
"pass": "邮箱授权码"
}
}
}
}
}
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, config, pubFun, db, _ } = util;
let { uid } = data;
let res = { code : -1, msg : '' };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
本插件更新步骤
如果已经在插件的基础上进行开发了,则更新可按下面的步骤进行,否则直接下载并使用新版本插件即可。
后端(云函数端)更新步骤
打开 cloudfunctions
目录
1、升级common目录下的公共模块
1.1、替换common目录下的uni-id公共模块为最新版本插件内的uni-id,并上传(右键common下的uni-id目录,点击上传公共模块)
2、替换文件
替换router目录下的index.js文件
替换router目录下的user目录
替换router目录下的util目录下的checkIsLogin.js文件
替换router目录下的util目录下的pubFunction.js文件
3、上传云函数router(右键router目录,上传部署)
注意:上传前检查npm包是否已加载
目前使用的npm有:
.1、npm i ../common/uni-id
.2、npm i ../common/config
.3、npm i nodemailer
前端(页面端)更新步骤
在你的项目根目录执行npm命令:npm i vk-unicloud-page 进行安装
npm
方式安装npm i vk-unicloud-page (若提示失败,再执行一次该命令即可)
1.1.6(2020-07-29)
1.升级uni-id 为1.1.0版本 2.每个kh类型(需要登录才能访问的)函数,可直接获得userInfo(当前登录用户的信息),且自动屏蔽了token和password两个字段。
1.1.5(2020-07-29)
1.升级uni-id 为1.1.0版本
2.每个kh类型(需要登录才能访问的)函数,可直接获得userInfo(当前登录用户的信息),且自动屏蔽了token和password两个字段。
云函数service模板文件示例
module.exports = {
/**
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, pubFun, db, _ } = util;
let { uid } = data;
let res = {code : -1, msg : ''};
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
1.1.4(2020-07-26)
如何切换正式环境和开发环境
开发环境切换分为两种方式
方式一:数据库使用正式环境,云函数使用开发环境。
适用场景:开发测试产生的数据不会污染正式环境时。(通常是需要调用正式环境数据进行云函数bug修复时)
切换方法:切换测试环境需要复制一个router
云函数,取名为router-test
同时 在 main.js
的代码Vue.use(vk);
的下方添加
// 自定义云函数路由配置
Vue.prototype.vk.callFunctionUtil.setConfig({
// 是否开启测试环境,true:使用测试环境,false:使用正式环境,默认true
isTest:true
});
方式二:数据库和云函数都使用开发环境。
适用场景:开发测试产生的数据可能会污染正式环境时。(通常是新功能开发、测试时)
切换方法:创建(复制)一个新的云服务空间
具体步骤:
1、进入https://unicloud.dcloud.net.cn/home 创建一个新的云服务空间
2、右键cloudfunctions 选择云服务空间 - 选择新建的云服务空间(若切换失败,再试一次即可)
3、右键cloudfunctions 上传所有云函数及公共模块
4、重启项目(可关闭编译器重启或在控制台重启)
5、重启后就是测试环境,在测试环境开发测试完确保没有问题后,
切回正式环境,再上传云函数router即可更新至正式环境。
1.1.3(2020-07-23)
1、【新增】当前版本前后台均已支持url化的云函数请求。
2、【新增】封装uni.callFunction 和 uni.request 使之合二为一,现在只需要用this.vk.callFunction 一个函数统一进行云函数的请求(云函数请求分普通请求和url化请求),并提供了前端拦截非法token的统一拦截器
1.1.2(2020-07-23)
1、【新增】当前版本前后台均已支持url化的云函数请求。
2、【新增】封装uni.callFunction
和 uni.request
使之合二为一,现在只需要用this.vk.callFunction
一个函数统一进行云函数的请求(云函数请求分普通请求和url化请求),并提供了前端拦截非法token的统一拦截器
1.1.1(2020-07-21)
全面集成uni-id,开箱即用。
1.0.1(2020-07-03)
1、不使用任何第三方包,兼容性强,运行稳定; 2、减少云函数数量,云函数有个数限制; 3、部分通用的代码块可以放在公共区执行,有点类似公共函数的效果; 4、可以在开发环境和生产环境中任意切换,开发时,用开发环境,开发过程中不会影响到线上环境。(创建开发环境方法为复制一个router函数,取名为router_test,开发时,调用router_test函数,正式环境用router函数 5、可以在云函数中加全局过滤器,过滤非法请求。 6、其他好处…
1.0.0(2020-07-01)
uniCloud-云函数路由模式(不使用任何第三方包)腾讯云和阿里云均可以使用 即1个云函数实现多个云函数的效果,同时增加全局过滤器,过滤非法请求。 这样做的好处是: 1.减少云函数数量,云函数有个数限制; 2.部分通用的代码块可以放在公共区执行,有点类似公共函数的效果;(当然官方已经出了一个云函数公共模块) 3.看目录结构是不是有点MVC的感觉;