基于Cordova的博客园三方App

  一月前换了份工作,正式从.Net开发工程师转型到前端开发工程师, 目前公司主要是用Vue做web站点和Cordova+Vue做移动端App。趁着最近时间比较多。就想着用Cordova+Vue做一个博客园三方App。

【其实很早之前用Ionic做过一次,不过当时由于对NG2不太熟悉。代码写得很糟糕, 那个时候就说要重构,可以一直没时间】

        一. 技术选型

  1. UI库使用的是有赞团队的Vant,https://github.com/youzan/vant  功能还是比较齐全常用的组件都有,其实这个库的定位是电商类网站
  2.  使用的vue-cli@3.0,快熟方便的构建vue项目。
  3. 图片来源阿里巴巴的iconfont. http://www.iconfont.cn/  这个网站不错, 建议大家团队开发中用这个网站来做图标库管理,自己UI团队设计的图标库也可以转成svg上传上去统一做管理。

       二. 数据来源:

  1. 博客查询Api:  http://wcf.open.cnblogs.com/news/help
  2. 新闻查询Api:  http://wcf.open.cnblogs.com/blog/help
  3. 登录有使用的Api: www.cnblog.com  直接通过fiddler抓取的博客园的api

        三. 开发中遇到的问题

    1. 跨域问题:

                在开发模式的web站点运行的时候,接口会出现跨域问题,可以通过使用devserver的proxy代理来解决:          

module.exports = {
  baseUrl: './',
  productionSourceMap: false,
  devServer: {
    port: 7878,
    proxy: {
      '/blog': {
        target: 'http://wcf.open.cnblogs.com',
        changeOrigin: true,
        secure: false
      },
      '/news': {
        target: 'http://wcf.open.cnblogs.com/',
        changeOrigin: true,
        secure: false
      },
      '/mvc': {
        target: 'https://www.cnblogs.com/mvc',
        changeOrigin: true,
        secure: false
      },
      '/Comment/InsertComment': {
        target: ' https://news.cnblogs.com',
        changeOrigin: true,
        secure: false
      },
      '/News/VoteNews': {
        target: ' https://news.cnblogs.com',
        changeOrigin: true,
        secure: false
      }
    }
  },
  lintOnSave: true
}

    2. 图片无权限访问:

           博客园的图片添加了权限控制,开发模式为了查看, 我就将图片做了中转代理。所以写了一个filter来处理头像图片。

const imgConvert = (str) => {
  // 开发模式图片要做中转,不然没有权限访问
  if (ENV === 'development') {
    str = str.replace('http://', '')
    return `https://images.weserv.nl/?url=${str}`
  } else {
    return str
  }
}

            3. Cookie的写入

          document.cookie 在开发模式的web端可以使用,但是在cordova的app端document.cookie失效。解决方案是引入三方插件. window.cookieMaster就是cordova提供的操作原生cookie方法.

<plugin name="com.cordova.plugins.cookiemaster"  spec="https://github.com/chaoszero6/com.cordova.plugins.cookiemaster.git" />
export function setAuthCookie (cnblogsCookie) {
  // 存储到缓存
  setItem('cnblog.cookie', cnblogsCookie)
  // Cookie中添加
  if (window.cookieMaster) {
    window.cookieMaster.setCookieValue(
      'www.cnblogs.com',
      '.CNBlogsCookie',
      cnblogsCookie
    )
  } else {
    setCookie('.CNBlogsCookie', cnblogsCookie)
  }
}

       四: 效果展示

          

 

             五. 说明:

                 1. 登录的时候不是通过账号密码登录的,是直接在PC端登录,然后打开Chrome的开发模式,将cookie中的.CNBlogsCookie复制出来。

                 2. 登录后只用于博客的评论和推荐,新闻的评论和推荐没有做,是因为新闻的评论和推荐,需要将所有的cookie和sessionCookie都设置上, 不像博客那样只用设置.CNBlogsCookie就OK了。我觉得设置太多cookie麻烦,而且新闻的评论量不大。所以就没有在登录界面提供其他cookie的输入。

            五: 代码地址:【安装包只有1.8mb,目前cordova打包的时候没有引用crosswork和腾讯x5引擎来提升app性能.】

                   github地址(觉得不错的可以给个star,有反馈和意见的可以在github提issue): https://github.com/FourLeafClover/CNBlogApp

                   下载地址(目前只提供了android的下载地址,后面我会找mac去打包ios的ipa包放上去):  https://fir.im/cnblog  

               测试:

                https://github.com/anjoy8/Blog.Vue

 

转载于:https://www.cnblogs.com/FourLeafCloverZc/p/9380895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cordova App是一种跨平台的移动应用开发框架,可以基于HTML、CSS和JavaScript构建应用程序,同时支持Android和iOS等多个平台。在Cordova App中,可以通过使用插件来实现跳转功能。 跳转是指从一个页面或应用程序跳转到另一个页面或应用程序。在Cordova App中,可以通过使用插件来实现不同平台的跳转功能。例如,对于Android平台可以使用Cordova的InAppBrowser插件来打开一个浏览器窗口,并在该窗口中加载指定的URL页面。类似地,对于iOS平台可以使用Cordova的SafariViewController插件来打开一个在应用程序内部显示的浏览器窗口。 除了通过插件实现跳转功能,Cordova App还可以通过使用JavaScript代码来实现内部页面之间的跳转。通过使用Cordova提供的页面导航API,可以在不刷新整个应用程序的情况下,实现不同页面之间的跳转。可以通过在JavaScript中使用函数`window.location.href`或`window.location.replace`来修改页面的URL,进而实现页面跳转。 在Cordova App中进行跳转操作时,通常需要注意以下几点: 1. 合理使用跳转功能,避免过多跳转造成用户体验的不流畅。 2. 对于外部跳转,例如打开网页或其他应用程序,需要注意用户隐私和安全问题。 3. 在跳转过程中,可以通过传递参数来实现页面之间的数据传递,从而实现更复杂的业务逻辑。 总之,Cordova App提供了丰富的跳转功能,可以通过插件和JavaScript代码来实现页面之间的跳转。开发者可以根据具体需求选择合适的方法和技术来实现应用程序中的跳转功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值