Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
csssp-xcx-h5
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
劳广强
csssp-xcx-h5
Commits
9b9dcb4f
提交
9b9dcb4f
authored
8月 02, 2023
作者:
黎九
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bug修复
上级
a8bfe986
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
92 行增加
和
42 行删除
+92
-42
manifest.json
manifest.json
+1
-1
index.vue
pages/record-type/index.vue
+10
-3
index.vue
pages/record/index.vue
+16
-4
LICENSE
uni_modules/uview-ui/LICENSE
+1
-1
changelog.md
uni_modules/uview-ui/changelog.md
+6
-1
u-modal.vue
uni_modules/uview-ui/components/u-modal/u-modal.vue
+2
-2
props.js
uni_modules/uview-ui/components/u-text/props.js
+1
-1
config.js
uni_modules/uview-ui/libs/config/config.js
+2
-2
index.js
uni_modules/uview-ui/libs/function/index.js
+52
-26
route.js
uni_modules/uview-ui/libs/util/route.js
+1
-1
没有找到文件。
manifest.json
浏览文件 @
9b9dcb4f
{
"name"
:
"荣县随手拍"
,
"appid"
:
"__UNI__
BD3107B
"
,
"appid"
:
"__UNI__
7F4BF0D
"
,
"description"
:
""
,
"versionName"
:
"1.0.0"
,
"versionCode"
:
"100"
,
...
...
pages/record-type/index.vue
浏览文件 @
9b9dcb4f
...
...
@@ -68,6 +68,7 @@ export default {
onLoad
(
query
)
{
this
.
query
=
query
;
console
.
log
(
query
);
this
.
fetchPhotoTaskTypeData
();
this
.
fetchPhotoTaskTypeDetail
();
...
...
@@ -80,7 +81,7 @@ export default {
async
fetchPhotoTaskTypeData
()
{
const
{
list
}
=
await
uni
.
$u
.
http
.
get
(
'/api/app/phototasktype/list'
,
{
params
:
{
parent_id
:
this
.
query
.
id
}
});
this
.
list
=
list
;
console
.
log
(
list
);
// 可分类
if
(
list
.
some
(
v
=>
v
.
category
>
0
))
{
this
.
totalList
=
Object
.
keys
(
categoryMap
).
map
((
c
,
index
)
=>
{
...
...
@@ -124,11 +125,14 @@ export default {
},
onListClick
(
item
,
index
)
{
if
(
!
this
.
isFirstRecordType
)
{
console
.
log
(
123
,
'Tt'
);
this
.
isFirstRecordTypeId
=
item
.
id
;
this
.
showReport
=
true
;
return
;
}
console
.
log
(
'ccc'
);
uni
.
$u
.
route
({
url
:
'pages/record-content/index'
,
params
:
{
...
...
@@ -139,8 +143,11 @@ export default {
},
getIsFirstRecordType
()
{
const
isFirstRecordType
=
uni
.
getStorageSync
(
'isFirstRecordType'
);
if
(
!
isFirstRecordType
)
uni
.
setStorageSync
(
'isFirstRecordType'
,
1
);
let
isFirstRecordType
=
uni
.
getStorageSync
(
'isFirstRecordType'
);
if
(
!
isFirstRecordType
){
uni
.
setStorageSync
(
'isFirstRecordType'
,
1
);
isFirstRecordType
=
uni
.
getStorageSync
(
'isFirstRecordType'
);
}
return
isFirstRecordType
;
},
},
...
...
pages/record/index.vue
浏览文件 @
9b9dcb4f
...
...
@@ -84,6 +84,7 @@ export default {
// this.fetchPhotoTaskTypeDetail();
this
.
isFirstRecord
=
this
.
getIsFirstRecord
();
// console.log(this.isFirstRecord);
},
onShow
(
options
)
{},
...
...
@@ -99,7 +100,7 @@ export default {
async
fetchPhotoTaskTypeDetail
()
{
const
{
detail
}
=
await
uni
.
$u
.
http
.
get
(
'/api/app/phototasktype/detail'
,
{
params
:
{
id
:
0
}
});
console
.
log
(
detail
);
//
console.log(detail);
},
async
fetchFalutTask
(
id
)
{
...
...
@@ -140,17 +141,28 @@ export default {
},
onListClick
(
item
,
index
)
{
// console.log(this.isFirstRecord);
if
(
!
this
.
isFirstRecord
)
{
// console.log(123);
this
.
isFirstRecordId
=
item
.
id
;
this
.
showReport
=
true
;
return
;
}
uni
.
$u
.
route
({
url
:
'pages/record-type/index'
,
params
:
{
id
:
item
.
id
}
});
// console.log(123,'ttc');
uni
.
$u
.
route
({
url
:
'pages/record-type/index'
,
params
:
{
id
:
item
.
id
,
}
,
});
},
getIsFirstRecord
()
{
const
isFirstRecord
=
uni
.
getStorageSync
(
'isFirstRecord'
);
if
(
!
isFirstRecord
)
uni
.
setStorageSync
(
'isFirstRecord'
,
1
);
let
isFirstRecord
=
uni
.
getStorageSync
(
'isFirstRecord'
);
if
(
!
isFirstRecord
){
uni
.
setStorageSync
(
'isFirstRecord'
,
1
)
isFirstRecord
=
uni
.
getStorageSync
(
'isFirstRecord'
);
}
;
return
isFirstRecord
;
},
...
...
uni_modules/uview-ui/LICENSE
浏览文件 @
9b9dcb4f
MIT License
Copyright (c) 202
0
www.uviewui.com
Copyright (c) 202
3
www.uviewui.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
...
...
uni_modules/uview-ui/changelog.md
浏览文件 @
9b9dcb4f
## 2.0.34(2022-09-25)
## 2.0.36(2023-03-27)
# uView2.0重磅发布,利剑出鞘,一统江湖
1.
重构
`deepClone`
&
`deepMerge`
方法
2.
其他优化
## 2.0.34(2022-09-24)
# uView2.0重磅发布,利剑出鞘,一统江湖
1.
`u-input`
、
`u-textarea`
增加
`ignoreCompositionEvent`
属性
...
...
uni_modules/uview-ui/components/u-modal/u-modal.vue
浏览文件 @
9b9dcb4f
...
...
@@ -114,7 +114,7 @@
* @event {Function} confirm 点击确认按钮时触发
* @event {Function} cancel 点击取消按钮时触发
* @event {Function} close 点击遮罩关闭出发,closeOnClickOverlay为true有效
* @example <u-
loadmore :status="status" icon-type="iconType" load-text="loadText" /
>
* @example <u-
modal :show="true" title="title" content="content"></u-modal
>
*/
export
default
{
name
:
'u-modal'
,
...
...
@@ -146,7 +146,7 @@
},
// 点击遮罩
// 从原理上来说,modal的遮罩点击,并不是真的点击到了遮罩
// 因为modal依赖于popup的中部弹窗类型,中部弹窗比较特殊,虽
有然
遮罩,但是为了让弹窗内容能flex居中
// 因为modal依赖于popup的中部弹窗类型,中部弹窗比较特殊,虽
然有
遮罩,但是为了让弹窗内容能flex居中
// 多了一个透明的遮罩,此透明的遮罩会覆盖在灰色的遮罩上,所以实际上是点击不到灰色遮罩的,popup内部在
// 透明遮罩的子元素做了.stop处理,所以点击内容区,也不会导致误触发
clickHandler
()
{
...
...
uni_modules/uview-ui/components/u-text/props.js
浏览文件 @
9b9dcb4f
...
...
@@ -83,7 +83,7 @@ export default {
},
// 文字装饰,下划线,中划线等,可选值 none|underline|line-through
decoration
:
{
t
e
pe
:
String
,
t
y
pe
:
String
,
default
:
uni
.
$u
.
props
.
text
.
decoration
},
// 外边距,对象、字符串,数值形式均可
...
...
uni_modules/uview-ui/libs/config/config.js
浏览文件 @
9b9dcb4f
// 此版本发布于202
2-00-24
const
version
=
'2.0.3
4
'
// 此版本发布于202
3-03-27
const
version
=
'2.0.3
6
'
// 开发环境才提示,生产环境不会提示
if
(
process
.
env
.
NODE_ENV
===
'development'
)
{
...
...
uni_modules/uview-ui/libs/function/index.js
浏览文件 @
9b9dcb4f
...
...
@@ -179,22 +179,34 @@ function addUnit(value = 'auto', unit = uni?.$u?.config?.unit ?? 'px') {
/**
* @description 深度克隆
* @param {object} obj 需要深度克隆的对象
* @param cache 缓存
* @returns {*} 克隆后的对象或者原值(不是对象)
*/
function
deepClone
(
obj
)
{
// 对常见的“非”值,直接返回原来值
if
([
null
,
undefined
,
NaN
,
false
].
includes
(
obj
))
return
obj
if
(
typeof
obj
!==
'object'
&&
typeof
obj
!==
'function'
)
{
// 原始类型直接返回
return
obj
}
const
o
=
test
.
array
(
obj
)
?
[]
:
{}
for
(
const
i
in
obj
)
{
if
(
obj
.
hasOwnProperty
(
i
))
{
o
[
i
]
=
typeof
obj
[
i
]
===
'object'
?
deepClone
(
obj
[
i
])
:
obj
[
i
]
function
deepClone
(
obj
,
cache
=
new
WeakMap
())
{
if
(
obj
===
null
||
typeof
obj
!==
'object'
)
return
obj
;
if
(
cache
.
has
(
obj
))
return
cache
.
get
(
obj
);
let
clone
;
if
(
obj
instanceof
Date
)
{
clone
=
new
Date
(
obj
.
getTime
());
}
else
if
(
obj
instanceof
RegExp
)
{
clone
=
new
RegExp
(
obj
);
}
else
if
(
obj
instanceof
Map
)
{
clone
=
new
Map
(
Array
.
from
(
obj
,
([
key
,
value
])
=>
[
key
,
deepClone
(
value
,
cache
)]));
}
else
if
(
obj
instanceof
Set
)
{
clone
=
new
Set
(
Array
.
from
(
obj
,
value
=>
deepClone
(
value
,
cache
)));
}
else
if
(
Array
.
isArray
(
obj
))
{
clone
=
obj
.
map
(
value
=>
deepClone
(
value
,
cache
));
}
else
if
(
Object
.
prototype
.
toString
.
call
(
obj
)
===
'[object Object]'
)
{
clone
=
Object
.
create
(
Object
.
getPrototypeOf
(
obj
));
cache
.
set
(
obj
,
clone
);
for
(
const
[
key
,
value
]
of
Object
.
entries
(
obj
))
{
clone
[
key
]
=
deepClone
(
value
,
cache
);
}
}
else
{
clone
=
Object
.
assign
({},
obj
);
}
return
o
cache
.
set
(
obj
,
clone
);
return
clone
;
}
/**
...
...
@@ -205,24 +217,27 @@ function deepClone(obj) {
*/
function
deepMerge
(
target
=
{},
source
=
{})
{
target
=
deepClone
(
target
)
if
(
typeof
target
!==
'object'
||
typeof
source
!==
'object'
)
return
false
if
(
typeof
target
!==
'object'
||
target
===
null
||
typeof
source
!==
'object'
||
source
===
null
)
return
target
;
const
merged
=
Array
.
isArray
(
target
)
?
target
.
slice
()
:
Object
.
assign
({},
target
);
for
(
const
prop
in
source
)
{
if
(
!
source
.
hasOwnProperty
(
prop
))
continue
if
(
prop
in
target
)
{
if
(
typeof
target
[
prop
]
!==
'object'
)
{
target
[
prop
]
=
source
[
prop
]
}
else
if
(
typeof
source
[
prop
]
!==
'object'
)
{
target
[
prop
]
=
source
[
prop
]
}
else
if
(
target
[
prop
].
concat
&&
source
[
prop
].
concat
)
{
target
[
prop
]
=
target
[
prop
].
concat
(
source
[
prop
])
if
(
!
source
.
hasOwnProperty
(
prop
))
continue
;
const
sourceValue
=
source
[
prop
];
const
targetValue
=
merged
[
prop
];
if
(
sourceValue
instanceof
Date
)
{
merged
[
prop
]
=
new
Date
(
sourceValue
);
}
else
if
(
sourceValue
instanceof
RegExp
)
{
merged
[
prop
]
=
new
RegExp
(
sourceValue
);
}
else
if
(
sourceValue
instanceof
Map
)
{
merged
[
prop
]
=
new
Map
(
sourceValue
);
}
else
if
(
sourceValue
instanceof
Set
)
{
merged
[
prop
]
=
new
Set
(
sourceValue
);
}
else
if
(
typeof
sourceValue
===
'object'
&&
sourceValue
!==
null
)
{
merged
[
prop
]
=
deepMerge
(
targetValue
,
sourceValue
);
}
else
{
target
[
prop
]
=
deepMerge
(
target
[
prop
],
source
[
prop
])
merged
[
prop
]
=
sourceValue
;
}
}
else
{
target
[
prop
]
=
source
[
prop
]
}
}
return
target
return
merged
;
}
/**
...
...
@@ -650,6 +665,16 @@ function pages() {
return pages
}
/**
* 获取页面历史栈指定层实例
* @param back {number} [0] - 0或者负数,表示获取历史栈的哪一层,0表示获取当前页面实例,-1 表示获取上一个页面实例。默认0。
*/
function getHistoryPage(back = 0) {
const pages = getCurrentPages()
const len = pages.length
return pages[len - 1 + back]
}
/**
* @description 修改uView内置属性值
* @param {object} props 修改内置props属性
...
...
@@ -701,5 +726,6 @@ export default {
setProperty,
page,
pages,
getHistoryPage,
setConfig
}
uni_modules/uview-ui/libs/util/route.js
浏览文件 @
9b9dcb4f
...
...
@@ -53,7 +53,7 @@ class Router {
mergeConfig
.
url
=
this
.
mixinParam
(
options
,
params
)
mergeConfig
.
type
=
'navigateTo'
}
else
{
mergeConfig
=
uni
.
$u
.
deepMerge
(
options
,
this
.
config
)
mergeConfig
=
uni
.
$u
.
deepMerge
(
this
.
config
,
options
)
// 否则正常使用mergeConfig中的url和params进行拼接
mergeConfig
.
url
=
this
.
mixinParam
(
options
.
url
,
options
.
params
)
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论