(function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.xuexi=n():e.xuexi=n()})(window,function(){return t=[function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=t(2),i=t(13),r=t(1),a=t(1);n.ENV_ENUM=a.ENV_ENUM,t(14),n.ddSdk=new r.Sdk(o.getENV(),i.log)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});function o(i,e){function t(e){void 0===e&&(e={}),p.devConfig=Object.assign(p.devConfig,e),!0===e.debug&&p.clearLogQueue(),e.extraPlatform&&p.setPlatform(e.extraPlatform)}var p=this;this.configJsApiList=[],this.hadConfig=!1,this.p={},this.config$=new Promise(function(e,n){p.p.reject=n,p.p.resolve=e}),this.logQueue=[],this.devConfig={debug:!1},this.platformConfigMap={},this.invokeAPIConfigMapByMethod={},this.isBridgeDrity=!0,this.getExportSdk=function(){return p.exportSdk},this.setAPI=function(e,n){p.invokeAPIConfigMapByMethod[e]=n},this.setPlatform=function(e){p.isBridgeDrity=!0,(p.platformConfigMap[e.platform]=e).platform===p.env.platform&&e.bridgeInit().then(function(){}).catch(function(e){p.customLog(v.LogLevel.WARNING,["auto bridgeInit error",e||""])})},this.getPlatformConfigMap=function(){return p.platformConfigMap},this.deleteApiConfig=function(e,n){e=p.invokeAPIConfigMapByMethod[e];e&&delete e[n]},this.invokeAPI=function(s,c,f){void 0===c&&(c={}),void 0===f&&(f=!0),p.customLog(v.LogLevel.INFO,['==> "'+s+'" params: ',c]);var d=+new Date,l=d+"_"+Math.floor(1e3*Math.random());return p.devConfig.onBeforeInvokeAPI&&p.devConfig.onBeforeInvokeAPI({invokeId:l,method:s,params:c,startTime:d}),!1===p.devConfig.isAuthApi&&(f=!1),p.bridgeInitFn().then(function(o){var i,r,a,n,e,t=p.invokeAPIConfigMapByMethod[s],u=!0===p.devConfig.isDisableDeal||p.devConfig.disbaleDealApiWhiteList&&-1!==p.devConfig.disbaleDealApiWhiteList.indexOf(s);return t||!f?(i=t?t[p.env.platform]:i)||!f?(r={},r=!u&&i&&i.paramsDeal&&v.isFunction(i.paramsDeal)?i.paramsDeal(c):Object.assign({},c),a=function(e){return!u&&i&&i.resultDeal&&v.isFunction(i.resultDeal)?i.resultDeal(e):e},v.isFunction(r.onSuccess)&&(n=r.onSuccess,r.onSuccess=function(e){n(a(e))}),o(s,r).then(a,function(e){var n=p.hadConfig&&void 0===p.isReady&&-1!==p.configJsApiList.indexOf(s),t="object"==typeof e&&"string"==typeof e.errorCode&&e.errorCode===v.ERROR_CODE.no_permission;"object"==typeof e&&"string"==typeof e.errorCode&&(e.errorCode,v.ERROR_CODE.cancel),i&&i.vs&&p.env.version&&v.compareVersion(p.env.version,i.vs);return(p.env.platform===v.ENV_ENUM.ios||p.env.platform===v.ENV_ENUM.android)&&n&&t?p.config$.then(function(){return o(s,r).then(a)}):Promise.reject(e)}).then(function(e){return p.devConfig.onAfterInvokeAPI&&p.devConfig.onAfterInvokeAPI({invokeId:l,method:s,params:c,payload:e,isSuccess:!0,startTime:d,duration:+new Date-d}),p.customLog(v.LogLevel.INFO,['<== "'+s+'" success result: ',e]),e},function(e){return p.devConfig.onAfterInvokeAPI&&p.devConfig.onAfterInvokeAPI({invokeId:l,method:s,params:c,payload:e,startTime:d,duration:+new Date-d,isSuccess:!1}),p.customLog(v.LogLevel.WARNING,['<== "'+s+'" fail result: ',e]),Promise.reject(e)})):(e='"'+s+'" do not support the current platform ('+p.env.platform+")",p.customLog(v.LogLevel.ERROR,[e]),Promise.reject({errorCode:v.ERROR_CODE.jsapi_internal_error,errorMessage:e})):(e="This API method is not configured for the platform ("+p.env.platform+")",p.customLog(v.LogLevel.ERROR,[e]),Promise.reject({errorCode:v.ERROR_CODE.jsapi_internal_error,errorMessage:e}))})},this.customLog=function(e,n){e={level:e,text:n,time:new Date};!0===p.devConfig.debug?p.customLogInstance(e):p.logQueue.push(e)},this.clearLogQueue=function(){p.logQueue.forEach(function(e){p.customLogInstance(e)}),p.logQueue=[]},this.customLogInstance=e,this.env=i,this.bridgeInitFn=function(){var e;return p.bridgeInitFnPromise&&!p.isBridgeDrity||(p.isBridgeDrity=!1,(e=p.platformConfigMap[i.platform])?p.bridgeInitFnPromise=e.bridgeInit().catch(function(e){return p.customLog(v.LogLevel.ERROR,["\b\b\b\b\bJsBridge initialization fails, jsapi will not work"]),Promise.reject(e)}):(e="Do not support the current environment:"+i.platform,p.customLog(v.LogLevel.WARNING,[e]),p.bridgeInitFnPromise=Promise.reject(new Error(e)))),p.bridgeInitFnPromise},this.exportSdk={config:function(o){void 0===o&&(o={});var n=!0;Object.keys(o).forEach(function(e){-1===["debug","usePromise"].indexOf(e)&&(n=!1)}),n?(p.customLog(v.LogLevel.WARNING,["This is a deprecated feature, recommend use xuexi.devConfig"]),t(o)):p.hadConfig?p.customLog(v.LogLevel.WARNING,["Config has been executed"]):(o.jsApiList&&(p.configJsApiList=o.jsApiList),p.hadConfig=!0,p.bridgeInitFn().then(function(e){var n=p.platformConfigMap[i.platform],t=o;n.authParamsDeal&&(t=n.authParamsDeal(t)),e(n.authMethod,t).then(function(e){p.isReady=!0,p.p.resolve(e)}).catch(function(e){p.isReady=!1,p.p.reject(e)})},function(){p.customLog(v.LogLevel.ERROR,['\b\b\b\b\bJsBridge initialization failed and "xuexi.config" failed to call'])}))},devConfig:t,ready:function(n){!1===p.hadConfig?(p.customLog(v.LogLevel.WARNING,["You don 't use a xuexi.config, so you don't need to wrap xuexi.ready, recommend remove xuexi.ready"]),p.bridgeInitFn().then(function(){n()})):p.config$.then(function(e){n()})},error:function(n){p.config$.catch(function(e){n(e)})},on:function(e,n){p.bridgeInitFn().then(function(){p.platformConfigMap[i.platform].event.on(e,n)})},off:function(e,n){p.bridgeInitFn().then(function(){p.platformConfigMap[i.platform].event.off(e,n)})},env:i,checkJsApi:function(e){var t={};return(e=void 0===e?{}:e).jsApiList&&e.jsApiList.forEach(function(e){var n=p.invokeAPIConfigMapByMethod[e];n&&((n=n[i.platform])&&n.vsXuexi&&i.xuexiVersion?v.compareVersion(i.xuexiVersion,n.vsXuexi)?t[e]=!0:t[e]=!1:n&&n.vs&&i.version&&v.compareVersion(i.version,n.vs)&&(t[e]=!0)),t[e]||(t[e]=!1)}),Promise.resolve(t)},_invoke:function(e,n){return p.invokeAPI(e,n=void 0===n?{}:n,!1)}}}var v=t(7);n.APP_TYPE=v.APP_TYPE,n.LogLevel=v.LogLevel,n.isFunction=v.isFunction,n.compareVersion=v.compareVersion,n.ENV_ENUM=v.ENV_ENUM;n.Sdk=o},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});function r(){var e=s.match(/XueXi\/([a-zA-Z0-9.-]+)/);return e&&e[1]||"Unknown"}var o,a=t(7),u=t(12),s=(n.getUA=function(){var n="";try{"undefined"!=typeof navigator&&(n=navigator&&(navigator.userAgent||navigator.swuserAgent)||"")}catch(e){n=""}return n},n.getUA()),t=/XueXi/i.test(s),c=/iPhone|iPad|iPod|iOS/i.test(s)&&t,f=/Android/i.test(s)&&t,d=/OpenHarmony/i.test(s)&&t,l=/dd-web/i.test(s);(t=o=n.PageEnvEum||(n.PageEnvEum={})).DAILY="daily",t.PRE="pre",t.PROD="prod",t.GRAY="gray",t.LOCAL="local",n.getPageEnv=function(){try{var e=window.location.hostname||window.location.host;return e.includes(".xuexi.cn")?o.PROD:e.includes(".xxptcs.com")?e.includes("test")?o.DAILY:e.includes("pre")?o.PRE:o.LOCAL:o.LOCAL}catch(e){return o.LOCAL}},n.getENV=function(){var e=c?a.ENV_ENUM.ios:f?a.ENV_ENUM.android:d?a.ENV_ENUM.harmony:a.ENV_ENUM.notInXuexi,n=(n=a.APP_TYPE.WEB,n=l?a.APP_TYPE.WEBVIEW_IN_MINIAPP:n),t=r(),o=u.version||"0.0.1",i=function(){var e,n,t="*",o=s.match(/AliApp\(\w+\/([a-zA-Z0-9.-]+)\)/);if(o&&o[1]&&(e=o[1]),n="undefined"!=typeof name?name:n)try{var i=JSON.parse(n);i.hostVersion&&(e=i.hostVersion),t=i.language||navigator.language||"*",i.containerId}catch(e){}return{version:e=e||r(),language:t}}();return{platform:e,version:i.version,appType:n,language:i.language,xuexiVersion:t,sdkVersion:o,isIOS:c,isAndroid:f,isHarmony:d}}},function(e,n){var t=function(){return this}();try{t=t||new Function("return this")()}catch(e){"object"==typeof window&&(t=window)}e.exports=t},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});function s(){}n.default=function(t,u){return new Promise(function(o,i){var e,n,r=u.onSuccess||s,a=u.onFail||s;delete u.onSuccess,delete u.onFail,AlipayJSBridge?(e=(n=t.split(".")).pop()||"",n=n.join("."),AlipayJSBridge.call.apply(null,["webDdExec",{serviceName:n,actionName:e,args:u},function(e){var n={},t=e.content;if(t)try{n=JSON.parse(t)}catch(e){console.error("parse dt api result error",t,e)}(e.success?(r.apply(null,[n]),o):(a.apply(null,[n]),i))(n)}])):(n=new Error("Fatal error, cannot find bridge ,current env is WebView in MiniApp"),a(n),i(n))})}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.on=function(e,n){document.addEventListener(e,n)},n.off=function(e,n){document.removeEventListener(e,n)}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.addWatchParamsDeal=function(e){e=Object.assign({},e);return e.watch=!0,e},n.addDefaultCorpIdParamsDeal=function(e){e=Object.assign({},e);return e.corpId="corpId",e},n.genDefaultParamsDealFn=function(e){var n=Object.assign({},e);return function(e){return Object.assign(n,e)}},n.forceChangeParamsDealFn=function(e){var n=Object.assign({},e);return function(e){return Object.assign(e,n)}},n.genBoolResultDealFn=function(t){return function(e){var n=Object.assign({},e);return t.forEach(function(e){void 0!==n[e]&&(n[e]=!!n[e])}),n}},n.genBizStoreParamsDealFn=function(e){e=Object.assign({},e);return"string"!=typeof e.params&&(e.params=JSON.stringify(e)),e}},function(e,n,t){"use strict";var o;Object.defineProperty(n,"__esModule",{value:!0}),n.isFunction=function(e){return"function"==typeof e},n.compareVersion=function(e,n){function t(e){return parseInt(e,10)||0}for(var o=e.split(".").map(t),i=n.split(".").map(t),r=0;ri[r])return!0}return!0},(o=n.ERROR_CODE||(n.ERROR_CODE={})).cancel="-1",o.not_exist="1",o.no_permission="7",o.jsapi_internal_error="22",(o=n.ENV_ENUM||(n.ENV_ENUM={})).android="android",o.ios="ios",o.harmony="harmony",o.notInXuexi="notInXuexi",(o=n.APP_TYPE||(n.APP_TYPE={})).WEB="WEB",o.WEBVIEW_IN_MINIAPP="WEBVIEW_IN_MINIAPP",(o=n.LogLevel||(n.LogLevel={}))[o.INFO=1]="INFO",o[o.WARNING=2]="WARNING",o[o.ERROR=3]="ERROR"},function(e,n,t){e.exports=t(9)},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=t(10),t=t(31),o=Object.assign(o.default,t.apiObj);n.default=o},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=t(11);t(24),n.default=o.default},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=t(0),t=t(22),t=Object.assign({},t,o.ddSdk.getExportSdk());n.default=t},function(e){e.exports=JSON.parse('{"name":"@y/y-jsapi","version":"3.6.10","description":"JSAPI-SDK","main":"./lib/index.js","scripts":{"start":"webpack-dev-server --watch","watch":"NODE_ENV=development webpack-dev-server","watch:pd":"NODE_ENV=production webpack-dev-server","build:cdn":"npm run build:api && NODE_ENV=production webpack","build:npm":"npm run build:api && node ./scripts/publishYNpm","publish:ynpm":"npm run build:api && node ./scripts/publishYNpm --needPublish=\'true\'","prepublishOnly":"npm run updateApiObj","build:doc":"typedoc --out ./doc ./src --theme markdown --mdHideSources","build:api":"node ./scripts/genApi","updateApiObj":"node ./scripts/updateApiObj","test":"mocha -r ts-node/register src/**/*.spec.ts src/**/**/*.spec.ts","test:ts":"mocha -r ts-node/register src/util/version.test.ts","build":"npm run build:npm","release":"pkg-release"},"license":"ISC","dependencies":{"alife-logger":"^1.8.30","promise-polyfill":"^7.1.0"},"tnpm":{"mode":"yarn","lockfile":"enable"},"devDependencies":{"@local/pkg-release":"workspace:*","@types/chai":"^4.0.10","@types/mocha":"^2.2.44","@types/node":"^8.0.34","autoprefixer":"^7.0.1","awesome-typescript-loader":"^5.2.1","chai":"^4.1.2","file-loader":"^0.10.1","fs-extra":"^5.0.0","lodash":"4.17.4","mkdirp":"^0.5.1","mocha":"^4.0.1","path":"^0.12.7","semver":"^5.5.0","source-map-loader":"^0.2.1","ts-node":"^4.0.1","tslint":"^5.6.0","typedoc":"^0.12.0","typedoc-plugin-markdown":"^1.1.17","typescript":"^3.0.3","uglify-js":"^2.8.29","uglifyjs-webpack-plugin":"^2.2.0","webpack":"^4.46.0","webpack-cli":"^3.3.12","webpack-dev-server":"^3.11.3","yargs":"^11.0.0"}}')},function(e,n,t){"use strict";function o(e){return(e="00"+e).substring(e.length-2,e.length)}Object.defineProperty(n,"__esModule",{value:!0}),n.log=function(e){console.log.apply(console,[o(e.time.getHours())+":"+o(e.time.getMinutes())+":"+o(e.time.getSeconds())].concat(e.text))}},function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),t(15),t(20),t(21)},function(e,n,t){"function"!=typeof Promise&&t(16)},function(e,n,t){(function(t,l){!function(){"use strict";var n=setTimeout;function o(){}function i(e,n){return function(){e.apply(n,arguments)}}function r(e){if(!(this instanceof r))throw new TypeError("Promises must be constructed via new");if(typeof e!=="function")throw new TypeError("not a function");this._state=0;this._handled=false;this._value=undefined;this._deferreds=[];d(e,this)}function a(t,o){while(t._state===3)t=t._value;if(t._state===0){t._deferreds.push(o);return}t._handled=true;r._immediateFn(function(){var e=t._state===1?o.onFulfilled:o.onRejected;if(e===null){(t._state===1?u:s)(o.promise,t._value);return}var n;try{n=e(t._value)}catch(e){s(o.promise,e);return}u(o.promise,n)})}function u(n,e){try{if(e===n)throw new TypeError("A promise cannot be resolved with itself.");if(e&&(typeof e==="object"||typeof e==="function")){var t=e.then;if(e instanceof r){n._state=3;n._value=e;c(n);return}else if(typeof t==="function"){d(i(t,e),n);return}}n._state=1;n._value=e;c(n)}catch(e){s(n,e)}}function s(e,n){e._state=2;e._value=n;c(e)}function c(e){if(e._state===2&&e._deferreds.length===0)r._immediateFn(function(){if(!e._handled)r._unhandledRejectionFn(e._value)});for(var n=0,t=e._deferreds.length;n

【新美育】创新家校共育机制 打造教育新生态

 

家庭教育是教育的重要组成部分,是学校教育、社会教育的基础,家庭教育的质量水平直接影响着国民素质和社会文明程度。随着教育改革向纵深发展,在探索和推动实现学生的全面发展过程中,形成了家校合作育人的新格局。家校合作育人,不仅成为一种教育新理念,更形成一种教育新生态。本期以西安外国语大学附属西安外国语学校初中部的家校共育模式为例,分享该校的成功经验。

美丽的西安外国语学校

西安外国语大学附属西安外国语学校(简称“西外附校”)是一所开放式、国际化的十二年一贯制民办学校,学校前身是1963年周恩来总理亲自批示成立的全国首批外国语学校之一。学校依托西安外国语大学优质教育教学资源,开设英语、德语、日语、法语、西班牙语、俄语等八个语种的外语课程,在“琢玉”理念引领下,探索实践“双外语+多元成长”特色培养模式,积极践行“活动即课程”理念,通过小学到高中“一条龙”式多语种教学,为学生的个性化成长和多元化发展搭建平台,努力培养外语突出、文理并重、创新实践、全面发展的,具有中华情怀、国际视野、跨文化沟通能力和全球胜任力的社会主义建设者和接班人。

西外附校初中部一直都高度重视家校共育,从教育实践需求出发,大胆创新,积极探索实践家校共育机制,不断促进家校共育的有机融合,构建以服务为主的家校合作模式,一切围绕学生发展为中心的目的出发,充分调动学校、家长、社会参与,打造共同成长型的家校教育共同体。

家校共育的特色理念

西外附校初中部在多年的探索和实践中,形成了以“共”为核心,以“育”为目标;“1+1>2”模式;“两中心一体论”(学校教育中心论,孩子发展中心论,家校社三位一体论)的家校共育特色理念。

以“共”为核心:家校配合程度,影响着孩子的成长和发展。学校通过理论研究及制度创新,以学校为主体,以家庭为基础,确保家长充分参与学校教育,为家校合作提供了理论支持和制度保障。

以“育”为目的:家校双方的教育目标是一致的,都是为了孩子健康成长、全面发展。学校尽可能调动家长参与学校教育的热情,获得家长对学校管理和发展的认同。同时,确保家长了解学校各个阶段的教学目标,划好家校共育的“经纬线”,厘清家校教育的任务分工、职责边界,才能各负其责、同向而行。

邀请青年作家刘冠琦讲座

“1+1>2”模式:过去的教育,家校各行其是,在教育上存在诸多分歧,这种分歧削弱了孩子的教育成果,也给孩子的成长造成阻碍。“1+1>2”模式的关键是统一家校思想,坚持家校理论和方法一致,达成共识,形成合力,通过深度融合取得最佳效果。

“两中心一体论”:学校是孩子素质全面发展的教学机构,家校共育就要坚持以学校教育为中心,坚守学校教育主阵地作用,充分信任学校、信任教师。家校在育人过程中,难免会有分歧,家校需要达成共识,一切都以孩子的发展为中心。学校充分利用家校社资源,形成三位一体、协同育人的合作机制。

一、加强宣传,转变家长观念。教育改革的不断深化发展,学校的教学模式也有相应的变化,单纯依靠学校教育提升学生水平的模式已经不能够适应时代的发展,必须要实现家庭教育和学校教育相结合,才能够起到良好的作用。为此学校加大宣传力度,通过美篇、致家长一封信、家长会、家长学校等多种渠道转变家长观念,使家长认识到家庭教育的重要性,体会到家校共育模式对学生发展的关键性作用。

二、成立组织,搭建沟通平台。学校以班级为单位,成立各班家长委员会,并以学校为单位成立校级家委会。组织文化水平较高、言行举止有号召力且重视孩子教育问题的家长,由学校出面牵头,在这些家长队伍中大力宣传家校共育的重要性和优势作用,让家长能够深入了解到家校共育新模式的内容。通过家委会成员再传递给其他家长家校共育的信息,使每位家长都能够逐渐接受家校共育这一新模式,并能够积极配合学校的工作。家庭和学校共同努力,提升学生的综合素质。同时,学校积极组织各种培训活动,为家长和老师充电,如通过家庭教育专题讲座、班主任培训课等形式,讲授家校共育模式的内容和作用,以便更好落实家校共育模式。

三、“百家讲堂”,展现家长魅力。学校“百家讲堂”特色活动已经开展25期,在此活动中家长转变角色成为老师。在交流前家委会成员确定交流主题,商讨课程设计,制作精美课件并反复打磨课程内容,力求为孩子们送上一场精神盛宴。

当家长们带着自己对教育的理解、对孩子成长中的困惑等走进教室,和孩子们面对面沟通交流时,家校共育之花绚烂绽放。家长既体会了学校工作的细致和辛苦,又向孩子表达了心声,孩子们也在这样独特的课堂上更加懂得换位思考父母的辛苦付出。家庭是学生接受教育的第一任教师,家长的素质决定家庭教育的成败。家长主动去学习先进的教育教学理念和教学方法,更新知识结构,向孩子传递积极的学习情绪、学习态度尤为重要。

学校举办家长“百家讲堂”

四、畅通渠道,完善家校档案。家校共育新模式强调的是学校和家庭的配合,共同提升学生的能力和水平,这就要求二者之间必须要有良好的沟通渠道,实现多角度沟通。学校通过建立班级微信群、QQ群等方式,实现家校互动。交流群的作用不是单向的,教师会随时将班级的事务、活动进展、孩子们的成长图片等信息发布在群里,帮助家长了解孩子的在校表现,以便进行精准施教。

同时通过班主任的细致工作完善家长资料档案。学校根据学生的家庭情况分类建档,如留守学生家长档案、学困生家长档案、贫困生家长档案、单亲家庭档案。这样做有利于分析研究育人方法,解决各种问题,提高家校共育的效果,做好学校教育教学工作。

五、创新模式,转变陈旧观念。对孩子而言,父母是他们的第一任教师。父母在日常生活中的行为习惯,对孩子个人习惯、品德的养成都有着重要意义。古人云:“其身正,不令而行;其身不正,虽令不从。”因此,要想真正做好家庭教育,家长就必须规范自己的行为,这是家庭教育成功的基础条件。西外附校初中部大胆创新家长会的模式,家长会不是表扬大会或批评大会,也不是教师“吐槽”大会或家长“诉苦”大会。家长会是一条渠道,能让教师了解学生在家表现,让家长知道孩子的在校状况。同时,教师预留时间让家长自由畅谈,发挥交流、提升的作用。让家长在交流和指导中明确家庭教育既是学校教育的基础,又是学校教育的补充,只有以孩子为教育主体,家校共育,形成强大的教育合力,才能创造良好的教育平台。

“立德树人”是中国教育改革的核心内容。不管是家长还是学校都要重视家校共育。这既需要教师走出教室深入家庭,也需要家长走出家门加入学校管理,进而真正实现家校之间的有效沟通与交流,形成教育合力,为孩子营造一个良好的学习环境,为其后续成长和终身发展奠定良好基础。