修改用户名为nickname

master
xiao.ming 2021-11-17 19:40:32 +08:00
parent 59be68d4c3
commit 77f2b01a68
21 changed files with 134 additions and 36 deletions

View File

@ -582,8 +582,25 @@ CREATE TABLE `sys_users` (
-- Records of sys_users
-- ----------------------------
BEGIN;
INSERT INTO `sys_users` VALUES (1, '2021-11-01 14:53:31', '2021-11-02 10:30:56', NULL, '8e600b7f-3297-4979-a445-d218205ef9a6', 'admin', 'e10adc3949ba59abbe56e057f20f883e', '超级管理员', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '100');
INSERT INTO `sys_users` VALUES (2, '2021-11-01 14:53:31', '2021-11-15 04:10:26', NULL, '9d9ab82d-81a7-433b-9ea1-bde1c4f1b990', 'user', 'e10adc3949ba59abbe56e057f20f883e', '普通用户', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (1, '2021-11-01 14:53:31', '2021-11-02 10:30:56', NULL, '8e600b7f-3297-4979-a445-d218205ef9a6', 'admin', 'e10adc3949ba59abbe56e057f20f883e', '超级管理员', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '100');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (2, '2021-11-01 14:53:31', '2021-11-15 04:10:26', NULL, '9d9ab82d-81a7-433b-9ea1-bde1c4f1b990', 'user', 'e10adc3949ba59abbe56e057f20f883e', '普通用户', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (3, '2021-11-16 09:51:43', '2021-11-16 09:56:18', NULL, 'c44ea3d3-407b-4373-b03c-e0fac4ffa447', 'guziming', 'e10adc3949ba59abbe56e057f20f883e', '顾子鸣', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (4, '2021-11-16 09:52:00', '2021-11-16 09:52:00', NULL, '44f03991-5f9e-47ba-a847-293d04af51d8', 'jintao', 'e10adc3949ba59abbe56e057f20f883e', '靳涛', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (5, '2021-11-16 09:52:25', '2021-11-16 09:55:29', NULL, '364190ef-84fd-4ed2-9aab-a1bb3a36377c', 'qianyingying', 'e10adc3949ba59abbe56e057f20f883e', '钱赢颖', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (6, '2021-11-16 09:55:01', '2021-11-16 09:55:01', NULL, '776b02cf-bc72-492c-bf3c-0a96a5fc7033', 'wangweiqiang', 'e10adc3949ba59abbe56e057f20f883e', '王伟强', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (7, '2021-11-16 09:57:32', '2021-11-16 09:57:32', NULL, '2c343271-68cb-4bba-a409-81654f3b9bf0', 'yangmingming', 'e10adc3949ba59abbe56e057f20f883e', '杨明明', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (8, '2021-11-16 09:58:19', '2021-11-16 09:58:19', NULL, 'ed175b3f-4b7a-481d-87ba-34f9beb2fff7', 'dengjixin', 'e10adc3949ba59abbe56e057f20f883e', '邓吉欣', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (9, '2021-11-17 04:15:16', '2021-11-17 04:15:16', NULL, '153e7022-6b08-484f-8104-511b41c447fb', 'yanhuaiqian', 'e10adc3949ba59abbe56e057f20f883e', '闫怀仟', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (10, '2021-11-17 04:15:43', '2021-11-17 04:15:52', NULL, 'f3ba29da-84f9-4b46-980c-d2d5a4f57680', 'zhanglin', 'e10adc3949ba59abbe56e057f20f883e', '张林', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (11, '2021-11-17 04:17:03', '2021-11-17 04:17:03', NULL, '9f684a0f-522d-4dc8-a98e-76579a4fcfe1', 'zhangyifeng', 'e10adc3949ba59abbe56e057f20f883e', '张亦峰', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (12, '2021-11-17 04:18:29', '2021-11-17 04:18:29', NULL, '70908c73-4b27-4b97-b2d3-8007a53ebcf8', 'jianghupo', 'e10adc3949ba59abbe56e057f20f883e', '蒋琥珀', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (13, '2021-11-17 04:19:25', '2021-11-17 04:19:25', NULL, 'd38b2057-2fa6-4eaf-9d6d-2b6eb35f65ab', 'zhaoshiwei', 'e10adc3949ba59abbe56e057f20f883e', '赵师伟', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (14, '2021-11-17 04:21:02', '2021-11-17 04:21:02', NULL, 'ba4a74a5-a27c-47ea-93b3-7c787fe13bb3', 'shiqilin', 'e10adc3949ba59abbe56e057f20f883e', '施齐林', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (15, '2021-11-17 04:22:55', '2021-11-17 04:22:55', NULL, '45571277-d8c5-4b17-a19e-c53e3816b858', 'yuliangliang', 'e10adc3949ba59abbe56e057f20f883e', '庾亮亮', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (16, '2021-11-17 04:23:47', '2021-11-17 09:04:43', NULL, '7342dbdf-99c2-4a43-8d42-2f0478021145', 'deniel', 'e10adc3949ba59abbe56e057f20f883e', '杨晟收', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (17, '2021-11-17 04:24:12', '2021-11-17 04:24:12', NULL, '95c24bb1-47a1-48b1-9145-0425036cccb1', 'libin', 'e10adc3949ba59abbe56e057f20f883e', '李斌', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '100');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (18, '2021-11-17 04:25:11', '2021-11-17 04:25:11', NULL, '78d43618-a958-410f-9c0b-7374a293a1b7', 'zhangzilin', 'e10adc3949ba59abbe56e057f20f883e', '张子林', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '200');
INSERT INTO `weekly_report`.`sys_users` (`id`, `created_at`, `updated_at`, `deleted_at`, `uuid`, `username`, `password`, `nick_name`, `side_mode`, `header_img`, `base_color`, `active_color`, `authority_id`) VALUES (19, '2021-11-17 07:21:44', '2021-11-17 07:21:58', '2021-11-17 09:11:55', '7a88ef4a-49db-4fc7-ab2b-9ee381aceea9', 'test', '098f6bcd4621d373cade4e832627b4f6', 'test', 'dark', 'https://qmplusimg.henrongyi.top/gva_header.jpg', '#fff', '#1890ff', '100');
COMMIT;
-- ----------------------------

18
server/log/2021-11-17.log Normal file
View File

@ -0,0 +1,18 @@
[goweb-demo]2021/11/17 - 19:04:58.202 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:04:58.204 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}
[goweb-demo]2021/11/17 - 19:06:31.795 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:06:31.797 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}
[goweb-demo]2021/11/17 - 19:08:06.649 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:08:06.651 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}
[goweb-demo]2021/11/17 - 19:18:12.530 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:18:12.533 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}
[goweb-demo]2021/11/17 - 19:18:59.866 error /Users/zero/work/mygithub/goweb-gin-demo/server/api/wt/wt_comments.go:111 获取失败! {"err": "Error 1054: Unknown column 'wt_comments.nick_name' in 'field list'"}
[goweb-demo]2021/11/17 - 19:21:11.202 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:21:11.203 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}
[goweb-demo]2021/11/17 - 19:28:53.830 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:28:53.833 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}
[goweb-demo]2021/11/17 - 19:31:46.870 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:31:46.871 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}
[goweb-demo]2021/11/17 - 19:32:08.254 error /Users/zero/work/mygithub/goweb-gin-demo/server/api/wt/wt_comments.go:111 获取失败! {"err": "Error 1054: Unknown column 'wt_comments.nick_name' in 'field list'"}
[goweb-demo]2021/11/17 - 19:34:29.681 info /Users/zero/work/mygithub/goweb-gin-demo/server/initialize/router.go:49 router register success
[goweb-demo]2021/11/17 - 19:34:29.682 info /Users/zero/work/mygithub/goweb-gin-demo/server/core/server.go:31 server run success on {"address": ":8981"}

View File

@ -0,0 +1,10 @@
package response
import (
"goweb-gin-demo/model/wt"
)
type WtCommentResult struct {
wt.WtComment
NickName string `json:"nickName"`
}

View File

@ -30,5 +30,6 @@ type WtReportsSearchBO struct {
type WtReportsSearchResult struct {
global.GLOBAL_MODEL
WtReportInfo
NickName string `json:"nickName"`
CommentCount uint `json:"commentCount"`
}

View File

@ -186,3 +186,21 @@ func (userService *UserService) FindUserByUuid(uuid string) (err error, user *sy
}
return nil, &u
}
func (userService *UserService) GetAllUserInfoMap() (err error, userMap map[string]system.SysUser) {
db := global.GLOBAL_DB.Model(&system.SysUser{})
var userList []system.SysUser
if err != nil {
return
}
err = db.Find(&userList).Error
tempMap := make(map[string]system.SysUser)
for _, user := range userList {
tempMap[user.Username] = user
}
return err, tempMap
}

View File

@ -5,6 +5,8 @@ import (
"goweb-gin-demo/model/common/request"
"goweb-gin-demo/model/wt"
wtReq "goweb-gin-demo/model/wt/request"
wtRes "goweb-gin-demo/model/wt/response"
"goweb-gin-demo/service/system"
)
type WtCommentService struct {
@ -17,47 +19,66 @@ func (wtCommentService *WtCommentService) CreateWtComment(wtComment wt.WtComment
}
// DeleteWtComment 删除WtComment记录
func (wtCommentService *WtCommentService)DeleteWtComment(wtComment wt.WtComment) (err error) {
func (wtCommentService *WtCommentService) DeleteWtComment(wtComment wt.WtComment) (err error) {
err = global.GLOBAL_DB.Delete(&wtComment).Error
return err
}
// DeleteWtCommentByIds 批量删除WtComment记录
func (wtCommentService *WtCommentService)DeleteWtCommentByIds(ids request.IdsReq) (err error) {
err = global.GLOBAL_DB.Delete(&[]wt.WtComment{},"id in ?",ids.Ids).Error
func (wtCommentService *WtCommentService) DeleteWtCommentByIds(ids request.IdsReq) (err error) {
err = global.GLOBAL_DB.Delete(&[]wt.WtComment{}, "id in ?", ids.Ids).Error
return err
}
// UpdateWtComment 更新WtComment记录
func (wtCommentService *WtCommentService)UpdateWtComment(wtComment wt.WtComment) (err error) {
func (wtCommentService *WtCommentService) UpdateWtComment(wtComment wt.WtComment) (err error) {
err = global.GLOBAL_DB.Save(&wtComment).Error
return err
}
// GetWtComment 根据id获取WtComment记录
func (wtCommentService *WtCommentService)GetWtComment(id uint) (err error, wtComment wt.WtComment) {
func (wtCommentService *WtCommentService) GetWtComment(id uint) (err error, wtComment wt.WtComment) {
err = global.GLOBAL_DB.Where("id = ?", id).First(&wtComment).Error
return
}
// GetWtCommentInfoList 分页获取WtComment记录
func (wtCommentService *WtCommentService)GetWtCommentInfoList(info wtReq.WtCommentSearch) (err error, list interface{}, total int64) {
func (wtCommentService *WtCommentService) GetWtCommentInfoList(info wtReq.WtCommentSearch) (err error, list interface{}, total int64) {
limit := info.PageSize
offset := info.PageSize * (info.Page - 1)
// 创建db
db := global.GLOBAL_DB.Model(&wt.WtComment{})
var wtComments []wt.WtComment
var wtCommentResults []wtRes.WtCommentResult
// 如果有条件搜索 下方会自动创建搜索语句
err = db.Count(&total).Error
if err!=nil {
if err != nil {
return
}
if info.ReportId > 0 {
err = db.Where("report_id=?", info.ReportId).Limit(limit).Offset(offset).Order("created_at desc").Find(&wtComments).Error
}else {
} else {
err = db.Limit(limit).Offset(offset).Order("created_at desc").Find(&wtComments).Error
}
return err, wtComments, total
var sysServiceGroup system.SystemServiceGroup
_, userMap := sysServiceGroup.GetAllUserInfoMap()
for _, comment := range wtComments {
userInfo := userMap[comment.UserName]
var commentResult wtRes.WtCommentResult
commentResult.WtComment = comment
if len(userInfo.NickName) == 0 {
commentResult.NickName = comment.UserName
} else {
commentResult.NickName = userInfo.NickName
}
wtCommentResults = append(wtCommentResults, commentResult)
}
return err, wtCommentResults, total
}

View File

@ -4,9 +4,11 @@ import (
"encoding/json"
"goweb-gin-demo/global"
"goweb-gin-demo/model/common/request"
systemModel "goweb-gin-demo/model/system"
"goweb-gin-demo/model/wt"
wtReq "goweb-gin-demo/model/wt/request"
wtRes "goweb-gin-demo/model/wt/response"
"goweb-gin-demo/service/system"
"strconv"
)
@ -118,15 +120,20 @@ func voToRrports(reportsVO wtReq.WtReportsVO) wt.WtReports {
// 批量转换 数据转换, 把字符串转换为json
func reportsToSearchResult(wtReportsList []wtRes.WtReportsSearchBO) []wtRes.WtReportsSearchResult {
var reportsSearchResults []wtRes.WtReportsSearchResult
var sysServiceGroup system.SystemServiceGroup
_, userMap := sysServiceGroup.GetAllUserInfoMap()
for _, searchBO := range wtReportsList {
reportVO := reportToSearchResult(searchBO)
userInfo := userMap[searchBO.UserName]
reportVO := reportToSearchResult(searchBO, userInfo)
reportsSearchResults = append(reportsSearchResults, reportVO)
}
return reportsSearchResults
}
//单个转换
func reportToSearchResult(searchBO wtRes.WtReportsSearchBO) wtRes.WtReportsSearchResult {
func reportToSearchResult(searchBO wtRes.WtReportsSearchBO, user systemModel.SysUser) wtRes.WtReportsSearchResult {
searchResult := wtRes.WtReportsSearchResult{}
searchResult.GLOBAL_MODEL = searchBO.GLOBAL_MODEL
@ -135,6 +142,12 @@ func reportToSearchResult(searchBO wtRes.WtReportsSearchBO) wtRes.WtReportsSearc
searchResult.Header = searchBO.Header
searchResult.CommentCount = searchBO.CommentCount
if len(user.NickName) == 0 {
searchResult.NickName = searchBO.UserName
} else {
searchResult.NickName = user.NickName
}
json.Unmarshal([]byte(searchBO.SendTo), &searchResult.SendTo)
json.Unmarshal([]byte(searchBO.Contents), &searchResult.Contents)
json.Unmarshal([]byte(searchBO.Pictures), &searchResult.Pictures)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
web/dist/index.html vendored
View File

@ -1 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>weekly</title><link href="/assets/css/chunk-08177fb6.220221fb.css" rel="prefetch"><link href="/assets/css/chunk-151d12ac.29dc3ea8.css" rel="prefetch"><link href="/assets/css/chunk-1eb1a21d.d0ac998b.css" rel="prefetch"><link href="/assets/css/chunk-1f658693.148b28a1.css" rel="prefetch"><link href="/assets/css/chunk-2544b27e.6285f449.css" rel="prefetch"><link href="/assets/css/chunk-437bd475.39a5cced.css" rel="prefetch"><link href="/assets/css/chunk-65f244be.d72f34ea.css" rel="prefetch"><link href="/assets/css/chunk-6f10ab9a.cc607c40.css" rel="prefetch"><link href="/assets/css/chunk-a33bcf20.de248da2.css" rel="prefetch"><link href="/assets/css/chunk-cb583cae.59e38391.css" rel="prefetch"><link href="/assets/css/chunk-cce13102.f567f567.css" rel="prefetch"><link href="/assets/css/chunk-da53210a.994cb55d.css" rel="prefetch"><link href="/assets/js/chunk-08177fb6.ed465acb.js" rel="prefetch"><link href="/assets/js/chunk-151d12ac.90267ae8.js" rel="prefetch"><link href="/assets/js/chunk-1eb1a21d.e1c38689.js" rel="prefetch"><link href="/assets/js/chunk-1f658693.c8ef403b.js" rel="prefetch"><link href="/assets/js/chunk-1f661fa4.5ec85482.js" rel="prefetch"><link href="/assets/js/chunk-2544b27e.86eeb228.js" rel="prefetch"><link href="/assets/js/chunk-437bd475.6f8f84e1.js" rel="prefetch"><link href="/assets/js/chunk-65f244be.b71d7b84.js" rel="prefetch"><link href="/assets/js/chunk-6f10ab9a.af4a234f.js" rel="prefetch"><link href="/assets/js/chunk-a33bcf20.e5ea6dcd.js" rel="prefetch"><link href="/assets/js/chunk-cb583cae.fd28fce0.js" rel="prefetch"><link href="/assets/js/chunk-cce13102.4867b08c.js" rel="prefetch"><link href="/assets/js/chunk-da53210a.5e44435b.js" rel="prefetch"><link href="/assets/css/app.4f8f8d6c.css" rel="preload" as="style"><link href="/assets/css/chunk-vendors.09af4a6b.css" rel="preload" as="style"><link href="/assets/js/app.0e3882d5.js" rel="preload" as="script"><link href="/assets/js/chunk-vendors.b41fc27a.js" rel="preload" as="script"><link href="/assets/css/chunk-vendors.09af4a6b.css" rel="stylesheet"><link href="/assets/css/app.4f8f8d6c.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but weekly doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/assets/js/chunk-vendors.b41fc27a.js"></script><script src="/assets/js/app.0e3882d5.js"></script></body></html>
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>weekly</title><link href="/assets/css/chunk-08177fb6.220221fb.css" rel="prefetch"><link href="/assets/css/chunk-151d12ac.29dc3ea8.css" rel="prefetch"><link href="/assets/css/chunk-1eb1a21d.d0ac998b.css" rel="prefetch"><link href="/assets/css/chunk-1f658693.148b28a1.css" rel="prefetch"><link href="/assets/css/chunk-2544b27e.6285f449.css" rel="prefetch"><link href="/assets/css/chunk-437bd475.39a5cced.css" rel="prefetch"><link href="/assets/css/chunk-65f244be.d72f34ea.css" rel="prefetch"><link href="/assets/css/chunk-6f10ab9a.cc607c40.css" rel="prefetch"><link href="/assets/css/chunk-a33bcf20.de248da2.css" rel="prefetch"><link href="/assets/css/chunk-cb583cae.59e38391.css" rel="prefetch"><link href="/assets/css/chunk-cce13102.f567f567.css" rel="prefetch"><link href="/assets/css/chunk-da53210a.994cb55d.css" rel="prefetch"><link href="/assets/js/chunk-08177fb6.ed465acb.js" rel="prefetch"><link href="/assets/js/chunk-151d12ac.90267ae8.js" rel="prefetch"><link href="/assets/js/chunk-1eb1a21d.e1c38689.js" rel="prefetch"><link href="/assets/js/chunk-1f658693.aa6153a5.js" rel="prefetch"><link href="/assets/js/chunk-1f661fa4.5ec85482.js" rel="prefetch"><link href="/assets/js/chunk-2544b27e.86eeb228.js" rel="prefetch"><link href="/assets/js/chunk-437bd475.6f8f84e1.js" rel="prefetch"><link href="/assets/js/chunk-65f244be.1875b018.js" rel="prefetch"><link href="/assets/js/chunk-6f10ab9a.af4a234f.js" rel="prefetch"><link href="/assets/js/chunk-a33bcf20.30d5b533.js" rel="prefetch"><link href="/assets/js/chunk-cb583cae.fd28fce0.js" rel="prefetch"><link href="/assets/js/chunk-cce13102.4867b08c.js" rel="prefetch"><link href="/assets/js/chunk-da53210a.7e24fffc.js" rel="prefetch"><link href="/assets/css/app.4f8f8d6c.css" rel="preload" as="style"><link href="/assets/css/chunk-vendors.09af4a6b.css" rel="preload" as="style"><link href="/assets/js/app.20dd1596.js" rel="preload" as="script"><link href="/assets/js/chunk-vendors.b41fc27a.js" rel="preload" as="script"><link href="/assets/css/chunk-vendors.09af4a6b.css" rel="stylesheet"><link href="/assets/css/app.4f8f8d6c.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but weekly doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/assets/js/chunk-vendors.b41fc27a.js"></script><script src="/assets/js/app.20dd1596.js"></script></body></html>