跳转到内容

如何自制进销存系统?自己模拟进销存方法

零门槛、免安装!海量模板方案,点击即可,在线试用!

免费试用

摘要:自制进销存系统的可行路径主要有三条:1、用Excel/在线表格做轻量级原型;2、用无代码平台(如简道云进销存)快速搭建并上线;3、用低代码/自研方式做深度定制。其中,第二条适合多数中小团队:模板开箱即用、字段流程可拖拽配置、角色权限和移动端同步具备,同时能接入扫码、打印、审批与数据报表,既快又稳;若后期规模扩大,可逐步迁移到自研或与ERP对接。下面以“模型先行、流程闭环、成本清晰”为原则,给出完整的自制方法与落地路线。简道云进销存官网地址: https://s.fanruan.com/xrxfy;

《如何自制进销存系统?自己模拟进销存方法》

一、需求拆解与总体架构

  • 核心目标
  • 建立“采购-入库-销售-出库-退货-盘点-调拨”的闭环,使数量与金额双维度准确。
  • 实现实时库存(按仓库/批次/单位)、成本核算(移动加权/FIFO/标准成本)、预警与报表。
  • 支撑角色权限(采购、库管、财务、销售)与流程审批(请购、下单、收货、出库)。
  • 架构分层
  • 主数据层:商品、仓库、供应商、客户、单位换算、价格政策、批次/序列号。
  • 交易单据层:采购单/入库单、销售单/出库单、退货单、盘点单、调拨单。
  • 库存台账层:按商品+仓库(+批次)记数量与成本,保证每笔出入库有痕迹。
  • 报表与控制层:出入库明细、库存余额、成本明细、毛利分析、安全库存预警。
  • 权限审计层:角色、数据范围、操作日志、审批流。

二、数据模型设计

  • 关键设计原则
  • 单据头/行分离:头部放业务属性(客户、仓库、日期、操作人),行明细记录商品与数量金额。
  • 数量与金额分账:库存台账以“数量账+金额账”双账方式维护,避免仅数量或仅金额导致失真。
  • 成本独立核算:成本单价不直接写死在销售单中,统一通过成本算法(移动加权/FIFO)计算。
模块表/对象关键字段示例作用与要点
主数据商品(Item)ItemID、名称、规格、单位、条码、启用批次/序列、换算规则管理基本物料信息;支持多单位与条码
主数据仓库(Warehouse)WhID、名称、地址、是否可用、拣货策略仓库维度的库存隔离
主数据供应商/客户PartnerID、类型、结算方式、信用额度业务伙伴档案
交易采购订单/入库POID、供应商、期望到货、单据状态;行:Item、Qty、Price可分“到货”与“入库”两步,支持质检
交易销售订单/出库SOID、客户、交付日期;行:Item、Qty、售价、税率销售下单与拣货发运
交易退货单关联来源单据、原因、处理方式对应逆向库存与金额冲销
交易调拨单调出仓、调入仓、Item、Qty仓与仓之间的转移,金额随成本移动
交易盘点单盘点仓库、账面数、实盘数、差异生成盈亏入库/出库冲账
台账库存台账(Ledger)Item、Wh、Batch、期初数/额、本期入/出、结存数/额统一核算成本与数量
附加批次/序列BatchNo、生产/到期、质检状态易耗、保质期或监管要求
定价价格政策客户级别、区间价、促销销售定价策略
控制审批流/日志提交、审核、撤回、操作人合规与追溯
  • 外键与约束
  • 单据行必须引用有效的商品与仓库;启用批次管理的商品,出入库行应带BatchNo。
  • 数量不可为负;出库需检查“可用库存=现有-已分配”充足。
  • 价格与税率应遵循价格政策与税务规则。

三、业务流程与库存成本算法

  • 标准流程
  1. 采购:请购→采购下单→到货→质检→入库。
  2. 销售:报价→销售下单→拣货→出库→开票。
  3. 退货与换货:依据来源单据,生成逆向单据并冲账。
  4. 盘点:创建盘点任务→冻结库存→实盘→差异处理(生成盘盈/盘亏单)。
  5. 调拨:调出仓减少、调入仓增加,成本随数量转移。
  • 成本算法
  • 移动加权平均(适用多数企业,简单稳定)
  • 本期加权单价 = (期初金额 + 本期入库金额) / (期初数量 + 本期入库数量)
  • 发出金额 = 发出数量 × 当前加权单价
  • FIFO(先入先出,适合批次敏感与波动较大品类)
  • 出库按最早入库批次依序消耗;每批次记录单价与剩余量。
  • 标准成本(制造业常用,配合差异分析)
  • 预设标准单价,入/出按标准价计,期末做成本差异调整。
