1. الحديث
في يوم من الأيام ، قال شاشة الفصل إن الطلاب يريدون مني تطوير دفتر عناوين يمكن أن يشارك الموقع ، لذلك صمموا الوظيفة بأنفسهم. بما في ذلك أدوار المستخدم ، والنشر على Weibo ، ومشاركة المواقع ، وما إلى ذلك. هذه المرة كنت أناني بعض الشيء. من أجل ممارسة AngularJs التي شاهدت مؤخرًا ، اخترت بشكل حاسم حل Node.js + mongodb + Angular.js. بالطبع ، أصبحت تجربة تطوير node.js أكثر وأكثر عمقا. تذكر ، في العام الماضي ، أخبرني القائد أنه يجب أن أحاول تقديم كل خدمة لدعم العقدة وظيفة عمل واحدة فقط ، بحيث يمكن أن تكون أكثر ملاءمة للحفاظ عليها. في ذلك الوقت ، أردت حقًا تقديم خدمة عقدة قوية للغاية. الآن يبدو أن نهج القائد صحيح ، وأفضل أن أفرد وظائف خدمة العقدة ...
2. قم بتحميل البضائع الجافة مباشرة
يتم نشر خدمة قاعدة البيانات على Alibaba Cloud ؛ يستخدم خادم الملفات الثابت صفحة GitHub.
عنوان مشروع Github: https://github.com/vczero/ourtimes
عنوان الخبرة عبر الإنترنت: http://vczero.github.io/tuban/main.html#/
ليس لدي صورة لأقول كرة ، اسمحوا لي أن أريكم لقطتين:
(1) الصفحة الرئيسية
(2) دفتر العناوين
...... المزيد من الخبرة على الإنترنت ...
ثالثا. مشروع
إجمالي المشروع: https://github.com/vczero/ourtimes
تم تطوير الخدمات المطلوبة: https://github.com/vczero/ourtimes/tree/master/server
افتح عميل الكمبيوتر الشخصي: https://github.com/vczero/ourtimes/tree/master/client-web
تم تطوير نظام إدارة خلفي بسيط: https://github.com/vczero/ourtimes/tree/master/client-admin
الجميع مرحب بهم في Fork ، اتبع ومشاركة التعليمات البرمجية للعمل معًا لبناء الواجهة الأمامية.
4. قم بإرفاق رمز ملف الإدخال الخاص بـ Web-PC Terminal Angular
نسخة الكود كما يلي:
var app = Angular.module ('app' ، ['ui.router' ، 'ngcookies']) ؛
var server_base_url = 'http://127.0.0.1:3000/' ؛
// تهيئة التكوين
app.run (['$ rootscope' ، function ($ rootscope) {
$ rootscope.appname = 'tuban.com' ؛
$ rootscope.desc = 'دفتر العناوين المستند إلى الموقع' ؛
$ rootscope.author = 'Ghost Rumor' ؛
$ rootscope._email = '[email protected]' ؛
}]) ؛
// قائمة الخدمة
app.constant ('ServiceConfig' ، {
Wei_content: server_base_url + 'wei/get' ،
Wei_zan: server_base_url + 'Wei/Zan' ،
Wei_comment: server_base_url + 'wei/comment' ،
Wei_create: server_base_url + 'wei/create' ،
user_get: server_base_url + 'user/get' ،
user_login: server_base_url + 'المستخدم/تسجيل الدخول' ،
user_register: server_base_url + 'المستخدم/التسجيل' ،
user_common: server_base_url + 'user/getCommon' ،
user_ben: server_base_url + 'user/getBen' ،
user_self: server_base_url + 'المستخدم/الحصول على نفسه' ،
user_common_update: server_base_url + 'user/updateCommon' ،
user_ben_update: server_base_url + 'user/updateBen' ،
user_ben_get_name: server_base_url + 'user/singleben/name' ،
user_common_get_nickname: server_base_url + 'user/getCommon/name' ،
user_ben_get_realname: server_base_url + 'user/singleben/name' ،
wei_get_token_page: server_base_url + 'wei/getbytoken' ،
wei_delete: server_base_url + 'wei/delete' ،
user_update_password: server_base_url + 'user/updatePassword' ،
article_get: server_base_url + 'article/get' ،
article_detail: server_base_url + 'article/get/id' ،
amap_url: 'http://webapi.amap.com/maps؟v=1.3&key=ad925c5003760094713775d64748d872&callback=init'
}) ؛
// JSON PARSE
app.config (['$ httpprovider' ، وظيفة ($ httpprovider) {
$ httpprovider.defaults.headers.post ['content-type'] = 'application/x-www-form-urlencoded ؛ charset = utf-8' ؛
$ httpprovider.defaults.headers.put ['content-type'] = 'application/x-www-form-urlencoded ؛ charset = utf-8' ؛
$ httpprovider.defaults.transformRequest = [function (data) {
var obj = [] ؛
لـ (مفتاح var في البيانات) {
obj.push (key + '=' + data [key]) ؛
}
return obj.join ('&') ؛
}] ؛
}]) ؛
// تكوين التوجيه
app.config (['$ stateprovider' ، '$ urlrouterprovider' ،
وظيفة ($ stateProvider ، $ urlrouterprovider) {
/*توجيه URL*/
$ urlrouterprovider.Olywise ("/") ؛
/*تكوين الحالة*/
$ StateProvider
// الصفحة الأولى
.state ('index' ، {
URL: '/' ،
وجهات النظر: {
'': {
templateurl: 'View/index/index.html' ،
} ،
'header@index': {
TEMPLATEURL: 'Views/header.html' ،
وحدة التحكم: "HeaderController"
} ،
'footer@index': {
templateurl: 'Views/Fooler.html' ،
وحدة التحكم: ''
} ،
'weibo@index': {
TEMPLATEURL: "طرق العرض/الفهرس/Weibo.html" ،
وحدة التحكم: "Weibocontroller"
} ،
'article@index': {
TEMPLATEURL: "طرق العرض/الفهرس/article.html" ،
وحدة التحكم: 'articlecontroller'
} ،
'post@index': {
templateurl: 'View/index/post.html' ،
وحدة التحكم: 'postweibocontroller'
}
}
})
.state ('تسجيل الدخول' ، {
عنوان URL: '/تسجيل الدخول' ،
وجهات النظر: {
'': {
templateurl: 'Views/Login/Login.html' ،
وحدة التحكم: 'logincontroller'
}
}
})
.state ('سجل' ، {
عنوان URL: '/register' ،
وجهات النظر: {
'': {
templateurl: 'Views/Record/Record.html' ،
وحدة التحكم: 'RecordController'
}
}
})
.state ('جهات الاتصال' ، {
عنوان URL: '/جهات الاتصال' ،
وجهات النظر: {
'': {
templateurl: "طرق العرض/الاتصالات/contacts.html" ،
وحدة التحكم: ''
} ،
'header@جهات الاتصال': {
TEMPLATEURL: 'Views/header.html' ،
وحدة التحكم: "HeaderController"
} ،
'userinfo@جهات الاتصال': {
templateurl: 'View/جهات الاتصال/userinfo.html' ،
وحدة التحكم: 'UserInfoController'
} ،
'map@جهات الاتصال': {
templateurl: 'Views/Anters/map.html' ،
وحدة التحكم: 'mapController'
} ،
'Search@جهات الاتصال': {
templateurl: 'View/issions/search.html' ،
وحدة التحكم: 'SearchUserController'
}
}
})
.state ('Ucenter' ، {
عنوان URL: '/Ucenter' ،
وجهات النظر: {
'': {
templateurl: 'Views/Ucenter/Ucenter.html' ،
وحدة التحكم: ''
} ،
'header@ucenter': {
TEMPLATEURL: 'Views/header.html' ،
وحدة التحكم: "HeaderController"
} ،
'userweibo@ucenter': {
TEMPLATEURL: 'Views/Ucenter/Weibo.html' ،
وحدة التحكم: 'Ucweibocontroller'
} ،
'userDetailinfo@ucenter': {
templateurl: 'Views/uCenter/user.html' ،
وحدة التحكم: 'ucusercontroller'
} ،
'fool@ucenter': {
templateurl: 'Views/Fooler.html' ،
وحدة التحكم: ''
}
}
})
.state ('article' ، {
عنوان URL: '/article/: id' ،
وجهات النظر: {
'': {
templateurl: "وجهات النظر/المقالة/article.html" ،
وحدة التحكم: ''
} ،
'header@article': {
TEMPLATEURL: 'Views/header.html' ،
وحدة التحكم: "HeaderController"
} ،
'article_content@article': {
templateurl: 'View/article/article_content.html' ،
وحدة التحكم: 'articledetailcontroller'
} ،
'fool@article': {
templateurl: 'Views/Fooler.html' ،
وحدة التحكم: ''
}
}
})
.state ('article_index' ، {
عنوان URL: '/article' ،
وجهات النظر: {
'': {
templateurl: "وجهات النظر/المقالة/article.html" ،
وحدة التحكم: ''
} ،
'header article_index': {
TEMPLATEURL: 'Views/header.html' ،
وحدة التحكم: "HeaderController"
} ،
'article_content@article_index': {
templateurl: 'View/article/article_content.html' ،
وحدة التحكم: 'articledetailcontroller'
} ،
'fool article_index': {
templateurl: 'Views/Fooler.html' ،
وحدة التحكم: ''
}
}
}) ؛
}]) ؛