diff --git a/examples/login-template/App.vue b/examples/login-template/App.vue
deleted file mode 100755
index e31116203c2befc71fa0be45c7015de30a500cb4..0000000000000000000000000000000000000000
--- a/examples/login-template/App.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
diff --git a/examples/login-template/README.md b/examples/login-template/README.md
index 725521057f44ab68905cfbe06ecb9f38e392480f..24e615ed9742f27d2d859b8c39eb69c45bfaca59 100644
--- a/examples/login-template/README.md
+++ b/examples/login-template/README.md
@@ -1,16 +1 @@
-# UNI-APP 登录模板
-
-![](https://img-cdn-qiniu.dcloud.net.cn/7E6B79E2-B469-4CF3-8F4D-7502E72C4CB8.png?imageView2/0/w/375)
-![](https://img-cdn-qiniu.dcloud.net.cn/659AE293-95F8-46E1-AC1F-D62FE3B080DB.png?imageView2/0/w/375)
-
-## 运行方式
-将项目拖入[HbuilderX](http://www.dcloud.io/hbuilderx.html),直接运行即可
-
-## 特点
-* 兼容微信小程序和APP
-* 适用于强制登录和非强制登录应用场景
-* 使用vuex管理登录状态
-* 包含账户密码登录和第三方登录方式(微信、微博、QQ)
-
-## 注意事项
-* 页面初始化完毕后马上跳转页面可能会失败,可以尝试延迟执行
+代码已迁移,请移步[https://github.com/dcloudio/uni-template-login](https://github.com/dcloudio/uni-template-login)查看最新代码
diff --git a/examples/login-template/components/uni-icon/uni-icon.css b/examples/login-template/components/uni-icon/uni-icon.css
deleted file mode 100644
index 2d1d3d14284772495b54c5a9c6e6665f5f0a0cea..0000000000000000000000000000000000000000
--- a/examples/login-template/components/uni-icon/uni-icon.css
+++ /dev/null
@@ -1,377 +0,0 @@
-@font-face {
- font-family: uniicons;
- font-weight: normal;
- font-style: normal;
- src: url('https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf?t=1536565627510') format('truetype');
-}
-
-.uni-icon {
- font-family: uniicons;
- font-size: 48upx;
- font-weight: normal;
- font-style: normal;
- line-height: 1;
- display: inline-block;
- text-decoration: none;
- -webkit-font-smoothing: antialiased;
-}
-
-.uni-icon.uni-active {
- color: #007aff;
-}
-
-.uni-icon-contact:before {
- content: '\e100';
-}
-
-.uni-icon-person:before {
- content: '\e101';
-}
-
-.uni-icon-personadd:before {
- content: '\e102';
-}
-
-.uni-icon-contact-filled:before {
- content: '\e130';
-}
-
-.uni-icon-person-filled:before {
- content: '\e131';
-}
-
-.uni-icon-personadd-filled:before {
- content: '\e132';
-}
-
-.uni-icon-phone:before {
- content: '\e200';
-}
-
-.uni-icon-email:before {
- content: '\e201';
-}
-
-.uni-icon-chatbubble:before {
- content: '\e202';
-}
-
-.uni-icon-chatboxes:before {
- content: '\e203';
-}
-
-.uni-icon-phone-filled:before {
- content: '\e230';
-}
-
-.uni-icon-email-filled:before {
- content: '\e231';
-}
-
-.uni-icon-chatbubble-filled:before {
- content: '\e232';
-}
-
-.uni-icon-chatboxes-filled:before {
- content: '\e233';
-}
-
-.uni-icon-weibo:before {
- content: '\e260';
-}
-
-.uni-icon-weixin:before {
- content: '\e261';
-}
-
-.uni-icon-pengyouquan:before {
- content: '\e262';
-}
-
-.uni-icon-chat:before {
- content: '\e263';
-}
-
-.uni-icon-qq:before {
- content: '\e264';
-}
-
-.uni-icon-videocam:before {
- content: '\e300';
-}
-
-.uni-icon-camera:before {
- content: '\e301';
-}
-
-.uni-icon-mic:before {
- content: '\e302';
-}
-
-.uni-icon-location:before {
- content: '\e303';
-}
-
-.uni-icon-mic-filled:before,
-.uni-icon-speech:before {
- content: '\e332';
-}
-
-.uni-icon-location-filled:before {
- content: '\e333';
-}
-
-.uni-icon-micoff:before {
- content: '\e360';
-}
-
-.uni-icon-image:before {
- content: '\e363';
-}
-
-.uni-icon-map:before {
- content: '\e364';
-}
-
-.uni-icon-compose:before {
- content: '\e400';
-}
-
-.uni-icon-trash:before {
- content: '\e401';
-}
-
-.uni-icon-upload:before {
- content: '\e402';
-}
-
-.uni-icon-download:before {
- content: '\e403';
-}
-
-.uni-icon-close:before {
- content: '\e404';
-}
-
-.uni-icon-redo:before {
- content: '\e405';
-}
-
-.uni-icon-undo:before {
- content: '\e406';
-}
-
-.uni-icon-refresh:before {
- content: '\e407';
-}
-
-.uni-icon-star:before {
- content: '\e408';
-}
-
-.uni-icon-plus:before {
- content: '\e409';
-}
-
-.uni-icon-minus:before {
- content: '\e410';
-}
-
-.uni-icon-circle:before,
-.uni-icon-checkbox:before {
- content: '\e411';
-}
-
-.uni-icon-close-filled:before,
-.uni-icon-clear:before {
- content: '\e434';
-}
-
-.uni-icon-refresh-filled:before {
- content: '\e437';
-}
-
-.uni-icon-star-filled:before {
- content: '\e438';
-}
-
-.uni-icon-plus-filled:before {
- content: '\e439';
-}
-
-.uni-icon-minus-filled:before {
- content: '\e440';
-}
-
-.uni-icon-circle-filled:before {
- content: '\e441';
-}
-
-.uni-icon-checkbox-filled:before {
- content: '\e442';
-}
-
-.uni-icon-closeempty:before {
- content: '\e460';
-}
-
-.uni-icon-refreshempty:before {
- content: '\e461';
-}
-
-.uni-icon-reload:before {
- content: '\e462';
-}
-
-.uni-icon-starhalf:before {
- content: '\e463';
-}
-
-.uni-icon-spinner:before {
- content: '\e464';
-}
-
-.uni-icon-spinner-cycle:before {
- content: '\e465';
-}
-
-.uni-icon-search:before {
- content: '\e466';
-}
-
-.uni-icon-plusempty:before {
- content: '\e468';
-}
-
-.uni-icon-forward:before {
- content: '\e470';
-}
-
-.uni-icon-back:before,
-.uni-icon-left-nav:before {
- content: '\e471';
-}
-
-.uni-icon-checkmarkempty:before {
- content: '\e472';
-}
-
-.uni-icon-home:before {
- content: '\e500';
-}
-
-.uni-icon-navigate:before {
- content: '\e501';
-}
-
-.uni-icon-gear:before {
- content: '\e502';
-}
-
-.uni-icon-paperplane:before {
- content: '\e503';
-}
-
-.uni-icon-info:before {
- content: '\e504';
-}
-
-.uni-icon-help:before {
- content: '\e505';
-}
-
-.uni-icon-locked:before {
- content: '\e506';
-}
-
-.uni-icon-more:before {
- content: '\e507';
-}
-
-.uni-icon-flag:before {
- content: '\e508';
-}
-
-.uni-icon-home-filled:before {
- content: '\e530';
-}
-
-.uni-icon-gear-filled:before {
- content: '\e532';
-}
-
-.uni-icon-info-filled:before {
- content: '\e534';
-}
-
-.uni-icon-help-filled:before {
- content: '\e535';
-}
-
-.uni-icon-more-filled:before {
- content: '\e537';
-}
-
-.uni-icon-settings:before {
- content: '\e560';
-}
-
-.uni-icon-list:before {
- content: '\e562';
-}
-
-.uni-icon-bars:before {
- content: '\e563';
-}
-
-.uni-icon-loop:before {
- content: '\e565';
-}
-
-.uni-icon-paperclip:before {
- content: '\e567';
-}
-
-.uni-icon-eye:before {
- content: '\e568';
-}
-
-.uni-icon-arrowup:before {
- content: '\e580';
-}
-
-.uni-icon-arrowdown:before {
- content: '\e581';
-}
-
-.uni-icon-arrowleft:before {
- content: '\e582';
-}
-
-.uni-icon-arrowright:before {
- content: '\e583';
-}
-
-.uni-icon-arrowthinup:before {
- content: '\e584';
-}
-
-.uni-icon-arrowthindown:before {
- content: '\e585';
-}
-
-.uni-icon-arrowthinleft:before {
- content: '\e586';
-}
-
-.uni-icon-arrowthinright:before {
- content: '\e587';
-}
-
-.uni-icon-pulldown:before {
- content: '\e588';
-}
-
-.uni-icon-scan:before {
- content: "\e612";
-}
diff --git a/examples/login-template/components/uni-icon/uni-icon.vue b/examples/login-template/components/uni-icon/uni-icon.vue
deleted file mode 100644
index 4d619d7a93ef13f668b288ec04b61ff80f7f2c1a..0000000000000000000000000000000000000000
--- a/examples/login-template/components/uni-icon/uni-icon.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
diff --git a/examples/login-template/components/uni-input.vue b/examples/login-template/components/uni-input.vue
deleted file mode 100644
index 503b47ab08fee9f5a1ce14facc12c1c0b5311c25..0000000000000000000000000000000000000000
--- a/examples/login-template/components/uni-input.vue
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/login-template/main.js b/examples/login-template/main.js
deleted file mode 100755
index 203d46f737f429edb99c21a9faeb1c9876c4082d..0000000000000000000000000000000000000000
--- a/examples/login-template/main.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import Vue from 'vue'
-import App from './App'
-
-import store from './store'
-
-Vue.config.productionTip = false
-
-Vue.prototype.$store = store
-
-App.mpType = 'app'
-
-const app = new Vue({
- store,
- ...App
-})
-app.$mount()
diff --git a/examples/login-template/manifest.json b/examples/login-template/manifest.json
deleted file mode 100755
index 0da666535aed1d19e94ba47007719ae6fb16ed43..0000000000000000000000000000000000000000
--- a/examples/login-template/manifest.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "name" : "login-template",
- "appid" : "__UNI__5430F3F",
- "description": "登录模板",
- "versionName": "1.0.0",
- "versionCode": "100",
- "app-plus": { /* 5+App特有相关 */
- "modules": { /* 模块配置 */
-
- },
- "distribute": { /* 应用发布信息 */
- "android": { /* android打包配置 */
- "permissions": ["","","","","","","","","","","","","","","","","","","","","",""]
- },
- "ios": { /* ios打包配置 */
-
- },
- "sdkConfigs": { /* SDK配置 */
-
- }
- }
- },
- "quickapp": { /* 快应用特有相关 */
-
- },
- "mp-weixin": { /* 小程序特有相关 */
- "appid": "",
- "setting" : {
- "urlCheck" : true
- }
- }
-}
diff --git a/examples/login-template/pages.json b/examples/login-template/pages.json
deleted file mode 100755
index 7fc026759321e1b92bc5042f12726b28644fb2fe..0000000000000000000000000000000000000000
--- a/examples/login-template/pages.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "pages": [ //pages数组中第一项表示应用启动页,
- {
- "path": "pages/main/main",
- "style": {
- "navigationBarTitleText": "登录模板"
- }
- }, {
- "path": "pages/login/login",
- "style": {
- "navigationBarTitleText": "登录"
- }
- }, {
- "path": "pages/reg/reg",
- "style": {
- "navigationBarTitleText": "注册"
- }
- }, {
- "path": "pages/pwd/pwd",
- "style": {
- "navigationBarTitleText": "找回密码"
- }
- }, {
- "path": "pages/user/user",
- "style": {
- "navigationBarTitleText": "我的"
- }
- }
- ],
- "tabBar": {
- "color": "#7a7e83",
- "selectedColor": "#0faeff",
- "backgroundColor": "#ffffff",
- "list": [{
- "pagePath": "pages/main/main",
- "text": "首页",
- "iconPath": "static/img/home.png",
- "selectedIconPath": "static/img/homeHL.png"
- }, {
- "pagePath": "pages/user/user",
- "text": "我的",
- "iconPath": "static/img/user.png",
- "selectedIconPath": "static/img/userHL.png"
- }]
- },
- "globalStyle": {
- "navigationBarTextStyle": "white",
- "navigationBarBackgroundColor": "#0faeff",
- "backgroundColor": "#fbf9fe"
- }
-}
diff --git a/examples/login-template/pages/login/login.vue b/examples/login-template/pages/login/login.vue
deleted file mode 100755
index 4fd1bf62b58469f96c7b1913fc4448dc874788b7..0000000000000000000000000000000000000000
--- a/examples/login-template/pages/login/login.vue
+++ /dev/null
@@ -1,201 +0,0 @@
-
-
-
-
- 账号:
-
-
-
- 密码:
-
-
-
-
-
-
-
- 注册账号
- |
- 忘记密码
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/login-template/pages/main/main.vue b/examples/login-template/pages/main/main.vue
deleted file mode 100755
index 8052aac03608fc9b5ad2252637d3e509533fcc4e..0000000000000000000000000000000000000000
--- a/examples/login-template/pages/main/main.vue
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
- 您好 {{userName}},您已成功登录。
-
-
- 这是 uni-app 带登录模板的示例App首页。
- 在 “我的” 中点击 “退出” 可以 “注销当前账户”
-
-
-
-
- 您好 游客。
-
-
- 这是 uni-app 带登录模板的示例App首页。
- 在 “我的” 中点击 “登录” 可以 “登录您的账户”
-
-
-
-
-
-
-
-
diff --git a/examples/login-template/pages/pwd/pwd.vue b/examples/login-template/pages/pwd/pwd.vue
deleted file mode 100755
index ef14e60c76720d787d0321fbab41d3ef2dfb8afd..0000000000000000000000000000000000000000
--- a/examples/login-template/pages/pwd/pwd.vue
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
- 邮箱:
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/login-template/pages/reg/reg.vue b/examples/login-template/pages/reg/reg.vue
deleted file mode 100755
index f7378c1d51b1cbb19ba14b31b6e0335e4d17b52a..0000000000000000000000000000000000000000
--- a/examples/login-template/pages/reg/reg.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
- 账号:
-
-
-
- 密码:
-
-
-
- 邮箱:
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/login-template/pages/user/user.vue b/examples/login-template/pages/user/user.vue
deleted file mode 100644
index 8784378fb6702066aa35f706a6192f96883e93e4..0000000000000000000000000000000000000000
--- a/examples/login-template/pages/user/user.vue
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/examples/login-template/service.js b/examples/login-template/service.js
deleted file mode 100755
index f9d25ba98a10f410795f224f63ace1bef4888641..0000000000000000000000000000000000000000
--- a/examples/login-template/service.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// 管理账号信息
-const USERS_KEY = 'USERS_KEY';
-const STATE_KEY = 'STATE_KEY';
-
-const getUsers = function () {
- let ret = '';
- ret = uni.getStorageSync(USERS_KEY);
- if (!ret) {
- ret = '[]';
- }
- return JSON.parse(ret);
-}
-
-const addUser = function (userInfo) {
- let users = getUsers();
- users.push({
- account: userInfo.account,
- password: userInfo.password
- });
- uni.setStorageSync(USERS_KEY, JSON.stringify(users));
-}
-
-export default {
- getUsers,
- addUser
-}
diff --git a/examples/login-template/static/img/home.png b/examples/login-template/static/img/home.png
deleted file mode 100644
index 3d9412aaf1dc1d5ad9823a875a4cd55a8cfa290b..0000000000000000000000000000000000000000
Binary files a/examples/login-template/static/img/home.png and /dev/null differ
diff --git a/examples/login-template/static/img/homeHL.png b/examples/login-template/static/img/homeHL.png
deleted file mode 100644
index 553bedf0f80d328e1b36eab2c9e0ccc8df252423..0000000000000000000000000000000000000000
Binary files a/examples/login-template/static/img/homeHL.png and /dev/null differ
diff --git a/examples/login-template/static/img/qq.png b/examples/login-template/static/img/qq.png
deleted file mode 100755
index 961f83d0791b7a5fcf7aec1c69c4ac7e8807f500..0000000000000000000000000000000000000000
Binary files a/examples/login-template/static/img/qq.png and /dev/null differ
diff --git a/examples/login-template/static/img/sinaweibo.png b/examples/login-template/static/img/sinaweibo.png
deleted file mode 100755
index 16a3a1b851ecc06d949dc657e035b6208fd59716..0000000000000000000000000000000000000000
Binary files a/examples/login-template/static/img/sinaweibo.png and /dev/null differ
diff --git a/examples/login-template/static/img/user.png b/examples/login-template/static/img/user.png
deleted file mode 100644
index aa2d3b43787c35c051abcfae87b2555bf21fa0e6..0000000000000000000000000000000000000000
Binary files a/examples/login-template/static/img/user.png and /dev/null differ
diff --git a/examples/login-template/static/img/userHL.png b/examples/login-template/static/img/userHL.png
deleted file mode 100644
index ffcb4fc0dbb112b9e13867b61e64f4ea3a65fe94..0000000000000000000000000000000000000000
Binary files a/examples/login-template/static/img/userHL.png and /dev/null differ
diff --git a/examples/login-template/static/img/weixin.png b/examples/login-template/static/img/weixin.png
deleted file mode 100755
index c6f6076260e3688aaefaa3ce1ebe3ee3498d3ef9..0000000000000000000000000000000000000000
Binary files a/examples/login-template/static/img/weixin.png and /dev/null differ
diff --git a/examples/login-template/store/index.js b/examples/login-template/store/index.js
deleted file mode 100644
index 385a8d80e26231cd794e4576eebface4cadc8d80..0000000000000000000000000000000000000000
--- a/examples/login-template/store/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import Vue from 'vue'
-import Vuex from 'vuex'
-
-Vue.use(Vuex)
-
-const store = new Vuex.Store({
- state: {
- /**
- * 是否需要强制登录
- */
- forcedLogin: false,
- hasLogin: false,
- userName: ""
- },
- mutations: {
- login(state, userName) {
- state.userName = userName || '新用户';
- state.hasLogin = true;
- },
- logout(state) {
- state.userName = "";
- state.hasLogin = false;
- }
- }
-})
-
-export default store