Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-starter
提交
a921045c
U
uni-starter
项目概览
DCloud
/
uni-starter
通知
4664
Star
228
Fork
210
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-starter
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a921045c
编写于
4月 13, 2021
作者:
L
linju
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
21
上级
14d1d150
变更
12
显示空白变更内容
内联
并排
Showing
12 changed file
with
844 addition
and
724 deletion
+844
-724
.gitignore
.gitignore
+2
-1
manifest.json
manifest.json
+3
-3
pages/ucenter/edit/uploadCutImageToUnicloud.vue
pages/ucenter/edit/uploadCutImageToUnicloud.vue
+1
-1
uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id/config.json
.../uni-id/uniCloud/cloudfunctions/common/uni-id/config.json
+0
-52
uni_modules/uni-quick-login/components/uni-quick-login/uni-quick-login.vue
...uick-login/components/uni-quick-login/uni-quick-login.vue
+4
-1
uni_modules/uni-upgrade-center-app/changelog.md
uni_modules/uni-upgrade-center-app/changelog.md
+9
-0
uni_modules/uni-upgrade-center-app/package.json
uni_modules/uni-upgrade-center-app/package.json
+79
-79
uni_modules/uni-upgrade-center-app/pages/upgrade-popup.vue
uni_modules/uni-upgrade-center-app/pages/upgrade-popup.vue
+486
-442
uni_modules/uni-upgrade-center-app/readme.md
uni_modules/uni-upgrade-center-app/readme.md
+70
-69
uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/check-version.param.json
...oud/cloudfunctions/check-version/check-version.param.json
+1
-1
uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/index.js
...center-app/uniCloud/cloudfunctions/check-version/index.js
+34
-4
uni_modules/uni-upgrade-center-app/utils/check-update.js
uni_modules/uni-upgrade-center-app/utils/check-update.js
+155
-71
未找到文件。
.gitignore
浏览文件 @
a921045c
...
...
@@ -2,3 +2,4 @@ unpackage/
.hbuilderx
node_modules
.DS_Store
uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id/config.json
\ No newline at end of file
manifest.json
浏览文件 @
a921045c
...
...
@@ -77,15 +77,15 @@
"oauth"
:
{
"apple"
:
{},
"weixin"
:
{
"appid"
:
"wx
0411fa6a39d61297
"
,
"appsecret"
:
""
,
"appid"
:
"wx
ffdd8fa6ec4ef2a0
"
,
"appsecret"
:
"
6c9119430d7be0a147bcbbb73ef33acf
"
,
"UniversalLinks"
:
"https://static-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e.bspapp.com/uni-universallinks/__UNI__03B096E"
},
"univerify"
:
{}
},
"share"
:
{
"weixin"
:
{
"appid"
:
"wx
0411fa6a39d61297
"
,
"appid"
:
"wx
ffdd8fa6ec4ef2a0
"
,
"UniversalLinks"
:
"https://static-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e.bspapp.com/uni-universallinks/__UNI__03B096E"
,
"_spaceID"
:
"76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e"
}
...
...
pages/ucenter/edit/uploadCutImageToUnicloud.vue
浏览文件 @
a921045c
<
template
>
<view
class=
"content"
>
<limeClipper
:width=
"options.width"
:scale-ratio=
"2"
:is-lock-width=
"
true"
:is-lock-height=
"tru
e"
:height=
"options.height"
:image-url=
"path"
<limeClipper
:width=
"options.width"
:scale-ratio=
"2"
:is-lock-width=
"
false"
:is-lock-height=
"fals
e"
:height=
"options.height"
:image-url=
"path"
@
success=
"successFn"
@
cancel=
"cancel"
/>
</view>
</
template
>
...
...
uni_modules/uni-id/uniCloud/cloudfunctions/common/uni-id/config.json
已删除
100644 → 0
浏览文件 @
14d1d150
{
"passwordSecret"
:
"passwordSecret-demo"
,
"tokenSecret"
:
"tokenSecret-demo"
,
"tokenExpiresIn"
:
7200
,
"tokenExpiresThreshold"
:
600
,
"passwordErrorLimit"
:
6
,
"bindTokenToDevice"
:
true
,
"passwordErrorRetryTime"
:
3600
,
"autoSetInviteCode"
:
false
,
"forceInviteCode"
:
false
,
"app-plus"
:
{
"tokenExpiresIn"
:
2592000
,
"oauth"
:
{
"weixin"
:
{
"appid"
:
"wx0411fa6a39d61297"
,
"appsecret"
:
"6c9119430d7be0a147bcbbb73ef33acf"
},
"apple"
:
{
"bundleId"
:
"io.dcloud.game.cat"
}
}
},
"mp-weixin"
:
{
"oauth"
:
{
"weixin"
:
{
"appid"
:
"wx999bf02c8e05dfc9"
,
"appsecret"
:
"b5f608afd332b2c0ded7e6b98ca4ccd3"
}
}
},
"mp-alipay"
:
{
"oauth"
:
{
"alipay"
:
{
"appid"
:
"alipay appid"
,
"privateKey"
:
"alipay privateKey"
}
}
},
"service"
:
{
"sms"
:
{
"name"
:
"DCloud"
,
"codeExpiresIn"
:
300
,
"smsKey"
:
"71a19f38c954f7d768d68a050486bf15"
,
"smsSecret"
:
"d6c424b702d73baa3b6e1a1452469213"
},
"univerify"
:
{
"appid"
:
"__UNI__BC54A00"
,
"apiKey"
:
"d1e36bcd497b3795434d900dcfdd44dc"
,
"apiSecret"
:
"2feb378ff1114362b20ac179b572293e"
}
}
}
uni_modules/uni-quick-login/components/uni-quick-login/uni-quick-login.vue
浏览文件 @
a921045c
...
...
@@ -98,12 +98,15 @@
let
oauthService
=
this
.
oauthServices
.
find
((
service
)
=>
service
.
id
==
type
)
// #ifdef APP-PLUS
//uni.showLoading({mask: true});
console
.
log
(
type
,
231
);
//请勿直接使用前端获取的unionid或openid直接用于登陆,前端的数据都是不可靠的
if
(
type
==
'
weixin
'
){
oauthService
.
authorize
(({
code
})
=>
{
console
.
log
(
code
);
this
.
quickLogin
({
code
},
type
)
},
err
=>
{
console
.
log
(
err
);
})
}
...
...
uni_modules/uni-upgrade-center-app/changelog.md
浏览文件 @
a921045c
## 0.1.2(2021-04-07)
-
更新版本对比函数 compare
## 0.1.1(2021-04-07)
-
修复 腾讯云空间下载链接不能下载问题
## 0.1.0(2021-04-07)
-
新增使用uni.showModal提示升级示例
-
修改iOS升级提示方式
## 0.0.7(2021-04-02)
-
修复在iOS上打开弹框报错
## 0.0.6(2021-04-01)
-
兼容旧版本安卓
## 0.0.5(2021-04-01)
...
...
uni_modules/uni-upgrade-center-app/package.json
浏览文件 @
a921045c
{
"id"
:
"uni-upgrade-center-app"
,
"displayName"
:
"升级中心 uni-upgrade-center - App"
,
"version"
:
"0.
0.6"
,
"version"
:
"0.
1.2"
,
"description"
:
"升级中心前台检查更新"
,
"keywords"
:
[
"uniCloud"
,
...
...
uni_modules/uni-upgrade-center-app/pages/upgrade-popup.vue
浏览文件 @
a921045c
...
...
@@ -20,6 +20,12 @@
</scroll-view>
</view>
<view
class=
"footer flex-center"
>
<template
v-if=
"isiOS"
>
<button
class=
"content-button"
style=
"border: none;color: #fff;"
plain
@
click=
"jumpToAppStore"
>
{{
downLoadBtnTextiOS
}}
</button>
</
template
>
<
template
v-else
>
<template
v-if=
"!downloadSuccess"
>
<view
class=
"progress-box flex-column"
v-if=
"downloading"
>
<progress
class=
"progress"
border-radius=
"35"
:percent=
"downLoadPercent"
...
...
@@ -45,6 +51,7 @@
@
click=
"restart"
>
安装完毕,点击重启
</button>
</template>
</view>
</view>
...
...
@@ -56,19 +63,50 @@
<
script
>
const
localFilePathKey
=
'
__localFilePath__
'
const
platform_iOS
=
'
iOS
'
;
let
downloadTask
=
null
;
/**
* 对比版本号,如需要,请自行修改判断规则
* 支持比对 ("3.0.0.0.0.1.0.1", "3.0.0.0.0.1") ("3.0.0.1", "3.0") ("3.1.1", "3.1.1.1") 之类的
* @param {Object} v1
* @param {Object} v2
* v1 > v2 return 1
* v1 < v2 return -1
* v1 == v2 return 0
*/
function
compare
(
v1
=
0
,
v2
=
0
)
{
// '1.2.5' > '1.2.4' 类似的版本号可以直接对比
return
v1
>
v2
?
1
:
v1
<
v2
?
-
1
:
0
;
function
compare
(
v1
=
'
0
'
,
v2
=
'
0
'
)
{
v1
=
String
(
v1
).
split
(
'
.
'
)
v2
=
String
(
v2
).
split
(
'
.
'
)
const
minVersionLens
=
Math
.
min
(
v1
.
length
,
v2
.
length
);
let
result
=
0
;
for
(
let
i
=
0
;
i
<
minVersionLens
;
i
++
)
{
const
curV1
=
Number
(
v1
[
i
])
const
curV2
=
Number
(
v2
[
i
])
if
(
curV1
>
curV2
)
{
result
=
1
break
;
}
else
if
(
curV1
<
curV2
)
{
result
=
-
1
break
;
}
}
if
(
result
===
0
&&
(
v1
.
length
!==
v2
.
length
))
{
const
v1BiggerThenv2
=
v1
.
length
>
v2
.
length
;
const
maxLensVersion
=
v1BiggerThenv2
?
v1
:
v2
;
for
(
let
i
=
minVersionLens
;
i
<
maxLensVersion
.
length
;
i
++
)
{
const
curVersion
=
Number
(
maxLensVersion
[
i
])
if
(
curVersion
>
0
)
{
v1BiggerThenv2
?
result
=
1
:
result
=
-
1
break
;
}
}
}
return
result
;
}
export
default
{
...
...
@@ -98,8 +136,9 @@
// 可自定义属性
subTitle
:
'
发现新版本
'
,
downLoadBtnTextiOS
:
'
立即跳转更新
'
,
downLoadBtnText
:
'
立即下载更新
'
,
downLoadingText
:
'
安装包下载中,请稍后
'
downLoadingText
:
'
安装包下载中,请稍后
…
'
}
},
onLoad
({
...
...
@@ -141,6 +180,9 @@
computed
:
{
isWGT
()
{
return
this
.
type
===
'
wgt
'
},
isiOS
()
{
return
!
this
.
isWGT
?
this
.
platform
.
includes
(
platform_iOS
)
:
false
;
}
},
methods
:
{
...
...
@@ -205,7 +247,6 @@
if
(
res
.
statusCode
==
200
)
{
this
.
downloadSuccess
=
true
;
this
.
tempFilePath
=
res
.
tempFilePath
console
.
log
(
"
res.tempFilePath:
"
,
res
.
tempFilePath
);
// 强制更新,直接安装
if
(
this
.
is_mandatory
)
{
...
...
@@ -317,6 +358,9 @@
return
uni
.
removeSavedFile
({
filePath
})
},
jumpToAppStore
()
{
plus
.
runtime
.
openURL
(
this
.
url
);
}
}
}
...
...
uni_modules/uni-upgrade-center-app/readme.md
浏览文件 @
a921045c
...
...
@@ -43,6 +43,8 @@
7.
将
`/uni_modules/uni-upgrade-center-app/utils/check-update`
import到需要用到的地方,调用一下即可
8.
升级弹框可自行编写,也可以使用
`uni.showModal`
,或使用现有的升级弹框样式,如果不满足UI需求请自行替换资源文件。在
`utils/check-update.js`
中都有实例。
### 更新下载安装`check-update.js`
*该函数在utils目录下*
...
...
@@ -67,8 +69,7 @@
5.
`check-version`
云函数内部会自动获取 App 平台
6.
检查更新前端使用示例:
`uni_modules/uni-upgrade-center-app/utils/check-update.js`
,在要用的地方导入调用即可
6.
检查更新前端使用示例:
`uni_modules/uni-upgrade-center-app/utils/check-update.js`
,在要检查更新的地方导入调用即可
## 项目代码说明
...
...
uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/check-version.param.json
浏览文件 @
a921045c
...
...
@@ -3,7 +3,7 @@
//
配置教程参考:https://uniapp.dcloud.net.cn/uniCloud/quickstart?id=runparam
{
"appid"
:
"
uni.UNIBC54A00
"
,
"appid"
:
"
__YOUR_APPID__
"
,
"appVersion"
:
"2.2.0"
,
"wgtVersion"
:
"2.2.2"
}
uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version/index.js
浏览文件 @
a921045c
...
...
@@ -125,13 +125,43 @@ exports.main = async (event, context) => {
/**
* 对比版本号,如需要,请自行修改判断规则
* 支持比对 ("3.0.0.0.0.1.0.1", "3.0.0.0.0.1") ("3.0.0.1", "3.0") ("3.1.1", "3.1.1.1") 之类的
* @param {Object} v1
* @param {Object} v2
* v1 > v2 return 1
* v1 < v2 return -1
* v1 == v2 return 0
*/
function
compare
(
v1
=
0
,
v2
=
0
)
{
// '1.2.5' > '1.2.4' 类似的版本号可以直接对比
return
v1
>
v2
?
1
:
v1
<
v2
?
-
1
:
0
;
function
compare
(
v1
=
'
0
'
,
v2
=
'
0
'
)
{
v1
=
String
(
v1
).
split
(
'
.
'
)
v2
=
String
(
v2
).
split
(
'
.
'
)
const
minVersionLens
=
Math
.
min
(
v1
.
length
,
v2
.
length
);
let
result
=
0
;
for
(
let
i
=
0
;
i
<
minVersionLens
;
i
++
)
{
const
curV1
=
Number
(
v1
[
i
])
const
curV2
=
Number
(
v2
[
i
])
if
(
curV1
>
curV2
)
{
result
=
1
break
;
}
else
if
(
curV1
<
curV2
)
{
result
=
-
1
break
;
}
}
if
(
result
===
0
&&
(
v1
.
length
!==
v2
.
length
))
{
const
v1BiggerThenv2
=
v1
.
length
>
v2
.
length
;
const
maxLensVersion
=
v1BiggerThenv2
?
v1
:
v2
;
for
(
let
i
=
minVersionLens
;
i
<
maxLensVersion
.
length
;
i
++
)
{
const
curVersion
=
Number
(
maxLensVersion
[
i
])
if
(
curVersion
>
0
)
{
v1BiggerThenv2
?
result
=
1
:
result
=
-
1
break
;
}
}
}
return
result
;
}
uni_modules/uni-upgrade-center-app/utils/check-update.js
浏览文件 @
a921045c
...
...
@@ -3,8 +3,6 @@ const PACKAGE_INFO_KEY = '__package_info__'
export
default
function
()
{
// #ifdef APP-PLUS
plus
.
runtime
.
getProperty
(
plus
.
runtime
.
appid
,
function
(
widgetInfo
)
{
uniCloud
.
callFunction
({
name
:
'
check-version
'
,
...
...
@@ -13,7 +11,7 @@ export default function() {
appVersion
:
plus
.
runtime
.
version
,
wgtVersion
:
widgetInfo
.
version
},
success
:
(
e
)
=>
{
success
:
async
(
e
)
=>
{
if
(
!
e
.
result
)
return
;
const
{
code
,
...
...
@@ -23,12 +21,21 @@ export default function() {
platform
,
// 安装包平台
type
// 安装包类型
}
=
e
.
result
;
// 此处逻辑仅为实例,可自行编写
if
(
code
>
0
)
{
// 腾讯云和阿里云下载链接不同,需要处理一下,阿里云会原样返回
const
{
fileList
}
=
await
uniCloud
.
getTempFileURL
({
fileList
:
[
url
]
});
e
.
result
.
url
=
fileList
[
0
].
tempFileURL
// 静默更新,只有wgt有
if
(
is_silently
)
{
downloadTask
=
uni
.
downloadFile
({
url
:
this
.
url
,
uni
.
downloadFile
({
url
:
e
.
result
.
url
,
success
:
res
=>
{
if
(
res
.
statusCode
==
200
)
{
// 下载好直接安装,下次启动生效
...
...
@@ -41,18 +48,19 @@ export default function() {
return
;
}
if
(
type
===
'
native_app
'
&&
platform
.
includes
(
'
iOS
'
))
{
// iOS 跳转 AppStore 商店
plus
.
runtime
.
openURL
(
url
);
return
;
}
/**
* 提示升级一
* 使用 uni.showModal
*/
// return updateUseModal(e.result)
/**
* 提示升级二
* 官方适配的升级弹窗,可自行替换资源适配UI风格
*/
uni
.
setStorageSync
(
PACKAGE_INFO_KEY
,
e
.
result
)
// 跳转更新页面
uni
.
navigateTo
({
url
:
'
/uni_modules/uni-upgrade-center-app/pages/upgrade-popup?local_storage_key=
'
+
PACKAGE_INFO_KEY
,
url
:
`/uni_modules/uni-upgrade-center-app/pages/upgrade-popup?local_storage_key=
${
PACKAGE_INFO_KEY
}
`
,
fail
:
(
err
)
=>
{
console
.
error
(
'
更新弹框跳转失败
'
,
err
)
uni
.
removeStorageSync
(
PACKAGE_INFO_KEY
)
...
...
@@ -71,3 +79,79 @@ export default function() {
});
// #endif
}
/**
* 使用 uni.showModal 升级
*/
function
updateUseModal
(
packageInfo
)
{
const
{
title
,
// 标题
contents
,
// 升级内容
is_mandatory
,
// 是否强制更新
url
,
// 安装包下载地址
platform
,
// 安装包平台
type
// 安装包类型
}
=
packageInfo
;
let
isWGT
=
type
===
'
wgt
'
let
isiOS
=
!
isWGT
?
platform
.
includes
(
'
iOS
'
)
:
false
;
let
confirmText
=
isiOS
?
'
立即跳转更新
'
:
'
立即下载更新
'
return
uni
.
showModal
({
title
,
content
:
contents
,
showCancel
:
!
is_mandatory
,
confirmText
,
success
:
res
=>
{
if
(
res
.
cancel
)
return
;
// 安装包下载
if
(
isiOS
)
{
plus
.
runtime
.
openURL
(
url
);
return
;
}
uni
.
showToast
({
title
:
'
后台下载中……
'
,
duration
:
1000
});
// wgt 和 安卓下载更新
downloadTask
=
uni
.
downloadFile
({
url
,
success
:
res
=>
{
if
(
res
.
statusCode
!==
200
)
{
console
.
error
(
'
下载安装包失败
'
,
err
);
return
;
}
// 下载好直接安装,下次启动生效
plus
.
runtime
.
install
(
res
.
tempFilePath
,
{
force
:
false
},
()
=>
{
if
(
is_mandatory
)
{
//更新完重启app
plus
.
runtime
.
restart
();
return
;
}
uni
.
showModal
({
title
:
'
安装成功是否重启?
'
,
success
:
res
=>
{
if
(
res
.
confirm
)
{
//更新完重启app
plus
.
runtime
.
restart
();
}
}
});
},
err
=>
{
uni
.
showModal
({
title
:
'
更新失败
'
,
content
:
err
.
message
,
showCancel
:
false
});
});
}
});
}
});
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录