第一个作品,如今回看有很多不足。比如音乐存储没有用缓存、数据库用的postgresql、CSS设计不太符合规范、代码写的那是个啥……
不过作为人生第一个作品,就这样吧。
点击进入前端部分仓库
如果修改请在文档说明
- 首页
- 音乐播放
- 用户注册 (添加表单、Post方法)
- 调查问卷 (当前小程序test文件夹,直接按钮比一个个选择题目然后滑动选项效率更高)
- 数据统计 (F2移动端数据可视化)
- URL:
https://www.gricn.top:4000/public/[params].json
- params类型:可从右边列表中选取一个值[jue, zhi, gong, shang, yu]
- 返回类型:JSON {music_name(string), music_author(string), music_id(string)}
比如,调取角歌单(jue):
- URL:
https://www.gricn.top:4000/public/jue.json
- 返回值:
[{ music_name:'', music_author:'', music_id:'' },{...},...,{...}]
- URL:
https://www.gricn.top:4000/api/song/[params]
- params类型:网易云音乐歌曲id
- 返回值: URL
比如:获取《木音(角声)》的URL:
- URL:
https://www.gricn.top:4000/api/song/167272
- URL:
https://www.gricn.top:4000/api/poster/[params]
- 参数类型: 网易云音乐歌曲id
- 返回值:URL
比如:获取获取《木音(角声)》的专辑图片:
- URL:
https://www.gricn.top:4000/api/poster/167272
- URL:
https://www.gricn.top:4000/api/test/default/[params]
- params类型:[用户id,openid]
- 返回值:JSON
- 备注:用户id要在服务器和openid合并检验
- URL:
https://www.gricn.top:4000/api/test/details/[params]
- params类型: [用户id,openid]
- 返回值:JSON
- 备注:用户id要在服务器和openid合并检验
- URL:
https://www.gricn.top:4000/getopenid/[params]
- params类型: 微信小程序获取的code
- 备注:获取用户的openid并返还给小程序端
- URL:
https://www.gricn.top:4000/isregistered/[params]
- params类型: 微信小程序缓存中获取的openid
- 返回值:Boolean (True为已注册,False为未注册)
- 备注:返还Boolean值给小程序端
- URL:
https://www.gricn.top:4000/register/[params]
- params类型: 微信小程序缓存中获取的openid发送到服务器数据库存储
- 接收内容:openid, gender, age, location
- 备注:POST方法
create table login( no serial, openid text, timestamp timestamp default current_timestamp );
create table test( no serial, openid text, timestamp timestamp default current_timestamp, yangxu_score real, yinxu_score real, qixu_score real, tanshi_score real, shire_score real, xueyu_score real, tebin_score real, qiyu_score real, pinghe_score real );
create type wuyin as enum('jue','zhi','gong','shang','yu','others')
create table musiclist( num smallserial, music_type wuyin, music_id varchar(15) primary key, music_name text, );
create table testdetail( openid text not null, test_times smallint, question_id text, question_value smallint -- 67 questions total );
create table userinfo( num serial, openid text primary key, gender Boolean, -- male:true; female:false age smallint, province_id varchar(12) );
create table musiclistenrecord( openid text primary key references userinfo(openid), music_id varchar(15) references musiclist(music_id), listen_times smallint );
本项目使用的开源项目包括:
- NeteaseCloudMusicApi - MIT
- antv/f2 - MIT
- colorUI - MIT
- weui-miniprogram - MIT
- china_regions - Apache 2.0
- pm2 - GNU-AGPL-3.0
直接使用的代码包括
- 省市三级联动: 如何实现一个自定义数据版省市区三级联动
我们计划在校级创新项目结束后(2021.04.01)按照MIT协议发布开源代码