Java+Vue 微信公眾號(hào)

繼整理完上篇文章《初遇Vue》之后 整理一下微信公眾號(hào)的那些事,客戶項(xiàng)目是用java寫(xiě)的,應(yīng)用了spring cloud微服務(wù)框架,所以折騰的這個(gè)微信公眾號(hào)基本不用我寫(xiě)java程序,相關(guān)接口已經(jīng)非常成熟了。在這里就講講部署測(cè)試的時(shí)候遇到的一些問(wèn)題吧!

java part

自從被哥哥們拽著搞業(yè)務(wù)之后,自身的精力全被分散了,導(dǎo)致長(zhǎng)時(shí)間不寫(xiě)java代碼手生,犯了好多的低級(jí)錯(cuò)誤。

錯(cuò)誤示范
下段代碼中若wxUser為空的時(shí)候直接賦值為對(duì)象項(xiàng)目會(huì) 報(bào)錯(cuò)
這是個(gè)教訓(xùn) 得謹(jǐn)記

WXUser wxUser = this.wxUserDao.findByOpenId(openId);
        if (wxUser == null) {
            // 請(qǐng)求app 第三方登錄接口返回apptoken 并存上 session也要存
     WXUserValue wxUserValue = iwxUserService.loginThird(param);
            if (StringUtils.isNotBlank(wxUserValue.getAppToken())) {
                wxUser = new WXUser();
                ...
                this.wxUserDao.save(wxUser);
               wxUser = newUser;
           } else {
              ...
                }
            }
        }
       wxSessionValue.setAppToken(wxUser.getAppToken());

vue part

  1. 關(guān)于代理
    因?yàn)槭乔昂蠖朔蛛x的項(xiàng)目,所以在項(xiàng)目部署的時(shí)候前端程序和后臺(tái)程序不在同一個(gè)端口,這時(shí)需要Nginx幫幫忙。
    前端config/index.js的文件中代理請(qǐng)求接口設(shè)置如下:
proxyTable: {
      '/search': {
        target: 'http://localhost:9380',// 這是本地java項(xiàng)目端口
        changeOrigin: true,
        pathRewrite: {
          '^/search': '/search'
        }
      }
}
  1. 關(guān)于Vue官方提供的axios配置

axios.create中相關(guān)參數(shù)的配置有許多 具體可查看官方提供文檔,這里只做項(xiàng)目需求的一些公共配置,而具體的接口調(diào)用要根據(jù)提供接口的性質(zhì)來(lái)判斷是否為POST請(qǐng)求、GET請(qǐng)求等其他

// 這是統(tǒng)一方法
import axios from 'axios'
import router from '../main'

const request = axios.create({
  headers: {
    'Content-Type': 'application/json;charset=UTF-8'
  },
  baseURL: 'http://localhost:8080'// 這是vue本地端口 Vue端口調(diào)整可在config/index.js中設(shè)置
export default request
// 這是具體接口的個(gè)性化調(diào)整
import request from '../utils/request'

export function activityDetail (postData) {
  return request({
    url: '/wx/getActivityById',
    method: 'post',
    data: JSON.stringify(postData)
  })
}

這樣在對(duì)應(yīng)的.vue文件中直接引用

import { activityDetail } from '../api/share'

就可以實(shí)現(xiàn)axios的應(yīng)用 跟傳統(tǒng)的ajax用法沒(méi)有區(qū)別了

微信公眾號(hào) part

用Vue寫(xiě)微信公眾號(hào) 唯一需要注意的就是微信公眾號(hào)授權(quán)問(wèn)題,尤其是公眾號(hào)菜單如何跳轉(zhuǎn)到對(duì)應(yīng)的頁(yè)面,由于vue編譯出來(lái)的是類似于靜態(tài)頁(yè)面,傳統(tǒng)的ModelAndView方法根本不能實(shí)現(xiàn)跳轉(zhuǎn)(ps:至少我是沒(méi)有實(shí)現(xiàn)跳轉(zhuǎn)),最后在java程序里寫(xiě)了

response.sendRedirect(RestConstants.HOST_SERVICE + "dist/index.html#/error");

但是被吐槽跳轉(zhuǎn)過(guò)重,感覺(jué)已經(jīng)盡力,有什么更好的方法么,求助

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,728評(píng)論 18 399
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評(píng)論 19 139
  • 11月末,教師資格證的成績(jī)出來(lái)了,兩科只過(guò)了一科,沒(méi)過(guò)的那科只差5分,這是在我的意料之外同時(shí)也在情理之中,因?yàn)槲夷?..
    丁玉菡閱讀 536評(píng)論 0 0
  • 好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好累好...
    qtpifan閱讀 346評(píng)論 0 0
  • 許多人的所謂成熟,不過(guò)是被習(xí)俗磨去了棱角,變得世故而實(shí)際了。那不是成熟,而是精神的早衰和個(gè)性的夭亡。 真正的成熟,...
    小是一個(gè)小財(cái)迷閱讀 124評(píng)論 0 0

友情鏈接更多精彩內(nèi)容