From 50fc1e106d9455735d39cd9742cf5078361fe6cf Mon Sep 17 00:00:00 2001
From: zhuhao <979263092@qq.com>
Date: Thu, 18 Jul 2024 09:13:57 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=A0=B8=E5=BF=83=E5=BC=80=E5=8F=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/renderer/src/utils/talkFile/index.js | 10 ++++++++++
src/renderer/src/views/prepare/index.vue | 15 +++------------
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/src/renderer/src/utils/talkFile/index.js b/src/renderer/src/utils/talkFile/index.js
index 61fe003..23495ce 100644
--- a/src/renderer/src/utils/talkFile/index.js
+++ b/src/renderer/src/utils/talkFile/index.js
@@ -8,3 +8,13 @@ export const isHaveLocalFile = async (fileNewName)=>{
})
})
}
+
+export const parseCataByNode = (node) => {
+ if (node.parentNode) {
+ let arr = parseCataByNode(node.parentNode)
+ arr.push(node.id)
+ return arr
+ } else {
+ return [node.id]
+ }
+}
diff --git a/src/renderer/src/views/prepare/index.vue b/src/renderer/src/views/prepare/index.vue
index e03962e..8429c16 100644
--- a/src/renderer/src/views/prepare/index.vue
+++ b/src/renderer/src/views/prepare/index.vue
@@ -77,7 +77,7 @@ import FileListItem from '@/views/prepare/container/file-list-item.vue'
import { getSmarttalkPage, moveSmarttalk } from '@/api/file'
import { toTimeText } from '@/utils/date'
import { ElMessage } from 'element-plus'
-import { isHaveLocalFile } from '@/utils/talkFile'
+import { isHaveLocalFile, parseCataByNode } from '@/utils/talkFile'
import FileOperBatch from '@/views/prepare/container/file-oper-batch.vue'
const { ipcRenderer } = window.electron || {}
export default {
@@ -192,7 +192,7 @@ export default {
id: ids.join(),
textbookId: cataData.textBook.curBookId
}
- let cata = this.parseCataByNode(cataData.node)
+ let cata = parseCataByNode(cataData.node)
if (
this.uploadData.levelFirstId == cata[0] &&
this.uploadData.levelSecondId == cata[1] &&
@@ -250,7 +250,7 @@ export default {
nodeClick(data) {
if (this.currentNode.id === data.node.id) return
this.checkFileList = []
- let cata = this.parseCataByNode(data.node)
+ let cata = parseCataByNode(data.node)
this.currentNode = data.node
this.uploadData.levelFirstId = cata[0]
this.uploadData.levelSecondId = cata[1]
@@ -276,15 +276,6 @@ export default {
console.log(res)
this.isLoading = false
})
- },
- parseCataByNode(node) {
- if (node.parentNode) {
- let arr = this.parseCataByNode(node.parentNode)
- arr.push(node.id)
- return arr
- } else {
- return [node.id]
- }
}
}
}
From 6c6b931740aa323fa089b3e7ed49dd67778703c7 Mon Sep 17 00:00:00 2001
From: cys <372127021@qq.com>
Date: Thu, 18 Jul 2024 09:34:15 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E5=A4=B4=E5=83=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 2 +-
src/renderer/index.html | 2 +-
src/renderer/src/views/profile/resetPwd.vue | 4 +-
src/renderer/src/views/profile/userAvatar.vue | 343 +++++++++---------
src/renderer/src/views/profile/userInfo.vue | 185 +++++-----
5 files changed, 279 insertions(+), 257 deletions(-)
diff --git a/package.json b/package.json
index aff64c5..e1d11d9 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"jsencrypt": "^3.3.2",
"pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.1",
- "vue-cropper": "^1.1.3",
+ "vue-cropper": "^1.0.3",
"vue-router": "^4.4.0"
},
"devDependencies": {
diff --git a/src/renderer/index.html b/src/renderer/index.html
index aa01b18..bec0a9f 100644
--- a/src/renderer/index.html
+++ b/src/renderer/index.html
@@ -8,7 +8,7 @@
http-equiv="Content-Security-Policy"
content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:"
/> -->
-
+
diff --git a/src/renderer/src/views/profile/resetPwd.vue b/src/renderer/src/views/profile/resetPwd.vue
index 4754ee3..b4d2ccb 100644
--- a/src/renderer/src/views/profile/resetPwd.vue
+++ b/src/renderer/src/views/profile/resetPwd.vue
@@ -31,10 +31,10 @@
+}
+/** 上传图片 */
+function uploadImg() {
+ proxy.$refs.cropper.getCropBlob((data) => {
+ let formData = new FormData()
+ formData.append('avatarfile', data)
+ uploadAvatar(formData).then((response) => {
+ open.value = false
+ options.img = import.meta.env.VITE_APP_BASE_API + response.imgUrl
+ userStore.avatar = options.img
+ proxy.$modal.msgSuccess('修改成功')
+ visible.value = false
+ })
+ })
+}
+/** 实时预览 */
+function realTime(data) {
+ options.previews = data
+}
+/** 关闭窗口 */
+function closeDialog() {
+ options.img = userStore.avatar
+ options.visible = false
+}
+
\ No newline at end of file
+.user-info-head {
+ position: relative;
+ display: inline-block;
+ height: 120px;
+}
+
+.user-info-head:hover:after {
+ content: '+';
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ color: #eee;
+ background: rgba(0, 0, 0, 0.5);
+ font-size: 24px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ cursor: pointer;
+ line-height: 110px;
+ border-radius: 50%;
+}
+.img-circle {
+ height: 120px;
+ width: auto;
+}
+
\ No newline at end of file
diff --git a/src/renderer/src/views/profile/userInfo.vue b/src/renderer/src/views/profile/userInfo.vue
index 6846cfa..c560d39 100644
--- a/src/renderer/src/views/profile/userInfo.vue
+++ b/src/renderer/src/views/profile/userInfo.vue
@@ -1,89 +1,104 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 男
- 女
-
-
-
-
-
- {{ item.itemtitle }}
-
-
-
-
- 保存
- 测验
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 男
+ 女
+
+
+
+
+
+ {{
+ item.itemtitle
+ }}
+
+
+
+
+ 保存
+
+
+
\ No newline at end of file
+const props = defineProps({
+ user: {
+ type: Object
+ }
+})
+
+const { proxy } = getCurrentInstance()
+
+const rules = ref({
+ nickName: [{ required: true, message: '用户昵称不能为空', trigger: 'blur' }],
+ email: [
+ { required: true, message: '邮箱地址不能为空', trigger: 'blur' },
+ { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }
+ ],
+ phonenumber: [
+ { required: true, message: '手机号码不能为空', trigger: 'blur' },
+ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: '请输入正确的手机号码', trigger: 'blur' }
+ ]
+})
+
+const subjectList = ref([])
+
+// 获取基础的学科
+listEvaluation({ itemkey: 'subject', pageSize: 500 }).then((res) => {
+ subjectList.value = res.rows
+})
+
+setTimeout(() => {
+ if (props.user.edudegree != '') {
+ var upcaseName = [
+ '一年级',
+ '二年级',
+ '三年级',
+ '四年级',
+ '五年级',
+ '六年级',
+ '初一',
+ '初二',
+ '初三',
+ '高一',
+ '高二',
+ '高三'
+ ]
+ var d = parseInt(props.user.edudegree.replace('年级', ''))
+ if (d <= 6) {
+ props.user.edustage = '小学'
+ } else if (d >= 7 && d <= 9) {
+ props.user.edustage = '初中'
+ } else if (d >= 9 && d <= 12) {
+ props.user.edustage = '高中'
+ }
+ props.user.stagelabel = upcaseName[d - 1]
+ }
+}, 1000)
+
+/** 提交按钮 */
+function submit() {
+ proxy.$refs.userRef.validate((valid) => {
+ if (valid) {
+ console.log(props.user)
+ updateUserProfile(props.user).then((response) => {
+ proxy.$modal.msgSuccess('修改成功')
+ })
+ }
+ })
+}
+
\ No newline at end of file
From 412e0a01ac00fb0797bb8327b7b203b5b9d10001 Mon Sep 17 00:00:00 2001
From: yangws <1607839436@qq.com>
Date: Thu, 18 Jul 2024 10:45:33 +0800
Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=A4=B4=E5=83=8F?=
=?UTF-8?q?=E9=A2=84=E8=A7=88=EF=BC=8C=E5=A4=B4=E5=83=8F=E4=B8=8A=E4=BC=A0?=
=?UTF-8?q?bug=EF=BC=8C=E4=BB=A5=E5=8F=8A=E9=BB=84=E8=89=B2=E6=8A=A5?=
=?UTF-8?q?=E9=94=99=E9=97=AE=E9=A2=98=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/renderer/src/api/system/user.js | 11 +++++++----
src/renderer/src/views/profile/userAvatar.vue | 19 +++++++++++++------
src/renderer/src/views/profile/userInfo.vue | 16 ++++++++--------
3 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/src/renderer/src/api/system/user.js b/src/renderer/src/api/system/user.js
index c83e0f6..b7e9e23 100644
--- a/src/renderer/src/api/system/user.js
+++ b/src/renderer/src/api/system/user.js
@@ -7,7 +7,7 @@ export function getUserProfile() {
method: 'get'
})
}
-
+
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
@@ -16,7 +16,7 @@ export function getUserProfile() {
data: data
})
}
-
+
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
@@ -29,11 +29,14 @@ export function getUserProfile() {
params: data
})
}
-
+
// 用户头像上传
export function uploadAvatar(data) {
return request({
url: '/system/user/profile/avatar',
+ headers: {
+ 'Content-Type': 'multipart/form-data'
+ },
method: 'post',
data: data
})
@@ -46,4 +49,4 @@ export function updateUserInfo(data) {
method: 'put',
data: data
})
-}
\ No newline at end of file
+}
diff --git a/src/renderer/src/views/profile/userAvatar.vue b/src/renderer/src/views/profile/userAvatar.vue
index b301307..1c289a4 100644
--- a/src/renderer/src/views/profile/userAvatar.vue
+++ b/src/renderer/src/views/profile/userAvatar.vue
@@ -26,7 +26,7 @@
-
+
@@ -64,7 +64,7 @@
-
+
-
+
\ No newline at end of file
+
diff --git a/src/renderer/src/views/profile/userInfo.vue b/src/renderer/src/views/profile/userInfo.vue
index c560d39..808e344 100644
--- a/src/renderer/src/views/profile/userInfo.vue
+++ b/src/renderer/src/views/profile/userInfo.vue
@@ -11,16 +11,16 @@
- 男
- 女
+ 男
+ 女
-
- {{
- item.itemtitle
- }}
+
+
+ {{item.itemtitle }}
+
@@ -29,7 +29,7 @@
-
+
\ No newline at end of file
+