基于mpvue的微信小程序全棧保姆式教程二

上一篇文章已經(jīng)把服務(wù)器配置完畢,接下來就是把代碼在本地跑起來捂蕴,在開發(fā)環(huán)境跑起來启绰,在生成環(huán)境跑起來委可,在自己配置的服務(wù)器跑起來着倾。

微信小程序注冊

前往https://mp.weixin.qq.com/wxopen/waregister?action=step1注冊自己的小程序賬號,按照提示即可蒿囤,然后前往https://mp.weixin.qq.com/wxopen/initprofileaction=home&lang=zh_CN&token=406389460新建一個(gè)微信材诽,接下來下載微信小程序開發(fā)工具https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html脸侥,選擇適合自己電腦的版本睁枕。

讓代碼在本地跑起來

配置本地環(huán)境

安裝MySQL沸手,建議下載xampp契吉,用xampp自帶的MySQL捐晶,用起來比較方便租悄。下載Navicat Premium,上篇文章已經(jīng)給出下載破解地址胶哲。

下載代碼并本地運(yùn)行起來

https://github.com/FFGF/XCDHBook下載代碼到本地鸯屿,打開xampp,點(diǎn)擊MySQL的start 啟動本地MySQL寄摆, 通過Navicat創(chuàng)建一個(gè)本地連接婶恼,進(jìn)入本地?cái)?shù)據(jù)庫勾邦,新建一個(gè)cAuth數(shù)據(jù)庫,然后將下載的代碼server/tools/cAuth.sql導(dǎo)入到cAuth數(shù)據(jù)庫萎河。右鍵cAuth選擇運(yùn)行SQL文件虐杯,然后選擇cAuth.sql運(yùn)行即可擎椰。

打開xampp

新建cAuth數(shù)據(jù)庫

接下來需要修改配置文件译荞,推薦使用vscode編輯器,修改/XCDHBook/project.config.json 把里面的appid換成你自己微信小程序的appid

{
    "description": "項(xiàng)目配置文件圈膏。",
    "setting": {
        "urlCheck": false,
        "es6": true,
        "postcss": true,
        "minified": true,
        "newFeature": true
    },
    "miniprogramRoot": "./dist/",
    "qcloudRoot": "./server/",
    "compileType": "miniprogram",
    "appid": "wx56f6f1c59845b222",
    "projectname": "book",
    "libVersion": "2.2.3",
    "condition": {
        "search": {
            "current": -1,
            "list": []
        },
        "conversation": {
            "current": -1,
            "list": []
        },
        "game": {
            "currentL": -1,
            "list": []
        },
        "miniprogram": {
            "current": -1,
            "list": []
        }
    }
}

修改/src/config.js為下面所示

// 配置項(xiàng)
const host = 'http://localhost:5757'
const config = {
  host,
  loginUrl: `${host}/weapp/login`,
  userUrl: `${host}/weapp/user`
}
export default config

修改/server/config.js代碼為下面所示,可以把其中的qcloudAppIdqcloudSecretId尿褪、qcloudSecretKey修改成你自己的杖玲。

const CONF = {
    serverHost: 'localhost',
    tunnelServerUrl: '',
    tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',
    // 騰訊云相關(guān)配置可以查看云 API 秘鑰控制臺:https://console.cloud.tencent.com/capi
    qcloudAppId: '1253824455',
    qcloudSecretId: 'AKIDYCtbPHAQ8W0SySxBCZ4lbbi4W7nitQII',
    qcloudSecretKey: 'AGJcqBb50nTCuaCi9f6Pal0Kh8c7ZyHX',
    wxMessageToken: 'weixinmsgtoken',
    networkTimeout: 30000,

    port: '5757',
    rootPathname: '',

    // 微信小程序 App ID
    appId: '',

    // 微信小程序 App Secret
    appSecret: '',

    // 是否使用騰訊云代理登錄小程序
    useQcloudLogin: true,

    /**
     * MySQL 配置摆马,用來存儲 session 和用戶信息
     * 若使用了騰訊云微信小程序解決方案
     * 開發(fā)環(huán)境下囤采,MySQL 的初始密碼為您的微信小程序 appid
     */
    mysql: {
        host: 'localhost',
        port: 3306,
        user: 'root',
        db: 'cAuth',
        pass: '',
        char: 'utf8mb4'
    },

    cos: {
        /**
         * 地區(qū)簡稱
         * @查看 https://cloud.tencent.com/document/product/436/6224
         */
        region: 'ap-guangzhou',
        // Bucket 名稱
        fileBucket: 'qcloudtest',
        // 文件夾
        uploadFolder: ''
    },

    // 微信登錄態(tài)有效期
    wxLoginExpires: 7200,
    wxMessageToken: 'abcdefgh'
}
module.exports = CONF

