千家信息网

vue开发应用的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关vue开发应用的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用 vux UI组件库使用 vue-navigat
千家信息网最后更新 2026年11月02日vue开发应用的示例分析

这篇文章将为大家详细讲解有关vue开发应用的示例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

  • 使用 vux UI组件库

  • 使用 vue-navigation 缓存页面,此库实现了前进刷新后退读缓存的功能,像原生APP导航一样。用子路由的方式实现tabbar有bug,用vuex解决了。

  • 使用 lib-flexible 解决移动页面适配

来一个清单

"dependencies": {  "fastclick": "^1.0.6",  "lib-flexible": "^0.3.2",  "lodash": "^4.17.4",  "vue": "^2.5.2",  "vue-navigation": "^1.1.3",  "vue-router": "^3.0.1",  "vuex": "^2.1.1",  "vuex-i18n": "^1.3.1",  "vux": "^2.7.8" }

微信登录

应用需要登录后可以访问,微信登录要实现的功能是从任意一个链接进入,判断是否登录,未登录跳到微信授权,成功后返回登录前链接,由于对php的微信授权做得比较多,所以微信授权放在的php实现,这里说一下实现过程。路由方式使用了 history 模式,打包好的 index.html 文件用php渲染出来。路由path定义统一的格式 r/xxxx ,这样对于php端的路由可以实现匹配,只要是这个格式的路由都匹配到渲染 index.html 的方法,要不然访问的时候服务端出现404错误。

php端路由配置,这里是laravel,其他框架应该也差不多

Route::get('/', 'HomeController@index')->middleware('auth')->name("home");Route::get('/r/{query}', 'HomeController@index')->middleware('auth')->name("home");

为什么不用 hash 模式呢,因为用hash模式的下php获取来源地址的时候获取不到#后面参数,虽然可以用参数传给后端,但是好麻烦,所以就用 history 模式了,后面的支付和分享也是这样

微信登录流程

  • 打开任意链接 xxx.com/r/xxx

  • 先经过php端,匹配路由,匹配失败的话就会找不到页面啦~

  • 匹配成功判断登录,未登录就跳到微信登录,跳转之前先记录当前链接,登录成功就返回记录的链接

用户登录状态使用token,token定义在index.html这个页面里面

微信支付

微信支付要解决的就是路径配置问题,由于我们的路由都是以 r/xxxxx 的格式来的,所以在微信那边就直接填写 http://xxx.xxxx.com/r/ ,注意需要支付的页面传参请使用 query 的方式。要不然r后面就会出现目录了,比如 r/goods/id/1 要换成 r/goods?id=1 ,这样只要定义一个路径全站都可以拉起支付

自定义分享

由于使用了 history 的路由模式,所以ios的问题需要解决,在路由跳转后,安卓能正常难道当前的路径,ios获取的是你第一打开应用的路径,所以在签名的时候就得注意了,安卓拿当前路径去签名,ios要拿第一次打开页面的路径去签名。这就是为什么要在路由初始化之前要定义一个第一次打开应用的路径。就是 index.html 里面那个具体怎么去签名,我这里使用的是 axios

关键代码

let http = axios.create({ baseURL: HOST + '/api/', timeout: 10000, headers: {  'Accept': 'application/json',  'Authorization': 'Bearer ' + TOKEN,  'InUrl': INURL,//传第一次打开页面的链接  'IsIos': isiOS//传是否ios }})

后台要拿三个

$is_ios = request()->header('IsIos');//获取是否ios$in_url = request()->header('InUrl');//获取第一次打开页面路径$in_url = explode("#", $in_url)[0];//处理一下if ($is_ios == 'true') {  $url = $in_url;//ios用第一次打开页面路径签名} else {  $url = url()->previous();//安卓就用请求这个接口的路径去签名}//用url去签名吧

拿到签名后怎么初始化呢

this.$wechat.config(res.data.wx_config)

这是vux提供的

由于应用使用了页面缓存,所以在定义自定义分享数据的代码就要放在 activated 里面执行,具体实现

首先定义一个 init=false

mounted 开始请求数据拿到签名

this.$wechat.config(res.data.wx_config) this.$wechat.ready(() => {  this.set_share() })

在 methods 定义一个方法

set_share () { // 自定义分享到朋友圈 this.$wechat.onMenuShareTimeline({  title: this.share.title,  link: this.share.url,  imgUrl: this.share.icon,  success: () => {} }) this.$wechat.onMenuShareAppMessage({  title: this.share.title,  desc: this.share.desc,  link: this.share.url,  imgUrl: this.share.icon })}

activated 定义

activated () { this.set_share()}

keep-alive 组件激活时重新设置一下自定义分享的数据,要不然如果在返回前的页面也定于的自定义分享,返回后页面没有刷新,分享的数据就会是之前的,这里重新定义一下就可以了。

关于vue开发应用的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

页面 登录 路由 路径 应用 链接 模式 第一次 支付 数据 时候 成功 就是 方式 格式 缓存 要不 安卓 示例 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技网 互联网佳科技有限公司 科技互联网项目 互联网科技金融公司 奇酷互联网络科技 亿策互联网科技 宜安科技 互联网金融 丰台科技园 互联网 博兴的互联网电子科技公司 互联网为啥属于高科技 湖北码尼互联网科技有限公司电话 未来五年的互联网科技 米聚互联网科技南京有限公司排面 互联网科技公司营业执照怎么办理 互联网科技快讯热点 上海乐五互联网科技有限公司 互联网科技平台产品运营 银川新华互联网科技学校原画 科技和互联网行业的特点 如何强化互联网金融科技 广州淘业互联网络科技 科技创新与互联网经济 互联网科技金融 互联网公司会议桌创意科技软装饰 宁夏众和广鑫互联网科技有限公司 知域互联网科技有限公司大骗子 江阴互联网智能科技产品进口 工业互联网山东科技大学 青岛互联网科技园 现代科技的标志之一的互联网
0