GrowingIO 小程序分析
  • GrowingIO 小程序分析介绍
  • 小程序分析介绍
  • 数据采集
    • SDK集成前工作
    • SDK标准接入指南
    • SDK高级设置&数据采集配置
      • SDK 微信用户属性设置
      • 无埋点采集事件
      • 自定义事件和变量
    • 小程序数据校验Debugger
  • 小程序基础数据概况
    • 增长指标
    • 获客场景
    • 分享场景
    • 页面分析
    • 错误分析
    • 用户画像
    • 实时
  • 指标圈选定义
    • 页面指标定义
    • 行为指标定义
    • 交互式圈选
  • 高级分析功能
    • 渠道跟踪
  • 小程序 SDK 备份
    • mpvue+ 第三方插件 添加代码
Powered by GitBook
On this page
  1. 小程序 SDK 备份

mpvue+ 第三方插件 添加代码

此版本 SDK 预计一段时间后会下线不再维护,如果是新用户,建议使用 1.9.1 之后版本;老用户建议升级 SDK 。

mpvue + 第三方插件 设置代码较为复杂,故单独设帮助文档页面:mpvue + 第三方插件

如果您的mpvue框架的小程序中使用了第三方插件,使用下面这种方式:

1.下载 gio-minp.esm.js 文件,把文件放在微信小程序项目里,比如 utils 目录下。

$ curl --compressed https://assets.giocdn.com/gio-minp.esm.js -o gio-minp.js

2. 添加跟踪代码

  • 第一步:更新 gio-minp.js 到最新版

  • 第二步:添加 npm 包

npm install  imports-loader --save-dev
  • 第三步:创建一个新文件 /src/utils/vue.js 文件,内容如下:

mport Vue from 'imports-loader?global=>undefined,Page=>GioPage,App=>GioApp,Component=>GioComponent!mpvue'export default Vue
  • 第四步 修改 /build/webpack.base.conf.js 配置

var path = require('path')
var fs = require('fs')
var utils = require('./utils')
var config = require('../config')
var vueLoaderConfig = require('./vue-loader.conf')
var webpack = require('webpack')
var MpvuePlugin = require('webpack-mpvue-asset-plugin')
var glob = require('glob')
function resolve (dir) {
  return path.join(__dirname, '..', dir)
}
function getEntry (rootSrc, pattern) {
  var files = glob.sync(path.resolve(rootSrc, pattern))
  return files.reduce((res, file) => {
    var info = path.parse(file)
    var key = info.dir.slice(rootSrc.length + 1) + '/' + info.name
    res[key] = path.resolve(file)
    return res
  }, {})
}
const appEntry = { app: resolve('./src/main.js') }
const pagesEntry = getEntry(resolve('./src'), 'pages/**/main.js')
const entry = Object.assign({}, appEntry, pagesEntry)
module.exports = {
  // 如果要自定义生成的 dist 目录里面的文件路径,
  // 可以将 entry 写成 {'toPath': 'fromPath'} 的形式,
  // toPath 为相对于 dist 的路径, 例:index/demo,则生成的文件地址为 dist/index/demo.js
  entry,
  target: require('mpvue-webpack-target'),
  output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath
  },
  resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue': resolve('src/utils/vue'),
      '@': resolve('src'),
      'flyio': 'flyio/dist/npm/wx',
      'wx': resolve('src/utils/wx')
    },
    symlinks: false
  },
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'mpvue-loader',
        options: vueLoaderConfig
      },
      {
        test: /\.js$/,
        include: [resolve('src'), resolve('test')],
        use: [
          'babel-loader',
          {
            loader: 'mpvue-loader',
            options: {
              checkMPEntry: true
            }
          },
        ]
      },
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('img/[name].[ext]')
        }
      },
      {
        test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('media/[name]].[ext]')
        }
      },
      {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('fonts/[name].[ext]')
        }
      }
    ]
  },
  plugins: [
    new MpvuePlugin(),
    new webpack.ProvidePlugin({
      GioPage: [resolve('src/utils/gio-minp.js'), 'GioPage'],
      GioApp: [resolve('src/utils/gio-minp.js'), 'GioApp'],
      GioComponent: [resolve('src/utils/gio-minp.js'), 'GioComponent']
    }),
  ]
}
第五步:gio sdk 初始化配置设置 usePlugin 为 true
  • 第五步:gio sdk 初始化配置设置 usePlugin 为 true

gio("init", '你的 GrowingIO 项目ID', '你的微信小程序的 AppID', { version: '1.0', vue: Vue, usePlugin: true })

‌

Previous小程序 SDK 备份

Last updated 5 years ago