Browse Source

fix: 登陆 改为 登陆

master
xsx 1 year ago
parent
commit
22967cd0f9
  1. 4
      im-common/src/main/java/com/bx/imcommon/enums/IMCmdType.java
  2. 4
      im-platform/src/main/java/com/bx/implatform/controller/LoginController.java
  3. 2
      im-platform/src/main/java/com/bx/implatform/interceptor/AuthInterceptor.java
  4. 2
      im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java
  5. 2
      im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java
  6. 2
      im-uniapp/App.vue
  7. 167
      im-uniapp/manifest.json
  8. 2
      im-uniapp/pages/mine/mine.vue
  9. 4
      im-uniapp/pages/register/register.vue
  10. 2
      im-web/src/view/Home.vue
  11. 6
      im-web/src/view/Login.vue

4
im-common/src/main/java/com/bx/imcommon/enums/IMCmdType.java

@ -6,9 +6,9 @@ import lombok.AllArgsConstructor;
public enum IMCmdType { public enum IMCmdType {
/** /**
* *
*/ */
LOGIN(0, "登"), LOGIN(0, "登"),
/** /**
* 心跳 * 心跳
*/ */

4
im-platform/src/main/java/com/bx/implatform/controller/LoginController.java

@ -13,7 +13,7 @@ import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@Tag(name = "注册登") @Tag(name = "注册登")
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class LoginController { public class LoginController {
@ -21,7 +21,7 @@ public class LoginController {
private final UserService userService; private final UserService userService;
@PostMapping("/login") @PostMapping("/login")
@Operation(summary = "用户登", description = "用户登") @Operation(summary = "用户登", description = "用户登")
public Result<LoginVO> login(@Valid @RequestBody LoginDTO dto) { public Result<LoginVO> login(@Valid @RequestBody LoginDTO dto) {
LoginVO vo = userService.login(dto); LoginVO vo = userService.login(dto);
return ResultUtils.success(vo); return ResultUtils.success(vo);

2
im-platform/src/main/java/com/bx/implatform/interceptor/AuthInterceptor.java

@ -32,7 +32,7 @@ public class AuthInterceptor implements HandlerInterceptor {
//从 http 请求头中取出 token //从 http 请求头中取出 token
String token = request.getHeader("accessToken"); String token = request.getHeader("accessToken");
if (StrUtil.isEmpty(token)) { if (StrUtil.isEmpty(token)) {
log.error("未登,url:{}", request.getRequestURI()); log.error("未登,url:{}", request.getRequestURI());
throw new GlobalException(ResultCode.NO_LOGIN); throw new GlobalException(ResultCode.NO_LOGIN);
} }
String strJson = JwtUtil.getInfo(token); String strJson = JwtUtil.getInfo(token);

2
im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java

@ -81,7 +81,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
public LoginVO refreshToken(String refreshToken) { public LoginVO refreshToken(String refreshToken) {
//验证 token //验证 token
if (!JwtUtil.checkSign(refreshToken, jwtProperties.getRefreshTokenSecret())) { if (!JwtUtil.checkSign(refreshToken, jwtProperties.getRefreshTokenSecret())) {
throw new GlobalException("您的登陆信息已过期,请重新登陆"); throw new GlobalException("您的登录信息已过期,请重新登录");
} }
String strJson = JwtUtil.getInfo(refreshToken); String strJson = JwtUtil.getInfo(refreshToken);
Long userId = JwtUtil.getUserId(refreshToken); Long userId = JwtUtil.getUserId(refreshToken);

2
im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java

@ -49,7 +49,7 @@ public class LoginProcessor extends AbstractMessageProcessor<IMLoginInfo> {
// 不允许多地登录,强制下线 // 不允许多地登录,强制下线
IMSendInfo<Object> sendInfo = new IMSendInfo<>(); IMSendInfo<Object> sendInfo = new IMSendInfo<>();
sendInfo.setCmd(IMCmdType.FORCE_LOGUT.code()); sendInfo.setCmd(IMCmdType.FORCE_LOGUT.code());
sendInfo.setData("您已在其他地方登,将被强制下线"); sendInfo.setData("您已在其他地方登,将被强制下线");
context.channel().writeAndFlush(sendInfo); context.channel().writeAndFlush(sendInfo);
log.info("异地登录,强制下线,userId:{}", userId); log.info("异地登录,强制下线,userId:{}", userId);
} }

2
im-uniapp/App.vue

@ -47,7 +47,7 @@ export default {
if (cmd == 2) { if (cmd == 2) {
// 线 // 线
uni.showModal({ uni.showModal({
content: '您已在其他地方登,将被强制下线', content: '您已在其他地方登,将被强制下线',
showCancel: false, showCancel: false,
}) })
this.exit(); this.exit();

167
im-uniapp/manifest.json

@ -1,32 +1,32 @@
{ {
"name": "盒子IM", "name" : "盒子IM",
"appid": "__UNI__69DD57A", "appid" : "__UNI__69DD57A",
"description": "", "description" : "",
"versionName": "3.1.0", "versionName" : "3.1.0",
"versionCode": 3100, "versionCode" : 3100,
"transformPx": false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus": { "app-plus" : {
"usingComponents": true, "usingComponents" : true,
"nvueStyleCompiler": "uni-app", "nvueStyleCompiler" : "uni-app",
"compilerVersion": 3, "compilerVersion" : 3,
"splashscreen": { "splashscreen" : {
"alwaysShowBeforeRender": true, "alwaysShowBeforeRender" : true,
"waiting": true, "waiting" : true,
"autoclose": true, "autoclose" : true,
"delay": 0 "delay" : 0
}, },
/* */ /* */
"modules": { "modules" : {
"Camera": {}, "Camera" : {},
"Record": {}, "Record" : {},
"Bluetooth": {} "Bluetooth" : {}
}, },
/* */ /* */
"distribute": { "distribute" : {
/* android */ /* android */
"android": { "android" : {
"permissions": [ "permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@ -45,90 +45,87 @@
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" />", "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\" />",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\" />" "<uses-permission android:name=\"android.permission.RECORD_AUDIO\" />"
], ],
"abiFilters": [ "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
"armeabi-v7a", "minSdkVersion" : 21
"arm64-v8a",
"x86"
],
"minSdkVersion": 21
}, },
/* ios */ /* ios */
"ios": { "ios" : {
"dSYMs": false, "dSYMs" : false,
"privacyDescription": { "privacyDescription" : {
"NSMicrophoneUsageDescription": "", "NSMicrophoneUsageDescription" : "",
"NSCameraUsageDescription": "" "NSCameraUsageDescription" : ""
}, },
"idfa": false "idfa" : false
}, },
/* SDK */ /* SDK */
"sdkConfigs": { "sdkConfigs" : {
"ad": {}, "ad" : {},
"speech": {} "speech" : {}
}, },
"icons": { "icons" : {
"android": { "android" : {
"xhdpi": "unpackage/res/icons/96x96.png", "xhdpi" : "unpackage/res/icons/96x96.png",
"hdpi": "unpackage/res/icons/72x72.png", "hdpi" : "unpackage/res/icons/72x72.png",
"xxhdpi": "unpackage/res/icons/144x144.png", "xxhdpi" : "unpackage/res/icons/144x144.png",
"xxxhdpi": "unpackage/res/icons/192x192.png" "xxxhdpi" : "unpackage/res/icons/192x192.png"
}, },
"ios": { "ios" : {
"appstore": "unpackage/res/icons/1024x1024.png", "appstore" : "unpackage/res/icons/1024x1024.png",
"ipad": { "ipad" : {
"app": "unpackage/res/icons/76x76.png", "app" : "unpackage/res/icons/76x76.png",
"app@2x": "unpackage/res/icons/152x152.png", "app@2x" : "unpackage/res/icons/152x152.png",
"notification": "unpackage/res/icons/20x20.png", "notification" : "unpackage/res/icons/20x20.png",
"notification@2x": "unpackage/res/icons/40x40.png", "notification@2x" : "unpackage/res/icons/40x40.png",
"proapp@2x": "unpackage/res/icons/167x167.png", "proapp@2x" : "unpackage/res/icons/167x167.png",
"settings": "unpackage/res/icons/29x29.png", "settings" : "unpackage/res/icons/29x29.png",
"settings@2x": "unpackage/res/icons/58x58.png", "settings@2x" : "unpackage/res/icons/58x58.png",
"spotlight": "unpackage/res/icons/40x40.png", "spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x": "unpackage/res/icons/80x80.png" "spotlight@2x" : "unpackage/res/icons/80x80.png"
}, },
"iphone": { "iphone" : {
"app@2x": "unpackage/res/icons/120x120.png", "app@2x" : "unpackage/res/icons/120x120.png",
"app@3x": "unpackage/res/icons/180x180.png", "app@3x" : "unpackage/res/icons/180x180.png",
"notification@2x": "unpackage/res/icons/40x40.png", "notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x": "unpackage/res/icons/60x60.png", "notification@3x" : "unpackage/res/icons/60x60.png",
"settings@2x": "unpackage/res/icons/58x58.png", "settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x": "unpackage/res/icons/87x87.png", "settings@3x" : "unpackage/res/icons/87x87.png",
"spotlight@2x": "unpackage/res/icons/80x80.png", "spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x": "unpackage/res/icons/120x120.png" "spotlight@3x" : "unpackage/res/icons/120x120.png"
} }
} }
} }
} }
}, },
/* */ /* */
"quickapp": {}, "quickapp" : {},
/* */ /* */
"mp-weixin": { "mp-weixin" : {
"appid": "wxda94f40bfad0262c", "appid" : "wxda94f40bfad0262c",
"libVersion": "latest", "libVersion" : "latest",
"setting": { "setting" : {
"urlCheck": false "urlCheck" : false
}, },
"usingComponents": true "usingComponents" : true
}, },
"mp-alipay": { "mp-alipay" : {
"usingComponents": true "usingComponents" : true
}, },
"mp-baidu": { "mp-baidu" : {
"usingComponents": true "usingComponents" : true
}, },
"mp-toutiao": { "mp-toutiao" : {
"usingComponents": true "usingComponents" : true
}, },
"uniStatistics": { "uniStatistics" : {
"enable": false "enable" : false
}, },
"vueVersion": "3", "vueVersion" : "3",
"h5": { "h5" : {
"title": "盒子IM", "title" : "盒子IM",
"router": { "router" : {
"base": "/h5/" "base" : "/h5/"
} }
} }
} }
/* ios */ /* SDK */ /* ios *//* SDK */

2
im-uniapp/pages/mine/mine.vue

@ -40,7 +40,7 @@
<arrow-bar title="修改密码" @click="onModifyPassword()"></arrow-bar> <arrow-bar title="修改密码" @click="onModifyPassword()"></arrow-bar>
</bar-group> </bar-group>
<bar-group> <bar-group>
<btn-bar title="退出登" type="danger" @click="onQuit()"></btn-bar> <btn-bar title="退出登" type="danger" @click="onQuit()"></btn-bar>
</bar-group> </bar-group>
</view> </view>
</template> </template>

4
im-uniapp/pages/register/register.vue

@ -14,10 +14,10 @@
<uni-forms-item name="corfirmPassword" label="确认密码"> <uni-forms-item name="corfirmPassword" label="确认密码">
<uni-easyinput type="password" v-model="dataForm.corfirmPassword" placeholder="确认密码" /> <uni-easyinput type="password" v-model="dataForm.corfirmPassword" placeholder="确认密码" />
</uni-forms-item> </uni-forms-item>
<button class="btn-submit" @click="submit" type="primary">注册并登</button> <button class="btn-submit" @click="submit" type="primary">注册并登</button>
</uni-forms> </uni-forms>
<navigator class="nav-login" url="/pages/login/login"> <navigator class="nav-login" url="/pages/login/login">
返回登页面 返回登页面
</navigator> </navigator>
</view> </view>
</template> </template>

2
im-web/src/view/Home.vue

@ -107,7 +107,7 @@ export default {
// ws // ws
this.$wsApi.close(3000) this.$wsApi.close(3000)
// 线 // 线
this.$alert("您已在其他地方登,将被强制下线", "强制下线通知", { this.$alert("您已在其他地方登,将被强制下线", "强制下线通知", {
confirmButtonText: '确定', confirmButtonText: '确定',
callback: action => { callback: action => {
location.href = "/"; location.href = "/";

6
im-web/src/view/Login.vue

@ -5,7 +5,7 @@
@keyup.enter.native="submitForm('loginForm')"> @keyup.enter.native="submitForm('loginForm')">
<div class="login-brand"> <div class="login-brand">
<img class="logo" src="../../public/logo.png" /> <img class="logo" src="../../public/logo.png" />
<div>盒子IM</div> <div>盒子IM</div>
</div> </div>
<el-form-item label="终端" prop="userName" v-show="false"> <el-form-item label="终端" prop="userName" v-show="false">
<el-input type="terminal" v-model="loginForm.terminal" autocomplete="off"></el-input> <el-input type="terminal" v-model="loginForm.terminal" autocomplete="off"></el-input>
@ -19,7 +19,7 @@
placeholder="密码"></el-input> placeholder="密码"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm('loginForm')"></el-button> <el-button type="primary" @click="submitForm('loginForm')"></el-button>
<el-button @click="resetForm('loginForm')">清空</el-button> <el-button @click="resetForm('loginForm')">清空</el-button>
</el-form-item> </el-form-item>
<div class="register"> <div class="register">
@ -86,7 +86,7 @@ export default {
// token // token
sessionStorage.setItem("accessToken", data.accessToken); sessionStorage.setItem("accessToken", data.accessToken);
sessionStorage.setItem("refreshToken", data.refreshToken); sessionStorage.setItem("refreshToken", data.refreshToken);
this.$message.success("登成功"); this.$message.success("登成功");
this.$router.push("/home/chat"); this.$router.push("/home/chat");
}) })

Loading…
Cancel
Save