# BlockChain-official **Repository Path**: hinux95/official ## Basic Information - **Project Name**: BlockChain-official - **Description**: 区块链项目普通用户前端展示界面 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-02-08 - **Last Updated**: 2021-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # blockchain-official-homepage 区块链版权交易系统 > 使用文档 使用: - 启动调试服务: `npm start` - 构建: `npm run build` empower fancy first raise item market inch exchange pilot glass future flash 模版提供的目录结构: - react-router @4.x 默认采用 hashHistory 的单页应用 - 入口文件: `src/index.js` - 导航配置: `src/menuConfig.js` - 路由配置: `src/routerConfig.js` - 路由入口: `src/router.jsx` - 布局文件: `src/layouts` - 通用组件: `src/components` - 页面文件: `src/pages` 区块链之后涉及到的安装命令: npm install solc --save > 合约相关 1. 合约文件目录 contracts/blockChain.sol 2. 合约 1. 钱包列表【类比课程列表CourseList】(实名认证不用上链,创建钱包的时候才需要上链) contract WalletList { address payable public adminWallet; //将测试网络上的Accout1作为系统钱包,并由他的address创建后面所有账户的一系列钱包 address[] public wallets; //用户的钱包地址,即每个用户的钱包并不是测试网络上的账户,而是一个虚拟的钱包 address[] public orders; // 方法function createWallet() getWallet() removeWallet() createOrder() getOrder() removeOrder() createWork() getWork() removeWork() } 2. 钱包【类比课程Course】 contract Wallet { address payable public adminWallet; // 合约send是从管理员的账户send uint public userId; uint public balance; // 自己钱包内的余额 uint public cost; // 自己的交易支出 uint public income; // 自己的交易收入 // 方法function getWalletDetail() // 获取钱包详情 setWalletDetail() // 设置钱包里的金额 } 3. 作品【类比课程Course】 contract Work { address payable public adminWallet; authorId = userId workId workName getWorkDetail() } 4. 交易 contract Order { address payable public adminWallet; string type 交易类型(版权交易,充值等等) string createTime 生成时间 uint orderMoney 交易金额 string moneyType 支付类型 string orderInfo 交易信息 string buyerId 买家 string sellerId 卖家 uint status 订单状态(数字:0 进行中,1 完成,-1 取消) } 我的目录结构: - `contracts` 区块链合约目录 - `public` 公共数据目录 - `api` 测试用的模拟数据,axios直接获取,例如:axios.get('/api/home.json') - `home.json` home首页的测试数据 - `homeWorkShow.json` home首页作品展示板块的测试数据 - `login.json` 登录模拟的测试数据 - `testReducer.json` `favicon.png` `index.html ` 入口html - `src` 页面组件目录 - `component` 公用组件 - `Footer` 底部 - `Header` 头部 - `Logo` logo部分 - `NotFound` 没有找到的路由会跳转到这个组件 - `layouts` 样式目录,两个 - `AsideLayout` 路由“/center/”指向的样式,侧边栏 - `HeaderFooterLayout` 路由“/”指向的样式 - `pages` 页面组件 - `center` 个人中心目录,包含个人中心的全部组件 - `Bought` 我的订单 全部订单、已完成的订单、未完成的订单 /center/post/bought - `Center` 个人中心 /center - `NewPost` 发布作品 /center/post/new - `Published` 我的版权 自己原有的版权【我的版权】以及购买的版权【已购版权】/center/post/published - `Settings` 我的信息 可以修改昵称,邮箱,手机号【实名认证后是无法修改真实姓名和身份证号的,实名认证单独页面进行,密码修改单独页面进行】 /center/account/settings - `Star` 我的收藏 /center/post/star - `Home` 进入的系统首页 - `Login` 登录 - `Partner` 合作伙伴 - `Register` 注册 - `Test` 测试 - `Works` 作品总览【尚未完成】 - `store` 公共数据存储中心 - `index.js` 数据存储中心出口 - `reducer.js` 管理各个组件数据的管理员 `index.js` 挂在到首页,入口 `menuConfig.js` 个人中心侧边栏菜单配置,首页顶部菜单栏配置 `router.jsx` 路由,首先匹配/center/路由,再匹配/路由 `routerConfig.js` 路由,pages目录中的各个页面的组件与路由的对应关系