【开箱即用】vk-unicloud-router - 云函数路由模式开发框架 - 已集成uni-id - 更新日志

2.18.17(2024-09-04)

  • 【重要】修复 vk.baseDao.select2.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时,强制 needUserInfotrue(此时访问非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.selectgetOne: true 时会报错的问题
框架学习Q群:22466457 欢迎萌新和大佬来使用和共同改进框架

2.17.2(2024-02-01)

  • 【调整】vk.baseDao.getTableData 的参数 getCount 的默认值为 true,但若含有 lastWhereJsonlastSortArr 则默认值为 false(兼顾性能和实用性)
  • 【调整】vk.baseDao.selectsvk.baseDao.getTableDataaddFields 的执行顺序调整到 fieldJson 之前
  • 【优化】vk.baseDao.selectvk.baseDao.selectsvk.baseDao.getTableData 新增返回值 getCount,表示是否同时执行了 count 请求 传送门
  • 【优化】vk.baseDao.selectvk.baseDao.selectsvk.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.getTableDatawhereJson 实现逻辑,使之更符合实际开发需求(现在强制条件不会覆盖前端条件,而是一起进行and条件)

关于 vk.baseDao.getTableDatawhereJson 的调整说明

  • 调整前: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 当满足响应规范时,会自动保存 tokenuserInfo 以及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.encryptvk.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.encryptvk.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)

  • 1、【重要】新增 监听token更新 API 传送门
  • 2、【优化】云对象 新增 this.getUniCloudRequestId(获取当前请求id)传送门
框架学习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、【调整】根据手机验证码重置账号密码的短信验证 typereset 改为 reset-pwd(与unicloud官方对齐)
  • 2、【调整】根据邮箱验证码重置账号密码的邮件验证 typereset 改为 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() 内增加 functionNamefunctionType 传送门
  • 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.getUnlimitedvk.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、【修复】_.geoNearlastWhereJson 同时使用时报错的bug
  • 2、【优化】一些细节
框架学习Q群:22466457 欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。

2.10.1(2022-07-18)

  • 1、vk.pubfn.batchRun 新增另外一种调用方式。传送门
  • 2、新增 vk.uploadFile 代替 vk.callFunctionUtil.uploadFile(保留旧写法) 传送门
框架学习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)

  • 1、【新增】微信小程序服务端万能API 传送门
  • 2、【新增】微信公众号服务端万能API 传送门
框架学习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)

  • 1、【新增】云函数专用api vk.pubfn.randomAsync(异步)产生指定位数的不重复随机数(支持任意字符,s默认纯数字)点击查看
  • 2、【新增】数据库表内的字段重命名api 点击查看
框架学习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-id3.3.23
  • 2、【调整】vk.getVuex 当数据不存在时,返回值由 undefined 调整为 空字符串(undefined在部分平台会有问题)
  • 3、【优化】示例代码的细节问题。
框架学习Q群:22466457 欢迎萌新和大佬来使用和共同改进框架
如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。

2.9.3(2022-06-15)

  • 1、【升级】uni-id3.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、【优化】云对象 的内置api this.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.selectsvk.baseDao.getTableData API新增 lastSortArr 参数,用于聚合后再排序。
  • 注意:lastWhereJsonlastSortArr 在数据量大的情况下是有性能问题的,(建议主表的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、【新增】全局参数 functionNameToUrlisRequestDefault 点击查看
  • 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、【新增】全局参数 functionNameToUrlisRequestDefault 点击查看
  • 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)

  • 1、【新增】前端请求多服务空间的极简方式(通过配置直接指定调用环境)点击查看
  • 2、【新增】vk.userCenter.resetPasswordByEmail(根据邮箱证码重置账号密码) 点击查看
框架学习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)

  • 1、【新增】vk.userCenter.bindNewMobile 换绑新的手机号接口 查看详情
  • 2、【新增】vk.userCenter.bindNewEmail 换绑新的邮箱接口 查看详情
框架学习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.priceFiltervk.pubfn.percentageFiltervk.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-id3.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.selectslocalKeya.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);firstlast 默认为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:trueloading: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-id3.3.3

框架学习Q群:22466457 欢迎萌新和大佬来使用和共同改进框架

如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。

2.2.1(2021-08-04)

uniCloud 云函数路由研究群:22466457 如有问题或建议可以在群内讨论。

更新内容

1、【升级】uni-id3.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-dataexpired_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、【优化】过滤器 timeFilterdateDiff 能正确识别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.selectsvk.baseDao.select 新增两个属性getOnegetMain 点击查看详情

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.getTableDatavk.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 支持_.geoNearAPI(将记录按照离给定点从近到远输出。)点击查看万能连表场景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.addvk.baseDao.adds 新增参数 cancelAddTimetrue,则不会有_add_time_add_time_str字段生成

4、【优化】vk.baseDao.addvk.baseDao.adds 支持添加自定义 _id

5、【优化】vk.setVuexvk.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 的默认passwordSecrettokenSecret调整为与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.navigateTovk.redirectTovk.reLaunchvk.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.baseDaoAPI自插件1.7.0版本开始不再需要传util参数了(为了向下兼容,即使传了也可以) 点击查看详情

7、【重要】vk.baseDaoAPI自插件1.7.0版本开始支持数据库事务 点击查看详情

8、【重要】公共模块config新增配置vk.system.serviceShutdownvk.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-id3.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.jscheckTokenPages配置可能会无效的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.jsconfig.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-unicloudsmsUtil已独立出来,并移至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-unicloudnpm包大小,大大减少云函数上传时间(基本在10秒左右即可上传完成)。

注意:默认已移除以下npm包,若需要用到,请在cloudfunctions/router目录下的package.jsondependencies中增加

"@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-unicloudnpm包大小,减少云函数上传时间。

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 增加参数deleteOldFiletrue 时 上传新头像会自动删除旧头像的云储存文件

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 函数使之支持 callbackpromiseasync/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 目录所有文件(此为示例文件)
  1. 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 目录所有文件(此为示例文件)
  1. 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 目录所有文件(此为示例文件)
  1. 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
  1. main.js引入uView库

    // main.js
    import uView from 'uview-ui';
    Vue.use(uView);
  2. App.vue引入基础样式(注意style标签需声明scss属性支持)

    重要:style标签需声明scss属性支持

    /* App.vue */
    <style lang="scss">
    @import "uview-ui/index.scss";
    </style>
  3. uni.scss引入全局scss变量文件

    /* uni.scss */
    @import "uview-ui/theme.scss";
  4. 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请求中的GETPOSTPUTDELETE

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请求中的GETPOSTPUTDELETE

云函数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 进行安装

  1. 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.callFunctionuni.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的感觉;