然后在cmd下面進(jìn)入到/XCDHBook目錄下運(yùn)行 npm install 安裝依賴蕉毯,如果網(wǎng)速很慢建議換成淘寶的鏡像npm install -g cnpm --registry=https://registry.npm.taobao.org 運(yùn)行cnpm install進(jìn)行依賴安裝恕刘,然后cnpm run dev或者npm run dev 運(yùn)行小程序褐着。然后再打開一個(gè)cmd進(jìn)入到/XCDHBook/server 和上面一樣含蓉,運(yùn)行小程序后端代碼。安裝依賴 cnpm install 斟赚, 安裝nodemon cnpm install -g nodemon,然后cnpm run dev 或者npm run dev運(yùn)行起來拗军,目前為止有兩個(gè)cmd发侵,一個(gè)是后端代碼刃鳄,一個(gè)是前端小程序代碼叔锐。
打開微信小程序開發(fā)工具愉烙,記得勾選不校驗(yàn)合法域名解取、web-view(業(yè)務(wù)域名)肮蛹、TLS 版本以及 HTTPS 證書伦忠,把項(xiàng)目目錄定位到XCDHBook即可昆码,打開后點(diǎn)擊上面的編譯,編譯一下就行了吨娜。這個(gè)時(shí)候你就可以看到微信小程序已經(jīng)跑起來了宦赠。

微信開發(fā)者工具

設(shè)置https

XCDHBook

注意這個(gè)時(shí)候還不能真機(jī)預(yù)覽,你點(diǎn)擊了預(yù)覽按鈕會生成一個(gè)二維碼妙色,掃描后并不能看到數(shù)據(jù)身辨,因?yàn)槭謾C(jī)無法找到電腦localhost的數(shù)據(jù)煌珊。接下來讓小程序在開發(fā)環(huán)境跑起來怪瓶,可以真機(jī)預(yù)覽一下

開通開發(fā)環(huán)境践美,進(jìn)行真機(jī)預(yù)覽

https://mp.weixin.qq.com/wxopen/thirdtools?action=index&token=406389460&lang=zh_CN 選擇開通騰訊云陨倡,進(jìn)入后臺開發(fā)環(huán)境

開通開發(fā)環(huán)境

后臺管理

https://console.qcloud.com/lav2/dev,可以看到騰訊為你準(zhǔn)備了一套的配套措施杂曲,其實(shí)就是上篇文章咱們配置的服務(wù)器擎勘。把二級域名復(fù)制粘貼一下棚饵,修改配置文件即可噪漾。
開發(fā)環(huán)境

先把數(shù)據(jù)庫導(dǎo)入到開發(fā)環(huán)境點(diǎn)擊phpMyAdmin按鈕欣硼,賬戶是root分别,密碼是你的appid,里面已經(jīng)存在數(shù)據(jù)庫cAuth耘斩,我們只要把我們的表導(dǎo)進(jìn)去即可括授,如果導(dǎo)入過程中出現(xiàn)錯(cuò)誤荚虚,也不怕版述,我們直接打開cAuth.sql渴析,把里面的sql語句復(fù)制粘貼出來俭茧,然后點(diǎn)擊SQL按鈕,直接運(yùn)行sql進(jìn)行建表午磁,然后插入數(shù)據(jù)即可。
導(dǎo)入mysql

運(yùn)行sql

修改/XCDHBook/src/config.js,把host換成你自己的開發(fā)環(huán)境二級域名

// 配置項(xiàng)
const host = 'https://mxvlh6mn.qcloud.la'

const config = {
  host,
  loginUrl: `${host}/weapp/login`,
  userUrl: `${host}/weapp/user`
}
export default config

修改/XCDHBook/service/config.js,主要是就是注釋掉為了本地開發(fā)而做的設(shè)置,然后把數(shù)據(jù)庫密碼修改成你的appid

