SQLITE 数据库优化,创建时机调整

This commit is contained in:
2022-02-24 17:51:59 +08:00
parent 90584f1101
commit e0185e589d
5 changed files with 59 additions and 46 deletions

View File

@@ -1,4 +1,7 @@
import im from "@/utils/im/index.js"
import {
contactModel
} from '@/utils/im/models.js'
export default {
state: {
@@ -9,10 +12,10 @@ export default {
contacts(state) {
return state.contacts
},
contactInfo: (state) => (targetId) => {
contactInfo: (state) => (targetId) => {
if (state.contacts[targetId]) {
const info = state.contacts[targetId]
const info = state.contacts[targetId]
return {
name: info.name,
hash: info.hash,
@@ -38,7 +41,7 @@ export default {
updateContactInfo(state, contactInfo) {
Vue.set(state.contacts, contactInfo.targetId, contactInfo)
},
setSenderInfo(state, contactInfo) {
setSenderInfo(state, contactInfo) {
state.myInfo = {
userId: contactInfo.targetId,
name: contactInfo.name,
@@ -50,7 +53,7 @@ export default {
setSenderInfo({
commit
}, contactInfo) {
commit('setSenderInfo', contactInfo)
commit('setSenderInfo', contactInfo)
},
// 载入好友信息
launchContact({
@@ -63,8 +66,7 @@ export default {
commit,
dispatch
}, contactInfo) {
const model = uni.model.contactModel
model.find('targetId="' + contactInfo.targetId + '"', (err, result) => {
contactModel.find('targetId="' + contactInfo.targetId + '"', (err, result) => {
if (result.length == 0) {
// 没有数据,直接新增一条
dispatch('initContact', contactInfo)
@@ -74,14 +76,14 @@ export default {
const info = {
targetId: contactInfo.targetId,
name: contactInfo.name,
hash: contactInfo.hash,
hash: contactInfo.hash,
type: contactInfo.type,
portraitUrl: contactInfo.portraitUrl,
localAvatar: savedFilePath,
type: contactInfo.type
localAvatar: savedFilePath
}
model.update('targetId="' + contactInfo.targetId + '"', info, (err,
contactModel.update('targetId="' + contactInfo.targetId + '"', info, (err,
res) => {
console.log('UPDATE AVATAR, ERR', err, info);
console.log('UPDATE AVATAR, ERR', err, info)
})
commit('updateContactInfo', info)
})
@@ -89,18 +91,18 @@ export default {
const info = {
targetId: contactInfo.targetId,
name: contactInfo.name,
hash: contactInfo.hash,
hash: contactInfo.hash,
type: contactInfo.type,
portraitUrl: contactInfo.portraitUrl,
localAvatar: result[0].localAvatar,
type: contactInfo.type
localAvatar: result[0].localAvatar
}
model.update('targetId="' + contactInfo.targetId + '"', info, (err, res) => {
contactModel.update('targetId="' + contactInfo.targetId + '"', info, (err, res) => {
console.log('UPDATE NAME, ERR', err, info);
})
commit('updateContactInfo', info)
}
} else {
console.log('updateContact, 无操作');
console.log('updateContact, 无操作')
}
})
},
@@ -110,19 +112,20 @@ export default {
}, contactInfo) {
// 将好友信息保存到vuex的内存中方便立即使用
commit('updateContactInfo', contactInfo)
const model = uni.model.contactModel
// 用户头像,是否需要下载到本地
if (contactInfo.portraitUrl) {
saveAvatar(contactInfo, (savedFilePath) => {
const info = {
targetId: contactInfo.targetId,
name: contactInfo.name,
hash: contactInfo.hash,
hash: contactInfo.hash,
type: contactInfo.type,
portraitUrl: contactInfo.portraitUrl,
localAvatar: savedFilePath,
type: contactInfo.type
localAvatar: savedFilePath
}
model.insert(info, (err, res) => {})
contactModel.insert(info, (err, res) => {
console.error('保存头像', err, res)
})
// 保存头像后,更新信息
commit('updateContactInfo', info)
})
@@ -131,12 +134,14 @@ export default {
const info = {
targetId: contactInfo.targetId,
name: contactInfo.name,
hash: contactInfo.hash,
hash: contactInfo.hash,
type: contactInfo.type,
portraitUrl: contactInfo.portraitUrl,
localAvatar: '',
type: contactInfo.type
localAvatar: ''
}
model.insert(info, (err, res) => {})
contactModel.insert(info, (err, res) => {
console.error('没保存头像', err, res)
})
}
}
}