{"adoption": {"forks": 261, "observed_at": "2026-08-28T04:05:26.388583+00:00", "stars": 1717}, "canonical_url": "https://ross.abutalabs.com/products/mp_canvas_drawer", "card": {"archived": false, "artifact_type": "library", "description": ":rocket: 微信小程序上canvas绘制图片助手，一个json就制作分享朋友圈图片", "domain": ["messaging-platforms", "frontend", "web-development", "graphics"], "enriched": true, "function": ["image-processing", "ui-components", "graphics"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["kuckboy1994/mp_canvas_drawer"], "name": "kuckboy1994/mp_canvas_drawer", "platform": [], "pushed_at": "2019-11-14T08:04:34+00:00", "repo": "kuckboy1994/mp_canvas_drawer", "stars": 1717, "tags": ["weapp", "mini-program", "canvas-drawing", "share-image", "mpvue", "wepy", "poster-generator", "wechat", "javascript"], "topics": ["mp", "canvas", "drawer", "wxapp", "mpvue", "wepy", "xiaochengxu"], "urls": [], "use_cases": ["generate share poster images in a WeChat mini-program", "draw text and images onto canvas with one JSON config", "create WeChat Moments share cards with QR codes", "render multiple share images in sequence", "add text styling like bold, underline, and ellipsis truncation on canvas", "save a composed canvas as an image to the phone album"], "what_it_is": "A WeChat mini-program canvas drawing component that generates shareable images from a single JSON configuration. It supports drawing text, images, rectangles, and saving the rendered result as a picture for sharing to WeChat Moments.", "when_to_avoid": ["you are not targeting WeChat mini-programs", "you need actively maintained software - the last release was in 2019", "you need complex layouts, gradients, or advanced canvas effects beyond its feature set", "your project uses a modern mini-program canvas API that the component does not support"], "when_to_choose": ["you are building a WeChat mini-program and need programmatic poster/share image generation", "you want a declarative JSON-driven drawing API instead of raw canvas code", "you need text features like line wrapping, ellipsis, strikethrough, underline, and bold", "you use mpvue or wepy and want a compatible port"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mp_canvas_drawer", "repo": "kuckboy1994/mp_canvas_drawer", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.388583+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:34:13.360621+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9392d5a156231e483de718791378744430904184296961fcaa25edd34e347af1", "fetched_at": "2026-08-28T04:05:26.388583+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kuckboy1994/mp_canvas_drawer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2975, "days_push": 2484, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}