diff --git a/Code/Frontend/src/api/chat.js b/Code/Frontend/src/api/chat.js new file mode 100644 index 0000000..c047df7 --- /dev/null +++ b/Code/Frontend/src/api/chat.js @@ -0,0 +1,21 @@ +export async function chat(messageList, apiKey) { + try { + const result = await fetch("https://api.openai.com/v1/chat/completions", { + method: "post", + // signal: AbortSignal.timeout(8000), + // 开启后到达设定时间会中断流式输出 + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${apiKey}`, + }, + body: JSON.stringify({ + model: "gpt-3.5-turbo", + stream: true, + messages: messageList, + }), + }); + return result; + } catch (error) { + throw error; + } + } \ No newline at end of file diff --git a/Code/Frontend/src/api/drag.js b/Code/Frontend/src/api/drag.js new file mode 100644 index 0000000..d329bb0 --- /dev/null +++ b/Code/Frontend/src/api/drag.js @@ -0,0 +1,60 @@ +import Vue from 'vue'; +Vue.directive('drag', { + bind: function (el) { + const odiv = el; + // 缓存 clientX clientY 的对象: 用于判断是点击事件还是移动事件 + const clientOffset = {}; + odiv.style.position = 'fixed'; + odiv.onmousedown = (e) => { + const disX = e.clientX - odiv.offsetLeft; + const disY = e.clientY - odiv.offsetTop; + // 缓存 clientX clientY + clientOffset.clientX = e.clientX; + clientOffset.clientY = e.clientY; + document.onmousemove = (e) => { + const left = e.clientX - disX; + const top = e.clientY - disY; + odiv.style.left = left + 'px'; + odiv.style.top = top + 'px'; + // odiv 距离顶部的距离 + const dragDivTop = window.innerHeight - odiv.getBoundingClientRect().height; + // odiv 距离左部的距离 + const dragDivLeft = window.innerWidth - odiv.getBoundingClientRect().width; + // 边界判断处理 + // 2、超出顶部处理 + if (odiv.getBoundingClientRect().top <= 0) { + odiv.style.top = '0px'; + } + // 3、超出底部处理 + if (odiv.getBoundingClientRect().top >= dragDivTop) { + odiv.style.top = dragDivTop + 'px'; + } + // 4、超出右边边界区域处理 + if (odiv.getBoundingClientRect().left >= dragDivLeft) { + odiv.style.left = dragDivLeft + 'px'; + } + // 5、超出左边边界区域处理 + if (odiv.getBoundingClientRect().left <= 0) { + odiv.style.left = '0px'; + } + }; + document.onmouseup = () => { + document.onmousemove = null; + document.onmouseup = null; + }; + }; + // 绑定鼠标松开事件 + odiv.addEventListener('mouseup', (event) => { + const clientX = event.clientX; + const clientY = event.clientY; + if (clientX === clientOffset.clientX && clientY === clientOffset.clientY) { + return false + // console.log('click 事件'); + } else { + return false + // console.log('drag 事件'); + } + }) + } +}); + diff --git a/Code/Frontend/src/api/goods.js b/Code/Frontend/src/api/goods.js new file mode 100644 index 0000000..def0023 --- /dev/null +++ b/Code/Frontend/src/api/goods.js @@ -0,0 +1,89 @@ +import http from './public' +// 商品列表 +export const getAllGoods = (params) => { + return http.fetchGet('/goods/allGoods', params) +} +// 获取购物车列表 +export const getCartList = (params) => { + return http.fetchPost('/member/cartList', params) +} +// 加入购物车 +export const addCart = (params) => { + return http.fetchPost('/member/addCart', params) +} +// 删除购物车 +export const delCart = (params) => { + return http.fetchPost('/member/delCart', params) +} +// 删除购物车勾选商品 +export const delCartChecked = (params) => { + return http.fetchPost('/member/delCartChecked', params) +} +// 编辑购物车 +export const cartEdit = (params) => { + return http.fetchPost('/member/cartEdit', params) +} +// 全选 +export const editCheckAll = (params) => { + return http.fetchPost('/member/editCheckAll', params) +} +// 删除整条购物车 +export const cartDel = (params) => { + return http.fetchPost('/member/cartDel', params) +} +// 获取用户地址 +export const addressList = (params) => { + return http.fetchPost('/member/addressList', params) +} +// 通过id获取地址 +export const getAddress = (params) => { + return http.fetchPost('/member/address', params) +} +// 修改收货地址 +export const addressUpdate = (params) => { + return http.fetchPost('/member/updateAddress', params) +} +// 添加收货地址 +export const addressAdd = (params) => { + return http.fetchPost('/member/addAddress', params) +} +// 删除收货地址 +export const addressDel = (params) => { + return http.fetchPost('/member/delAddress', params) +} +// 生成订单 +export const submitOrder = (params) => { + return http.fetchPost('/member/addOrder', params) +} +// 支付 +export const payMent = (params) => { + return http.fetchPost('/member/payOrder', params) +} +// 获取用户订单 +export const orderList = (params) => { + return http.fetchGet('/member/orderList', params) +} +// 获取单个订单详情 +export const getOrderDet = (params) => { + return http.fetchGet('/member/orderDetail', params) +} +// 取消订单 +export const cancelOrder = (params) => { + return http.fetchPost('/member/cancelOrder', params) +} +// 商品详情 +export const productDet = (params) => { + return http.fetchGet('/goods/productDet', params) +} +// 删除订单 +export const delOrder = (params) => { + return http.fetchGet('/member/delOrder', params) +} +// 商品列表 +export const getSearch = (params) => { + return http.fetchGet('/goods/search', params) +} +// 快速搜索 +export const getQuickSearch = (params) => { + return http.fetchGet('/goods/quickSearch', params) +} diff --git a/Code/Frontend/src/api/index.js b/Code/Frontend/src/api/index.js new file mode 100644 index 0000000..1772ce4 --- /dev/null +++ b/Code/Frontend/src/api/index.js @@ -0,0 +1,21 @@ +import http from './public' +// 登陆 +export const userLogin = (params) => { + return http.fetchPost('/user/login', params) +} + + +// 商品详情页上传交易时间 +export const updatetime = (params) => { + +} + +export const emailnotify = (params) => { + return http.fetchPost('/api/Mail/SendHtml', params) +} + + +export const userInfoUpdate = (params) => { + return http.fetchPost('/api/user/infoUpdate', params) +} + diff --git a/Code/Frontend/src/api/public.js b/Code/Frontend/src/api/public.js new file mode 100644 index 0000000..1afd3e8 --- /dev/null +++ b/Code/Frontend/src/api/public.js @@ -0,0 +1,23 @@ +import axios from 'axios' +axios.defaults.timeout = 100000 +axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded' +export default { + fetchGet (url, params = {}) { + return new Promise((resolve, reject) => { + axios.get(url, params).then(res => { + resolve(res.data) + }).catch(error => { + reject(error) + }) + }) + }, + fetchPost (url, params = {}) { + return new Promise((resolve, reject) => { + axios.post(url, params).then(res => { + resolve(res.data) + }).catch(error => { + reject(error) + }) + }) + } +} diff --git a/Code/Frontend/src/api/tmp.js b/Code/Frontend/src/api/tmp.js new file mode 100644 index 0000000..61a0b3d --- /dev/null +++ b/Code/Frontend/src/api/tmp.js @@ -0,0 +1,110 @@ +import http from './public' + +export const userinfo = (params) => { + return http.fetchPost('/member/info', params) +} + + + +// 获取appnav里各类选项数据 + + +export const usersinfo = (params) => { + return http.fetchPost('/usersinfo', params) +} + +export const insertGood = (params) => { + return http.fetchPost('/user/insertiGood', params) +} + +export const getGoodList = (params) => { + return http.fetchPost('/user/getOrderList', params) +} + + + + +export const login = (params) => { + return http.fetchPost('/api/auth/login', params) +} +export const bannerpic = () => { + return http.fetchGet('/api/Good/Banner') +} +export const goodsitem = (params) => { + return http.fetchPost('/api/Good/GoodsItem',params) +} +export const goodsitemleft = () => { + return http.fetchGet('/api/Good/GoodsItemLeft') +} +export const hotlist = () => { + return http.fetchGet('/api/Good/hotlist1') +} +export const hotlist2 = () => { + return http.fetchGet('/api/Good/hotlist2') +} +export const hotlist3 = () => { + return http.fetchGet('/api/Good/hotlist3') +} +export const KaoYanList_shuxue = () => { + return http.fetchGet('/api/Good/KaoYanList_shuxue') +} +export const KaoYanList_zhengzhi = () => { + return http.fetchGet('/api/Good/KaoYanList_zhengzhi') +} +export const KeWaiList_xiaoshuo = () => { + return http.fetchGet('/api/Good/KeWaiList_xiaoshuo') +} +export const KeWaiList_manhua = () => { + return http.fetchGet('/api/Good/KeWaiList_manhua') +} +export const TongXiuList_shuxue = () => { + return http.fetchGet('/api/Good/TongXiuList_shuxue', ) +} +export const TongXiuList_yingyu = () => { + return http.fetchGet('/api/Good/TongXiuList_yingyu', ) +} +export const TongXiuList_zhengzhi = () => { + return http.fetchGet('/api/Good/TongXiuList_zhengzhi', ) +} +export const ZhuanYeList_dike = () => { + return http.fetchGet('/api/Good/ZhuanYeList_dike', ) +} +export const ZhuanYeList_jike = () => { + return http.fetchGet('/api/Good/ZhuanYeList_jike', ) +} +export const MianFeiList_jiaoke = () => { + return http.fetchGet('/api/Good/MianFeiList_jiaoke', ) +} +export const MianFeiList_kewai = () => { + return http.fetchGet('/api/Good/MianFeiList_kewai', ) +} +export const detailslist = (params) => { + return http.fetchPost('/api/Good/detailslist', params) +} +export const insertGoodMysql = (params) => { + return http.fetchPost('/api/Good/insert', params) +} + +export const getUser = (params) => { + return http.fetchPost('/api/user/getUserById', params) +} + +export const getGoodById = (params) => { + return http.fetchPost('/api/Good/getByUid', params) +} + +export const deleteOrder = (params) => { + return http.fetchPost('/api/Order/del', params) +} +export const updateGood = (params) => { + return http.fetchPost('/api/Good/updateGoodStatus', params) +} +export const getOrder = (params) => { + return http.fetchPost('/api/Order/getByuid', params) +} +export const updateStatus = (params) => { + return http.fetchPost('/api/Good/updateGoodStatus', params) +} +export const orderInsert = (params) => { + return http.fetchPost('/api/Order/insert', params) +} \ No newline at end of file diff --git a/Code/Frontend/src/assets/images/6.png b/Code/Frontend/src/assets/images/6.png new file mode 100644 index 0000000..77f5bf3 Binary files /dev/null and b/Code/Frontend/src/assets/images/6.png differ diff --git a/Code/Frontend/src/assets/images/M.png b/Code/Frontend/src/assets/images/M.png new file mode 100644 index 0000000..0647af2 Binary files /dev/null and b/Code/Frontend/src/assets/images/M.png differ diff --git a/Code/Frontend/src/assets/images/account-icon@2x.32d87deb02b3d1c3cc5bcff0c26314ac.png b/Code/Frontend/src/assets/images/account-icon@2x.32d87deb02b3d1c3cc5bcff0c26314ac.png new file mode 100644 index 0000000..0ca6153 Binary files /dev/null and b/Code/Frontend/src/assets/images/account-icon@2x.32d87deb02b3d1c3cc5bcff0c26314ac.png differ diff --git a/Code/Frontend/src/assets/images/alipay-red.jpg b/Code/Frontend/src/assets/images/alipay-red.jpg new file mode 100644 index 0000000..6e2a655 Binary files /dev/null and b/Code/Frontend/src/assets/images/alipay-red.jpg differ diff --git a/Code/Frontend/src/assets/images/alipay@2x.png b/Code/Frontend/src/assets/images/alipay@2x.png new file mode 100644 index 0000000..de6a93d Binary files /dev/null and b/Code/Frontend/src/assets/images/alipay@2x.png differ diff --git a/Code/Frontend/src/assets/images/aliremark.png b/Code/Frontend/src/assets/images/aliremark.png new file mode 100644 index 0000000..5d5bcf2 Binary files /dev/null and b/Code/Frontend/src/assets/images/aliremark.png differ diff --git a/Code/Frontend/src/assets/images/banner.png b/Code/Frontend/src/assets/images/banner.png new file mode 100644 index 0000000..381d6f5 Binary files /dev/null and b/Code/Frontend/src/assets/images/banner.png differ diff --git a/Code/Frontend/src/assets/images/banner.webp b/Code/Frontend/src/assets/images/banner.webp new file mode 100644 index 0000000..381d6f5 Binary files /dev/null and b/Code/Frontend/src/assets/images/banner.webp differ diff --git a/Code/Frontend/src/assets/images/bg_9b9dcb65ff.png b/Code/Frontend/src/assets/images/bg_9b9dcb65ff.png new file mode 100644 index 0000000..1316a93 Binary files /dev/null and b/Code/Frontend/src/assets/images/bg_9b9dcb65ff.png differ diff --git a/Code/Frontend/src/assets/images/bg_9b9dcb65ff@2x.png b/Code/Frontend/src/assets/images/bg_9b9dcb65ff@2x.png new file mode 100644 index 0000000..befc561 Binary files /dev/null and b/Code/Frontend/src/assets/images/bg_9b9dcb65ff@2x.png differ diff --git a/Code/Frontend/src/assets/images/cart-empty-new.png b/Code/Frontend/src/assets/images/cart-empty-new.png new file mode 100644 index 0000000..5064e60 Binary files /dev/null and b/Code/Frontend/src/assets/images/cart-empty-new.png differ diff --git a/Code/Frontend/src/assets/images/cart-empty_@2x.png b/Code/Frontend/src/assets/images/cart-empty_@2x.png new file mode 100644 index 0000000..6d6accc Binary files /dev/null and b/Code/Frontend/src/assets/images/cart-empty_@2x.png differ diff --git a/Code/Frontend/src/assets/images/cart-updown_8303731e15@2x.jpg b/Code/Frontend/src/assets/images/cart-updown_8303731e15@2x.jpg new file mode 100644 index 0000000..600f532 Binary files /dev/null and b/Code/Frontend/src/assets/images/cart-updown_8303731e15@2x.jpg differ diff --git a/Code/Frontend/src/assets/images/checkbox-new_631a56a4f6.png b/Code/Frontend/src/assets/images/checkbox-new_631a56a4f6.png new file mode 100644 index 0000000..e755146 Binary files /dev/null and b/Code/Frontend/src/assets/images/checkbox-new_631a56a4f6.png differ diff --git a/Code/Frontend/src/assets/images/con-bg_04f25dbf8e.jpg b/Code/Frontend/src/assets/images/con-bg_04f25dbf8e.jpg new file mode 100644 index 0000000..d7e8cbc Binary files /dev/null and b/Code/Frontend/src/assets/images/con-bg_04f25dbf8e.jpg differ diff --git a/Code/Frontend/src/assets/images/delete-btn-icon_a35bf2437e@2x.jpg b/Code/Frontend/src/assets/images/delete-btn-icon_a35bf2437e@2x.jpg new file mode 100644 index 0000000..4a19e52 Binary files /dev/null and b/Code/Frontend/src/assets/images/delete-btn-icon_a35bf2437e@2x.jpg differ diff --git a/Code/Frontend/src/assets/images/dialog-gray-bg.png b/Code/Frontend/src/assets/images/dialog-gray-bg.png new file mode 100644 index 0000000..0fd38f1 Binary files /dev/null and b/Code/Frontend/src/assets/images/dialog-gray-bg.png differ diff --git a/Code/Frontend/src/assets/images/error.png b/Code/Frontend/src/assets/images/error.png new file mode 100644 index 0000000..f556501 Binary files /dev/null and b/Code/Frontend/src/assets/images/error.png differ diff --git a/Code/Frontend/src/assets/images/global-logo-red@2x.png b/Code/Frontend/src/assets/images/global-logo-red@2x.png new file mode 100644 index 0000000..c114176 Binary files /dev/null and b/Code/Frontend/src/assets/images/global-logo-red@2x.png differ diff --git a/Code/Frontend/src/assets/images/global-logo-red@2x.psd b/Code/Frontend/src/assets/images/global-logo-red@2x.psd new file mode 100644 index 0000000..d9d20b8 Binary files /dev/null and b/Code/Frontend/src/assets/images/global-logo-red@2x.psd differ diff --git a/Code/Frontend/src/assets/images/gpt.png b/Code/Frontend/src/assets/images/gpt.png new file mode 100644 index 0000000..64b59ee Binary files /dev/null and b/Code/Frontend/src/assets/images/gpt.png differ diff --git a/Code/Frontend/src/assets/images/lo.png b/Code/Frontend/src/assets/images/lo.png new file mode 100644 index 0000000..97594f4 Binary files /dev/null and b/Code/Frontend/src/assets/images/lo.png differ diff --git a/Code/Frontend/src/assets/images/lo1.png b/Code/Frontend/src/assets/images/lo1.png new file mode 100644 index 0000000..119a40a Binary files /dev/null and b/Code/Frontend/src/assets/images/lo1.png differ diff --git a/Code/Frontend/src/assets/images/load.gif b/Code/Frontend/src/assets/images/load.gif new file mode 100644 index 0000000..b0b5fd5 Binary files /dev/null and b/Code/Frontend/src/assets/images/load.gif differ diff --git a/Code/Frontend/src/assets/images/log(1)(1).png b/Code/Frontend/src/assets/images/log(1)(1).png new file mode 100644 index 0000000..53b56eb Binary files /dev/null and b/Code/Frontend/src/assets/images/log(1)(1).png differ diff --git a/Code/Frontend/src/assets/images/log(1).png b/Code/Frontend/src/assets/images/log(1).png new file mode 100644 index 0000000..86e1d99 Binary files /dev/null and b/Code/Frontend/src/assets/images/log(1).png differ diff --git a/Code/Frontend/src/assets/images/log.png b/Code/Frontend/src/assets/images/log.png new file mode 100644 index 0000000..ae65004 Binary files /dev/null and b/Code/Frontend/src/assets/images/log.png differ diff --git a/Code/Frontend/src/assets/images/logo.jpeg b/Code/Frontend/src/assets/images/logo.jpeg new file mode 100644 index 0000000..f8987fb Binary files /dev/null and b/Code/Frontend/src/assets/images/logo.jpeg differ diff --git a/Code/Frontend/src/assets/images/lolo.png b/Code/Frontend/src/assets/images/lolo.png new file mode 100644 index 0000000..bb42733 Binary files /dev/null and b/Code/Frontend/src/assets/images/lolo.png differ diff --git a/Code/Frontend/src/assets/images/lololo.png b/Code/Frontend/src/assets/images/lololo.png new file mode 100644 index 0000000..4e26e21 Binary files /dev/null and b/Code/Frontend/src/assets/images/lololo.png differ diff --git a/Code/Frontend/src/assets/images/nju.jpg b/Code/Frontend/src/assets/images/nju.jpg new file mode 100644 index 0000000..207b35c Binary files /dev/null and b/Code/Frontend/src/assets/images/nju.jpg differ diff --git a/Code/Frontend/src/assets/images/nju_logo.png b/Code/Frontend/src/assets/images/nju_logo.png new file mode 100644 index 0000000..b6305b0 Binary files /dev/null and b/Code/Frontend/src/assets/images/nju_logo.png differ diff --git a/Code/Frontend/src/assets/images/no-data.png b/Code/Frontend/src/assets/images/no-data.png new file mode 100644 index 0000000..13ac94e Binary files /dev/null and b/Code/Frontend/src/assets/images/no-data.png differ diff --git a/Code/Frontend/src/assets/images/no-search.png b/Code/Frontend/src/assets/images/no-search.png new file mode 100644 index 0000000..54fcef7 Binary files /dev/null and b/Code/Frontend/src/assets/images/no-search.png differ diff --git a/Code/Frontend/src/assets/images/other-login.png b/Code/Frontend/src/assets/images/other-login.png new file mode 100644 index 0000000..43ead26 Binary files /dev/null and b/Code/Frontend/src/assets/images/other-login.png differ diff --git a/Code/Frontend/src/assets/images/qqpay.png b/Code/Frontend/src/assets/images/qqpay.png new file mode 100644 index 0000000..9f29d48 Binary files /dev/null and b/Code/Frontend/src/assets/images/qqpay.png differ diff --git a/Code/Frontend/src/assets/images/qqremark.png b/Code/Frontend/src/assets/images/qqremark.png new file mode 100644 index 0000000..2e946b3 Binary files /dev/null and b/Code/Frontend/src/assets/images/qqremark.png differ diff --git a/Code/Frontend/src/assets/images/qr.png b/Code/Frontend/src/assets/images/qr.png new file mode 100644 index 0000000..e68e4d5 Binary files /dev/null and b/Code/Frontend/src/assets/images/qr.png differ diff --git a/Code/Frontend/src/assets/images/red.png b/Code/Frontend/src/assets/images/red.png new file mode 100644 index 0000000..fe884fc Binary files /dev/null and b/Code/Frontend/src/assets/images/red.png differ diff --git a/Code/Frontend/src/assets/images/saoma.png b/Code/Frontend/src/assets/images/saoma.png new file mode 100644 index 0000000..fbbf409 Binary files /dev/null and b/Code/Frontend/src/assets/images/saoma.png differ diff --git a/Code/Frontend/src/assets/images/smartisan_4ada7fecea.png b/Code/Frontend/src/assets/images/smartisan_4ada7fecea.png new file mode 100644 index 0000000..7572380 Binary files /dev/null and b/Code/Frontend/src/assets/images/smartisan_4ada7fecea.png differ diff --git a/Code/Frontend/src/assets/images/smartisan_4ada7fecea@2x.png b/Code/Frontend/src/assets/images/smartisan_4ada7fecea@2x.png new file mode 100644 index 0000000..b2d1876 Binary files /dev/null and b/Code/Frontend/src/assets/images/smartisan_4ada7fecea@2x.png differ diff --git a/Code/Frontend/src/assets/images/smile.png b/Code/Frontend/src/assets/images/smile.png new file mode 100644 index 0000000..c8337ae Binary files /dev/null and b/Code/Frontend/src/assets/images/smile.png differ diff --git a/Code/Frontend/src/assets/images/support.png b/Code/Frontend/src/assets/images/support.png new file mode 100644 index 0000000..c33c6cc Binary files /dev/null and b/Code/Frontend/src/assets/images/support.png differ diff --git a/Code/Frontend/src/assets/images/user-avatar.png b/Code/Frontend/src/assets/images/user-avatar.png new file mode 100644 index 0000000..25987b0 Binary files /dev/null and b/Code/Frontend/src/assets/images/user-avatar.png differ diff --git a/Code/Frontend/src/assets/images/user.jpg b/Code/Frontend/src/assets/images/user.jpg new file mode 100644 index 0000000..6617f98 Binary files /dev/null and b/Code/Frontend/src/assets/images/user.jpg differ diff --git a/Code/Frontend/src/assets/images/wechat-explain.png b/Code/Frontend/src/assets/images/wechat-explain.png new file mode 100644 index 0000000..f2c66bf Binary files /dev/null and b/Code/Frontend/src/assets/images/wechat-explain.png differ diff --git a/Code/Frontend/src/assets/images/weixinpay@2x.png b/Code/Frontend/src/assets/images/weixinpay@2x.png new file mode 100644 index 0000000..2d43bbd Binary files /dev/null and b/Code/Frontend/src/assets/images/weixinpay@2x.png differ diff --git a/Code/Frontend/src/assets/images/wxremark.png b/Code/Frontend/src/assets/images/wxremark.png new file mode 100644 index 0000000..2be9b43 Binary files /dev/null and b/Code/Frontend/src/assets/images/wxremark.png differ diff --git "a/Code/Frontend/src/assets/images/\345\261\217\345\271\225\346\210\252\345\233\276 2023-03-21 220522.png" "b/Code/Frontend/src/assets/images/\345\261\217\345\271\225\346\210\252\345\233\276 2023-03-21 220522.png" new file mode 100644 index 0000000..de0c917 Binary files /dev/null and "b/Code/Frontend/src/assets/images/\345\261\217\345\271\225\346\210\252\345\233\276 2023-03-21 220522.png" differ diff --git a/Code/Frontend/src/assets/style/base.css b/Code/Frontend/src/assets/style/base.css new file mode 100644 index 0000000..3879f5b --- /dev/null +++ b/Code/Frontend/src/assets/style/base.css @@ -0,0 +1,66 @@ +* { + padding: 0; + margin: 0; +} + +body { + min-width: 1100px; + height: 100%; + font-size: 14px; + font-family: '微软雅黑', Arial, Helvetica, sans-serif; +} + + + + + +input { + outline: none; +} + +/* 提取版心 */ +.w { + width: 1100px; + margin: 0 auto; +} +ul { + list-style: none; +} +a { + color: #333; + text-decoration: none; + outline: none; +} + +.ellipsis { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +/* 超过两行生省略号 */ +.ellipsis-2 { + word-break: break-all; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; +} + +.fr { + float: right; +} + +.fl { + float: left; +} + +.clearfix::after { + content: '.'; + display: block; + visibility: hidden; + height: 0; + line-height: 0; + clear: both; +} \ No newline at end of file diff --git a/Code/Frontend/src/assets/style/mixin.less b/Code/Frontend/src/assets/style/mixin.less new file mode 100644 index 0000000..6887255 --- /dev/null +++ b/Code/Frontend/src/assets/style/mixin.less @@ -0,0 +1,26 @@ +// // 鼠标经过上移阴影动画 +.hoverShadow () { + transition: all .5s; + + &:hover { + transform: translate3d(0, -3px, 0); + box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); + } +} + + +.size { + width: 100px; + height: 100px; +} + +.size2(@w) { + width: @w; + height: @w; +} + +.box { + .size2(200px); + .hoverShadow (); + background-color: red; +} \ No newline at end of file diff --git a/Code/Frontend/src/assets/style/reset.scss b/Code/Frontend/src/assets/style/reset.scss new file mode 100644 index 0000000..11889ff --- /dev/null +++ b/Code/Frontend/src/assets/style/reset.scss @@ -0,0 +1,58 @@ +* { + padding: 0; + margin: 0; + box-sizing: border-box; +} + +body { + font-family: PingFang SC, Helvetica Neue, Helvetica, Arial, Hiragino Sans GB, Microsoft Yahei, \\5FAE\8F6F\96C5\9ED1, STHeiti, \\534E\6587\7EC6\9ED1, sans-serif; + color: #666; + font-size: 14px; +} + +a { + font-style: normal; + +li { + list-style-type: none; +}} + +input, +img, +button { + border: none; + outline: none; +} + +h1, h2, h3, h4, h5, h6 { + font-size: 100%; + font-weight: 400; +} + +i, em { + font-style: normal; +} + +input[type=number], textarea { + -moz-appearance: textfield; +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button, +input[type="submit"], +input[type="search"], +input[type="reset"] { + -webkit-appearance: none; +} +::-webkit-input-placeholder { /* WebKit browsers */ + color: #BEBEBE; +} +:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #BEBEBE; +} +::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #BEBEBE; +} +:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #BEBEBE; +} \ No newline at end of file diff --git a/Code/Frontend/src/assets/style/tailwind.css b/Code/Frontend/src/assets/style/tailwind.css new file mode 100644 index 0000000..5e9d070 --- /dev/null +++ b/Code/Frontend/src/assets/style/tailwind.css @@ -0,0 +1,12 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +/* @layer components { + .btn { + @apply px-4 py-2 text-sm font-medium tracking-wide text-white capitalize transition-colors duration-300 transform bg-blue-700 rounded-md hover:bg-blue-600 focus:outline-none focus:bg-blue-600 whitespace-nowrap disabled:bg-blue-300; + } + .input { + @apply px-4 py-2 text-gray-700 bg-white border rounded-md mr-2 sm:mr-4 focus:border-blue-400 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-40 flex-grow; + } +} */ diff --git a/Code/Frontend/src/assets/style/theme.scss b/Code/Frontend/src/assets/style/theme.scss new file mode 100644 index 0000000..e3efdd7 --- /dev/null +++ b/Code/Frontend/src/assets/style/theme.scss @@ -0,0 +1,10 @@ +// 主色 +$main-col: #5079d9; +// 头部 +$head-bgc: #1a1a1a; +// 字体颜色 +$cc: #ccc; +$c6: #666; +$c9: #999; +$c3: #333; +$cf: #fff diff --git a/Code/Frontend/src/assets/style/variables.less b/Code/Frontend/src/assets/style/variables.less new file mode 100644 index 0000000..9baaa67 --- /dev/null +++ b/Code/Frontend/src/assets/style/variables.less @@ -0,0 +1,14 @@ +// 主题 +@xtxColor:#cc9756; + +//NJU +@njuColor:#7204c1; + +// 辅助 +@helpColor:#E26237; +// 成功 +@sucColor:#1DC779; +// 警告 +@warnColor:#FFB302; +// 价格 +@priceColor:#CF4444; \ No newline at end of file