提交 9b9dcb4f authored 作者: 黎九's avatar 黎九

bug修复

上级 a8bfe986
{ {
"name" : "荣县随手拍", "name" : "荣县随手拍",
"appid" : "__UNI__BD3107B", "appid" : "__UNI__7F4BF0D",
"description" : "", "description" : "",
"versionName" : "1.0.0", "versionName" : "1.0.0",
"versionCode" : "100", "versionCode" : "100",
......
...@@ -68,6 +68,7 @@ export default { ...@@ -68,6 +68,7 @@ export default {
onLoad(query) { onLoad(query) {
this.query = query; this.query = query;
console.log(query);
this.fetchPhotoTaskTypeData(); this.fetchPhotoTaskTypeData();
this.fetchPhotoTaskTypeDetail(); this.fetchPhotoTaskTypeDetail();
...@@ -80,7 +81,7 @@ export default { ...@@ -80,7 +81,7 @@ export default {
async fetchPhotoTaskTypeData() { async fetchPhotoTaskTypeData() {
const { list } = await uni.$u.http.get('/api/app/phototasktype/list', { params: { parent_id: this.query.id } }); const { list } = await uni.$u.http.get('/api/app/phototasktype/list', { params: { parent_id: this.query.id } });
this.list = list; this.list = list;
console.log(list);
// 可分类 // 可分类
if (list.some(v => v.category > 0)) { if (list.some(v => v.category > 0)) {
this.totalList = Object.keys(categoryMap).map((c, index) => { this.totalList = Object.keys(categoryMap).map((c, index) => {
...@@ -124,11 +125,14 @@ export default { ...@@ -124,11 +125,14 @@ export default {
}, },
onListClick(item, index) { onListClick(item, index) {
if (!this.isFirstRecordType) { if (!this.isFirstRecordType) {
console.log(123,'Tt');
this.isFirstRecordTypeId = item.id; this.isFirstRecordTypeId = item.id;
this.showReport = true; this.showReport = true;
return; return;
} }
console.log('ccc');
uni.$u.route({ uni.$u.route({
url: 'pages/record-content/index', url: 'pages/record-content/index',
params: { params: {
...@@ -139,8 +143,11 @@ export default { ...@@ -139,8 +143,11 @@ export default {
}, },
getIsFirstRecordType() { getIsFirstRecordType() {
const isFirstRecordType = uni.getStorageSync('isFirstRecordType'); let isFirstRecordType = uni.getStorageSync('isFirstRecordType');
if (!isFirstRecordType) uni.setStorageSync('isFirstRecordType', 1); if (!isFirstRecordType){
uni.setStorageSync('isFirstRecordType', 1);
isFirstRecordType = uni.getStorageSync('isFirstRecordType');
}
return isFirstRecordType; return isFirstRecordType;
}, },
}, },
......
...@@ -84,6 +84,7 @@ export default { ...@@ -84,6 +84,7 @@ export default {
// this.fetchPhotoTaskTypeDetail(); // this.fetchPhotoTaskTypeDetail();
this.isFirstRecord = this.getIsFirstRecord(); this.isFirstRecord = this.getIsFirstRecord();
// console.log(this.isFirstRecord);
}, },
onShow(options) {}, onShow(options) {},
...@@ -99,7 +100,7 @@ export default { ...@@ -99,7 +100,7 @@ export default {
async fetchPhotoTaskTypeDetail() { async fetchPhotoTaskTypeDetail() {
const { detail } = await uni.$u.http.get('/api/app/phototasktype/detail', { params: { id: 0 } }); const { detail } = await uni.$u.http.get('/api/app/phototasktype/detail', { params: { id: 0 } });
console.log(detail); // console.log(detail);
}, },
async fetchFalutTask(id) { async fetchFalutTask(id) {
...@@ -140,17 +141,28 @@ export default { ...@@ -140,17 +141,28 @@ export default {
}, },
onListClick(item, index) { onListClick(item, index) {
// console.log(this.isFirstRecord);
if (!this.isFirstRecord) { if (!this.isFirstRecord) {
// console.log(123);
this.isFirstRecordId = item.id; this.isFirstRecordId = item.id;
this.showReport = true; this.showReport = true;
return; 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() { getIsFirstRecord() {
const isFirstRecord = uni.getStorageSync('isFirstRecord'); let isFirstRecord = uni.getStorageSync('isFirstRecord');
if (!isFirstRecord) uni.setStorageSync('isFirstRecord', 1); if (!isFirstRecord){
uni.setStorageSync('isFirstRecord', 1)
isFirstRecord = uni.getStorageSync('isFirstRecord');
} ;
return isFirstRecord; return isFirstRecord;
}, },
......
MIT License MIT License
Copyright (c) 2020 www.uviewui.com Copyright (c) 2023 www.uviewui.com
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
......
## 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重磅发布,利剑出鞘,一统江湖 # uView2.0重磅发布,利剑出鞘,一统江湖
1. `u-input``u-textarea`增加`ignoreCompositionEvent`属性 1. `u-input``u-textarea`增加`ignoreCompositionEvent`属性
......
...@@ -114,7 +114,7 @@ ...@@ -114,7 +114,7 @@
* @event {Function} confirm 点击确认按钮时触发 * @event {Function} confirm 点击确认按钮时触发
* @event {Function} cancel 点击取消按钮时触发 * @event {Function} cancel 点击取消按钮时触发
* @event {Function} close 点击遮罩关闭出发,closeOnClickOverlay为true有效 * @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 { export default {
name: 'u-modal', name: 'u-modal',
...@@ -146,7 +146,7 @@ ...@@ -146,7 +146,7 @@
}, },
// 点击遮罩 // 点击遮罩
// 从原理上来说,modal的遮罩点击,并不是真的点击到了遮罩 // 从原理上来说,modal的遮罩点击,并不是真的点击到了遮罩
// 因为modal依赖于popup的中部弹窗类型,中部弹窗比较特殊,虽有然遮罩,但是为了让弹窗内容能flex居中 // 因为modal依赖于popup的中部弹窗类型,中部弹窗比较特殊,虽然有遮罩,但是为了让弹窗内容能flex居中
// 多了一个透明的遮罩,此透明的遮罩会覆盖在灰色的遮罩上,所以实际上是点击不到灰色遮罩的,popup内部在 // 多了一个透明的遮罩,此透明的遮罩会覆盖在灰色的遮罩上,所以实际上是点击不到灰色遮罩的,popup内部在
// 透明遮罩的子元素做了.stop处理,所以点击内容区,也不会导致误触发 // 透明遮罩的子元素做了.stop处理,所以点击内容区,也不会导致误触发
clickHandler() { clickHandler() {
......
...@@ -83,7 +83,7 @@ export default { ...@@ -83,7 +83,7 @@ export default {
}, },
// 文字装饰,下划线,中划线等,可选值 none|underline|line-through // 文字装饰,下划线,中划线等,可选值 none|underline|line-through
decoration: { decoration: {
tepe: String, type: String,
default: uni.$u.props.text.decoration default: uni.$u.props.text.decoration
}, },
// 外边距,对象、字符串,数值形式均可 // 外边距,对象、字符串,数值形式均可
......
// 此版本发布于2022-00-24 // 此版本发布于2023-03-27
const version = '2.0.34' const version = '2.0.36'
// 开发环境才提示,生产环境不会提示 // 开发环境才提示,生产环境不会提示
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
......
...@@ -179,22 +179,34 @@ function addUnit(value = 'auto', unit = uni?.$u?.config?.unit ?? 'px') { ...@@ -179,22 +179,34 @@ function addUnit(value = 'auto', unit = uni?.$u?.config?.unit ?? 'px') {
/** /**
* @description 深度克隆 * @description 深度克隆
* @param {object} obj 需要深度克隆的对象 * @param {object} obj 需要深度克隆的对象
* @param cache 缓存
* @returns {*} 克隆后的对象或者原值(不是对象) * @returns {*} 克隆后的对象或者原值(不是对象)
*/ */
function deepClone(obj) { function deepClone(obj, cache = new WeakMap()) {
// 对常见的“非”值,直接返回原来值 if (obj === null || typeof obj !== 'object') return obj;
if ([null, undefined, NaN, false].includes(obj)) return obj if (cache.has(obj)) return cache.get(obj);
if (typeof obj !== 'object' && typeof obj !== 'function') { let clone;
// 原始类型直接返回 if (obj instanceof Date) {
return obj clone = new Date(obj.getTime());
} } else if (obj instanceof RegExp) {
const o = test.array(obj) ? [] : {} clone = new RegExp(obj);
for (const i in obj) { } else if (obj instanceof Map) {
if (obj.hasOwnProperty(i)) { clone = new Map(Array.from(obj, ([key, value]) => [key, deepClone(value, cache)]));
o[i] = typeof obj[i] === 'object' ? deepClone(obj[i]) : obj[i] } 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) { ...@@ -205,24 +217,27 @@ function deepClone(obj) {
*/ */
function deepMerge(target = {}, source = {}) { function deepMerge(target = {}, source = {}) {
target = deepClone(target) 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) { for (const prop in source) {
if (!source.hasOwnProperty(prop)) continue if (!source.hasOwnProperty(prop)) continue;
if (prop in target) { const sourceValue = source[prop];
if (typeof target[prop] !== 'object') { const targetValue = merged[prop];
target[prop] = source[prop] if (sourceValue instanceof Date) {
} else if (typeof source[prop] !== 'object') { merged[prop] = new Date(sourceValue);
target[prop] = source[prop] } else if (sourceValue instanceof RegExp) {
} else if (target[prop].concat && source[prop].concat) { merged[prop] = new RegExp(sourceValue);
target[prop] = target[prop].concat(source[prop]) } 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 { } else {
target[prop] = deepMerge(target[prop], source[prop]) merged[prop] = sourceValue;
} }
} else {
target[prop] = source[prop]
} }
} return merged;
return target
} }
/** /**
...@@ -650,6 +665,16 @@ function pages() { ...@@ -650,6 +665,16 @@ function pages() {
return 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内置属性值 * @description 修改uView内置属性值
* @param {object} props 修改内置props属性 * @param {object} props 修改内置props属性
...@@ -701,5 +726,6 @@ export default { ...@@ -701,5 +726,6 @@ export default {
setProperty, setProperty,
page, page,
pages, pages,
getHistoryPage,
setConfig setConfig
} }
...@@ -53,7 +53,7 @@ class Router { ...@@ -53,7 +53,7 @@ class Router {
mergeConfig.url = this.mixinParam(options, params) mergeConfig.url = this.mixinParam(options, params)
mergeConfig.type = 'navigateTo' mergeConfig.type = 'navigateTo'
} else { } else {
mergeConfig = uni.$u.deepMerge(options, this.config) mergeConfig = uni.$u.deepMerge(this.config, options)
// 否则正常使用mergeConfig中的url和params进行拼接 // 否则正常使用mergeConfig中的url和params进行拼接
mergeConfig.url = this.mixinParam(options.url, options.params) mergeConfig.url = this.mixinParam(options.url, options.params)
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论