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

上一篇文章已经把服务器配置完毕,接下来就是把代码在本地跑起来,在开发环境跑起来,在生成环境跑起来,在自己配置的服务器跑起来。

微信小程序注册

前往https://mp.weixin.qq.com/wxopen/waregister?action=step1注册自己的小程序账号,按照提示即可,然后前往https://mp.weixin.qq.com/wxopen/initprofileaction=home&lang=zh_CN&token=406389460新建一个微信,接下来下载微信小程序开发工具https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html,选择适合自己电脑的版本。

让代码在本地跑起来

配置本地环境

安装MySQL,建议下载xampp,用xampp自带的MySQL,用起来比较方便。下载Navicat Premium,上篇文章已经给出下载破解地址。

下载代码并本地运行起来

从https://github.com/FFGF/XCDHBook下载代码到本地,打开xampp,点击MySQL的start 启动本地MySQL, 通过Navicat创建一个本地连接,进入本地数据库,新建一个cAuth数据库,然后将下载的代码server/tools/cAuth.sql导入到cAuth数据库。右键cAuth选择运行SQL文件,然后选择cAuth.sql运行即可。


接下来需要修改配置文件,推荐使用vscode编辑器,修改/XCDHBook/project.config.json 把里面的appid换成你自己微信小程序的appid

