Skip to content

Instantly share code, notes, and snippets.

@guxiaobai
Last active December 13, 2018 11:17
Show Gist options
  • Select an option

  • Save guxiaobai/a4c104da254ff571cca45f861c0dd2bf to your computer and use it in GitHub Desktop.

Select an option

Save guxiaobai/a4c104da254ff571cca45f861c0dd2bf to your computer and use it in GitHub Desktop.
自动化创建ant-design-pro项目
#!/bin/sh
version='2.1.1'
filename=ant-design-pro-${version}
name='skylla_os_web'
echo "Init from ${filename}"
wget -c -O ${filename}.tar.gz https://github.com/ant-design/ant-design-pro/archive/${version}.tar.gz
tar -zxvf ${filename}.tar.gz
mv ${filename} ${name}
cd ${name}
git init
git add .
git commit -m "Init from ${filename}"
echo 'support docker'
# - Dockerfile.dev
sed -i '/npm install/i RUN npm config set registry https://registry.npm.taobao.org/' Dockerfile.dev
sed -i '/npm install/c RUN npm install --no-cache' Dockerfile.dev
# - package.json
# * husky
sed -i '/husky.*\d/d' package.json
sed -i '/husky/,+4d' package.json
# ?倒数第二行的,处理
# * puppeteer
sed -i '/puppeteer.*\d/d' package.json
# * lint
sed -i '/lint-staged.*{/,+7d' package.json
# - docker/docker-compose.dev.yml
sed -i 's/ant-design-pro/skylla_os_web/g' docker/docker-compose.dev.yml
git add .
git commit -m "support docker"
## proxy server
sed -i '/container_name/a\ command: npm run start' docker/docker-compose.dev.yml
cat >> docker/docker-compose.dev.yml <<HEREDOC
networks:
default:
external:
name: skylla_default
HEREDOC
# == config/config.js
echo 'rename authority key'
# - src/utils/authority.js
sed -i 's/antd-pro/skylla-os-web/g' src/utils/authority.js
git commit -m "rename authority key"
echo 'add jwt token'
# - src/utils/request.js
cat > /tmp/headers <<HEREDOC
headers: {
Authorization: \`Bearer \${localStorage.getItem('skylla-os-web-token')}\`
},
HEREDOC
sed -i '/expirys: isAntdPro/r/tmp/headers' src/utils/request.js
rm /tmp/headers
# - src/models/login.js
cat > /tmp/token <<HEREDOC
if(payload.currentAuthority === 'admin'){
localStorage.setItem('skylla-os-web-token', payload.jwt_token)
} else {
localStorage.removeItem('skylla-os-web-token')
}
HEREDOC
sed -i '/payload.currentAuthority/r/tmp/token' src/models/login.js
rm /tmp/token
git commit -m "support jwt token"
# - config/config.js
cat > src/defaultSettings.js <<HEREDOC
module.exports = {
navTheme: 'light', // theme for nav menu
primaryColor: '#F5222D', // primary color of ant design
layout: 'topmenu', // nav menu position: sidemenu or topmenu
contentWidth: 'Fluid', // layout of content: Fluid or Fixed, only works when layout is topmenu
fixedHeader: true, // sticky header
autoHideHeader: true, // auto hide header
fixSiderbar: false, // sticky siderbar
};
HEREDOC
sed -i 's/userName/username/g' src/pages/User/Login.js mock/user.js
sed -i 's/login\/account/login/' src/services/api.js mock/user.js
git add .
git commit -m "用户登录接口"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment