提交 5f10aeb2 编写于 作者: VK1688's avatar VK1688

2.8.0

上级 51070979
**vk-unicloud-router - 云开发路由模式企业级快速开发框架**
当前版本:2.8.0
> 下载地址:https://ext.dcloud.net.cn/plugin?id=2204
> 文档地址:https://vkdoc.fsq.pub/client/
**框架优势**
* 1、框架基本上已完成常规项目中50%甚至以上的功能点,你只需要专注写自己的业务逻辑即可。(大量现成轮子供你使用,你只需要搭积木造房子)
* 2、框架简洁高效,框架没有引入任何第三方npm包(使用npm包会影响云函数上传效率,有些npm包会依赖其他npm包,导致无限套娃)
* 3、框架集成 `uniCloud` 官方 `uni-id``uni-pay``云对象``短信发送``一键登录` 等扩展插件,且其他官方插件基本也可以无缝兼容。
* 4、特有的请求日志打印系统,可以让你更直观的在浏览器控制台(非HBX控制台)查看请求参数、返回参数等信息。
* 5、全面支持 `云函数url化` 请求(目前插件市场功能最全),且支持 `url重写` (你的url格式你做主)
* 6、`vk.baseDao` 数据库API,数据库操作、连表查询轻松搞定。(支持副表与副表的副表连表)
* 7、哪些页面需要登录,或哪些页面不需要登录,可以直接通过全局配置搞定。(支持通配符)
* 8、其他更多功能点可下载体验。关于框架使用问题,可加Q群 `22466457` 提问,只要是框架问题,在群内一定可以得到解决。
**更新内容(主要):**
* 1、【重要】新增 `云对象` 路由模式 [什么是云对象?](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html)
* 2、【重要】在VK框架中,可以做到云对象和云函数同时存在。即在VK框架中,同时支持 `云对象路由模式``云函数路由模式`
* 3、【重要】本地运行支持云对象 [点击查看](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C)
* 4、【重要】移除了内置的 `npm` 方式安装的 `uView` 组件库,开发者可以选择自己喜欢的组件库进行开发。[点击查看](https://vkdoc.fsq.pub/client/quickstart.html#%E8%87%AA-client%E7%AB%AF%E6%A1%86%E6%9E%B6-2-6-0-%E8%B5%B7-%E4%B8%8D%E5%86%8D%E5%86%85%E7%BD%AE%E4%BB%BB%E4%BD%95-ui-%E6%A1%86%E6%9E%B6-%E4%BD%A0%E5%8F%AF%E4%BB%A5%E9%80%89%E6%8B%A9%E8%87%AA%E5%B7%B1%E5%96%9C%E6%AC%A2%E7%9A%84-ui-%E7%BB%84%E4%BB%B6%E5%BA%93%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91%E3%80%82)
* 5、【重要】由于uni官方限制自定义表不可以用 `opendb-``uni-` 开头,故以下部分数据库表名进行了调整
* 6、【新增】`vk.h5` 前端API接口(H5专用的一些接口,只有H5环境时,才有该对象,不会增大小程序的包体积)
* 7、【新增】`vk.h5.wx`(wx为公众号js_sdk接口) [微信小程序环境内js_sdk文档](https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html) --- [微信公众号环境内js_sdk文档](https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html)
* 8、【新增】`await vk.pubfn.batchRun` 批量循环并发执行异步函数(云函数内专用, 使用场景: 批量发送短信、邮件、消息通知等。)[点击查看](https://vkdoc.fsq.pub/client/jsapi.html#vk-pubfn-batchrun)
* 9、【新增】`vk.baseDao` 内api支持连接其他服务空间的数据库 [点击查看](https://vkdoc.fsq.pub/client/question/q9.html#%E4%BA%91%E5%87%BD%E6%95%B0%E7%AB%AF%E8%AF%B7%E6%B1%82%E5%A4%9A%E6%9C%8D%E5%8A%A1%E7%A9%BA%E9%97%B4%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81)
* 10、【新增】新增微信公众号登录、注册、绑定、解绑、获取openid的调用示例。 演示页面地址:`/pages_template/uni-id/weixin/h5-weixin`
* 11、【新增】`vk.userCenter.bindNewMobile` 换绑新的手机号接口 [查看详情](https://vkdoc.fsq.pub/client/vk.userCenter.html#vk-usercenter-bindnewmobile-%E6%8D%A2%E7%BB%91%E6%89%8B%E6%9C%BA%E5%8F%B7)
* 12、【新增】`vk.userCenter.bindNewEmail` 换绑新的邮箱接口 [查看详情](https://vkdoc.fsq.pub/client/vk.userCenter.html#vk-usercenter-bindnewemail-%E6%8D%A2%E7%BB%91%E9%82%AE%E7%AE%B1)
* 13、【优化】在 `template` 模板中使用 `vk.pubfn`(可以用简写法 `$fn` 代替 `vk.pubfn`
* 14、【优化】`万能连表` 支持副表外键是数组类型(只要数组内任意元素与主表外键匹配即可)[点击查看](https://vkdoc.fsq.pub/client/uniCloud/db/selects.html#%E5%9C%BA%E6%99%AF6)
* 15、【优化】`app.config.js` 中的 `checkTokenPages` 检测页面是否需要登录支持 首页(启动页)的检测
* 16、【修复】`vk.baseDao.adds` 无返回值的问题。
* 17、【修复】`vk.baseDao.selects``localKey``a.b.c` 这样的形式时会报错的问题。
**文档**
* `client端` 框架地址:`https://ext.dcloud.net.cn/plugin?id=2204` [点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
* `admin端` 框架地址:`https://ext.dcloud.net.cn/plugin?id=5043` [点击查看](https://ext.dcloud.net.cn/plugin?id=5043)
* `VK框架快速开发辅助工具` 下载地址 `https://ext.dcloud.net.cn/plugin?id=6663` [点击查看](https://ext.dcloud.net.cn/plugin?id=6663)
* `client端` 框架文档:`https://vkdoc.fsq.pub/client/` [点击查看](https://vkdoc.fsq.pub/client/)
* `admin端` 框架文档:`https://vkdoc.fsq.pub/admin/` [点击查看](https://vkdoc.fsq.pub/admin/)
* `统一支付` 文档:`https://vkdoc.fsq.pub/vk-uni-pay/` [点击查看](https://vkdoc.fsq.pub/vk-uni-pay/)
* `Redis` 最全API中文文档:`https://vkdoc.fsq.pub/vk-redis/` [点击查看](https://vkdoc.fsq.pub/vk-redis/)
* `unicloud数据库一键搬家工具` 文档 `https://vkdoc.fsq.pub/db-migration/` [点击查看](https://vkdoc.fsq.pub/db-migration/)
* 1、【重要】新增 `云对象` 路由模式 [什么是云对象?](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html)
* 2、【重要】自此,在VK框架中,可以做到云对象和云函数同时存在。即在VK框架中,同时支持 `云对象路由模式``云函数路由模式`
* 3、【新增】本地运行支持云对象 [点击查看](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C)
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
## 2.8.0(2022-04-01)
* 1、【重要】新增 `云对象` 路由模式 [什么是云对象?](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html)
* 2、【重要】自此,在VK框架中,可以做到云对象和云函数同时存在。即在VK框架中,同时支持 `云对象路由模式``云函数路由模式`
* 3、【新增】本地运行支持云对象 [点击查看](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C)
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
##### 如果你觉得框架对你有用,可以在下方进行评论,也可以进行赞赏。
## 2.7.6(2022-03-26)
* 1、【优化】一些细节
......
......@@ -7,6 +7,7 @@ var myfn = {};
* vk.myfn.test1();
*/
myfn.test1 = function(obj = {}) {
let vk = uni.vk;
console.log("执行了自定义公共函数test1");
return obj;
};
......
{
"id": "vk-cloud-router",
"displayName": "【开箱即用】vk-unicloud-router - 云函数路由模式开发框架 - 已集成uni-id 框架内置了众多API、工具包,为你的业务扫平障碍。",
"version": "2.7.6",
"version": "2.8.0",
"description": "这是一个unicloud快速开发框架+项目模板(已包含核心库)支持URL化,众多现成API供你使用(登录、注册、短信、微信百度服务端API等等)为你的业务扫平障碍。内置小白也能轻松上手的数据库API。",
"keywords": [
"vk-unicloud-router",
......
/**
* 此为云对象模式,可以在这一个对象中写多个函数,具体文档请查看
* https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html
*/
'use strict';
var vk; // 全局vk实例
// 涉及的表名
const dbName = {
//test: "vk-test", // 测试表
};
var db = uniCloud.database(); // 全局数据库引用
var _ = db.command; // 数据库操作符
var $ = _.aggregate; // 聚合查询操作符
/**
* 权限注意:访问以下链接查看
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#内置权限
*/
var cloudObject = {
isCloudObject: true, // 标记为云对象模式
/**
* 请求前处理,主要用于调用方法之前进行预处理,一般用于拦截器、统一的身份验证、参数校验、定义全局对象等。
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#before-预处理
*/
_before: async function() {
vk = this.vk; // 将vk定义为全局对象
// let { customUtil, uniID, config, pubFun } = this.getUtil(); // 获取工具包
},
/**
* 请求后处理,主要用于处理本次调用方法的返回结果或者抛出的错误
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#after-后处理
*/
_after: async function(options) {
let { err, res } = options;
if (err) {
return; // 如果方法抛出错误,直接return;不处理
}
return res;
},
/**
* 模板函数
* @url client/pub.test.getInfo 前端调用的url参数地址
*/
getInfo: async function(data) {
let { uid } = this.getClientInfo(); // 获取客户端信息
let userInfo = await this.getUserInfo(); // 获取当前登录的用户信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("请求参数", data);
res.userInfo = userInfo; // 返回前端当前登录的用户信息
// 业务逻辑结束-----------------------------------------------------------
return res;
},
/**
* 模板函数
* @url client/pub.test.getList 前端调用的url参数地址
*/
getList: async function(data) {
let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("请求参数", data);
// 业务逻辑结束-----------------------------------------------------------
return res;
}
};
module.exports = cloudObject;
'use strict';
var vk; // 全局vk实例
// 涉及的表名
const dbName = {
//test: "vk-test", // 测试表
};
var db = uniCloud.database(); // 全局数据库引用
var _ = db.command; // 数据库操作符
var $ = _.aggregate; // 聚合查询操作符
/**
* 权限注意:访问以下链接查看
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#内置权限
*/
var cloudObject = {
isCloudObject: true, // 标记为云对象模式
/**
* 请求前处理,主要用于调用方法之前进行预处理,一般用于拦截器、统一的身份验证、参数校验、定义全局对象等。
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#before-预处理
*/
_before: async function() {
vk = this.vk; // 将vk定义为全局对象
// let { customUtil, uniID, config, pubFun } = this.getUtil(); // 获取工具包
},
/**
* 请求后处理,主要用于处理本次调用方法的返回结果或者抛出的错误
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#after-后处理
*/
_after: async function(options) {
let { err, res } = options;
if (err) {
return; // 如果方法抛出错误,直接return;不处理
}
return res;
},
/**
* 模板函数
* @url client/muban.getInfo 前端调用的url参数地址
*/
getInfo: async function(data) {
let { uid } = this.getClientInfo(); // 获取客户端信息
let userInfo = await this.getUserInfo(); // 获取当前登录的用户信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("请求参数", data);
res.userInfo = userInfo; // 返回前端当前登录的用户信息
// 业务逻辑结束-----------------------------------------------------------
return res;
},
/**
* 模板函数
* @url client/muban.getList 前端调用的url参数地址
*/
getList: async function(data) {
let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("请求参数", data);
// 业务逻辑结束-----------------------------------------------------------
return res;
}
};
module.exports = cloudObject;
## 2.8.0(2022-04-01)
* 1、【重要】新增 `云对象` 路由模式 [什么是云对象?](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html)
* 2、【重要】自此,在VK框架中,可以做到云对象和云函数同时存在。即在VK框架中,同时支持 `云对象路由模式``云函数路由模式`
* 3、【新增】本地运行支持云对象 [点击查看](https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#%E6%9C%AC%E5%9C%B0%E8%BF%90%E8%A1%8C)
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
## 2.7.6(2022-03-26)
* 1、【优化】一些细节
* 完整框架项目地址:`https://ext.dcloud.net.cn/plugin?id=2204`[点击查看](https://ext.dcloud.net.cn/plugin?id=2204)
......@@ -621,12 +626,12 @@ throw new Error("msg:这里是错误的提示");
```js
/**
* 判断是否是闰年
* @params {Number | Date} year 需要计算的年份或时间,默认使用当前时间的年份
* @param {Number | Date} year 需要计算的年份或时间,默认使用当前时间的年份
*/
vk.pubfn.timeUtil.isLeapYear(2021);
/**
* 判断是否是清明节
* @params {Object} date 时间对象
* @param {Object} date 时间对象
*/
vk.pubfn.timeUtil.isQingming(new Date());
```
......
{
"id": "vk-unicloud",
"displayName": "vk-unicloud-router开发框架核心库 - 已集成uni-id 框架内置了众多API。",
"version": "2.7.6",
"version": "2.8.0",
"description": "此为vk-unicloud-router框架核心库(新手建议下载完整框架项目)已集成uni-id支持云函数url化。众多现成API,内置小白也能轻松上手的数据库API。使你项目刚起步进度就是百分之50",
"keywords": [
"vk-unicloud-router",
......
......@@ -453,18 +453,18 @@ module.exports = {
* 此函数名称
* @url user/sys/test1 前端调用的url参数地址
* @description 此函数描述
* @params {Object} data 请求参数
* @params {String} uniIdToken 用户token
* @params {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @params {Object} util 公共工具包
* @params {Object} filterResponse 过滤器返回的数据
* @params {Object} originalParam 原始请求参数(包含了原始event和context)
* @param {Object} data 请求参数
* @param {String} uniIdToken 用户token
* @param {String} userInfo 当前登录用户信息(同理,是可信任的)(只有kh函数才带此参数)
* @param {Object} util 公共工具包
* @param {Object} filterResponse 过滤器返回的数据
* @param {Object} originalParam 原始请求参数(包含了原始event和context)
* data 请求参数 说明
* @params {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* @param {String} uid 当前登录用户id,若用户已登录且token有效,则data中会带uid参数
* (此参数是后端过滤器通过token获取并添加到data中的,是可信任的)(只有kh函数才带此参数)
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
......@@ -503,14 +503,14 @@ return {
/**
* 云函数请求封装 - 统一入口
* @description 通过云函数路由,1个云函数实现多个云函数的效果。
* @params {String} url 请求路径,该路径实为router云函数的service目录下的路径
* @params {Object} data 请求参数
* @params {String} title 遮罩层提示语,为空或不传则代表不显示遮罩层。
* @params {Boolean} isRequest 是否使用云函数url化地址访问云函数,默认false
* @params {Boolean} needAlert 为true代表请求错误时,会有alert弹窗提示。默认为true
* @params {Function} success 请求成功时,执行的回调函数
* @params {Function} fail 请求失败时,执行的回调函数
* @params {Function} complete 无论请求成功与否,都会执行的回调函数
* @param {String} url 请求路径,该路径实为router云函数的service目录下的路径
* @param {Object} data 请求参数
* @param {String} title 遮罩层提示语,为空或不传则代表不显示遮罩层。
* @param {Boolean} isRequest 是否使用云函数url化地址访问云函数,默认false
* @param {Boolean} needAlert 为true代表请求错误时,会有alert弹窗提示。默认为true
* @param {Function} success 请求成功时,执行的回调函数
* @param {Function} fail 请求失败时,执行的回调函数
* @param {Function} complete 无论请求成功与否,都会执行的回调函数
*/
```
......
{
"name": "vk-unicloud",
"version": "2.7.5",
"version": "2.8.0",
"description": "【云函数端SDK】VK云函数路由模式uniCloud开发框架,在router目录下执行 npm i vk-unicloud 进行安装和升级",
"main": "index.js",
"homepage": "https://gitee.com/vk-uni/vk-uni-cloud-router.git",
......
......@@ -11,6 +11,7 @@ import localStorage from './libs/function/vk.localStorage'
import aliyunOSSUtil from './libs/function/aliyunOSSUtil'
import openapi from './libs/openapi/index'
import requestUtil from './libs/function/vk.request'
import importObject from './libs/function/vk.importObject'
import filters from './libs/function/vk.filters'
import mixin from './libs/mixin/mixin.js'
......@@ -24,6 +25,7 @@ import h5 from './libs/function/vk.h5'
// #endif
var vk = {
userCenter,
callFunctionUtil,
......@@ -77,7 +79,9 @@ var vk = {
// 请求库
requestUtil,
// 发起URL请求
request: requestUtil.request
request: requestUtil.request,
// 导出云对象
importObject,
};
// vk实例初始化
vk.init = function(obj={}){
......
......@@ -5,7 +5,7 @@ var util = {};
/**
* 日期格式化
* @params {Date || Number} date 需要格式化的时间
* @param {Date || Number} date 需要格式化的时间
* vk.pubfn.timeFormat(new Date(),"yyyy-MM-dd hh:mm:ss");
*/
util.timeFormat = function(time, fmt = 'yyyy-MM-dd hh:mm:ss', targetTimezone = 8) {
......@@ -55,8 +55,8 @@ util.timeFormat = function(time, fmt = 'yyyy-MM-dd hh:mm:ss', targetTimezone = 8
/**
* 日期对象转换(云函数端会自动转成东八区时间)
* @params {Date || Number} date 需要转换的时间
* @params {Number} type 转换方式
* @param {Date || Number} date 需要转换的时间
* @param {Number} type 转换方式
* type = 0 返回 2020-08-03 12:12:12
* type = 1 返回 20200803121212
* type = 2 返回 { YYYY, MM, DD, hh, mm, ss }
......@@ -107,7 +107,7 @@ util.getFullTime = function(date, type = 0, targetTimezone = 8) {
/**
* 获得相对当前周addWeekCount个周的起止日期
* @params {Number} addWeekCount 默认0 (0代表本周 为-1代表上周 为1代表下周以此类推 为2代表下下周)
* @param {Number} addWeekCount 默认0 (0代表本周 为-1代表上周 为1代表下周以此类推 为2代表下下周)
* vk.pubfn.getWeekStartAndEnd(0);
*/
util.getWeekStartAndEnd = function(addWeekCount = 0, date = new Date(), targetTimezone = 8) {
......@@ -138,7 +138,7 @@ util.getWeekStartAndEnd = function(addWeekCount = 0, date = new Date(), targetTi
}
/**
* 获取时间范围
* @params {Date} date 日期对象 可以指定时间计算节点,默认使用当前时间进行计算
* @param {Date} date 日期对象 可以指定时间计算节点,默认使用当前时间进行计算
* 返回的是时间戳(防止时区问题)
* 返回数据如下:
{
......@@ -263,8 +263,8 @@ util.getMonthStartAndEnd = function(obj, targetTimezone = 8) {
/**
* 获得相对当前时间的偏移 count 天的起止日期(日的开始和结束)
* @params {Number} count 默认0 (0代表今日 为-1代表昨日 为1代表明日以此类推)
* @params {Date || Number} date 指定从那天开始计算
* @param {Number} count 默认0 (0代表今日 为-1代表昨日 为1代表明日以此类推)
* @param {Date || Number} date 指定从那天开始计算
* vk.pubfn.getDayOffsetTime(0);
*/
util.getDayOffsetStartAndEnd = function(count = 0, time, targetTimezone = 8) {
......@@ -296,8 +296,8 @@ util.getDayOffsetStartAndEnd = function(count = 0, time, targetTimezone = 8) {
}
/**
* 获得相对当前时间的偏移 count 个月的起止日期(月的开始和结束)
* @params {Number} count 默认0 (0代表本月 为-1代表上月 为1代表下月以此类推)
* @params {Date || Number} date 指定从那天开始计算
* @param {Number} count 默认0 (0代表本月 为-1代表上月 为1代表下月以此类推)
* @param {Date || Number} date 指定从那天开始计算
* vk.pubfn.getMonthOffsetStartAndEnd(0);
*/
util.getMonthOffsetStartAndEnd = function(count = 0, time, targetTimezone = 8) {
......@@ -336,8 +336,8 @@ util.getMonthOffsetStartAndEnd = function(count = 0, time, targetTimezone = 8) {
/**
* 获得相对当前时间的偏移 count 年的起止日期(年的开始和结束)
* @params {Number} count 默认0 (0代表今年 为-1代表去年 为1代表明年以此类推)
* @params {Date || Number} date 指定从那天开始计算
* @param {Number} count 默认0 (0代表今年 为-1代表去年 为1代表明年以此类推)
* @param {Date || Number} date 指定从那天开始计算
* vk.pubfn.getYearOffsetStartAndEnd(0);
*/
util.getYearOffsetStartAndEnd = function(count = 0, time, targetTimezone = 8) {
......@@ -368,7 +368,7 @@ util.getYearOffsetStartAndEnd = function(count = 0, time, targetTimezone = 8) {
/**
* 判断是否是闰年
* @params {Number | Date} year 需要计算的年份或时间,默认使用当前时间的年份
* @param {Number | Date} year 需要计算的年份或时间,默认使用当前时间的年份
* vk.pubfn.timeUtil.isLeapYear(year);
*/
util.isLeapYear = function(year) {
......@@ -389,7 +389,7 @@ util.isLeapYear = function(year) {
/**
* 判断是否是清明节
* @params {Date} date 日期对象 可以指定时间计算节点,默认使用当前时间进行计算
* @param {Date} date 日期对象 可以指定时间计算节点,默认使用当前时间进行计算
vk.pubfn.timeUtil.isQingming(new Date());
*/
util.isQingming = function(data = new Date()) {
......
......@@ -3,8 +3,8 @@ import deepClone from './deepClone'
var util = {};
/**
* 将树形结构转成数组结构
* @params {Array} treeData 数据源
* @params {Object} treeProps 树结构配置 { id : "menu_id", children : "children" }
* @param {Array} treeData 数据源
* @param {Object} treeProps 树结构配置 { id : "menu_id", children : "children" }
* vk.pubfn.treeToArray(treeData);
*/
util.treeToArray = function(treeData, treeProps) {
......
......@@ -22,7 +22,7 @@ util.timeStr = function(date) {
/**
* 日期对象转字符串
* @description 最终转成 2020-08-01 12:12:12
* @params {Date || Number} date 需要转换的时间
* @param {Date || Number} date 需要转换的时间
* date参数支持
* 支持:时间戳
* 支持:2020-08
......
/**
* 导出云对象实例
* @param {String} name 云对象路径,如:client/pub
* @example const pubObject = uni.vk.importObject('client/pub'); // 导入云对象
* 注意,只能在声明 async 的函数内使用,如:
async test(){
let res = await pubObject.getList({
title: "请求中",
data: {
a: 1,
b: "2"
}
});
}
*/
var importObject = function(name) {
const newObj = new Proxy(importObject, {
get: function(target, key, receiver) {
/**
* 导出云对象内的某个方法
* @param {Object} data 请求参数,如 { a:1, b:"2" } 云对象内可通过 let { a, b } = data; 获取参数
* @param {String} title 遮罩层提示语,为空或不传则代表不显示遮罩层。
* @param {Boolean} needAlert 为true代表请求错误时,会有弹窗提示。默认为true
* @param {Object} loading 与title二选一,格式为 { name: "loading", that: that } name是变量名,that是数据源,当发起请求时,自动that[name] = true; 请求结束后,自动that[name] = false;
*/
return async function(options) {
return uni.vk.callFunction({
...options,
url: `${name}.${key}`
});
}
},
// set: function(target, key, value, receiver) {
// console.log("set");
// console.log("target",target);
// console.log("key",key);
// console.log("value",value);
// console.log("receiver", receiver);
// },
});
return newObj;
};
export default importObject;
......@@ -231,14 +231,14 @@ class CallFunctionUtil {
/**
* 云函数请求封装 - 统一入口
* @description 通过云函数路由,1个云函数实现多个云函数的效果。
* @params {String} url 请求路径
* @params {Object} data 请求参数
* @params {String} title 遮罩层提示语,为空或不传则代表不显示遮罩层。
* @params {Boolean} isRequest 是否使用云函数url化地址访问云函数,默认false
* @params {Boolean} needAlert 为true代表请求错误时,会有弹窗提示。默认为true
* @params {Function} success 请求成功时,执行的回调函数
* @params {Function} fail 请求失败时,执行的回调函数
* @params {Function} complete 无论请求成功与否,都会执行的回调函数
* @param {String} url 请求路径
* @param {Object} data 请求参数,如 { a:1, b:"2" } 云函数内可通过 let { a, b } = data; 获取参数
* @param {String} title 遮罩层提示语,为空或不传则代表不显示遮罩层。
* @param {Boolean} isRequest 是否使用云函数url化地址访问云函数,默认false
* @param {Boolean} needAlert 为true代表请求错误时,会有弹窗提示,默认为true
* @param {Function} success 请求成功时,执行的回调函数
* @param {Function} fail 请求失败时,执行的回调函数
* @param {Function} complete 无论请求成功与否,都会执行的回调函数
*/
this.callFunction = (obj = {}) => {
let that = this;
......@@ -352,13 +352,13 @@ class CallFunctionUtil {
}
/**
* 云函数上传图片
* @params {String} filePath 要上传的文件对象
* @params {String} cloudPath 文件的绝对路径,包含文件名(若不传,会自动生成文件名)
* @params {String} fileType 文件类型,可选image、video、audio 默认image
* @params {Function} onUploadProgress 上传进度回调
* @params {Function} success 请求成功时,执行的回调函数
* @params {Function} fail 请求失败时,执行的回调函数
* @params {Function} complete 无论请求成功与否,都会执行的回调函数
* @param {String} filePath 要上传的文件对象
* @param {String} cloudPath 文件的绝对路径,包含文件名(若不传,会自动生成文件名)
* @param {String} fileType 文件类型,可选image、video、audio 默认image
* @param {Function} onUploadProgress 上传进度回调
* @param {Function} success 请求成功时,执行的回调函数
* @param {Function} fail 请求失败时,执行的回调函数
* @param {Function} complete 无论请求成功与否,都会执行的回调函数
* vk.callFunctionUtil.uploadFile
*/
this.uploadFile = (obj = {}) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册