- 博客(117)
- 收藏
- 关注
原创 AI聊天方案:vue+nodeJs+SSE
sse和websocket有点类似,相比于传统的HTTP协议,他们的通信成本更低,可以建立长连接,实时性高,不必每次收发消息都要进行繁琐的握手挥手。而sse和websocket的区别在于,sse是单向的,只能服务器向客户端发送消息,而websocket是双向的。如果只是单纯实现一个消息推送,而不考虑什么已读未读之类的客户端返回数据,用SSE可能更好一些。sse本身还是基于HTTP协议的,但是会在请求头中进行特殊的设置,告诉客户端接收的是SSE数据。
2025-07-23 18:09:58
534
原创 Vue3中watch和watchEffect区别和用法
使用过Vue的小伙伴,不管时Vue2还是Vue3,我相信你都用过Vue中的监听器。!我们很多需求都会用到监听器watch,但是Vue2和Vue3中的监听器的用法有些许不一样,这就让一些从Vue2转Vue3的小伙伴不太适应,所以,我们今天就来好好学一学Vue3中的监听器如何使用!
2025-07-22 18:00:56
935
原创 WebkitSpeechRecognition 语音识别
使用 WebkitSpeechRecognition,您可以让用户通过说话来与您的 Web 应用程序进行交互,这可以使您的应用程序更加易于使用,也可以为用户提供更加人性化的体验。WebkitSpeechRecognition 是一种有用的 JavaScript API,它可以使您的 Web 应用程序更加易于使用,并为用户提供更加人性化的体验。我们使用 onresult 事件来监听语音识别结果,并将其设置为搜索框的值。在上面的代码中,我们使用 start 方法开始语音识别,使用 stop 方法停止语音识别。
2025-07-21 12:22:49
1324
原创 VUE如何设置语音
通过以上方法,你可以在Vue项目中设置语音功能,选择使用Web Speech API或集成第三方语音合成库都可以实现语音合成。Web Speech API 适合简单的应用场景,而第三方服务则提供了更高质量的语音和更多的功能。根据你的需求选择合适的方法,并确保在项目中进行适当的错误处理和兼容性检查,以提供良好的用户体验。相关问答FAQs:1. VUE中如何设置语音识别功能?要在Vue中设置语音识别功能,可以使用Web Speech API。
2025-07-21 10:34:23
960
原创 Vue3 + WebSocket
综上所述,Vue3与WebSocket结合能够很好地满足实时通讯的需求。通过合理设计和管理WebSocket连接的生命周期,以及实现必要的重连逻辑和心跳检测机制,可以构建出响应迅速且稳定的实时应用。在实际开发中,还可以根据具体业务需求对WebSocket通讯做更深入的定制和优化。
2025-07-17 17:34:17
410
原创 Options请求
1.定义首部字段,就是设置请求头xhr.setRequestHeader('appId', $APPID);设置Access-Control-Max-Age: 86400;避免发起同一options请求,链接地址:http://www.xudihui.com/?p=285...
2018-11-12 23:05:39
289
原创 react动态增加input框20180828
react动态增加input框20180828先在render里写好渲染的方法和点击的方法:二、点击的时候,先获取“记录新建或减少的描述字段的限制个数的数组”和“储存新增描述字段的input框的输入值数组”,若在限制个数之内,则同时给两者增加一个空元素渲染的时候,会根据限制个数的数组长度来return多少个input框,同时,显示的value值也是根据第几个i和储存值的数组的下标...
2018-08-28 00:34:35
6963
8
原创 react setState不保证同步
setState使用回调函数,保证函数里面的语句是在set完state的值之后执行的,而下面的create_number取到的是set之前的值,回调函数里取到的是set之后的值,因为setState不能保证同步...
2018-08-02 12:03:58
558
原创 react使用prevState修改state的值
react使用prevState修改state的值class Timer extends React.Component { constructor(props) { super(props); this.state = { seconds: 0 }; } tick() { this.setState(prevState => ({ seconds: pr...
2018-06-28 10:40:33
4437
原创 js20180619
foreachforEach方法中的function回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身
2018-06-19 10:33:46
178
原创 react+reqwest+post20180611
React的Reqwest的post请求方式的使用一、前端代码(加个headers)headers: { "Content-Type": "application/json", // "Access-Control-Request-Headers": "Origin, X-Requested-With, Content-Type, Accept"}, 二、后端代码(也加请求头)1. 2....
2018-06-11 16:34:23
1689
原创 css20180607
<img src={imgSrc} className="identity-img" onError={(e) => {e.target.src=require("../../assets/avartar-error.png")}}/>当图片加载失败的时候可以用另一张替代,可以用onError方法实现...
2018-06-07 21:44:58
194
原创 react20180607
React修改根目录重定向,设置项目运行时首次进入的页面根目录一般在Page.js或者在App.js里面,然后在打开的页面复制“#”后面的路径,直接覆盖<Redirect to={`/${configData.defaultUrl}`} push />里面的to里面的双撇号里面的路径,即可。这样即可以在运行项目时就可以进入到自己指定的页面。...
2018-06-07 16:28:59
162
原创 vue20180602
28.升级版,vue带参数的页面跳转先在第一个页面:HTML: <li class="checkDetail_li" v-for="checkDetail in this.$store.state.customer_addStore.customerList.slice()"><div class="checkDetail_area" @click="checkDetail_cl...
2018-06-02 17:10:32
181
原创 js20180529
将数组转化为对象包对象的形式{id:{id:name},id{id:name}}的形式,下次就可以xxx.id.id或者xxx.id.nane来获取了id或者name了,减少了匹配for循环的次数,也更加清晰...
2018-05-29 14:27:14
201
原创 postman20180523
Postman使用一、使用post方式测试:选择“POST”,输入URL,选择“Body”,入参是写在body里面的,然后选择“raw”,然后选择“JSON”,然后就点击“Send”
2018-05-23 10:10:16
163
原创 js20180523
1.三目运算符注意事项this.fieldCheckedItem = val ? itemName : []意思是先对val做true或者false判断,然后ture返回itemName并赋值给this.fieldCheckedItem,false就返回一个[]并赋值给this.fieldCheckedItem...
2018-05-23 00:40:42
146
原创 vue20180519
vue取placeholder的值的问题:可以在placeholder前加“:”冒号,实现v-bind绑定,然后在data写好相应的绑定的名字即可,入:<input :placeholder='inputHolder' />data() { inputHolder: '666'}...
2018-05-19 17:50:52
191
原创 vue20180516
vuex+axios+echarts饼图实现一、先在beforeCreate里分发store.js里的Action,分发完之后就取到store.js里饼图的数据,取到之后就开始画图init charts.vue文件beforeCreate() { // 先拿到series this.$store.dispatch('indstrlAction').then((resolve) => { ...
2018-05-16 23:37:11
220
原创 vue20180516
使用import require引入文件的路径问题 因为模块是安装在node包里面的,所以直接输入安装包的名字即可以找到如:import echarts from 'echarts/lib/echarts'Import和require是不同的规范,多数情况下用importImport和require是不同的规范,多数情况下用import这样引入的意思是匿名引入,在init初始化的时候就会用到这个p...
2018-05-16 22:44:33
119
原创 身份证正则表达式20180512
reg_18 = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|30|31)|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}([0-9]|x|X)$/;注意跟网上的比加多了一个30地区: [1-9]\d{5}年的前两...
2018-05-12 18:01:32
727
原创 代码部署20180508
1.有多种方式安装nginx,有centos和ubuntuubuntu下面就一行命令安装 sudo apt-get install nginx
2018-05-11 16:00:55
204
原创 jq20180511
$(".class1 .class2") 选择class1元素下class2的元素(中间有空格)$(".class1.class2") 选择同时含有class1和class2的元素(中间没有空格)$(".class1,.class2") 选择class1或者class2的元素(中间有逗号)...
2018-05-11 16:00:30
244
原创 js对象里的中文字段去重
去重代码2.0//为了展示字段去重,先定义一个将中文转成unicode编码的函数,edit by v_czzhong 20180511 function tounicode(data) { if(data == '') return '请输入汉字'; var str =''; for(var i=0;i<data.length;i++) {...
2018-05-11 15:58:49
638
原创 git20180511
如何将代码上传到git项目1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库git init2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件git add .3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明git commit -m 'first com...
2018-05-11 15:53:54
127
原创 jqjs20180511
对于字符串,可以:String s = "abcd";System.out.println(s.length()); //打印字符串长度对于数组,length不是方法,而是属性,应该这样:String[] aa = {"abc", "123"};System.out.println(aa.length); //注意,没有括号了,呵呵。...
2018-05-11 09:48:48
166
原创 css20180509
1.获取偶数索引子元素$('.bizCardReco').children('div').children('span:even').css('width','100px')2.获取奇数索引子元素$('.bizCardReco').children('div').children('span:odd').css('width','100px')...
2018-05-09 22:40:31
133
原创 服务器连接20180508
1.服务器在不一样的网络环境,是不能直接连接的,有的公有云是外部网络环境,但有的是内部网络环境,就要要通过xshell来连接到“跳板机”,再连接到服务器...
2018-05-09 14:06:41
152
原创 代码部署20180508
1.部署前端代码到服务器上,有很多种方法,有centos和ubuntu,ubuntu下面就一行命令安装 sudo apt-get install nginx
2018-05-09 14:06:35
311
原创 vue20180507
当我们在Vue.js项目中引用图片时,关于图片路径有以下几种情形:使用一我们在data里面定义好图片路径?1imgUrl:'../assets/logo.png'然后,在template模板里面?12/*错误写法*/<img src="{{imgUrl}}">这样是错误的写法,我们应该用v-bind绑定图片的srcs属性?1<img :src="imgUrl">或者?1&l...
2018-05-08 16:09:09
168
原创 es620180506
1.es6和node.js做路径解释,有很多时候我们都看到‘./store’,其中“store”是一个文件夹,后面就没有接文件了,这是es6和nodejs默认会找到文件夹后面的index.js,所以会解释成为'./store/index.js'...
2018-05-06 16:54:49
167
原创 es620180503
1.js这种写法什么意思?[字符串](参数a,参数b){}对象的一个方法例如const obj = {["func"](a,b){}}等价于var obj={func:function(a,b){}}其中方括号内是个变量的形式更多见因为原来es5里面属性名不能是变量,只能先定义一个对象,再给对象的属性赋值,es6可以直接定义一个变量做属性名...
2018-05-03 22:06:35
158
原创 EasyMock20180503
EasyMock教程地址:https://segmentfault.com/a/1190000011996034
2018-05-03 19:53:15
153
原创 es620180503
Es6新特性反撇号``(英文半角下按波浪~键)`${cgiUrl}/getjourneys`这个es6模板字符串,用反撇号``包裹 中间可以有变量,变量用${}包裹,新特性 ,这样就不用 +来字符串拼接...
2018-05-03 14:23:55
152
原创 前端20180503
1.判断请求返回的图片url是否使用了缓存图片的方法一.使用图片的url在浏览器地址栏里面打开,然后F12开发者工具查看Headers,如果里面的Status Code是304就是使用了缓存图片,不是从远端获取的2.解决url使用了浏览器缓存的问题,后台返回的url不变(文件实际指向已经改变),浏览器就去去缓存图片引起的,现在在返回的url后面加个“?时间戳”做hash值,欺骗浏览器每次都是请求不...
2018-05-03 00:18:34
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人