const CONF = {
    // serverHost: 'localhost',
    // tunnelServerUrl: '',
    // tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',
    // // 騰訊云相關(guān)配置可以查看云 API 秘鑰控制臺:https://console.cloud.tencent.com/capi
    // qcloudAppId: '1253824455',
    // qcloudSecretId: 'AKIDYCtbPHAQ8W0SySxBCZ4lbbi4W7nitQII',
    // qcloudSecretKey: 'AGJcqBb50nTCuaCi9f6Pal0Kh8c7ZyHX',
    // wxMessageToken: 'weixinmsgtoken',
    // networkTimeout: 30000,

    port: '5757',
    rootPathname: '',

    // 微信小程序 App ID
    appId: '',

    // 微信小程序 App Secret
    appSecret: '',

    // 是否使用騰訊云代理登錄小程序
    useQcloudLogin: true,

    /**
     * MySQL 配置挺据,用來存儲 session 和用戶信息
     * 若使用了騰訊云微信小程序解決方案
     * 開發(fā)環(huán)境下扁耐,MySQL 的初始密碼為您的微信小程序 appid
     */
    mysql: {
        host: 'localhost',
        port: 3306,
        user: 'root',
        db: 'cAuth',
        pass: 'wx56f6f1c59845b222',
        char: 'utf8mb4'
    },

    cos: {
        /**
         * 地區(qū)簡稱
         * @查看 https://cloud.tencent.com/document/product/436/6224
         */
        region: 'ap-guangzhou',
        // Bucket 名稱
        fileBucket: 'qcloudtest',
        // 文件夾
        uploadFolder: ''
    },

    // 微信登錄態(tài)有效期
    wxLoginExpires: 7200,
    wxMessageToken: 'abcdefgh'
}
module.exports = CONF

上傳代碼到騰訊云開發(fā)環(huán)境婉称,第一次上傳采用模塊上傳王暗,以后采用智能上傳


上傳開發(fā)環(huán)境代碼

第一次上傳

這個(gè)時(shí)候再進(jìn)行編譯科汗,預(yù)覽即可手機(jī)查看了头滔。

開通生產(chǎn)環(huán)境坤检,讓小伙伴看一下

https://console.qcloud.com/lav2/production 選擇nodejs環(huán)境即可,選擇11塊錢的.xyz域名期吓,選擇49塊的服務(wù)器早歇。支付60后,騰訊會幫你自動部署環(huán)境讨勤,安裝依賴箭跳。和開哦聽開發(fā)環(huán)境一樣,把數(shù)據(jù)庫導(dǎo)入進(jìn)去悬襟,可以修改數(shù)據(jù)庫的密碼好記一點(diǎn)衅码,比如修改成qwerabc拯刁。

修改數(shù)據(jù)庫密碼

開通后修改一下配置,主要是把/XCDHBook/src/config.js host換成你的生產(chǎn)環(huán)境的域名垛玻,修改/XCDHBook/service/config.js 里面把數(shù)據(jù)庫密碼修改成你的qwerabc割捅,自己剛剛設(shè)定的密碼。然后點(diǎn)擊騰訊云上傳正式代碼帚桩,按照提示填寫版本號和備注亿驾。
上傳正式代碼

然后回到https://console.qcloud.com/lav2/production生產(chǎn)環(huán)境,點(diǎn)擊代碼部署等候一會即可账嚎。這個(gè)時(shí)候就可以關(guān)閉本地服務(wù)器cmd了莫瞬,因?yàn)橛玫氖巧a(chǎn)環(huán)境的數(shù)據(jù)庫了儡蔓。
然后點(diǎn)擊編譯,預(yù)覽即可疼邀。如果想讓小伙伴也看到你需要添加小伙伴為體驗(yàn)者
添加小伙伴

接下來就是正式上線喂江,點(diǎn)擊微信小程序的上傳按鈕,然后登錄小程序管理后臺旁振,提交審核即可获询,前提是你的域名要備案成功,不然無法提交拐袜。
上傳

審核

部署后臺到自己搭建的服務(wù)器

如果你沒有搭建服務(wù)器這一節(jié)可以跳過了吉嚣,上一篇文章搭建了服務(wù)器,接下來我們要把代碼部署到上面去蹬铺。首先要修改/XCDHBook/src/config.js host換成你的生服務(wù)器域名尝哆,其次修改/XCDHBook/service/config.js 修改成下面所示。其中appId甜攀、appSecret修改成你自己的较解,數(shù)據(jù)庫面修改成你自己的數(shù)據(jù)庫密碼,rootPathname修改成你自己代碼存放的位置赴邻,放到/data/release/weapp即可了

