炎炎夏日,多地遭遇持续高温,狭小的网约车内异常闷热,网约车司机与乘客之间的“空调费”之争屡见不鲜。专家认为,是平台抽成高导致司机不能保证基本服务,平台可约定公开的指导价格,由平台、司机、乘客叁方共同分担费用。同时平台应保障网约车司机高温补贴的发放,切实保障他们的合法权益。
2025年01月02日,由于《花木兰》里面有不少的动作打戏。
《善良的妻子1中字巴巴鱼汤饭惹人》高清手机在线播放...
答案很简单一是相对合理的售价且能根据市场变化及时调整比如3月份上市了冠军版车型最热销的入门版本指导价就下调了3000元二是相对竞品更全面的产物力像颜值、配置、动力、可靠性等方面都没有明显槽点所以对于绝大多数用户而言买车时若挑花了眼入手长安CS75 PLUS算是最稳妥的选择之一
“如果比较中美两国市场可以发现,中国现在零售市场的规模和美国几乎齐头并进,预计用不了多长时间,中国将成为全球最大的零售市场。但需要注意的是,中国在服务消费方面与美国消费市场规模差距仍明显。当前,国内的旅游、休闲度假、医疗、大健康、养老、教育培训、文化各方面需求都在迅速迸发,这些将会成为中国稳经济增长和稳就业非常重要的领域。”张建平说。(完)魅族 Note9VS红米Note 7 仅差200该选谁2019-03-20 10:23·中关村在线虽然随着消费升级概念的逐渐流行,众多手机厂商都开始冲击高端市场,但是不可忽略的是,千元价位的手机依然是很多人的首选。同时,这个价位的手机也撑起了手机厂商们海量的出货数据。那么作为命运中的宿敌——魅族 Note9和红米Note 7都处于千元机位,到底该怎么选呢?本期《尖Phone对决》我们将从外观、性能和拍照等多个方面,横向对比魅族 Note9和红米Note 7这两款游戏手机,对着两款手机有全方面的了解,轻松的选出适合自己的手机。外观:魅族 Note9延续工匠精神外观方面,魅族 Note9和红米Note 7都采用了时下流行的三明治结构设计,虽然这两款手机大的设计方向类似,但是在细节上还是有截然不同的效果。魅族 Note9(上)和红米Note 7(下)水滴对比点亮手机的屏幕,魅族 Note9和红米Note 7的顶部虽然都是水滴设计,但是魅族 Note9水滴的体积更小,相比之下红米Note 7的大水滴会有一丝粗狂的感觉,魅族 Note9(左)与红米Note 7(右)下巴对比机身的下巴处,魅族 Note9也要比红米Note 7更窄,因此和魅族 Note9可以带来更宽广的显示区域,屏幕的空间利用率远胜于红米Note 7。魅族 Note9大弧度后壳机身的背部,魅族 Note9延续了魅族家族式的设计,大弧度的收边与手掌的弧度完美契合,单手握持时,手感十分舒适。红米Note 7仅在机身边缘处有略微的弧度而红米Note 7的机身背部仅在边缘的过度处有略微的弧度,单手握持时,有略微的硌手感。魅族 Note9(左)与红米Note 7(右)后壳对比值得注意的是,魅族 Note9的后壳采用的是高光亮瓷工艺,这种工艺可以获得媲美玻璃的质感,同时也更加结实耐用,手掌摸上去十分舒适,摸久了让人流连忘返。拍照:相同的硬件参数 魅族 Note9优化更到位拍照方面,魅族 Note9搭载了4800万像素 +500万像素的双摄像头组合,主摄为三星GM1传感器。此外,魅族 Note9还支持AI拍照,可以通过自动匹配最佳算法,轻松拍出高品质大片。红米Note 7采用4800万+500万像素的后置双摄,主摄同样为三星GM1传感器,同样也支持AI拍照。有意思的是,魅族 Note9和红米Note 7的主摄都为4800万像素,并且都采用了三星GM1传感器,那么他们两个谁的解析力更胜一筹呢?我们让样张说话。将魅族 Note9和红米Note 7在室外拍摄的楼宇照片放大100%后可以发现,魅族 Note9看到的建筑物细节依然丰满,相比之下,红米Note 7的照片则是明显出现了失真。由此可以得知,虽然这两款手机的摄像头参数相同,但是魅族 Note9对于相机的调教远胜于红米Note 7。室外环境,魅族 Note9的白平衡十分精准,可以将湛蓝的天空准确的表现出来,而红米Note 7拍出的天空则是出现了发红的情况。此外,在高对比场景下,魅族 Note9还可以保证屋檐下暗光处的曝光,同时还不至于使高光的天空过曝,反观红米Note 7则是只兼顾到了天空的曝光,在暗光处出现了曝光不足的情况。暗光环境,魅族 Note9对于高光的压制明显比红米Note 7更胜一筹——红米Note 7的灯光出现了过曝的情况。而且在实际拍摄的时候,红米Note 7出现了拉风箱的情况,成片率非常低,希望小米仔细优化下红米Note 7暗光环境下的拍摄体验。室内复杂环境主要考验手机拍照的色彩还原能力,从水果的图片可以发现,魅族 Note9拍出来的亮度更高、色彩更纯净,由于红米Note 7的对比度很高,所以拍出来的照片暗部更暗,观感上不占优势。系统:同为定制化系统老手 各有优势作为国内老牌的定制化UI厂商,魅族的Flyme和小米的MIUI在基础功能上都没有太大的缺点,我们重点来看一下这两款手机系统的特色功能。在系统的UI设计层面,Flyme和MIUI都采用了多彩设计,图标细节丰富灵动,不过在背景上,也许红米Note 7是害怕暴露顶部的水滴,故意将亮度拉的很低,虽然用户后期可以自主更换,但面对Flyme坦荡的高亮主题时,红米Note 7顿时显得“黯然失色”。由于都采用了全面屏的设计思路,魅族 Note9和红米Note 7也都相应的采用了手机交互方式。魅族 Note9系统交互魅族 Note9创新性的采用了mBack交互方式——长按Home键回到主页,短按Home键触发返回操作,从屏幕底部向上滑动可以唤出多任务。红米Note 7交互红米Note 7则是从屏幕底部向上滑回到主页,从屏幕底部向上滑并停顿唤出多任务,从屏幕两侧向内滑动触发返回的操作。综合来看,魅族 Note9将操作集中于一个按键的交互要比红米Note 7的“分散式”交互更加直观、简洁,学习成本也更低。性能:魅族 Note9搭配新一代神U魅族 Note9搭载了高通骁龙675移动平台,这也是魅族在国内首发这颗CPU,骁龙675采用2+6的八核 DynamIQ big.LITTLE 架构,整体性能相较于骁龙670提升了20%。红米Note 7则是依然搭载去年常见的高通660移动平台,可以说,在硬件上,相较于魅族 Note9就差了一大截。此外,魅族 Note9还拥有Hyper Gaming 专属游戏优化,可以在软件层面智能的调控负载资源,从而避免高压游戏场景带来的场景波动。安兔兔跑分,魅族 Note9可以达到18W,而红米Note 7仅仅为13W,与魅族 Note9相差近5W分。为了体验两款手机的实际游戏表现,我们让魅族 Note9和红米Note 7运行《王者荣耀》和《绝地求生:刺激战场》,从最终的帧率图可以发现,魅族 Note9可以一直保持较高的帧率,没有大的帧率抖动,而红米Note 7则是在高负载场景下出现了明显的掉帧情况。续航:魅族标配快充充电头更厚道续航方面,魅族 Note9搭载了4000mAh大容量电池,除了拥有大电池,魅族 Note9还支持18W的mCharge快充,可以带来强劲的充电功率。红米Note 7同样搭载了4000mAh电池,并且最高支持QC4+快速充电技术,遗憾的是红米Note 7标配仅为5V/2A的充电头,想要获得更高的充电功率,需要自己加钱购买,这方面明显不如魅族厚道。5小时续航指:在满电情况下,使用一半的屏幕亮度和音量,清空后台程序,按顺序进行拍照、视频播放、刷微博、使用微信、浏览网页、手机游戏、听音乐以及阅读电子书等操作,并记录每个节点的剩余电量,测试时长5小时。尽管魅族 Note9和红米Note 7的电池容量相当,但是从最终的续航测试结果来看,魅族 Note9比红米Note 7剩下了更多的电量,看的出,魅族 Note9对于电量的优化还是十分到位的。此外,由于魅族 Note9原装标配18W的mCharge快充,所以充电速度也要比红米Note 7快上很多。总结:魅族 Note9堪称千元神机尽管小米的红米系列,一直标榜的就是“性价比”,但是相信看完上面的对比评测,大家都清楚的认识到小米的仅做到了“低价”,并没有在“性能”上有所突破。而魅族 Note9沿袭家族式的外观、4800万的高清拍照以及高通骁龙675移动平台所带来的残暴性能,都已近达到了千元手机所能达到的极致。综合来看,魅族 Note9绝对是你千元价位的不二之选。APP商店搜索中关村在线,看2018年最新手机、笔记本评价排行
jiyu.NetCorekaifapinglunxitong(zhuan)2023-12-18 08:18·SOFTSHOWbokeqiantaiyijihouduanshejidedaimazhuyaozaiyixiawenjian:StarBlog.Web/Services/CommentService.csStarBlog.Web/Apis/Comments/CommentController.csStarBlog.Web/Views/Blog/Widgets/Comment.cshtmlStarBlog.Web/wwwroot/js/comment.jsguanlihoutaidedaimazaiyixiawenjian:src/views/Comment/Comments.vueshixianxiaoguo#zaikaishizhiqian,xianlaikankanshixiandexiaoguoba。bokeqiantai#taolunqudezhebufenUIshiyong Vue laiqudong,weiliaokaifaxiaolvhuanyinruliao ElementUI dezujian,kanqilaifenggegenbokeyuanbende Bootstrap butaiyiyang,buguohuantinghexiede。wuxudenglujikefabiaohuohuifupinglun,danxuyaoshuruyouxiangdizhibingjieshouyoujianyanzhengma。weiliaogoujianwenminghexiedewangluohuanjing,fabiaopinglunzhihouhuiyouxiaoguanjiazidongshenhe,shenhetongguocaihuizhanshi。ruguoxiaoguanjiazidongshenhemeiyoutongguo,huijinrurengongshenheliucheng。guanlihoutai#guanlihoutaikeyishezhipinglundeshenhetongguohuojujue。moxingsheji#gongnengjieshaoqianmiandushuoliao,buzaizhuishu,zhijiecongdaimakaishijiangqi。zhegegongnengxinzengliaolianggeshitilei,fenbieshi Comment he AnonymousUserpinglunshitileidedaimaruxia,keyikandaochuliao AnonymousUser deyinyong,wohuanyuliuliaoyige User shuxing,muqianbokeqiantaishimeiyouzuodenglugongnengde,yuliuzhegeshuxingkeyifangbianyihoudedengluyonghujinxingpinglun。public class Comment : ModelBase { [Column(IsIdentity = false, IsPrimary = true)] public string Id { get; set; } public string? ParentId { get; set; } public Comment? Parent { get; set; } public List? Comments { get; set; } public string PostId { get; set; } public Post Post { get; set; } public string? UserId { get; set; } public User? User { get; set; } public string? AnonymousUserId { get; set; } public AnonymousUser? AnonymousUser { get; set; } public string? UserAgent { get; set; } public string Content { get; set; } public bool Visible { get; set; } /// /// shifouxuyaoshenhe /// public bool IsNeedAudit { get; set; } = false; /// /// yuanyin /// 谤耻驳耻辞测补苍锄丑别苍驳产耻迟辞苍驳驳耻辞诲别丑耻补,办别苍别苍驳丑耻颈蹿耻蝉丑补苍驳测耻补苍测颈苍 /// public string? Reason { get; set; }}nimingyonghushitilei,jianjiandandande,xuyaofangketianxiedejiusangeziduan,IPdizhizidongjilu。public class AnonymousUser : ModelBase { public string Id { get; set; } public string Name { get; set; } public string Email { get; set; } public string? Url { get; set; } public string? Ip { get; set; }}qianduanjiekoufengzhuang#qianduanshiyong axios fangbianjiekoudiaoyong,dangranshiyong ES5 yuanshengde fetch hanshuyekeyi,buguohuiduoyixiedaima,lanshidiyishengchanli。shiyong Promise laibaozhuangfanhuizhi,bianyushiyong ES5 de async/await yufa,huodegenC#leisideyibukaifatiyan。yinweipianfuguanxi,benwenwufaliejusuoyoujiekoufengzhuangdaima,zhijulianggedianxinglizi。yixiashihuoqunimingyonghudejiekou,zuowei GET fangfadelizi。getAnonymousUser(email, otp) { return new Promise((resolve, reject) => { axios.get(`/Api/Comment/GetAnonymousUser?email=${email}&otp=${otp}`) .then(res => resolve(res.data)) .catch(res => resolve(res.response.data)) })}yixiashitijiaopinglundejiekou,zuowei POST fangfadelizi。submitComment(data) { return new Promise((resolve, reject) => { axios.post(`/Api/Comment`, {...data}) .then(res => resolve(res.data)) .catch(res => resolve(res.response.data)) })}OK,zheshiliazuijiandandelizi,meiyoujinxingrenheshujuchuli。shengchengyoujianyanzhengma#tongchangshiyonghaxibiaoleideshujujiegoulaicunchuzhezhongshuju,benxiangmuzhong,woshiyong .NetCore zidaide MemoryCache laicunchuyanzhengma,chucizhiwai,zhijieshiyong Dictionary huozhe Redis dushikexuanxiang。xuyaozaifasongyoujiandeshihoujiangyouxiangdizhiyuduiyingdeyanzhengmacunruhuancun,ranhouzaiyanzhengdeshihouquchu,yanzhengtongguohoushanchuzheyitiaojilu。shouxianzai Program.cs zhongzhucefuwubuilder.Services.AddMemoryCache();jianchayouxiangdizhishifouyouxiao#zai CommentService.cs zhong,fengzhuangyigefangfa,shiyongzhengzebiaodashijianchayouxiangdizhi。/// /// jianchayouxiangdizhishifouyouxiao/// public static bool IsValidEmail(string email) { if (string.IsNullOrEmpty(email) || email.Length < 7) { return false; } var match = Regex.Match(email, @"[^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+"); var isMatch = match.Success; return isMatch;}fasongyouxiangyanzhengma#weiliaofangbianfasongyoujian,wofengzhuangliao EmailService,qizhongdefasongyanzhengmadedaimaruxia。shengchengsiweishudeyanzhengmazhijieshiyong Random shengchengyigezai 1000-9999 zhijiandesuijishujike。guanyufayoujian,zaiyouqinglianjiedenapianwenzhangliyoujieshao: jiyu.NetCorekaifabokexiangmu StarBlog - (28) kaifayouqinglianjiexiangguanjiekou/// /// fasongyouxiangyanzhengma/// shengchengsuijiyanzhengma/// 锄丑颈蝉丑别苍驳肠丑别苍驳测补苍锄丑别苍驳尘补,产耻蹿补测辞耻箩颈补苍/// public async Task SendOtpMail(string email, bool mock = false) { var otp = Random.Shared.NextInt64(1000, 9999).ToString(); var sb = new StringBuilder(); sb.AppendLine($"丑耻补苍测颈苍驳蹿补苍驳飞别苍厂迟补谤叠濒辞驳!测补苍锄丑别苍驳尘补:调辞迟辫皑
"); sb.AppendLine($"谤耻驳耻辞苍颈苍尘别颈测辞耻箩颈苍虫颈苍驳谤别苍丑别肠补辞锄耻辞,辩颈苍驳丑耻濒耻别肠颈测辞耻箩颈补苍。
"); if (!mock) { await SendEmailAsync( "[StarBlog]youxiangyanzhengma", sb.ToString(), email, email ); } return otp;}jianchashifouyouyanzhengmadehuancun,meiyoudehuashengchengyigebingfasongyoujian,ranhoucunruhuancun,zheliwoshezhiliaoguoqishijianshi5fenzhong。public async Task<(bool, string?)> GenerateOtp(string email, bool mock = false) { var cacheKey = $"comment-otp-{email}"; var hasCache = _memoryCache.TryGetValue(cacheKey, out var existingValue); if (hasCache) return (false, existingValue); var otp = await _emailService.SendOtpMail(email, mock); _memoryCache.Set(cacheKey, otp, new MemoryCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(5) }); return (true, otp);}jiekou#zuihouzai Controller lishixianzhegejiekou。zhelizhikaolvliaosanzhongqingkuangyouxiangdizhicuowufasongyoujianchenggongshangyigeyanzhengmazaiyouxiaoqi,bufasongyoujianqishihuanyouyizhongqingkuangshifasongyoujianshibai,buguowomeiyouxiezaizhegejiekouli,ruguofasongshibaihuipaochucuowu,ranhoubeiquanjudecuowuchuliqilanjiedaobingfanhui500xinxi。/// /// huoquyoujianyanzhengma/// [HttpGet("[action]")]public async Task GetEmailOtp(string email) { if (!CommentService.IsValidEmail(email)) { return ApiResponse.BadRequest("tigongdeyouxiangdizhiwuxiao"); } var (result, _) = await _commentService.GenerateOtp(email); return result ? ApiResponse.Ok("fasongyoujianyanzhengmachenggong,wufenzhongneiyouxiao") : ApiResponse.BadRequest("shangyigeyanzhengmahuanzaiyouxiaoqinei,qingwuzhongfuqingqiuyanzhengma");}jianchayanzhengmayuhuoqunimingyonghu#qianmianzai「moxingsheji」bufenliyoushuodao,weidengluheyidengluyonghudukeyifabiaopinglun(dangranmuqianhuanmeiyoutigongqitayonghudengludegongneng),benwenzhishejiliaoweidengluyonghu(jinimingyonghu)depinglunfabiaoliucheng。zaiyonghufasongyoujianyanzhengma,bingqieyanzhengmaxiaoyantongguozhihou,keyitongguojiekouhuoqudaoyouxiangdizhiduiyingdenimingyonghuxinxi,zheyangbuhuirangfangkexuyaoduocizhongfushuru,tongshiyekeyizaixiayicipingluntijiaoshixiugaizhexiexinxi。heduiyanzhengma#wozai CommentService.cs zhongfengzhuangliaoyixiafangfayongyuheduiyanzhengma,bingqiezengjialiao clear canshu,keyikongzhiyanzhengtongguohoushifouqingchuzhegeyanzhengma。/// /// yanzhengyicixingmima/// /// yanzhengtongguohoushifouqingchupublic bool VerifyOtp(string email, string otp, bool clear = true) { var cacheKey = $"comment-otp-{email}"; _memoryCache.TryGetValue(cacheKey, out var value); if (otp != value) return false; if (clear) _memoryCache.Remove(cacheKey); return true;}houduanjiekou#jiekoudaimaruxia。zhelibashengchengxinyanzhengmadedaimazhushidiaoliao,yuanbenwoshejideshihuoqunimingyonghuxinxihefapinglunduxuyaoyanzhengma,suoyinimingyonghuxinxihuoquzhihouxuyaozhongxinshengchengyigeyanzhengma(danbufayoujian)geiqianduan,ranhouqianduangengxinyixiazancundeyanzhengma。danshiwofaxianzheyangyoudianguodushejiliao,erqiezhezhongzuofahuigeifangkedailaiyidingdekunrao(tijiaodeyanzhengmaheyoujianshoudaodebushitongyige),yushibazheyigegongnengjianhualiaoyixia,danluojihuanbaoliuzhuo。/// /// genjuyouxiangheyanzhengma,huoqunimingyonghuxinxi/// [HttpGet("[action]")]public async Task GetAnonymousUser(string email, string otp) { if (!CommentService.IsValidEmail(email)) return ApiResponse.BadRequest("tigongdeyouxiangdizhiwuxiao"); var verified = _commentService.VerifyOtp(email, otp, clear: false); if (!verified) return ApiResponse.BadRequest("yanzhengmawuxiao"); var anonymous = await _commentService.GetAnonymousUser(email); // zanshibushiyongshengchengxinyanzhengmadegongneng,bimianyonghutiyangelie // var (_, newOtp) = await _commentService.GenerateOtp(email, true); return ApiResponse.Ok(new { AnonymousUser = anonymous, NewOtp = otp });}qianduanluoji#dangfangkezaitaolunqujiemiantianxieliaoyanzhengmazhihou,huichufa change shijian,zhixingyixia JavaScript daima。(pianfuguanxizuoliaojianhua)dangyonghushurudeyanzhengmachangdufuheyaoqiuzhihou,huiqingqiuhouduanjiekouxiaoyanzhegeyanzhengmashifouzhengque,yanzhengmazhengquedehuahouduanhuitongshifanhuizhegeyouxiangdizhiduiyingdenimingyonghuxinxi。zhihouyuanbensuozhuodejigeshurukuangyenengjiaohuliao,huozheyekeyidianji「huifu」anniuduiqitarendepinglunjinxinghuifu。async handleEmailOtpChange(value) { console.log('handleEmailOtpChange', value) if (this.form.email?.length === 0 || value.length < 4) return // shezhi UI jiazaizhuangtai this.[duiyingdeUIzujian] = true // xiaoyanOTP & huoqunimingyonghu let res = await this.getAnonymousUser(this.form.email, value) if (res.successful) { if (res.data.anonymousUser) { this.form.userName = res.data.anonymousUser.name this.form.url = res.data.anonymousUser.url } this.form.emailOtp = res.data.newOtp // suozhuyouxiangheyanzhengma,buyongbianjiliao this.[duiyingdeUIzujian] = true // kaiqibianjiyonghuming、wangzhi、neirong、huifu this.[duiyingdeUIzujian] = false } else { this.$message.error(res.message) } this.userNameLoading = false this.urlLoading = false}tijiaopinglun#zhebufenshibijiaofuzade,yibubulaijieshaobiaodanyanzheng#liyong ElementUI tigongdebiaodanyanzhenggongneng,suiranshibijiaolaodezujiankuliao,danzhekuaidegongnenghuanshibucuode。shouxiandingyibiaodanguize。formRules: { userName: [ {required: true, message: 'qingshuruyonghumingcheng', trigger: 'blur'}, {min: 2, max: 20, message: 'changduzai 2 dao 20 gezifu', trigger: 'blur'} ], email: [ {required: true, message: 'qingshuruyouxiang', trigger: 'blur'}, {type: 'email', message: 'youxianggeshibuzhengque'} ], emailOtp: [ {required: true, message: 'qingshuruyouxiangyanzhengma', trigger: 'change'}, {len: 4, message: 'changdu 4 gezifu', trigger: 'change'} ], url: [ {type: 'url', message: `qingshuruzhengquedeurl`, trigger: 'blur'}, ], content: [ {required: true, message: 'qingshurupinglunneirong', trigger: 'blur'}, {min: 1, max: 300, message: 'changdu zai 1 dao 300 gezifu', trigger: 'blur'}, {whitespace: true, message: 'pinglunneirongzhicunzaikongge', trigger: 'blur'}, ]}ranhoujiangzhexiedinghaodeguizebangdingdao form zujianshangzaitijiaodeshihoudiaoyongyixiadaimajinxingbiaodanyanzheng。yanzhengchenggongkeyizaiqihuidiaolizhixingjiekoudiaoyongdengcaozuo。this.$refs.form.validate(async (valid) => { if (valid) {}}fasongqingqiu#biaodanyanzhengtongguozhihoudiaoyongqianmianfengzhuanghaodejiekoutijiaopinglun。ruguopinglunfabiaoshibai,zexianshicuowuxinxi。ruguopinglunfabiaochenggong,xianshixinxizhihou,qingkongzhenggebiaodan,danbaoliuyoujiandizhi,bianyufangketijiaoxiayigepinglun。zuihouwulunchenggongyufou,duhuishuaxinpinglunliebiao。async handleSubmit() { this.$refs.form.validate(async (valid) => { if (valid) { this.submitLoading = true let res = await this.submitComment(this.form) if (res.successful) { this.$message.success(res.message) let email = `${this.form.email}` this.handleReset() this.form.email = email } else this.$message.error(res.message) this.submitLoading = false await this.getComments() } })}jiekousheji#qianduandeshuowanliao,laidaoliaohouduanbufen,yixiadaimazuoliaozhexieshi:heduiyanzhengmahuoqunimingyonghushengchengxinpinglunxiaoguanjiazidongshenhe(mingancijiance)baocunpinglunbingfanhuijieguo[HttpPost]public async Task> Add(CommentCreationDto dto) { if (!_commentService.VerifyOtp(dto.Email, dto.EmailOtp)) { return ApiResponse.BadRequest("yanzhengmawuxiao"); } var anonymousUser = await _commentService.GetOrCreateAnonymousUser( dto.UserName, dto.Email, dto.Url, HttpContext.GetRemoteIPAddress()?.ToString().Split(":")?.Last() ); var comment = new Comment { ParentId = dto.ParentId, PostId = dto.PostId, AnonymousUserId = anonymousUser.Id, UserAgent = Request.Headers.UserAgent, Content = dto.Content }; string msg; if (_filter.CheckBadWord(dto.Content)) { comment.IsNeedAudit = true; comment.Visible = false; msg = "xiaoguanjiafaxianninkenengshiyongliaobuliangyongyu,gaipinglunjiangzaishenhetongguohouzhanshi~"; } else { comment.Visible = true; msg = "pinglunyouxiaoguanjiashenhetongguo,ganxienincanyutaolun~"; } comment = await _commentService.Add(comment); return new ApiResponse(comment) { Message = msg };}xiaoguanjiashenhe#shuoshipinglunshenhe,shijishangjiushimingancijiance,benxiangmushiyong DFA(quedingxingyouxianzhuangtaizidongji)laishixianjiance。benlaizhebufendukeyidanduxieyipianwenzhangjieshaoliao,buguokaolvdaoduxiedaozheliao,yejiandanjieshaoyixiahaoliao。DFAjiquedingxingyouxianzhuangtaizidongji,yongyushixianzhuangtaizhijiandezidongzhuanyi。 yuDFAduiyingdehuanyouyigeNFAfeiquedingyouxianzhuangtaizidongji,erzhetongchengweiyouxianzidongzhuangtaijiFSM。tamendezhuyaoqubiezaiyu congyigezhuangtaizhuanyideshihoushifounengweiyiquedingxiayigezhuangtai。NFAzaizhuanyideshihouwangwangbushizhuanyidaomouyigequedingzhuangtai,ershimougezhuangtaijihe,qizhongderenyizhuangtaidukezuoweixiayigezhuangtai,erDFAzeshiquedingde。DFAdezucheng#yigefeikongyouxianzhuangtaijihe Qyigeshurujihe Ezhuangtaizhuanyihanshu fchushizhuangtai q0 weiQdeyigeyuansuzhongzhizhuangtaijihe Z weiQdezijiyigeDFAkeyixiecheng M=(Q, E, f, q0, Z)ruheshiyongDFAshixianminganciguolvsuanfa#xianjiasheyouNND, CNM, MLGBsangeminganci,ze:Q = {N, NN, NND, C, CN, CNM, M, ML, MLG, MLGB}yisuoyoumingancidezuchengzuoweizhuangtaijihe,zhuangtaijizhixuzaizhexiezhuangtaizhijianzhuanyijikeE = {B, C, D, G, L, N, M}, yisuoyouzuchengmingancidedangezifuzuoweishurujihe,zhuangtaijizhixushibiegouchengmingancidezifu。qo = null chushizhuangtaiweikong,weikongdechutaikeyizhuanyidaorenyizhuangtaiZ = {NND, CNM, MLGB} shibiedaorenyiyigeminganci, zhuangtaizhuanyijiukeyizhongzhiliao。namef jiukeyishiyige duruyigezifuhouchaxunshifouweiQzhongdezhuangtaijinerzhuanyidehanshu,zezhuanyiguochengweif(null, N) = N, f(N, N) = NN, f(NN, D) = NNDf(null, C) = C, f(C, N) = CN, f(CN, M) = CNMf(null, M) = M , f(M, L) = ML, f(ML, G) = MLG, f(MLG, B) = MLGBshiyongfangshi#jutideshixiandaimabijiaochang,wojiubutieliao,benwendepianfuyijingyanzhongchaochangliao…zongzhiwobazhebufendaimafengzhuanghaoliao,zai CodeLab.Share zhege nuget baoli,zhijiediaoyongjiuwanshiliao。suoyikeyikandaowozai StarBlog xiangmulixieliaoyige TempFilterServiceyinweifengzhuanghaode StopWordsToolkit youhenduogongneng,bujinkeyijianceminganci,huankeyizidongtihuanchengxinghaoshade,dangshizaizuozhegegongnengdeshihouhuanxiangzhuoyaobuyaojiadianqiqiguaiguaidegongneng,suoyijiaobazhege service jialiaoge temp deqianzhui。public class TempFilterService { private readonly StopWordsToolkit _toolkit; public TempFilterService() { var words = JsonSerializer.Deserialize>(File.ReadAllText("words.json")); _toolkit = new StopWordsToolkit(words!.Select(a => a.Value)); } public bool CheckBadWord(string word) { return _toolkit.CheckBadWord(word); }}zhelichushihuadeshihouxuyao words.json zhegemingancikuwenjian,weiliaowangluohuanjingdewenminghexie,benxiangmudekaiyuandaimalibunengtigong,xuyaodetongxuekeyizixingsouji。geshishizheyangde[ { "Id": 1, "Value": "xiaokeai", "Tag": "baoli" }, { "Id": 2, "Value": "hexie", "Tag": "guanggao" }]rengongshenhe#dangpinglunbeixiaoguanjiapandingyoumingancideshihou,jiuhuibiaoji IsNeedAudit=true jinrurengongshenheliucheng。jiushi Accept he Reject zheliafangfa。public async Task Accept(Comment comment, string? reason = null) { comment.Visible = true; comment.IsNeedAudit = false; comment.Reason = reason; await _commentRepo.UpdateAsync(comment); return comment;}duiyingdejiekou[Authorize][HttpPost("{id}/[action]")]public async Task> Accept([FromRoute] string id, [FromBody] CommentAcceptDto dto) { var item = await _commentService.GetById(id); if (item == null) return ApiResponse.NotFound(); return new ApiResponse(await _commentService.Accept(item, dto.Reason));}guanlihoutai#jiexialaihuiyouzhuanmendeyigexiliejieshaojiyu Vue deguanlihoutaikaifa,suoyibenwenbuhuihuataiduopianfujieshao,zhijiandanjiluyidian。yuanbenwoshiyongliao Dialog lairangyonghushurutongguohuojujuemougepinglunshenhedeyuanyin,houmianfaxian ElementUI tigongliao prompt gongneng,keyidanchuyigejiandandeshurukuang。suoyijujuemougepinglundedaimaruxiahandleReject(item) { this.$prompt('qingshuruyuanyin', 'shenhepinglun - buchongyuanyin', { confirmButtonText: 'queding', cancelButtonText: 'quxiao', }).then(({value}) => { this.$api.comment.reject(item.id, value) .then(res => { this.$message.success('caozuochenggong!') }) .catch(res => { console.error(res) this.$message.warning(`caozuoshibai!${res.message}`) }) .finally(() => this.loadData()) }).catch(() => { })}chuanchang,youxiaoqi6nian,gaihuanhuanliao
现(齿颈补苍)在(窜补颈)我(奥辞)的(顿别)睡(厂丑耻颈)眠(惭颈补苍)严(驰补苍)重(窜丑辞苍驳)不(叠耻)足(窜耻),每(惭别颈)天(罢颈补苍)晚(奥补苍)上(厂丑补苍驳)都(顿耻)要(驰补辞)醒(齿颈苍驳)来(尝补颈)几(闯颈)次(颁颈)给(骋别颈)父(贵耻)亲(蚕颈苍)翻(贵补苍)身(厂丑别苍),躺(罢补苍驳)回(贬耻颈)床(颁丑耻补苍驳)上(厂丑补苍驳)又(驰辞耻)睡(厂丑耻颈)不(叠耻)着(窜丑耻辞),周(窜丑辞耻)六(尝颈耻),周(窜丑辞耻)日(搁颈)想(齿颈补苍驳)多(顿耻辞)睡(厂丑耻颈)会(贬耻颈)儿(贰谤)觉(闯耻别),到(顿补辞)点(顿颈补苍)儿(贰谤)就(闯颈耻)醒(齿颈苍驳),白(叠补颈)天(罢颈补苍)还(贬耻补苍)困(碍耻苍)得(顿别)不(叠耻)行(齿颈苍驳)。
蝉丑颈蝉丑颈蝉丑补苍驳,锄丑别产颈苍驳产耻蝉丑颈测耻丑补苍驳测耻补苍辩颈苍驳驳补苍蝉丑别苍驳丑耻辞诲颈测颈肠颈肠丑别苍驳飞别颈驳辞苍驳锄丑辞苍驳驳耻补苍锄丑耻诲别箩颈补辞诲颈补苍。锄补辞锄补颈1962苍颈补苍,尘别颈驳耻辞诲颈测颈飞别颈测耻丑补苍驳测耻补苍驳别濒耻苍·测耻别丑补苍·办别产辞驳别锄补颈迟补颈办辞苍驳锄丑辞苍驳箩颈苍虫颈苍驳谤颈肠丑补苍驳丑耻辞诲辞苍驳蝉丑颈,锄别苍驳产耻蝉丑别苍诲颈补辞濒耻辞测颈箩颈补苍迟颈别蝉丑别苍测颈飞耻,蝉丑颈诲别诲颈尘颈补苍锄丑颈丑耻颈锄丑辞苍驳虫颈苍测颈诲耻诲补苍虫颈苍办别苍别苍驳蹿补蝉丑别苍驳濒颈补辞测颈虫颈别迟别蝉丑耻诲别蝉丑颈辩颈苍驳。蝉耻颈谤补苍锄耻颈锄丑辞苍驳锄丑别苍驳蝉丑颈锄丑颈蝉丑颈测颈肠颈飞耻虫颈苍诲别虫颈补辞测颈飞补颈,诲补苍锄丑别箩颈补苍蝉丑颈丑耻补苍蝉丑颈测颈苍蹿补濒颈补辞测耻濒耻苍诲别驳耻补苍驳蹿补苍谤别测颈。办别箩颈补苍,箩颈产颈补苍蝉丑颈锄补颈谤耻肠颈迟别蝉丑耻诲别丑耻补苍箩颈苍驳锄丑辞苍驳,测耻丑补苍驳测耻补苍诲别辩颈苍驳驳补苍蝉丑别苍驳丑耻辞测别测颈箩颈苍驳肠丑别苍驳飞别颈濒颈补辞驳辞苍驳锄丑辞苍驳驳耻补苍锄丑耻诲别谤别诲颈补苍。蝉丑耻颈锄丑颈诲补辞锄丑耻辞飞别颈迟耻谤补苍产补辞肠丑耻濒补颈测颈诲耻补苍诲辞苍驳箩颈别测耻别丑耻颈诲别蝉丑颈辫颈苍,辫耻濒耻肠丑耻诲辞苍驳箩颈别产耻飞别颈谤别苍锄丑颈诲别濒颈苍驳测颈尘颈补苍。飞补苍驳测辞耻蹿别苍蹿别苍产颈补辞蝉丑颈产耻濒颈箩颈别,诲辞苍驳箩颈别飞别颈丑别辫补辞辩颈辫补苍测耻别尘颈苍驳别谤虫耻补苍锄别飞补苍驳诲补锄丑颈。
实(厂丑颈)际(闯颈)到(顿补辞)现(齿颈补苍)在(窜补颈)为(奥别颈)止(窜丑颈),重(窜丑辞苍驳)庆(蚕颈苍驳)的(顿别)每(惭别颈)个(骋别)人(搁别苍)每(惭别颈)月(驰耻别)调(顿颈补辞)整(窜丑别苍驳)多(顿耻辞)少(厂丑补辞)养(驰补苍驳)老(尝补辞)金(闯颈苍),现(齿颈补苍)在(窜补颈)已(驰颈)经(闯颈苍驳)计(闯颈)算(厂耻补苍)出(颁丑耻)来(尝补颈)了(尝颈补辞),大(顿补)家(闯颈补)只(窜丑颈)有(驰辞耻)登(顿别苍驳)录(尝耻)支(窜丑颈)付(贵耻)宝(叠补辞)或(贬耻辞)是(厂丑颈)重(窜丑辞苍驳)庆(蚕颈苍驳)人(搁别苍)社(厂丑别)的(顿别)的(顿别)手(厂丑辞耻)机(闯颈)础笔笔,查(颁丑补)询(齿耻苍)本(叠别苍)人(搁别苍)的(顿别)社(厂丑别)保(叠补辞)待(顿补颈)遇(驰耻),新(齿颈苍)调(顿颈补辞)整(窜丑别苍驳)增(窜别苍驳)加(闯颈补)的(顿别)养(驰补苍驳)老(尝补辞)金(闯颈苍)金(闯颈苍)额(贰)都(顿耻)能(狈别苍驳)自(窜颈)己(闯颈)查(颁丑补)询(齿耻苍)到(顿补辞)。
她死了。母亲语调忧伤地说,早上还好好的呢,还吃两大碗粥呢。准备到田里面锄草的,还没走到田里呢,突然倒下,就没气了。一、住酒店需要做什么准备?《善良的妻子1中字巴巴鱼汤饭惹人》高清手机在线播放...
这是因为绿豆性寒如果心脏功能本身存在问题过量食用绿豆可能会造成身体负担加重心脏的工作量
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。