# software **Repository Path**: xtzero/software ## Basic Information - **Project Name**: software - **Description**: 私人软件站 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-30 - **Last Updated**: 2021-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 桶桶软件站 这个软件站是我很久以来就想做的东西,希望出来求资源的小可爱们都能有免费、绿色的资源可以下载。 这个软件站允许所有人参加分享,并且渴望获得更多人的支持。如果想要参加分享,只需要你提交一个Pull Request,稍作等待,即可看到自己已经参与其中。 接下来是文档。 ## 网站结构 这是一个完全静态的网站,没有后端请求的部分。全部的数据是使用js对象和数组进行存储的。它们分别被存储在: |js文件|作用| |:--:|:--:| |`js/staff.js`|贡献者| |`js/columns.js`|软件分类列表| |`js/software.js`|软件列表| 贡献者们参与共享时,请在对应的文件提交更新,pr通过之后即可看到效果。 ## 贡献者 `js/staff.js` 任何一个新参与进来的贡献者,都需要在`js/staff.js`中进行登记。登记后你的id就会出现在页面中**贡献者**和软件列表的贡献者位置。贡献者色块被点击时会跳转到登记时预留的地址。 一个单独的贡献者对象是 ```javascript xt: { name: 'xt', blog: 'http://xtzero.me' } ``` ,多个贡献者对象并列在`staff`对象中。 对象key与对象的`name`字段内容不一定相同,最终显示在页面上的是对象内的`name`字段。对象key会在`software`对象中作为外键出现。 ## 软件分类 `js/columns.js` 一个单独的软件分类对象是 ```javascript ms: { name: '微软' } ``` ,多个分类对象并列在`columns`对象中。 最终显示在页面上的是对象内的`name`字段。对象key会在`software`对象中作为外键出现。 ## 软件列表 `js/software.js` 软件列表展示了**对象 => 软件列表**的结构。 一个单独的分类并带着其下全部的软件列表,结构是 ```javascript ms: [ //所属分类,是columns.js里的object key { name: 'office 2016', //软件名称 url: 'http://pan.baidu.com', //下载链接 staff: 'xt', //贡献者,是staff.js里的object key note: '你下载就ok了' //备注.如果有网盘密码,解压密码等,请标注在这里 } ] ``` 需要注意的是,分类key和贡献者key一定要和对应文件的对象key对应,才能保证正常显示。 ## 排序相关 程序会按照数组或对象key的顺序依次读取数据。