提交roll日创建

This commit is contained in:
2026-07-14 19:38:41 +08:00
parent 01444937bd
commit 65c290c973
8 changed files with 87 additions and 9 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ Router.prototype.push = function push(location) {
};
Vue.filter('fullPath', (path) => {
if (typeof path === 'string' && path.trim()) {
const baseUrl = 'http://43.199.63.175:8081';
const baseUrl = 'http://156.238.240.18:8081';
// 检查 path 是否以 http 或者 https 开头
if (/^(http|https):\/\//i.test(path)) {
return path.trim();
+2 -2
View File
@@ -150,7 +150,7 @@ export default {
loginAvatar() {
const avatar = this.USER_INFO && this.USER_INFO.avatar;
if (!avatar || !avatar.trim()) return this.defaultAvatar;
const baseUrl = 'http://43.199.63.175:8081';
const baseUrl = 'http://156.238.240.18:8081';
const oldHost = 'http://154.12.94.229:8080';
const trimmed = avatar.trim();
if (trimmed.startsWith(oldHost)) return baseUrl + trimmed.slice(oldHost.length);
@@ -201,7 +201,7 @@ export default {
if (!imgUrl) return '';
const url = imgUrl.trim();
if (/^(http|https):\/\//i.test(url)) return url;
return 'http://43.199.63.175:8081' + url;
return 'http://156.238.240.18:8081' + url;
},
playAudio() {
this.$store.commit("playAudio");
@@ -197,7 +197,7 @@ export default {
loginAvatar() {
const avatar = this.USER_INFO && this.USER_INFO.avatar;
if (!avatar || !avatar.trim()) return this.defaultAvatar;
const baseUrl = 'http://43.199.63.175:8081';
const baseUrl = 'http://156.238.240.18:8081';
const oldHost = 'http://154.12.94.229:8080';
const trimmed = avatar.trim();
if (trimmed.startsWith(oldHost)) return baseUrl + trimmed.slice(oldHost.length);
@@ -448,7 +448,7 @@ export default {
},
getAvatar(avatar) {
if (!avatar || !avatar.trim()) return this.defaultAvatar;
const baseUrl = 'http://43.199.63.175:8081';
const baseUrl = 'http://156.238.240.18:8081';
const oldHost = 'http://154.12.94.229:8080';
const trimmed = avatar.trim();
if (trimmed.startsWith(oldHost)) return baseUrl + trimmed.slice(oldHost.length);
@@ -461,7 +461,7 @@ export default {
if (!imgUrl) return '';
const url = imgUrl.trim();
if (/^(http|https):\/\//i.test(url)) return url;
return 'http://43.199.63.175:8081' + url;
return 'http://156.238.240.18:8081' + url;
},
},
};
+1 -1
View File
@@ -145,7 +145,7 @@ export default {
loginAvatar() {
const avatar = this.USER_INFO && this.USER_INFO.avatar;
if (!avatar || !avatar.trim()) return this.defaultAvatar;
const baseUrl = 'http://43.199.63.175:8081';
const baseUrl = 'http://156.238.240.18:8081';
const oldHost = 'http://154.12.94.229:8080';
const trimmed = avatar.trim();
if (trimmed.startsWith(oldHost)) return baseUrl + trimmed.slice(oldHost.length);
@@ -39,6 +39,10 @@ public class ResourcesConfig implements WebMvcConfigurer
registry.addResourceHandler("/upload/**")
.addResourceLocations("file:" + RuoYiConfig.getProfile() + "/upload/");
/** 头像静态资源路径 */
registry.addResourceHandler("/avater/**")
.addResourceLocations("file:/www/static/avater/");
/** swagger配置 */
registry.addResourceHandler("/swagger-ui/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
@@ -87,7 +87,7 @@ public class SecurityConfig {
auth.requestMatchers("/login", "/register", "/captchaImage").permitAll()
// 静态资源
.requestMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html",
"/**/*.css", "/**/*.js", "/profile/**", "/uploads/**", "/upload/**").permitAll()
"/**/*.css", "/**/*.js", "/profile/**", "/uploads/**", "/upload/**", "/avater/**").permitAll()
// Swagger & Druid
.requestMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
// 业务接口
@@ -386,7 +386,7 @@ public class TtUserServiceImpl extends ServiceImpl<TtUserMapper, TtUser> impleme
List<TtUser> userList = new ArrayList<>();
for (int i = 0; i < num; i++) {
String phoneNumber = getRandomPhoneNumber();
String nickName = RandomUtils.getRandomMixedName(new Random().nextInt(2));
String nickName = RandomUtils.getRandomNetName();
String password = RandomUtil.randomString(10);
String invitationCode = getInvitationCode();
TtUser ttUser = TtUser.builder().build();
@@ -88,6 +88,80 @@ public class RandomUtils {
}
}
// 网名词库——意境前缀词(可与后缀词或名词组合)
private static final String[] NET_NAME_PREFIX = {
"清风", "烟雨", "陌上", "半夏", "浅唱", "微凉", "时光", "旧梦", "南巷", "北岛",
"青柠", "暖阳", "薄荷", "深海", "孤城", "初见", "故人", "流年", "听风", "看海",
"望月", "踏雪", "临风", "揽月", "拾光", "倾城", "繁华", "落花", "飞雪", "听雨",
"拂晓", "黄昏", "星河", "云端", "醉梦", "寻香", "森屿", "橘子", "柠檬", "樱花"
};
// 网名词库——意境后缀词
private static final String[] NET_NAME_SUFFIX = {
"徐来", "花开", "微凉", "易碎", "如初", "未央", "成殇", "如故", "倾城", "难忘",
"向暖", "微光", "暖阳", "成诗", "入梦", "听雨", "观海", "望月", "忘忧", "无痕",
"留香", "寻梦", "逐月", "伴云", "听风", "化蝶", "成风", "如雪", "知返", "初雪",
"未晚", "南栀", "北辰", "浅忆", "不归", "旧梦"
};
// 网名词库——修饰词
private static final String[] NET_NAME_ADJ = {
"孤独", "安静", "温柔", "冷漠", "可爱", "霸道", "忧伤", "快乐", "迷人", "神秘",
"傲娇", "呆萌", "慵懒", "优雅", "洒脱", "深情", "清冷", "明媚", "乖巧", "桀骜",
"疏离", "恬静", "率性", "孤傲", "高冷", "软萌", "元气", "佛系"
};
// 网名词库——名词
private static final String[] NET_NAME_NOUN = {
"少年", "姑娘", "旅人", "小猫", "小狼", "蔷薇", "玫瑰", "月光", "星辰", "江南",
"女子", "先生", "公子", "佳人", "行者", "歌者", "诗人", "剑客", "浪子", "书生",
"猫咪", "橘猫", "仙人", "过客", "看客", "路人", "画师", "少女"
};
// 网名末尾装饰符号
private static final String[] NET_NAME_DECOR = {"", "°", "", "^", "~"};
/**
* 生成随机网名(网络昵称风格)
* 通过意境词、修饰词、名词等多种模式随机组合,并小概率追加符号/数字后缀,贴近真实网络昵称
*
* @return 随机网名
*/
public static String getRandomNetName() {
Random random = new Random();
String name;
switch (random.nextInt(4)) {
case 0:
// 意境前缀 + 意境后缀,如"清风徐来"
name = NET_NAME_PREFIX[random.nextInt(NET_NAME_PREFIX.length)]
+ NET_NAME_SUFFIX[random.nextInt(NET_NAME_SUFFIX.length)];
break;
case 1:
// 修饰词 + 的 + 名词,如"孤独的旅人"
name = NET_NAME_ADJ[random.nextInt(NET_NAME_ADJ.length)] + ""
+ NET_NAME_NOUN[random.nextInt(NET_NAME_NOUN.length)];
break;
case 2:
// 修饰词 + 名词,如"清冷少年"
name = NET_NAME_ADJ[random.nextInt(NET_NAME_ADJ.length)]
+ NET_NAME_NOUN[random.nextInt(NET_NAME_NOUN.length)];
break;
default:
// 意境前缀 + 名词,如"烟雨江南"
name = NET_NAME_PREFIX[random.nextInt(NET_NAME_PREFIX.length)]
+ NET_NAME_NOUN[random.nextInt(NET_NAME_NOUN.length)];
break;
}
// 约 40% 概率追加装饰符号或数字后缀,更贴近真实网名
int decorType = random.nextInt(5);
if (decorType == 0) {
name += NET_NAME_DECOR[random.nextInt(NET_NAME_DECOR.length)];
} else if (decorType == 1) {
name += random.nextInt(100);
}
return name;
}
private static String getRandomName(String name) {
int bodNameIndexOne = randomInt(name.length());
int bodNameIndexTwo = randomInt(name.length());