Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
言程序plus
uni-starter
提交
8f5cf680
U
uni-starter
项目概览
言程序plus
/
uni-starter
与 Fork 源项目一致
Fork自
DCloud / uni-starter
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-starter
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8f5cf680
编写于
5月 19, 2022
作者:
DCloud_JSON
提交者:
study夏羽
10月 25, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 优化登陆体验,账号密码登陆错误超过2次,再显示图形验证码进行人机校验。
上级
a20e4ac2
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
293 addition
and
271 deletion
+293
-271
changelog.md
changelog.md
+2
-0
manifest.json
manifest.json
+223
-195
package.json
package.json
+1
-1
pages/ucenter/login-page/pwd-login/pwd-login.vue
pages/ucenter/login-page/pwd-login/pwd-login.vue
+3
-3
uni_modules/uni-captcha/changelog.md
uni_modules/uni-captcha/changelog.md
+0
-3
uni_modules/uni-captcha/components/uni-popup-captcha/uni-popup-captcha.vue
...aptcha/components/uni-popup-captcha/uni-popup-captcha.vue
+63
-68
uni_modules/uni-captcha/package.json
uni_modules/uni-captcha/package.json
+1
-1
未找到文件。
changelog.md
浏览文件 @
8f5cf680
## 1.2.2(2022-05-19)
-
优化登陆体验,账号密码登陆错误超过2次,再显示图形验证码进行人机校验。
## 1.2.1(2022-05-18)
-
修复在某些情况下,微信小程序端验证码显示错误的问题
## 1.2.0(2022-05-16)
...
...
manifest.json
浏览文件 @
8f5cf680
{
"name"
:
"uni-starter-old"
,
"appid"
:
"__UNI__EC87F46"
,
"description"
:
"云端一体应用快速开发模版"
,
"versionName"
:
"1.0.0"
,
"versionCode"
:
"100"
,
"transformPx"
:
false
,
"app-plus"
:
{
"locales"
:
{
"en"
:
{
"name"
:
"uni-starter"
,
"android"
:
{
"strings"
:
{
"CustomKey"
:
"CustomValue"
}
},
"ios"
:
{
"privacyDescription"
:
{
"NSPhotoLibraryUsageDescription"
:
"access to the user’s photo library(read)"
},
"infoPlist"
:
{
"CustomKey"
:
"CustomValue"
}
}
},
"zh"
:
{
"name"
:
"统一应用基本项目"
}
"name"
:
""
,
"appid"
:
"请点击重新获取"
,
"description"
:
"云端一体应用快速开发模版"
,
"versionName"
:
"1.0.0"
,
"versionCode"
:
"100"
,
"transformPx"
:
false
,
"app-plus"
:
{
"locales"
:
{
"en"
:
{
"name"
:
"uni-starter"
,
"android"
:
{
"strings"
:
{
"CustomKey"
:
"CustomValue"
}
},
"privacy"
:
{
"prompt"
:
"template"
,
"template"
:
{
"title"
:
"服务协议和隐私政策"
,
"message"
:
" 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=
\"
https://ask.dcloud.net.cn/protocol.html
\"
>《服务协议》</a>和<a href=
\"
https://ask.dcloud.net.cn/protocol.html
\"
>《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。"
,
"buttonAccept"
:
"同意"
,
"buttonRefuse"
:
"暂不同意"
}
"ios"
:
{
"privacyDescription"
:
{
"NSPhotoLibraryUsageDescription"
:
"access to the user’s photo library(read)"
},
"infoPlist"
:
{
"CustomKey"
:
"CustomValue"
}
}
},
"zh"
:
{
"name"
:
"统一应用基本项目"
}
},
"privacy"
:
{
"prompt"
:
"template"
,
"template"
:
{
"title"
:
"服务协议和隐私政策"
,
"message"
:
" 请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/> 你可阅读<a href=
\"
https://ask.dcloud.net.cn/protocol.html
\"
>《服务协议》</a>和<a href=
\"
https://ask.dcloud.net.cn/protocol.html
\"
>《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。"
,
"buttonAccept"
:
"同意"
,
"buttonRefuse"
:
"暂不同意"
}
},
"compatible"
:
{
"ignoreVersion"
:
true
},
"usingComponents"
:
true
,
"nvueStyleCompiler"
:
"uni-app"
,
"compilerVersion"
:
3
,
"splashscreen"
:
{
"alwaysShowBeforeRender"
:
false
,
"waiting"
:
true
,
"autoclose"
:
true
,
"delay"
:
0
},
"modules"
:
{
"Fingerprint"
:
{
},
"Share"
:
{
},
"OAuth"
:
{
},
"FaceID"
:
{
},
"Geolocation"
:
{
},
"Bluetooth"
:
{
},
"Push"
:
{
},
"Maps"
:
{
}
},
"distribute"
:
{
"android"
:
{
"permissions"
:
[
"<uses-feature android:name=
\"
android.hardware.camera
\"
/>"
,
"<uses-feature android:name=
\"
android.hardware.camera.autofocus
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.ACCESS_NETWORK_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.ACCESS_WIFI_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.CAMERA
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.CHANGE_NETWORK_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.CHANGE_WIFI_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.FLASHLIGHT
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.MODIFY_AUDIO_SETTINGS
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.READ_LOGS
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.READ_PHONE_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.USE_FINGERPRINT
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.VIBRATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.WAKE_LOCK
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.WRITE_SETTINGS
\"
/>"
],
"abiFilters"
:
[
"armeabi-v7a"
,
"arm64-v8a"
,
"x86"
]
},
"ios"
:
{
"capabilities"
:
{
"entitlements"
:
{
"com.apple.developer.associated-domains"
:
[
"applinks:static-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e.bspapp.com"
]
}
}
},
"sdkConfigs"
:
{
"oauth"
:
{
"apple"
:
{
},
"weixin"
:
{
"appid"
:
""
,
"appsecret"
:
""
,
"UniversalLinks"
:
""
},
"univerify"
:
{
}
},
"compatible"
:
{
"ignoreVersion"
:
true
"ad"
:
{
},
"usingComponents"
:
true
,
"nvueStyleCompiler"
:
"uni-app"
,
"compilerVersion"
:
3
,
"splashscreen"
:
{
"alwaysShowBeforeRender"
:
false
,
"waiting"
:
true
,
"autoclose"
:
true
,
"delay"
:
0
"share"
:
{
"weixin"
:
{
"appid"
:
""
,
"UniversalLinks"
:
""
}
},
"
modules"
:
{
"Fingerprint"
:
{},
"
Share"
:
{},
"OAuth"
:
{}
,
"FaceID"
:
{},
"Geolocation"
:
{}
,
"
Bluetooth"
:
{}
,
"
Push"
:
{},
"Maps"
:
{
}
"
geolocation"
:
{
"baidu"
:
{
"
__platform__"
:
[
"ios"
,
"android"
]
,
"
appkey_ios"
:
"请填写地图的key"
,
"
appkey_android"
:
"请填写地图的key"
}
},
"distribute"
:
{
"android"
:
{
"permissions"
:
[
"<uses-feature android:name=
\"
android.hardware.camera
\"
/>"
,
"<uses-feature android:name=
\"
android.hardware.camera.autofocus
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.ACCESS_NETWORK_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.ACCESS_WIFI_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.CAMERA
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.CHANGE_NETWORK_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.CHANGE_WIFI_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.FLASHLIGHT
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.MODIFY_AUDIO_SETTINGS
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.READ_LOGS
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.READ_PHONE_STATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.USE_FINGERPRINT
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.VIBRATE
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.WAKE_LOCK
\"
/>"
,
"<uses-permission android:name=
\"
android.permission.WRITE_SETTINGS
\"
/>"
],
"abiFilters"
:
[
"armeabi-v7a"
,
"arm64-v8a"
,
"x86"
]
"push"
:
{
"unipush"
:
{
"version"
:
"2"
,
"offline"
:
true
,
"meizu"
:
{
},
"ios"
:
{
"capabilities"
:
{
"entitlements"
:
{
"com.apple.developer.associated-domains"
:
[
"applinks:static-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e.bspapp.com"
]
}
}
"mi"
:
{
},
"sdkConfigs"
:
{
"oauth"
:
{
"apple"
:
{},
"weixin"
:
{
"appid"
:
""
,
"appsecret"
:
""
,
"UniversalLinks"
:
""
},
"univerify"
:
{}
},
"ad"
:
{},
"share"
:
{
"weixin"
:
{
"appid"
:
""
,
"UniversalLinks"
:
""
}
},
"geolocation"
:
{
"baidu"
:
{
"__platform__"
:
[
"ios"
,
"android"
],
"appkey_ios"
:
"请填写地图的key"
,
"appkey_android"
:
"请填写地图的key"
}
},
"push"
:
{
"unipush"
:
{
"version"
:
"2"
,
"offline"
:
true
,
"meizu"
:
{},
"mi"
:
{},
"vivo"
:
{},
"oppo"
:
{},
"hms"
:
{}
}
},
"payment"
:
{},
"maps"
:
{}
"vivo"
:
{
},
"icons"
:
{
"android"
:
{
"hdpi"
:
""
,
"xhdpi"
:
""
,
"xxhdpi"
:
""
,
"xxxhdpi"
:
""
},
"ios"
:
{
"appstore"
:
""
,
"ipad"
:
{
"app"
:
""
,
"app@2x"
:
""
,
"notification"
:
""
,
"notification@2x"
:
""
,
"proapp@2x"
:
""
,
"settings"
:
""
,
"settings@2x"
:
""
,
"spotlight"
:
""
,
"spotlight@2x"
:
""
},
"iphone"
:
{
"app@2x"
:
""
,
"app@3x"
:
""
,
"notification@2x"
:
""
,
"notification@3x"
:
""
,
"settings@2x"
:
""
,
"settings@3x"
:
""
,
"spotlight@2x"
:
""
,
"spotlight@3x"
:
""
}
}
"oppo"
:
{
},
"splashscreen"
:
{
"iosStyle"
:
"common"
,
"androidStyle"
:
"common"
,
"useOriginalMsgbox"
:
true
"hms"
:
{
}
}
},
"nvueLaunchMode"
:
""
},
"quickapp"
:
{},
"mp-weixin"
:
{
"appid"
:
""
,
"setting"
:
{
"urlCheck"
:
false
,
"es6"
:
false
"payment"
:
{
},
"usingComponents"
:
true
,
"betterScopedSlots"
:
true
,
"permission"
:
{
"scope.userLocation"
:
{
"desc"
:
"演示在onShow生命周期获取地理位置"
}
"maps"
:
{
}
},
"icons"
:
{
"android"
:
{
"hdpi"
:
""
,
"xhdpi"
:
""
,
"xxhdpi"
:
""
,
"xxxhdpi"
:
""
},
"ios"
:
{
"appstore"
:
""
,
"ipad"
:
{
"app"
:
""
,
"app@2x"
:
""
,
"notification"
:
""
,
"notification@2x"
:
""
,
"proapp@2x"
:
""
,
"settings"
:
""
,
"settings@2x"
:
""
,
"spotlight"
:
""
,
"spotlight@2x"
:
""
},
"iphone"
:
{
"app@2x"
:
""
,
"app@3x"
:
""
,
"notification@2x"
:
""
,
"notification@3x"
:
""
,
"settings@2x"
:
""
,
"settings@3x"
:
""
,
"spotlight@2x"
:
""
,
"spotlight@3x"
:
""
}
}
},
"splashscreen"
:
{
"iosStyle"
:
"common"
,
"androidStyle"
:
"common"
,
"useOriginalMsgbox"
:
true
}
},
"mp-alipay"
:
{
"usingComponents"
:
true
},
"mp-baidu"
:
{
"usingComponents"
:
true
},
"mp-toutiao"
:
{
"usingComponents"
:
true
},
"uniStatistics"
:
{
"enable"
:
false
"nvueLaunchMode"
:
""
},
"quickapp"
:
{
},
"mp-weixin"
:
{
"appid"
:
""
,
"setting"
:
{
"urlCheck"
:
false
,
"es6"
:
false
},
"h5"
:
{
"template"
:
""
,
"sdkConfigs"
:
{
"maps"
:
{
"qqmap"
:
{
"key"
:
""
}
}
},
"router"
:
{
"base"
:
""
},
"uniStatistics"
:
{
"enable"
:
true
"usingComponents"
:
true
,
"betterScopedSlots"
:
true
,
"permission"
:
{
"scope.userLocation"
:
{
"desc"
:
"演示在onShow生命周期获取地理位置"
}
}
},
"mp-alipay"
:
{
"usingComponents"
:
true
},
"mp-baidu"
:
{
"usingComponents"
:
true
},
"mp-toutiao"
:
{
"usingComponents"
:
true
},
"uniStatistics"
:
{
"enable"
:
false
},
"h5"
:
{
"template"
:
""
,
"sdkConfigs"
:
{
"maps"
:
{
"qqmap"
:
{
"key"
:
""
}
}
},
"router"
:
{
"base"
:
""
},
"_spaceID"
:
""
,
"vueVersion"
:
"2"
}
"uniStatistics"
:
{
"enable"
:
true
}
},
"_spaceID"
:
""
,
"vueVersion"
:
"2"
}
\ No newline at end of file
package.json
浏览文件 @
8f5cf680
{
"id"
:
"uni-starter"
,
"displayName"
:
"uni-starter"
,
"version"
:
"1.2.
1
"
,
"version"
:
"1.2.
2
"
,
"description"
:
"云端一体应用快速开发基本项目模版"
,
"keywords"
:
[
"login"
,
...
...
pages/ucenter/login-page/pwd-login/pwd-login.vue
浏览文件 @
8f5cf680
...
...
@@ -4,7 +4,7 @@
<text
class=
"title"
>
{{
$t
(
'
pwdLogin.pwdLogin
'
)
}}
</text>
<input
class=
"input-box"
:inputBorder=
"false"
v-model=
"username"
:placeholder=
"$t('pwdLogin.placeholder')"
/>
<input
type=
"password"
class=
"input-box"
:inputBorder=
"false"
v-model=
"password"
:placeholder=
"$t('pwdLogin.passwordPlaceholder')"
/>
<uni-captcha
scene=
"login"
v-model=
"captcha"
></uni-captcha>
<uni-captcha
v-if=
"needCaptcha"
scene=
"login"
v-model=
"captcha"
></uni-captcha>
<uni-agreements
class=
"agreement"
@
setAgree=
"agree = $event"
></uni-agreements>
<button
class=
"send-btn"
:disabled=
"!canLogin"
:type=
"canLogin?'primary':'default'"
@
click=
"pwdLogin"
>
{{
$t
(
'
pwdLogin.login
'
)
}}
</button>
...
...
@@ -84,10 +84,10 @@
// this.createCaptcha()
}
else
{
uni
.
showModal
({
title
:
this
.
$t
(
'
common
.error
'
)
,
title
:
this
.
$t
(
'
common
'
).
error
,
content
:
result
.
msg
,
showCancel
:
false
,
confirmText
:
this
.
$t
(
'
common
.gotIt
'
)
confirmText
:
this
.
$t
(
'
common
'
).
gotIt
});
}
}
...
...
uni_modules/uni-captcha/changelog.md
浏览文件 @
8f5cf680
## 0.6.0(2022-05-27)
-
新增:支持在
`uni-config-center`
中根据场景值配置
-
修复:弹窗式验证码,输入内容后点击取消,重新打开验证码的值仍然存在的问题
## 0.5.2(2022-05-19)
-
修复在Vue3的兼容问题
## 0.5.1(2022-05-18)
...
...
uni_modules/uni-captcha/components/uni-popup-captcha/uni-popup-captcha.vue
浏览文件 @
8f5cf680
...
...
@@ -3,7 +3,7 @@
<view
class=
"popup-captcha"
>
<view
class=
"content"
>
<text
class=
"title"
>
{{
title
}}
</text>
<uni-captcha
:
focus=
"focus"
:
scene=
"scene"
v-model=
"val"
></uni-captcha>
<uni-captcha
:scene=
"scene"
v-model=
"val"
></uni-captcha>
</view>
<view
class=
"button-box"
>
<view
@
click=
"close"
class=
"btn"
>
取消
</view>
...
...
@@ -14,63 +14,58 @@
</
template
>
<
script
>
export
default
{
data
()
{
return
{
focus
:
false
}
},
props
:
{
modelValue
:
String
,
value
:
String
,
scene
:
{
type
:
String
,
default
()
{
return
""
}
},
title
:
{
type
:
String
,
default
()
{
return
""
}
},
},
computed
:{
val
:{
get
(){
return
this
.
value
||
this
.
modelValue
},
set
(
value
){
// console.log(value);
// TODO 兼容 vue2
// #ifdef VUE2
this
.
$emit
(
'
input
'
,
value
);
// #endif
// TODO 兼容 vue3
// #ifdef VUE3
this
.
$emit
(
'
update:modelValue
'
,
value
)
// #endif
}
}
export
default
{
props
:
{
modelValue
:
String
,
value
:
String
,
scene
:
{
type
:
String
,
default
()
{
return
""
}
},
title
:
{
type
:
String
,
default
()
{
return
""
}
},
},
computed
:{
val
:{
get
(){
return
this
.
value
||
this
.
modelValue
},
set
(
value
){
// console.log(value);
// TODO 兼容 vue2
// #ifdef VUE2
this
.
$emit
(
'
input
'
,
value
);
// #endif
// TODO 兼容 vue3
// #ifdef VUE3
this
.
$emit
(
'
update:modelValue
'
,
value
)
// #endif
}
}
},
methods
:
{
open
()
{
this
.
focus
=
true
open
()
{
this
.
focus
=
true
this
.
val
=
""
this
.
$refs
.
popup
.
open
()
},
close
()
{
this
.
focus
=
false
close
()
{
this
.
focus
=
false
this
.
$refs
.
popup
.
close
()
},
confirm
()
{
if
(
!
this
.
val
||
this
.
val
.
length
<
4
){
return
uni
.
showToast
({
title
:
'
请填写验证码
'
,
icon
:
'
none
'
});
confirm
()
{
if
(
this
.
val
.
length
<
4
){
return
uni
.
showToast
({
title
:
'
请填写验证码
'
,
icon
:
'
none
'
});
}
this
.
close
()
this
.
$emit
(
'
confirm
'
)
...
...
@@ -119,22 +114,22 @@
.button-box
{
height
:
44px
;
border-top
:
solid
1px
#eee
;
flex-direction
:
row
;
align-items
:
center
;
border-top
:
solid
1px
#eee
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-around
;
}
.button-box
,
.btn
{
height
:
44px
;
line-height
:
44px
;
}
.button-box
.btn
{
flex
:
1
;
margin
:
1px
;
text-align
:
center
;
}
.button-box
.confirm
{
color
:
#007aff
;
border-left
:
solid
1px
#eee
;
}
</
style
>
.button-box
,
.btn
{
height
:
44px
;
line-height
:
44px
;
}
.button-box
.btn
{
flex
:
1
;
margin
:
1px
;
text-align
:
center
;
}
.button-box
.confirm
{
color
:
#007aff
;
border-left
:
solid
1px
#eee
;
}
</
style
>
uni_modules/uni-captcha/package.json
浏览文件 @
8f5cf680
{
"id"
:
"uni-captcha"
,
"displayName"
:
"uni-captcha"
,
"version"
:
"0.5.
1
"
,
"version"
:
"0.5.
2
"
,
"description"
:
"云端一体图形验证码组件"
,
"keywords"
:
[
"uniCloud"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录