算法优点缺点适用场景
移动加权计算简单、报表稳定、易对账价格波动被平滑,难反映批次真实成本标品、周转频繁、对批次不敏感
FIFO成本更真实、利于批次追溯维护批次队列复杂、性能压力大批次管理、易腐/保质期产品
标准成本便于成本控制与预算需期末差异核算,实施复杂制造业、成本管理严格
  • 伪代码示例
  • 移动加权

on Inbound(item, qty, amount): ledger[item].qty += qty ledger[item].amount += amount ledger[item].avg = ledger[item].amount / ledger[item].qty

on Outbound(item, qty): assert ledger[item].qty >= qty cost = qty * ledger[item].avg ledger[item].qty -= qty ledger[item].amount -= cost

- FIFO

on Inbound(item, qty, unit_cost, batch): queue[item].push({batch, qty, unit_cost})

on Outbound(item, qty): cost = 0 while qty > 0: head = queue[item].peek() use = min(qty, head.qty) cost += use * head.unit_cost head.qty -= use qty -= use if head.qty == 0: queue[item].pop() ledger[item].qty -= original_qty ledger[item].amount -= cost

## <b>四、用Excel/在线表格快速自制(轻量可用)</b>
- 工作簿结构
- Sheet-商品:商品档案、单位换算、是否批次管理。
- Sheet-仓库:仓库档案与位置。
- Sheet-采购入库/销售出库:单据头/行,用数据验证限制选择项。
- Sheet-库存台账:透视出各品在各仓的期初、本期入/出、结存。
- Sheet-盘点:导出待盘点清单,录入实盘数并生成差异单。
| Sheet | 关键列 | 公式/动作 | 说明 |
|---|---|---|---|
| 商品 | ItemID、名称、基本单位、换算率 | 数据验证(唯一性) | 主数据管理 |
| 采购入库 | 单号、日期、供应商、仓库;行:Item、数量、单价 | 金额=数量×单价;写回台账 | 入库记录 |
| 销售出库 | 单号、日期、客户、仓库;行:Item、数量、售价 | 检查可用库存;写回台账 | 出库记录 |
| 库存台账 | Item、仓库、期初数/额、入库数/额、出库数/额、结存数/额 | SUMIFS聚合 | 实时结存 |
| 盘点 | Item、仓库、账面数、实盘数、差异 | 差异=实盘-账面 | 生成盈亏单 |
- 关键公式示例
- 结存数量:=期初数量 + SUMIFS(入库数量) - SUMIFS(出库数量)
- 移动加权单价:=(期初金额 + SUMIFS(入库金额)) / (期初数量 + SUMIFS(入库数量))
- 出库成本金额:=出库数量 × 当前加权单价
- 使用建议
- 用“数据验证”限制商品、仓库、伙伴的下拉选择;单号用日期+序列生成。
- 通过透视表做“库存余额表/出入库明细表/毛利分析”。
- 设置保护与权限:关键Sheet保护、共享编辑控制,减少冲突。
- 局限与规避
- 并发与审计弱、批次和审批不友好;适合小团队或原型验证阶段。
## <b>五、用简道云进销存快速落地(无代码/低成本)</b>
- 为什么选它
- 模板即用:覆盖采购、入库、销售、出库、退货、盘点、调拨、报表。
- 可视化配置:字段、流程、权限、打印、移动端、扫码均可配置。
- 数据可信:台账与报表内置校验,审批与日志完善。
- 上线步骤
1. 在模板中心选择“简道云进销存”,按行业选择适配模板。
2. 导入主数据(商品、仓库、客户、供应商),开启单位换算与批次字段。
3. 配置审批流:请购→采购→到货→质检→入库;销售→拣货→出库→开票。
4. 设置权限:按角色/部门限定仓库与价格可见范围。
5. 选择成本算法:移动加权或FIFO,并启用负库存拦截。
6. 打通扫码/打印:生成入库/出库单据的二维码与打印模板。
7. 配置报表:库存余额、出入库明细、毛利与ABC分类;设置安全库存与预警。
8. 上线培训:录入演练、月结流程与异常处理。
- 地址与获取
- 简道云进销存官网地址:<span>&nbsp;https://s.fanruan.com/xrxfy;</span>
- 经验与提示
- 先冻结模型:主数据与台账字段定稿后再开放业务录入。
- 强制来源单据:退货必须关联原销售/采购单,避免“漂移”。
- 审批与日志:关键节点“不可编辑”与“必须审批”提高数据可信度。
- 月度结转:对账后锁定上月,避免跨期回写。
## <b>六、低代码/自研实现要点(可扩展)</b>
- 技术栈建议
- 后端:Node.js/Java/Spring Boot/.NET;数据库:MySQL/PostgreSQL;缓存:Redis。
- 前端:React/Vue;移动端:H5+扫码;报表:内置BI或接入外部BI。
- 关键表结构(简化示意)
- item(item_id, name, unit, barcode, batch_enabled)
- warehouse(wh_id, name)
- doc_head(doc_id, type, partner_id, wh_id, status, doc_date, created_by)
- doc_line(line_id, doc_id, item_id, batch_no, qty, price, tax_rate)
- ledger(item_id, wh_id, batch_no, qty, amount, avg_cost)
- logs(doc_id, action, user, ts)
- 并发与一致性
- 乐观锁:单据行带版本号;出库前校验库存与版本。
- 事务边界:入库/出库与台账更新同一事务;失败则回滚。
- 负库存拦截:available = on_hand - allocated;出库必须available≥qty。
- 成本与对账
- 出库实时核算;月末生成成本对账单,与财务总账核对。
- 盘点差异:自动生成盈亏调账单并写入台账。
- 审计与合规
- 操作日志不可篡改;关键字段变更需审批与记录。
## <b>七、对账、盘点与报表体系</b>
- 月度对账
- 取“库存余额表”核对期初、入库、出库、期末是否平衡(期初+入-出=期末)。
- 与财务核对成本金额,差异需定位到单据或批次。
- 盘点流程
1. 生成盘点任务并冻结相关库存。
2. 扫码实盘,记录账面数与实盘数。
3. 差异处理:盘盈入库、盘亏出库,写回台账与原因分析。
- 常用报表
- 出入库明细;库存龄分析(分批次/到期);ABC分类与周转率;毛利与促销效果。
- 预警与补货
- 安全库存=平均需求×提前期+安全系数;低于阈值自动生成请购建议。
- 阈值基于历史销量与供应周期动态调整。
## <b>八、权限、审计与风控</b>
- 角色与数据范围
- 采购可见采购价、供应商维度;销售可见售价与客户维度;库管可操作仓库与库存。
- 财务可见成本与毛利;管理员可配置全局参数。
- 操作控制
- 单据状态机:草稿→提交→审核→执行→关闭;跨状态需权限。
- 禁止直接改历史台账;以红字冲销或逆向单据处理。
- 风险点
- 负库存、批次错乱、价格越权、跨期回写;需拦截与日志。
## <b>九、常见错误与优化建议</b>
- 错误
- 仅做数量不做金额:导致毛利失真。
- 未分仓库存:不同仓相互覆盖,定位问题困难。
- 没有来源单据:退货与换货无法追溯。
- 未设审批与锁月:被事后篡改。
- 优化
- 建立“来源-去向”链路;全链路可追溯。
- 周转与库存龄报表指导补货与清库存。
- 批次+到期管理提升质量与合规。
- 引入条码/扫码拣货,减少录入错误。
## <b>十、实施路线与维护</b>
- 分阶段上线
1. 原型与主数据:2周内跑通采购入库与销售出库。
2. 扩展模块:加盘点、调拨、退货;上线审批与权限。
3. 报表与预警:库存余额、毛利、库存龄、安全库存。
- 培训与SOP
- 制定单据填写规范、盘点SOP、月结与对账流程。
- 维护与持续改进
- 周期备份与数据质检;季度审计与权限复核。
- 基于报表指标优化补货策略与价格政策。
## <b>十一、示例:快速自制的最小可用集</b>
- 最小必备
- 商品/仓库主数据、采购入库、销售出库、库存台账、移动加权成本、库存余额报表。
- 关键校验
- 出库检查可用库存;退货关联来源单据;盘点冻结期间禁止出入库。
- 可选增强
- 批次与到期、价格策略、审批流、扫码打印、移动端。
总结与行动建议:
- 路线选择:小团队先用Excel/在线表格原型,迅速验证流程;需要稳定上线与移动端协同时,采用无代码平台,如“简道云进销存”;规模扩大或复杂度提升再考虑低代码/自研。
- 关键抓手:主数据治理、数量金额双账、来源去向链路、审批与锁月、报表与预警。
- 立即行动:
1. 列出你的核心商品、仓库、伙伴清单,确认是否启用批次与单位换算。
2. 选定成本算法(移动加权优先),设置负库存拦截与审批流。
3. 先跑通采购入库与销售出库,再引入盘点、退货与调拨。
4. 上线库存余额与毛利报表,设置安全库存与到期预警。
5. 如需快速落地与移动端扫码,直接启用“简道云进销存”模板。简道云进销存官网地址:<span>&nbsp;https://s.fanruan.com/xrxfy;</span>
最后推荐:分享一个我们公司在用的进销存系统模板,需要的可以自取,可直接使用,也可以自定义编辑修改:https://s.fanruan.com/xrxfy
## 精品问答:
---
<div class="faq">
<div class="q">
如何自制进销存系统?有哪些关键步骤需要注意?
</div>
<div class="subq">
我想自己动手开发一个进销存系统,但不知道从哪里开始,关键步骤有哪些?有没有什么注意事项可以帮助我避免常见的开发陷阱?
</div>
<div class="a">
自制进销存系统的关键步骤包括需求分析、数据库设计、界面开发、功能实现和测试部署。具体流程如下:
1. 需求分析:明确进销存管理的核心功能,如采购管理、库存跟踪、销售记录和报表生成。
2. 数据库设计:设计合理的表结构,常用表有商品表、供应商表、订单表和库存表,保证数据一致性和查询效率。
3. 界面开发:采用用户友好的界面,支持多终端访问,提高操作便捷性。
4. 功能实现:编码实现进货、销售、库存变动自动更新等核心功能,结合业务逻辑处理。
5. 测试与部署:进行功能测试和性能测试,确保系统稳定后上线使用。
案例说明:例如,设计库存表时,字段包括商品ID、库存数量、预警阈值等,通过设置预警阈值实现库存自动提醒,提升库存管理效率。
根据2023年市场调研数据,超过70%的企业选择定制开发进销存系统以满足个性化需求,因此自制系统的可行性和实用性较高。
</div>
</div>
<div class="faq">
<div class="q">
自制进销存系统时如何设计高效的数据库结构?
</div>
<div class="subq">
我在开发进销存系统时,听说数据库设计很关键。想知道如何设计一个既高效又易维护的数据库结构,能不能举个简单的例子?
</div>
<div class="a">
高效的数据库结构设计对进销存系统性能至关重要。设计原则包括:
- 标准化数据表,避免数据冗余。
- 明确主键和外键,保证数据关联性。
- 使用索引提高查询速度。
常见表结构示例如下:
| 表名 | 主要字段 | 说明 |
|----------|---------------------------|--------------------|
| 商品表 | 商品ID(主键)、名称、规格 | 存储商品基本信息 |
| 供应商表 | 供应商ID(主键)、名称 | 供应商信息管理 |
| 订单表 | 订单ID(主键)、商品ID、数量 | 记录采购和销售订单 |
| 库存表 | 商品ID(主键)、库存数量 | 实时库存数量跟踪 |
案例说明:通过为商品表和库存表设置商品ID为主键,实现数据联动,确保库存实时更新。例如销售订单生成时,库存表对应商品数量自动减少。
根据性能测试数据,合理设计索引和表结构可提升查询效率30%以上,显著优化系统响应速度。
</div>
</div>
<div class="faq">
<div class="q">
有哪些适合初学者的自制进销存系统开发工具和技术栈?
</div>
<div class="subq">
我不是专业开发人员,想自己做一个简单的进销存系统,应该选择哪些开发工具和技术栈比较合适?有没有推荐的低门槛方案?
</div>
<div class="a">
针对初学者,推荐使用以下开发工具和技术栈:
- 前端:HTML5、CSS3、JavaScript(可选Vue.js或React框架)
- 后端:Node.js(Express框架)、Python(Flask或Django)
- 数据库:MySQL、SQLite或MongoDB
- 低代码平台:Microsoft Power Apps、Retool等,适合无代码快速构建
案例说明:使用Node.js和MySQL搭建简单的进销存系统,结合Vue.js实现动态页面,开发周期约2-4周,适合初学者入门。
根据开发者社区调查,选择成熟框架和数据库能减少70%以上的开发难度,提高项目成功率。
</div>
</div>
<div class="faq">
<div class="q">
如何模拟进销存流程以验证自制系统的准确性?
</div>
<div class="subq">
我做了一个进销存系统的初步版本,想通过模拟进销存流程来检验系统的准确性和稳定性,有什么实用的方法或步骤推荐吗?
</div>
<div class="a">
模拟进销存流程验证系统准确性的方法主要包括:
1. 制定测试场景:涵盖采购、库存变动、销售、退货等典型业务流程。
2. 使用测试数据:准备不同类型商品和订单,覆盖边界条件。
3. 自动化测试脚本:编写脚本模拟操作,验证库存数量和报表数据是否正确。
4. 对比手工计算结果:通过手工或Excel计算核对系统输出,确保数据无误。
5. 性能测试:模拟高并发操作,检测系统响应时间和稳定性。
案例说明:模拟一次采购入库100件商品,销售30件后系统应自动更新库存为70件,通过自动化测试脚本反复验证,确保系统逻辑准确。
数据显示,采用模拟测试的方法能减少系统上线后70%的逻辑错误,极大提升系统可靠性。
</div>
</div>
<div class="social-share-container">
<div class="like-container">
<button id="likeButton" class="like-button">
<i width="28" height="28" class="svgicon"><svg class="good_svg__icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path d="M204.76 450.82c-17.67 0-32 14.33-32 32v336c0 17.67 14.33 32 32 32s32-14.33 32-32v-336c0-17.67-14.32-32-32-32zm646.29 65.53c-1.99-26.2-9.51-42.57-16.54-52.4-5.95-8.31-15.63-13.13-25.85-13.13H624.08l42.13-158.9c19.63-73.61-39.84-104.83-39.84-104.83-18.86-10.07-35.6-13.9-50.15-13.9-46.02 0-70.14 38.29-70.14 38.29-81.14 151.41-158.97 211.36-190.85 231.08a31.962 31.962 0 00-15.13 27.19v348.56c0 17.67 14.33 32 32 32h394.35c13.94 0 26.28-9.03 30.5-22.31l91.28-287.38a64.195 64.195 0 002.82-24.27z"></path></svg></i>
<span id="likeCount">135</span>
</button>
</div>
<div class="social-buttons">
<button class="social-button wechat" title="分享到微信">
<i width="28" height="28" class="svgicon"><svg class="wechat_svg__icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="28" height="28"><defs><style></style></defs><path d="M923.093 656.17c0-116.095-116.053-210.645-246.613-210.645-138.325 0-246.997 94.55-246.997 210.646 0 116.352 108.672 210.56 246.997 210.56 28.928 0 58.197-7.382 87.125-14.422L843.35 896l-21.845-72.661c58.197-43.691 101.59-101.888 101.59-167.168zM596.352 619.82c-14.421 0-28.885-14.464-28.885-28.971 0-14.421 14.464-28.885 28.885-28.885 21.888 0 36.395 14.506 36.395 28.885 0 14.507-14.507 28.97-36.395 28.97zm159.872 0c-14.464 0-28.885-14.464-28.885-28.971 0-14.421 14.421-28.885 28.885-28.885 21.845 0 36.352 14.506 36.352 28.885 0 14.507-14.848 28.97-36.352 28.97zm-103.68-199.936c9.472 0 19.03.64 28.501 1.621-25.6-119.552-153.258-208.17-299.136-208.17-162.901 0-296.576 110.975-296.576 252.16 0 81.493 44.374 148.48 118.571 200.362l-29.568 89.301 103.765-52.181c37.12 7.21 66.987 14.763 103.808 14.763 9.174 0 18.39-.342 27.606-1.28a216.619 216.619 0 01-9.216-62.08c0-129.408 111.36-234.496 252.202-234.496zm-159.659-80.47c22.315 0 37.12 14.806 37.12 37.12s-14.805 37.12-37.12 37.12c-22.357 0-44.672-14.805-44.672-37.12.342-22.357 22.614-37.12 44.672-37.12zm-207.53 74.198c-22.358 0-44.672-14.763-44.672-37.12 0-22.315 22.314-37.12 44.672-37.12 22.357 0 37.12 14.805 37.12 37.12 0 22.016-14.763 37.12-37.12 37.12z"></path></svg></i>
</button>
<button class="social-button weibo" title="分享到微博">
<i width="28" height="28" class="svgicon"><svg class="weibo_svg__icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="28" height="28"><defs><style></style></defs><path d="M716.544 502.955c-33.11-6.4-17.024-24.32-17.024-24.32s32.427-53.59-6.4-92.587c-48.17-48.299-165.248 6.101-165.248 6.101-44.715 13.867-32.81-6.4-26.539-40.832 0-40.618-13.866-109.354-132.906-68.736C249.6 323.371 147.37 466.475 147.37 466.475 76.373 561.408 85.76 634.88 85.76 634.88c17.75 162.09 189.525 206.592 323.2 217.173 140.587 11.008 330.325-48.64 387.84-171.093 57.6-122.837-46.976-171.35-80.256-178.005zm-297.13 303.274c-139.649 6.571-252.417-63.658-252.417-157.013 0-93.44 112.768-168.405 252.416-174.848 139.606-6.443 252.672 51.243 252.672 144.512 0 93.44-113.066 181.035-252.672 187.35zm-27.862-270.25c-140.288 16.469-124.075 148.309-124.075 148.309s-1.493 41.685 37.675 62.976c82.133 44.63 166.656 17.579 209.45-37.675 42.582-55.381 17.494-190.037-123.05-173.653zM356.139 720.98c-26.198 3.158-47.36-12.074-47.36-34.048 0-21.888 18.73-44.8 45.013-47.573 30.037-2.816 49.664 14.55 49.664 36.523 0 21.888-21.163 42.069-47.36 45.098zm82.773-70.656c-8.875 6.614-19.797 5.76-24.49-2.261a20.693 20.693 0 015.973-26.752c10.325-7.808 21.162-5.547 25.856 2.219 4.693 7.936 1.28 19.925-7.339 26.794zm345.984-204.501a22.912 22.912 0 0022.827-21.76c17.194-154.581-126.251-127.915-126.251-127.915a23.04 23.04 0 00-22.955 23.254c0 12.672 10.155 23.04 22.955 23.04 102.997-22.87 80.341 80.469 80.341 80.469a22.87 22.87 0 0023.04 22.912zm-16.725-269.653c-49.579-11.648-100.566-1.579-114.902 1.152-1.109.085-2.133 1.152-3.157 1.365-.47.085-.768.597-.768.597a33.707 33.707 0 009.088 66.091s18.048-2.432 30.293-7.253c12.075-4.864 114.774-3.584 165.888 82.261 27.819 62.677 12.203 104.661 10.24 111.36 0 0-6.656 16.341-6.656 32.341 0 18.56 14.848 30.166 33.28 30.166 15.446 0 28.459-2.134 32.171-28.16h.17c54.87-183.211-66.9-269.227-155.647-289.963z"></path></svg></i>
</button>
<button class="social-button qzone" title="分享到QQ空间">
<i width="28" height="28" class="svgicon"><svg class="qzone_svg__icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path d="M943.373 399.728c-3.291-10.108-15.57-33.986-58.66-37.438l-181.825-14.575c-25.37-2.035-57.362-25.28-67.12-48.763l-70.056-168.423c-16.6-39.899-43.101-44.206-53.73-44.206-10.621 0-37.123 4.307-53.723 44.212l-70.05 168.422c-9.775 23.49-41.762 46.729-67.114 48.765l-181.833 14.575c-43.077 3.456-55.362 27.329-58.647 37.437s-7.373 36.649 25.44 64.759l138.54 118.671c19.315 16.564 31.536 54.161 25.636 78.91l-42.32 177.424c-7.26 30.454.557 48.68 8.399 58.611 9.019 11.427 22.411 17.712 37.703 17.712 12.781 0 26.517-4.427 40.827-13.179l155.676-95.077c10.25-6.26 25.754-9.99 41.484-9.99 15.736 0 31.24 3.734 41.478 9.99l155.7 95.077c14.298 8.752 28.028 13.18 40.804 13.18v-.012H750c15.28 0 28.671-6.292 37.685-17.731 7.836-9.93 15.659-28.145 8.403-58.593l-41.904-175.65c-32.757 1.32-68.18 1.989-105.74 1.989-128.402 0-239.552-7.71-244.22-8.03a26.778 26.778 0 01-18.436-9.22 26.826 26.826 0 01-6.527-19.565 26.767 26.767 0 0114.275-21.89c2.982-1.603 72.115-38.62 157.86-98.491l22.617-15.795-27.488-2.48c-34.685-3.13-74.287-4.722-117.701-4.722-55.955 0-98.171 2.682-98.574 2.71a27.004 27.004 0 01-28.59-25.122 26.95 26.95 0 0125.11-28.618c1.805-.118 44.84-2.889 101.58-2.889 62.801 0 151.433 3.428 217.057 19.738a26.761 26.761 0 0116.588 12.25 26.802 26.802 0 013.053 20.38 27.015 27.015 0 01-9.587 14.753c-41.017 31.916-84.944 63.05-130.578 92.539l-27.039 17.463 32.17 1.053c41.573 1.356 81.88 2.037 119.78 2.037 39.88 0 77.173-.763 111.112-2.28 4.704-10.656 11.062-20.138 18.488-26.505L917.92 464.476c32.814-28.105 28.732-54.646 25.453-64.748z" fill="#currentColor"></path></svg></i>
</button>
<button class="social-button copy-link" title="复制链接">
<i width="28" height="28" class="svgicon"><svg class="link_svg__icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path d="M369.067 594.773l225.706-225.706a21.333 21.333 0 0130.294 0l29.866 29.866a21.333 21.333 0 010 30.294L429.227 654.933a21.333 21.333 0 01-30.294 0l-29.866-29.866a21.333 21.333 0 010-30.294zM896 326.827v14.506a170.667 170.667 0 01-50.347 121.174l-120.32 120.746a57.6 57.6 0 01-81.066 0L640 578.56a21.333 21.333 0 010-29.867L786.773 401.92a85.333 85.333 0 0023.894-60.587v-14.506a85.333 85.333 0 00-25.174-60.587l-27.733-27.733a85.333 85.333 0 00-60.587-25.174h-14.506a85.333 85.333 0 00-60.587 25.174L475.307 384a21.333 21.333 0 01-29.867 0l-4.693-4.693a57.6 57.6 0 010-81.067l120.746-121.173A170.667 170.667 0 01682.667 128h14.506a170.667 170.667 0 01120.747 49.92l28.16 28.16A170.667 170.667 0 01896 326.827zM548.693 640a21.333 21.333 0 0129.867 0l4.693 4.693a57.6 57.6 0 010 81.067l-121.6 121.6A170.667 170.667 0 01341.333 896h-14.506a170.667 170.667 0 01-120.747-49.92l-28.16-28.16A170.667 170.667 0 01128 697.6v-14.933a170.667 170.667 0 0150.347-121.174l120.32-120.746a57.6 57.6 0 0181.066 0l4.694 4.693a21.333 21.333 0 010 29.867L238.507 622.08a85.333 85.333 0 00-25.174 60.587v14.506a85.333 85.333 0 0025.174 60.587l27.733 27.733a85.333 85.333 0 0060.587 25.174h14.506a85.333 85.333 0 0061.014-25.174z"></path></svg></i>
</button>
</div>
</div>
<div id="wechatModal" class="modal">
<div class="modal-content">
<span class="close">&times;</span>
<p>微信分享</p>
<div id="qrcode-placeholder" class="qrcode-placeholder"></div>
<p>扫描二维码分享到微信</p>
</div>
</div>
<script id="sidebarHtml" src="/nblog/js/sidebarHtml.js"></script>
<script id="clickA" src="/nblog/js/clickA.js"></script>
<script src="/nblog/js/qrcode.min.js"></script>
<script id="share" src="/nblog/js/share.js"></script>
<script src="/nblog/js/nav.js"></script>

文章版权归" "www.jiandaoyun.com所有。
转载请注明出处:https://www.jiandaoyun.com/nblog/21457/
温馨提示:文章由AI大模型生成,如有侵权,联系 mumuerchuan@gmail.com 删除。