mp-plugins-info-collection
v1.1.5
Published
小程序-信息采集
Downloads
199
Keywords
Readme
mp-plugins-info-collection
鹅直播小程序-信息采集弹窗
发包需要找Vince,由于当时开发时无法使用公司仓库,所以先放在了npm私人仓库
小程序AppId
wx13a74d0d3ab0942e (现网) 鹅直播
wxb58a41ffda339bf5 (测试) 鹅推流
wx0c3417205d9852a9 (主干) 鹅推流助手
修改小程序环境步骤:右上角详情 - 基本信息 - APPID修改
加开发者权限找**xiaobailu**
运行方式
- 安装依赖:
npm install
- 执行命令:
npm run dev
默认会在包根目录下生成 miniprogram_dev 目录,src 中的源代码会被构建并生成到 miniprogram_dev/components 目录下。 如果需要监听文件变化动态构建,则可以执行命令:
npm run watch
ps: 如果 minirpogram_dev 目录下已存在小程序 demo,执行
npm run dev
则不会再将 tools 下的 demo 拷贝到此目录下。而执行npm run watch
则会监听 tools 目录下的 demo 变动并进行拷贝。
- 运行:
- 打开微信开发者工具,进入的目录选择miniprogram_dev(重要,不是从这个目录打开无法跑起来)
- 点击左上角"工具",选择“构建npm”
- 清除小程序全部缓存后点击编译即可运行
进阶:
- 如果有额外的构建需求,可自行修改 tools 目录中的构建脚本。
- 内置支持 webpack、less 语法、sourcemap 等功能,默认关闭。如若需要可以自行修改 tools/config.js 配置文件中相关配置。
- 内置支持多入口构建,如若需要可自行调整 tools/config.js 配置文件的 entry 字段。
- 默认开启 eslint,可自行调整规则或在 tools/config.js 中注释掉 eslint-loader 行来关闭此功能。
发布
ps: 发布前得确保已经执行构建,小程序 npm 包只有构建出来的目录是真正被使用到的。
- 项目构建:
npm run dist
- 在本地登录 npm 帐号,在本地执行:
npm login
- 在已完成编写的 npm 包根目录下执行:
npm publish
到此,npm 包就成功发布到 npm 平台了。
PS:一些开发者在开发过程中可能修改过 npm 的源,所以当进行登录或发布时需要注意要将源切回 npm 的源。
目录结构
|--miniprogram_dev // 开发环境构建目录
|--miniprogram_dist // 生产环境构建目录
|--src // 源码
| |--components // 通用自定义组件
| | |--entry // 信息采集入口
| | |--popup // 弹窗
| |--image // 图片
| |--api // 接口存放目录
| |--utils // 业务侧调用的api,判断是否需要信息采集
| |--index.js/index.wxml/index.json/index.wxss // 暴露的 js 模块/自定义组件入口文件
|
|--tools // 构建相关代码
| |--demo // demo 小程序目录,开发环境下会被拷贝生成到 miniprogram_dev 目录中
| |--config.js // 构建相关配置文件
|
PS:对外暴露的 js 模块/自定义组件请放在 src 目录下,不宜放置在过深的目录。另外新增的暴露模块需要在 tools/config.js 的 entry 字段中补充,不然不会进行构建。
已接业务侧
live-mp(鹅直播),找xiaobailu开权限
xiaoe_mp_npm(电商和营销公共包),找电商开权限
目前只需要更新live-mp工程的mp-plugins-info-collection版本号即可
业务测使用
import { getInfoCollectionData } from "mp-plugins-info-collection"
...
/**
* 获取信息采集数据
* @param {String} resourceId 资源id
* @param {Number} resourceType 资源类型
* @param {Object} bizOptions 自定义参数
{
isAliveEntry: true, // 使用场景
content: this,
next: this.collectionCb
...
}
* @returns {Object} {data, isNeedInfoCollection, isExpired} 返回的数据;是否需要采集; 功能包是否过期
**/
getInfoCollectionData(resourceId, resourceType, bizOptions).then((res)=>{
if (res.isNeedInfoCollection) {
// 需要采集
/*
如果需要在保存成功后执行业务侧的方法,
content传入当前组件的this
next传入需要执行的行数
*/
} else {
// 不需要采集
}
}).catch(()=>{
// 信息采集报错后不影响业务侧代码的执行
})