{"_id":"@aienbiencien/ljzn-plugin","_rev":"2-8cba9ab36d1e46611a77be921a7e86f9","name":"@aienbiencien/ljzn-plugin","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@aienbiencien/ljzn-plugin","version":"0.1.0","keywords":["vue3","typescript","modal","dialog","ljzn","plugin"],"author":{"name":"aienbiencien"},"license":"MIT","_id":"@aienbiencien/ljzn-plugin@0.1.0","maintainers":[{"name":"aienbiencien","email":"3027821756@qq.com"}],"homepage":"https://github.com/aienbiencien/ljzn-plugin#readme","bugs":{"url":"https://github.com/aienbiencien/ljzn-plugin/issues"},"dist":{"shasum":"71e8d4011e14bc5adae658c3e2caed636433353e","tarball":"https://registry.npmjs.org/@aienbiencien/ljzn-plugin/-/ljzn-plugin-0.1.0.tgz","fileCount":9,"integrity":"sha512-wqyY26qpMv0b9BBOf9Kv1em/I4pa4G+BZkjKidqcFeMcZwvmxu9Hx1oH9LI1O6Dxbbp1PFmGJqLa3MAh4zHeYQ==","signatures":[{"sig":"MEQCIHk5VF/6wb2TElyV2ba+rPbR8VZ8JM3DCV3IY+ual3wdAiB8doJyccaWhOl/hmlgz2kqnkLxQi5o4ERRhTWix6UoIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33552},"main":"./dist/ljzn-plugin.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/ljzn-plugin.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/ljzn-plugin.js","require":"./dist/ljzn-plugin.umd.cjs"},"./style.css":"./dist/ljzn-plugin.css"},"scripts":{"dev":"pnpm --dir playground dev","build":"vite build","preview":"vite preview","build:lib":"vite build","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aienbiencien","email":"3027821756@qq.com"},"repository":{"url":"git+https://github.com/aienbiencien/ljzn-plugin.git","type":"git"},"_npmVersion":"10.8.2","description":"Vue3 + TypeScript plugin library for LJZN — components and methods","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.13","vite":"^6.0.7","vue-tsc":"^2.2.0","typescript":"^5.7.2","vite-plugin-dts":"^4.4.0","@vitejs/plugin-vue":"^5.2.1"},"peerDependencies":{"vue":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/ljzn-plugin_0.1.0_1783579548226_0.15222623042878158","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aienbiencien/ljzn-plugin","version":"0.2.0","description":"Vue3 + TypeScript plugin library for LJZN — components and methods","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tianditu-map":{"types":"./dist/tianditu-map.d.ts","import":"./dist/tianditu-map.js"},"./style.css":"./dist/style.css","./tianditu-map.css":"./dist/tianditu-map.css"},"sideEffects":["**/*.css"],"scripts":{"dev":"pnpm --dir playground dev","build":"vite build","build:lib":"vite build","preview":"vite preview","prepublishOnly":"npm run build:lib"},"keywords":["vue3","typescript","modal","dialog","tianditu","leaflet","map","ljzn","plugin"],"author":{"name":"aienbiencien"},"license":"MIT","peerDependencies":{"vue":"^3.3.0","leaflet":"^1.9.0"},"peerDependenciesMeta":{"leaflet":{"optional":true}},"devDependencies":{"@types/leaflet":"^1.9.15","@vitejs/plugin-vue":"^5.2.1","leaflet":"^1.9.4","typescript":"^5.7.2","vite":"^6.0.7","vite-plugin-dts":"^4.4.0","vue":"^3.5.13","vue-tsc":"^2.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/aienbiencien/ljzn-plugin.git"},"_id":"@aienbiencien/ljzn-plugin@0.2.0","bugs":{"url":"https://github.com/aienbiencien/ljzn-plugin/issues"},"homepage":"https://github.com/aienbiencien/ljzn-plugin#readme","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-vsdK0B9gMGEc+lhOlH0LoHopFobb03MKmILj6/PwGuZc8zTcm70B06S178Doyc3n7QDg0/JO1TIMkM1mHNoamA==","shasum":"63189c305b0b15d58345ae95638310f64f817f8c","tarball":"https://registry.npmjs.org/@aienbiencien/ljzn-plugin/-/ljzn-plugin-0.2.0.tgz","fileCount":16,"unpackedSize":58890,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDW8wkBXsCb2TPQ2JUpwp8TsBlAqSIPKUdvlA3P5WxDGAiEAhRpuKbyyYke/YH4UkfPZzEQ1E6deqJ0eSre5yZol5CQ="}]},"_npmUser":{"name":"aienbiencien","email":"3027821756@qq.com"},"directories":{},"maintainers":[{"name":"aienbiencien","email":"3027821756@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ljzn-plugin_0.2.0_1783580270275_0.1879263225772212"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-09T06:45:48.030Z","modified":"2026-07-09T06:57:50.549Z","0.1.0":"2026-07-09T06:45:48.417Z","0.2.0":"2026-07-09T06:57:50.447Z"},"bugs":{"url":"https://github.com/aienbiencien/ljzn-plugin/issues"},"author":{"name":"aienbiencien"},"license":"MIT","homepage":"https://github.com/aienbiencien/ljzn-plugin#readme","keywords":["vue3","typescript","modal","dialog","tianditu","leaflet","map","ljzn","plugin"],"repository":{"type":"git","url":"git+https://github.com/aienbiencien/ljzn-plugin.git"},"description":"Vue3 + TypeScript plugin library for LJZN — components and methods","maintainers":[{"name":"aienbiencien","email":"3027821756@qq.com"}],"readme":"# @aienbiencien/ljzn-plugin\n\nVue 3 + TypeScript 插件库，提供可复用组件与命令式方法。\n\n## 安装\n\n```bash\nnpm install @aienbiencien/ljzn-plugin\n# 或\npnpm add @aienbiencien/ljzn-plugin\n```\n\n## 快速开始\n\n### 全局注册\n\n```ts\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport LjznPlugin from '@aienbiencien/ljzn-plugin'\nimport '@aienbiencien/ljzn-plugin/style.css'\n\nconst app = createApp(App)\napp.use(LjznPlugin)\napp.mount('#app')\n```\n\n### 按需引入\n\n```ts\nimport { LjznModal, Modal } from '@aienbiencien/ljzn-plugin'\nimport '@aienbiencien/ljzn-plugin/style.css'\n\n// 地图（独立入口，不引入弹窗）\nimport {\n  TiandituMap,\n  configureMap,\n  getDefaultMapProvider,\n} from '@aienbiencien/ljzn-plugin/tianditu-map'\nimport '@aienbiencien/ljzn-plugin/tianditu-map.css'\n```\n\n## 地图组件 `TiandituMap`（按需）\n\n支持天地图 / ArcGIS / TomTom，基于 Leaflet。\n\n```ts\n// main.ts 配置 Key（一次即可）\nimport { configureMap } from '@aienbiencien/ljzn-plugin/tianditu-map'\n\nconfigureMap({\n  tiandituKey: 'your-tianditu-key',\n  tomtomKey: 'your-tomtom-key',\n})\n```\n\n```vue\n<template>\n  <TiandituMap\n    v-model:provider=\"mapProvider\"\n    :lat=\"39.9\"\n    :lng=\"116.4\"\n    :zoom=\"12\"\n    map-type=\"satellite\"\n    :is-domestic=\"true\"\n    :labels=\"mapLabels\"\n    @ready=\"onReady\"\n  />\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport {\n  TiandituMap,\n  getDefaultMapProvider,\n  type MapProviderType,\n} from '@aienbiencien/ljzn-plugin/tianditu-map'\nimport '@aienbiencien/ljzn-plugin/tianditu-map.css'\nimport type { Map } from 'leaflet'\n\nconst mapProvider = ref<MapProviderType>(getDefaultMapProvider(true))\nconst mapLabels = {\n  switchBasemap: '切换底图',\n  fullscreen: '全屏',\n  tiandituBasemap: '天地图',\n  arcgisBasemap: 'ArcGIS',\n  tomtomBasemap: 'TomTom',\n}\n\nfunction onReady(map: Map) {\n  console.log(map)\n}\n</script>\n```\n\n> peerDependency：业务项目需自行安装 `leaflet`。\n\n## 弹窗组件 `LjznModal`\n\n声明式用法：\n\n```vue\n<template>\n  <LjznModal v-model=\"visible\" title=\"编辑资料\" @ok=\"onOk\">\n    <p>这里是弹窗内容</p>\n  </LjznModal>\n  <button @click=\"visible = true\">打开</button>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from 'vue'\nimport { LjznModal } from '@aienbiencien/ljzn-plugin'\n\nconst visible = ref(false)\nfunction onOk() {\n  visible.value = false\n}\n</script>\n```\n\n### Props\n\n| 属性 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| modelValue / v-model | boolean | false | 是否显示 |\n| title | string | 提示 | 标题 |\n| content | string | - | 无插槽时的文案 |\n| width | string \\| number | 420 | 宽度 |\n| type | info / success / warning / error / confirm | - | 类型图标 |\n| mask | boolean | true | 遮罩 |\n| maskClosable | boolean | true | 点击遮罩关闭 |\n| closable | boolean | true | 右上角关闭 |\n| okText | string | 确定 | 确认文案 |\n| cancelText | string | 取消 | 取消文案 |\n| showCancel | boolean | true | 显示取消按钮 |\n| confirmLoading | boolean | false | 确认 loading |\n| centered | boolean | true | 垂直居中 |\n\n## 命令式方法 `Modal`\n\n```ts\nimport { Modal } from '@aienbiencien/ljzn-plugin'\n\n// 基础打开\nModal.open({\n  title: '自定义',\n  content: '内容',\n  onOk: () => console.log('ok'),\n})\n\n// 快捷方法\nawait Modal.info({ content: '这是一条提示' })\nawait Modal.success({ content: '操作成功' })\nawait Modal.warning({ content: '请注意' })\nawait Modal.error({ content: '出错了' })\n\nconst ok = await Modal.confirm({\n  title: '删除确认',\n  content: '确定删除该记录吗？',\n})\nif (ok) {\n  // 用户点了确定\n}\n\n// 异步确认（返回 false 可阻止关闭）\nModal.confirm({\n  content: '提交中…',\n  onOk: async () => {\n    await submitApi()\n  },\n})\n```\n\n全局注册后也可使用 `this.$modal.confirm(...)`（Options API）。\n\n## 开发\n\n```bash\ncd npm\npnpm install\npnpm run build:lib\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}