Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
vk-uni
vk-unicloud-router
比较版本
22f0ad4f6c3df1aebe38d34862ac1a52d0edea5a...81b42f12e432aba184909f1efe20fd2d9ad21a34
vk-unicloud-router
项目概览
vk-uni
/
vk-unicloud-router
10 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
vk-unicloud-router
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
源分支
81b42f12e432aba184909f1efe20fd2d9ad21a34
选择Git版本
...
目标分支
22f0ad4f6c3df1aebe38d34862ac1a52d0edea5a
选择Git版本
比较
Commits (10)
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/afd3e03e8cf25d3eec14e313e397d2b79f8988c7
优化获取菜单列表接口和权限列表接口
2023-06-06T15:39:38+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/1c66b0d80c78824248c6758edd1b400e52b23941
解决发布页二维码不显示的问题
2023-06-06T15:40:57+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/0d2de4f1cfb814d8f967b2f2f6305ee1fd2ee0ee
优化注释
2023-06-06T15:41:21+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/fe04c8cb5f59617a5cbc832102b4b55b1300c435
新增配置 邮箱验证码有效期
2023-06-06T15:41:44+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/2a261b6d8e77e84ea7121940b88e963cd20e01f1
优化注释
2023-06-06T21:21:28+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/559387398d9abf682d4a3ac23ed8f984321eb3c2
1
2023-06-07T15:31:33+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/9bf5a7979402554de25f0c387d0cc501140570c3
新增支付宝小程序api
2023-06-07T15:38:02+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/7f1702e3bb23966e02e1960cf7a671fc289eae7c
1
2023-06-07T17:39:31+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/0a0516c6e40dcdfa3f33370b498bb28ab6cdab2f
1
2023-06-07T22:21:57+08:00
VK云桌面
370725567@qq.com
https://gitcode.net/vk-uni/vk-uni-cloud-router/-/commit/81b42f12e432aba184909f1efe20fd2d9ad21a34
【优化】注册接口全局防抖
2023-06-08T16:39:05+08:00
VK云桌面
370725567@qq.com
隐藏空白更改
内联
并排
Showing
25 changed file
with
385 addition
and
101 deletion
+385
-101
.gitignore
.gitignore
+1
-0
App.vue
App.vue
+2
-2
changelog.new.md
changelog.new.md
+3
-5
pages.json
pages.json
+6
-0
pages_template/openapi/alipay/alipay.vue
pages_template/openapi/alipay/alipay.vue
+80
-0
pages_template/openapi/douyin/douyin.vue
pages_template/openapi/douyin/douyin.vue
+11
-4
pages_template/openapi/qq/qq.vue
pages_template/openapi/qq/qq.vue
+13
-5
pages_template/openapi/weixin/weixin.vue
pages_template/openapi/weixin/weixin.vue
+12
-0
pages_template/uni-id/index/index.vue
pages_template/uni-id/index/index.vue
+11
-7
uniCloud-aliyun/cloudfunctions/router/service/admin/system/app/util/createPublishHtml/index.js
.../service/admin/system/app/util/createPublishHtml/index.js
+11
-1
uniCloud-aliyun/cloudfunctions/router/service/admin/system/menu/sys/getAll.js
...dfunctions/router/service/admin/system/menu/sys/getAll.js
+4
-3
uniCloud-aliyun/cloudfunctions/router/service/admin/system/permission/sys/getAll.js
...ions/router/service/admin/system/permission/sys/getAll.js
+4
-3
uniCloud-aliyun/cloudfunctions/router/service/template/openapi/alipay/pub/code2Session.js
...outer/service/template/openapi/alipay/pub/code2Session.js
+30
-0
uniCloud-aliyun/cloudfunctions/router/service/template/openapi/alipay/pub/getMiniCode.js
...router/service/template/openapi/alipay/pub/getMiniCode.js
+24
-0
uniCloud-aliyun/cloudfunctions/router/service/user/kh/getAlipayMiniCode.js
...loudfunctions/router/service/user/kh/getAlipayMiniCode.js
+25
-0
uniCloud-aliyun/cloudfunctions/router/service/user/kh/resetPwd.js
...-aliyun/cloudfunctions/router/service/user/kh/resetPwd.js
+7
-6
uniCloud-aliyun/cloudfunctions/router/service/user/pub/sendEmailCode.js
...n/cloudfunctions/router/service/user/pub/sendEmailCode.js
+15
-8
uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json
...loudfunctions/common/uni-config-center/uni-id/config.json
+16
-16
uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/vk-unicloud/index.js
...udfunctions/common/uni-config-center/vk-unicloud/index.js
+35
-0
uni_modules/vk-unicloud/uniCloud/cloudfunctions/common/vk-unicloud/index.js
...cloud/uniCloud/cloudfunctions/common/vk-unicloud/index.js
+1
-1
uni_modules/vk-unicloud/uniCloud/cloudfunctions/common/vk-unicloud/package.json
...d/uniCloud/cloudfunctions/common/vk-unicloud/package.json
+1
-1
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/function/debounce.js
...oud/vk_modules/vk-unicloud-page/libs/function/debounce.js
+5
-5
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/function/index.js
...icloud/vk_modules/vk-unicloud-page/libs/function/index.js
+23
-12
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/function/vk.navigate.js
.../vk_modules/vk-unicloud-page/libs/function/vk.navigate.js
+1
-1
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/vk-unicloud/vk-unicloud-user-center.js
...unicloud-page/libs/vk-unicloud/vk-unicloud-user-center.js
+44
-21
未找到文件。
.gitignore
浏览文件 @
81b42f12
...
...
@@ -15,6 +15,7 @@ router.param.json
.vscode
.hbuilderx
package-lock.json
.hbuilderx
# python
...
...
App.vue
浏览文件 @
81b42f12
...
...
@@ -29,10 +29,10 @@
// #endif
},
onShow
:
function
()
{
if
(
config
.
debug
)
console
.
log
(
'
App Show
'
)
if
(
config
.
debug
)
console
.
log
(
'
App Show
'
)
;
},
onHide
:
function
()
{
if
(
config
.
debug
)
console
.
log
(
'
App Hide
'
)
if
(
config
.
debug
)
console
.
log
(
'
App Hide
'
)
;
}
}
</
script
>
...
...
changelog.new.md
浏览文件 @
81b42f12
*
1、【优化】
`user/kh/addUploadRecord`
细节
*
2、【优化】
`vk.importObject`
支持
`importObjectOptions`
参数
[
传送门
](
https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#uni-vk-importobject%E7%9A%84%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95
)
*
3、【优化】vuex模块化支持多级目录
*
4、【优化】微信公众号登录后不能跳回登录前页面的问题。
*
5、【调整】
`vk.pubfn.test(str, 'username')`
检测的长度调整为3-32位
*
1、【新增】支付宝小程序api
[
传送门
](
https://vkdoc.fsq.pub/client/uniCloud/plus/alipay.html
)
*
2、【优化】发送邮箱验证码支持设置自定义有效期
*
3、【修复】因
`2.14.2`
更新导致的支付宝小程序报错问题。
##### 框架学习Q群:`22466457` 欢迎萌新和大佬来使用和共同改进框架
\ No newline at end of file
pages.json
浏览文件 @
81b42f12
...
...
@@ -174,6 +174,12 @@
"path"
:
"openapi/douyin/imgSecCheck/imgSecCheck"
,
"style"
:
{}
},
{
"path"
:
"openapi/alipay/alipay"
,
"style"
:
{
"navigationBarTitleText"
:
"支付宝开放接口"
}
},
{
"path"
:
"uni-id/test/test"
,
"style"
:
{
...
...
pages_template/openapi/alipay/alipay.vue
0 → 100644
浏览文件 @
81b42f12
<
template
>
<view
class=
"app"
>
<button
type=
"default"
@
tap=
"code2Session"
>
code2Session
</button>
<button
type=
"default"
@
tap=
"getMiniCode"
>
生成带参数的小程序码
</button>
<view
style=
"text-align: center;"
v-if=
"imageUrl"
><image
:src=
"imageUrl"
style=
"width: 400rpx;height: 400rpx;"
></image></view>
<view>
<text
space=
"ensp"
>
{{
JSON
.
stringify
(
data
,
null
,
2
)
}}
</text>
</view>
</view>
</
template
>
<
script
>
var
vk
=
uni
.
vk
;
export
default
{
data
()
{
return
{
imageUrl
:
""
,
data
:
{}
};
},
onLoad
(
options
)
{
vk
=
uni
.
vk
;
this
.
options
=
options
;
this
.
init
(
options
);
},
methods
:
{
// 初始化
init
(
options
)
{},
code2Session
()
{
// #ifndef MP-ALIPAY
vk
.
toast
(
"
请在支付宝小程序中打开
"
);
return
;
// #endif
uni
.
login
({
success
:
res
=>
{
vk
.
callFunction
({
url
:
"
template/openapi/alipay/pub/code2Session
"
,
title
:
"
请求中...
"
,
data
:
{
code
:
res
.
code
},
success
:
data
=>
{
this
.
data
=
data
;
}
});
}
});
},
// 生成带参数的小程序码
getMiniCode
()
{
vk
.
callFunction
({
url
:
"
template/openapi/alipay/pub/getMiniCode
"
,
title
:
"
请求中...
"
,
data
:
{
page
:
"
pages/index/index
"
,
scene
:
"
a=1&b=2
"
},
success
:
data
=>
{
this
.
data
=
data
;
this
.
imageUrl
=
data
.
base64
;
}
});
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.app
{
padding
:
30rpx
;
}
.app
button
{
margin-bottom
:
30rpx
;
}
.tips
{
font-size
:
28rpx
;
color
:
#999999
;
margin-bottom
:
32rpx
;
}
</
style
>
pages_template/openapi/douyin/douyin.vue
浏览文件 @
81b42f12
...
...
@@ -5,6 +5,9 @@
<view
style=
"text-align: center;"
v-if=
"imageUrl"
><image
:src=
"imageUrl"
style=
"width: 400rpx;height: 400rpx;"
></image></view>
<button
type=
"default"
@
tap=
"vk.navigateTo('msgSecCheck/msgSecCheck')"
>
文本安全检测
</button>
<button
type=
"default"
@
tap=
"vk.navigateTo('imgSecCheck/imgSecCheck')"
>
图片安全检测
</button>
<view>
<text
space=
"ensp"
>
{{
JSON
.
stringify
(
data
,
null
,
2
)
}}
</text>
</view>
</view>
</
template
>
...
...
@@ -14,7 +17,7 @@ export default {
data
()
{
return
{
imageUrl
:
""
,
openlink
:
""
data
:
{}
};
},
onLoad
(
options
)
{
...
...
@@ -26,6 +29,10 @@ export default {
// 初始化
init
(
options
)
{},
code2Session
()
{
// #ifndef MP-TOUTIAO
vk
.
toast
(
"
请在抖音小程序中打开
"
);
return
;
// #endif
uni
.
login
({
success
:
res
=>
{
vk
.
callFunction
({
...
...
@@ -36,7 +43,7 @@ export default {
anonymousCode
:
res
.
anonymousCode
},
success
:
data
=>
{
vk
.
alert
(
JSON
.
stringify
(
data
))
;
this
.
data
=
data
;
}
});
}
...
...
@@ -44,13 +51,13 @@ export default {
},
// 生成带参数的小程序码
getMiniCode
()
{
let
that
=
this
;
vk
.
callFunction
({
url
:
"
template/openapi/douyin/pub/getMiniCode
"
,
title
:
"
请求中...
"
,
data
:
{},
success
:
data
=>
{
that
.
imageUrl
=
data
.
base64
;
this
.
data
=
data
;
this
.
imageUrl
=
data
.
base64
;
}
});
}
...
...
pages_template/openapi/qq/qq.vue
浏览文件 @
81b42f12
...
...
@@ -5,8 +5,11 @@
<view
style=
"text-align: center;"
v-if=
"imageUrl"
>
<image
:src=
"imageUrl"
style=
"width: 400rpx;height: 400rpx;"
></image>
</view>
<button
type=
"default"
@
tap=
"vk.navigateTo('msgSecCheck/msgSecCheck')"
>
文本安全检测
</button>
<button
type=
"default"
@
tap=
"vk.navigateTo('imgSecCheck/imgSecCheck')"
>
图片安全检测
</button>
<button
type=
"default"
@
tap=
"vk.navigateTo('/pages_template/openapi/qq/msgSecCheck/msgSecCheck')"
>
文本安全检测
</button>
<button
type=
"default"
@
tap=
"vk.navigateTo('/pages_template/openapi/qq/imgSecCheck/imgSecCheck')"
>
图片安全检测
</button>
<view>
<text
space=
"ensp"
>
{{
JSON
.
stringify
(
data
,
null
,
2
)
}}
</text>
</view>
</view>
</
template
>
...
...
@@ -16,6 +19,7 @@ export default {
data
()
{
return
{
imageUrl
:
""
,
data
:
{}
};
},
onLoad
(
options
)
{
...
...
@@ -27,6 +31,10 @@ export default {
// 初始化
init
(
options
)
{},
code2Session
(){
// #ifndef MP-QQ
vk
.
toast
(
"
请在QQ小程序中打开
"
);
return
;
// #endif
uni
.
login
({
success
:
(
res
)
=>
{
vk
.
callFunction
({
...
...
@@ -36,7 +44,7 @@ export default {
code
:
res
.
code
,
},
success
:
(
data
)
=>
{
vk
.
alert
(
JSON
.
stringify
(
data
))
;
this
.
data
=
data
;
}
});
}
...
...
@@ -44,13 +52,13 @@ export default {
},
// 生成带参数的小程序码
getMiniCode
()
{
let
that
=
this
;
vk
.
userCenter
.
getQQMiniCode
({
data
:
{
//path: "pages/index/mys"
},
success
:(
data
)
=>
{
that
.
imageUrl
=
data
.
base64
;
this
.
data
=
data
;
this
.
imageUrl
=
data
.
base64
;
}
});
},
...
...
pages_template/openapi/weixin/weixin.vue
浏览文件 @
81b42f12
<
template
>
<view
class=
"content"
>
<button
type=
"default"
@
tap=
"code2Session"
>
code2Session
</button>
<button
type=
"default"
@
tap=
"getWeixinMPqrcode"
>
生成带参数的小程序码
</button>
<view
style=
"text-align: center;"
v-if=
"imageUrl"
>
<image
:src=
"imageUrl"
style=
"width: 400rpx;height: 400rpx;"
></image>
...
...
@@ -33,6 +34,17 @@ export default {
methods
:
{
// 初始化
init
(
options
)
{},
code2Session
(){
// #ifndef MP-WEIXIN
vk
.
toast
(
"
请在微信小程序中打开
"
);
return
;
// #endif
vk
.
userCenter
.
code2SessionWeixin
({
success
:
(
data
)
=>
{
this
.
data
=
data
;
},
});
},
// 生成带参数的小程序码
getWeixinMPqrcode
()
{
let
that
=
this
;
...
...
pages_template/uni-id/index/index.vue
浏览文件 @
81b42f12
...
...
@@ -23,13 +23,6 @@
<!-- #ifdef MP-WEIXIN || APP-PLUS -->
<button
type=
"default"
@
click=
"pageTo('../weixin/weixin')"
>
微信登录
</button>
<!-- #endif -->
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/weixin/weixin')"
>
微信小程序API
</button>
<!-- #ifdef H5 -->
<button
type=
"default"
@
click=
"pageTo('../weixin/h5-weixin')"
>
微信公众号API
</button>
<!-- #endif -->
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/baidu/baidu')"
>
百度开放平台API
</button>
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/qq/qq')"
>
QQ小程序API
</button>
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/douyin/douyin')"
>
抖音小程序API
</button>
<!-- #ifdef MP-ALIPAY || APP-PLUS -->
<button
type=
"default"
@
click=
"pageTo('../alipay/alipay')"
>
支付宝登录
</button>
<!-- #endif -->
...
...
@@ -39,11 +32,22 @@
<view
style=
"margin-bottom: 20rpx;"
>
小白也能轻松上手的数据库API
</view>
<button
type=
"default"
@
click=
"pageTo('../../db-test/db-test')"
>
数据库API
</button>
<button
type=
"default"
@
click=
"pageTo('../util/util')"
>
通用方法
</button>
<view
style=
"margin-bottom: 20rpx;"
>
插件版本1.8.7 新增 APP手机一键登录
</view>
<button
type=
"default"
@
click=
"pageTo('../univerify/univerify')"
>
手机一键登录
</button>
<view
style=
"margin-bottom: 20rpx;"
>
插件版本1.4.4 新增 Vuex状态管理
</view>
<button
type=
"default"
@
click=
"pageTo('../../vk-vuex/vk-vuex')"
>
Vuex状态管理演示示例
</button>
<button
type=
"default"
@
click=
"pageTo('../login/index/index')"
>
登录注册找回密码页面模板
</button>
<view
style=
"margin-bottom: 20rpx;"
>
各大小程序API扩展
</view>
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/weixin/weixin')"
>
微信小程序API
</button>
<!-- #ifdef H5 -->
<button
type=
"default"
@
click=
"pageTo('../weixin/h5-weixin')"
>
微信公众号API
</button>
<!-- #endif -->
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/qq/qq')"
>
QQ小程序API
</button>
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/douyin/douyin')"
>
抖音小程序API
</button>
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/alipay/alipay')"
>
支付宝小程序API
</button>
<button
type=
"default"
@
click=
"vk.navigateTo('../../openapi/baidu/baidu')"
>
百度开放平台API
</button>
</view>
</
template
>
...
...
uniCloud-aliyun/cloudfunctions/router/service/admin/system/app/util/createPublishHtml/index.js
浏览文件 @
81b42f12
...
...
@@ -173,7 +173,17 @@ module.exports = async function(data = {}) {
return
key
.
indexOf
(
'
mp
'
)
!==
-
1
&&
hasValue
(
appInfo
[
key
])
})
}
// 解决二维码不显示的问题
if
(
appInfo
.
icon_url
&&
appInfo
.
icon_url
.
indexOf
(
"
http
"
)
==
0
)
{
let
imageBuffer
=
await
vk
.
request
({
url
:
appInfo
.
icon_url
,
method
:
"
GET
"
,
dataType
:
"
default
"
});
appInfo
.
icon_url
=
"
data:image/png;base64,
"
+
imageBuffer
.
toString
(
'
base64
'
);
}
const
html
=
TE
.
render
(
templatePage
)(
Object
.
assign
({},
appInfo
,
defaultOptions
));
if
(
!
(
defaultOptions
.
hasApp
||
defaultOptions
.
hasH5
||
defaultOptions
.
hasMP
||
defaultOptions
...
...
uniCloud-aliyun/cloudfunctions/router/service/admin/system/menu/sys/getAll.js
浏览文件 @
81b42f12
...
...
@@ -18,13 +18,14 @@ module.exports = {
pageIndex
:
1
,
pageSize
:
500
,
whereJson
:
{
parent_id
:
_
.
in
([
null
,
""
])
parent_id
:
_
.
in
([
null
,
""
]),
menu_id
:
_
.
exists
(
true
)
},
treeProps
:{
treeProps
:
{
level
:
3
}
});
// 业务逻辑结束-----------------------------------------------------------
return
res
;
}
}
}
\ No newline at end of file
uniCloud-aliyun/cloudfunctions/router/service/admin/system/permission/sys/getAll.js
浏览文件 @
81b42f12
...
...
@@ -17,13 +17,14 @@ module.exports = {
pageIndex
:
1
,
pageSize
:
500
,
whereJson
:
{
parent_id
:
_
.
in
([
null
,
""
])
parent_id
:
_
.
in
([
null
,
""
]),
permission_id
:
_
.
exists
(
true
)
},
treeProps
:{
treeProps
:
{
level
:
3
}
});
// 业务逻辑结束-----------------------------------------------------------
return
res
;
}
}
}
\ No newline at end of file
uniCloud-aliyun/cloudfunctions/router/service/template/openapi/alipay/pub/code2Session.js
0 → 100644
浏览文件 @
81b42f12
'
use strict
'
;
module
.
exports
=
{
/**
* code2Session
* @url template/openapi/alipay/pub/code2Session 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main
:
async
(
event
)
=>
{
let
{
data
=
{},
userInfo
,
util
,
filterResponse
,
originalParam
}
=
event
;
let
{
customUtil
,
uniID
,
config
,
pubFun
,
vk
,
db
,
_
}
=
util
;
let
{
uid
}
=
data
;
let
res
=
{
code
:
0
,
msg
:
""
};
// 业务逻辑开始-----------------------------------------------------------
let
{
code
,
}
=
data
;
let
code2SessionRes
=
await
vk
.
openapi
.
alipay
.
auth
.
code2Session
({
code
,
needKey
:
true
});
if
(
code2SessionRes
.
code
!==
0
)
{
return
code2SessionRes
;
}
console
.
log
(
'
code2SessionRes:
'
,
code2SessionRes
);
res
.
openid
=
code2SessionRes
.
openid
;
// 业务逻辑结束-----------------------------------------------------------
return
res
;
}
}
\ No newline at end of file
uniCloud-aliyun/cloudfunctions/router/service/template/openapi/alipay/pub/getMiniCode.js
0 → 100644
浏览文件 @
81b42f12
'
use strict
'
;
module
.
exports
=
{
/**
* 获取支付宝小程序码
* @url template/openapi/alipay/pub/getMiniCode 前端调用的url参数地址
* data 请求参数
* @param {String} path 小程序页面路径
*/
main
:
async
(
event
)
=>
{
let
{
data
=
{},
userInfo
,
util
,
filterResponse
,
originalParam
}
=
event
;
let
{
customUtil
,
uniID
,
config
,
pubFun
,
vk
,
db
,
_
}
=
util
;
let
{
uid
}
=
data
;
let
res
=
{
code
:
0
,
msg
:
""
};
// 业务逻辑开始-----------------------------------------------------------
let
{
page
,
scene
}
=
data
;
res
=
await
vk
.
openapi
.
alipay
.
acode
.
getMiniCode
(
data
);
res
.
base64
=
res
.
qr_code_url_circle_white
;
// 兼容其他小程序的返回字段
// 业务逻辑结束-----------------------------------------------------------
return
res
;
}
}
\ No newline at end of file
uniCloud-aliyun/cloudfunctions/router/service/user/kh/getAlipayMiniCode.js
0 → 100644
浏览文件 @
81b42f12
'
use strict
'
;
module
.
exports
=
{
/**
* 获取支付宝小程序码
* @url user/kh/getAlipayMiniCode 前端调用的url参数地址
* data 请求参数
* @param {String} page 必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
* @param {String} scene 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
*/
main
:
async
(
event
)
=>
{
let
{
data
=
{},
userInfo
,
util
,
filterResponse
,
originalParam
}
=
event
;
let
{
customUtil
,
uniID
,
config
,
pubFun
,
vk
,
db
,
_
}
=
util
;
let
{
uid
}
=
data
;
let
res
=
{
code
:
0
,
msg
:
""
};
// 业务逻辑开始-----------------------------------------------------------
let
{
page
,
scene
}
=
data
;
res
=
await
vk
.
openapi
.
alipay
.
acode
.
getMiniCode
(
data
);
res
.
base64
=
res
.
qr_code_url_circle_blue
;
// 兼容其他小程序的返回字段
// 业务逻辑结束-----------------------------------------------------------
return
res
;
}
}
uniCloud-aliyun/cloudfunctions/router/service/user/kh/resetPwd.js
浏览文件 @
81b42f12
module
.
exports
=
{
/**
* 重置密码
* @url user/kh/resetPwd 前端调用的url参数地址
* @description 重置当前登录用户的密码为123456
/**
* 重置密码
* @url user/kh/resetPwd 前端调用的url参数地址
* @description 重置当前登录用户的密码为123456
* data 请求参数 说明
* @param {String} uid
用户Id,可以通过checkToken返回
* @param {String} uid
当前登录用户id(可信任,仅kh目录下的函数有此值)
* @param {String} password 重置后的密码
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
*/
main
:
async
(
event
)
=>
{
let
{
util
,
data
=
{}
}
=
event
;
let
{
uniID
}
=
util
;
let
res
=
{};
// 业务逻辑开始-----------------------------------------------------------
// 注意:虽然uid是从data中获取的,但无论前端uid传什么,最终uid都是当前登录用户的_id,因此不会出现A把B的密码改了的情况。
let
{
uid
,
password
=
'
123456
'
}
=
data
;
res
=
await
uniID
.
resetPwd
({
uid
,
password
});
// 业务逻辑结束-----------------------------------------------------------
...
...
uniCloud-aliyun/cloudfunctions/router/service/user/pub/sendEmailCode.js
浏览文件 @
81b42f12
...
...
@@ -12,6 +12,7 @@ module.exports = {
* data 请求参数 说明
* @param {String} email 邮箱
* @param {String} type 验证码类型
* @param {String} serviceType 邮件服务类型,默认为qq
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
...
...
@@ -21,7 +22,11 @@ module.exports = {
main
:
async
(
event
)
=>
{
let
{
data
=
{},
util
}
=
event
;
let
{
uniID
,
config
}
=
util
;
let
{
email
,
type
}
=
data
;
let
{
email
,
type
,
serviceType
=
"
qq
"
}
=
data
;
let
res
=
{
code
:
0
,
msg
:
'
ok
'
};
// 业务逻辑开始-----------------------------------------------------------
let
code
=
vk
.
pubfn
.
random
(
6
,
"
0123456789
"
);
...
...
@@ -31,19 +36,21 @@ module.exports = {
email
};
// 发送验证码开始
var
emailConfig
=
config
.
vk
.
service
.
email
;
let
emailConfig
=
config
.
vk
.
service
.
email
;
// 如果配置设置了过期时间,则使用配置的过期时间,否则默认180秒
param
.
expiresIn
=
emailConfig
.
codeExpiresIn
||
180
;
let
emailService
=
vkmail
.
createTransport
({
"
host
"
:
emailConfig
[
data
.
serviceType
].
host
,
"
port
"
:
emailConfig
[
data
.
serviceType
].
port
,
"
secure
"
:
emailConfig
[
data
.
serviceType
].
secure
,
// use SSL
"
auth
"
:
emailConfig
[
data
.
serviceType
].
auth
"
host
"
:
emailConfig
[
serviceType
].
host
,
"
port
"
:
emailConfig
[
serviceType
].
port
,
"
secure
"
:
emailConfig
[
serviceType
].
secure
,
// use SSL
"
auth
"
:
emailConfig
[
serviceType
].
auth
});
try
{
// 发送邮件
await
emailService
.
sendMail
({
"
from
"
:
emailConfig
[
data
.
serviceType
].
auth
.
user
,
"
from
"
:
emailConfig
[
serviceType
].
auth
.
user
,
"
to
"
:
data
.
email
,
"
cc
"
:
emailConfig
[
data
.
serviceType
].
auth
.
user
,
// 由于邮件可能会被当成垃圾邮件,但只要把邮件抄送给自己一份,就不会被当成垃圾邮件。
"
cc
"
:
emailConfig
[
serviceType
].
auth
.
user
,
// 由于邮件可能会被当成垃圾邮件,但只要把邮件抄送给自己一份,就不会被当成垃圾邮件。
"
subject
"
:
data
.
subject
,
// 邮件的标题
"
text
"
:
`您的验证码是
${
code
}
,打死也不要告诉别人哦!`
,
// 邮件的内容
});
...
...
uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json
浏览文件 @
81b42f12
...
...
@@ -16,40 +16,40 @@
"tokenExpiresIn"
:
604800
,
"oauth"
:
{
"weixin"
:
{
"appid"
:
"
app开放平台appid
"
,
"appsecret"
:
"
app开放平台appsecret
"
"appid"
:
""
,
"appsecret"
:
""
}
}
},
"mp-weixin"
:
{
"oauth"
:
{
"weixin"
:
{
"appid"
:
"
微信小程序appid
"
,
"appsecret"
:
"
微信小程序appsecret
"
"appid"
:
""
,
"appsecret"
:
""
}
}
},
"h5-weixin"
:
{
"oauth"
:
{
"weixin"
:
{
"appid"
:
"
微信公众号appid
"
,
"appsecret"
:
"
微信公众号appsecret
"
"appid"
:
""
,
"appsecret"
:
""
}
}
},
"mp-alipay"
:
{
"oauth"
:
{
"alipay"
:
{
"appid"
:
"
支付宝小程序appid
"
,
"privateKey"
:
"
支付宝小程序privateKey
"
"appid"
:
""
,
"privateKey"
:
""
}
}
},
"mp-qq"
:
{
"oauth"
:
{
"qq"
:
{
"appid"
:
"
qq小程序appid
"
,
"appsecret"
:
"
qq小程序appsecret
"
"appid"
:
""
,
"appsecret"
:
""
}
}
},
...
...
@@ -57,14 +57,14 @@
"sms"
:
{
"name"
:
"重要"
,
"codeExpiresIn"
:
180
,
"smsKey"
:
"
你的smsKey
"
,
"smsSecret"
:
"
你的smsSecret
"
,
"templateId"
:
"
你的短信模板ID
"
"smsKey"
:
""
,
"smsSecret"
:
""
,
"templateId"
:
""
},
"univerify"
:
{
"appid"
:
"
App一键登录appid
"
,
"apiKey"
:
"
App一键登录apiKey
"
,
"apiSecret"
:
"
App一键登录apiSecret
"
"appid"
:
""
,
"apiKey"
:
""
,
"apiSecret"
:
""
}
}
}
uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/vk-unicloud/index.js
浏览文件 @
81b42f12
...
...
@@ -40,6 +40,7 @@ module.exports = {
"
service
"
:
{
// 邮箱发送服务
"
email
"
:
{
"
codeExpiresIn
"
:
180
,
// 邮件验证码有效期(单位秒)
// qq邮箱参数配置
"
qq
"
:
{
"
host
"
:
"
smtp.qq.com
"
,
...
...
@@ -49,6 +50,16 @@ module.exports = {
"
user
"
:
"
你的邮箱@qq.com
"
,
"
pass
"
:
"
邮箱授权码
"
}
},
// 163邮箱配置
"
163
"
:{
"
host
"
:
"
smtp.163.com
"
,
"
port
"
:
465
,
"
secure
"
:
true
,
"
auth
"
:
{
"
user
"
:
""
,
"
pass
"
:
""
}
}
},
// 日志服务
...
...
@@ -100,6 +111,30 @@ module.exports = {
{
"
appid
"
:
""
,
"
appsecret
"
:
""
},
{
"
appid
"
:
""
,
"
appsecret
"
:
""
}
]
},
// 支付宝
"
alipay
"
:
{
// 密钥列表
"
list
"
:
[
{
"
appid
"
:
""
,
"
privateKey
"
:
""
},
{
"
appid
"
:
""
,
"
privateKey
"
:
""
}
]
},
// qq
"
qq
"
:
{
// 密钥列表
"
list
"
:
[
{
"
appid
"
:
""
,
"
appsecret
"
:
""
},
{
"
appid
"
:
""
,
"
appsecret
"
:
""
}
]
},
// 抖音
"
toutiao
"
:
{
// 密钥列表
"
list
"
:
[
{
"
appid
"
:
""
,
"
appsecret
"
:
""
},
{
"
appid
"
:
""
,
"
appsecret
"
:
""
}
]
}
}
}
...
...
uni_modules/vk-unicloud/uniCloud/cloudfunctions/common/vk-unicloud/index.js
浏览文件 @
81b42f12
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
uni_modules/vk-unicloud/uniCloud/cloudfunctions/common/vk-unicloud/package.json
浏览文件 @
81b42f12
{
"name"
:
"vk-unicloud"
,
"version"
:
"2.14.
2
"
,
"version"
:
"2.14.
3
"
,
"description"
:
"【云函数端SDK】VK云函数路由模式uniCloud开发框架,在router目录下执行 npm i vk-unicloud 进行安装和升级"
,
"main"
:
"index.js"
,
"homepage"
:
"https://gitee.com/vk-uni/vk-uni-cloud-router.git"
,
...
...
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/function/debounce.js
浏览文件 @
81b42f12
...
...
@@ -7,7 +7,7 @@ let timeoutArr = [];
* @param {Boolean} isImmediate 是否立即执行 默认true
* @param {String} timeoutName 定时器ID
* @return null
vk.pubfn.debounce(
function()
{
vk.pubfn.debounce(
() =>
{
}, 1000);
*/
...
...
@@ -18,16 +18,16 @@ function debounce(fn, time = 500, isImmediate = true, timeoutName = "default") {
// 立即执行一次
if
(
isImmediate
)
{
var
callNow
=
!
timeoutArr
[
timeoutName
];
timeoutArr
[
timeoutName
]
=
setTimeout
(
function
()
{
timeoutArr
[
timeoutName
]
=
setTimeout
(
()
=>
{
timeoutArr
[
timeoutName
]
=
null
;
},
time
);
if
(
callNow
){
if
(
typeof
fn
===
'
function
'
)
fn
();
if
(
typeof
fn
===
'
function
'
)
return
fn
();
}
}
else
{
// 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时time毫秒后执行fn回调方法
timeoutArr
[
timeoutName
]
=
setTimeout
(
function
()
{
if
(
typeof
fn
===
'
function
'
)
fn
();
timeoutArr
[
timeoutName
]
=
setTimeout
(
()
=>
{
if
(
typeof
fn
===
'
function
'
)
return
fn
();
},
time
);
}
}
...
...
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/function/index.js
浏览文件 @
81b42f12
...
...
@@ -201,27 +201,38 @@ pubfn.validator = function(type) {
/**
* 检测文本是否满足指定格式
* @param {String} str 需要检测的文本
* @param {String} type 检测类型
* @param {String} type 检测类型
(忽略大小写)
* 包含
* mobile 手机号码
* tel 座机
* card 身份证
* mobileCode 6位数字验证码
* username 账号以字母开头,长度在6~18之间,只能包含字母、数字和下划线
* pwd 密码长度在6~18之间,只能包含字母、数字和下划线和@
* payPwd 支付密码 6位纯数字
* username 账号以字母开头,长度在3~32之间,只能包含字母、数字和下划线
* pwd 密码长度在6~18之间,只能包含字母、数字和下划线
* password 与pwd效果一致,密码长度在6~18之间,只能包含字母、数字和下划线
* paypwd 支付密码 6位纯数字
* postal 邮政编码
*
QQ
QQ号
*
qq
QQ号
* email 邮箱
* URL 网址
* IP IP地址
* money 金额(小数点只允许2位)
* url 网址
* ip IP地址
* date 日期 2020-08-03
* time 时间 12:12:12
* dateTime 日期+时间 2020-08-03 12:12:12
* number 数字
* english 英文
* chinese 中文
* HTML HTML标记
* number 纯数字
* english 纯英文
* chinese 纯中文
* english+number 英文+数字
* english+number+_ 英文+数字+_
* english+number+_- 英文+数字+_-
* lower 小写
* upper 大写
* version 版本号 xx.xx.xx (xx必须是数字)
* html html格式
* image 图片
* video 视频
* audio 音频
* vk.pubfn.test(str, type);
*/
pubfn
.
test
=
function
(
str
,
type
=
""
)
{
...
...
@@ -289,7 +300,7 @@ pubfn.test = function(str, type = "") {
case
'
video
'
:
//是否视频格式
newStr
=
str
.
split
(
"
?
"
)[
0
];
return
new
RegExp
(
/
\.(
mp4|mpg|mpeg|dat|asf|avi|rm|rmvb|mov|wmv|flv|mkv|m3u8|3gp
)
$/
).
test
(
newStr
);
case
'
audio
'
:
//是否
视
频格式
case
'
audio
'
:
//是否
音
频格式
newStr
=
str
.
split
(
"
?
"
)[
0
];
return
new
RegExp
(
/
\.(
mp3
)
$/
).
test
(
newStr
);
default
:
...
...
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/function/vk.navigate.js
浏览文件 @
81b42f12
...
...
@@ -232,7 +232,7 @@ util.getOriginalPage = function() {
* vk.navigate.setOriginalPage(originalPage);
*/
util
.
setOriginalPage
=
function
(
originalPage
)
{
vk
.
navigate
.
originalPage
=
originalPage
;
// 兼容老版本
uni
.
vk
.
navigate
.
originalPage
=
originalPage
;
// 兼容老版本
return
uni
.
vk
.
setVuex
(
'
$app.originalPage
'
,
originalPage
);
// 新版本
};
...
...
uni_modules/vk-unicloud/vk_modules/vk-unicloud-page/libs/vk-unicloud/vk-unicloud-user-center.js
浏览文件 @
81b42f12
...
...
@@ -6,6 +6,8 @@ import callFunctionUtil from './vk-unicloud-callFunctionUtil.js'
var
{
callFunction
,
config
,
saveToken
,
deleteToken
}
=
callFunctionUtil
;
import
debounce
from
'
../function/debounce.js
'
const
debounceTime
=
1000
;
// 防抖时长
const
localeObj
=
{
"
zh-Hans
"
:
{
"
loading
"
:
"
请求中...
"
,
...
...
@@ -55,11 +57,13 @@ export default {
* @param {String} uid 用户ID
*/
register
(
obj
=
{})
{
addLoading
(
obj
,
"
register
"
);
return
callFunction
({
...
obj
,
url
:
'
user/pub/register
'
});
return
debounce
(()
=>
{
addLoading
(
obj
,
"
register
"
);
return
callFunction
({
...
obj
,
url
:
'
user/pub/register
'
});
},
debounceTime
,
true
,
"
login
"
);
},
/**
* 用户登录(用户名+密码)
...
...
@@ -259,11 +263,13 @@ export default {
* @param {String} tokenExpired token过期时间
*/
loginBySms
(
obj
=
{})
{
addLoading
(
obj
,
"
login
"
);
return
callFunction
({
url
:
'
user/pub/loginBySms
'
,
...
obj
});
return
debounce
(()
=>
{
addLoading
(
obj
,
"
login
"
);
return
callFunction
({
url
:
'
user/pub/loginBySms
'
,
...
obj
});
},
debounceTime
,
true
,
"
login
"
);
},
/**
* 发送手机号验证码
...
...
@@ -494,7 +500,7 @@ export default {
*/
loginByWeixin
(
obj
=
{})
{
let
that
=
this
;
debounce
(
function
()
{
debounce
(
()
=>
{
addLoading
(
obj
,
"
login
"
);
let
{
data
=
{}
}
=
obj
;
that
.
getWeixinCode
().
then
((
code
)
=>
{
...
...
@@ -511,7 +517,7 @@ export default {
}
});
});
},
500
);
},
debounceTime
,
true
,
"
login
"
);
},
/**
* 获取微信openid
...
...
@@ -612,11 +618,13 @@ export default {
* @param {String} tokenExpired token过期时间
*/
loginByWeixinPhoneNumber
(
obj
=
{})
{
addLoading
(
obj
,
"
login
"
);
return
callFunction
({
url
:
'
user/pub/loginByWeixinPhoneNumber
'
,
...
obj
});
return
debounce
(()
=>
{
addLoading
(
obj
,
"
login
"
);
return
callFunction
({
url
:
'
user/pub/loginByWeixinPhoneNumber
'
,
...
obj
});
},
debounceTime
,
true
,
"
login
"
);
},
/**
* 生成微信小程序码
...
...
@@ -698,7 +706,7 @@ export default {
*/
loginByAlipay
(
obj
=
{})
{
let
that
=
this
;
debounce
(
function
()
{
debounce
(
()
=>
{
addLoading
(
obj
,
"
login
"
);
let
{
data
=
{}
}
=
obj
;
that
.
getAlipayCode
().
then
((
code
)
=>
{
...
...
@@ -711,7 +719,7 @@ export default {
}
});
});
},
500
);
},
debounceTime
,
true
,
"
login
"
);
},
/**
* 获取支付宝openid
...
...
@@ -773,6 +781,21 @@ export default {
url
:
'
user/kh/unbindAlipay
'
,
});
},
/**
* 生成支付宝小程序码
* @param {String} page 必须是已经发布的小程序存在的页面(否则报错),例如 pages/index/index, 根路径前不要填加 /,不能携带参数(参数请放在scene字段里),如果不填写这个字段,默认跳主页面
* @param {String} scene 最大32个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~,其它字符请自行编码为合法字符(因不支持%,中文无法使用 urlencode 处理,请使用其他编码方式)
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
getAlipayMiniCode
(
obj
=
{})
{
addLoading
(
obj
,
"
create
"
);
return
callFunction
({
...
obj
,
url
:
'
user/kh/getAlipayMiniCode
'
,
});
},
/**
* 密码加密测试(暂不用)
*/
...
...
@@ -965,7 +988,7 @@ export default {
*/
loginByQQ
(
obj
=
{})
{
let
that
=
this
;
debounce
(
function
()
{
debounce
(
()
=>
{
addLoading
(
obj
,
"
login
"
);
let
{
data
=
{}
}
=
obj
;
that
.
getQQCode
().
then
(({
code
,
accessToken
}
=
{})
=>
{
...
...
@@ -979,7 +1002,7 @@ export default {
}
});
});
},
500
);
},
debounceTime
,
true
,
"
login
"
);
},
/**
* 绑定QQ
...
...