const CONF = {
    // serverHost: 'localhost',
    // tunnelServerUrl: '',
    // tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',
    // // 騰訊云相關(guān)配置可以查看云 API 秘鑰控制臺:https://console.cloud.tencent.com/capi
    // qcloudAppId: '1253824455',
    // qcloudSecretId: 'AKIDYCtbPHAQ8W0SySxBCZ4lbbi4W7nitQII',
    // qcloudSecretKey: 'AGJcqBb50nTCuaCi9f6Pal0Kh8c7ZyHX',
    // wxMessageToken: 'weixinmsgtoken',
    // networkTimeout: 30000,

    port: '5757',
    rootPathname: '/data/release/weapp',

    // 微信小程序 App ID
    appId: 'wx56f6f1c59845b222',

    // 微信小程序 App Secret
    appSecret: 'wx56f6f1c5984qefwrgefe',

    // 是否使用騰訊云代理登錄小程序
    useQcloudLogin: true,

    /**
     * MySQL 配置印衔,用來存儲 session 和用戶信息
     * 若使用了騰訊云微信小程序解決方案
     * 開發(fā)環(huán)境下,MySQL 的初始密碼為您的微信小程序 appid
     */
    mysql: {
        host: 'localhost',
        port: 3306,
        user: 'root',
        db: 'cAuth',
        pass: 'wx56f6f1c59845b222',
        char: 'utf8mb4'
    },

    cos: {
        /**
         * 地區(qū)簡稱
         * @查看 https://cloud.tencent.com/document/product/436/6224
         */
        region: 'ap-guangzhou',
        // Bucket 名稱
        fileBucket: 'qcloudtest',
        // 文件夾
        uploadFolder: ''
    },

    // 微信登錄態(tài)有效期
    wxLoginExpires: 7200,
    wxMessageToken: 'abcdefgh'
}
module.exports = CONF

上傳代碼到服務(wù)器姥敛,把server目錄下面除了node_modules之前的文件進(jìn)行打包server.zip奸焙,然后通過xshell進(jìn)入服務(wù)器
安裝 apt-get install lrzsz
cd /data/release/weapp目錄下,rz命令上傳剛剛打包好的文件彤敛,上傳完畢后通過
unzip server.zip解壓与帆。運(yùn)行npm run install安裝依賴,然后npm run dev運(yùn)行起來即可墨榄,別忘了開啟nginx,可以 通過命令service nginx restart 進(jìn)行重啟玄糟,這個(gè)時(shí)候在運(yùn)行本地的微信小程序即可,可以通過微信開發(fā)者工具的調(diào)試器的Network看到數(shù)據(jù)是從自己的服務(wù)器獲得的袄秩。但是一退出xshell就發(fā)現(xiàn)阵翎,就不能或者數(shù)據(jù)了,可以通過nohup num run dev命令在后臺運(yùn)行之剧。下次通過xshell在登錄服務(wù)器可以通過命令
netstat -apn | grep 5757找到對應(yīng)的線程郭卫,然后通過kill -9 進(jìn)程號 將其殺死,就可以再次啟動服務(wù)了背稼。
有個(gè)坑就是上一篇咱們的ssl是自己生成的贰军,不是購買的,導(dǎo)致一個(gè)問題就是通過微信開發(fā)者工具可以請求到數(shù)據(jù)蟹肘,但是預(yù)覽的話就不行词疼,ssl必須要是購買的俯树,如果是自己做的,手機(jī)無法請求到贰盗。

總結(jié)

我github里面的html代碼是用pug編寫的聘萨,css是用stylus編寫的,和視頻里面稍微有點(diǎn)不一樣童太,主要是我感覺縮進(jìn)很好看米辐。具體的代碼編寫可以查看視頻跟著學(xué)習(xí)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末书释,一起剝皮案震驚了整個(gè)濱河市翘贮,隨后出現(xiàn)的幾起案子爆惧,更是在濱河造成了極大的恐慌狸页,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扯再,死亡現(xiàn)場離奇詭異芍耘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)熄阻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門斋竞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秃殉,你說我怎么就攤上這事坝初。” “怎么了钾军?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵鳄袍,是天一觀的道長。 經(jīng)常有香客問我吏恭,道長拗小,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任樱哼,我火速辦了婚禮哀九,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唇礁。我一直安慰自己勾栗,他們只是感情好惨篱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布盏筐。 她就那樣靜靜地躺著,像睡著了一般砸讳。 火紅的嫁衣襯著肌膚如雪琢融。 梳的紋絲不亂的頭發(fā)上界牡,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機(jī)與錄音漾抬,去河邊找鬼宿亡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛纳令,可吹牛的內(nèi)容都是我干的挽荠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼平绩,長吁一口氣:“原來是場噩夢啊……” “哼圈匆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捏雌,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤跃赚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后性湿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纬傲,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年肤频,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了叹括。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宵荒,死狀恐怖领猾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骇扇,我是刑警寧澤摔竿,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站少孝,受9級特大地震影響继低,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜稍走,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一袁翁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧婿脸,春花似錦粱胜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春涯曲,著一層夾襖步出監(jiān)牢的瞬間野哭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工幻件, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拨黔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓绰沥,卻偏偏與公主長得像篱蝇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子徽曲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容