- 微信小程序返回值中的cookie作用
过完年前就发现返回值中出现了一个cookies,但是具体作用是干啥的不清楚,过完年之后,公司要求处理用户登录密码加密问题,要用到cookie,就自己好好恶补了一顿。官方文档对cookie的作用寥寥无几啊,难不成和web用法一模一样? 首先说明,cookie是用来在客户端浏览器上缓存数据的,很多人都说安全性不高。想了想,先前觉得要cookie没啥用,现在cookie太重要了。 在微信小程序中,用户每发送一次wx.request()请求之后,对于服务器来说就是新的会话,就相当于打开新的浏览器,对应的cookie会发生变化,也就造成用户未登录状态,要是一直保持用户登录状态,考虑到发送重定向请求,然而没有。 要想保持用户登录状态,请参阅:保持用户登录状态。废话不多说,上代码: 发送请求 [代码]var[代码] [代码]data={};[代码][代码]wx.request({[代码][代码] [代码][代码]url: [代码][代码]'https://xxxxx.xxx.xxxx/xxxx/xxx'[代码][代码],[代码][代码] [代码][代码]data: data,[代码][代码] [代码][代码]dataType: [代码][代码]"json"[代码][代码],[代码][代码] [代码][代码]method: [代码][代码]'GET'[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]}[代码][代码]})[代码]获取json数据结果如下 [图片] 设置header值 [代码]var[代码] [代码]header = {[代码][代码] [代码][代码]'Accept'[代码][代码]: [代码][代码]'application/json'[代码][代码],[代码][代码] [代码][代码]'content-type'[代码][代码]: [代码][代码]'application/json'[代码][代码],[代码][代码] [代码][代码]'Authorization'[代码][代码]: [代码][代码]null[代码][代码],[代码][代码] [代码][代码]'Cookie'[代码][代码]:[代码][代码]"JSESSIONID="[代码] [代码]+ res.cookies[[代码][代码]0[代码][代码]].value[代码][代码]}[代码]再次发送请求 [代码]var[代码] [代码]data={};[代码][代码]wx.request({[代码][代码] [代码][代码]url: [代码][代码]'https://xxxxx.xxx.xxxx/xxxx/xxx'[代码][代码],[代码][代码] [代码][代码]data: data,[代码][代码] [代码][代码]dataType: [代码][代码]"json"[代码][代码],[代码][代码] [代码][代码]header:header,[代码][代码] [代码][代码]method: [代码][代码]'GET'[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]}[代码][代码]})[代码]再次发送请求的时候就可以保持用户登录状态了,相当于在同一个浏览器上操作。 抛砖引玉:不知道我说的是否正确呢?我是新菜,希望路过的朋友能指点一二,欢迎评论探讨更多cookie的作用(*^▽^*)!
2019-02-20 - 微信小程序开发者工具无法真机测试
- 当前 Bug 的表现(可附上截图) 打开开发者工具,点击工具中的真机调试,然后用真机扫描二维码进入真机测试加载,然后直接就闪退了,这是什么情况啊?!!! - 预期表现 以前也是这么真机测试的就没有问题,为啥现在怎么感觉打不开真机测试页面了,就到加载首页就直接闪退了 - 复现路径 - 提供一个最简复现 Demo
2019-02-15 - 获取当前位置坐标问题
- 当前 Bug 的表现(可附上截图) 我调用api中的wx.getLocation获取我当前位置的坐标,然后再打开地图,发现获取到的坐标不是我当前位置的坐标,获取到的数据如下: latitude=39.90469;longitude=116.40717;speed=-1;accuracy=65;显示如上图所示。 但是我不在北京,我在天津啊,下面的大图是我当前位置,这是个什么情况啊? [图片] [图片] 附上代码 [代码]getBiddingList: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]var[代码] [代码]that = [代码][代码]this[代码][代码];[代码][代码] [代码][代码]wx.getLocation({[代码][代码] [代码][代码]type:[代码][代码]'wgs84'[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码][代码](res) {[代码][代码] [代码][代码]const[代码] [代码]latitude = res.latitude[代码][代码] [代码][代码]const[代码] [代码]longitude = res.longitude[代码][代码] [代码][代码]const[代码] [代码]speed = res.speed[代码][代码] [代码][代码]const[代码] [代码]accuracy = res.accuracy[代码][代码] [代码][代码]console.log([代码][代码]'latitude='[代码] [代码]+ latitude + [代码][代码]';longitude='[代码] [代码]+ longitude + [代码][代码]';speed='[代码] [代码]+ speed + [代码][代码]';accuracy='[代码] [代码]+ accuracy)[代码][代码] [代码][代码]wx.openLocation({[代码][代码] [代码][代码]latitude,[代码][代码] [代码][代码]longitude,[代码][代码] [代码][代码]scale: [代码][代码]18[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码] [代码][代码]})[代码] } - 预期表现 - 复现路径 - 提供一个最简复现 Demo
2019-01-26 - VM94:5 appJSON["window"]["navigationBarT
- 需求的场景描述(希望解决的问题) 大清早的更新了一下微信开发者工具,然后报如下错误: [代码]VM94:5 appJSON[[代码][代码]"window"[代码][代码]][[代码][代码]"navigationBarTextStyle"[代码][代码]] 字段需为 black 或 white[代码]- 希望提供的能力 这是不让小程序title风格化了吗?
2019-01-18 - navigationBar区域文字和tabBar文字及图片自适应问题
- 问题描述 小程序开发进行全局配置的时候,有没有可以设置navigationBar区域文字和tabBar文字及图片自适应啊。我手机模式下显示正常,但是切换到ipad模式下就会navigationBar区域文字和tabBar文字及图片并没有随着屏幕的增大而增大,反而变小了,求各位大神们的解决方案。 - 正常手机显示 [图片] - ipad显示 [图片] 这样不自适应显得页面好丑!求大神指点!灰常感谢,Thanks♪(・ω・)ノ。
2018-09-18 - 云开发数据不会自动更新及api调用报错?
我在开发者工具中执行一个新增数据的函数方法,然后切换到云开发数据库中查看我新增一条数据,然后等了老久,数据库中的数据没有自动更新,也没有刷新按钮,只有首页有,还得换到首页进行刷新吗?好麻烦! 我利用云开发进行更新数据,然后一直报错,运行的是模板提供的代码,前面添加新数据也是,也就查询没报错。。。 [代码]onCounterInc: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]const[代码] [代码]db = wx.cloud.database()[代码][代码] [代码][代码]const[代码] [代码]newCount = [代码][代码]this[代码][代码].data.count + [代码][代码]1[代码][代码] [代码][代码]db.collection([代码][代码]'counters'[代码][代码]).doc([代码][代码]this[代码][代码].data.counterId).update({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]count: newCount[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]count: newCount[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: err => {[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码],[代码][代码] [代码][代码]console.error([代码][代码]'[数据库] [更新记录] 失败:'[代码][代码], err)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码]onCounterDec: [代码][代码]function[代码][代码]() {[代码][代码] [代码][代码]const[代码] [代码]db = wx.cloud.database()[代码][代码] [代码][代码]const[代码] [代码]newCount = [代码][代码]this[代码][代码].data.count - [代码][代码]1[代码][代码] [代码][代码]db.collection([代码][代码]'counters'[代码][代码]).doc([代码][代码]this[代码][代码].data.counterId).update({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]count: newCount[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]count: newCount[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: err => {[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码],[代码][代码] [代码][代码]console.error([代码][代码]'[数据库] [更新记录] 失败:'[代码][代码], err)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]},[代码]报错 [图片]然后狂点几次又突然好了。。。。emmmmmmmmmmmmmm这是不是bug啊。
2018-09-16 - 循环遍历列表存储该列表对应下的用户当前地理坐标
- 当前 Bug 的表现(可附上截图) 通过for循环遍历列表信息,进行对列表信息中的定位信息进行更新为当前定位信息,报错undefined,初步认识到可能是for循环遍历较快,而获取定位信息较慢,造成这种情况,就想知道有没有可以让for循环中的每一轮执行时暂停一会再执行的方法,可能或提出将for循环放在wx.getLocation()方法之内,但是我的最终目的是通过for循环进行地址解析,所以for循环要放在外侧。 [图片] - 预期表现 列表中的各项定位信息更新为当前定位信息 - 复现路径 - 提供一个最简复现 Demo [代码]getPositions:[代码][代码]function[代码][代码](){[代码][代码] [代码][代码]var[代码] [代码]list=[];[代码][代码] [代码][代码]for[代码][代码]([代码][代码]var[代码] [代码]i=[代码][代码]0[代码][代码];i<[代码][代码]3[代码][代码];i++){[代码][代码] [代码][代码]var[代码] [代码]item = {[代码][代码] [代码][代码]id: i,[代码][代码] [代码][代码]name: [代码][代码]'pp'[代码][代码]+i,[代码][代码] [代码][代码]position: {[代码][代码] [代码][代码]lat: [代码][代码]0[代码][代码],[代码][代码] [代码][代码]lng: [代码][代码]0[代码][代码] [代码][代码]}[代码][代码] [代码][代码]};[代码][代码] [代码][代码]list.push(item);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]console.log(list);[代码][代码] [代码][代码]for[代码][代码]([代码][代码]var[代码] [代码]i=[代码][代码]0[代码][代码];i<list.length;i++){[代码][代码] [代码][代码]wx.getLocation({[代码][代码] [代码][代码]success: [代码][代码]function[代码][代码](res) {[代码][代码] [代码][代码]list[i].position.lat=res.latitude;[代码][代码] [代码][代码]list[i].position.lng=res.longitude;[代码][代码] [代码][代码]},[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]console.log(list);[代码][代码] [代码][代码]},[代码]
2018-09-04