{
    "description": "项目配置文件。",
    "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为下面所示

// 配置项
const host = 'http://localhost:5757'
const config = {
  host,
  loginUrl: `${host}/weapp/login`,
  userUrl: `${host}/weapp/user`
}
export default config

修改/server/config.js代码为下面所示,可以把其中的qcloudAppId、qcloudSecretId、qcloudSecretKey修改成你自己的。

const CONF = {
    serverHost: 'localhost',
    tunnelServerUrl: '',
    tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',
    // 腾讯云相关配置可以查看云 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 和用户信息
     * 若使用了腾讯云微信小程序解决方案
     * 开发环境下,MySQL 的初始密码为您的微信小程序 appid
     */
    mysql: {
        host: 'localhost',
        port: 3306,
        user: 'root',
        db: 'cAuth',
        pass: '',
        char: 'utf8mb4'
    },

    cos: {
        /**
         * 地区简称
         * @查看 https://cloud.tencent.com/document/product/436/6224
         */
        region: 'ap-guangzhou',
        // Bucket 名称
        fileBucket: 'qcloudtest',
        // 文件夹
        uploadFolder: ''
    },

    // 微信登录态有效期
    wxLoginExpires: 7200,
    wxMessageToken: 'abcdefgh'
}
module.exports = CONF

然后在cmd下面进入到/XCDHBook目录下运行 npm install 安装依赖,如果网速很慢建议换成淘宝的镜像npm install -g cnpm –registry=https://registry.npm.taobao.org 运行cnpm install进行依赖安装,然后cnpm run dev或者npm run dev 运行小程序。然后再打开一个cmd进入到/XCDHBook/server 和上面一样,运行小程序后端代码。安装依赖 cnpm install , 安装nodemon cnpm install -g nodemon,然后cnpm run dev 或者npm run dev运行起来,目前为止有两个cmd,一个是后端代码,一个是前端小程序代码。
打开微信小程序开发工具,记得勾选不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书,把项目目录定位到XCDHBook即可,打开后点击上面的编译,编译一下就行了。这个时候你就可以看到微信小程序已经跑起来了。


注意这个时候还不能真机预览,你点击了预览按钮会生成一个二维码,扫描后并不能看到数据,因为手机无法找到电脑localhost的数据。接下来让小程序在开发环境跑起来,可以真机预览一下

开通开发环境,进行真机预览

https://mp.weixin.qq.com/wxopen/thirdtools?action=index&token=406389460&lang=zh_CN 选择开通腾讯云,进入后台开发环境


https://console.qcloud.com/lav2/dev,可以看到腾讯为你准备了一套的配套措施,其实就是上篇文章咱们配置的服务器。把二级域名复制粘贴一下,修改配置文件即可。

先把数据库导入到开发环境点击phpMyAdmin按钮,账户是root,密码是你的appid,里面已经存在数据库cAuth,我们只要把我们的表导进去即可,如果导入过程中出现错误,也不怕,我们直接打开cAuth.sql,把里面的sql语句复制粘贴出来,然后点击SQL按钮,直接运行sql进行建表,然后插入数据即可。

修改/XCDHBook/src/config.js,把host换成你自己的开发环境二级域名

// 配置项
const host = 'https://mxvlh6mn.qcloud.la'

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

修改/XCDHBook/service/config.js,主要是就是注释掉为了本地开发而做的设置,然后把数据库密码修改成你的appid

const CONF = {
    // serverHost: 'localhost',
    // tunnelServerUrl: '',
    // tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',
    // // 腾讯云相关配置可以查看云 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 和用户信息
     * 若使用了腾讯云微信小程序解决方案
     * 开发环境下,MySQL 的初始密码为您的微信小程序 appid
     */
    mysql: {
        host: 'localhost',
        port: 3306,
        user: 'root',
        db: 'cAuth',
        pass: 'wx56f6f1c59845b222',
        char: 'utf8mb4'
    },

    cos: {
        /**
         * 地区简称
         * @查看 https://cloud.tencent.com/document/product/436/6224
         */
        region: 'ap-guangzhou',
        // Bucket 名称
        fileBucket: 'qcloudtest',
        // 文件夹
        uploadFolder: ''
    },

    // 微信登录态有效期
    wxLoginExpires: 7200,
    wxMessageToken: 'abcdefgh'
}
module.exports = CONF

上传代码到腾讯云开发环境,第一次上传采用模块上传,以后采用智能上传


这个时候再进行编译,预览即可手机查看了。

开通生产环境,让小伙伴看一下

https://console.qcloud.com/lav2/production 选择nodejs环境即可,选择11块钱的.xyz域名,选择49块的服务器。支付60后,腾讯会帮你自动部署环境,安装依赖。和开哦听开发环境一样,把数据库导入进去,可以修改数据库的密码好记一点,比如修改成qwerabc。

开通后修改一下配置,主要是把/XCDHBook/src/config.js host换成你的生产环境的域名,修改/XCDHBook/service/config.js 里面把数据库密码修改成你的qwerabc,自己刚刚设定的密码。然后点击腾讯云上传正式代码,按照提示填写版本号和备注。

然后回到https://console.qcloud.com/lav2/production生产环境,点击代码部署等候一会即可。这个时候就可以关闭本地服务器cmd了,因为用的是生产环境的数据库了。
然后点击编译,预览即可。如果想让小伙伴也看到你需要添加小伙伴为体验者

接下来就是正式上线,点击微信小程序的上传按钮,然后登录小程序管理后台,提交审核即可,前提是你的域名要备案成功,不然无法提交。

部署后台到自己搭建的服务器

如果你没有搭建服务器这一节可以跳过了,上一篇文章搭建了服务器,接下来我们要把代码部署到上面去。首先要修改/XCDHBook/src/config.js host换成你的生服务器域名,其次修改/XCDHBook/service/config.js 修改成下面所示。其中appId、appSecret修改成你自己的,数据库面修改成你自己的数据库密码,rootPathname修改成你自己代码存放的位置,放到/data/release/weapp即可了

const CONF = {
    // serverHost: 'localhost',
    // tunnelServerUrl: '',
    // tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',
    // // 腾讯云相关配置可以查看云 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 和用户信息
     * 若使用了腾讯云微信小程序解决方案
     * 开发环境下,MySQL 的初始密码为您的微信小程序 appid
     */
    mysql: {
        host: 'localhost',
        port: 3306,
        user: 'root',
        db: 'cAuth',
        pass: 'wx56f6f1c59845b222',
        char: 'utf8mb4'
    },

    cos: {
        /**
         * 地区简称
         * @查看 https://cloud.tencent.com/document/product/436/6224
         */
        region: 'ap-guangzhou',
        // Bucket 名称
        fileBucket: 'qcloudtest',
        // 文件夹
        uploadFolder: ''
    },

    // 微信登录态有效期
    wxLoginExpires: 7200,
    wxMessageToken: 'abcdefgh'
}
module.exports = CONF

上传代码到服务器,把server目录下面除了node_modules之前的文件进行打包server.zip,然后通过xshell进入服务器
安装 apt-get install lrzsz
cd /data/release/weapp目录下,rz命令上传刚刚打包好的文件,上传完毕后通过
unzip server.zip解压。运行npm run install安装依赖,然后npm run dev运行起来即可,别忘了开启nginx,可以 通过命令service nginx restart 进行重启,这个时候在运行本地的微信小程序即可,可以通过微信开发者工具的调试器的Network看到数据是从自己的服务器获得的。但是一退出xshell就发现,就不能或者数据了,可以通过nohup num run dev命令在后台运行。下次通过xshell在登录服务器可以通过命令
netstat -apn | grep 5757找到对应的线程,然后通过kill -9 进程号 将其杀死,就可以再次启动服务了。
有个坑就是上一篇咱们的ssl是自己生成的,不是购买的,导致一个问题就是通过微信开发者工具可以请求到数据,但是预览的话就不行,ssl必须要是购买的,如果是自己做的,手机无法请求到。

总结

我github里面的html代码是用pug编写的,css是用stylus编写的,和视频里面稍微有点不一样,主要是我感觉缩进很好看。具体的代码编写可以查看视频跟着学习。

你可能感兴趣的:(微信小程序)