背景:vue项目在浏览器中使用,设置token过期,将token存入cookie;
关键词:js-cookie、hbulider、andriod、ios、vue
问题:用hbuilder打包安卓测试包后,在安卓端发起http请求,始终提示token过期。
分析:断点本地login请求,请求可以进入后端,说明无反向代理,跨域的问题,在vuet中的text.env.js中设置console.log,获取当前构建环境process.env.type,确认是当前配置的ip请求,后端断点,查看token的值,发现无论是登录还是其他请求,token都是undefind;于是推测,token登录之后,app中没有进行储存。查看vue储存token是引用的js-cookie,怀疑是跨端代码表达不好,换使用localstorage试一下
解决:安卓端使用localstorage储存token,替换掉原来的js-cookie引用,若兼容ios可以单独写判断;【IOS可以读取cookie】
扩展:vue项目打包安卓app
vue先打包dist文件出来,然后用hbuilder的h5+app模板,将dist里的static和index.html拷入模板
,修改 manifest.json的打包内容,云打包即可