这篇文章是为了给自己这个外包得到的知识进行一次复盘和进行知识梳理。
外包工资
本次外包金额:23k,历时15天,尾款还要等一两天,定金12.5k。
下面是定金收款截图:
总体来说难度不大,且简单。
尾款明天打完就好了。
ps:外包薪资浮动很大,但我一直随缘接单就只接简单或者工资高的
看自己技术难度获取金额大小
接外包注意事项
- 必须要收定金,我的定金在50-60%之间收取中
- 立好需求文档,估好价,挨打要立正,倘若客户随意更改需求文档内容可以不做,或者跑路(我经常别人改需求文档,我就叫涨价或跑路)
- 不要心客户说的什么入股和利润分你之类的,钱不到手都是放屁
- 给客户报价格把握好尺度,不能太少,而且报价的时候建议加上点预估上限。
- 要会忽悠
- 记住:你只是来接外包赚外快的!
如何获取外包
- 多加自己要接外包的技术方面的QQ和微信交流群(这种成功率最高)
- 看见群里面有人发布需求就加好友,哪怕没有接到也不要删好友,一直存着,有可能会再来找你,或者别人介绍单子
- 写一些博客,和项目加上自己接外包的注释
- 多逛qq群
- 不建议在八戒威客之类的接。
- 我一直随缘接单,毕竟在上学,能接就接,学习和身体最重要
ps:接外包可以赚点小钱,但不要一直接外包当做外包的技术工种,没必要,把这份精力用来钻研以后进好一点的公司更爽,无论是钱还是什么
本次项目涉及到的知识点
知识点
小目标
前端获取的知识点
前端使用axios后即使后端设置了写入cookie和读取cookie依旧无法正常写入浏览器,解决方法。
withCredentials: true // 需要axios设置拦截器或者默认为允许跨域。
如何使用vue的router定义一个路由
这里使用的是 'vue-router'
需要指定vue-router的版本。
代码内容:
// 路由设置文件
import {createRouter, createWebHashHistory} from 'vue-router'
import menudata from "@/view/menudata";
import Wallets from '@/view/Wallets'
import Withdraw from "@/view/Withdraw";
import order from "@/view/order";
import apikey from "@/view/apikey";
import auto from "@/view/auto";
import create from "@/view/create";
import WithdrawWallet from "@/view/WithdrawWallet";
const routes = [{
name: 'index',
path: '/',
component: menudata
}, {
name: 'Wallets',
path: '/Wallets',
component: Wallets
}, {
name: "Withdraw",
path: "/Withdraw",
component: Withdraw
}, {
name: "order",
path: "/order",
component: order
}, {
name: "apikey",
path: "/apikey",
component: apikey
}, {
name: "auto",// 授权地址
path: "/auto",
component: auto
}, {
name: "create",
path: "/create",
component: create
}, {
name: "WithdrawWallet",
path: "/WithdrawWallet",
component: WithdrawWallet
}
];
const router = createRouter({
history: createWebHashHistory(),
routes // (缩写) 相当于 routes: routes
})
export default router
使用export default router 将router进行导出
{
name: "order",
path: "/order",
component: order
}
name是路由的名字,path是路由指定的url,component是指定的路由展示组件。
可以于element-plus的菜单配置使用,获取路由展示。
当点击使用路由后可以使用vue的路由界面来展示界面:
<el-main>
<!-- main主视图
<menudata></menudata>
-->
<router-view></router-view>
</el-main>
Go返回的unix时间戳js无法转为日期,js将时间戳转为日期
js函数:
export async function getLocalTime(nS) {
let date = new Date(nS * 1000);
let Y = date.getFullYear() + '-';
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
let D = date.getDate() + ' ';
let h = date.getHours() + ':';
let m = date.getMinutes() + ':';
let s = date.getSeconds();
let time = Y + M + D + h + m + s
return time
}
Go返回的默认时间戳与js的标准不一样,比列是1:1000
vue绑定jwt到本地浏览器
localStorage.jwt = "Bearer " + res.msg // 本地储存jwt
只建议储存本地数据
后端遇见的问题(Go)
gin使用路由定义
// 启动分组
public := engine.Group("/api/public")
private := engine.Group("/api/private")
major := engine.Group("/api/major")
// 设置对外公开,有密钥就行的函数
apikey := engine.Group("/api/apikey")
// 分组路由使用的中间件
apikey.Use(net.Apikey())
public.Use(net.AuthMiddlewareJWT())
major.Use(net.AuthMiddlewareJWT())
major.Use(net.FuncGinCaptcha())
// 将路由进行绑定
dao.RouterPublic(public)
dao.RouterPrivate(private)
dao.RouterMajor(major)
dao.RouterAPIkey(apikey)
engine := gin.Default()
使用Group使用gin的路由分组设置,然后使用use进行中间件绑定。