# 免费开源电子合同
**Repository Path**: heiyee/mini-contract
## Basic Information
- **Project Name**: 免费开源电子合同
- **Description**: 🔥🔥🔥 Mini-Contract是一款由重庆弈联数聚科技有限公司自主研发、拥有自主知识产权的免费开源电子合同产品,我们的产品创新地采用了“证据链”与“非证据链”两种签署模式,支持在线电子签名、电子合同、电子签章、电子合同SDK、电子合同API、多方合同发起、骑缝章等多种功能。我们提供Web端管理、H5、微信小程序平台,以及深度个性化的定制综合解决方案,支持数据和项目私有化本地,降低数据泄露
- **Primary Language**: JavaScript
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://yeecoss.com/product/detail?id=1614092793154768896
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 247
- **Created**: 2023-12-25
- **Last Updated**: 2023-12-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Mini-Contract(Free and Open Source Electronic Contracts)
===============
Current Latest Version: v1.5.5 (Release Date: 2023-12-14)
[](https://gitee.com/leepm/mini-contract/blob/master/LICENSE)
[](https://wwww.yi-types.com)
[](https://wwww.yi-types.com)
#### Introduction
Mini-Contract
⭐️⭐️⭐️ Mini-Contract is an open-source product that has been separated from the commercial product "YiHetong" by "Chongqing Yeeco Technology Co., Ltd." This tool provides a comprehensive solution customized for industry-specific needs and business scenarios. It enables convenient online contract signing, ensuring security, compliance, and reliability. It builds a time-saving and efficient closed-loop service system for small and medium-sized enterprises and users, creating a worry-free legal protection system. The underlying electronic contract technology is based on "eSign" and other "contract vendors," which are nationally certified and secure.
### Why Choose Mini-Contract ?
Mini-Contract aggregates various electronic contract solution providers in the market, so you don't need to integrate with each contract vendor one by one, saving you time and effort. We have already handled this integration for you, and you only need a single interface to access all our service providers. Additionally, you can enjoy our interface channel prices. Mini-Contract is the result of our real-world project experience, offering concise code, the latest technology stack, and is suitable for front-end developers with various needs. It is also the preferred choice for small and medium-sized enterprises, as it can help reduce over 80% of the repetitive work in front-end projects. If you don't mind using our user interface style, you can quickly launch your project without worrying about copyright issues.
### Commercial Licensing
The commercial version of the code is identical to the open-source version.
Commercial licensing is perpetual and supports lifelong upgrades.
For commercial use, please contact the technical team below for licensing details.
### Open Source Notice
1. Only allowed for personal study and research use.
2. Prohibited from selling the code and resources in any form or under any name.
Directory Structure
-----------------------------------
```
├─App.vue // Application configuration, used for configuring global styles and event listeners
├─index.html // Provides functionality for web page development and serves as a template
├─jsconfig.json // Configuration for code linting, etc.
├─main.js // Entry file
├─manifest.json // Configuration for application name, appid, logo, version, etc.
├─pages.json // Configuration for page routes, navigation bars, tabs, and other page-related information
├─README.md // Help documentation
├─uni.scss // Pre-set SCSS variables for easy control of the application's style
├─vue.config.js // Development settings
├─api // Interface management, categorized by functionality
├─components // Public component library
│ ├─backTop // Back to top button
│ ├─BaseEmpty // Empty page
│ ├─baseline // No more data
│ ├─btn-fixed // Fixed bottom component (slot)
│ ├─checkUser // Switch identity
│ ├─contractState // Contract status
│ ├─FileItem // File information
│ ├─loading // Page loading
│ ├─loadMore // Load more data
│ ├─SwitchEnvironment // Switch environment
│ ├─tag-auth // User identity
│ ├─userInfo // User information
│ └─v-tabs // Tab switch
├─config // Configuration
│ ├─config.js // System configuration (domain, etc.)
│ ├─net.config.js // Domain configuration
│ └─setting.js // Other global configurations (e.g., page sharing messages)
├─filters // Filters
├─mixins // Mixins
│ └─share.js // Page sharing
├─pages // Page folders
│ ├─contract // Contract-related pages
│ │ ├─index.vue // Contract home
│ │ │ └─index.vue // Contract details
│ │ ├─sign // Initiate signing
│ │ └─revoke // Revoke contract
│ ├─home // Home
│ │ └─contractTemplate // Contract templates
│ ├─index // Start page
│ ├─login // Login and registration
│ └─user // My account
│ ├─company // Company-related
│ │ ├─addCompany.vue // Add company
│ │ ├─addSeal.vue // Add seal
│ │ ├─authorize.vue // Web-view page
│ │ ├─Certification.vue // Company certification
│ │ ├─companySeal.vue // Company seal management
│ │ ├─create.vue // Create company (deprecated)
│ │ ├─myCompany.vue // My company
│ │ └─removeComfirm.vue // Remove company
│ ├─companyMembers // Members
│ │ ├─createMember.vue // Add member
│ │ └─index.vue // Company members
│ ├─createUser // Signers
│ │ ├─addPerson.vue // Add recent signers (deprecated)
│ │ └─index.vue // Recent signers
│ ├─file // File management
│ ├─package // Packages
│ │ ├─buy.vue // Purchase packages
│ │ └─comboDetails.vue // My packages
│ ├─personal // Personal
│ │ └─Certification.vue // Personal certification
│ └─setting // Settings
│ ├─changeIdentity.vue // Switch identity (deprecated)
│ ├─password.vue // Change password (deprecated)
│ └─Privacy.vue // Privacy statement
├─static // Static resources storage, such as images, videos
│ └─tabbar // Tabbar icons
├─store // State management library
├─style // Public style library
├─uni_modules // Project components, pages, common modules, etc.
├─unpackage // Build directory
└─utils // Utilities
├─cache.js // Cache management
├─common.js // Common functions
├─compress.js // Image compression
├─reg.js // Common regular expressions
└─request.js // Network request settings
```
Technical Architecture
-----------------------------------
#### Development Environment
- Language: Vue 2.0
- IDE (Front-end): VSCode, HBuilder
- Dependency Management: npm
#### Mobile Framework
| Description | Framework | Description | Framework |
| ------------------ | --------------- | ------------------ | --------------- |
| Basic Framework | uni-app | JavaScript Version | ES6 |
| Basic JS Framework | Vue.js | Video Player | Native video |
| Routing Management | Vue Router | State Management | Vuex |
| Network Requests | axios | CSS Pre-processing | SCSS |
| Map Engine | map | | |
### Function Modules
```
Business Functions
├─Login and Registration
│ ├─Account Method
│ └─WeChat Authorization
├─Home
│ ├─Quick Contract Handling
│ │ ├─To Be Processed by Me
│ │ └─To Be Processed by Others
│ └─Recent Contracts
├─Contracts
│ ├─To Be Processed by Me
│ ├─To Be Processed by Others
│ ├─Completed
│ ├─Rejected
│ ├─Revoked
│ └─Overdue
├─Initiate New Signing Contracts
└─My Account
├─My Company
├─Company Seals
├─File Management
├─Package Management
├─Privacy Policy
├─Change Password
└─Personal Center
├─Company Packages
└─Personal Packages
```
Project Screenshots
----


#### User Interface (Mobile)
> The homepage allows for quick initiation of contract signing, supporting multiple selections of signatories or companies (i.e., simultaneous signing by multiple individuals or companies), and also enables setting the validity period of the contract for this signing, thereby avoiding potential legal risks.

> As an enterprise, you need to complete "enterprise authentication" and "legal representative real-name authentication" before signing. Additionally, if the quota is used up during the usage, you can purchase more quota on your own.

> After logging into the application, you can access various features such as enterprise management, seal management, document signing management, signing quota purchase, and more.

> Before signing, individuals are required to complete "real-name authentication," "ID card verification," "facial recognition," and other processes to ensure the authenticity of the information.

> In the signing details, you can view the signing status information of the contract signatories and all parties involved. The signing parties can also click to sign the document, with signing methods including "handwritten signature" and "seal" options.

> Signatories involved in the contract can receive SMS reminders about the signing process. Within the validity period, they can click the link to access the H5 or mini program to complete the signing. Once all signatories have completed the signing, a text message notification will be sent to inform them.

#### User Interface (Web)
> The web-based user interface allows users to sign and view their contracts in the backend.

#### Platform Interface
***Data Overview***
> Gain insights into basic information about all users on the contract platform and aggregate and summarize data.

***Personal Certification***
> The platform can view desensitized basic information for all personal certifications.

***Company Certification***
> The platform can view desensitized basic information for all company certifications.

***Sales Orders***
> The platform can view all contract sales information.

***Service Usage***
> The platform can view all contract usage and consumption information.

***Pricing Settings***
> The platform can set prices based on contract operational needs.

***Account Management***
> The platform can configure user permissions based on different roles.

### Updates Logs
##### v 1.5.5
- [x] [New] Added "ID Card Comparison" in the real-name authentication process
- [x] [New] Send SMS notifications to signing parties upon completion
- [x] [New] Support for signing parties who are not the initiators (can delegate contract initiation)
- [x] [Optimization] Improved experience for switching between corporate and individual ID cards
- [x] [Optimization] Enhanced user experience
- [x] [Bug Fix] Fixed known issues
##### v 1.5.0
- [x] [New] Added non-evidence chain contract signing (suitable for daily internal approval within enterprises)
- [x] [Optimization] Seal management
- [x] [Optimization] Corporate real-name authentication logic
- [x] [Optimization] Evidence chain multi-channel signing logic
- [x] [Upgrade] Third-party plugin version
- [x] [Optimization] Privacy protection agreement content
- [x] [Optimization] User experience
- [x] [Bug Fix] Fixed known issues
##### v 1.1.2
- [x] [New] Added support for backend management to view enterprise contract information
- [x] [Optimization] Improved user experience
- [x] [Bug Fix] Fixed known issues
##### v 1.1.1
- [x] [Optimization] Adjusted the number of electronic contract packages for enterprises and individuals
- [x] [Optimization] Improved user experience
- [x] [Bug Fix] Fixed known issues
##### v 1.1.0
- [x] [New] Added a variety of contract templates
- [x] [New] In-app contract signing for improved user experience
- [x] [New] SMS notifications for signatories to avoid delayed communication
- [x] [Optimization] Enhanced user experience
- [x] [Bug Fix] Fixed known issues
### Technical Documentation
* Online Demo:

### Contact and Collaboration
If you would like to join our open-source discussion group, please scan the QR code to add the Mini-Contract project team and join the group chat:

If you have any ideas, suggestions, or business collaboration needs regarding the Mini-Contract product, please scan the QR code to add the Mini-Contract project team for further communication:

## Donations
If you find it useful, please consider Watching, Starred, and Forked ☺