🌿 宜北校园论坛· 单机版
今天打架子鼓被隔壁投诉了 🥁
今天在家练架子鼓,隔壁阿姨来敲门了…看来得换个时间练 🥁
💬 3👁️ 14
💌 徐安博拍的樱花照片被学校官方转发了!
徐安博拍的樱花照片被学校官微转发了!恭喜恭喜 📸 给我们社团争光了
💬 0👁️ 20
艺术节报名时间截止了怎么办 😭
完了完了,艺术节报名截止了!我们篮球社和话剧社还没报上 😭 有没有办法补救
💬 0👁️ 26
李浩宇的脉冲星乐队招募中!会乐器的来!
有没有会吉他/贝斯/键盘的同学?我想组个乐队叫脉冲星,就差人了!李浩宇留
💬 0👁️ 13
徐安博拍的樱花照片被学校官方转发了!
徐安博拍的樱花照片被学校官微转发了!恭喜恭喜 📸 给我们社团争光了
💬 3👁️ 19
今天的阳光正好,拍了几张照片 📸
下午阳光特别好看,拿着相机在校园里转了转,拍了好多照片,想看的来找我~
💬 1👁️ 17
篮球社和话剧社彩排中,期待周五的表演!
今天和话剧社一起彩排,配合越来越默契了,周五一定很精彩!
💬 3👁️ 32
林清源又在广播站搞事情了哈哈哈哈
哈哈哈哈林清源又在广播站整活了,这次放了首鬼畜音乐,教务主任脸都绿了
💬 3👁️ 36
话剧社新剧本写好了,有人想看吗 🎭
新剧本写了三个晚上终于写完了!讲的是一个关于梦想和友情的故事,有人想看的话可以来话剧社找我 🎭
💬 2👁️ 38
付彬言虽然不能打球了,但分析战术真的强
虽然不能打篮球了,但我还是会看你们训练的。今天我发现你们防守有漏洞,明天我给你们讲讲
💬 3👁️ 21
💌 李浩宇的脉冲星乐队招募中!会乐器的来!
有没有会吉他/贝斯/键盘的同学?我想组个乐队叫脉冲星,就差人了!李浩宇留
💬 0👁️ 20
💌 💌 周扬学长出院了,篮球社全员接他
周扬学长今天出院了,篮球社全体去接他,付彬言嘴上不说但比谁都着急
💬 0👁️ 31
💌 今天在操场看到顾晨阳投了个超远三分,太帅了
顾晨阳今天训练时投了个超远三分,全场都沸腾了,真的太强了
💬 0👁️ 22
图书馆5楼今天好安静,学习效率拉满 💪
图书馆5楼真的宝藏位置,又安静又有阳光,期末来这复习准没错 📚
💬 0👁️ 14
💌 期中考试要来了,求高数重点 🙏
期中考试就剩两周了,高数完全看不懂,求学长学姐救命 🙏
💬 0👁️ 20
有没有人一起组队去爬山?周末走起
周末天气不错,想约人去爬岳麓山,有一起的吗?
💬 0👁️ 31
学生会下周要办校园艺术节了!
下周五学校要办校园艺术节,学生会正在筹备,大家有什么好想法可以私信我!
💬 2👁️ 38
篮球社和话剧社要合作参加艺术节了!期待!
艺术节我们篮球社和话剧社一起表演!陈颂的剧本配上我们的表演,绝对炸场 🔥
💬 1👁️ 11
💌 艺术节报名时间截止了怎么办 😭
完了完了,艺术节报名截止了!我们篮球社和话剧社还没报上 😭 有没有办法补救
💬 3👁️ 27
有没有人一起组队去爬山?周末走起
周末天气不错,想约人去爬岳麓山,有一起的吗?
💬 1👁️ 29
今天路过球场,看到一个左手三分球大神 🏀
今天路过篮球场,远远看到一个学长投了个超远三分,还是左手的!有没有人认识是谁?
💬 3👁️ 20
周扬学长又熬夜了,大家要多关心他啊
周扬学长又熬夜准备艺术节物料了,大家给他带点吃的吧,太拼了
💬 3👁️ 30
周扬学长出院了,篮球社全员接他
周扬学长今天出院了,篮球社全体去接他,付彬言嘴上不说但比谁都着急
💬 1👁️ 28
付彬言说我投篮姿势不对,改了一下果然准了
付彬言说我投篮姿势不对,帮我调了一下,果然准多了!嘴硬心软第一人
💬 0👁️ 36
今天的阳光正好,拍了几张照片 📸
下午阳光特别好看,拿着相机在校园里转了转,拍了好多照片,想看的来找我~
💬 2👁️ 28
林清源和李浩宇在广播站说坏话被逮到了哈哈哈
哈哈哈哈林清源和李浩宇在广播站说贵阳城坏话,结果忘记关麦了,全年级都听见了
💬 2👁️ 11
食堂二楼新窗口开业了!去试了试还不错
食堂二楼新开的窗口卖煲仔饭,味道还不错,就是等得有点久,建议错峰去
💬 3👁️ 18
周扬学长又熬夜了,大家要多关心他啊
周扬学长又熬夜准备艺术节物料了,大家给他带点吃的吧,太拼了
💬 1👁️ 13
学校门口新开了家奶茶店,求测评
学校门口新开了家"茶屿",有没有喝过的?推荐一下哪个好喝
💬 3👁️ 31
徐安博的妹妹池嘉好可爱!
徐安博的妹妹池嘉今天来学校了,好可爱一小姑娘,还给我们带了点心 🍰
💬 2👁️ 13
徐安博帮我拍了证件照,太好看了!
徐安博真的太会拍了!帮我拍的证件照比我本人好看十倍,强烈推荐 📸
💬 2👁️ 23
艺术节报名时间截止了怎么办 😭
完了完了,艺术节报名截止了!我们篮球社和话剧社还没报上 😭 有没有办法补救
💬 2👁️ 19
付彬言说我投篮姿势不对,改了一下果然准了
付彬言说我投篮姿势不对,帮我调了一下,果然准多了!嘴硬心软第一人
💬 0👁️ 14
话剧社新剧本写好了,有人想看吗 🎭
新剧本写了三个晚上终于写完了!讲的是一个关于梦想和友情的故事,有人想看的话可以来话剧社找我 🎭
💬 0👁️ 37
林清源和李浩宇在广播站说坏话被逮到了哈哈哈
哈哈哈哈林清源和李浩宇在广播站说贵阳城坏话,结果忘记关麦了,全年级都听见了
💬 2👁️ 33
徐安博帮我拍了证件照,太好看了!
徐安博真的太会拍了!帮我拍的证件照比我本人好看十倍,强烈推荐 📸
💬 3👁️ 34
李浩宇的乐队招到吉他手了!脉冲星要起飞
脉冲星乐队终于招到吉他手了!是个高二的学弟,技术很好,期待首演 🥁
💬 3👁️ 39
顾晨阳的三分球真的无敌,今天又赢了
今天和隔壁学校打友谊赛,顾晨阳最后三秒一个三分绝杀!太帅了 🏀
💬 3👁️ 20
今天路过球场,看到一个左手三分球大神 🏀
今天路过篮球场,远远看到一个学长投了个超远三分,还是左手的!有没有人认识是谁?
💬 3👁️ 39
💌 李浩宇的乐队招到吉他手了!脉冲星要起飞
脉冲星乐队终于招到吉他手了!是个高二的学弟,技术很好,期待首演 🥁
💬 2👁️ 16
学校门口新开了家奶茶店,求测评
学校门口新开了家"茶屿",有没有喝过的?推荐一下哪个好喝
💬 0👁️ 25
🎭 话剧社新剧本写好了!
熬了几个晚上终于写完了,讲的是一个关于梦想的故事。虽然初中时候被嘲笑过,但现在我觉得值得。想看的来话剧社找我
💬 2👁️ 18
📸 今天的阳光正好,拍了几张照片
下午在校园里拍了组照片,后山的樱花开了,有想拍照的可以找我,免费帮拍!
💬 2👁️ 19
🎭 篮球社和话剧社要合作了!
艺术节报名截止了…但陈颂说可以合作,我们篮球社出人,他们出剧本,一起搞个大新闻!
💬 3👁️ 14
🏀 左手三分球大神找到了!
原来就是顾晨阳学长!我之前还以为是别人,没想到就是你。以后可以请教吗?
💬 3👁️ 16
哈哈哈哈林清源广播站说坏话被逮了
今天广播站忘记关麦了,林清源和李浩宇在里面说教导主任秃头,全年级都听见了哈哈哈哈
💬 2👁️ 24
🏛️ 校园艺术节筹备中
各位同学,校园艺术节定在下周五,有才艺的可以来学生会报名!截止日期本周五
💬 3👁️ 17
❤️ 虽然不能打球了,但我会一直看着你们
今天看训练,发现你们有几个防守漏洞。明天下午我来给你们讲讲,不来后悔
💬 4👁️ 24
🥁 脉冲星乐队招募!
有没有会吉他贝斯键盘的同学?想组个乐队,圆个梦。有意向的私信我!
💬 3👁️ 16
🏀 篮球社训练赛打得真过瘾!
今天和隔壁学校打了一场训练赛,虽然输了但学到了很多。顾社长说我们防守还要加强,付彬言在旁边分析了一堆,嘴硬心软哈哈哈
💬 4👁️ 25
帖子详情
// ---------- CP配对及人设 ---------- const CP_DATA = [ { name: '顾晨阳 × 林清源', tags: ['篮球', '三分球', '冤家变情侣', '高冷×活泼'], scenarios: [ '顾晨阳站在三分线外,球在空中划出一道完美的弧线。林清源在球场边看得入神,直到球进了才回过神来。\n\n"看什么看?"顾晨阳冷冷地说。\n\n"看你帅啊。"林清源笑着回答。\n\n顾晨阳没说话,但耳根红了。', '林清源又在广播站放鬼畜音乐,被教导主任抓了个正着。顾晨阳路过,停下脚步。\n\n"你总是这样闯祸。"\n\n"那你管我啊?"林清源挑眉。\n\n顾晨阳沉默了三秒:"行,我管。"', '训练结束后,所有人都走了。林清源发现顾晨阳还在一个人加练三分球。\n\n"你还不走?"\n\n"再投十个。"顾晨阳头也不回。\n\n林清源坐在场边,看了他整整一个小时。', '顾晨阳发烧没来训练。林清源请假去了他家,带了感冒药和粥。\n\n"你怎么来了?"\n\n"怕你死了。"\n\n顾晨阳笑了,这是他第一次在别人面前笑。' ] }, { name: '徐安博 × 陈颂', tags: ['摄影', '话剧', '文艺', '温柔×温柔'], scenarios: [ '徐安博在后台拍剧照。陈颂在台上排练,灯光打在他身上,像一幅画。\n\n"你拍得太好了。"陈颂走过来看相机屏幕。\n\n"是你演得好。"徐安博低头调参数。\n\n两个人靠得很近,谁也没有后退。', '陈颂写剧本写到了凌晨三点。打开手机,看到徐安博发来一张照片——是他在窗边写字的剪影。\n\n"你在偷拍我?"\n\n"嗯,你认真的样子很好看。"\n\n陈颂盯着那条消息看了很久。', '话剧社和摄影社合作办展。陈颂负责布置,徐安博负责拍照。忙到晚上,只剩下他们两个人。\n\n"你饿不饿?"徐安博问。\n\n"饿。"\n\n"走,请你吃夜宵。"\n\n月光下,两个人的影子被拉得很长。' ] }, { name: '李浩宇 × 林清源', tags: ['乐队', '广播站', '闯祸二人组', '欢乐冤家'], scenarios: [ '李浩宇和林清源在广播站说教导主任坏话,结果忘记关麦。全年级都听见了。\n\n"完了完了完了!"林清源抱头蹲下。\n\n李浩宇站在旁边:"怕什么,大不了写检讨。"\n\n"你写?!"\n\n"我陪你写。"', '脉冲星乐队第一次排练,林清源来凑热闹。\n\n"你会什么乐器?"李浩宇问。\n\n"我会喊666。"\n\n李浩宇抄起鼓棒追了他三条走廊。', '林清源被班主任骂了,趴在桌上闷闷不乐。李浩宇路过,在他桌上放了一瓶可乐。\n\n"干嘛?"\n\n"请你喝的。"\n\n林清源抬头:"你什么时候这么好了?"\n\n"我一直这么好。"李浩宇没回头,但脚步慢了。' ] }, { name: '周扬 × 付彬言', tags: ['学生会', '篮球顾问', '沉稳×口是心非', '治愈'], scenarios: [ '周扬低血糖进医院了。付彬言第一个冲到医院门口,气喘吁吁。\n\n"你怎么来了?"周扬躺在床上问。\n\n"路过。"付彬言别过脸去。\n\n"你从学校跑过来的吧,四公里。"\n\n"……闭嘴。"', '篮球社训练,付彬言在场边指导。周扬投了一个三分,没进。\n\n"手肘抬高了。"付彬言说。\n\n周扬又投了一个,还是没进。\n\n"你过来。"付彬言走到他身后,握住他的手腕,调整角度。"再试一次。"\n\n球进了。', '周扬为了学生会的工作熬夜到凌晨。第二天早上,办公桌上多了一杯热豆浆和一张纸条。\n\n"别死了。 —— 付"', '付彬言因为心脏问题不能再打篮球了。周扬在球场上看到一个熟悉的身影——付彬言一个人坐在看台上。\n\n周扬走过去,坐到他旁边。\n\n"你以后不打球了?"\n\n"嗯。"\n\n"那我来打。你教我。"' ] }, { name: '徐安博 × 顾晨阳', tags: ['摄影', '篮球', '安静×高冷', '互相欣赏'], scenarios: [ '徐安博在拍篮球社训练的照片。顾晨阳注意到了镜头,皱眉。\n\n"别拍我。"\n\n"你打球的样子很好看。"徐安博说得很平静。\n\n顾晨阳愣了一下,没有再说拒绝的话。', '顾晨阳第一次看到徐安博拍的照片——是他投篮的瞬间。画面里的他,专注而热烈。\n\n"你什么时候拍的?"\n\n"上周训练。"\n\n"……发给我。"\n\n徐安博笑了。' ] }, { name: '陈颂 × 李浩宇', tags: ['话剧', '乐队', '艺术', '互相扶持'], scenarios: [ '陈颂初中写剧本被嘲笑,是李浩宇第一个站出来帮他。\n\n"你写得很棒,别听他们的。"\n\n"真的吗?"\n\n"我从来不说假话。"李浩宇把剧本塞回他手里,"继续写。"', '李浩宇的脉冲星乐队缺人,陈颂主动来帮忙。\n\n"你会什么?"\n\n"我会写歌词。"陈颂递过去一张纸。\n\n李浩宇看完之后沉默了很久。\n\n"我找了你很久。"' ] } ]; // ---------- 生成同人文帖子 ---------- function generateFanficPost() { const cp = CP_DATA[Math.floor(Math.random() * CP_DATA.length)]; const scenario = cp.scenarios[Math.floor(Math.random() * cp.scenarios.length)]; const titles = [ '📝 【同人】' + cp.name, '📝 【同人文】' + cp.name + ' 的日常', '📝 磕到了!' + cp.name + ' 太甜了', '📝 如果' + cp.name + '在一起会怎样?', '📝 写了一个' + cp.name + '的小故事' ]; const fullContent = '【' + cp.name + '】\n\n' + scenario + '\n\n—— 同人创作,请勿上升真人 —— 📝❤️'; return { title: titles[Math.floor(Math.random() * titles.length)], content: fullContent, category: '同人文', tags: cp.tags }; } // ---------- 覆盖发帖逻辑 ---------- if (typeof generateRandomPost !== 'undefined') { const ORIGINAL_RANDOM_POST = generateRandomPost; const NOTICE_CONTENTS_V2 = [ '📢 关于校园艺术节的补充通知:请各班班长于本周三前将节目名单报至学生会办公室,逾期不候。', '⚠️ 失物招领:在操场捡到校服一件,请失主到学生会认领。', '📌 全校大扫除安排:本周五下午4点,学生会将进行检查,请各班做好准备。', '🚨 安全警告:近期发现有同学在教学楼走廊追逐打闹,存在安全隐患,请各班加强教育。', '📢 社团招新通知:下周一至周三下午4:30在操场举行社团招新,请各社团做好准备。', '📌 校服着装规范提醒:请全体同学穿全套校服到校,学生会将进行抽查。', '🏆 篮球友谊赛:本周六上午9点,我校篮球社将与二中篮球社进行友谊赛,欢迎观战!' ]; const CONFESSIONS = [ '💕 表白高二3班的那个男生!每次遇到你心跳都漏一拍…可以认识一下吗?', '捞人!今天下午在图书馆靠窗位置看书的那个女生,白色卫衣,太有气质了!', '💌 暗恋一个人好辛苦…每次看他打球都觉得好耀眼,就在这里悄悄说吧 ❤️', '捞一下今天在操场跑步的男生!黑色短袖、白色耳机,你跑步好帅 🏃', '💕 从高一就喜欢你了…快两年了还是只敢远远看着。毕业前我一定要告诉你 🥺' ]; const STORY_TITLES_LOCAL = typeof STORY_TITLES !== 'undefined' ? STORY_TITLES : ['日常分享']; const STORY_CONTENTS_LOCAL = typeof STORY_CONTENTS !== 'undefined' ? STORY_CONTENTS : ['今天天气不错。']; generateRandomPost = function() { const user = randomUser(); // 20%同人文 if (Math.random() < 0.20) { const fanfic = generateFanficPost(); return { id: ++nextId, title: fanfic.title, content: fanfic.content, author: user.name, avatar: user.avatar, isAnonymous: false, category: '同人文', time: Date.now(), likes: Math.floor(Math.random() * 25) + 5, commentCount: 0, isMain: user.isMain || false, tags: fanfic.tags || [] }; } // 12%公告 if (Math.random() < 0.12) { const notice = NOTICE_CONTENTS_V2[Math.floor(Math.random() * NOTICE_CONTENTS_V2.length)]; return { id: ++nextId, title: '📢 ' + notice.slice(0, 25) + '…', content: notice, author: '学生会·周扬', avatar: '🏀', isAnonymous: false, category: '公告', time: Date.now(), likes: Math.floor(Math.random() * 10), commentCount: 0, isMain: true }; } // 15%表白/捞人 if (Math.random() < 0.15) { const content = CONFESSIONS[Math.floor(Math.random() * CONFESSIONS.length)]; return { id: ++nextId, title: '💌 ' + content.slice(0, 25) + '…', content: content, author: user.name, avatar: user.avatar, isAnonymous: Math.random() < 0.3, category: '表白', time: Date.now(), likes: Math.floor(Math.random() * 20), commentCount: 0, isMain: user.isMain || false }; } // 普通帖子 const idx = Math.floor(Math.random() * STORY_TITLES_LOCAL.length); let content = STORY_CONTENTS_LOCAL[idx % STORY_CONTENTS_LOCAL.length] || '今天天气不错。'; if (Math.random() > 0.5) content += ' 【📷图片】'; const cats = ['日常', '日常', '日常', '摄影', '篮球', '话剧']; return { id: ++nextId, title: STORY_TITLES_LOCAL[idx % STORY_TITLES_LOCAL.length] || '日常分享', content: content, author: user.name, avatar: user.avatar, isAnonymous: false, category: cats[Math.floor(Math.random() * cats.length)], time: Date.now(), likes: Math.floor(Math.random() * 15), commentCount: 0, isMain: user.isMain || false }; }; }// ---------- 为已有同人文补评论 ---------- if (typeof posts !== 'undefined' && typeof comments !== 'undefined' && typeof generateCommentsForPost !== 'undefined') { posts.forEach(p => { if (p.category === '同人文') { const existing = comments.filter(c => c.postId === p.id); if (existing.length < 2) { const needed = 2 - existing.length; const newComments = generateCommentsForPost(p, needed); newComments.forEach(c => comments.push(c)); if (typeof p.commentCount !== 'undefined') p.commentCount += newComments.length; } } }); } // ---------- 初始化生成6-8篇同人文 ---------- function initFanficPosts() { if (typeof posts === 'undefined' || typeof generateRandomPost === 'undefined') return; const existing = posts.filter(p => p.category === '同人文'); const need = Math.max(0, 6 - existing.length); for (let i = 0; i < need; i++) { const p = generateRandomPost(); if (p && p.category === '同人文') { posts.push(p); if (typeof generateCommentsForPost !== 'undefined') { const newComments = generateCommentsForPost(p, 2 + Math.floor(Math.random() * 2)); newComments.forEach(c => comments.push(c)); if (typeof p.commentCount !== 'undefined') p.commentCount += newComments.length; } } } } setTimeout(function() { initFanficPosts(); if (typeof renderCurrentTab !== 'undefined') renderCurrentTab(); console.log('📝 同人文已生成!'); }, 500); // ---------- 快速捞人模板按钮 ---------- function addLiaoRenButton() { const modal = document.getElementById('publishModal'); if (!modal) return; const box = modal.querySelector('.modal-box'); if (!box) return; const existing = box.querySelector('.liao-ren-btn'); if (existing) return; const btn = document.createElement('button'); btn.textContent = '🕵️ 快速捞人/同人文模板'; btn.className = 'liao-ren-btn'; btn.style.cssText = 'width:100%;padding:8px;margin-bottom:10px;border:1px dashed #8AAEA2;border-radius:12px;background:#f8faf5;color:#2d5a3d;font-size:13px;cursor:pointer;'; btn.addEventListener('click', function() { const templates = [ '捞人!今天下午在图书馆靠窗位置的女生,白衣服长发,你好有气质 🙏', '捞一下今天在操场跑步的男生!黑色短袖+白色耳机,你跑步好帅 🏃', '捞人!食堂二楼今天一个人吃饭的学姐,你好温柔 💗', '捞今天篮球场穿红色球衣的男生!运球好帅 求联系方式 🙈', '【同人】写了一个顾晨阳和林清源的小故事,有人想看吗 🏀❤️', '【同人】徐安博和陈颂在话剧后台的日常,甜死我了 🎭📸' ]; const titleInput = document.getElementById('postTitleInput'); const contentInput = document.getElementById('postContentInput'); const catSelect = document.getElementById('postCategoryInput'); if (titleInput && contentInput) { const template = templates[Math.floor(Math.random() * templates.length)]; titleInput.value = template.slice(0, 30) + (template.length > 30 ? '…' : ''); contentInput.value = template; if (catSelect) { if (template.includes('同人')) catSelect.value = '同人文'; else if (template.includes('捞') || template.includes('表白')) catSelect.value = '表白'; else catSelect.value = '日常'; } } }); const titleInput = box.querySelector('#postTitleInput'); if (titleInput) box.insertBefore(btn, titleInput); } setTimeout(addLiaoRenButton, 800); // ---------- 刷新UI ---------- console.log('✅ 活人感增强 + 同人文生成器已加载!'); console.log('📚 支持CP:顾晨阳×林清源、徐安博×陈颂、李浩宇×林清源、周扬×付彬言、徐安博×顾晨阳、陈颂×李浩宇'); setTimeout(function() { if (typeof renderCurrentTab !== 'undefined') { renderCurrentTab(); } if (typeof showToast !== 'undefined') { showToast('✅ 同人文生成器已加载!'); } else { console.log('✅ 同人文生成器已加载!'); } }, 600);