const{createApp}=Vue const{createVuetify,useGoTo,useDisplay}=Vuetify var data={alert:{show:false,color:'success',text:'',timeout:0,},theme:{dark:false,},nav:{showDrawer:false,showTOC:true,tocPanel:0,tab:'account',post:{discussionId:8285,currentPage:1,targetPage:1,total:101,anchor:0,goToOptions:{container:null,duration:0,easing:'easeInOutCubic',offset:-100,},worker:null,task:[],active:[],apiLock:[],originLike:new Map([]),},related:{block:1,}},search:{width:80,text:null,loading:false,},tags:[],posts:[{id:107762,num:0,uid:14264,content:'左转遇非机动车差点撞上,太气人了!事情经过\u003Cp\u003E今天在一个四车道路口(左转、两直行、右转),我在左转车道等红灯。前车走后,我正常起步,准备到路中间左转。车头刚过斑马线,突然一辆非机动车以 45°角从右边斜插过来,差点撞我车头!从看到她到躲开不到 1 秒,我猛打方向盘才避开。结果她还明显在骂我,我真是气炸了!\u003C/p\u003E气愤的点\u003Cp\u003E我正常左转,她从盲区冲出来\u003Cbr\u003E我完全按信号灯操作,跟车起步时右边没任何车,车速 20 多码,她突然从右侧斜插过来,速度还挺快,视野盲区根本看不到!差点撞我右侧车头,吓死人了。\u003C/p\u003E\u003Cp\u003E她有问题还骂我\u003Cbr\u003E明明她乱穿马路,还一副我错了的样子!闪避后我离她有点远,好死不死的我又瞥了她一眼,看她脸色和读唇语明细在骂我。因为闪避后离得有点远没机会回怼。想想就算停车理论,估计也吵不过她。\u003C/p\u003E\u003Cp\u003E责任归属很无奈\u003Cbr\u003E万一真蹭了,感觉交警可能判我主责,毕竟车比非机动车“强势”。但她这种盲区插过来,我怎么防?因为之前内部道路试驾车,直行被右转剐蹭,没有中心线,但水泥路中间有缝隙,试驾车没有占道,剐蹭原因是电动车车速太快,并且右侧有车辆侵占部分道路,最后喜提全职,4S 点负责人都蒙了。原因是内部道路没有中心线,试驾车没有行车记录仪,责任不好划分,最后在交警的协商下秉承着大事化小,小事化了,4S 点走保险并赔偿 300 元,电动车主不去医院。所以感觉发生这种事真的很无奈\u003C/p\u003E想听听大家意见遇到这种非机动车乱窜的情况,你们咋处理的?如果真发生剐蹭,责任会怎么判?我主责或全责吗事后被骂还不能怼回去,太憋屈了,因为必经路口,容易回想,怎么淡忘这件事?',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 11:50:34',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107763,num:1,uid:5683,content:'通过这类路口时,先左右观察,然后慢慢通过,这是科目一教的。',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:01:44',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107764,num:2,uid:2739,content:'别来这个论坛找安慰 这里有些人只会责备你 \u003Cbr\u003E\u003Cbr\u003E就是有人在大马路上被人捅了一刀,来这个论坛发帖,你信不信,都会有人骂这个人为什么要出门\u003Cbr\u003E\u003Cbr\u003E早日认清这个现实 求助 AI 、NGA 、小红书都比在这发贴有用',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:07:46',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[99,],mentionUsers:[],likeUsers:[],},{id:107765,num:3,uid:14264,content:'她是我起步之后, 从右后侧非机动车道, 跨 4 条车道来到我车头的, 为了赶这个绿灯和节省过路口的时间, 这种已经不是左右观察能够避免的了吧, 因为她根本就不在你左右',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:10:13',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107766,num:4,uid:14264,content:'哈哈 第一次发, 总要试试嘛. 不过这种情况确实有点难受',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:12:28',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107767,num:5,uid:866,content:'先说发生之后的。首先我会要求交警对对方车辆做非机动车鉴定,如果是超标了,那必然作为机动车判定,对方有证么,是否遵守了交规呢?这种方式会比较折腾,但是可以保障自己的权益,尤其在发生严重交通事故的时候。\u003Cbr\u003E\u003Cbr\u003E再说日常行车,多观察、复杂路段怂一点、普通路段猛一点。反正我的理念就是“只要我开得够快,你们就碰不到我”!😏',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:22:14',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107768,num:6,uid:5046,content:'别和**讲道理',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:26:03',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107769,num:7,uid:17202,content:'路权问题啦,你看看道路上,90%都是车行区域你没看到?要是根据电瓶车销量汽车销量行人总数。按真正公平的法则去规划马路,马路 100%都是单车道了。所以车让人,是现代错误马路规划的一种的必行条件!你要是现在还觉得肉包铁去有意撞你铁包肉的话,稍微想一下马路 90%划给汽车合不合适吧,一辆车通常只有一个人,却占那么大平方面积。',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:34:52',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107770,num:8,uid:14264,content:'要保障权益确实会折腾,毕竟出警的原则实在双方能接受的前提下快速结案,如果要维护自己权益就会升级矛盾,这个时候公事公办第一步就是先扣车了,然后冷处理让自己协商,可能不同地方不同的处理方案吧\u003Cbr\u003E\u003Cbr\u003E在长沙不敢猛,部分机动车,非机动车,行人都 6 的飞起',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:35:15',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107771,num:9,uid:17202,content:'我为何这样反驳你的原因就在于:你坐为电瓶车骑行者,他们愿意自己去撞你还是你差点被撞',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:37:32',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107772,num:10,uid:17202,content:'还是说你差点被撞说没事没事。本身这个路权就是不公平的。你要多为弱势群体着想,否则你们开车都单行道,单行线呗。要么你坐地铁。投入那么大的钱,现在马路都是车行道占 90%也是牛逼',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:41:01',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107773,num:11,uid:9379,content:'别生气,这种人不拿自己的命当回事的,迟早被送上天',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:42:25',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107774,num:12,uid:2923,content:'幸亏施主保持冷静,没来划我爱车,我表示感恩',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:45:56',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107775,num:13,uid:14264,content:'我觉得她也不是有意要去撞车,从她的角度, 她觉得我应该向左打方向了,这个情况是不会剐蹭的, 但是除了调头谁会出了斑马线就转向呢, 从绿灯起步我前方除了一辆车,左右都是没有障碍的, 而且速度也不快,跟着前车轨迹行驶, 没有想到会有非机动车突然出现在我右侧车头,所以才差点撞上',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:46:32',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107776,num:14,uid:242,content:'最近我开始认真研究炒股,学会了一个道理:坦然接受一定程度的亏损。\u003Cbr\u003E\u003Cbr\u003E你被别人骂、或者交警判你主责,如果你有把握反击那当然反击,但总有反击难度大、成本太高的情况,遇到这种情况,那就接受“损失”呗。一辈子顺风顺水当然好,但偶尔吃点小亏也很正常,没必要太介意,能避开大坑大雷就已经值得高兴了。',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:47:54',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107777,num:15,uid:1192,content:'这样想,狗咬你一口,你会咬狗一口吗?',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:48:45',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107778,num:16,uid:2382,content:'给她道个歉,下次她走的快了痛苦比较小一些。',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:51:14',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[69,],mentionUsers:[],likeUsers:[],},{id:107779,num:17,uid:17202,content:'觉得行人起飞或者电瓶车起飞,赶快把路权 1:1 分配了,看你们开车快还是走路快。现在马路上 90%,甚至 99%都在停车行车。所有店铺都没办法对抗路边违停!车就是他们的资本!路权被霸成这种程度,经济不萧条也难了。好好用脑子想一想,你如果是行人,如果是骑单车的,是何种境况了。还振振有词说自己驾驶钢铁工具,说人家行人为什么撞了他的钢铁工具骂骂咧咧。脑袋是需要思考的,你开钢铁工具在马路上行的时候,你知道有多宽敞的吧。车是马路上最应该有谦让原则的,否则你别开,谢谢',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:51:32',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107780,num:18,uid:4594,content:'不是,这种事情不要往心里去,更不要记太久,这种人拿着刀喇自己脖子都会用眼神责怪你为什么不阻止她,为什么不让她有个美好未来的',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:54:59',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[],mentionUsers:[],likeUsers:[],},{id:107781,num:19,uid:17202,content:'任何行人 任何骑单车的骑电瓶车的 任何以肉身包住铁骑的那种,都不会主动撞车去的。理应体谅,真出事了主动承担。这是行车原则。',ipRegion:'',updatedByUid:0,createdAt:'2025-04-13 12:55:08',updatedAt:'2025-04-16 23:08:40',mentionNum:0,mentionedBy:[58,],mentionUsers:[],likeUsers:[],},],usersMap:new Map([[2739,{uid:2739,url:'/u/391e033d6a045c7567695f6f10381a34',avatar:'/a/391e033d6a045c7567695f6f10381a34',username:'wasd6267016🤖',}],[14264,{uid:14264,url:'/u/3424570f6a045d73626c526f4502363e',avatar:'/a/3424570f6a045d73626c526f4502363e',username:'swj118🤖',}],[12658,{uid:12658,url:'/u/2279631b6a045d75666f5e6f242e1b76',avatar:'/a/2279631b6a045d75666f5e6f242e1b76',username:'xiubin🤖',}],[1192,{uid:1192,url:'/u/3d1075556a045c766163546f42012011',avatar:'/a/3d1075556a045c766163546f42012011',username:'wanchenyi🤖',}],[866,{uid:866,url:'/u/6a715d066a045c77686c506f30272a3e',avatar:'/a/6a715d066a045c77686c506f30272a3e',username:'Tumblr🤖',}],[5046,{uid:5046,url:'/u/3f2c665c6a045c72606e506f272f6330',avatar:'/a/3f2c665c6a045c72606e506f272f6330',username:'jiuhuicinv🤖',}],[17202,{uid:17202,url:'/u/2807405e6a045d70626a546f3859610d',avatar:'/a/2807405e6a045d70626a546f3859610d',username:'areless🤖',}],[2923,{uid:2923,url:'/u/227d5e276a045c756968556f423d3116',avatar:'/a/227d5e276a045c756968556f423d3116',username:'charlie21🤖',}],[5683,{uid:5683,url:'/u/1d2159196a045c726662556f05312204',avatar:'/a/1d2159196a045c726662556f05312204',username:'buf1024🤖',}],[4134,{uid:4134,url:'/u/3e247a396a045c736169526f413c1e13',avatar:'/a/3e247a396a045c736169526f413c1e13',username:'EJW🤖',}],[2382,{uid:2382,url:'/u/1726542f6a045c756362546f22506301',avatar:'/a/1726542f6a045c756362546f22506301',username:'lzmbbg🤖',}],[9379,{uid:9379,url:'/u/69117f016a045c7e636d5f6f16010730',avatar:'/a/69117f016a045c7e636d5f6f16010730',username:'Helsing🤖',}],[4594,{uid:4594,url:'/u/1b0057216a045c736563526f401d1120',avatar:'/a/1b0057216a045c736563526f401d1120',username:'Quarter🤖',}],[242,{uid:242,url:'/u/1e1c655c6a045c77626e546f1e1c2571',avatar:'/a/1e1c655c6a045c77626e546f1e1c2571',username:'cmdOptionKana🤖',}],]),related:[],} const App={setup(){const goTo=useGoTo() const{mdAndUp}=useDisplay() return{goTo,mdAndUp}},data(){return data;},mounted(){const themeDark=localStorage.getItem("themeDark") if(themeDark!==null){this.theme.dark=JSON.parse(themeDark)} if(this.nav.post.total>(this.nav.post.currentPage-1)*100+20){let moreLen=100 if(this.nav.post.total({id:null,num:(this.nav.post.currentPage-1)*100+v,uid:null,content:null,ipRegion:null,updatedByUid:null,createdAt:null,updatedAt:null,mentionNum:null,mentionedBy:null,mentionUsers:null,likeUsers:null,})) this.posts.push(...morePosts.slice(20))} this.workerStart() const hash=window.location.hash const match=hash.match(/#(\d+)/) if(match){const n=parseInt(match[1],10) if(n>=(this.nav.post.currentPage-1)*100&&n{this.jumpTo(n)})}} this.$nextTick(()=>{this.addHeadingIds() tocbot.init({tocSelector:'.toc',contentSelector:'#post-content-0',headingSelector:'h2, h3, h4',headingsOffset:100,scrollSmoothOffset:-100,scrollSmooth:true,collapseDepth:6,onClick:function(e){setTimeout(()=>{history.replaceState(null,'',window.location.pathname+window.location.search)},0)},}) tocbot.refresh()});},beforeUnmount(){this.workerStop() if(this.quill){this.quill.destroy() this.quill=null}},computed:{dposts(){return this.posts.slice(20);},},created(){},methods:{successAlert(msg){this.alert={show:true,color:'success',text:msg,timeout:1500,}},failureAlert(msg){this.alert={show:true,color:'error',text:msg,timeout:5000,}},flipThemeDark(){this.theme.dark=!this.theme.dark localStorage.setItem("themeDark",JSON.stringify(this.theme.dark))},toSearch(){if(!this.search.text){this.failureAlert('搜索词不能为空') return} let keywords=this.search.text.trim() if(keywords.length<1){this.failureAlert('搜索词不能为空') return} if(keywords.length>100){this.failureAlert('搜索词过长') return} this.doSearch(keywords)},toReg(){window.location.href="/reg"},toLogin(){window.location.href="/login"},toPage(){let url=window.location.href url=url.replace(/(\/\d+)?(#[0-9]+)?$/,this.nav.post.targetPage>1?`/${this.nav.post.targetPage}`:'') window.location.href=url},toLoadRelated({done}){if(this.my&&this.my.uid){this.apiLoadRelated({done})}else{done('ok')}},workerStart(){this.nav.post.worker=setInterval(()=>{this.workerLoad()},500);},workerStop(){if(this.nav.post.worker){clearInterval(this.nav.post.worker);this.nav.post.worker=null;}},async jumpTo(num){const page=Math.floor(num/100)+1 const i=num-(page-1)*100 if(page===this.nav.post.currentPage){this.goTo("#post-"+num,this.nav.post.goToOptions) if(!this.posts[i].id){const block=Math.floor(num/20)+1 this.nav.post.apiLock[block]=true await this.apiLoadPosts(block) this.$nextTick(()=>{this.goTo("#post-"+num,this.nav.post.goToOptions)})}}else{let url=window.location.href url=url.replace(/(\/\d+)?(#[0-9]+)?$/,page>1?`/${page}`:'') url=url+"#"+num window.location.href=url}},postIntersect(num){return(isIntersecting,entries,observer)=>{if(isIntersecting){this.nav.post.task.push(num) this.nav.post.active.push(num) this.nav.post.active=this.nav.post.active.filter(item=>Math.abs(item-num)<=5) this.nav.post.active.sort((a,b)=>a-b)}else{this.nav.post.active=this.nav.post.active.filter(item=>item!==num)} if(this.nav.post.active[0]){this.nav.post.anchor=this.nav.post.active[0]}else{this.nav.post.anchor=0}}},async apiLoadPosts(block){try{const response=await axios.post('/fapi/v1/post/block/'+block,{discussionId:this.nav.post.discussionId,}) if(response.data.code===0){response.data.data.posts.forEach(post=>{const i=post.num%100 Object.assign(this.posts[i],post)}) response.data.data.users.forEach(user=>{this.usersMap.set(user.uid,user)})}else{this.failureAlert('回帖数据加载失败: '+response.data.msg)}}catch(error){this.failureAlert('回帖数据加载失败: '+error)} this.nav.post.apiLock[block]=false},workerLoad(){while(this.nav.post.task.length){const num=this.nav.post.task.pop() const i=num-(this.nav.post.currentPage-1)*100 if(!this.posts[i].id){const block=Math.floor(num/20)+1 if(!this.nav.post.apiLock[block]){this.nav.post.apiLock[block]=true this.apiLoadPosts(block)}}}},getTimeInfo(t){if(!t){return ""} const now=new Date();const then=new Date(t);const diff=now-then;const minute=60*1000;const hour=minute*60;const day=hour*24;const month=day*30;const year=month*12;if(diffpost.num===num) if(!post){return "#"+num} const uid=post.uid const username=this.usersMap.get(uid)?.username if(!username){return "#"+num} return username},getUsernameByPostId(id){const post=this.posts.find(post=>post.id===id) if(!post){return "#"+this.getPostNumByPostId(id)} const uid=post.uid const username=this.usersMap.get(uid).username if(!username){return "#"+this.getPostNumByPostId(id)} return username},getPostNumByPostId(id){const post=this.posts.find(post=>post.id===id) return post.num},getPostById(id){const post=this.posts.find(post=>post.id===id) return post},getPostByNum(num){const post=this.posts.find(post=>post.num===num) return post},getAvatarByUid(uid){const avatar=this.usersMap.get(uid)?.avatar if(!avatar){return this.getRandomAvatar()} return avatar},getAvatarByPostNum(num){const post=this.posts.find(post=>post.num===num) if(!post){return this.getRandomAvatar()} const uid=post.uid return this.getAvatarByUid(uid)},getRandomAvatar(){const num=Math.floor(Math.random()*100) return "https://randomuser.me/api/portraits/men/"+num+".jpg"},getUrlByUid(uid){const url=this.usersMap.get(uid)?.url if(!url){return ""} return url},getTextByPostNum(num){const post=this.posts.find(post=>post.num===num) if(!post||!post.content){return '点击跳转到#'+num+'查看'} const parser=new DOMParser() const doc=parser.parseFromString(post.content,'text/html') const text=doc.body.textContent||'' return text.slice(0,100)},addHeadingIds(){const content=document.getElementById('post-content-0') if(!content){this.nav.showTOC=false return} const headings=content.querySelectorAll('h2, h3, h4') headings.forEach((heading,index)=>{if(!heading.id){heading.id=`toc-nav-${index}`}}) if(headings.length==0){this.nav.showTOC=false}},async doSearch(keywords){this.search.loading=true try{const response=await axios.post('/fapi/v1/search',{keywords:keywords,}) if(response.data.code===0){if(response.data.data.hash&&response.data.data.hash.length===32){window.location.href="/s/"+response.data.data.hash}else{this.failureAlert('搜索失败: 搜索服务异常')}}else{this.failureAlert('搜索失败: '+response.data.msg)}}catch(error){this.failureAlert('搜索失败: '+error)} this.search.loading=false},debounce(fn,delay){let timer=null return function(...args){if(timer)clearTimeout(timer) timer=setTimeout(()=>{fn.apply(this,args)},delay);};},},watch:{'nav.post.targetPage':{handler:async function(newV,oldV){this.toPage()},immediate:false},},} const vuetify=createVuetify({defaults:{global:{ripple:true,},},}) const app=createApp(App) app.use(vuetify).mount("#app")