提交roll日创建
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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()
|
||||
// 业务接口
|
||||
|
||||
+1
-1
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user