Code Monkey home page Code Monkey logo

share's Introduction

Mini-share

GitHub stars

微信小程序分享组件,可通过可视化设计并导出json,生成分享海报模板

虽然目前提供了监听右上角菜单“分享到朋友圈”按钮行为的接口(beta版,暂仅在Android平台支持),但是限制众多。图片式分享仍然是目前可以跨越朋友关系,跨越平台的较好方式。

效果展示

截图 截图 使用案例

如何使用

  1. 获取组件
git clone https://github.com/MakerGYT/share.git
  1. 引入组件
└── components
    ├── painter
    └── share

将share和painter复制到组件文件夹下,并通过配置文件引入本组件:

{
  "usingComponents":{
    "share":"/components/share/share"
  }
}
  1. 使用组件
<!-- index.wxml -->
<button bindtap="toShare" type="primary">分享</button>
<share show="{{shareShow}}" bind:setPoster="toMoments" palette="{{palette}}"></share>
// index.js
import Poster from 'poster.js';
Page({
  data: {
    shareShow: false
  },
  toShare: function(e) {
    this.setData({
      shareShow: true
    })
  },
  toMoments: function () {
    this.setData({
      palette: new Poster(params).palette()
    })
  },
})

海报模板文件通过工具绘制,保存到poster.js

// poster.js
export default class Poster{
  constructor(params) {
    this.params = params;
  }
  palette() {
    return ({
      ...
    })
  }
}

Tips:

  • 如果是在Tab页调用组件,由于底部Tabbar层级较高,海报尺寸较长时会被其遮挡操作,可以通过showPosterclosePoster两个事件状态控制Tabbar的显隐。
  • 尺寸单位支持rpx
  • 可通过提取公共样式来简化和压缩海报模板文件

属性列表

属性 类型 默认值 必填 说明
show Boolean false 是否显示
palette Object 是  海报数据源
mask Boolean true 是否显示背景蒙层
maskClosable Boolean false 点击背景蒙层是否可以关闭
bind:setPoster eventhandler 点击分享到朋友圈时触发的事件,一般用来生成和传入实例化后的海报数据
bind:showPoster eventhandler 海报生成后触发的事件,,event.detail = {path}
bind:closePoster eventhandler 关闭海报后触发的事件,event.detail = {saved}

依赖

Painter,修复了一些问题,pull257:

  • 支持canvas2D
  • 修复保存图片出错
  • 修复真机自定义字体无法显示
  • 修复画布尺寸较大导致的出错
  • 修复真机图片模糊
  • 规范部分语法

License

Apache-2.0 © MakerGYT

share's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

share's Issues

字体

请问可以使用外部字体吗,用js和css引入了,不生效

scopes | Array |   | 否 | 字体作用范围,可选值为 webview / native,默认 webview,设置 native 可在 Canvas 2D 下使用

小程序文档是支持的

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.