Compare commits

...

3 Commits

Author SHA1 Message Date
阿斌
68468d6568
Pre Merge pull request !41 from 阿斌/N/A 2025-10-24 08:54:31 +00:00
lin
b151aec5a0 修复开启订阅和取消订阅时EventId不一致 2025-10-24 16:54:12 +08:00
阿斌
34d1dbb399
修复两次密码不一致时,任然可以修改密码,且成功提交,密码用*代替
还有以下一处需要修改web\src\layout\components\dialog\changePassword.vue

Signed-off-by: 阿斌 <38912748@qq.com>
2025-08-23 15:03:02 +00:00
3 changed files with 30 additions and 8 deletions

View File

@ -3,6 +3,8 @@ package com.genersoft.iot.vmp.gb28181.bean;
import gov.nist.javax.sip.message.SIPResponse; import gov.nist.javax.sip.message.SIPResponse;
import lombok.Data; import lombok.Data;
import javax.sip.header.EventHeader;
@Data @Data
public class SipTransactionInfo { public class SipTransactionInfo {
@ -12,6 +14,7 @@ public class SipTransactionInfo {
private String viaBranch; private String viaBranch;
private int expires; private int expires;
private String user; private String user;
private String eventId;
// 自己是否媒体流发送者 // 自己是否媒体流发送者
private boolean asSender; private boolean asSender;
@ -22,6 +25,10 @@ public class SipTransactionInfo {
this.toTag = response.getToTag(); this.toTag = response.getToTag();
this.viaBranch = response.getTopmostViaHeader().getBranch(); this.viaBranch = response.getTopmostViaHeader().getBranch();
this.asSender = asSender; this.asSender = asSender;
EventHeader header = (EventHeader)response.getHeader(EventHeader.NAME);
if (header != null) {
this.eventId = header.getEventId();
}
} }
public SipTransactionInfo(SIPResponse response) { public SipTransactionInfo(SIPResponse response) {
@ -30,6 +37,10 @@ public class SipTransactionInfo {
this.toTag = response.getToTag(); this.toTag = response.getToTag();
this.viaBranch = response.getTopmostViaHeader().getBranch(); this.viaBranch = response.getTopmostViaHeader().getBranch();
this.asSender = false; this.asSender = false;
EventHeader header = (EventHeader)response.getHeader(EventHeader.NAME);
if (header != null) {
this.eventId = header.getEventId();
}
} }
public SipTransactionInfo() { public SipTransactionInfo() {

View File

@ -271,9 +271,12 @@ public class SIPRequestHeaderProvider {
// Event // Event
EventHeader eventHeader = SipFactory.getInstance().createHeaderFactory().createEventHeader(event); EventHeader eventHeader = SipFactory.getInstance().createHeaderFactory().createEventHeader(event);
if (sipTransactionInfo != null && sipTransactionInfo.getEventId() != null) {
eventHeader.setEventId(sipTransactionInfo.getEventId());
}else {
int random = (int) Math.floor(Math.random() * 10000); int random = (int) Math.floor(Math.random() * 10000);
eventHeader.setEventId(random + ""); eventHeader.setEventId(random + "");
}
request.addHeader(eventHeader); request.addHeader(eventHeader);
ContentTypeHeader contentTypeHeader = SipFactory.getInstance().createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml"); ContentTypeHeader contentTypeHeader = SipFactory.getInstance().createHeaderFactory().createContentTypeHeader("Application", "MANSCDP+xml");

View File

@ -13,10 +13,10 @@
<div id="shared" style="margin-right: 20px;"> <div id="shared" style="margin-right: 20px;">
<el-form ref="passwordForm" :rules="rules" status-icon label-width="80px"> <el-form ref="passwordForm" :rules="rules" status-icon label-width="80px">
<el-form-item label="新密码" prop="newPassword"> <el-form-item label="新密码" prop="newPassword">
<el-input v-model="newPassword" autocomplete="off" /> <el-input v-model="newPassword" autocomplete="off" type="password" />
</el-form-item> </el-form-item>
<el-form-item label="确认密码" prop="confirmPassword"> <el-form-item label="确认密码" prop="confirmPassword">
<el-input v-model="confirmPassword" autocomplete="off" /> <el-input v-model="confirmPassword" autocomplete="off" type="password" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -88,6 +88,14 @@ export default {
} }
}, },
onSubmit: function() { onSubmit: function() {
if (this.newPassword !== this.confirmPassword) {
this.$message({
showClose: true,
message: '两次输入密码不一致!',
type: 'error'
})
return
}
this.$store.dispatch('user/changePasswordForAdmin', { this.$store.dispatch('user/changePasswordForAdmin', {
password: this.newPassword, password: this.newPassword,
userId: this.form.id userId: this.form.id